Modelo Relacional Marcelino Torres Villanueva Contenido Modelo Relacional. Transformando el Modelo E-R (1 : N) al Mode
Views 124 Downloads 0 File size 156KB
Modelo Relacional Marcelino Torres Villanueva
Contenido Modelo Relacional. Transformando el Modelo E-R (1 : N) al Modelo Relacional. Modelo Relacional en Tablas. Ejemplo de Modelo E-R al Modelo Relacional Actividad
Modelo relacional • El modelo relacional se ha establecido como el principal modelo de datos para las aplicaciones de procesamiento de datos. • El modelo relacional representa los datos en la base de datos como una colección de relaciones, o, más informalmente, como un conjunto de tablas. Cada fila de la tabla representa un conjunto de valores, mientras que cada columna representa el papel que cumple esta columna respecto a la tabla. • En la terminología de las Bases de Datos relacionales, una fila recibe el nombre de Tupla, el nombre de una columna recibe el nombre de Atributo y la tabla recibe el nombre de Relación . Relación o Tabla: Producto
Registro, fila o tupla
Código
Nombre
Precio
Producto01
Cuaderno
8.00
50
Producto02
Folder
4.00
30
Producto03
Lapiz
2.00
80
Atributo o columna
Existencia
Transformando el Modelo E-R (1 : N) al Modelo Relacional Un Modelo E-R debe ser transformado a un Modelo Relacional para poder construir la Base de Datos en un Sistema Gestor de Base de Datos como los es SQL Server. Para la transformación, se debe cumplir las siguientes recomendaciones o reglas. • Todas las entidades del Modelo E-R se transforman en tablas en el Modelo Relacional con sus mismos atributos. • Toda tabla del Modelo Relacional debe tener una clave principal (PK: Primary key). La PK debe ser un atributo que represente un identificador con valor no repetible. La PK también puede estar formado por varios atributos (clave compuesta) que representen en conjunto un identificador con valor no repetible. • Las relaciones entre entidades del Modelo E-R cuya cardinalidad en la relación sea de 1 a N, N a 1 o 1 a 1, no serán tablas en el Modelo Relacional. • Si la relación entre dos entidades del Modelo E-R es de 1 a N, entonces, en el Modelo Relacional el atributo que es clave principal de la tabla que corresponde a la entidad del extremo 1 en la relación viaja como atributo a la tabla que corresponde a la entidad del extremo N en la relación. Este atributo que viaja y será parte de la tabla que corresponde a la entidad del extremo N se define como clave foránea.
Ejemplo de Modelo E-R (1 : N) al Modelo Relacional Modelo E-R dni
nombre
número
1:N
(1,N)
(1,1) Cliente
importe
prestatario
Préstamo
Transformación
Modelo Relacional Cliente (dni, nombre) PK
Préstamo (número, importe, dni) PK FK La clave primaria (PK) viaja como clave foránea(FK)
Ejemplo de Modelo E-R (1:N) al Modelo Relacional
dni
1:N
nombre
número
saldo
(1,N)
(1,1) pertenece
Cliente
Cuenta
Modelo E-R transformación Clave principal (PK)
Modelo relacional
Cliente (dni, nombre)
Clave foránea (FK)
Cuenta (numero, saldo, dni) Tabl a
Modelo relacional en tablas La tabla: Cliente dni
nombre Fila o tupla
12121212
Juan Riso
13131313
María Zavaleta
14141414
Pedro Cárdenas
Clave principal
1
Columnas o atributos
La tabla: Cuenta número-cuenta
saldo
dni
C-10
2000
13131313
C-12
3000
13131313
C-14
5000
14141414
Clave principal
Clave foránea
N
Del Modelo E-R al Modelo Relacional Modelo E-R idactor
nombre
nombre
(1,N)
Actor
actúa
código
(1,N)
título
Película
N:N Transformación
Tabl a
Actor (idactor, nombre) idactor (PK)
nombre
A001
José P.
A002
Mercy E.
Actuación (idactor, código, nombre)
1 Modelo Relacional
Tabl a
Tabl a
N
Pelicula (código, título)
código (PK)
título
idactor
código
nombre
P001
Encadenados
A001
P001
Pedro C.
P002
La rebelde
A002
P001
Laura R.
A002
P002
Lucero Z.
N
1
Actividad 1: Del Modelo E-R al Modelo Relacional Transformar el Modelo E-R al Modelo Relacional y represente las tablas con datos
fecha
nombre teléfono
dni
(1,1)
Paciente
1:N
(1,N) solicita
Cita
(1,N)
idpaciente
atiende
nombre dni
idmedico
hora
número
especialidad
Médico
(1,1)
1:N
Solución de la actividad 1 MODELO RELACIONAL: Paciente (idpaciente, dni, nombre, teléfono) PK Cita (número, fecha, hora, idpaciente, idmedico) PK
FK
FK
Medico (idmedico, dni, nombre, especialidad) PK
Solución de la actividad 1 idpaciente (PK)
dni
nombre
teléfono
P001
12312300
Marcelino T.
234234
P002
23423400
Fabiola R.
257257
número (PK)
fecha
Cita001
hora
1
Idpaciente (FK)
Idmedico (FK)
01/04/2018
P001
M001
Cita002
15/04/2018
P001
M001
Cita003
10/04/2018
P002
M002
idmedico (PK) dni
nombre
especialidad
M001
23456789
Ricardo R.
Cirujano
M002
12345678
David A.
Ginecólogo
N
N
1
ACTIVIDAD 2: Del Modelo E-R al Modelo Relacional Transformar el Modelo E-R al Modelo relacional y represente las tablas con datos fecha_inicio
nombre nivel
código
1:N
(1,1)
(1,N) se dicta
Curso
fecha_fin
número
Clase
(1,N) Modelo E-R se asigna
nombre dni
especialidad
Profesor
(1,1)
1:N
Solución de la actividad 2 Modelo Relacional: Curso (código, nombre, nivel) PK Profesor (dni, nombre, especialidad) PK Turno (número, fecha_inicio, fecha_fin, código, dni) PK FK FK
Modelo Entidad Relación “Biblioteca Informática” A partir del siguiente enunciado, diseñar el modelo entidad-relación. “En la biblioteca del centro se manejan fichas de autores y libros. En la ficha de cada autor se tiene el código de autor y el nombre. De cada libro se guarda el código, título, ISBN, editorial y número de página. Un autor puede escribir varios libros, y un libro puede ser escrito por varios autores. Un libro está formado por ejemplares. Cada ejemplar tiene un código y una localización. Un libro tiene muchos ejemplares y un ejemplar pertenece sólo a un libro. Los usuarios de la biblioteca del centro también disponen de ficha en la biblioteca y sacan ejemplares de ella. De cada usuario se guarda el código, nombre, dirección y teléfono. Los ejemplares son prestados a los usuarios. Un usuario puede tomar prestados varios ejemplares, y un ejemplar puede ser prestado a varios usuarios. De cada préstamos interesa guardar la fecha de préstamo y la fecha de devolución”. Pasar el modelo entidad-relación resultante al modelo relacional
Tablas: autor: idautor(PK), nombre libro: idlibro(PK), titulo, isbn,editorial, paginas autor_libro : idautor(PFK), idlibro(PFK) ejemplar: idejemplar(PK), localización, idlibro(FK) usuario: idusuario(PK), nombre, telefono, direccion usuario_ejemplar: idusuario(PFK), idejemplar(PFK), fechaprestamo, fechadevolucion
create database biblioteca_informatica; use biblioteca_informática; create table autor( idautor char(8) not null, nombre varchar(40) not null, primary key(idautor) ); create table libro( idlibro char(10) not null, titulo varchar(80) not null, isbn char(13) not null, editorial varchar(30) not null, paginas int not null, primary key(idlibro) );
create table autor_libro( idautor char(8) not null, idlibro char(10) not null, primary key(idautor,idlibro), foreign key(idautor) references autor(idautor), foreign key(idlibro) references libro(idlibro) ); create table ejemplar( idejemplar char(10) not null, localizacion varchar(50) not null, idlibro char(10) not null, primary key(idejemplar), foreign key(idlibro) references libro(idlibro), );
create table usuario( idusuario char(8) not null, nombre varchar(60) not null, telefono varchar(20) not null, direccion varchar(80) not null, primary key(idusuario) ); create table usuario_ejemplar( idusuario char(8) not null, idejemplar char(10) not null, fechaprestamo datetime not null, fechadevolucion datetime not null, primary key(idusuario,idejemplar), foreign key(idusuario) references usuario(idusuario), foreign key (idejemplar) references ejemplar(idejemplar) );