Fundamentos de Base de Datos-relacional

35
PROFRA. MARISOL ALTAMIRANO CABRERA Sistemas y Computación INSTITUTO TECNOLOGICO DE OAXACA 1 MODELO RELACIONAL Paso a Tablas

Transcript of Fundamentos de Base de Datos-relacional

Page 2: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –2–

Modelo Relacional

Está basado en la teoría de conjuntos y en el concepto matemático de relación

La estructura lógica principal son tablas o relaciones

Cada relación tiene un número fijo de columnas o atributos (esquema o intención) y un número variable de filas o tuplas (extensión)

Una BD relacional está compuesta por varias tablas o relaciones

Page 3: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –3–

Modelo Relacional

ATRIBUTOS

Conjunto de símbolos tomados del universo del modelo conceptual

Se usan letras para representarlos:A,B,C,...

Descriptor: conjunto de uno o más atributos (usaremos X,Y,Z,...)

Cada atributo se asocia con un conjunto de valores posibles que denominamos dominio

Page 4: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –4–

Tupla, Cardinalidad y Grado

Page 5: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –5–

DICCIONARIO DE DATOS

Atributo: C

Nombre de atributo: Código

• Descripción: Código único por empleado asignado por la empresa

• Función: Identificación (+Definición)

• Dominio: Números positivos de dos cifras

Page 6: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –6–

Condiciones para relaciones(Restric Inherentes)

Cada tabla debe contener un solo tipo de filas

Cada fila debe ser única (sin repeticiones)

Cada columna tiene un nombre único

Cada columna tiene que ser única

Cada columna toma su valor de un dominio

Un dominio puede ser común para diferentes columnas

Las filas pueden estar en cualquier orden

Las columnas pueden estar en cualquier orden

Page 7: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –7–

Clave

Cada relación tendrá una combinación de atributos que, tomados en conjunto, identifican de forma única cada tupla.

Si tiene más de una, se elige la ―principal‖ y las demás serán ―alternas‖

Page 8: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –8–

Claves

Al menos debe existir una clave Tipos de claves Principal o primaria Secundarias a alternas Foráneas o externas

Simples

Compuestas

Page 9: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –9–

Paso a Tablas

Entidades

•Toda entidad se corresponde con una relación

Page 10: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –10–

Paso a Tablas

Relaciones binarias

• Relación N:M

– Siempre será una tabla, con sus atributos + claves de entidades asociadas

• Relación 1:N ó N:1

– Añadir la clave de la tabla ―uno‖ a la tabla ―muchos‖ + atributos de la relación (si procede)

• Relación 1:1

– Si mínima es 1:1:

• Añadir la clave de una tabla cualquiera a la otra tabla + atributos de la relación (si procede)

Page 11: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –11–

Paso a Tablas

– Si mínima es 0:1 ó 1:0:

• Añadir la clave de la tabla ―uno‖ a la tabla ―cero‖ + atributos de la relación (si procede)

Relaciones ternarias y n-arias

• Estudiar las relaciones de dos en dos y aplicar las reglas de relaciones binarias

Atención: se puede mejorar el diseño estudiando redundancias

Page 12: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –12–

Ejemplo

EMPLEADO (E#, Nom, Apell, Dirección, Telef,FechaNac, Sexo, Casado, Sueldo, D# )

DEPARTAMENTO ( D#, NombreDep, E#)

PROYECTO (P#, NombreP, D# )

PARTICIPA (E#, P#, Tiempo )

Page 13: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –13–

Ejemplo

Page 14: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –14–

SuperEntidades o Super Clases Existen cuatro opciones para realizar el paso a modelo

relacional de las relaciones Superclase/Subclase correspondientes a Especializaciones o Generalizaciones

OPCION A: Crear una relación para la superclase, con sus atributos correspondientes y una relación para cada subclase con sus atributos mas la clave primaria de la superclase. Esta opción es válida para especializaciones parciales o totales y con restricción de desunión o solapamiento.

Page 15: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –15–

SuperEntidades o Super Clases

OPCION B:

Crear para cada subclase una relación con los atributos de la superclase mas los atributos propios, donde la clave primaria será la de la superclase. Esta opción sólo es válida para las especializaciones con restricción de totalidad y desunión ya que, si una ocurrencia de la superclase no pertenece a ninguna de las subclases, se pierde; y si pertenece a más de una, sus datos aparecen de forma redundante en más de una relación. Además tiene el inconveniente de que. al buscar una ocurrencia cualquiera de la superclase, tendremos que recorrer todas las relaciones.

Page 16: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –16–

SuperEntidades o Super Clases

Page 17: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –17–

SuperEntidades o Super Clases

OPCION C:

Crear una sola relación con todos los atributos de la superclase y las subclases mas un atributo T que indica la subclase a la que la tupla pertenece. Esto corresponde a una especialización de clases desunidas y puede generar muchos valores nulos. Esta opción no es apropiada cuando se utilizan muchos atributos de definición para la especialización. Si se utilizan pocos atributos de especificación, esta opción es preferible a las opciones A y B, ya que,no requiere la utilización de JOIN para la conformación de la superclase completa.

Page 18: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –18–

SuperEntidades o Super Clases

Page 19: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –19–

SuperEntidades o Super Clases

OPCION D:

Crear una sola tabla con todos los atributos de la superclase mas los atributos de las subclases, mas unos atributos Ti cuyo valor lógico nos indicará a qué subclase pertenece la tupla. Esta opción corresponde una especialización con solapamiento.

Page 20: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –20–

SuperEntidades o Super Clases

Page 21: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –21–

Restricciones Semánticas (7)

1. Restricción de Obligatoriedad: (Not Null) permite declarar si uno o varios atributos de una relación deben tomar siempre un valor, es decir no pueden tomar valores nulos.

2. Restricción de Unicidad:(Unique) nos permite definir claves alternativas con lo cual en ninguna de ellas podran repetirse valores de sus tuplas

3. Restricción de clave primaria:(Primary key) declara un atributo único como clave primaria de una relación.

4. Restricción de clave ajena ó Foreign Key: (Integridad referencial) se utiliza para que mediante claves ajenas se enlacen relaciones en una base de datos.(borrado y modificación)

Page 22: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –22–

Integridad referencial

CASCADE: Borrado o Modificación en cascada: nos indica que si se realiza una acción en una tabla padre, todas las tablas que heredan la llave primaria de la tupla padre borrada, se eliminaran de manera automática

EMPLEADO RFC NOMBRE SALARIO CLAVE_DEPTO

MOLP730926 PABLO MONTERO 45000 14

AACP780927 PEDRO ANDRADE 23456 13

DUDA741218 ADRIANA DUARTE 30000 11

MATI801114 ISRAEL MARTINEZ 23000 13

DEPARTAMENTO CLAVE_DEPTO NOMBRE_DEPTO

11 CONTABILIDAD

13 MARKETING

14 INFORMATICA

PADRE PADRE

HIJA

Page 23: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –23–

Restricciones Semánticas acciones para actualización

RESTRICT:Borrado o modificación restringida : Caso contrario al anterior, no podremos borrar tuplas de la tabla padre que tengan relaciones hechas con otras tablas y que se esten empleando.

EMPLEADO RFC NOMBRE SALARIO CLAVE_DEPTO

MOLP730926 PABLO MONTERO 45000 14

AACP780927 PEDRO ANDRADE 23456 13

DUDA741218 ADRIANA DUARTE 30000 11

MATI801114 ISRAEL MARTINEZ 23000 13

DEPARTAMENTO CLAVE_DEPTO NOMBRE_DEPTO

11 CONTABILIDAD

13 MARKETING

14 INFORMATICA

Page 24: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –24–

Restricciones Semánticas acciones para actualización

SET NULL:Borrado o modificación con puesta a nulos: esta posibilidad no muy buena de usar, ya que debemos declarar una clave ajena que admita nulos y eso permite romper en algunos casos la integridad referencial., nos permite poner el valor de a clave ajena referenciada a NULL cuando se produce el borrado o modificación de una tupla en la relación padre

DEPARTAMENTO CLAVE_DEPTO NOMBRE_DEPTO

11 CONTABILIDAD

13 MARKETING

14 INFORMATICA

EMPLEADO RFC NOMBRE SALARIO CLAVE_DEPTO

MOLP730926 PABLO MONTERO 45000 14

AACP780927 PEDRO ANDRADE 23456 13

DUDA741218 ADRIANA DUARTE 30000 11

MATI801114 ISRAEL MARTINEZ 23000 13

Page 25: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –25–

Restricciones Semánticas acciones para actualización

SET DEFAULT: Borrado o modificación de una tapla con puesta a un valor por defecto. Caso similar al anterior, con excepción de que el valor por defecto se debera especificar en la tabla padre (depto ficticio)

EMPLEADO RFC NOMBRE SALARIO CLAVE_DEPTO

MOLP730926 PABLO MONTERO 45000 14

AACP780927 PEDRO ANDRADE 23456 13

DUDA741218 ADRIANA DUARTE 30000 11

MATI801114 ISRAEL MARTINEZ 23000 13

DEPARTAMENTO CLAVE_DEPTO NOMBRE_DEPTO

11 CONTABILIDAD

13 MARKETING

14 INFORMATICA

80 PARA LOS EMPLEADOS SIN ASIGNACION

Page 26: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –26–

Restricciones Semánticas sigue…

5. Restricciones de verificacion (CHECK). Se emplea cuando es necesario implementar una condición que deben cumplir los valores de determinados atributos, aparte de las 4 anteriores. Llevan implícito el que hacer en caso de que no se cumpla, que también se comprueba mediante una inserción,borrado o modificación , siempre van ligadas a un elemento de la base de datos(una relacion) no es necesario que tenga un nombre

EMPLEADO RFC NOMBRE SALARIO CLAVE_DEPTO

MOLP730926 PABLO MONTERO 45000 14

AACP780927 PEDRO ANDRADE 23456 13

DUDA741218 ADRIANA DUARTE 30000 11

MATI801114 ISRAEL MARTINEZ 23000 13

Para la relación empleado podría definirse una Restricción sobre el atributo SALARIO que es- tableciera que el rango del salario de un em— pleado puede oscilar entre los 20mil y los 50mil Pesos, así cuando insertemos un nuevo empleado Con un sueldo mayor o menor a lo indicado. La Operación se rechazaría.

Page 27: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –27–

Restricciones Semánticas sigue…

6. Aserciones (ASSERTION) Tipo de restricción que generaliza al anterior. Trabajan igual, solo que esta debe llevar un nombre que la identifique ya que no actúa sobre un único atributo sino sobre varios

Por ejemplo: se puede especificar una asercion para la restricción que establesca que ―no hay ningun empleado que trabaje en el departamento de contabilidad qe gane mas de 200mil pesos

Page 28: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –28–

Restricciones Semánticas sigue…

7. Disparadores (Triggers): Se utiliza para especificar una acción distinta al rechazo cuando no se cumple una restricción. Nos permite además de indicar una condición, especificar la acción que queremos que se lleve a cabo si la condición se hace verdadera. Se interpretan como reglas tipo: evento-condicion-accion.

Por ejemplo: Definir un disparador que ―informará al ABD, cuando haya un empleado que gane las de 50mil pesos y que trabaje en el depto de marketing

Page 29: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –29–

Notación de Modelo Relacional

1. Se representa mediante un grafo dirigido (grafo relacional)

2. Los parentesis representan las restricciones de clave ajena, ademas de las distintas relaciones y sus atributos

3. Nombre de la tabla representado en MAYUSCULASy NEGRITAS

4. El nombre de los atributo tipo Titulo

5. Claves primarias aparecen subrayadas

6. Claves alternativas solo en negritas

7. Las ajenas (Fk) letra cursiva y referencían a la relacion en la que son clave primaria con una flecha

8. Los atributos que pueden tomar valores nulos aparecen con un *

9. Toda entidad se convierte en una relación

10. Las interrelaciones N:M se transforman en una relación

11. Las interrelaciones 1:N ó N:1 puede ser propagación de clave o una relacion nueva(existencia)

Page 30: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –30–

Transformacion de Entidades, Atributos y Dominios

Atributos multivaluados: se convierten en una nueva entidad que se relaciona con la entidad de donde parta, la nueva entidad tiene como llaves a las dos primarias de las entidades iniciales mas el nombre del atributo multivaluado., en caso de que esta entidad dependa de una relacion N:M, entonces esa hereda el atributo multivaluado.

REPARACION RECAMBIO INCLUYE

Page 31: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –31–

LAS OPCIONES PARA INTEGRIDAD REFERENCIAL SON:

B:C BORRADO EN CASCADA

B:N BORRADO CON PUESTA A NULOS

B:D BORRADO CON PUESTA A VALOR POR DEFECTO

B:R BORRADO RESTRINGIDO

M:C MODIFICACION EN CASCADA

M:N MODIFICACION CON PUESTA A NULOS

M:D MODIFICACION CON PUESTA A VALOR POR DEFECTO

M:R MODIFICACION RESTRINGIDA

Page 32: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –32–

EMPLEADO (Codigo_empleado,Nombre,Apellidos,Direccion,Telefono,Curp,Fecha_nac,Nacionalidad,Sexo,Firma,Salario,Capacitado)

CAPACITADO (Codigo_empleado)

NO_CAPACITADO (Codigo_empleado)

RECIBE (Codigo_empleado),Codigo_curso, Fecha)

EDICION (Codigo_curso,Fecha,Lugar,Horario,Cód_Capacitado)

CURSO (Codigo_curso,Nombre,Descripcion,Duracion,Costo)

PRERREQUISITO (Tiene_prerreq, Es_prerreq,Obligatorio)

B:C M:C

B:C M:C

B:C M:C

B:C M:C B:C M:C

B:C M:C

B:C M:C

B:C M:C

Page 33: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –33–

EJEMPLO DEL CAMPEONATO DE AJEDREZ

Page 34: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –34–

REPRESENTA (Pais_representado Pais)

PAIS (Pais,Nombre,N_clubes)

PARTICIPANTE (N_Socio,Nombre,Direccion,Telefono,Tipo,Nivel*,Pais))

PARTIDA (Cod_P,Año,Mes,Dia,Jugador1,Jugador2,Arbitro,N_sala,Entradas))

MOVIMIENTO (Partida,Jugada,Movimiento,Comentario)

CAMPEONATO (N_socio,Nombre,Tipo)

HOTEL (Nombre,Direccion,Telefono)

ALOJA (Num_participante,,F_entrada,F_salida*,Nombre_H)

SALA (Cod_sala,,Capacidad,Nombre_hotel)

MEDIO (Sala,Medio)

Page 35: Fundamentos de Base de Datos-relacional

MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA

SISTEMAS Y COMPUTACION Página –35–