Fundamentos de Base de Datos-relacional
-
Upload
marcelo-daniel -
Category
Documents
-
view
134 -
download
8
Transcript of Fundamentos de Base de Datos-relacional
PROFRA. MARISOL ALTAMIRANO CABRERA Sistemas y Computación
INSTITUTO TECNOLOGICO DE OAXACA
1
MODELO RELACIONAL
Paso a Tablas
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
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
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –4–
Tupla, Cardinalidad y Grado
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
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
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‖
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
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
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)
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
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 )
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –13–
Ejemplo
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.
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.
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –16–
SuperEntidades o Super Clases
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.
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –18–
SuperEntidades o Super Clases
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.
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –20–
SuperEntidades o Super Clases
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)
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
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
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
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
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.
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
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
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)
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
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
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
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –33–
EJEMPLO DEL CAMPEONATO DE AJEDREZ
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)
MARISOL ALTAMIRANO CABRERA INSTITUTO TECNOLOGICO DE OAXACA
SISTEMAS Y COMPUTACION Página –35–