39
Modelo Relacional Julio J. ´ Aguila G. Pr´ologo Modelo relacional Bases de datos relacionales Paso de modelo E-R a modelo relacional Ejercicios propuestos Dise˜ no e Implementaci´on de Bases de Datos Relacionales-Cap´ ıtulo 3 Recopilador: Julio J. ´ Aguila G. 1 Autores: C´ esar Guerrero Saldivia 2 , Mauricio Mar´ ın 3 1 Universidad de Magallanes 2 Universidad de Chile 3 Universidad de Santiago de Chile 29 de agosto de 2019 Julio J. ´ Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 1 / 39

Diseño e Implementación de Bases de Datos Relacionales

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Diseno e Implementacion de Bases de DatosRelacionales-Capıtulo 3

Recopilador: Julio J. Aguila G.1

Autores: Cesar Guerrero Saldivia2, Mauricio Marın3

1Universidad de Magallanes2Universidad de Chile

3Universidad de Santiago de Chile

29 de agosto de 2019

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 1 / 39

Page 2: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 2 / 39

Page 3: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Prologo

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 3 / 39

Page 4: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Prologo

Prologo

Modelo entidad-relacion para una empresa generica

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 4 / 39

Page 5: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Prologo

Prologo

Modelo Relacional

El modelo relacional considera la base de datos como unacoleccion de relaciones. En terminos practicos una relacionrepresenta una tabla en que cada fila tiene columnas convalores que describen una entidad del mundo real. El modeloen sı fue propuesto por primera vez en 1970 por Edgar FrankCodd en el paper A Relational Model of Data for Large SharedData Banks. Como se vera en este capıtulo, existe una grancoherencia entre el modelo entidad-relacion y el modelorelacional.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 5 / 39

Page 6: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Prologo

Prologo

Ejemplo de una tabla

DNOMBRE DNUMERO RUTGERENTE GERFECHAINICOf. Central 1 88866555 19-6-71Administracion 4 98765432 1-1-85Investigacion 5 33344555 22-5-78

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 6 / 39

Page 7: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 7 / 39

Page 8: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Dominios

Definicion Un dominio D es un conjunto de valoresatomicos. En la practica los dominios son tiposde datos, e.g.:

numeros departamentos: int(2).nombres departamentos: char(15).ruts: int(8).fechas: char(10), formato“####-##-##”.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 8 / 39

Page 9: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Esquema de una relacion

Un esquema de relacion R denotado porR(A1 : D1,A2 : D2, . . . ,An : Dn) esta constituido por unnombre de relacion R y una lista de atributos A1,A2, . . . ,An

con dominios D1,D2, . . . ,Dn respectivamante. Cada Di es eldominio de Ai y se denota dom( Ai )= Di . El grado de unarelacion es el numero n de atributos del esquema de la relacion,e.g.:

DEPARTAMENTO( DNUMERO: numerosdepartamentos, DNOMBRE: nombres departamentos,RUTGERENTE: ruts, GERFECHAINIC: fechas)DEPARTAMENTO tiene grado n = 4.dom( DNUMERO)= numeros departamentos.dom( DNOMBRE)= nombres departamentos.dom( RUTGERENTE)= ruts.dom( GERFECHAINIC)= fechas.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 9 / 39

Page 10: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Instancia de una relacion

Definicion Una instancia de relacion r del esquema derelacion R(A1 : D1,A2 : D2, . . . ,An : Dn),denotado como r(R), es un conjunto de m tuplasr(R) = {t1, t2, . . . , tm}. Cada tupla ti es una listaordenada de n valores, i.e.ti =< vi1, vi2, . . . , vin >, donde cada valorvij , 1 ≤ j ≤ n, es un elemento de dom(Aj) o es unvalor nulo. La cardinalidad de una relacion es elnumero m de tuplas de la instancia.

Ejemplo:

r(DEPARTAMENTO) = { t1 =< “Of. Central”, 1,88866555, “1971-06-19”>, t2 =< “Administracion”, 4,98765432, “1985-01-01”>, t3 =< “Investigacion”, 5,33344555, “1978-05-22”>}.r(DEPARTAMENTO) tiene cardinalidad m = 3.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 10 / 39

Page 11: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Tupla

Una instancia r(R) es un subconjunto del producto cartesianode los dominios que definen R:

r(R) ⊆ (dom(A1)× dom(A2)× . . .× dom(An)

El numero maximo de m tuplas que puede tener r(R) estadado por:

|dom(A1)| ∗ |dom(A2)| ∗ . . . ∗ |dom(An)|

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 11 / 39

Page 12: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Restriccion de llave primaria

Una relacion R se define como un conjunto de m tuplas. Pordefinicion todos los elementos de un conjunto son distintos,luego todas las tuplas de una relacion deben ser distintas. Estoimplica que dos tuplas no pueden tener la misma combinacionde valores para todos sus atributos.Sea S un subconjunto de atributos de R con la propiedad deque no hay dos tuplas en r(R) tal que tengan la mismacombinacion de valores para esos atributos. Entonces para cadados tuplas distintas tp y tq tenemos la siguiente restriccion dellave primaria:

tp[S ] 6= tq[S ]

Por ejemplo:t1[DNUMERO] 6= t2[DNUMERO] 6= t3[DNUMERO].

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 12 / 39

Page 13: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Llave primaria

En general, un esquema de relacion puede tener mas de unallave, y en ese caso, cada una de las llaves es una llavecandidata. Una de las llaves candidatas se designa como llaveprimaria de la relacion:

DEPARTAMENTO( DNUMERO: numeros departamentos,DNOMBRE: nombres departamentos, RUTGERENTE:ruts, GERFECHAINIC: fechas) PRIMARY KEY(DNUMERO).

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 13 / 39

Page 14: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Relaciones para una empresa generica

EMPLEADO( RUT, NPILA, APPAT, APMAT, FNAC,DIRECCION, SEXO, SUELDO, RUTSUPERV, NDEPTO).

DEPARTAMENTO( DNUMERO, DNOMBRE,RUTGERENTE, GERFECHAINIC).

UBICACIONES DEPTO( DNUMERO, DUBICACION).

PROYECTO (PNOMBRE, PNUMERO, PUBICACION,DNUM).

TRABAJA EN (ERUT, PNO, HORAS).

CARGA (ERUT, NOMBRE CARGA, SEXO, FNAC,PARENTESCO).

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 14 / 39

Page 15: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Llaves primarias y llaves externas

El concepto mas relevante de este modelo es el terminorelacional. En terminos practicos esto significa que de algunamanera las relaciones estan asociadas. Esta asociacion se lograa traves de las llaves externas que pertenecen a los esquemasde las relaciones. No todos los esquemas de relacion tienenllaves externas; cuando esto ocurre, significa que la llaveexterna de la relacion esta haciendo referencia a la llaveprimaria de otra relacion.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 15 / 39

Page 16: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Restriccion de llave externa o llave foranea

Definicion Un subconjunto de atributos F del esquema derelacion R1 es una llave externa de R1 si satisfacelas siguientes reglas:

1 Los atributos en F tienen el mismo dominioque los atributos de la llave primaria P enotro esquema de relacion R2. En este caso sedice que los atributos F de R1 hacenreferencia a los atributos P en R2.

2 Un valor de F en una tupla ti de R1 es nulo otiene un valor de P en alguna tupla tj de R2.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 16 / 39

Page 17: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Ejemplo de llaves externas

NPILA APPAT APMAT RUT FNAC DIRECCION SEXO SUELDO RUTSUPERV NDEPTOJuan Perez Garcıa 12345678 9-1-55 Toesca 965 M 120 33344555 5Alicia Zelaya Roa 99988777 19-7-

58Blanco 2120 F 105 98765432 4

Juana Besa Martınez 98765432 20-6-31

Mapocho2540

F 240 88866555 4

Francisco Cea Daza 33344555 8-12-45

Condell 221 M 310 88866555 5

Jaime Ramos Salas 88866555 10-11-30

Vitacura1015

M 360 nulo 1

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 17 / 39

Page 18: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Ejemplo de llaves externas

RUTSUPERV de EMPLEADO referencia a RUT deEMPLEADO, ademas NDEPTO de EMPLEADO referencia aDNUMERO de DEPARTAMENTO. Esto se define de lasiguiente forma:

EMPLEADO( RUT: ruts, NPILA: nombres, APPAT:apellidos, APMAT: apellidos, FNAC: fechas, DIRECCION:direcciones, SEXO: sexos, SUELDO: remuneraciones,RUTSUPERV: ruts, NDEPTO: numeros departamentos)PRIMARY KEY ( RUT), FOREIGN KEY ( RUTSUPERV)REFERENCES EMPLEADO.RUT, FOREIGN KEY(NDEPTO) REFERENCESDEPARTAMENTO.DNUMERO.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 18 / 39

Page 19: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Modelo relacional

Modelo relacional

Instancias dinamicas versus esquemas estaticos

Una instancia de relacion contiene solo las tuplas validas querepresentan un estado en un tiempo particular, lo cual puedeser dinamico a traves del tiempo. En cambio, el esquema deuna relacion es relativamente estatico ( o invariante).

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 19 / 39

Page 20: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 20 / 39

Page 21: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

DBMS relacional

Un sistema que permita implementar los esquemas de relacionesvisto en la seccion anterior junto con las reglas de integridadpara las claves primarias y las claves externas se denominaDBMS relacional ( relational Databases Management System).Al conjunto de esquemas de relacion S = (R1,R2, . . . ,Rk) y alconjunto I de restricciones de integridad implementadas por elDBMS se le denomina base de datos relacional.En terminos practicos, la implementacion se realiza a traves delDDL (Data Definition Language), que para nuestro caso esSQL (Structure Query Language) y nuestro DBMS es MySQL.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 21 / 39

Page 22: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

MySQL Language

CREATE TABLE IF NOT EXISTS ‘Empresa‘.‘DEPARTAMENTO‘

(

‘DNOMBRE‘ VARCHAR(20) NULL COMMENT ’’,

‘DNUMERO‘ DECIMAL NOT NULL COMMENT ’’,

‘GERFECHAINI‘ VARCHAR(45) NULL COMMENT ’’,

‘RUTGERENTE‘ VARCHAR(8) NULL COMMENT ’’,

PRIMARY KEY (‘DNUMERO‘) COMMENT ’’,

INDEX ‘fk_DEPARTAMENTO_EMPLEADO1_idx‘

(‘RUTGERENTE‘ ASC) COMMENT ’’,

CONSTRAINT ‘fk_DEPARTAMENTO_EMPLEADO1‘

FOREIGN KEY (‘RUTGERENTE‘)

REFERENCES ‘Empresa‘.‘EMPLEADO‘ (‘RUT‘)

ON DELETE NO ACTION

ON UPDATE NO ACTION

)

ENGINE = InnoDB;

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 22 / 39

Page 23: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

Tablas de una base de datos relacional

En terminos del DBMS la base datos esta compuesta por tablasque se pueden representar graficamente como matrices dondela primera fila contiene los nombres de los atributos y las filassiguientes contienen a las entidades presentes en la tabla. Cadafila es un conjunto de valores asociados con el dominiorespectivo senalado por el nombre de la columnacorrespondiente, e.g.:

Tabla EMPLEADO

NPILA APPAT APMAT RUT FNAC DIRECCION SEXO SUELDO RUTSUPERV NDEPTOJuan Perez Garcıa 12345678 9-1-55 Toesca 965 M 120 33344555 5Alicia Zelaya Roa 99988777 19-7-

58Blanco 2120 F 105 98765432 4

Juana Besa Martınez 98765432 20-6-31

Mapocho2540

F 240 88866555 4

Francisco Cea Daza 33344555 8-12-45

Condell 221 M 310 88866555 5

Jaime Ramos Salas 88866555 10-11-30

Vitacura1015

M 360 nulo 1

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 23 / 39

Page 24: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

Tablas DEPARTAMENTO, UBICACIONES DEPTO y PROYECTO

DNOMBRE DNUMERO RUTGERENTE GERFECHAINICOf. Central 1 88866555 19-6-71Administracion 4 98765432 1-1-85Investigacion 5 33344555 22-5-78

DNUMERO DUBICACION1 Providencia

4 Nunoa5 La Florida5 Pirque

PNOMBRE PNUMERO PUBICACION DNUMProducto X 1 La Florida 5Producto Y 2 Pirque 5

Computarizacion 10 Nunoa 4Reorganizacion 20 Providencia 1

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 24 / 39

Page 25: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

Tablas TRABAJA EN y CARGA

ERUT PNO HORAS12345678 1 32.512345678 2 7.533344555 2 10.099988777 10 10.098765432 10 10.098765432 20 15.088866555 20 nulo

ERUT NOMBRE CARGA SEXO FNAC PARENTESCO33344555 Alicia F 5-4-86 Hija33344555 Teodoro M 25-10-83 Hijo33344555 Ximena F 3-5-54 Conyuge98765432 Rodolfo M 28-2-32 Conyuge12345678 Alicia F 5-5-57 Conyuge

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 25 / 39

Page 26: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

Restricciones de integridad

La restriccion de llave primaria se especifica en cada tabla y seusa para evitar que dos filas tengan el mismo conjunto devalores para la llave definida, e.g. RUT es diferente para cadafila de la tabla EMPLEADO.La restriccion de integridad referencial se especifica entre dostablas y se usa para mantener la consistencia entre filas de lasdos tablas. Informalmente, una fila en una tabla que hacereferencia a otra tabla debe referirse a una fila existente en esatabla o puede ser un valor nulo, e.g. RUTSUPERV deEMPLEADO debe coincidir con el RUT de alguna fila de latabla EMPLEADO o ser un valor nulo. Al mismo tiempoNDEPTO debe coincidir con algun valor de la tablaDEPARTAMENTO o ser nulo.NOTA: se puede observar que el nombre DNUMERO se usa enDEPARTAMENTO y UBICACIONES DEPTO. Pero el mismoatributo se llama NDEPTO en EMPLEADO y DNUM enPROYECTO. No hay problema que el mismo atributo tenganombres distintos en distintas tablas.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 26 / 39

Page 27: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Bases de datos relacionales

Bases de datos relacionales

Restricciones semanticas

Las restricciones anteriores no consideran las restriccionessemanticas que existen en el “mundo real”. Por ejemplo, “elsueldo de un empleado no puede exceder el de su supervisor”,“el numero maximo de horas que puede trabajar un empleadoen todos los proyectos es 45”.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 27 / 39

Page 28: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 28 / 39

Page 29: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

¿Como se puede obtener la definicion de la base de datos?

A saber, se podrıa obtener de forma analıtica en funcion de laexperiencia del disenador. Otra alternativa es utilizar unametodologıa matematica como la que se explicara en otrocapıtulo. Finalmente, una combinacion de ambas alternativassugiere obtener la definicion de la base de datos a partir de undiagrama E-R, aplicando un metodo de transformacion.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 29 / 39

Page 30: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

Modelo E-R para una empresa generica

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 30 / 39

Page 31: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

Metodo de transformacion

1 Para cada atributo multivaluado, crear una relacionagregando la llave primaria de la entidad a la cualpertenece.

2 Convertir todas las entidades del diagrama en relacionesindicando sus atributos y dominios, estos ultimos comotipos de datos convencionales ( int, double, char, date).

3 Para cada relacion del diagrama:

Si es de cardinalidad M:N, crear una relacion con las llavesprimarias de las entidades que estan asociadas, y losatributos propios de la relacion —si los tuviera—.Si es de cardinalidad N:1, se debe agregar la llave primariay los atributos propios en la relacion que representa a laentidad marcada con N.Si es de cardinalidad 1:1, se debe agregar la llave primariay los atributos propios en la relacion que tenga un grado deopcionalidad completa. Si ninguna tiene grado deopcionalidad completa, es indistinto donde se agregue lallave de una o de otra —pero no en ambas—.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 31 / 39

Page 32: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

Metodo de transformacion

1 . . .

2 . . .

3 . . .

4 Para cada nueva relacion, indicar cual es su llave primariamediante la notacion PRIMARY KEY(lista de atributos).

5 Para cada relacion, creada o modificada, agregar cualesson llaves externas mediante la notacion FOREIGN KEY(lista de atributos) REFERENCESnombre tabla.nombre atributo.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 32 / 39

Page 33: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

Resultado simplificado

El lector podra comprobar que aplicando la metodologıa seobtienen los esquemas de relaciones equivalentes a los que semuestran a continuacion:

EMPLEADO( RUT, NPILA, APPAT, APMAT, FNAC,DIRECCION, SEXO, SUELDO, RUTSUPERV, NDEPTO).

DEPARTAMENTO( DNUMERO, DNOMBRE,RUTGERENTE, GERFECHAINIC).

UBICACIONES DEPTO( DNUMERO, DUBICACION).

PROYECTO (PNOMBRE, PNUMERO, PUBICACION,DNUM).

TRABAJA EN (ERUT, PNO, HORAS).

CARGA (ERUT, NOMBRE CARGA, SEXO, FNAC,PARENTESCO).

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 33 / 39

Page 34: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Paso de modelo E-R a modelo relacional

Paso de modelo E-R a modelo relacional

Nombres de los atributos

Notese que los nombres han cambiado en relacion al diagramade la Figura. Ademas, los nombres de los atributos no siguenlas convenciones dadas en el capıtulo anterior. No es necesariodetenerse en esto, el ejemplo ha sido transcrito literalmentedesde la fuente y se explicara a su debido tiempo las ventajas odesventajas de realizar esto.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 34 / 39

Page 35: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Ejercicios propuestos

Contenidos

1 Prologo

2 Modelo relacional

3 Bases de datos relacionales

4 Paso de modelo E-R a modelo relacional

5 Ejercicios propuestos

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 35 / 39

Page 36: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Ejercicios propuestos

Ejercicios propuestos

Notacion

Dado los esquemas de relacion de la base de datos para unaempresa generica, responda las preguntas y definiciones que sepiden a continuacion:

1 Para la relacion EMPLEADO, describa los dominios de lossiguientes atributos: NPILA, DIRECCION, SEXO ySUELDO.

2 ¿Cual es el grado de cada una de las relaciones?3 ¿Cual es el numero de tuplas de cada una de las

relaciones?4 Para la tabla EMPLEADO, ¿cual es el valor o significado

de las siguientes notaciones?:1 r = {t|t = t2 ∨ t = t5}.2 t3 = {v8 = 360, v10 = 1}.3 dom(A10).4 dom(A7)× dom(A7).5 |dom(A8)| ∗ |dom(A8)|.6 t2[A4,A1,A2,A3].7 t[A1,A2].

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 36 / 39

Page 37: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Ejercicios propuestos

Ejercicios propuestos

Metodo de transformacion

Utilizando el metodo de transformacion, propuesto en estecapıtulo, obtenga el modelo relacional de los problemaspresentados en el Capıtulo 2:

Companıa de capacitacion.

Vendedores con experiencia.

Companıa de videos.

Los Arcoch.

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 37 / 39

Page 38: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Ejercicios propuestos

Ejercicios propuestos

Metodo analıtico

Los organizadores de la Copa America 2019 han encargado a suempresa hacer una primera aproximacion de una base de datosusando el modelo relacional. Para ello a usted se le haentregado la siguiente informacion que debe representar en labase de datos:

El ano y paıs donde se han realizado las copas anteriores,ademas de las sedes donde se jugaron los partidos.Los paıses participantes y los jugadores de cada seleccion,indicando nombre, fecha de nacimiento, equipo en quejuega, y posicion dentro del equipo. Es importante saberque un mismo jugador puede estar en varias copas y jugaren posiciones diferentes (en una misma copa juega en unamisma posicion) pero siempre por el mismo paıs.Los partidos efectuados, indicando entre que paıses y elmarcador. Si hubo definicion a penales, estos se tomancomo goles del encuentro. Considere la etapa en que sejugo el partido (octavos de final, cuartos de final, etc).

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 38 / 39

Page 39: Diseño e Implementación de Bases de Datos Relacionales

ModeloRelacional

Julio J. AguilaG.

Prologo

Modelorelacional

Bases de datosrelacionales

Paso demodelo E-R amodelorelacional

Ejerciciospropuestos

Ejercicios propuestos

Diseno e Implementacion de Bases de DatosRelacionales-Capıtulo 3

Recopilador: Julio J. Aguila G.1

Autores: Cesar Guerrero Saldivia2, Mauricio Marın3

1Universidad de Magallanes2Universidad de Chile

3Universidad de Santiago de Chile

29 de agosto de 2019

Julio J. Aguila G. (UMAG) Modelo Relacional 29 de agosto de 2019 39 / 39