Sie sind auf Seite 1von 7

Bases de Datos

Lectura de Relaciones

debe ser Una o mas


Cada entidad1 o nombre relación o entidad2
puede ser una y solo una

contener
PEDIDO < REPUESTO
parte de
<

Leer la relación
Cada PEDIDO debe contener uno o más REPUESTO
Cada REPUESTO podría ser parte de uno o más PEDIDO
Notas Personales:

Nombres útiles de Relaciones

Use una lista de pares de nombres de relaciones para ayudar en el nombramiento de relaciones.

Pares de Nombres de Relaciones

 basado en base para


 comprado a proveedor de
 descripción de para
 operado por operador de
 representado por representación de
 responsable de responsabilidad de
No use relacionado con o asociado a como nombres de relaciones

Notas Personales:

Preparado Por:
M. Luisa Giacaman V Página 1
Bases de Datos

Dadas las siguientes Entidades y Atributos en 3FN realice el Modelo de Datos sin violar la 3FN

PEDIDO=
Id_pedido
fecha_pedido

REPUESTO=
Id_repuesto
desc_id_repuesto
peso_repuesto

Resolución de Relaciones de Muchos es a Muchos (M:N)

PEDIDO < contener REPUESTO


<
parte de

Notas Personales:

Resolviendo de Relaciones M:N

contener PEDIDO/REPUESTO parte de REPUESTO


PEDIDO <
<
parte de contener

Notas Personales:

Preparado Por:
M. Luisa Giacaman V Página 2
Bases de Datos

Identificar llaves del Modelo de Datos ER Conceptual sin violar la en 3FM.

PEDIDO PEDIDO/ REPUESTO


contener parte de # Id_repuesto
# Id_pedido REPUESTO
*fecha_pedido
< > contener *desc_id_repuesto
parte de
°peso_repuesto

Notas Personales:

Preparado Por:
M. Luisa Giacaman V Página 3
Bases de Datos

Desnormalizar el Modelo de Datos Conceptual de ER

PEDIDO/ REPUESTO REPUESTO


PEDIDO parte de
contener # Id_pedido PK FK1,NN/U1 # Id_repuesto PK,NN
# Id_pedido PK,NN
*fecha_pedido NN parte de
< # Id_repuesto PK K2,NN/U2 > contener *desc_id_repuesto NN
°peso_repuesto

Notas Personales:

Preparado Por:
M. Luisa Giacaman V Página 4
Bases de Datos

Mapeando Relaciones a BD

NN porque relación es
ITEM DE LINEA PRODUCTO
Obligatoria
para # numero_producto
# numero_de_línea
* cantidad > NN
* nombre_producto
solicitada via * unidad_de_medida
* precio

N
>

contenido en
NN,U
N
Inclusive de
N
ORDEN
# numero_orden
N
* fecha_orden

Nombre Tabla: ITEM_LINEA


Nombre
numero_de_linea cantidad precio numero_ orden numero_producto
Columna
Tipo Clave PK PK, FK1 FK2
Nulo/Unicos NN, U1 NN NN NN, U1 NN
Datos de
Muestra

Notas Personales:

Nombre Tabla: ORDEN


Nombre
numero_orden fecha_orden
Columna
Tipo Clave PK
Nulo/Unicos NN, U NN
Datos de
Muestra

Notas Personales:

Nombre Tabla: PRODUCTO


Nombre
numero_producto nombre_producto unidad_de_medida
Columna
Tipo Clave PK
Nulo/Unicos NN, U NN NN
Datos de
Muestra

Notas Personales:

Preparado Por:
M. Luisa Giacaman V Página 5
Bases de Datos

El Modelo de Datos ER, Desnormalizado, Mapearlo a BD.

Nombre Tabla:
Nombre
Columna
Tipo Clave

Nulo/Unicos
Datos de
Muestra

Notas Personales Nombre Tabla:

Nombre Tabla:
Nombre
Columna
Tipo Clave

Nulo/Unicos
Datos de
Muestra

Notas Personales Nombre Tabla:

Nombre Tabla:
Nombre
Columna
Tipo Clave

Nulo/Unicos
Datos de
Muestra

Notas Personales Nombre Tabla:

Preparado Por:
M. Luisa Giacaman V Página 6
Bases de Datos

SELECT *
FROM JUGADOR
WHERE posicion = 'delantero'
ORDER BY jugador_nun;

SELECT *
FROM JUGADOR
WHERE equipo_num = 'valencia' AND posicion = 'delantero'
ORDER BY apellido desc, jugador_num ASC;

SELECT jugador_num, apellido, posicion, equipo


FROM JUGADOR
WHERE equipo_num = 'valencia'
ORDER BY apellido;

CREATE TABLE PEDIDO


(
id_pedido INT(4) NOT NULL AUTO_INCREMENT,
id_cliente INT(4) NOT NULL,
id_articulo INT(4)NOT NULL,
fecha DATE,
cantidad INT(4),
total INT(4), KEY(id_pedido,id_cliente,id_articulo)
)

CREATE TABLE ARTICULO


(
id_articulo INT(4) NOT NULL AUTO_INCREMENT,
titulo VARCHAR(50),
autor VARCHAR(25),
editorial VARCHAR(25),
precio REAL,
KEY(id_articulo)
)

CREATE TABLE ANIMAL


(
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO ANIMAL (name) VALUES ('perro'),('gato'),(' pingüino '),(oso'),('pato'),('rana');

SELECT * FROM ANIMAL

devuelve: ANIMAL
id name
1 perro
2 gato
3 pingüino
4 oso
5 pato
6 rana

Encuentra el o los distribuidores con el o los precios más altos para cada artículo:
SELECT article, dealer, price
FROM SHOP S1
WHERE price=(SELECT MAX(s2.price)
FROM SHOP S2
WHERE s1.article = s2.article);

Preparado Por:
M. Luisa Giacaman V Página 7

Das könnte Ihnen auch gefallen