CREACION DE BASE DE DATOS      LINA MARCELA MEJIA GONGORA            PAOLA VARON FOREROINSTITUCION DE EDUCACION SUPERIOR “...
CREACION DE BASE DE DATOS      LINA MARCELA MEJIA GONGORA          PAOLA VARON FORERO      NAYIBE SORAYA SANCHEZ LEON     ...
TABLA DE CONTENIDOIntroducción.Objetivos.Cuerpo del trabajo   Enunciados.   Modelo entidad relación.   Modelo relaciona...
INTRODUCCIONUna base de datos es un sistema para archivarinformación en computadora cuyo propósito general esmantener info...
OBJETIVOSNuestro principal objetivo es poder desarrollarBases de Datos que puedan emplearse endiversas situaciones empresa...
CUERPO DEL TRABAJO1° TALLEREJERCICIO 1.Imagina que una agencia de seguros de tu municipio te ha solicitado una base de dat...
MODELO RELACIONALSCRIPT DE MYSQLMysql>CRÉATE DATABASE multasMysql>USE multas;Mysql>CREATE TABLE VEHÍCULOS (MATRICULA VARCH...
Mysql>CREATE TABLE POSSER( TARJETA_DE_PROPIEDAD VARCHAR(11) NOT NULL,CIUDAD_DE_EXPEDICION VARCHAR (16) NOT NULL, MATRICULA...
EJERCICIO 2.
Se trata de realizar el diseño de la base de datos en el modelo E/R para una cadena dehoteles."Cada hotel (del que interes...
MODELO RELACIONAL                             SCRIPT MYSQLMysql>CREATE DATABASE HOTEL;Mysql>USE HOTEL;Mysql>CREATE TABLE C...
Mysql> CREATE TABLE HABITACION (CODIGO_HABITACION INT (12) NOT NULL,NITINT (10) NOT NULL, TIPOS_DE_HABITACIONES VARCHAR(15...
EJERCICIOS 2° TALLEREJERCICIO 1A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal mo...
MODELO RELACIONALSCRIPT DE MYSQL                            SCRIPT MYSQLmysql>CREATE DATABASE AGENCIAVIAJES;MYSQL>USE AGEN...
mysql>ALTERTABLEAGENCIAVIAJESADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOTACTION ON UPDATE CASCADE;mysql...
EJERCICIO 2.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relac...
MODELO RELACIONALScript MysqlCREATE DATABASE CONSECCIONARIO;USE DATABASE CONSECCIONARIO;CREATE TABLE CLIENTE   (   DN VARC...
SALARIO VARCHAR(25),  FECHA_DEMORA VARCHAR(25),  TIEMPOAREGLANDO VARCHAR(25),  PRIMARY KEY     (     DNI_MECANICO     )  )...
REFERENCES COCHES         (         MATRICULA         )  );CREATE TABLE VIEJO   (   MATRICULA VARCHAR(25),   KILOMETROSREC...
(       DNI_MECANICO       )     REFERENCES MECANICO       (       DNI_MECANICO       ));
SCRIPT DE MYSQLEJERCICIO 3.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo...
MODELO RELACIONALSCRIPT MYSQLCREATE DATABASE APARATOSELECTRONIC;USE APARATOSELECTRONIC;CREATE TABLE TIPOELECTRODOMESTICO  ...
CARACTERISTICAS VARCHAR(22),  PRIMARY KEY     (     CODIGO_ELECTRODOMESTICO     )  );CREATE TABLE FABRICANTE   (   CIF VAR...
NOMBRE VARCHAR(25),  ESPECIFICACIONES VARCHAR(33),  PRIMARY KEY       (       CODIGO_COMPO       ),  FOREIGN KEY       (  ...
DICCIONARIOS DE DATOS
EJERCICIO 4.Para los siguientes enunciados identifique las entidades y sus relaciones.   a. Una persona puede comprar una ...
MODELO RELACIONAL  d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleado     debe ser subordinado de u...
MODELO RELACIONAL  f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitar     en un territorio.MODE...
MODELO RELACIONAL  h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribir     muchos libros.MODEL...
j.   Una base de datos debe contener información relativa a las ventas de los       productos de una cierta compañía. Cada...
SCRIPT MYSQLCREATE DATABASE VARIOS;USE VARIOS;CREATE TABLE PERSONA   (   CEDULA BIGINT,   NOMBRE TEXT,   PRIMARY KEY      ...
NIT       )  );CREATE TABLE PRODUCTOSS   (   COD VARCHAR(20),   NOMBRE TEXT,   PRIMARY KEY      (      COD      )   );CREA...
PRIMARY KEY     (     NOMBRE     )  );CREATE TABLE LIBRO   (   CODIGO VARCHAR(20),   NOMBRE VARCHAR(10),   PRIMARY KEY    ...
COD_CURSO VARCHAR(12),  NOMBRE VARCHAR(10),  PRIMARY KEY     (     COD_CURSO     )  );CREATE TABLE AGENTE   (   COD_AGENTE...
CREATE TABLE CASAS   (   DIRECCION VARCHAR(20),   CEDULA BIGINT,   BARRIO VARCHAR(25),   PRIMARY KEY        (        DIREC...
NOMBRE TEXT,  PRIMARY KEY       (       NIT       ),  FOREIGN KEY       (       NIT_1       )     REFERENCES EMPLEADO     ...
),  FOREIGN KEY       (       NOMBRE_1       )     REFERENCES COMUNIDAD       (       NOMBRE       )  );CREATE TABLE CHIMP...
)     REFERENCES PROVEDOR       (       NIT       ),  FOREIGN KEY       (       COD       )     REFERENCES PRODUCTOSS     ...
CREATE TABLE MATRICULARSE   (   COD_CURSO VARCHAR(12),   CODIGO_ESTUDIANTE VARCHAR(20),   PRIMARY KEY        (        COD_...
FOREIGN KEY       (       COD_AGENTE       )     REFERENCES AGENTE       (       COD_AGENTE       )  );CREATE TABLE ADMINI...
(     CODIGO,     COD_AREA     ),FOREIGN KEY     (     CODIGO     )   REFERENCES PRODUCT     (     CODIGO     ),FOREIGN KE...
DICCIONARIO DE DATOSA)
B)
c)
d)
e)
F)
G)
H)
I)
J)
EJERCICIO 5.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relac...
MODELO RELACIONALSCRIPT MYSQLCREATE DATABASE PRESTAMO;USE PRESTAMO;CREATE TABLE EMPRESAS   (   COD_EMPRESA VARCHAR(20),   ...
PRIMARY KEY     (     CEDULACODEUDOR     )  );CREATE TABLE MODALIDADPRESTAMO   (   COD_MODALIDAD VARCHAR(25),   TIPOMODALI...
CREATE TABLE PRESTAMO   (   CODIGO_PRESTA VARCHAR(14),   CEDULA VARCHAR(15),   CEDULACODEUDOR VARCHAR(24),   NU_PRESTAMO V...
(     COD_MODALIDAD     )   REFERENCES MODALIDADPRESTAMO     (     COD_MODALIDAD     ),FOREIGN KEY     (     CODIGO_PRESTA...
SCRIPT DE MYSQLEJERCICIO 6.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo...
MODELO RELACIONALMODELO ENTIDAD RELACION
SCRIPT DE MYSQLCREATE DATABASE POLICIAS;USE POLICIAS;CREATE TABLE JEFES   (   CEDULA VARCHAR(20),   NOMBRE_JEFE VARCHAR(25...
(  CEDULA VARCHAR(25),  CEDULA_1 VARCHAR(20),  NOMBRE VARCHAR(24),  CATEGORIA VARCHAR(24),  FUNCIONES VARCHAR(23),  HABILI...
(  CEDULA_DELICUENTE VARCHAR(25),  COD_CASO VARCHAR(20),  CODIGO_CELDA VARCHAR(25),  NOMBRE VARCHAR(23),  TELEFONO VARCHAR...
),   FOREIGN KEY        (        CEDULA        )      REFERENCES POLICIAS        (        CEDULA        )   );TALLER 3EJER...
MODELO RELACIONALSCRIPT DE MYSQLMYSQL>USE AEROPUERTO;mysql> CREATE TABLE PERSONAS(NSS VARCHAR(12)NOT NULL, DIRECCIONVARCHA...
MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);mysql>ALTERTABLE    AEROPUERTO      ADDFOREIGNKEY(NSS)   REFERENCES.PERSONAS(...
MYSQL>         CREATE TABLE PILOTIAR(NSS       VARCHAR(12)NOT NULL,NUMERO_AVIONES    VARCHAR(10)NOT   NULL,               ...
DICCIONARIO DE DATOS
EJERCICIO 2.Dado el siguiente enunciado obtén el modelo ERE, relacional.Una empresa de servicios quiere informatizar su ge...
MODELO ENTIDAD RELACIONMODELO RELACIONAL
SCRIPT MYSQLCREATE DATABASE PROYECTO;USE PROYECTO;CREATE TABLE PROYECTOS   (   CODIGO_PROYECTO VARCHAR(20),   NOMBRE_PROYE...
)       REFERENCES EMPRESA_CLIENTE         (         NIT         )  );CREATE TABLE EMPEADOS   (   CODIGO_EMPLEADO VARCHAR(...
CODIGO_EMPLEADO       )  );CREATE TABLE PLANILLA   (   CODIGO_EMPLEADO VARCHAR(15),   ESPECIALIDAD VARCHAR(20),   PRIMARY ...
)       REFERENCES PLANILLA         (         CODIGO_EMPLEADO         )  );CREATE TABLE ESTRATEGICO   (   CODIGO_PROYECTO ...
EJERCICIO 3.Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,relacional.Una empresa dedicada a la r...
SCRIPT DE MYSQLCREATE DATABASE CONTRUCCION;USE CONSTRUCCION;CREATE TABLE CUADRILLA   (   COD_INTERNO BIGINT,   NOMBRE VARC...
(       NSS       ),  FOREIGN KEY       (       COD_INTERNO       )     REFERENCES CUADRILLA       (       COD_INTERNO    ...
FOREIGN KEY     (     NSS     )   REFERENCES ALBAÑIL     (     NSS     ));
EJERCICIO 4. Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,relacional.Una empresa dedicada a la ...
MODELO RELACIONALSCRIPT DE MYSQLCREATE DATABASE OPTICA;USE OPTICA;CREATE TABLE CLIENTE   (   CODIGO VARCHAR(4000),   NOMBR...
CODIGO       )  );CREATE TABLE GAFAS   (   CODIGO VARCHAR(60),   CODIGO_1 VARCHAR(4000),   PRECIO VARCHAR(700),   MARCA VA...
CODIGO_1         )       REFERENCES CLIENTE         (         CODIGO         )  );CREATE TABLE GRADUADAS   (   CODIGO VARC...
CODIGO       ),  FOREIGN KEY       (       CODIGO_1       )     REFERENCES CLIENTE       (       CODIGO       )  );CREATE ...
REFERENCES CLIENTE         (         CODIGO         )  );CREATE TABLE OCASIONAL   (   CODIGO VARCHAR(4000),   DESCUENTO VA...
EJERCICIOS SIN ENUNCIADO                       PRODUCTO INFORMATIVOMODELO ENTIDAD RELACIONMODELO RELACIONAL
SCRIPT MYSQLmysql>CREATE DATABASE PRODUCTOINFORMATIVO;mysql>USE PRODUCTOINFORMATIVO;mysql> CREATE TABLE CLIENTE(CODIGO_CLI...
mysql>   ALTER     TABLE     PRODUCTOINFORMATIVO ADD    FOREIGNKEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO...
AUTOSMODELO ENTIDAD RELACIONMODELO RELACIONAL                              SCRIPT MYSQLMysql>CREATE DATABASE AUTO;Mysql>US...
Mysql>CREATE TABLE CLIENTES ( NIT INT (12) NOT NULL ,        NOMBREVARCHAR(15) NOT NULL, APELLIDOS VARCHAR(15) NOT NULL,  ...
FUTBOLMODELO ENTIDAD RELACIONMODELO RELACIONAL
SCRIPT MYSQLCREATE DATABASE FUTBOL;USE FUTBOL;CREATE TABLE PARTIDOS   (   COD_PARTIDO BIGINT,   FECHA_PARTIDO DATETIME,   ...
),  FOREIGN KEY       (       DNI       )     REFERENCES PRESIDENTE       (       DNI       )  );CREATE TABLE JUGADORES   ...
),FOREIGN KEY     (     CODIGO_JUG     )   REFERENCES JUGADORES     (     CODIGO_JUG     ),FOREIGN KEY     (     COD_PARTI...
DICCIONARIOS DE DATOS
CARGA ACADEMIDAMODELO ENTIDAD RELACIONMODELO RELACIONAL
SCRIPT MYSQLCREATE DATABASE ACADEMICA;USE ACADEMICA;CREATE TABLE ASIGNATURAS   (   CODASIGNATURA VARCHAR(5),   NOMBASIGNAT...
(       CODALUMNO       )  );CREATE TABLE CARRERAS   (   CODPROGRAMA VARCHAR(4),   NOMBCARRERA VARCHAR(50),   TOTALCREDITO...
)  );CREATE TABLE REGISTROMATERIAS   (   CONSEREGISTRO INT,   CODASIGNATURA VARCHAR(5),   CODDOCENTE VARCHAR(10),   CONSIN...
CONSCARGA INT,CODDOCENTE VARCHAR(10),CODASIGNATURA VARCHAR(5),DIACLASE VARCHAR(10),HORACLASE TEXT,SALONCLASE TEXT,SEMACADE...
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Bases de datos Lina Mejia y Paola Varon
Upcoming SlideShare
Loading in...5
×

Bases de datos Lina Mejia y Paola Varon

1,754

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,754
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
139
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bases de datos Lina Mejia y Paola Varon

  1. 1. CREACION DE BASE DE DATOS LINA MARCELA MEJIA GONGORA PAOLA VARON FOREROINSTITUCION DE EDUCACION SUPERIOR “ITFIP” FACULTAD: INGENIERIA CIENCIAS AGROINDUSTRIALES SISTEMAS Y COMPUTACION BASE DE DATOS SEMESTRE III – NOCTURNO ESPINAL – TOLIMA 2012
  2. 2. CREACION DE BASE DE DATOS LINA MARCELA MEJIA GONGORA PAOLA VARON FORERO NAYIBE SORAYA SANCHEZ LEON DOCENTEINSTITUCION DE EDUCACION SUPERIOR “ITFIP” FACULTAD INGENIERIA CIENCIAS AGROINDUSTRIALES SISTEMAS Y COMPUTACION BASE DE DATOS SEMESTRE III – NOCTURNO ESPINAL – TOLIMA 2012
  3. 3. TABLA DE CONTENIDOIntroducción.Objetivos.Cuerpo del trabajo  Enunciados.  Modelo entidad relación.  Modelo relaciona.  Diccionarios de datos.  Script de MYSQL.
  4. 4. INTRODUCCIONUna base de datos es un sistema para archivarinformación en computadora cuyo propósito general esmantener información y hacer que esté disponiblecuando se solicite.Actualmente el mundo empresarial necesita manejargran cantidad de datos, por lo que se hace necesariodisponer de medios hardwares y software que permitanacceder a la información de una manera rápida, sencilla yfiable.El presente trabajo se basa en la solución de diversosejercicios de desarrollo de Base de Datos cada uno con suModelo Entidad Relación (MER), Modelo Relacional(M/R),Diccionario de Datos y por último el script de MYSQLdonde crea la base de datos.
  5. 5. OBJETIVOSNuestro principal objetivo es poder desarrollarBases de Datos que puedan emplearse endiversas situaciones empresariales donde senecesite manejar variables cantidades de datosfacilitando así su procesamiento y garantizaruna gran seguridad de almacenamiento yfacilidad de acceso.El objetivo final de dicho proyecto es la elaboraciónde sistemas de información (BD) acerca de datosreales empleando los conocimientos obtenidos en eltranscurso del III semestre de SISTEMAS YCOMPUTACION en el área de BASE DE DATOSdirigido por la docente NAYIBE SORAYA SANCHEZLEON.
  6. 6. CUERPO DEL TRABAJO1° TALLEREJERCICIO 1.Imagina que una agencia de seguros de tu municipio te ha solicitado una base de datosmediante la cual llevar un control de los accidentes y las multas. Tras una serie deentrevistas, has tomado las siguientes notas:"Se desean registrar todas las personas que tienen un vehículo. Es necesario guardarlos datos personales de cada persona (nombre, apellidos, dirección, población,teléfono y DNI).De cada vehículo se desea almacenar la matrícula, la marca y el modelo. Una personapuede tener varios vehículos, y puede darse el caso de un vehículo pertenezca a variaspersonas a la vez.También se desea incorporar la información destinada a gestionar los accidentes delmunicipio. Cada accidente posee un número de referencia correlativo según orden deentrada a la base de datos. Se desea conocer la fecha, lugar y hora en que ha tenidolugar cada accidente. Se debe tener en cuenta que un accidente puede involucrar avarias personas y varios vehículos.Se desea llevar también un registro de las multas que se aplican. Cada multa tendráasignado un número de referencia correlativo. Además, deberá registrarse la fecha,hora, lugar de infracción e importe de la misma. Una multa solo se aplicará a unconductor e involucra a un solo vehículo."Realiza el modelo E-R y pásalo al modelo relacional.MODELO ENTIDAD RELACION
  7. 7. MODELO RELACIONALSCRIPT DE MYSQLMysql>CRÉATE DATABASE multasMysql>USE multas;Mysql>CREATE TABLE VEHÍCULOS (MATRICULA VARCHAR (15) NOT NULL, MARCAVARCHAR(11)NOT NULL, color VARCHAR (10), PRIMARY KEY(MATRICULA ))ENGINE=INNODB;Mysql>CREATE TABLE PERSONAS( CEDULA INT(11)NOT NULL, NOMBRE VARCHAR(15)NOT NULL,DIRECCIÓN VARCHAR (25)NOT NULL, APELLIDOS VARCHAR (35)NOT NULL, TELÉFONO INT (12)NOT NULL, PRIMARY KEY(CEDULA))EGINE=INNODB;Mysql>CREATE TABLE MULTAS (CONCECUTIVODEMULTAS INT (11) NOTNULL,CEDULA INT(11) NOT NULL , FECHAYHORA DATETIME, LUGARINFRACIONVARCHAR(16)NOT NULL,PRIMARYKEY(CONCECUTIVODEMULTAS)ENGINE=INNODB;MYSQL>ALTER TABLE MULTAS ADD INDEX (CEDULA);Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(CEDULA)REFERENCES MULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ONUPDATE CASCADE;
  8. 8. Mysql>CREATE TABLE POSSER( TARJETA_DE_PROPIEDAD VARCHAR(11) NOT NULL,CIUDAD_DE_EXPEDICION VARCHAR (16) NOT NULL, MATRICULA VARCHAR (15)NOT NULL, CEDULA INT (11) NOT NULL, PRIMARY KEY(TARJETA_DE_PROPIEDAD,CIUDAD_DE_EXPEDICION, MATRICULA, CEDULA)ENGINE= INNODB;Mysql>ALTER TABLE MULTAS ADD INDEX (DNI);Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA) REFERENCES.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA);Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCESMULTAS.VEHICULOS (MATRICULA) ON DELETE NOT ACTION ON UPDATECASCADE;Mysql> CREATE TABLE INVOLUCRAR (HORA DATETIME, MATRICULA VARCHAR(16) NOT NULL, CEDULA INT (15) NOT NULL, PRIMARY KEY (HORA, MATRICULA,CEDULA),Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA);Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCESMULTAS.VEHICULOS (MATRICULA) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql>ALTER TABLE MULTAS ADD INDEX (DNI);Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA)REFERENCESMULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;
  9. 9. EJERCICIO 2.
  10. 10. Se trata de realizar el diseño de la base de datos en el modelo E/R para una cadena dehoteles."Cada hotel (del que interesa almacenar su nombre, dirección, teléfono, año deconstrucción, etc.) se encuentra clasificado obligatoriamente en una categoría (porejemplo, tres estrellas) pudiendo bajar o aumentar de categoría.Cada categoría tiene asociada diversas informaciones, como, por ejemplo, el tipo deIVA que le corresponde y la descripción.Los hoteles tiene diferentes clases de habitaciones (suites, dobles, individuales, etc.),que se numeran de forma que se pueda identificar fácilmente la planta en la que seencuentran. Así pues, de cada habitación se desea guardar el código y el tipo dehabitación.Los particulares pueden realizar reservas de las habitaciones de los hoteles. En lareserva de los particulares figurarán el nombre, la dirección y el teléfono.Las agencias de viaje también pueden realizar reservas de las habitaciones. En caso deque la reserva la realiza una agencia de viajes, se necesitarán los mismos datos quepara los particulares, además del nombre de la persona para quien la agencia de viajesestá realizando la reserva.En los dos casos anteriores también se debe almacenar el precio de la reserva, la fechade inicio y la fecha de fin de la reserva".MODELO ENTIDAD RELACION
  11. 11. MODELO RELACIONAL SCRIPT MYSQLMysql>CREATE DATABASE HOTEL;Mysql>USE HOTEL;Mysql>CREATE TABLE CATEGORIA (NIVELVARCHAR (10) NOT NULL, IVA MONEY,DESCRIPCION TEXT, PRIMARY KEY (NIVEL )) ENGINE=INNODB;Mysql> CREATE TABLE PERSONAS(CEDULAINT(12)NOT NULL,NOMBREVARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL, DIRECCIONVARCHAR(5) NOT NULL, TELEFONO INT (12) NULL, PRIMARY KEY ( CEDULA ) )ENGINE= INNODB ;Mysql> CREATE TABLE AGENCIAS_DE_VIAJES(NIT_A_V INT (12) NOT NULL ,NOMBREVARCHAR(10) NOT NULL, DIRECCION VARCHAR(5)NOTNULL, TELEFONO INT (12)NULL, CIUDAD VARCHAR(10) NOT NULL, PRIMARY KEY(NIT_A_V))ENGINE= INNODB;Mysql> CREATE TABLE HOTELES (NIT INT (10) NOT NULL, NIVEL VARCHAR (10)NOT NULL, NOMBRE VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5) NOT NULL,AÑO_DE_CONSTRUCCION INT (4) NOT NULL, PRIMARY KEY( NIT)) ENGINE=INNODB;Mysql>ALTER TABLE HOTEL ADD INDEX (NIVEL);Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIVEL )REFERENCESHOTELERA.CATEGORIA (NIVEL) ON DELETE NOT ACTION ON UPDATE CASCADE;
  12. 12. Mysql> CREATE TABLE HABITACION (CODIGO_HABITACION INT (12) NOT NULL,NITINT (10) NOT NULL, TIPOS_DE_HABITACIONES VARCHAR(15) NOT NULL, PRIMARYKEY( CODIGO_HABITACION )) ENGINE= INNODB;Mysql>ALTER TABLE HOTEL ADD INDEX (NIT);Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT )REFERENCES HOTEL.HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql> CREATE TABLE RESERVAS (NUMERO_RESERVAS INT(2)NOT NULL, NITINT (12) NOT NULL, CEDULA INT (12) NOT NULL, NIT_A_V INT (12) NOT NULL,FECHA_INGRESO DATETIME NOT NULL, FECHA_SALIDA DATETIME NOT NULL,HORA_INGRESO DATETIME NOT NULL, PRIMARY KEY( NUMERO_RESERVAS))ENGINE= INNODB;Mysql>ALTER TABLE HOTEL ADD INDEX (NIT);Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT)REFERENCES HOTEL.HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql>ALTER TABLE HOTEL ADD INDEX (CEDULA);Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(CEDULA)REFERENCES HOTELERA.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql>ALTER TABLE HOTEL ADD INDEX (NIT_A_V);Mysql>ALTER TABLE HOTEL ADD FOREIGN KEY(NIT_A_V)REFERENCES HOTEL.AGENCIAS_DE_VIAJES (NIT_A_V) ON DELETE NOT ACTION ON UPDATE CASCADE;
  13. 13. EJERCICIOS 2° TALLEREJERCICIO 1A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relacional.Una agencia de viajes desea informatizar toda la gestión de los viajeros que acuden ala agencia y los viajes que estos realizan. Tras ponernos en contacto con la agencia,ésta nos proporciona la siguiente información."La agencia desea guardar la siguiente información de los viajeros: dni, nombre,dirección y teléfono.De cada uno de los viajes que maneja la agencia interesa guardar el código de viaje,número de plazas, fecha en la que se realiza el viaje y otros datos. Un viajero puederealizar tantos viajes como desee con la agencia. Un viaje determinado sólo puede sercubierto por un viajero.Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos sequiere almacenar el código, nombre y otros datos que puedan ser de interés. Un viajetiene un único lugar de destino y un único lugar de origen".MODELO ENTIDAD RELACION
  14. 14. MODELO RELACIONALSCRIPT DE MYSQL SCRIPT MYSQLmysql>CREATE DATABASE AGENCIAVIAJES;MYSQL>USE AGENCIAVIAJES;MYSQL>CREATE TABLE VIAJEROS( DNI INT(12)2NOT NULL, NOMBREVARCHAR(10)NOT NULL, DIRECCION VARCHAR(5)NOT NULL, TELEFONO INT(6)NOT NULL, PRIMARY KEY( DNI))ENGINE=INNODB;MYSQL>CREATE TABLE VIAJES(CODIGO INT(12) NOT NULL, DNI INT(12)NOTNULL, NUMERO_PLAZAS INT(3)NOT NULL, FRV DATETIME NOT NULL,PRIMARY KEY( CODIGO))ENGINE=INNODB;MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX (DNI);mysql> ALTER TA BLE AGENCIAVIAJES ADD FOREIGNKEY(DNI)REFERENCES.VIAJEROS (DNI) ON DELETE NOT ACTION ON UPDATECASCADE;MYSQL> CREATE TABLE ORIGEN(CODIGO INT(12)NOT NULL, CODIGO_ORIGENINT(12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB;MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);
  15. 15. mysql>ALTERTABLEAGENCIAVIAJESADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOTACTION ON UPDATE CASCADE;mysql> CREATE TABLE DESTINO( CODIGO INT(5) NOT NULL, CODIGO_DESTINOINT((12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB;MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);mysql>ALTERTABLEAGENCIAVIAJESADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOTACTION ON UPDATE CASCADE;mysql> CREATE TABLE REFERENCIAS_FAMILIARES( DNI_FAMILIAR INT(15) NOTNULL, NOMBRE VARCHAR(15)NOT NULL, APELLIDOS VARCHAR(10)NOT NULL,DIRECCION INT(6) NOT NULL, TELEFONO INT(12) NOT NULL, PRIMARY KEY (DNI_FAMILIAR, DNI ,CODIGO))ENGINE=INNODB;MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(DNI);mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(DNI)REFERENCES.VIAJEROS(DNI) ON DELETE NOT ACTION ON UPDATE CASCADE;MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);mysql>ALTERTABLEAGENCIAVIAJESADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOTACTION ON UPDATE CASCADE;DICCIONARIO DE DATOS
  16. 16. EJERCICIO 2.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relacional."A un concesionario de coches llegan clientes para comprar automóviles. De cadacoche interesa saber la matrícula, modelo, marca y color. Un cliente puede comprarvarios coches en el concesionario. Cuando un cliente compra un coche, se le hace unaficha en el concesionario con la siguiente información: dni, nombre, apellidos,dirección y teléfono.Los coches que el concesionario vende pueden ser nuevos o usados (de segundamano). De los coches nuevos interesa saber el número de unidades que hay en elconcesionario. De los coches viejos interesa el número de kilómetros que llevarecorridos.El concesionario también dispone de un taller en el que los mecánicos reparan loscoches que llevan los clientes. Un mecánico repara varios coches a lo largo del día, yun coche puede ser reparado por varios mecánicos. Los mecánicos tienen un dni,nombre, apellidos, fecha de contratación y salario. Se desea guardar también la fechaen la que se repara cada vehículo y el número de horas que se tardado en arreglarcada automóvil".MODELO ENTIDAD RELACION
  17. 17. MODELO RELACIONALScript MysqlCREATE DATABASE CONSECCIONARIO;USE DATABASE CONSECCIONARIO;CREATE TABLE CLIENTE ( DN VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(500), DIRECCION VARCHAR(25), TELEFONO VARCHAR(25), PRIMARY KEY ( DN ) );CREATE TABLE MECANICO ( DNI_MECANICO VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(25), FECHA_CONTRATACION VARCHAR(25),
  18. 18. SALARIO VARCHAR(25), FECHA_DEMORA VARCHAR(25), TIEMPOAREGLANDO VARCHAR(25), PRIMARY KEY ( DNI_MECANICO ) );CREATE TABLE COCHES ( MATRICULA VARCHAR(25), DN VARCHAR(25), MODELO VARCHAR(25), MARCA VARCHAR(23), COLOR VARCHAR(22), PRIMARY KEY ( MATRICULA ), FOREIGN KEY ( DN ) REFERENCES CLIENTE ( DN ) );CREATE TABLE NUEVO ( MATRICULA VARCHAR(25), UNIDADESDISPONIBLES VARCHAR(23), PRIMARY KEY ( MATRICULA ), FOREIGN KEY ( MATRICULA )
  19. 19. REFERENCES COCHES ( MATRICULA ) );CREATE TABLE VIEJO ( MATRICULA VARCHAR(25), KILOMETROSRECORRIDO VARCHAR(25), PRIMARY KEY ( MATRICULA ), FOREIGN KEY ( MATRICULA ) REFERENCES COCHES ( MATRICULA ) );CREATE TABLE REPARA ( MATRICULA VARCHAR(25), DNI_MECANICO VARCHAR(25), PRIMARY KEY ( MATRICULA, DNI_MECANICO ), FOREIGN KEY ( MATRICULA ) REFERENCES COCHES ( MATRICULA ), FOREIGN KEY
  20. 20. ( DNI_MECANICO ) REFERENCES MECANICO ( DNI_MECANICO ));
  21. 21. SCRIPT DE MYSQLEJERCICIO 3.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relacional.Una empresa de aparatos electrónicos desea informatizar sus datos.Cada aparato electrónico viene determinado por un Código único y una descripción.Además cada aparato corresponde a un tipo de electrodomésticos (a lo sumo).Cada tipo de electrodoméstico (televisor, mp3, lavadora, etc.) tiene un nombre y unascaracterísticas (un campo de texto). Se supone que no hay dos tipos con el mismonombre y características. Algunos tipos pueden formar parte de otro tipo más general(mp3 de aparato de música), 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).También 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 paracada aparato que componentes lleva y que fabricante suministra cada componente.Un aparato puede llevar muchas unidades de un mismo componente (interesa sabercuántas), pero en este caso todas estarán suministradas por el mismo fabricante y conun mismo precio.MODELO ENTIDAD RELACION
  22. 22. MODELO RELACIONALSCRIPT MYSQLCREATE DATABASE APARATOSELECTRONIC;USE APARATOSELECTRONIC;CREATE TABLE TIPOELECTRODOMESTICO ( CODIGO_ELECTRODOMESTICO VARCHAR(26), NOMBRE VARCHAR(100),
  23. 23. CARACTERISTICAS VARCHAR(22), PRIMARY KEY ( CODIGO_ELECTRODOMESTICO ) );CREATE TABLE FABRICANTE ( CIF VARCHAR(25), DOMICILIOSOCIAL VARCHAR(56), PRIMARY KEY ( CIF ) );CREATE TABLE APARATO ( CODIGO VARCHAR(23), CODIGO_ELECTRODOMESTICO VARCHAR(26), DESCRIPCION VARCHAR(15), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO_ELECTRODOMESTICO ) REFERENCES TIPOELECTRODOMESTICO ( CODIGO_ELECTRODOMESTICO ) );CREATE TABLE COMPONENTES ( CODIGO_COMPO VARCHAR(23), CIF VARCHAR(25),
  24. 24. NOMBRE VARCHAR(25), ESPECIFICACIONES VARCHAR(33), PRIMARY KEY ( CODIGO_COMPO ), FOREIGN KEY ( CIF ) REFERENCES FABRICANTE ( CIF ) );CREATE TABLE TENER ( CODIGO_COMPO VARCHAR(23), CODIGO VARCHAR(23), PRIMARY KEY ( CODIGO_COMPO, CODIGO ), FOREIGN KEY ( CODIGO_COMPO ) REFERENCES COMPONENTES ( CODIGO_COMPO ), FOREIGN KEY ( CODIGO ) REFERENCES APARATO ( CODIGO ) );
  25. 25. DICCIONARIOS DE DATOS
  26. 26. 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.MODELO ENTIDAD RELACIONMODELO RELACIONAL b. Un cliente debe comprar uno o muchos productos, Un producto debe ser comprado por un cliente.MODELO ENTIDAD RELACIONMODELO RELACIONAL c. Un proveedor puede proveer uno o más productos, Un producto debe ser provisto por uno o más proveedores.MODELO ENTIDAD RELACION
  27. 27. MODELO RELACIONAL d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleado debe ser subordinado de un empleado.MODELO ENTIDAD RELACIONMODELO RELACIONAL e. Un investigador puede hacer muchas observaciones, Una observación debe ser hecha por un investigador.MODELO ENTIDAD RELACION
  28. 28. MODELO RELACIONAL f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitar en un territorio.MODELO ENTIDAD RELACIONMODELO RELACIONAL g. Una hembra puede ser la madre de muchos chimpancés. Un chimpancé debe ser hijo de una hembra.MODELO ENTIDAD RELACION
  29. 29. MODELO RELACIONAL h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribir muchos libros.MODELO ENTIDAD RELACIONMODELO RELACIONAL i. Un estudiante está matriculado en muchos cursos. En un curso hay muchos estudiantes matriculados.MODELO ENTIDAD RELACION MODELO RELACIONAL
  30. 30. j. Una base de datos debe contener información relativa a las ventas de los productos de una cierta compañía. Cada agente de la compañía es responsable de las ventas en una o más áreas. Cada área tiene uno o más agentes como responsables de las ventas que se realicen en ella. Cada agente es responsable de la venta de uno o más productos y cada producto tiene uno o más agentes responsables de su venta. Un producto se vende en todas las áreas y en un área se pueden vender todos los productos.MODELO ENTIDAD RELACIONMODELO RELACIONAL
  31. 31. SCRIPT MYSQLCREATE DATABASE VARIOS;USE VARIOS;CREATE TABLE PERSONA ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) );CREATE TABLE CLIENTE ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) );CREATE TABLE EMPLEADO ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( NIT ) );CREATE TABLE PROVEDOR ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY (
  32. 32. NIT ) );CREATE TABLE PRODUCTOSS ( COD VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( COD ) );CREATE TABLE INVESTIGADOR ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) );CREATE TABLE COMUNIDAD ( NOMBRE TEXT, UBICACION VARCHAR(20), PRIMARY KEY ( NOMBRE ) );CREATE TABLE HEMBRA ( NOMBRE TEXT, EDAD BIGINT,
  33. 33. PRIMARY KEY ( NOMBRE ) );CREATE TABLE LIBRO ( CODIGO VARCHAR(20), NOMBRE VARCHAR(10), PRIMARY KEY ( CODIGO ) );CREATE TABLE AUTORES ( COD_AUTOR VARCHAR(20), NOMBRE VARCHAR(10), PRIMARY KEY ( COD_AUTOR ) );CREATE TABLE ESTUDIANTE ( CODIGO_ESTUDIANTE VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( CODIGO_ESTUDIANTE ) );CREATE TABLE CURSOS (
  34. 34. COD_CURSO VARCHAR(12), NOMBRE VARCHAR(10), PRIMARY KEY ( COD_CURSO ) );CREATE TABLE AGENTE ( COD_AGENTE VARCHAR(12), NOMBRE VARCHAR(10), PRIMARY KEY ( COD_AGENTE ) );CREATE TABLE AREAS ( COD_AREA VARCHAR(10), NOMBRE VARCHAR(10), PRIMARY KEY ( COD_AREA ) );CREATE TABLE PRODUCT ( CODIGO VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( CODIGO ) );
  35. 35. CREATE TABLE CASAS ( DIRECCION VARCHAR(20), CEDULA BIGINT, BARRIO VARCHAR(25), PRIMARY KEY ( DIRECCION ), FOREIGN KEY ( CEDULA ) REFERENCES PERSONA ( CEDULA ) );CREATE TABLE PRODUCTOS ( COD VARCHAR(30), CEDULA BIGINT, NOMBRE VARCHAR(40), PRIMARY KEY ( COD ), FOREIGN KEY ( CEDULA ) REFERENCES CLIENTE ( CEDULA ) );CREATE TABLE EMPLEADOS ( NIT VARCHAR(20), NIT_1 VARCHAR(20),
  36. 36. NOMBRE TEXT, PRIMARY KEY ( NIT ), FOREIGN KEY ( NIT_1 ) REFERENCES EMPLEADO ( NIT ) );CREATE TABLE OBSERVACIONES ( NOMBRE VARCHAR(10), CEDULA BIGINT, CANTIDAD BIGINT, PRIMARY KEY ( NOMBRE ), FOREIGN KEY ( CEDULA ) REFERENCES INVESTIGADOR ( CEDULA ) );CREATE TABLE TERRITORIO ( NOMBRE TEXT, NOMBRE_1 TEXT, DIMENSION VARCHAR(10), PRIMARY KEY ( NOMBRE
  37. 37. ), FOREIGN KEY ( NOMBRE_1 ) REFERENCES COMUNIDAD ( NOMBRE ) );CREATE TABLE CHIMPANCES ( NOMBRE TEXT, NOMBRE_1 TEXT, EDAD BIGINT, PRIMARY KEY ( NOMBRE ), FOREIGN KEY ( NOMBRE_1 ) REFERENCES HEMBRA ( NOMBRE ) );CREATE TABLE PROVEER ( NIT VARCHAR(20), COD VARCHAR(20), PRIMARY KEY ( NIT, COD ), FOREIGN KEY ( NIT
  38. 38. ) REFERENCES PROVEDOR ( NIT ), FOREIGN KEY ( COD ) REFERENCES PRODUCTOSS ( COD ) );CREATE TABLE ESCRITO ( CODIGO VARCHAR(20), COD_AUTOR VARCHAR(20), PRIMARY KEY ( CODIGO, COD_AUTOR ), FOREIGN KEY ( CODIGO ) REFERENCES LIBRO ( CODIGO ), FOREIGN KEY ( COD_AUTOR ) REFERENCES AUTORES ( COD_AUTOR ) );
  39. 39. CREATE TABLE MATRICULARSE ( COD_CURSO VARCHAR(12), CODIGO_ESTUDIANTE VARCHAR(20), PRIMARY KEY ( COD_CURSO, CODIGO_ESTUDIANTE ), FOREIGN KEY ( COD_CURSO ) REFERENCES CURSOS ( COD_CURSO ), FOREIGN KEY ( CODIGO_ESTUDIANTE ) REFERENCES ESTUDIANTE ( CODIGO_ESTUDIANTE ) );CREATE TABLE ADMINISTRA_VENTAS ( CODIGO VARCHAR(20), COD_AGENTE VARCHAR(12), PRIMARY KEY ( CODIGO, COD_AGENTE ), FOREIGN KEY ( CODIGO ) REFERENCES PRODUCT ( CODIGO ),
  40. 40. FOREIGN KEY ( COD_AGENTE ) REFERENCES AGENTE ( COD_AGENTE ) );CREATE TABLE ADMINISTRAR_VENTAS ( COD_AGENTE VARCHAR(12), COD_AREA VARCHAR(10), PRIMARY KEY ( COD_AGENTE, COD_AREA ), FOREIGN KEY ( COD_AGENTE ) REFERENCES AGENTE ( COD_AGENTE ), FOREIGN KEY ( COD_AREA ) REFERENCES AREAS ( COD_AREA ) );CREATE TABLE VENDER ( CODIGO VARCHAR(20), COD_AREA VARCHAR(10), PRIMARY KEY
  41. 41. ( CODIGO, COD_AREA ),FOREIGN KEY ( CODIGO ) REFERENCES PRODUCT ( CODIGO ),FOREIGN KEY ( COD_AREA ) REFERENCES AREAS ( COD_AREA ));
  42. 42. DICCIONARIO DE DATOSA)
  43. 43. B)
  44. 44. c)
  45. 45. d)
  46. 46. e)
  47. 47. F)
  48. 48. G)
  49. 49. H)
  50. 50. I)
  51. 51. J)
  52. 52. EJERCICIO 5.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relacional.La cooperativa ‘Jonh F. Kennedy’ tiene como objetivo prestar dinero a sus socios. Paraello tiene diferentes modalidades de préstamo (vivienda, vehículo, estudio,electrodomésticos...), cada modalidad tiene un plazo máximo estipulado y una tasa deinterés definida. Los socios pueden tener varios préstamos a la vez y para cada uno lacooperativa registra los siguientes datos:Número del préstamo, fecha de inicio, el valor del préstamo, la cuota mensual y elplazo en meses el cual no puede sobrepasar el plazo máximo estipulado.Cada socio para adquirir un préstamo debe estar trabajando en una empresa, por lotanto la cooperativa guarda no sólo los datos del socio sino también los de la empresaen la cual trabaja ya que se lleva estadísticas sobre las empresas que más socios tienenasociados a la cooperativa.De las empresas interesa conocer persona de contacto, dirección de la empresa ynúmero de empleados total, y si actualmente se tiene o no convenio con ellos.De los socios además de sus datos básicos (cédula, nombre, teléfono, dirección,número de celular y correo electrónico opcionales), interesa conocer el salariomensual. Cada préstamo requiere además de un codeudor del cual se registran susdatos básicos. También es importante conocer si el codeudor es un posible cliente ono, para enviarle información para que se afilie a la cooperativa.En caso de que un codeudor se vuelve socio de la compañía entonces es necesario queel asociado solicitante del préstamo consiga otro codeudor externo, no se permitencodeudores que sean socios de la cooperativa.MODELO ENTIDAD RELACION
  53. 53. MODELO RELACIONALSCRIPT MYSQLCREATE DATABASE PRESTAMO;USE PRESTAMO;CREATE TABLE EMPRESAS ( COD_EMPRESA VARCHAR(20), PERSO_CONTACTO VARCHAR(25), DIRECCIONEMPRESA VARCHAR(45), NºEMPLEADOS VARCHAR(25), CONVENIOS VARCHAR(15), PRIMARY KEY ( COD_EMPRESA ) );CREATE TABLE CODEUDOR ( CEDULACODEUDOR VARCHAR(24), NOMBRE VARCHAR(25), TELEFONO_CODEU VARCHAR(25), DIRECCION VARCHAR(14), POSIBLECLIENTE VARCHAR(25),
  54. 54. PRIMARY KEY ( CEDULACODEUDOR ) );CREATE TABLE MODALIDADPRESTAMO ( COD_MODALIDAD VARCHAR(25), TIPOMODALIDAD VARCHAR(24), PLAZOMAX VARCHAR(25), TASAINTERES VARCHAR(25), PRIMARY KEY ( COD_MODALIDAD ) );CREATE TABLE SOCIOS ( CEDULA VARCHAR(15), COD_EMPRESA VARCHAR(20), NOMBRE VARCHAR(30), TELEFONO VARCHAR(50), DIRECCION VARCHAR(25), CELULAR VARCHAR(15), CORREO VARCHAR(20), SALARIOMENSUAL MONEY, PRIMARY KEY ( CEDULA ), FOREIGN KEY ( COD_EMPRESA ) REFERENCES EMPRESAS ( COD_EMPRESA ) );
  55. 55. CREATE TABLE PRESTAMO ( CODIGO_PRESTA VARCHAR(14), CEDULA VARCHAR(15), CEDULACODEUDOR VARCHAR(24), NU_PRESTAMO VARCHAR(25), FECHAINICIO VARCHAR(25), VALORPRESTAMO VARCHAR(14), CUOTAMENSUAL VARCHAR(15), PLAZOENMESES VARCHAR(15), PRIMARY KEY ( CODIGO_PRESTA ), FOREIGN KEY ( CEDULA ) REFERENCES SOCIOS ( CEDULA ), FOREIGN KEY ( CEDULACODEUDOR ) REFERENCES CODEUDOR ( CEDULACODEUDOR ) );CREATE TABLE PERTENECE ( COD_MODALIDAD VARCHAR(25), CODIGO_PRESTA VARCHAR(14), PRIMARY KEY ( COD_MODALIDAD, CODIGO_PRESTA ), FOREIGN KEY
  56. 56. ( COD_MODALIDAD ) REFERENCES MODALIDADPRESTAMO ( COD_MODALIDAD ),FOREIGN KEY ( CODIGO_PRESTA ) REFERENCES PRESTAMO ( CODIGO_PRESTA ));
  57. 57. SCRIPT DE MYSQLEJERCICIO 6.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarloal modelo de datos relacional.Se desea diseñar una base de datos para una comisaría de policía que recoja lainformación acerca de su funcionamiento. Se consideran los siguientes supuestos:En la comisaría trabajan un serie de policías que tienen una cedula, nombre y acategoría, ellos pueden desempeñar funciones distintas como administrativas, agentesetc.Cada policía tiene un único jefe aunque un policía puede ser jefe de varios.En la comisaría existe un arsenal de armas. Cada arma está identificada por uncódigo único pertenece a una clase y tiene un nombre determinado.Cada policía puede utilizar una o varias armas en un momento determinado. Esimportante conocer el grado de habilidad (puntuación de 1 a 10) de cada policía concada una de las armas que utiliza.Un delincuente tiene una identificación, nombre y teléfono es arrestado por uno omás policías.A cada delincuente que permanece en la comisaría se le encierra en un calabozo quetiene un código y una ubicación.En el calabozo pueden estar encerrados varios delincuentes.Los delincuentes están involucrados en casos de los que se conocen el código delcaso y el juzgado que los instruye); Interesa saber cuál es principal cargo (robo,homicidio etc.) que se le atribuye a un delincuente en cada caso que esté involucrado.Uno o varios policías investigan cada uno de los casosMODELO ENTIDAD RELACION
  58. 58. MODELO RELACIONALMODELO ENTIDAD RELACION
  59. 59. SCRIPT DE MYSQLCREATE DATABASE POLICIAS;USE POLICIAS;CREATE TABLE JEFES ( CEDULA VARCHAR(20), NOMBRE_JEFE VARCHAR(25), RANGO VARCHAR(25), FUNCION VARCHAR(25), PRIMARY KEY ( CEDULA ) );CREATE TABLE CELDA ( CODIGO_CELDA VARCHAR(25), UBICACION VARCHAR(23), PRIMARY KEY ( CODIGO_CELDA ) );CREATE TABLE ARRESTOS ( COD_CASO VARCHAR(20), CEDULA VARCHAR(23), CEDULA_DELICUENTE VARCHAR(25), JUZGADO VARCHAR(25), PRIMARY KEY ( COD_CASO ) );CREATE TABLE POLICIAS
  60. 60. ( CEDULA VARCHAR(25), CEDULA_1 VARCHAR(20), NOMBRE VARCHAR(24), CATEGORIA VARCHAR(24), FUNCIONES VARCHAR(23), HABILIDADARMAS VARCHAR(25), PRIMARY KEY ( CEDULA ), FOREIGN KEY ( CEDULA_1 ) REFERENCES JEFES ( CEDULA ) );CREATE TABLE ARMA ( CODIGOARMA VARCHAR(25), CEDULA VARCHAR(25), CLASE VARCHAR(23), NOMBRE VARCHAR(25), PRIMARY KEY ( CODIGOARMA ), FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA ) );CREATE TABLE DELICUENTE
  61. 61. ( CEDULA_DELICUENTE VARCHAR(25), COD_CASO VARCHAR(20), CODIGO_CELDA VARCHAR(25), NOMBRE VARCHAR(23), TELEFONO VARCHAR(23), PRIMARY KEY ( CEDULA_DELICUENTE ), FOREIGN KEY ( COD_CASO ) REFERENCES ARRESTOS ( COD_CASO ), FOREIGN KEY ( CODIGO_CELDA ) REFERENCES CELDA ( CODIGO_CELDA ) );CREATE TABLE ARRESTAR ( COD_CASO VARCHAR(20), CEDULA VARCHAR(25), PRIMARY KEY ( COD_CASO, CEDULA ), FOREIGN KEY ( COD_CASO ) REFERENCES ARRESTOS ( COD_CASO
  62. 62. ), FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA ) );TALLER 3EJERCICIO 1.Obtén el modelo ERE, relacional: Queremos hacer una aplicación para gestionarun pequeño aeropuerto. En este aeropuerto tendremos aviones identificados porun número, cada avión 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 número, unacapacidad y una localización.En este aeropuerto tenemos tres tipos de personas (nss, dirección y teléfono):piloto (num licencia, restricciones), empleados (salario y turno) y propietarios.Cada piloto puede volar en distintos tipos de aviones, así mismo, los empleadostrabajan para ciertos tipos de aviones. Los aviones son posesión de uno o variospropietarios interesándonos almacenar desde qué fecha lo poseen.MODELO ENTIDAD RELACION
  63. 63. MODELO RELACIONALSCRIPT DE MYSQLMYSQL>USE AEROPUERTO;mysql> CREATE TABLE PERSONAS(NSS VARCHAR(12)NOT NULL, DIRECCIONVARCHAR(30)NOT NULL, TELEFONO VARCHAR(12)NOT NULL, NOMBREVARCHAR(20)NOT NULL, APELLIDOS VARCHAR(20)NOT NULL, PRIMARYKEY(NSS))ENGINE=INNODB;mysql> CREATE TABLE CLASIFICACION_DE_AVIONES(MODELO VARCHAR(5)NOTNULL,PESOINT(20)NOTNULL,CAPACIDADINT(30)NOTNULL,PRIMARYKEY(MODELO))ENGINE=INNODB; mysql> CREATE TABLE HANGARES(NUMERO_HANGARES INT(20)NOT NULL,,CAPACIDAD INT(30)NOT NULL, LOCALIZACION VARCHAR(30)NOT NULL, PRIMARYKEY(NUMERO_HANGARES))ENGINE=INNODB; mysql> CREATE TABLE PILOTO NSS VARCHAR(12)NOT NULL,NUMERO_DE_LICENCIA VARCHAR(15)NOT NULL, RESTRICIONES TEXT NOTNULL, PRIMARY KEY (NSS))ENGINE=INNODB;
  64. 64. MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES.PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;mysql> CREATE TABLE EMPLEADOS(NSS VARCHAR(12)NOT NULL, SALARIOMONEY NOT NULL, TURNO VARCHAR(15)NOT NULL,PRIMARYKEY(NSS))ENGINE=INNODB;mysql> CREATE TABLE PROPIETARIO NSS VARCHAR(12) NOT NULL,PRIMAYKEY(NSS))ENGINE=INNODB;MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES.PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;mysql> CREATE TABLE AVIONES (NUMERO_AVIONES VARCHAR(10)NOT NULL,MODELO VARCHAR(5)NOT NULL, COMBUSTIBLE VARCHAR(15)NOT NULL, PRIMARYKEY( NUMERO_AVIONES))EMGINE=INNODB;MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(MODELO);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(MODELO) REFERENCES.CLASIFICACION_DE_AVIONES (MODELO) ON DELETE NOT ACTION ON UPDATECASCADE;mysql> CREATE TABLE GUARDAR(NUMERO_HANGARES INT(20)NOT NULL,NUMERO_AVIONES VARCHAR(10)NOT NULL, FECHA_RETIRO DATETIMENOT NULL,FECHA_INGRESO DATETIME NOT NULL, PRIMARY KEY(NUMERO_HANGARES,NUMERO_AVIONES))ENGINE=INNODB;MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_HANGARES);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_HANGARES)REFERENCES. HANGARES (NUMERO_HANGARES )ON DELETE NOT ACTION ONUPDATE CASCADE; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_AVIONES)REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATECASCADE;
  65. 65. MYSQL> CREATE TABLE PILOTIAR(NSS VARCHAR(12)NOT NULL,NUMERO_AVIONES VARCHAR(10)NOT NULL, PRIMARYKEY(NSS,NUMERO_AVIONES))ENGINE=INNODB;MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES.PILOTO(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES);mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_AVIONES)REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATECASCADE;mysql>CREATE TABLE TRABAJAR(NSS VARCHAR(12)NOT NULL,NUMERO_AVIONESVARCHAR(10)NOT NULL, PRIMARYKEY(NSS,NUMERO_AVIONES))ENGINE=INNODB
  66. 66. DICCIONARIO DE DATOS
  67. 67. EJERCICIO 2.Dado el siguiente enunciado obtén el modelo ERE, relacional.Una empresa de servicios quiere informatizar su gestión en lo referente supersonal, proyectos y los servicios que presta a otras empresas.Respecto al personal de la empresa, se almacenará un código asignado por eldepartamento de Recursos Humanos, el nombre, dirección y teléfono así como eltipo de actividad dentro de la empresa de servicios: directivo o plantilla.Únicamente aquel personal que realice funciones de directivo tendrá a su cargopersonal. Interesa conocer qué directivo tiene a su cargo qué personal. Hay quetener en cuenta que un directivo puede tener a su cargo a otros directivos y quecada persona de la empresa sólo tiene un directivo como jefe directo. En cuanto alpersonal que aparece como plantilla, se almacenará además la especialidad en laque ejercerá sus funciones. Los directivos siempre tendrán personal a su cargo ytodo empleado (ya sea de plantilla o directivo) tendrá siempre jefe. Por último, elpersonal que realiza funciones de directivo no aparecerá nunca como personal deplantilla y al contrario.En cuanto a los proyectos desarrollados por la empresa, se almacenará un códigode proyecto, un nombre y el esfuerzo estimado en personas-mes para realizarlo.Lo proyectos son de dos tipos: de desarrollo o estratégicos, sin embargo, enalgunos casos, los proyectos de desarrollo pueden ser además, estratégicos. Si unproyecto es estratégico, se almacenará además el plazo de ejecución estimado ysi es de desarrollo, el presupuesto.Cada proyecto es gestionado por un directivo de la empresa siempre y cuando elproyecto sea estratégico. No puede haber proyectos de este tipo sin directivoasignado. Esto no significa que todo directivo tenga un proyecto bajo su dirección.En caso que el proyecto sea de desarrollo, se almacenará qué personal deplantilla participa en dicho proyecto y el tanto por ciento de dedicación. Unapersona de plantilla puede estar asignada a ninguno o muchos proyectos.Respecto a los servicios que se prestan a otras empresas, la política de estaempresa en considerar a parte del personal de plantilla como un servicio lo mismose puede decir de los proyectos de desarrollo: algunos son servicios prestados aotras empresas. De estos servicios se almacenará el código de servicio y el preciopor mes. También 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 unproyecto de desarrollo) siempre estará asignado a una única empresa y que unaempresa contrata uno o muchos servicios. De las empresas cliente interesaconocer el nombre, nit, dirección, teléfono.
  68. 68. MODELO ENTIDAD RELACIONMODELO RELACIONAL
  69. 69. SCRIPT MYSQLCREATE DATABASE PROYECTO;USE PROYECTO;CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20), PRIMARY KEY ( CODIGO_PROYECTO ) );CREATE TABLE EMPRESA_CLIENTE ( NIT VARCHAR(20), NOMBRE_EMPRESA VARCHAR(20), DIRECCION_EMPRESA VARCHAR(20), TELEFONO_EMPRESA VARCHAR(12), PRIMARY KEY ( NIT ) );CREATE TABLE SERVIIOS_PRESTADOS ( CODIGO_SERVICIO VARCHAR(2), NIT VARCHAR(20), PRECIO_POR_MES MONEY, EMPRESA_CONTRATADORA VARCHAR(20), PRIMARY KEY ( CODIGO_SERVICIO ), FOREIGN KEY ( NIT
  70. 70. ) REFERENCES EMPRESA_CLIENTE ( NIT ) );CREATE TABLE EMPEADOS ( CODIGO_EMPLEADO VARCHAR(15), CODIGO_SERVICIO VARCHAR(2), NOMBRE_EMPELADO VARCHAR(20), DIRECCION_EMPELADO VARCHAR(20), TELEFONO_EMPLEADO VARCHAR(12), PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_SERVICIO ) REFERENCES SERVIIOS_PRESTADOS ( CODIGO_SERVICIO ) );CREATE TABLE DIRECTIVO ( CODIGO_EMPLEADO VARCHAR(15), PERSONAL_A_CARGO INT, PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_EMPLEADO ) REFERENCES EMPEADOS (
  71. 71. CODIGO_EMPLEADO ) );CREATE TABLE PLANILLA ( CODIGO_EMPLEADO VARCHAR(15), ESPECIALIDAD VARCHAR(20), PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_EMPLEADO ) REFERENCES EMPEADOS ( CODIGO_EMPLEADO ) );CREATE TABLE DESARROLLO ( CODIGO_PROYECTO VARCHAR(20), CODIGO_EMPLEADO VARCHAR(15), PRESUPUESTO MONEY, PRIMARY KEY ( CODIGO_PROYECTO ), FOREIGN KEY ( CODIGO_PROYECTO ) REFERENCES PROYECTOS ( CODIGO_PROYECTO ), FOREIGN KEY ( CODIGO_EMPLEADO
  72. 72. ) REFERENCES PLANILLA ( CODIGO_EMPLEADO ) );CREATE TABLE ESTRATEGICO ( CODIGO_PROYECTO VARCHAR(20), CODIGO_EMPLEADO VARCHAR(15), PLAZO_EJECUCION VARCHAR(20), PRIMARY KEY ( CODIGO_PROYECTO ), FOREIGN KEY ( CODIGO_PROYECTO ) REFERENCES PROYECTOS ( CODIGO_PROYECTO ), FOREIGN KEY ( CODIGO_EMPLEADO ) REFERENCES DIRECTIVO ( CODIGO_EMPLEADO ) );
  73. 73. EJERCICIO 3.Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,relacional.Una empresa dedicada a la realización de reformas y construcciones en generalmaneja la siguiente información para llevar parte de su negocio.La empresa dispone de albañiles en plantilla de los que almacena, entre otrascosas, el número de la Seguridad Social, nombre, apellidos, fecha de nacimiento,números de los teléfonos que dispone (fijos y/o móviles) y categoría profesional.Las categorías profesionales en las que clasifica a los albañiles son Maestro yPeón, pudiendo haber otras categorías. Si un albañil tiene la categoría de Maestroalmacena el dni y el sueldo. Si es Peón Albañil almacena, el dni y el sueldo en elcaso de ser de nacionalidad española, y el país de origen y sueldo si esextranjero. Obviamente un albañil sólo puede pertenecer a una categoría. Los albañiles en plantilla están agrupados en cuadrillas propias de la empresa (unalbañil debe encontrarse en una y solo una cuadrilla) de las que se almacena uncódigo interno, nombre (que también la identifica) y localidad principal deactuación.MODELO ENTIDAD RELACIONMODELO RELACIONAL
  74. 74. SCRIPT DE MYSQLCREATE DATABASE CONTRUCCION;USE CONSTRUCCION;CREATE TABLE CUADRILLA ( COD_INTERNO BIGINT, NOMBRE VARCHAR(40), LOCALIDAD VARCHAR(40), PRIMARY KEY ( COD_INTERNO ) );CREATE TABLE ALBAÑIL ( NSS VARCHAR(40), COD_INTERNO BIGINT, NOMBRE VARCHAR(10), APELLIDO VARCHAR(10), F_NACIMIENTO DATETIME, N_FIJO BIGINT, N_MOVIL BIGINT, PRIMARY KEY
  75. 75. ( NSS ), FOREIGN KEY ( COD_INTERNO ) REFERENCES CUADRILLA ( COD_INTERNO ) );CREATE TABLE PEON ( NSS VARCHAR(40), DNI VARCHAR(70), SUELDO MONEY, NACIONALIDAD VARCHAR(80), PRIMARY KEY ( NSS ), FOREIGN KEY ( NSS ) REFERENCES ALBAÑIL ( NSS ) );CREATE TABLE MAESTRO ( NSS VARCHAR(40), DNI VARCHAR(70), SUELDO MONEY, PRIMARY KEY ( NSS ),
  76. 76. FOREIGN KEY ( NSS ) REFERENCES ALBAÑIL ( NSS ));
  77. 77. EJERCICIO 4. Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,relacional.Una empresa dedicada a la venta de material óptico desea que diseñemos unabase de datos para la automatización de sus procesos. La información relevantedesde el punto de vista del modelo de datos es la siguiente:Los productos que vende la empresa son lentes de contacto o gafas, interesandoconocer de ellos su código de producto (que es único), su precio de venta y sumarca. En cuanto a las lentes de contacto interesa, además, conocer su tipo(blandas, rígidas, etc.), su color, los productos de limpieza que requiere y sugraduación. Para las gafas, se desea también almacenar su modelo, el material defabricación.Se debe tener en cuenta que la empresa dispondrá de gafas graduadas, de gafasde sol y de gafas de sol graduadas. De las gafas graduadas, interesa conocer sugraduación así como en qué tipo de problemas oculares se pueden utilizar(miopía, astigmatismo, etc.). De las gafas de sol, interesa conocer el nivel defiltrado de los rayos ultravioleta. Hay que tener en cuenta además que queremos gestionar las personas quehan comprado gafas en nuestro establecimiento, para estas personasalmacenaremos un código y el nombre. Además cada persona pertenece a un tipo(habitual, ocasional...) y queremos almacenar para cada tipo de usuarios quedescuentos se aplican en las gafas de sol.MODELO ENTIDAD RELACION
  78. 78. MODELO RELACIONALSCRIPT DE MYSQLCREATE DATABASE OPTICA;USE OPTICA;CREATE TABLE CLIENTE ( CODIGO VARCHAR(4000), NOMBRE VARCHAR(40), PRIMARY KEY (
  79. 79. CODIGO ) );CREATE TABLE GAFAS ( CODIGO VARCHAR(60), CODIGO_1 VARCHAR(4000), PRECIO VARCHAR(700), MARCA VARCHAR(80), MODELO VARCHAR(90), MATERIAL_FABRICACION VARCHAR(50), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) );CREATE TABLE LENTES ( CODIGO VARCHAR(100), CODIGO_1 VARCHAR(4000), PRECIO VARCHAR(4000), MARCA VARCHAR(10), TIPO_BANDA VARCHAR(70), COLOR VARCHAR(70), PRODUCTOS_LIMPIEZA VARCHAR(70), GRADUACION VARCHAR(40), PRIMARY KEY ( CODIGO ), FOREIGN KEY (
  80. 80. CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) );CREATE TABLE GRADUADAS ( CODIGO VARCHAR(60), GRADUACION VARCHAR(70), PROBLEMAS_OCULARES VARCHAR(80), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS ( CODIGO ) );CREATE TABLE SOL ( CODIGO VARCHAR(60), CODIGO_1 VARCHAR(4000), NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(80), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS (
  81. 81. CODIGO ), FOREIGN KEY ( CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) );CREATE TABLE SOL_GRADUADAS ( CODIGO VARCHAR(60), NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS ( CODIGO ) );CREATE TABLE HABITUAL ( CODIGO VARCHAR(4000), DESCUENTO VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO )
  82. 82. REFERENCES CLIENTE ( CODIGO ) );CREATE TABLE OCASIONAL ( CODIGO VARCHAR(4000), DESCUENTO VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES CLIENTE ( CODIGO ) );
  83. 83. EJERCICIOS SIN ENUNCIADO PRODUCTO INFORMATIVOMODELO ENTIDAD RELACIONMODELO RELACIONAL
  84. 84. SCRIPT MYSQLmysql>CREATE DATABASE PRODUCTOINFORMATIVO;mysql>USE PRODUCTOINFORMATIVO;mysql> CREATE TABLE CLIENTE(CODIGO_CLIENTE INT(12) NOT NULL, NOMBREVARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL , DIRECCIONVARCHAR(6) NOT NULL, TELEFONO INT(12) NOT NULL, PRIMARY KEY(CODIGO_CLIENTE) )ENGINE=INNODB;mysql> CREATE TABLE PRODUCTO(CODIGO INT(12) NOT NULL, DESCRIPCIONVARCHAR(20)NOT NULL, PRECIO MONEY NOT NULL, EXITENCIASINT(2),PRIMARYKEY( CODIGO))ENGINE=INNODB;mysql> CREATE TABLE PROVEDORES(CODIGO_PROVEDOR INT(12)NOT NULL,NOMBRE VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL,DIRECCION VARCHAR(6)NOT NULL, PROVINCIA VARCHAR(10)NOT NULL,NUMEROTEL INT(10)NULL,PRIMARYKEY(CODIGO_PROVEDOR))ENGINE=INNODB;mysql> CREATE TABLE COMPRAR(FECHA_COMPRA DATETIME NOT NULL,CODIGO_CLIENTE INT(12) NOT NULL, CODIGO INT(12) NOT NULL, PRIMARY KEY(FECHA_COMPRA, CODIGO_CLIENTE, CODIGO)ENGINE=INNODB;mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_CLIENTE);mysql>ALTERTABLE PRODUCTOINFORMATIVO ADDFOREIGNKEY(CODIGO_CLIENTE)REFERENCES PRODUCTOINFORMATIVO .CLIENTE(CODIGO_CLIENTE) ON DELETE NOT ACTION ON UPDATE CASCADE;mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO);mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGNKEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ONDELETE NOT ACTION ON UPDATE CASCADE;mysql> CREATE TABLE SUMINISTRAR(CANTIDAD INT(2) NOT NULL,CODIGO_PROVEDOR INT(12)NOT NULL, PRIMARYKEY(CANTIDAD_PRODUCTO,CODIGO, CODIGO_PROVEDOR))ENGINE=INNODB;mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO);
  85. 85. mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGNKEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ONDELETE NOT ACTION ON UPDATE CASCADE;mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_PROVEDOR);mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGNKEY(CODIGO_PROVEDOR )REFERENCES PRODUCTOINFORMATIVO .PROVEDORES (CODIGO_PROVEDOR ) ON DELETE NOT ACTION ON UPDATE CASCADE;
  86. 86. AUTOSMODELO ENTIDAD RELACIONMODELO RELACIONAL SCRIPT MYSQLMysql>CREATE DATABASE AUTO;Mysql>USE AUTO;
  87. 87. Mysql>CREATE TABLE CLIENTES ( NIT INT (12) NOT NULL , NOMBREVARCHAR(15) NOT NULL, APELLIDOS VARCHAR(15) NOT NULL, DIRECCIONVARCHAR(6) NOT NULL, CIUDAD VARCHAR(15) NOT NULL, CODINTERNO INT(12),PRIMARY KEY( NIT)) ENGINE=INNODB;Mysql>CREATE TABLE MARCA (COD_MARCA INT (10) NOT NULL, DESCRIPCIONTEXT NOT NULL, PRIMARY KEY (COD_MARCA)) ENGINE= INNODB;Mysql> CREATE TABLE COCHE (MATRICULA VARCHAR(6)NOT NULL, MODELO TEXTNOT NULL, COLOR TEXT NOT NULL , PVC MONEY NOT NULL, PRIMARY KEY(MATRICULA)) ENGINE=INNODB;Mysql>ALTER TABLE AUTO ADD INDEX (NIT);Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(NIT)REFERENCES AUTO .CLIENTES(NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;Mysql>ALTER TABLE AUTO ADD INDEX (COD_MARCA);Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(CODIGO_M)REFERENCES AUTO.MARCA (COD_MARCA) ON DELETE NOT ACTION ON UPDATE CASCADE;
  88. 88. FUTBOLMODELO ENTIDAD RELACIONMODELO RELACIONAL
  89. 89. SCRIPT MYSQLCREATE DATABASE FUTBOL;USE FUTBOL;CREATE TABLE PARTIDOS ( COD_PARTIDO BIGINT, FECHA_PARTIDO DATETIME, GOLES_AFAVOR BIGINT, GOLES_CONTRA BIGINT, PRIMARY KEY ( COD_PARTIDO ) );CREATE TABLE PRESIDENTE ( DNI VARCHAR(6), NOMBRE VARCHAR(50), APELLIDOS VARCHAR(50), FEC_NACIMIENTO DATETIME, EQUIPO_PRESIDE VARCHAR(25), AÑO_ELECCION DATETIME, PRIMARY KEY ( DNI ) );CREATE TABLE EQUIPOS ( CODIGO_EQUIPO VARCHAR(5), DNI VARCHAR(6), NOM_EQUIPO VARCHAR(35), NOM_ESTADIO VARCHAR(35), AFORO VARCHAR(50), AÑO_FUNDADO BIGINT, CIUDAD_EQUIPO VARCHAR(25), PRIMARY KEY ( CODIGO_EQUIPO
  90. 90. ), FOREIGN KEY ( DNI ) REFERENCES PRESIDENTE ( DNI ) );CREATE TABLE JUGADORES ( CODIGO_JUG VARCHAR(5), CODIGO_EQUIPO VARCHAR(5), NOMBRE VARCHAR(50), FECHA_NAC DATETIME, POSICION VARCHAR(25), PRIMARY KEY ( CODIGO_JUG ), FOREIGN KEY ( CODIGO_EQUIPO ) REFERENCES EQUIPOS ( CODIGO_EQUIPO ) );CREATE TABLE GOLES ( CODIGO_JUG VARCHAR(5), COD_PARTIDO BIGINT, MINUTO_GOL DATETIME, DESCRIPCION_GOL VARCHAR(50), PRIMARY KEY ( CODIGO_JUG, COD_PARTIDO
  91. 91. ),FOREIGN KEY ( CODIGO_JUG ) REFERENCES JUGADORES ( CODIGO_JUG ),FOREIGN KEY ( COD_PARTIDO ) REFERENCES PARTIDOS ( COD_PARTIDO ));
  92. 92. DICCIONARIOS DE DATOS
  93. 93. CARGA ACADEMIDAMODELO ENTIDAD RELACIONMODELO RELACIONAL
  94. 94. SCRIPT MYSQLCREATE DATABASE ACADEMICA;USE ACADEMICA;CREATE TABLE ASIGNATURAS ( CODASIGNATURA VARCHAR(5), NOMBASIGNATURA VARCHAR(20), CREDACADASIGNATURA INT, /* Creditos Academicos Asignatura*/ IHTASIGNATURA INT, /* Intensidad Horas Teoricas */ IHPASIGNATURA INT, /* Intensidad Horas Practicas */ CONDASIGNATURA VARCHAR(30), /* Condiciones de la asignatura*/ PRIMARY KEY ( CODASIGNATURA ) );CREATE TABLE DOCENTES ( CODDOCENTE VARCHAR(10), NOMBDOCENTE VARCHAR(30), APLLDOCENTE VARCHAR(30), PROFDOCENTE VARCHAR(2), /* profesion */ CELDOCENTE VARCHAR(12), /* celular */ VINCDOCENTE VARCHAR(2), /* Vinculacion Laboral */ PRIMARY KEY ( CODDOCENTE ) );CREATE TABLE ALUMNOS ( CODALUMNO VARCHAR(6), NOMBALUMNO VARCHAR(30), APLLALUMNO VARCHAR(30), CELALUMNO VARCHAR(12), PRIMARY KEY
  95. 95. ( CODALUMNO ) );CREATE TABLE CARRERAS ( CODPROGRAMA VARCHAR(4), NOMBCARRERA VARCHAR(50), TOTALCREDITOS INT, PRIMARY KEY ( CODPROGRAMA ) );CREATE TABLE FORMINSCRIPCION ( CONSINSCRIPCION INT, CODALUMNO VARCHAR(6), CODPROGRAMA VARCHAR(4), FECHINSCRIPCION DATETIME, SEMINSCRIPCION CHAR(5), /* /* semestre academico */ */ PRIMARY KEY ( CONSINSCRIPCION ), FOREIGN KEY ( CODALUMNO ) REFERENCES ALUMNOS ( CODALUMNO ), FOREIGN KEY ( CODPROGRAMA ) REFERENCES CARRERAS ( CODPROGRAMA
  96. 96. ) );CREATE TABLE REGISTROMATERIAS ( CONSEREGISTRO INT, CODASIGNATURA VARCHAR(5), CODDOCENTE VARCHAR(10), CONSINSCRIPCION INT, JORNADA CHAR(2), PRIMARY KEY ( CONSEREGISTRO ), FOREIGN KEY ( CODASIGNATURA ) REFERENCES ASIGNATURAS ( CODASIGNATURA ), FOREIGN KEY ( CODDOCENTE ) REFERENCES DOCENTES ( CODDOCENTE ), FOREIGN KEY ( CONSINSCRIPCION ) REFERENCES FORMINSCRIPCION ( CONSINSCRIPCION ) );CREATE TABLE ASIGNAR (
  97. 97. CONSCARGA INT,CODDOCENTE VARCHAR(10),CODASIGNATURA VARCHAR(5),DIACLASE VARCHAR(10),HORACLASE TEXT,SALONCLASE TEXT,SEMACADEMICO VARCHAR(5),PRIMARY KEY ( CONSCARGA, CODDOCENTE, CODASIGNATURA ),FOREIGN KEY ( CODDOCENTE ) REFERENCES DOCENTES ( CODDOCENTE ),FOREIGN KEY ( CODASIGNATURA ) REFERENCES ASIGNATURAS ( CODASIGNATURA ));

×