Está en la página 1de 20

DISEÑO LÓGICO

Transformación de modelos E/R en modelos


relacionales

- Toda entidad se convierte en tabla


- Toda entidad débil se convierte en tabla.
DISEÑO LÓGICO
Relaciones:
- 1:1 ambas entidades se convierten a tablas
y una de ellas toma la clave de la otra
como foránea
- 1:N la que tiene el N toma la clave de la
que tiene el 1, que actuará como parte de
la clave primaria
- M:N la relación se convierte en tabla, la
clave es la mezcla de las dos claves
RELACIONES 1:1

- Propagar la clave primaria de la entidad (1,1)


a la de (0,1), pasando a ser sólo foránea
EJEMPLO 1:1
RELACIONES 1:N

- Relación no se transforma en una tabla


- La clave primaria de la entidad con cardinalidad máxima 1 se
propaga a la de cardinalidad máxima N pasando a ser sólo foránea
- Los atributos de la relación pasan a la entidad máximo N
EJEMPLO 1:N
RELACIONES N:M

- Relación se transforma en una tabla


- Los atributos de la relación pasan a la tabla
- La clave primaria es la concatenación de las claves de las
entidades asociadas, que además también serán foráneas
en la nueva tabla
EJEMPLO N:M

- “Compra” pasará a ser una tabla


- El atributo “Fecha_de_compra” pasará a ser atributo de la tabla
- La concatenación de “DNI” y “CodigoProducto” pasará a ser la
clave primaria de la nueva tabla
- Cada uno de estos atributos que forman esta nueva clave
primaria son clave foránea (Foreign Key)
EJEMPLO N:M
SQL
(Structured Query Language)
• SQL es el lenguaje estándar utilizado para
consultar las bases de datos relacionales

• Permite crear, modificar o borrar tablas, así


como insertar, eliminar, modificar o consultar
los elementos de las tablas
SQL
(Structured Query Language)

SELECT nombre_de_columna
FROM nombre_de_tabla
WHERE condición;
Ej 1: Queremos consultar el código del profesor Juan Pérez.

Tabla: profesor

SELECT codigo_profesor FROM profesor WHERE nombre=‘Juan Pérez’;


SQL
(Sentencia: SELECT)
Ej 2: Queremos saber el código de la facultad de Artes

Tabla: facultad

SELECT codigo_fac FROM facultad WHERE nombre=‘Artes’;


SQL
(Sentencia: SELECT)
Ej 3: Consultar todas las facultades fundadas antes de 1980

Tabla: facultad

SELECT nombre FROM facultad WHERE anio_fund<1980;


SQL
(Sentencia: SELECT)
Ej 4: Consultar todas las facultades fundadas entre 1980 y 1989

Tabla: facultad

SELECT nombre FROM facultad WHERE (anio_fund>=1980) AND (anio_fund<1990)


SQL
(Sentencia: SELECT)
Ej 5: Queremos saber los nombres de todas las facultades que fueron
fundadas durante la década de los 60, al igual que durante los 80.

Tabla: facultad

SELECT nombre FROM facultad


WHERE ((anio_fund>=1960) AND (anio_fund<=1969)
OR (anio_fund>=1980) AND (anio_fund<=1989))
SQL
(Sentencia: INSERT INTO)

INSERT INTO tabla VALUES (valores)

Ej : Adicionar una facultad a la tabla correspondiente

INSERT INTO facultad VALUES (‘60’,’Economía’,’1974’);


SQL
(Sentencia: DELETE FROM)

DELETE FROM tabla WHERE(cond)

Ej 1: Borrar todas las filas de la tabla facultad

DELETE FROM facultad;


DELETE FROM tabla WHERE(cond)
Ej 2: Borrar solamente el registro correspondiente al código
de facultad 50.

DELETE FROM facultad WHERE codigo_fac=’50’;


SQL

https://sqlzoo.net/wiki/SQL_Tutorial

También podría gustarte