Sei sulla pagina 1di 66

1

TALLER DE BASE DE DATOS



















AGUILAR GONZALEZ JOSE ALEXANDER
VEGA DIAZ BRAYAN ANTONIO















INSTITUTO TOLIMENSE DE EDUCACION SUPERIOR
ITFIP
INGENIERIA Y CIENCIAS AGRO-INDUSTRIALES
SISTEMAS Y COMPUTACION III
DISEO DE BASE DEDATOS
ESPINAL_TOLIMA
2012

2

TALLER DE BASE DE DATOS









AGUILAR GONZALEZ JOSE ALEXANDER
VEGA DIAZ BRAYAN ANTONIO



EL VERDADERO HEROSMO CONSISTE EN CONVERTIR LOS SUEOS EN
REALIDADES Y LAS IDEAS EN HECHOS




DOCENTE: NAYIBE SANCHEZ DE LEON










INSTITUTO TOLIMENSE DE EDUCACION SUPERIOR
ITFIP
INGENIERIA Y CIENCIAS AGRO-INDUSTRIALES
SISTEMAS Y COMPUTACION III
DISEO DE BASE DEDATOS
ESPINAL_TOLIMA
2012




3
TABLA DE CONTENIDOS

Introduccin pg. 4

Objetivo general pg. 5

Objetivos especficos pg. 6

EJERCICIO N 1. pg. 7































4
INTRODUCCIN

A continuacin se presentara una serie de ejercicios de la asignatura de
diseo de base de datos. Donde encontraras el modelo entidad relacin,
modelo relacional, los diccionarios de datos de cada una de las tablas de las
bases de datos, el script de MYSQL. Espero que este taller le ayude a
despejar dudas.





































5
JUSTIFICACION


Este trabajo se realizo con el fin de analizar la creacin de las base de datos
desde su anlisis hasta la creacin del el Script en MYSQL. Teniendo en
cuenta que para el diseo de base de datos es fundamental tener el modelo
relacional y el diccionario de datos de cada una de las tablas de cada base
de datos.




































6







OBJETIVO GENERAL



Analizar la construccin de bases de datos partiendo desde el anlisis
del diseo hasta la construccin del Script en MYSQL































7







OBJETIVOS ESPECFICOS



Disear el modelo entidad relacin y modelo relacin

Crear el diccionario de datos de las tablas de las bases de datos

Generar el Script de MYSQL

Analizar cada un de estas para una mejor comprensin del tema


























8
TALLER N 1

EJERCICIO N 1

Imagina que una agencia de seguros de tu municipio te ha solicitado una base de
datos mediante la cual llevar un control de los accidentes y las multas. Tras una
serie de entrevistas, has tomado las siguientes notas:

"Se desean registrar todas las personas que tienen un vehculo. Es necesario
guardar los datos personales de cada persona (nombre, apellidos, direccin,
poblacin, telfono y DNI).

De cada vehculo se desea almacenar la matrcula, la marca y el modelo. Una
persona puede tener varios vehculos, y puede darse el caso de un vehculo
pertenezca a varias personas a la vez.

Tambin se desea incorporar la informacin destinada a gestionar los accidentes
del municipio. Cada accidente posee un nmero de referencia correlativo segn
orden de entrada a la base de datos. Se desea conocer la fecha, lugar y hora en
que ha tenido lugar cada accidente. Se debe tener en cuenta que un accidente
puede involucrar a varias personas y varios vehculos.

Se desea llevar tambin un registro de las multas que se aplican. Cada multa
tendr asignado un nmero de referencia correlativo. Adems, deber registrarse
la fecha, hora, lugar de infraccin e importe de la misma. Una multa solo se
aplicar a un conductor e involucra a un solo vehculo."

Realiza el modelo E-R y psalo al modelo relacional.
















9



Figura 1: modelo entidad relacional




10

Figura 2: Modelo Relacional












11
EJERCICIO N2.

Se trata de realizar el diseo de la base de datos en el modelo E/R para una
cadena de hoteles.

"Cada hotel (del que interesa almacenar su nombre, direccin, telfono, ao de
construccin, etc.) se encuentra clasificado obligatoriamente en una categora (por
ejemplo, tres estrellas) pudiendo bajar o aumentar de categora.

Cada categora tiene asociada diversas informaciones, como, por ejemplo, el tipo
de IVA que le corresponde y la descripcin.

Los hoteles tiene diferentes clases de habitaciones (suites, dobles, individuales,
etc.), que se numeran de forma que se pueda identificar fcilmente la planta en la
que se encuentran. As pues, de cada habitacin se desea guardar el cdigo y el
tipo de habitacin.

Los particulares pueden realizar reservas de las habitaciones de los hoteles. En la
reserva de los particulares figurarn el nombre, la direccin y el telfono.

Las agencias de viaje tambin pueden realizar reservas de las habitaciones. En
caso de que la reserva la realiza una agencia de viajes, se necesitarn los mismos
datos que para los particulares, adems del nombre de la persona para quien la
agencia de viajes est realizando la reserva.

En los dos casos anteriores tambin se debe almacenar el precio de la reserva, la
fecha de inicio y la fecha de fin de la reserva".

















12







































Figura 3: modelo entidad relacional




13






































Figura 4: Modelo Relacional





14
EJERCICIO 3.

"Una empresa necesita organizar la siguiente informacin referente a su
organizacin interna.

La empresa est organizada en una serie de departamentos. Cada departamento
tiene un cdigo, nombre y presupuesto anual. Cada departamento est ubicado en
un centro de trabajo. La informacin que se desea guardar del centro de trabajo es
el cdigo de centro, nombre, poblacin y direccin del centro.

La empresa tiene una serie de empleados. Cada empleado tiene un telfono,
fecha de alta en la empresa, NIF y nombre. De cada empleado tambin interesa
saber el nmero de hijos que tiene y el salario de cada empleado.

A esta empresa tambin le interesa tener guardada informacin sobre los hijos de
los empleados. Cada hijo de un empleado tendr un cdigo, nombre y fecha de
nacimiento.

Se desea mantener tambin informacin sobre las habilidades de los empleados
(por ejemplo, mercadotecnia, trato con el cliente, fresador, operador de telefona,
etc?). Cada habilidad tendr una descripcin y un cdigo".

Sobre este supuesto disear el modelo E/R y el modelo relacional teniendo en
cuenta los siguientes aspectos.

Un empleado est asignado a un nico departamento. Un departamento estar
compuesto por uno o ms empleados.
Cada departamento se ubica en un nico centro de trabajo. Estos se componen de
uno o ms departamentos.
Un empleado puede tener varios hijos.
Un empleado puede tener varias habilidades, y una misma habilidad puede ser
poseda por empleados diferentes.
Un centro de trabajo es dirigido por un empleado. Un mismo empleado puede
dirigir centros de trabajo distintos.










15












































16












































17
TALLER N2

EJERCICIO 1.

A partir del siguiente enunciado se desea realiza el modelo entidad-relacin y
pasarlo al modelo de datos relacional.

Una agencia de viajes desea informatizar toda la gestin de los viajeros que
acuden a la agencia y los viajes que estos realizan. Tras ponernos en contacto
con la agencia, sta nos proporciona la siguiente informacin.

"La agencia desea guardar la siguiente informacin de los viajeros: dni, nombre,
direccin y telfono.

De cada uno de los viajes que maneja la agencia interesa guardar el cdigo de
viaje, nmero de plazas, fecha en la que se realiza el viaje y otros datos. Un
viajero puede realizar tantos viajes como desee con la agencia. Un viaje
determinado slo puede ser cubierto por un viajero.

Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos se
quiere almacenar el cdigo, nombre y otros datos que puedan ser de inters. Un
viaje tiene un nico lugar de destino y un nico lugar de origen".






















18












































19












































20












































21












































22

EJERCICIO 2.

A partir del siguiente enunciado se desea realiza el modelo entidad-relacin y
pasarlo al modelo de datos relacional.

"A un concesionario de coches llegan clientes para comprar automviles. De cada
coche interesa saber la matrcula, modelo, marca y color. Un cliente puede
comprar varios coches en el concesionario. Cuando un cliente compra un coche,
se le hace una ficha en el concesionario con la siguiente informacin: DNI,
nombre, apellidos, direccin y telfono.

Los coches que el concesionario vende pueden ser nuevos o usados (de segunda
mano). De los coches nuevos interesa saber el nmero de unidades que hay en el
concesionario. De los coches viejos interesa el nmero de kilmetros que lleva
recorridos.

El concesionario tambin dispone de un taller en el que los mecnicos reparan los
coches que llevan los clientes. Un mecnico repara varios coches a lo largo del
da, y un coche puede ser reparado por varios mecnicos. Los mecnicos tienen
un dni, nombre, apellidos, fecha de contratacin y salario. Se desea guardar
tambin la fecha en la que se repara cada vehculo y el nmero de horas que se
tardado en arreglar cada automvil".





















23












































24












































25












































26












































27












































28

EJERCICIO 3.

A partir del siguiente enunciado se desea realiza el modelo entidad-relacin y
pasarlo al modelo de datos relacional.

Una empresa de aparatos electrnicos desea informatizar sus datos.

Cada aparato electrnico viene determinado por un Cdigo nico y una
descripcin. Adems cada aparato corresponde a un tipo de electrodomsticos (a
lo sumo).

Cada tipo de electrodomstico (televisor, mp3, lavadora, etc.) tiene un nombre y
unas caractersticas (un campo de texto). Se supone que no hay dos tipos con el
mismo nombre y caractersticas. Algunos tipos pueden formar parte de otro tipo
ms general (mp3 de aparato de msica), pero en este caso solo forman parte de
un nico tipo.

Los componentes son las piezas que forman el aparato. Vienen dados por un
nombre (por ejemplo transformador) y unas especificaciones (un campo de texto).

Tambin nos interesa conocer datos de los fabricantes de componentes: Su CIF
(nico) y su domicilio social.

Cada aparato puede llevar cualquier cantidad de componentes. Interesa saber
para cada aparato que componentes lleva y que fabricante suministra cada
componente. Un aparato puede llevar muchas unidades de un mismo componente
(interesa saber cuntas), pero en este caso todas estarn suministradas por el
mismo fabricante y con un mismo precio.















29






30












































31












































32












































33


EJERCICIO 4.

Para los siguientes enunciados identifique las entidades y sus relaciones.

a. Una persona puede comprar una o muchas casas, Una casa debe ser
propiedad de una sola persona.
b. Un cliente debe comprar uno o muchos productos, Un producto debe ser
comprado por un cliente.
c. Un proveedor puede proveer uno o ms productos, Un producto debe ser
provisto por uno o ms proveedores.
d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleado
debe ser subordinado de un empleado.
e. Un investigador puede hacer muchas observaciones, Una observacin debe ser
hecha por un investigador.
f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitar
en un territorio.
g. Una hembra puede ser la madre de muchos chimpancs. Un chimpanc debe
ser hijo de una hembra.
h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribir
muchos libros.
i. Un estudiante est matriculado en muchos cursos. En un curso hay muchos
estudiantes matriculados.
j. Una base de datos debe contener informacin relativa a las ventas de los
productos de una cierta compaa. Cada agente de la compaa es responsable
de las ventas en una o ms reas. Cada rea tiene uno o ms agentes como
responsables de las ventas que se realicen en ella. Cada agente es responsable
de la venta de uno o ms productos y cada producto tiene uno o ms agentes
responsables de su venta. Un producto se vende en todas las reas y en un rea
se pueden vender todos los productos.













34












































35












































36












































37












































38



39












































40












































41












































42












































43







EJERCICIO 5.

A partir del siguiente enunciado se desea realiza el modelo entidad-relacin y
pasarlo al modelo de datos relacional.

La cooperativa Jonh F. Kennedy tiene como objetivo prestar dinero a sus socios.
Para ello tiene diferentes modalidades de prstamo (vivienda, vehculo, estudio,
electrodomsticos...), cada modalidad tiene un plazo mximo estipulado y una
tasa de inters definida. Los socios pueden tener varios prstamos a la vez y para
cada uno la cooperativa registra los siguientes datos:

Nmero del prstamo, fecha de inicio, el valor del prstamo, la cuota mensual y el
plazo en meses el cual no puede sobrepasar el plazo mximo estipulado.

Cada socio para adquirir un prstamo debe estar trabajando en una empresa, por
lo tanto la cooperativa guarda no slo los datos del socio sino tambin los de la
empresa en la cual trabaja ya que se lleva estadsticas sobre las empresas que
ms socios tienen asociados a la cooperativa.

De las empresas interesa conocer persona de contacto, direccin de la empresa y
nmero de empleados total, y si actualmente se tiene o no convenio con ellos.
De los socios adems de sus datos bsicos (cdula, nombre, telfono, direccin,
nmero de celular y correo electrnico opcionales), interesa conocer el salario
mensual. Cada prstamo requiere adems de un codeudor del cual se registran
sus datos bsicos. Tambin es importante conocer si el codeudor es un posible
cliente o no, para enviarle informacin para que se afilie a la cooperativa.
En caso de que un codeudor se vuelve socio de la compaa entonces es
necesario que el asociado solicitante del prstamo consiga otro codeudor externo,
no se permiten codeudores que sean socios de la cooperativa.








44












































45












































46


































47












































48

EJERCICIO 6.

A partir del siguiente enunciado se desea realiza el modelo entidad-relacin y
pasarlo al modelo de datos relacional.

Se desea disear una base de datos para una comisara de polica que recoja la
informacin acerca de su funcionamiento. Se consideran los siguientes
supuestos:

categora, ellos pueden desempear funciones distintas como administrativas,
agentes etc.

cdigo nico pertenece a una clase y tiene un nombre determinado.
importante conocer el grado de habilidad (puntuacin de 1 a 10) de cada polica
con cada una de las armas que utiliza.
uente tiene una identificacin, nombre y telfono es arrestado por uno o
ms policas.
calabozo que tiene un cdigo y una ubicacin.
ncuentes.
del caso y el juzgado que los instruye); Interesa saber cul es principal cargo
(robo, homicidio etc.) que se le atribuye a un delincuente en cada caso que est
involucrado.
















49












































50












































51












































52












































53












































54

TALLER N3

EJERCICIO N1

Obtn el modelo ERE, relacional: Queremos hacer una aplicacin para gestionar
un pequeo aeropuerto. En este aeropuerto tendremos aviones identificados por
un nmero, cada avin puede ser de un tipo diferente identificado por un modelo,
su peso y su capacidad.
Los aviones los guardamos en hangares que se identifican por un nmero, una
capacidad y una localizacin.
En este aeropuerto tenemos tres tipos de personas (nss, direccin y telfono):
piloto (nm. licencia, restricciones), empleados (salario y turno) y propietarios.
Cada piloto puede volar en distintos tipos de aviones, as mismo, los empleados
trabajan para ciertos tipos de aviones. Los aviones son posesin de uno o varios
propietarios interesndonos almacenar desde qu fecha lo poseen.

















55




56




57
CREATE TABLE PROPIETARIO(COD_INTER INT NOT NULL AUTO_INCREMENT, FECHA_QUE_LO_POSEE DATE NOT
NULL, PRIMARY KEY(COD_INTER))ENGINE =INNODN;

CREATE TABLE HANGAR(COD_INTERNO INT NOT NULL AUTO_INCREMENT, CAPACIDAD VARCHAR(10) NOT NULL,
LOCACION VARCHAR(10) NOT NULL, PRIMARY KEY(COD_INTERNO))ENGINE =INNODN;

CREATE TABLE TIPO_AVION(COD_INT INT NOT NULL AUTO_INCREMENT, PESO VARCHAR(1000) NOT NULL,
MODELO VARCHAR(100) NOT NULL, PRIMARY KEY(COD_INT))ENGINE =INNODN;

CREATE TABLE PERSONAS(NSS INT NOT NULL, TEL VARCHAR(12) NOT NULL, DIRECCION VARCHAR(30) NOT
NULL, PRIMARY KEY(NSS))ENGINE =INNODN;

CREATE TABLE AVION(N_AVION VARCHAR(100) NOT NULL, COD_INT INT NOT NULL AUTO_INCREMENT ,
COD_INTERNO INT NOT NULL AUTO_INCREMENT, COLOR VARCHAR(30) NOT NULL, PRIMARY KEY
(N_AVION),FOREIGN KEY(COD_INT)REFERENCES TIPO_AVION(COD_INT),FOREIGN KEY(COD_INTERNO)
REFERENCES HANGAR(COD_INTERNO))ENGINE =INNODN;

CREATE TABLE PILOTO(NSS INT, N_LICENCIA VARCHAR(100) NOT NULL, RESTRICIONES VARCHAR(100) NOT
NULL, PRIMARY KEY(NSS),FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS))ENGINE =INNODN;

CREATE TABLE EMPLEADOS(NSS INT, SALARIO MONEY NOT NULL, TURNO DATETIME NOT NULL, PRIMARY KEY
(NSS),FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS))ENGINE =INNODN;

CREATE TABLE TRABAJAR(NSS INT NOT NULL, N_AVION VARCHAR(100) NOT NULL, PRIMARY KEY(NSS,N_AVION),
FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS),FOREIGN KEY(N_AVION)REFERENCES AVION(N_AVION))ENGINE
INNODN;

CREATE TABLE PROPIEDAD_DE(COD_INTER INT NOT NULL AUTO_INCREMENT, N_AVION VARCHAR(100) NOT
NULL, PRIMARY KEY(COD_INTER,N_AVION),FOREIGN KEY(COD_INTER)REFERENCES PROPIETARIO(COD_INTER
),FOREIGN KEY(N_AVION)REFERENCES AVION(N_AVION)) ENGINE =INNODN;









EJERCICIO 2.

Dado el siguiente enunciado obtn el modelo ERE, relacional.

Una empresa de servicios quiere informatizar su gestin en lo referente su
personal, proyectos y los servicios que presta a otras empresas.
Respecto al personal de la empresa, se almacenar un cdigo asignado por el
departamento de Recursos Humanos, el nombre, direccin y telfono as como el
tipo de actividad dentro de la empresa de servicios: directivo o plantilla.
nicamente aquel personal que realice funciones de directivo tendr a su cargo
personal. Interesa conocer qu directivo tiene a su cargo qu personal. Hay que

58
tener en cuenta que un directivo puede tener a su cargo a otros directivos y que
cada persona de la empresa slo tiene un directivo como jefe directo. En cuanto al
personal que aparece como plantilla, se almacenar adems la especialidad en la
que ejercer sus funciones. Los directivos siempre tendrn personal a su cargo y
todo empleado (ya sea de plantilla o directivo) tendr siempre jefe. Por ltimo, el
personal que realiza funciones de directivo no aparecer nunca como personal de
plantilla y al contrario.
En cuanto a los proyectos desarrollados por la empresa, se almacenar un cdigo
de proyecto, un nombre y el esfuerzo estimado en personas-mes para realizarlo.
Lo proyectos son de dos tipos: de desarrollo o estratgicos, sin embargo, en
algunos casos, los proyectos de desarrollo pueden ser adems, estratgicos. Si un
proyecto es estratgico, se almacenar adems el plazo de ejecucin estimado y
si es de desarrollo, el presupuesto.
Cada proyecto es gestionado por un directivo de la empresa siempre y cuando el
proyecto sea estratgico. No puede haber proyectos de este tipo sin directivo
asignado. Esto no significa que todo directivo tenga un proyecto bajo su direccin.
En caso que el proyecto sea de desarrollo, se almacenar qu personal de
plantilla participa en dicho proyecto y el tanto por ciento de dedicacin. Una
persona de plantilla puede estar asignada a ninguno o muchos proyectos.
Respecto a los servicios que se prestan a otras empresas, la poltica de esta
empresa en considerar a parte del personal de plantilla como un servicio lo mismo
se puede decir de los proyectos de desarrollo: algunos son servicios prestados a
otras empresas. De estos servicios se almacenar el cdigo de servicio y el precio
por mes. Tambin se almacenar la empresa para la que se ofrece el servicio.
Hay que tener en cuenta que un servicio (ya sea personal de plantilla o un
proyecto de desarrollo) siempre estar asignado a una nica empresa y que una
empresa contrata uno o muchos servicios. De las empresas cliente interesa
conocer el nombre, nit, direccin, telfono.





EJERCICIO 3.

Dado el siguiente enunciado, obtn el modelo entidad-relacin extendido,
relacional.
Una empresa dedicada a la realizacin de reformas y construcciones en general
maneja la siguiente informacin para llevar parte de su negocio.
La empresa dispone de albailes en plantilla de los que almacena, entre otras
cosas, el nmero de la Seguridad Social, nombre, apellidos, fecha de nacimiento,
nmeros de los telfonos que dispone (fijos y/o mviles) y categora profesional.
Las categoras profesionales en las que clasifica a los albailes son Maestro y

59
Pen, pudiendo haber otras categoras. Si un albail tiene la categora de Maestro
almacena el dni y el sueldo. Si es Pen Albail almacena, el dni y el sueldo en el
caso de ser de nacionalidad espaola, y el pas de origen y sueldo si es
extranjero. Obviamente un albail slo puede pertenecer a una categora.
Los albailes en plantilla estn agrupados en cuadrillas propias de la empresa (un
albail debe encontrarse en una y solo una cuadrilla) de las que se almacena un
cdigo interno, nombre (que tambin la identifica) y localidad principal de
actuacin.







60







61















62

























































63
CREATE TABLE CUADRILLA( CODIGO_INTERNO VARCHAR(10) NOT NULL, NOMBRE CHAR(20)NOT NULL,
LOCALIZACION_PRINCIPAL CHAR(12)NOT NULL, PRIMARY KEY( CODIGO_INTERNO ) )ENGINE= INNODB;

CREATE TABLE ALBAILES ( NUM_SEGURIDAD_SOCIAL VARCHAR (12) NOT NULL, CODIGO_INTERNO CHAR(10)
NOT NULL, NOMBRE CHAR(10)NOT NULL, APELLIDOS CHAR(10)NOT NULL, FECHA_NACIMIENTO DATE NOT NULL,
TELEFONOS VARCHAR (12) NOT NULL, PRIMARY KEY (NUM_SEGURIDAD_SOCIAL ), FOREIGN KEY (
CODIGO_INTERNO) REFERENCES CUADRILLA ( CODIGO_INTERNO ) )ENGINE= INNODB;

CREATE TABLE MAESTRO( NUM_SEGURIDAD_SOCIAL VARCHAR (12)NOT NULL, DNI CHAR(20)NOT NULL,
SUELDO CHAR(20)NOT NULL, PRIMARY KEY(NUM_SEGURIDAD_SOCIAL ), FOREIGN KEY (
NUM_SEGURIDAD_SOCIAL ) REFERENCES ALBAILES(NUM_SEGURIDAD_SOCIAL))ENGINE= INNODB;

CREATE TABLE PEON(NUM_SEGURIDAD_SOCIAL VARCHAR (12)NOT NULL, DNI VARCHAR(10) NOT NULL,
SUELDO MONEY NOT NULL, NACIONALIDAD VARCHAR(30) NOT NULL, PRIMARY KEY (NUM_SEGURIDAD_SOCIAL
),FOREIGN KEY(NUM_SEGURIDAD_SOCIAL) REFERENCES ALBAILES ( NUM_SEGURIDAD_SOCIAL ) ) ENGINE=
INNODB;



EJERCICIO 4.

Dado el siguiente enunciado, obtn el modelo entidad-relacin extendido,
relacional.
Una empresa dedicada a la venta de material ptico desea que diseemos una
base de datos para la automatizacin de sus procesos. La informacin relevante
desde el punto de vista del modelo de datos es la siguiente:
Los productos que vende la empresa son lentes de contacto o gafas, interesando
conocer de ellos su cdigo de producto (que es nico), su precio de venta y su
marca. En cuanto a las lentes de contacto interesa, adems, conocer su tipo
(blandas, rgidas, etc.), su color, los productos de limpieza que requiere y su
graduacin. Para las gafas, se desea tambin almacenar su modelo, el material de
fabricacin.
Se debe tener en cuenta que la empresa dispondr de gafas graduadas, de gafas
de sol y de gafas de sol graduadas. De las gafas graduadas, interesa conocer su
graduacin as como en qu tipo de problemas oculares se pueden utilizar
(miopa, astigmatismo, etc.). De las gafas de sol, interesa conocer el nivel de
filtrado de los rayos ultravioleta.
Hay que tener en cuenta adems que queremos gestionar las personas que
han comprado gafas en nuestro establecimiento, para estas personas
almacenaremos un cdigo y el nombre. Adems cada persona pertenece a un tipo
(habitual, ocasional...) y queremos almacenar para cada tipo de usuarios que
descuentos se aplican en las gafas de sol.






64













65




CREATE TABLE PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO INT NOT NULLAUTO_INCREMENT, PRECIO MONEY
NOT NULL, MARCA VARCHAR(100) OT NULL, PRIMARY KEY(COD_PRODUCTO)) ENGINE =INNODB;

CREATE TABLE CLIENTES(CODIGO INT NOT NULL AUTO_INCREMENT, NOMBRE VARCHAR(30) NOT NULL,
TELEFONO VARCHAR(12) NULL, PRIMARY KEY(CODIGO)) ENGINE = INNODB;

CREATE TABLE LENTES_DE_CONTACTO(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, TIPO CHAR(50) NOT
NULL, COLOR VARCHAR(30) NOT NULL, PRODUCTO_DE_LIMPIEZA_PARA_LENTES VARCHAR(50) NOT NULL,

66
GRADUACION VARCHAR(50) NOT NUL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)
REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO))ENGINE =INNODB;

CREATE TABLE GAFAS(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, MODELO VARCHAR(4) NOT NULL,
MATERIAL_DE_FABRICACION VARCHAR(100) NOT NULL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(
COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO)) ENGINE =INNNODB;

CREATE TABLE GAFAS_DEL_SOL(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, NIVEL_FILTRO_SOLAR
VARCHAR(100) NOT NUL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS
(COD_PRODUCTO)) ENGINE = INNODB;

CREATE TABLE GAFAS_GRADUADAS(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, GRADUACION
VARCHAR(100) NOT NULL, TIPO_DE_PROBLEMAS_OCULARES VARCHAR(100) NOT NULL, PRIMARY KEY(
COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS(COD_PRODUCTO)) ENGINE_INNODB;

CREATE TABLE GAFAS_SOL(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(COD_PRODUCTO
),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS(COD_PRODUCTO))ENGINE= INNODB;

CREATE TABLE HABITUALES(CODIGO INT NOT NULL AUTO_INCREMENT, DES_DEGAFAS INT NOT NULL, PRIMARY
KEY(CODIGO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(CODIGO)) ENGINE =INNODB;

CREATE TABLE OCASIONAL(CODIGO INT NOT NULL AUTO_INCREMENT, DES_DE_GAFAS INT NOT NULL, PRIMARY
KEY(CODIGO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(CODIGO))ENGINE=INNODB;

CREATE TABLE COMPRAR(CODIGO INT NOT NULL AUTO_INCREMENT, COD_PRODUCTO INT NOT NULL
AUTO_INCREMENT, PRIMARY KEY(CODIGO,COD_PRODUCTO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(
CODIGO),FOREIGN KEY(COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO))
ENGINE=INNODB;

Potrebbero piacerti anche