Está en la página 1de 26

Open Class

Semana 4
Base de Datos
Unidad 4 Formas Normales y Álgebra Relacional

Docente Utel
Dr. César Pacheco Sáenz Open class
Antecedentes

2
Redacción del problema

Problema 1 (*): Artículos y encargos Una base de datos para una pequeña empresa
debe contener información acerca de clientes, artículos y pedidos. Hasta el
momento se registran los siguientes datos en documentos varios: • Para cada
cliente: Número de cliente (único), Direcciones de envío (varias por cliente), Saldo,
Límite de crédito (depende del cliente, pero en ningún caso debe superar los
3.000.000 pts), Descuento. • Para cada artículo: Número de artículo (único),
Fábricas que lo distribuyen, Existencias de ese artículo en cada fábrica, Descripción
del artículo. • Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del
pedido. La cabecera está formada por el número de cliente, dirección de envío y
fecha del pedido.

3
Modelo Entidad/Relación

4
Diseño Base de Datos relacional

5
Algebra Relacional y Normalización de Base de Datos

6
Algebra relacional
Es un método que consiste básicamente en crear o
construir nuevas relaciones a partir de relaciones
existentes.
Existen 2 tipos de operadores algebraicos:
•Operadores básicos o primitivos.
•Operadores no básicos o derivados.
Operadores básicos o primitivos.
Se clasifican en:
1.Proyección (π).
2.Selección (σ).
3.Unión (U).
4.Diferencia (-).
5.Producto cartesiano (X).
El álgebra relacional es un conjunto de
operaciones que describen paso a paso cómo computar una
respuesta sobre las relaciones, tal y como éstas son
definidas en el modelo relacional. Denominada de
tipo procedimental, a diferencia del Cálculo Relacional que
es de tipo declarativo.

Describe el aspecto de la manipulación de datos.


Estas operaciones se usan como una representación
intermedia de una consulta a una base de datos y, debido a
sus propiedades algebraicas, sirven para obtener una versión
más optimizada y eficiente de dicha consulta.
MODELO RELACIONAL

Investigación
Presente de manera detallada la
mayoría de las formas normales que
existen a nivel mundial y su
definición correspondiente.

9
Qué es la normalización de Bases de Datos

10
1. Un dato sin normalizar no cumple con ninguna regla de normalización.
Para explicar con un ejemplo en qué consiste cada una de las reglas,
vamos a considerar los datos de la siguiente tabla.

ordenes (id_orden, fecha, id_cliente, nom_cliente, estado, num_art, nom_art,


cant, precio)

11
PRIMERA FORMAL NORMAL (1FN)
Al examinar estos registros, podemos darnos cuenta que contienen un
grupo repetido para NUM_ART, NOM_ART, CANT y PRECIO. La 1FN
prohíbe los grupos repetidos, por lo tanto tenemos que convertir a la
primera forma normal. Los pasos a seguir son:
• Tenemos que eliminar los grupos repetidos.
• Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo
repetido.

Los registros quedan ahora conformados en dos tablas que llamaremos


ORDENES y ARTICULOS_ORDENES

ordenes (id_orden, fecha, id_cliente, nom_cliente, estado)


Articulos_ordenes (id_orden, num_art, nom_art, cant, precio)

12
13
14
15
16
TERCERA FORMAL NORMAL (3FN)

La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave
que sea dependiente de otra columna no llave. Los pasos a seguir son:

• Determinar las columnas que son dependientes de otra columna no llave.

• Eliminar esas columnas de la tabla base.

17
• Crear una segunda tabla con esas columnas y con la columna no llave de la
cual son dependientes.

Al observar las tablas que hemos creado, nos damos cuenta que tanto la tabla
ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en
3FN. Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y
ESTADO son dependientes de ID_CLIENTE, y esta columna no es la llave
primaria.

Para normalizar esta tabla, moveremos las columnas no llave y la columna


llave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas
tablas CLIENTES y ORDENES se muestran a continuación.

18
19
Ejercicios prácticos

20
1. FACTURA DE COMPRA VENTA: La empresa COLOMBIAN SYSTEMS lo ha
contratado como el “Ingeniero Encargado” para sistematizar la facturación. En la
siguiente FACTURA DE COMPRA VENTA, usted debe analizar toda la información
disponible y aplique el proceso de normalización, hasta llegar a la Tercera Forma
Normal.
Se pide realizar la respectiva justificación detallada de cada uno de los pasos que
conduzcan al resultado final.

Factura(NUM_FAC, FECHA_FAC, NOM_CLIENTE, DIR_CLIENTE, RIF_CLIENTE,


CIUDAD_CLIENTE, TELEF_CLIENTE, CATEGORIA, COD_PROD, DESP_PROD,
VAL_UNIT, CANT_PROD)

21
Donde:

NUM_FAC: Número de la factura de compra venta


FECHA_FAC: Fecha de la factura de compra venta
NOM_CLIENTE: Nombre del cliente
DIR_CLIENTE: Dirección del cliente
RIF_CLIENTE: Rif del cliente
CIUDAD_CLIENTE: Ciudad del cliente
TELEF_CLIENTE: Teléfono del cliente
CATEGORIA: Categoría del producto
COD_PROD: Código del producto
DESCRIPCION: Descripción del producto
VAL_UNIT: Valor unitario del producto
CANT_PROD: Cantidad de productos q compra el cliente
La llave primaria es Número de Factura de venta: NUM_FAC

22
1. EMPRESA DE ENVIO DE MERCANCIA: a continuación se agrupan todos los atributos
que hacen parte de la base de datos para aplicarle las reglas de normalización. Donde se
incluyen los nombres de los atributos con su significado
* GUIA_NO = Numero de Guia
* GUIA_FECHA= Fecha de la Guia
* GUIA_HORA= Hora de la Guia
* ORGN_RIF = Identificacion de Empresa Origen
* ORGN_NOM = Nombre de Empresa Origen
* ORGN_ACT = Actividad Comercial de Empresa Origen
* ORGN_CIUDAD= Ciudad de Empresa Origen
* ORGN_DIR = Direccion de Empresa Origen
* ORGN_TEL = Telefono de Empresa Origen

23
ORGN_CEL = Celular de Empresa Origen
* DEST_ID = Identificacion del destinatario
* DEST_NOM = Nombre del destinatario
* DEST_COD_CIUDAD = Codigo de la
ciudad del destinatario
* DEST_CIUDAD= Ciudad del destinatario
* DEST_DIR = Direccion del destinatario
* DEST_TEL = Telefono del destinatario
* DEST_KM = Distancia kilometraje de
Ciudad origen a ciudad del destinatario
* CODIGO = Codigo del paquete
* TIPO = Tipo de paquete
* NOMBRE = Nombre del paquete
* DESCRIPCION = Descripción del paquete
* VALR_ FLETE = Valor del flete

24
¿Dudas?

25
26

También podría gustarte