sistemas de bases de datos i - informática educativa san...

57
Sistemas de Bases Sistemas de Bases de Datos I de Datos I Modelo Lógico Modelo Lógico Modelo Relacional Modelo Relacional

Upload: letuong

Post on 04-Feb-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Sistemas de Bases Sistemas de Bases de Datos Ide Datos I

Modelo LógicoModelo LógicoModelo RelacionalModelo Relacional

Page 2: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo LógicoModelo LógicoModelo Relacional

Esquema Relacional (E- R) Es la representación de un DER

mediante tablas.

Algebra Relacional

Page 3: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo RelacionalModelo Relacional

Esquema Relacional (E- R)Conformado por:

El pasaje a Tablas del DER

El proceso de Normalización

Page 4: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo Relacional – Pasaje a TablasModelo 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)

Page 5: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

CI nombre Fech_nac

Atributos ___ Columna___ Campos

Tuplas___filasregistros

Dominio

Tiene todos sus atributos Monovaluados

Page 6: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo Relacional – Pasaje a TablasModelo 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.)

Page 7: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo Relacional – Pasaje a TablasModelo 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)

Page 8: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo Relacional – Pasaje a TablasModelo 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.

Page 9: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 TablasModelo Relacional – Pasaje a Tablas

Page 10: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Relaciones: Binarias:

N a N _ Siempre genera tabla

Empleado (CI, nombre)Oficina (Código, tipo)Trabaja (CI, código)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

Page 11: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Relaciones: Binarias:

1 a 1 _ Siempre genera tabla

Empleado (CI, nombre)Oficina (Código, tipo)Trabaja (CI, código)Trabaja (CI, código)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

Selecciono una de las dos

Page 12: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 TablasModelo Relacional – Pasaje a Tablas

Page 13: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Relaciones: Binarias:

N a 1 : con totalidad _ NO genera tabla

Empleado (CI, nombre, código)Oficina (Código, tipo)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

Empleado hereda la clave de Oficina

Page 14: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Relaciones: Binarias:

Clave Foránea – FK: hace referencia a un atributo que es clave primaria en otra tabla.

Empleado (CI, nombre, código)Oficina (Código, tipo)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

FK Oficina

Page 15: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Categorización

Empleado (CI, nombre)

Jefe (CI, sección)

Administrativo (CI)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

FK Empleado

FK Empleado

Page 16: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Entidad DébilLa 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)

Capítulo (Código, número)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

FK Libro

Page 17: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Agregación

Empleado (CI, nombre)Empresa (código_emp)

Trabaja (CI, código_emp)Producto (código_prod)

Vende (CI, código_prod)

Modelo Relacional – Pasaje a TablasModelo Relacional – Pasaje a Tablas

FK Empleado

FK Empleado

FK Empresa

FK Empresa

Page 18: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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

Modelo Relacional – NormalizaciónModelo Relacional – Normalización

Page 19: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 Normal1ª F.N. – Primera Forma Normal

Page 20: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Ejemplo

No existen dos filas idénticas. Cada entidad debe tener un atributo determinante -

clave

1ª F.N. – Primera Forma Normal1ª F.N. – Primera Forma Normal

Page 21: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Ejemplo

Todos sus atributos son atómicos Único valor indivisibles

1ª F.N. – Primera Forma Normal1ª F.N. – Primera Forma Normal

Page 22: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Ejemplo

Pasaje a tablas y Normalizando…Empleado(CI, Nombre, Fecha_Nac, calle,

número)

1ª F.N. – Primera Forma Normal1ª F.N. – Primera Forma Normal

Page 23: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 previos2ª F.N. – Conceptos previos

Page 24: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Dependencias funcionales: Un atributo depende funcionalmente de otro si este

último lo determina.

Empleado (CI, Nombre)CI NombreConociendo la CI determino el nombre del empleado

2ª F.N. – Conceptos previos2ª F.N. – Conceptos previos

Page 25: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 Normal2ª F.N. – Segunda Forma Normal

Page 26: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 solicitadoel cliente que solicita el pedidoen que fecha y la cantidad de ejemplares

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 27: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 cantidadcód_libro Título, Cód_Autor, Nom_Autor, PrecioCI Nom_Cliente

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 28: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 cantidadDependencia funcional totalLa cantidad de pedidos es determinada por los tres

atributos claves.Cumple con la 2ª FN.

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 29: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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, PrecioDependencia Funcional ParcialLos atributos son determinados por parte de la

clave cód_libro.No cumple con la 2ª FN

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 30: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Ejemplo:Pedidos (cód_libro, CI, fecha, Título, Cód_Autor, Nom_Autor, Precio, Nom_Cliente, Cantidad)

Dependencias Funcionales

CI Nom_ClienteDependencia Funcional ParcialEl atributo no primo es determinado por parte de la

clave CI.No cumple con la 2ª FN

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 31: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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)

2ª F.N. – Segunda Forma Normal2ª F.N. – Segunda Forma Normal

Page 32: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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 Normal3ª F.N. – Tercera Forma Normal

Page 33: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Ejemplo:

Libros (cód_libro, Título, Cód_Autor, Nom_Autor, Precio)

Dependencia FuncionalCód_Autor Nom_Autor

Normalizando… Libros (cód_libro, Título, Cód_Autor, Precio)Autores (Cód_Autor, Nom_Autor)

3ª F.N. – Tercera Forma Normal3ª F.N. – Tercera Forma Normal

Page 34: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Modelo LógicoModelo LógicoModelo Relacional

Esquema Relacional (E- R)

Algebra Relacional

Page 35: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Álgebra RelacionalDos tipos diferentes de lenguajes de

consulta: Formales:

Algebra RelacionalComerciales:

SQL (Lenguaje de consulta estructurada)

Modelo LógicoModelo Lógico

Page 36: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Álgebra RelacionalÁlgebra RelacionalA.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.

Page 37: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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.

Álgebra RelacionalÁlgebra Relacional

Page 38: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

SelecciónSelección σLa operación SELECCIONARSELECCIONAR 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: <,>,<=,>=,=, < >

Page 39: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

EjemploEjemplo Dada la relación Empleado: seleccionar los empleados que ganan mas

de 3000.

Respuesta a la consulta es:

Page 40: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

ProyecciónProyecció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).

Page 41: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

EjemploEjemplo Dada la relación Empleado: seleccionar el nombre, apellido y sueldo de

los empleados.

Respuesta a la consulta es:

Page 42: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Selección y ProyecciónSelección y ProyecciónDada la relación Empleado: seleccionar el nombre, apellido y sueldo de los empleados con DN igual a 5.

Respuesta a la consulta es:

Page 43: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

UniónUnió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

Page 44: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

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.

Page 45: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

DiferenciaDiferencia - 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

Page 46: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

EjemploEjemplo

Page 47: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Producto CartesianoProducto Cartesiano XEl producto cartesiano crea tuplas con los

atributos combinados de dos relaciones se denota:

R X S

Page 48: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Producto CartesianoProducto Cartesiano X

Page 49: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:
Page 50: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Operadores No BásicosOperadores No Básicos Estos operadores pueden ser expresados en

términos de otros operadores básicos.

Intersección Join División

Page 51: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

IntersecciónIntersecció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

Page 52: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

EjemploEjemplo

Page 53: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

JoinJoin 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.

Page 54: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:
Page 55: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

DivisiónDivisió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

Page 56: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

DivisiónDivisión / o %

Page 57: Sistemas de Bases de Datos I - Informática Educativa San ...informaticaeducativasanramon.weebly.com/uploads/2/5/6/0/25607887/... · Relaciones: Binarias:

Fuente:Fuente:

Bibliografía:

ELMASRI, R. y NAVATHE, S. (1994). Sistemas de Bases de Datos. México: Editorial Addison Wesley, Segunda Edición.