Descargar archivo

Sistemas de Bases
de Datos I
Modelo Lógico
Modelo Relacional
Modelo Lógico
 Modelo Relacional
 Esquema

Relacional (E- R)
Es la representación de un DER
mediante tablas.
 Algebra Relacional
Modelo Relacional
 Esquema Relacional (E- R)
 Conformado
por:

El pasaje a Tablas del DER

El proceso de Normalización
Modelo Relacional – Pasaje a Tablas
 Entidad:

Cada colección de objetos (entidad) genera
siempre una tabla con el mismo nombre, para
almacenar los datos que la describen
(atributos).
Empleado(CI, nombre, fecha_Nac, dirección)
Modelo Relacional – Pasaje a Tablas
Atributos ___ Columna___ Campos
Dominio
CI
nombre
Fech_nac
Tuplas___filas
registros
Tiene todos sus atributos Monovaluados
Modelo Relacional – Pasaje a Tablas
 Atributo Compuesto:

Se genera un atributo por cada atributo atómico
que lo compone.
Empleado(CI, nombre, fecha_Nac, calle, número.)
Modelo Relacional – Pasaje a Tablas
 Atributo Multivaluado:

Siempre genera una tabla, sus campos serán la
clave primaria de la entidad más el valor que
estamos guardando.
Empleado(CI, nombre, fecha_Nac)
Teléfonos(CI, teléfonos)
Modelo Relacional – Pasaje a Tablas
 Relaciones:

Binarias:



La relación entre las entidades se
representan mediante una tabla, existen
excepciones.
Esta tabla estará conformada por los
atributos claves de las entidades que se
vinculan en dicha relación.
La cardinalidad determina las tablas y en
caso de generarla cual es la clave primaria.
Modelo Relacional – Pasaje a Tablas
 Relaciones:
 Binarias:
Empleado (CI, nombre)
Oficina (Código, tipo)
Trabaja (CI, código) Su clave dependerá de la cardinalidad,
también si se genera la tabla o no.
Modelo Relacional – Pasaje a Tablas
 Relaciones:
 Binarias:

N a N _ Siempre genera tabla
Empleado (CI, nombre)
Oficina (Código, tipo)
Trabaja (CI, código)
Modelo Relacional – Pasaje a Tablas
 Relaciones:
 Binarias:
 1 a 1 _ Siempre genera tabla
Empleado (CI, nombre)
Oficina (Código, tipo)
Trabaja (CI, código)
Selecciono una de las dos
Trabaja (CI, código)
Modelo Relacional – Pasaje a Tablas
 Relaciones:
 Binarias:

N a 1 : sin totalidad _ Siempre genera tabla
Empleado (CI, nombre)
Oficina (Código, tipo)
Trabaja (CI, código)
Modelo Relacional – Pasaje a Tablas
 Relaciones:

Binarias:

N a 1 : con totalidad _ NO
genera tabla
Empleado (CI, nombre, código)
Oficina (Código, tipo)
Empleado hereda la
clave de Oficina
Modelo Relacional – Pasaje a Tablas
 Relaciones:

Binarias:

Clave Foránea – FK: hace referencia a un atributo
que es clave primaria en otra tabla.
FK Oficina
Empleado (CI, nombre, código)
Oficina (Código, tipo)
Modelo Relacional – Pasaje a Tablas
 Categorización
Empleado (CI, nombre)
FK Empleado
Jefe (CI, sección)
FK Empleado
Administrativo (CI)
Modelo Relacional – Pasaje a Tablas
Entidad Débil
La relación débil se representa
en la entidad débil.
La entidad débil hereda el
atributo determinante de la
entidad fuerte.
Libro (Código, título, autor)
FK Libro
Capítulo (Código, número)
Modelo Relacional – Pasaje a Tablas
Agregación
Empleado (CI, nombre)
Empresa (código_emp)
FK Empleado FK Empresa
Trabaja (CI, código_emp)
Producto (código_prod)
FK Empleado
FK Empresa
Vende (CI, código_prod)
Modelo Relacional – Normalización
 Después de hacer el pasaje a tablas de un
DER tenemos que verificar que cada tabla
resultante cumpla con una serie de normas
básicas que tratan de evitar:


Redundancia de datos
Inconsistencia (mismo dato repetido y con
valores distintos)
A este proceso se lo denomina
NORMALIZACIÓN
1ª F.N. – Primera Forma Normal
 Una tabla esta en Primera Forma Normal si
y solo si:
No existen dos filas idénticas.
 Todos sus atributos son atómicos



Único valor
indivisibles
1ª F.N. – Primera Forma Normal
 Ejemplo
 No existen dos filas idénticas.
 Cada entidad debe tener un atributo determinante clave
1ª F.N. – Primera Forma Normal
 Ejemplo

Todos sus atributos son atómicos


Único valor
indivisibles
1ª F.N. – Primera Forma Normal
 Ejemplo
 Pasaje a tablas y Normalizando…
Empleado(CI, Nombre, Fecha_Nac, calle,
número)
2ª F.N. – Conceptos previos
 Atributo Primo: es una clave primaria o una
candidata.
 Los dos atributos pueden identificar a un empleado
 Uno es el atributo determinante – clave primaria.
 El otro es atributo primo del anterior.
2ª F.N. – Conceptos previos
 Dependencias funcionales:
 Un atributo depende funcionalmente de otro si este
último lo determina.
Empleado (CI, Nombre)
CI
Nombre
Conociendo la CI determino el nombre del empleado
2ª F.N. – Segunda Forma Normal
 Una tabla esta en Segunda Forma Normal si
y solo si:
Está en 1ª FN
 Todos sus atributos NO PRIMOS dependen
funcionalmente de forma total de la clave
primaria.

2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Esta tabla almacena los pedidos realizados a una
editorial.
Para cada pedido se registra:
el libro solicitado
el cliente que solicita el pedido
en que fecha y la cantidad de ejemplares
2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Dependencias Funcionales
cód_libro, CI, fecha
cantidad
cód_libro
Título, Cód_Autor, Nom_Autor, Precio
CI
Nom_Cliente
2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Dependencias Funcionales
cód_libro, CI, fecha
cantidad
Dependencia funcional total
La cantidad de pedidos es determinada por los tres
atributos claves.
Cumple con la 2ª FN.
2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Dependencias Funcionales
cód_libro
Título, Cód_Autor, Nom_Autor, Precio
Dependencia Funcional Parcial
Los atributos son determinados por parte de la
clave cód_libro.
No cumple con la 2ª FN
2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Dependencias Funcionales
CI
Nom_Cliente
Dependencia Funcional Parcial
El atributo no primo es determinado por parte de la
clave CI.
No cumple con la 2ª FN
2ª F.N. – Segunda Forma Normal
Ejemplo:
Pedidos (cód_libro, CI, fecha, Título, Cód_Autor,
Nom_Autor, Precio, Nom_Cliente, Cantidad)
Normalizando…
Para cada dependencia funcional parcial se
genera una nueva tabla
Pedidos(cód_libro, CI, fecha, cantidad)
Libros (cód_libro, Título, Cód_Autor, Nom_Autor, Precio)
Clientes (CI, Nom_Cliente)
3ª F.N. – Tercera Forma Normal
 Una tabla esta en Tercera Forma Normal si y
solo si:
Está en 2ª FN
 Ningún atributo NO PRIMO depende de otro
atributo NO PRIMO.

3ª F.N. – Tercera Forma Normal
 Ejemplo:
Libros (cód_libro, Título, Cód_Autor, Nom_Autor, Precio)
Dependencia Funcional
Cód_Autor
Nom_Autor
Normalizando…
Libros (cód_libro, Título, Cód_Autor, Precio)
Autores (Cód_Autor, Nom_Autor)
Modelo Lógico
 Modelo Relacional

Esquema Relacional (E- R)
 Algebra Relacional
Modelo Lógico
 Álgebra Relacional
Dos tipos diferentes de lenguajes de
consulta:
 Formales:
 Algebra Relacional
 Comerciales:
 SQL (Lenguaje de consulta
estructurada)
Álgebra Relacional
A.R. es una colección de operadores
básicos que sirven para manipular
relaciones, con el fin de especificar una
consulta de la base de datos. El
resultado de cada operación es una nueva
relación.
Cada consulta expresada en A.R.
describe paso a paso como computar la
respuesta.
Es decir, las consultas son especificadas
en una manera Procedural.
Álgebra Relacional
Operadores básicos:





Selección
Proyección
Unión
Diferencia
Producto Cartesiano
Selección y proyección son operadores unarios y
los demás binarios. Cada operación retorna una
relación como resultado.
Selección σ
La operación SELECCIONAR sirve para
seleccionar un subconjunto de las tuplas de
una relación (tabla) que satisfacen una
condición de selección.
La selección desde una relación R es:
Operadores que usaremos: <,>,<=,>=,=, < >
Ejemplo
 Dada la relación Empleado: seleccionar los empleados que ganan mas
de 3000.
 Respuesta a la consulta es:
Proyección
π
Si sólo queremos saber ciertos atributos de una
relación (tabla), “proyectamos” la relación sobre esos
atributos con al operación PROYECTAR.
La proyección en algunos casos puede devolver
tuplas idénticas (algunos DBMS omiten tuplas idénticas).
Ejemplo
 Dada la relación Empleado: seleccionar el nombre, apellido y sueldo de
los empleados.
 Respuesta a la consulta es:
Selección y Proyección
Dada la relación Empleado: seleccionar el nombre, apellido y sueldo de los
empleados con DN igual a 5.
Respuesta a la consulta es:
Unión
∪
 El resultado de esta operación,
denotado por R ∪ S, es una relación
que incluye todas las tuplas que están
en R o en S o en ambas. Las tuplas
repetidas se eliminan.
R∪S
 Ejemplo: Resultado 1 contiene los números de seguro social de todos los
empleados que trabajan en el departamento 5, y Resultado 2 contiene los
números de seguro social de todos los empleados que supervisan directamente
a empleados que trabajan en el departamento 5.
Diferencia
-
 El resultado de esta operación, denotado
R – S, es una relación que incluye todas
las tuplas que están en R pero no en S.
R–S
Ejemplo
Producto Cartesiano X
 El producto cartesiano crea tuplas con los
atributos combinados de dos relaciones
se denota:
RXS
Producto Cartesiano X
Operadores No Básicos
 Estos operadores pueden ser expresados en
términos de otros operadores básicos.
Intersección
 Join
 División

Intersección ∩
 El resultado de esta operación,
denotado por R ∩ S, es una relación
que incluye las tuplas que están tanto
en R como en S.
R∩S
Ejemplo
Join
 El Join es un derivado del producto cartesiano y
sirve para combinar tuplas relacionadas de dos
relaciones en una sola tupla.
 Existe varias formas de Join, el más común es
el join con condición, que se denota:
 Donde F es la condición que especifica los
atributos para ejecutar el join.
División / o %
 La operación A / B retorna todos los
valores de x tales que para todo valor
“y” en B existe una tupla (x,y) en A.
A/B
División / o %
Fuente:
Bibliografía:
 ELMASRI, R. y NAVATHE, S. (1994).
Sistemas de Bases de Datos. México:
Editorial Addison Wesley, Segunda Edición.