Base de datos itfip ortegon y triana

3,456
-1

Published on

TRABAJO DE MODELO ENTIDAD RELACION, ESTUDIANTES DE SISTEMAS
ESPINAL-TOLIMA

Espero que puedan disfrutar de este material...
Estudiantes: SEBASTIAN ORTEGON OSPINA
JHONATAN TRIANA MARIN

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,456
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
131
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Base de datos itfip ortegon y triana

  1. 1. MODELO ENTIDAD RELACIONAL SEBASTIAN ORTEGON OSPINA JHONATAN TRIANA MARIN ALUMNOS NAYIBE SORAYA LEON DOCENTEINSTITUTO TOLIMENSE DE FORMACION TECNICA PROFESIONAL-ITFIP BASE DE DATOS SISTEMAS lll ESPINAL-TOLIMA 2012
  2. 2. INTRODUCCIONEl presente trabajo pretende ser una modesta investigación de untema de gran importancia en los sistemas de información, los cualesdaremos a conocer algunos problemas con sus respectivassoluciones, por medio del modelo de entidad relación, modelo relacióny daremos un script en el cual esta creada unas pequeñas bases dedatos en MYSQL.Las ideas expuestas y las cuestiones tratadas en el trabajo no sonmás que informaciones adoptadas inicialmente mostraremos que esun modelo entidad relación y daremos el enunciado del programa quese requiere, con su respectivo desarrollo, trabajaremos con unaherramienta CASE. OBJETIVOS
  3. 3. Definir que es un modelo entidad-extendido. Mostrarle a la comunidad un diccionario de datos el cual contiene tabla por tabla que tipo de atributo se utiliza, longitud, llaves principal y llaves primarias Ayudar a la comunidad a cualquier duda que tenga respecto al tema. Dar a conocer comandos, con los cuales podemos construir una base de datos.QUE ES UN MODELO ENTIDAD
  4. 4. El modelo de datos entidad-relación está basado en una percepción del mundo real que consta deuna colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos.EntidadRepresenta una “cosa” u "objeto" del mundo real con existencia independiente, es decir, sediferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una mismaentidad.Algunos Ejemplos: Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos diferentes, por ejemplo, el número de chasis). Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).AtributosLos atributos son las características que definen o identifican a una entidad. Estas pueden sermuchas, y el diseñador solo utiliza o implementa las que considere más relevantes. Los atributosson las propiedades que describen a cada entidad en un conjunto de entidades.RelaciónDescribe cierta dependencia entre entidades o permite la asociación de las mismas.Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, unhuésped (entidad), se aloja (relación) en una habitación (entidad).Correspondencia de cordialidadesDado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, lacorrespondencia de cardinalidad indica el número de entidades con las que puede estarrelacionada una entidad dada.Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia decardinalidades puede ser: Uno a Uno: Una entidad de A se relaciona únicamente con una entidad en B y viceversa (ejemplo relación vehículo - matrícula: cada vehículo tiene una única matrícula, y cada matrícula está asociada a un único vehículo). Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B. Pero una entidad en B se relaciona con una única entidad en A (ejemplo vendedor - ventas). Varios a Uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A (ejemplo empleado-centro de trabajo). Varios a Varios: Una entidad en A se puede relacionar con 0 o muchas entidades en B y viceversa (ejemplo asociaciones- ciudadanos, donde muchos ciudadanos pueden pertenecer a una misma asociación, y cada ciudadano puede pertenecer a muchas asociaciones distintas).
  5. 5. ClavesEs un subconjunto del conjunto de atributos comunes en una colección de entidades, que permiteidentificar unívocamente cada una de las entidades pertenecientes a dicha colección. Asimismo,permiten distinguir entre sí las relaciones de un conjunto de relaciones.Dentro de los conjuntos de entidades existen los siguientes tipos de claves: Superclave: Es un subconjunto de atributos que permite distinguir unívocamente cada una de las entidades de un conjunto de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá siendo una superclave. Clave candidata: Dada una superclave, si ésta deja de serlo quitando únicamente uno de los atributos que la componen, entonces ésta es una clave candidata. Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las entidades en un conjunto de entidades.El Modelo Entidad-Relación. 1. Se elabora el diagrama (o diagramas) entidad-relación. 2. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas paralograr un modelo directamente implementable en una base de datos. Brevemente: Transformación de relaciones múltiples en binarias. Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa). Conversión en tablas (en caso de utilizar una base de datos relacional).AGENCIA VIAJES
  6. 6. A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarlo al modelo de datos relacional.Una agencia de viajes desea informatizar toda la gestión 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 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 realizael viaje y otros datos. Un viajero puede realizar 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 se quiere almacenar el código, nombre y otrosdatos que puedan ser de interés. Un viaje tiene un único lugar de destino y un único lugar de origen".DICCIONARIO DE DATOS destino viajeNOMBRE DE LATABLA: agenciaDESCRIPCIONDE LA TABLA: FK Descricio Contenid Format requeridNombre n Tipo Longitud o o Null Key a a TablaAtributo Atributo Atributo Atributo Dato Foranea a..z, not DNI varchar 25 0..9 null PK a..z, not NOMBRE varchar 25 0..9 null a..z, not DIRECCION varchar 32 0..9 null TELEFONO varchar 23 0..9 nullLas relaciones Con OtrasTablas Entidad ( X ) inscripci Relacion ( on (1:N) N:N ) n:1DICCIONARIO DE DATOSNOMBRE DE LATABLA: destino
  7. 7. DESCRIPCIONDE LA TABLA: FK Descricio Contenid Format requeridNombre n Tipo Longitud o o Null Key a a TablaAtributo Atributo Atributo Atributo Dato ForaneaCODIGODESTIN a..z, notO varchar 14 0..9 null PK FK a..z, not requeridCODIGO varchar 30 0..9 null aNOMBRE_DSTI a..z, notNO varchar 14 0..9 null 0..9Las relaciones Con OtrasTablas Entidad ( X ) inscripci on (1:N) Relacion ( N:N )DICCIONARIO DE DATOSNOMBRE DE LA lug_origTABLA: enDESCRIPCIONDE LA TABLA: FK Descricio Contenid Format requeridNombre n Tipo Longitud o o Null Key a a TablaAtributo Atributo Atributo Atributo Dato Foranea a..z, notCODI_ORIGEN varchar 14 0..9 null PK FK a..z, not requeridCODIGO varchar 30 0..9 null a a..z, notNOMBRE_ORI varchar 18 0..9 null
  8. 8. 0..9Las relaciones Con OtrasTablas Entidad ( X ) inscripci on (1:N) Relacion ( N:N )DICCIONARIO DE DATOSNOMBRE DE LATABLA: viajeDESCRIPCIONDE LA TABLA: FK Descricio Contenid Format requeridNombre n Tipo Longitud o o Null Key a a TablaAtributo Atributo Atributo Atributo Dato Foranea a..z, notCODIGO varchar 30 0..9 null PK FK a..z, not requeridDNI varchar 25 0..9 null a a..z, notNUM_PLAZAS varchar 14 0..9 nullFECHAVIAJE date 0..9 notCODI_ORIGEN varchar 24 null not CODIGODESTINO varchar 25 nullLas relaciones Con OtrasTablas Entidad ( X ) inscripci on (1:N) Relacion ( N:N )
  9. 9. MODELO RELACIONALSCRIPT SQLcreate table agenciaviaje (dni varchar(25),nombre varchar(25),direccion varchar(32),telefono varchar(23),primary key (dni ) );create table viaje (codigo varchar(30),dni varchar(25),
  10. 10. num_plazas varchar(14),fechaviaje varchar(15), codi_origen varchar(24),codigodestino varchar(25),dni varchar(25),primary key (codigo ),foreign key (dni )references agenciaviaje (dni ) );create table destino (codigodestino varchar(14),codigo varchar(30), nombre_dstino varchar(14),primary key (codigodestino ),foreign key (codigo )references viaje (codigo ) );create table lug_origen ( codi_origen varchar(14),codigo varchar(30), nombre_ori varchar(18),primary key ( codi_origen ),foreign key (codigo )references viaje (
  11. 11. codigo ) ); MECANICOA partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarlo al modelo de datos relacional."A un concesionario de coches llegan clientes para comprar automóviles. De cada coche interesa saber la matrícula, modelo,marca y color. Un cliente puede comprar varios 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 segunda mano). De los coches nuevos interesa saber elnúmero de unidades que hay en el concesionario. De los coches viejos interesa el número de kilómetros que lleva recorridos.El concesionario también dispone de un taller en el que los mecánicos reparan los coches que llevan los clientes. Un mecánicorepara varios coches a lo largo del día, y un 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 fecha en la que se repara cada vehículo y elnúmero de horas que se tardado en arreglar cada automóvil".DICCIONARIO DEDATOSNOMBRE DE LA TABLA: CLIENTEDESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notDNI VARCHAR 25 0..9 null PK a..z, notNOMBRE VARCHAR 25 0..9 null a..z, notAPELLIDOS VARCHAR 25 0..9 null notDIRECCION VARCHAR 25 0..9 nullTELEFONO VARCHAR 25 Entidad (Las relaciones Con Otras Tablas X ) Relacion ( ) N:1
  12. 12. DICCIONARIO DEDATOS AUTONOMBRE DE LA TABLA:DESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notmatricula varchar 25 0..9 null PK a..z, not FKdni varchar 25 0..9 null requerida a..z, notmodelo varchar 25 0..9 null notmarca varchar 25 0..9 null notcolor varchar 25 null Entidad (Las relaciones Con Otras Tablas X ) Relacion ( )DICCIONARIO DEDATOSNOMBRE DE LA TABLA: MECANICODESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notDNI_MECANICO VARCHAR 25 0..9 null PK
  13. 13. a..z, notNOMBRE VARCHAR 25 0..9 null a..z, notAPELLIDOS VARCHAR 25 0..9 nullFECHA_CONTRATACIO notN DATE 25 0..9 null notSALARIO INT 25 nullFECHA_DEMORA VARCHAR 25 not null Entidad (TIEMPO AREGLANDO X ) Relacion ( )DICCIONARIO DEDATOSNOMBRE DE LA TABLA: NUEVODESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notMATRICULA VARCHAR 25 0..9 null PKUNIDADESDISPONIBLE a..z, notS VARCHAR 23 0..9 null a..z, 0..9 0..9 Entidad (Las relaciones Con Otras Tablas X ) Relacion ( )DICCIONARIO DEDATOS VIEJO
  14. 14. NOMBRE DE LA TABLA:DESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notMATRICULA VARCHAR 25 0..9 null PKKILOMETROSRECORRID a..z, notOS VARCHAR 25 0..9 null a..z, 0..9 0..9 Entidad (Las relaciones Con Otras Tablas X ) Relacion ( ) N:1DICCIONARIO DEDATOSNOMBRE DE LA TABLA:DESCRIPCION DE LATABLA: Contenid Format Ke FKNombre Tipo Longitud o o Null y requerida a TablaAtributo Atributo Atributo Dato Foranea a..z, notMATRICULA_REPARA VARCHAR 25 0..9 null PK a..z, not FKDNI_MECANICO VARCHAR 25 0..9 null requerida a..z, 0..9 0..9
  15. 15. Entidad (Las relaciones Con Otras Tablas X ) Relacion ( N:N )CREATE TABLE CLIENTE ( DN VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(500), DIRECCION VARCHAR(25), TELEFONO VARCHAR(25), PRIMARY KEY ( DN ) );CREATE TABLE MECANICO (
  16. 16. DNI_MECANICO VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(25), FECHA_CONTRATACION VARCHAR(25), 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 ) REFERENCES COCHES ( MATRICULA ) );
  17. 17. 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 ( DNI_MECANICO ) REFERENCES MECANICO ( DNI_MECANICO ) );ELECTRODOMESTICOS.A partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarlo al modelo de datos relacional.Una empresa de aparatos electrónicos desea informatizar sus datos.
  18. 18. Cada aparato electrónico viene determinado por un Código único y una descripción. Además cada aparato corresponde a un tipode electrodomésticos (a lo sumo).Cada tipo de electrodoméstico (televisor, mp3, lavadora, etc.) tiene un nombre y unas características (un campo de texto). Sesupone que no hay dos tipos con el mismo nombre 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 unasespecificaciones (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 para cada aparato que componentes lleva y quefabricante 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 con un mismo precio.DICCIONARIO DE DATOSNOMBRE DE LA TABLA: COMPONENTEDESCRIPCION DE LATABLA:Nombre Tipo Longitud Formato Null Key FK requerida a TablaAtributo Atributo Atributo Dato Foraneacodigo_compo varchar 23 a..z, 0..9 not null PKcif varchar 25 a..z, 0..9 not null FK requeridanombre varchar 25 a..z, 0..9 not nullespecificaciones varchar 33 0..9 not nullLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )DICCIONARIO DE DATOSNOMBRE DE LA TABLA: FABRICANTEDESCRIPCION DE LATABLA:
  19. 19. Nombre Tipo Longitud Formato Null Key FK requerida a TablaAtributo Atributo Atributo Dato Foraneacif varchar 25 a..z, 0..9 not null PKdomiciliosocial varchar 56 a..z, 0..9 not null a..z, 0..9 0..9Las relaciones Con Otras Tablas Entidad ( X )DICCIONARIO DE DATOSNOMBRE DE LA TABLA: COMPONENTESDESCRIPCION DE LATABLA:Nombre Tipo Longitud Formato Null Key FK requerida a TablaAtributo Atributo Atributo Dato Foraneacodigo_compo varchar 23 a..z, 0..9 not null PKcodigo varchar 23 a..z, 0..9 not null FK requerida a..z, 0..9 0..9Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )DICCIONARIO DE DATOSNOMBRE DE LA TABLA: TIPOELECTRODOMESTICO
  20. 20. DESCRIPCION DE LATABLA:Nombre Tipo Longitud Formato Null Key FK requerida a TablaAtributo Atributo Atributo Dato Foraneacodigo_electrodomestico varchar 26 a..z, 0..9 not null PKnombre varchar 100 a..z, 0..9 not nullcaracteristicas varchar 22 a..z, 0..9 0..9Las relaciones Con Otras Tablas Entidad ( X )DICCIONARIO DE DATOSNOMBRE DE LA TABLA: APARATODESCRIPCION DE LATABLA:Nombre Tipo Longitud Formato Null Key FK requerida a TablaAtributo Atributo Atributo Dato Foraneacodigo varchar 23 a..z, 0..9 not null PKcodigo_electrodomestico varchar 26 a..z, 0..9 not null FK requeridadescripcion varchar 15 a..z, 0..9 not null 0..9Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )
  21. 21. CREATE TABLE TIPOELECTRODOMESTICO ( CODIGO_ELECTRODOMESTICO VARCHAR(26), NOMBRE VARCHAR(100), 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),
  22. 22. DESCRIPCION VARCHAR(15), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO_ELECTRODOMESTICO ) REFERENCES TIPOELECTRODOMESTICO ( CODIGO_ELECTRODOMESTICO ) );CREATE TABLE COMPONENTES ( CODIGO_COMPO VARCHAR(23), CIF VARCHAR(25), 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
  23. 23. ( CODIGO ) REFERENCES APARATO ( CODIGO ) );VARIAS RELACIONESPara 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 más productos, Un producto debe ser provisto por uno o más 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 observación 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 chimpancés. 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 información relativa a las ventas de los productos de una cierta compañía. Cada agente de lacompañía es responsable de las ventas en una o más áreas. Cada área tiene uno o más agentes como responsables de las ventasque 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 agentesresponsables de su venta. Un producto se vende en todas las áreas y en un área se pueden vender todos los productos.
  24. 24. 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 ) );
  25. 25. CREATE TABLE PROVEDOR ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( 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, PRIMARY KEY ( NOMBRE )
  26. 26. );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 ( COD_CURSO VARCHAR(12), NOMBRE VARCHAR(10), PRIMARY KEY ( COD_CURSO ) );CREATE TABLE AGENTE ( COD_AGENTE VARCHAR(12), NOMBRE VARCHAR(10), PRIMARY KEY
  27. 27. ( 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 ) );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),
  28. 28. PRIMARY KEY ( COD ), FOREIGN KEY ( CEDULA ) REFERENCES CLIENTE ( CEDULA ) );CREATE TABLE EMPLEADOS ( NIT VARCHAR(20), NIT_1 VARCHAR(20), 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 ) );
  29. 29. CREATE TABLE TERRITORIO ( NOMBRE TEXT, NOMBRE_1 TEXT, DIMENSION VARCHAR(10), PRIMARY KEY ( NOMBRE ), 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 ) REFERENCES PROVEDOR
  30. 30. ( 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 ) );CREATE TABLE MATRICULARSE ( COD_CURSO VARCHAR(12), CODIGO_ESTUDIANTE VARCHAR(20), PRIMARY KEY ( COD_CURSO, CODIGO_ESTUDIANTE ), FOREIGN KEY ( COD_CURSO )
  31. 31. 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 ), 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
  32. 32. ) REFERENCES AGENTE ( COD_AGENTE ), FOREIGN KEY ( COD_AREA ) REFERENCES AREAS ( COD_AREA ) );CREATE TABLE VENDER ( CODIGO VARCHAR(20), COD_AREA VARCHAR(10), PRIMARY KEY ( CODIGO, COD_AREA ), FOREIGN KEY ( CODIGO ) REFERENCES PRODUCT ( CODIGO ), FOREIGN KEY ( COD_AREA ) REFERENCES AREAS ( COD_AREA ) ); PRESTAMOSA partir del siguiente enunciado se desea realiza el modelo entidad-relación 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 depré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 la cooperativa registra los siguientes datos:Número del préstamo, fecha de inicio, el valor del préstamo, la cuota mensual y el plazo en meses el cual no puede sobrepasar elplazo máximo estipulado.
  33. 33. Cada socio para adquirir un préstamo debe estar trabajando en una empresa, por lo tanto la cooperativa guarda no sólo los datosdel socio sino también los de la empresa en 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 y número de empleados total, y si actualmente setiene 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ónicoopcionales), interesa conocer el salario mensual. Cada préstamo requiere además de un codeudor del cual se registran sus datosbásicos. También es importante conocer si el codeudor es un posible cliente o no, para enviarle información para que se afilie a lacooperativa.En caso de que un codeudor se vuelve socio de la compañía entonces es necesario que el asociado solicitante del préstamoconsiga otro codeudor externo, no se permiten codeudores que sean socios de la cooperativa.DICCIONARIO DE DATOS prestamoscolombiaNOMBRE DE LATABLA: codeudorDESCRIPCION DE LATABLA: Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcedulacodeudor varchar 24 0..9 null PK a..z, notnombre varchar 25 0..9 null a..z, nottelefono_codeu varchar 25 0..9 null notdireccion varchar 14 0..9 null notposiblecliente varhcar 25 nullLas relaciones Con Otras Tablas Entidad ( X ) RELACION N:1DICCIONARIO DE DATOSNOMBRE DE LATABLA:
  34. 34. DESCRIPCION DE LATABLA: Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcod_empresa varchar 20 0..9 null PK a..z, notperso_contacto varchar 25 0..9 null a..z, notdireccionempresa varchar 45 0..9 null notnumeroempleados varchar 25 0..9 null notconvenios varchar 15 nullLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N ) N:1DICCIONARIO DE DATOSNOMBRE DE LATABLA: modalidad prestamoDESCRIPCION DE LATABLA: Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcod_modalidad varchar 25 0..9 null PK a..z, nottipomodalidad varchar 24 0..9 null a..z, notplazomax varchar 25 0..9 null nottasainteres varchar 25 0..9 null
  35. 35. Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N ) N:1DICCIONARIO DE DATOSNOMBRE DE LATABLA:DESCRIPCION DE LATABLA: Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcod_modalidad varchar 14 0..9 null a..z, notcod_prestamos varchar 15 0..9 null a..z, 0..9 0..9Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )DICCIONARIO DE DATOSNOMBRE DE LATABLA: prestamoDESCRIPCION DE LATABLA:
  36. 36. Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcodigo_presta varchar 14 0..9 null PK a..z, notcedula varchar 15 0..9 null a..z, notcedulacodeudor varchar 24 0..9 null notun_prestamo varchar 25 0..9 null notfechainicio varchar 25 null notvalorprestamos varchar 14 null notcuota mensual varchar 15 null notplazo meses varchar 15 nullDICCIONARIO DE DATOSNOMBRE DE LATABLA: SociosDESCRIPCION DE LATABLA: Longitu Contenid Format Nombre Tipo d o o Null Key Atribut Atributo Atributo o Dato a..z, notcedula varchar 15 0..9 null PK a..z, notcod_empresa varchar 20 0..9 null a..z, notnombre varchar 30 0..9 null nottelefono varchar 50 0..9 nulldireccion varchar 25 not
  37. 37. null notcelular varchar 15 null notcorreo varchar 20 null notsalariomensual varchar 20 nullLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )PRESTAMOS
  38. 38. 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), PRIMARY KEY ( CEDULACODEUDOR ) );CREATE TABLE MODALIDADPRESTAMO ( COD_MODALIDAD VARCHAR(25), TIPOMODALIDAD VARCHAR(24),
  39. 39. 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 ) );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
  40. 40. ), 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 ( COD_MODALIDAD ) REFERENCES MODALIDADPRESTAMO ( COD_MODALIDAD ), FOREIGN KEY ( CODIGO_PRESTA ) REFERENCES PRESTAMO ( CODIGO_PRESTA ) );POLICIA NACIONALA partir del siguiente enunciado se desea realiza el modelo entidad-relación y pasarlo al modelo de datos relacional.Se desea diseñar una base de datos para una comisaría de policía que recoja la información acerca de su funcionamiento.Se consideran los siguientes supuestos:•En la comisaría trabajan una serie de policías que tienen una cedula, nombre y categoría, ellos pueden desempeñar funcionesdistintas como administrativas, agentes etc.•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 un código único pertenece a una clase y tiene unnombre determinado.•Cada policía puede utilizar una o varias armas en un momento determinado. Es importante conocer el grado de habilidad(puntuación de 1 a 10) de cada policía con cada una de las armas que utiliza.•Un delincuente tiene una identificación, nombre y teléfono es arrestado por uno o más policías.•A cada delincuente que permanece en la comisaría se le encierra en un calabozo que tiene un código y una ubicación.
  41. 41. •En el calabozo pueden estar encerrados varios delincuentes.•Los delincuentes están involucrados en casos de los que se conocen el código del caso y el juzgado que los instruye); Interesasaber 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 casosPOLICIA NACIONALNOMBRE DE LATABLA: ARMADESCRIPCION DE LATABLA: FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato Foranea
  42. 42. a..z, NOTCODIGOARMA VARCHAR 25 0..9 NULL PK FK a..z, NOT requeridCEDULA varchar 25 0..9 NULL a a..z, NOTCLASE varchar 23 0..9 NULL NOTNOMBRE varchar 25 0..9 NULL 1:NLas relaciones Con Otras Tablas Entidad ( X )Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( )NOMBRE DE LATABLA: ARRESTARDESCRIPCION DE LATABLA: FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato Foranea a..z, NOTCOD_CASO VARCHAR 20 0..9 NULL PK FK a..z, NOT requeridCEDULA varchar 25 0..9 NULL a a..z, 0..9 0..9
  43. 43. Las relaciones Con Otras Tablas Entidad ( X )Las relaciones Con Otras Tablas Entidad ( X )1:N Relacion ( )NOMBRE DE LATABLA: CELDADESCRIPCION DE LATABLA: FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato Foranea a..z, NOTCODIGO_CELDA VARCHAR 25 0..9 NULL PK a..z, NOTUBICACION varchar 23 0..9 NULL a..z, NOT 0..9 NULL NOT 0..9 NULL1:NLas relaciones Con Otras Tablas Entidad ( X )Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( )NOMBRE DE LA DELICUENTTABLA: EDESCRIPCION DE LATABLA:
  44. 44. FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato ForaneaCEDULA_DELICUEN a..z, NOTTE VARCHAR 25 0..9 NULL PK FK a..z, NOT requeridCOD_CASO varchar 20 0..9 NULL a FK a..z, NOT requeridCODIGO_CELDA varchar 25 0..9 NULL a NOTNOMBRE varchar 23 0..9 NULLTELEFONO VARCHAR 23N:NLas relaciones Con Otras Tablas Entidad ( X )Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( )NOMBRE DE LATABLA: JEFESDESCRIPCION DE LATABLA: FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato ForaneaCEDULA VARCHAR 20 a..z, NOT PK
  45. 45. 0..9 NULL a..z, NOTNOMBRE_JEFE varchar 25 0..9 NULL a..z, NOTRANGO varchar 20 0..9 NULL NOTFUNCION varchar 20 0..9 NULL1:NLas relaciones Con Otras Tablas Entidad ( X )NOMBRE DE LATABLA: POLICIASDESCRIPCION DE LATABLA: FK Longitu Contenid Format requerid Nombre Tipo d o o Null Key a Atribut a Tabla Atributo Atributo o Dato Foranea
  46. 46. a..z, NOT CEDULA VARCHAR 25 0..9 NULL PK FK a..z, NOT requerid CEDULA_1 varchar 20 0..9 NULL a a..z, NOT NOMBRE varchar 24 0..9 NULL NOT CATEGORIA varchar 24 0..9 NULL FUNCIONES VARCHAR 23 HABILIDADARMAS VARCHAR 25N:NLas relaciones Con Otras Tablas Entidad ( X )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),
  47. 47. 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 ( 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 ),
  48. 48. FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA ) );CREATE TABLE DELICUENTE ( 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
  49. 49. ( COD_CASO ), FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA ) );MINI AEROPUERTOObtén el modelo ERE, relacional: Queremos hacer una aplicación para gestionar un pequeño aeropuerto. En este aeropuertotendremos aviones identificados por un número, cada avión puede ser de un tipo diferente identificado por un modelo, su peso ysu capacidad.Los aviones los guardamos en hangares que se identifican por un número, una capacidad 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 empleados trabajan paraciertos tipos de aviones. Los aviones son posesión de uno o varios propietarios interesándonos almacenar desde qué fecha loposeen.AVIONESALMACENA LA INFORMACION DE CADA AVION PILOTEADO, GUARDADO EN LOS ANGARES Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea Cadena a..z,NUMERO_AVION Caracteres 15 0..9 No PK Cadena a..z,MODELO_AVION Caracteres 4 0..9 No NumerosPESO_AVION Enteros enteros No Numeroscelular del alumno Enteros enteros No Entidad ( X )inscripcion (N:N) Relacion (
  50. 50. )HANGARESALMACENA LA INFORMACION DE CADAHANAR Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea Cadena a..z,NUMERO_HANGAR Caracteres 10 0..9 No PK Numeros a..z,CAPACIDAD_HANGAR Enteros 4 0..9 NoLOCALIZACION_HANGAR enteros No Entidad ( X ) Relacion (inscripcion (N:N) )
  51. 51. PERSONASALMACENA LA INFORMACION DE CADAPERSONA Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNSS Caracteres 12 0..9 No PK Cadena a..z,NOMBRE_PERSONA Caracteres 30 0..9 No Cadena a..z,APELLIDO_PERSONA Caracteres 30 0..9 No Cadena a..z, 12TELEFONO_PERSONA Caracteres 0..9 No Cadena a..z, 5ODIRECCION_PERSONA Caracteres 0..10 no Entidad ( X ) Relacion (inscripcion (1:N) )PARQUEARALMACENA LA INFORMACION DE CADA AVION PARQUEADO Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida
  52. 52. Atribut a Tabla Atributo Atributo o Dato Foranea YY- MM-FECHA_INGERESO Data time DD No YY- MM-FECHA_SALIDA Data time DD No Entidad ( )inscripcion (1:N) Relacion ( X )PILOTOALMACENA LA INFORMACION DE CADA AVION PARQUEADO Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNUMERO_LICENCIA Caracteres 12 0..9 No a..z,FECHA_SALIDA text 0..9 No CadenaNSS Caracteres 12 0..9 No PK Entidad ( X ) Relacion (inscripcion (N:N) )EMPLEADO
  53. 53. ALMACENA LA INFORMACION DE CADA EMPLEADO Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato ForaneaSALARIO_EMPLEADO Money NoTURNO_EMPLEADO Date time No CadenaNSS Caracteres 12 0..9 No PK Entidad ( X ) Relacion (inscripcion (N:N) )PROPIETARIOALMACENA LA INFORMACION DE CADA PROPIETARIO Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNSS Caracteres 12 0..9 No PK No Entidad ( X ) Relacion (inscripcion (N:N) )
  54. 54. PILOTEAR Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNUMERO_AVION Caracteres 15 0..9 No PK CadenaNSS Caracteres 12 0..9 No PK Entidad ( )inscripcion (N:N) Relacion ( X )TRABAJAR Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNUMERO_AVION Caracteres 15 0..9 No PKNSS Cadena 12 0..9 No PK
  55. 55. Caracteres Entidad ( )inscripcion (N:N) Relacion ( X )COMPRA Longitu Contenid Format FK Nombre Tipo d o o Null Key requerida Atribut a Tabla Atributo Atributo o Dato Foranea CadenaNUMERO_AVION Caracteres 15 0..9 No PK CadenaNSS Caracteres 12 0..9 No PK Entidad ( )inscripcion (N:N) Relacion ( X )
  56. 56. CREATE TABLE AVIONES ( NUMERO_AVION VARCHAR(15), TIPO_AVION CHAR(1), MODELO_AVION VARCHAR(4), PESO_AVION BIGINT, CAPACIDAD_AVION INT, PRIMARY KEY ( NUMERO_AVION ) );CREATE TABLE PERSONAS ( NSS VARCHAR(12), NOMBRE_PERSONA VARCHAR(30), APELLIDO_PERSONA VARCHAR(30), TELEFONO_PERSONA VARCHAR(12), DIRECCION_PERSONA VARCHAR(50), PRIMARY KEY ( NSS ) );CREATE TABLE HANGARES ( NUMERO_HANGAR VARCHAR(10), CAPACIDAD_HANGAR INT, LOCALIZACION_HANGAR TEXT, PRIMARY KEY ( NUMERO_HANGAR
  57. 57. ) );CREATE TABLE PILOTO ( NSS VARCHAR(12), NUMERO_LICENCIA VARCHAR(12), RESTRICCIONES_PILOTO TEXT, PRIMARY KEY ( NSS ), FOREIGN KEY ( NSS ) REFERENCES PERSONAS ( NSS ) );CREATE TABLE EMPLEADO ( NSS VARCHAR(12), SALARIO_EMPLEADO MONEY, TURNO_EMPLEADO DATETIME, PRIMARY KEY ( NSS ), FOREIGN KEY ( NSS ) REFERENCES PERSONAS ( NSS ) );CREATE TABLE PROPIETARIO ( NSS VARCHAR(12), PRIMARY KEY ( NSS ), FOREIGN KEY ( NSS
  58. 58. ) REFERENCES PERSONAS ( NSS ) );CREATE TABLE PARQUEAR ( NUMERO_HANGAR VARCHAR(10), NUMERO_AVION VARCHAR(15), FECHA_INGERESO DATETIME, FECHA_SALIDA DATETIME, PRIMARY KEY ( NUMERO_HANGAR, NUMERO_AVION ), FOREIGN KEY ( NUMERO_HANGAR ) REFERENCES HANGARES ( NUMERO_HANGAR ), FOREIGN KEY ( NUMERO_AVION ) REFERENCES AVIONES ( NUMERO_AVION ) );CREATE TABLE PILOTEAR ( NUMERO_AVION VARCHAR(15), NSS VARCHAR(12), PRIMARY KEY ( NUMERO_AVION, NSS ), FOREIGN KEY ( NUMERO_AVION ) REFERENCES AVIONES ( NUMERO_AVION ),
  59. 59. FOREIGN KEY ( NSS ) REFERENCES PILOTO ( NSS ) );CREATE TABLE TRABAJAR ( NSS VARCHAR(12), NUMERO_AVION VARCHAR(15), PRIMARY KEY ( NSS, NUMERO_AVION ), FOREIGN KEY ( NSS ) REFERENCES EMPLEADO ( NSS ), FOREIGN KEY ( NUMERO_AVION ) REFERENCES AVIONES ( NUMERO_AVION ) );CREATE TABLE COMPRA ( NSS VARCHAR(12), NUMERO_AVION VARCHAR(15), FECHA_COMPRA DATETIME, PRIMARY KEY ( NSS, NUMERO_AVION ), FOREIGN KEY ( NSS ) REFERENCES PROPIETARIO (
  60. 60. NSS ), FOREIGN KEY ( NUMERO_AVION ) REFERENCES AVIONES ( NUMERO_AVION ) );EMPEADOS Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o nea Cade naCODIGO_E Carac a..z, N PMPLEADO teres 15 0..9 o K Cade naNOMBRE_ Carac a..z, NEMPELADO teres 30 0..9 o CadeDIRECCION na a..z,_EMPELAD Carac 0..1 NO teres 20 0 o CadeTELEFONO na a..z,_EMPLEAD Carac 0..1 NO teres 12 1 o Entidad ( X )inscripcion Relacion ((N:1) )
  61. 61. SERVIIOS_PRESTADOS Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o nea Cade naCODIGO_S Carac a..z, N PERVICIO teres 2 0..9 o KPRECIO_PO Mone NR_MES y o CadeEMPRESA_ na a..z,CONTRATA Carac 0..1 NDORA teres 20 0 o Entidad ( X )inscripcion Relacion ((1:N) )EMPRESA_CLIENTE Nombre Tipo Lon Con For N K FK
  62. 62. git teni mat u e requ ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o nea Cade na Carac a..z, N PNIT teres 20 0..9 o K Cade na a..z,NOMBRE_ Carac 0..1 NEMPRESA teres 20 0 o Cade na a..z,DIRECCION Carac 0..1 N_EMPRESA teres 20 1 o Cade naTELEFONO Carac 0..1_EMPRESA teres 12 2 Entidad ( X )inscripcion Relacion ((1:N) )PROYECTOS Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida Atr a Atrib ibu Dat Tabl Atributo uto to o a
  63. 63. Fora nea Cade naCODIGO_P Carac a..z, N PROYECTO teres 20 0..9 o K Cade na a..z,NOMBRE_ Carac 0..1 NPROYECTO teres 20 0 o Cade na a..z,ESFUERZO_ Carac 0..1 NAL_MES teres 20 1 o Entidad ( X ) Relacion ( )DIRECTIVO Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o neaPERSONAL N P_A_CARGO Int 0..9 o K Cade naCODIGO_E Carac a..z, N PMPLEADO teres 15 0..9 o K
  64. 64. inscripcion Entidad ((1:N) X ) Relacion ( )PLANILLA Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o nea Cade naCODIGO_E Carac a..z, N PMPLEADO teres 15 0..9 o K Cade naESPECIALID Carac a..z, NAD teres 20 0..9 oinscripcion Entidad ((1:N) X ) Relacion ( )ESTRATEGICO
  65. 65. Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida a Tabl Atr a Atrib ibu Dat Fora Atributo uto to o nea Cade naCODIGO_E Carac a..z, N PMPLEADO teres 15 0..9 o K Cade naPLAZO_EJE Carac a..z, NCUCION teres 20 0..9 oinscripcion Entidad ((1:N) X ) Relacion ( )DESARROLLO Lon Con For N K FK git teni mat u e requ Nombre Tipo ud do o ll y erida Atr a Atrib ibu Dat Tabl Atributo uto to o a
  66. 66. Fora nea Cade na CODIGO_E Carac a..z, N P MPLEADO teres 15 0..9 o K PRESUPUE Mone N STO y o inscripcion Entidad ( (1:N) X ) Relacion ( ) PROYECTOSDado el siguiente enunciado obtén el modelo ERE, relacional.Una empresa de servicios quiere informatizar su gestión en lo referente su personal, proyectos y los servicios que presta a otrasempresas.Respecto al personal de la empresa, se almacenará un código asignado por el departamento de Recursos Humanos, el nombre,dirección y teléfono así como el tipo de actividad dentro de la empresa de servicios: directivo o plantilla. Únicamente aquelpersonal que realice funciones de directivo tendrá a su cargo personal. Interesa conocer qué directivo tiene a su cargo quépersonal. Hay que tener en cuenta que un directivo puede tener a su cargo a otros directivos y que cada persona de la empresasólo tiene un directivo como jefe directo. En cuanto al personal que aparece como plantilla, se almacenará además la especialidaden la que ejercerá sus funciones. Los directivos siempre tendrán personal a su cargo y todo empleado (ya sea de plantilla odirectivo) tendrá siempre jefe. Por último, el personal 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ódigo de proyecto, un nombre y el esfuerzo estimadoen personas-mes para realizarlo. Lo proyectos son de dos tipos: de desarrollo o estratégicos, sin embargo, en algunos casos, losproyectos de desarrollo pueden ser además, estratégicos. Si un proyecto es estratégico, se almacenará además el plazo deejecución estimado y si es de desarrollo, el presupuesto.Cada proyecto es gestionado por un directivo de la empresa siempre y cuando el proyecto sea estratégico. No puede haberproyectos de este tipo sin directivo asignado. Esto no significa que todo directivo tenga un proyecto bajo su dirección. En casoque el proyecto sea de desarrollo, se almacenará qué personal de plantilla participa en dicho proyecto y el tanto por ciento dededicación. Una persona de plantilla puede estar asignada a ninguno o muchos proyectos.Respecto a los servicios que se prestan a otras empresas, la política de esta empresa en considerar a parte del personal de plantillacomo un servicio lo mismo se puede decir de los proyectos de desarrollo: algunos son servicios prestados a otras empresas. Deestos servicios se almacenará el código de servicio y el precio por mes. También se almacenará la empresa para la que se ofreceel 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 elnombre, nit, dirección, teléfono.EMPEADOS
  67. 67. Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_EMPLEADO Cadena Caracteres 15 a..z, 0..9 No PKNOMBRE_EMPELADO Cadena Caracteres 30 a..z, 0..9 NoDIRECCION_EMPELADO Cadena Caracteres 20 a..z, 0..10 NoTELEFONO_EMPLEADO Cadena Caracteres 12 a..z, 0..11 No Entidad ( X ) Relacion (inscripcion (N:1) )SERVIIOS_PRESTADOS Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_SERVICIO Cadena Caracteres 2 a..z, 0..9 No PKPRECIO_POR_MES Money NoEMPRESA_CONTRATADORA Cadena Caracteres 20 a..z, 0..10 No Entidad ( X ) Relacion (inscripcion (1:N) )
  68. 68. EMPRESA_CLIENTE Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaNIT Cadena Caracteres 20 a..z, 0..9 No PKNOMBRE_EMPRESA Cadena Caracteres 20 a..z, 0..10 NoDIRECCION_EMPRESA Cadena Caracteres 20 a..z, 0..11 NoTELEFONO_EMPRESA Cadena Caracteres 12 0..12 Entidad ( X ) Relacion (inscripcion (1:N) )PROYECTOS Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PROYECTO Cadena Caracteres 20 a..z, 0..9 No PKNOMBRE_PROYECTO Cadena Caracteres 20 a..z, 0..10 NoESFUERZO_AL_MES Cadena Caracteres 20 a..z, 0..11 No Entidad ( X ) Relacion ( )
  69. 69. DIRECTIVO Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaPERSONAL_A_CARGO Int 0..9 No PKCODIGO_EMPLEADO Cadena Caracteres 15 a..z, 0..9 No PK Entidad ( Xinscripcion (1:N) ) Relacion ( )PLANILLA Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_EMPLEADO Cadena Caracteres 15 a..z, 0..9 No PKESPECIALIDAD Cadena Caracteres 20 a..z, 0..9 No Entidad ( Xinscripcion (1:N) ) Relacion ( )
  70. 70. ESTRATEGICO Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_EMPLEADO Cadena Caracteres 15 a..z, 0..9 No PKPLAZO_EJECUCION Cadena Caracteres 20 a..z, 0..9 No Entidad ( Xinscripcion (1:N) ) Relacion ( )DESARROLLO Nombre Tipo Longitud Contenido Formato Null Key FK requer a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_EMPLEADO Cadena Caracteres 15 a..z, 0..9 No PKPRESUPUESTO Money No Entidad ( Xinscripcion (1:N) ) Relacion ( )
  71. 71. CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20), PRIMARY KEY (
  72. 72. 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 ) REFERENCES EMPRESA_CLIENTE ( NIT ) );
  73. 73. 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 ( CODIGO_EMPLEADO ) );
  74. 74. 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 )
  75. 75. 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 ) );ALBAÑILDado el siguiente enunciado, obtén el modelo entidad-relación extendido, relacional.Una empresa dedicada a la realización de reformas y construcciones en general maneja la siguiente información para llevar partede su negocio.La empresa dispone de albañiles en plantilla de los que almacena, entre otras cosas, 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íasprofesionales en las que clasifica a los albañiles son Maestro y Peón, pudiendo haber otras categorías. Si un albañil tiene lacategoría de Maestro almacena el dni y el sueldo. Si es Peón Albañil almacena, el dni y el sueldo en el caso de ser denacionalidad española, y el país de origen y sueldo si es extranjero. Obviamente un albañil sólo puede pertenecer a una categoría.
  76. 76. Los albañiles en plantilla están agrupados en cuadrillas propias de la empresa (un albañil debe encontrarse en una y solo unacuadrilla) de las que se almacena un código interno, nombre (que también la identifica) y localidad principal de actuación.ALBAÑIL Nombre Tipo Longitud Formato Null Key Atributo Atributo Atributo Dato CadenaDNI_ALBAÑIL Caracteres 20 a..z, 0..9 No PK CadenaNUMERO_S_SOCIAL Caracteres 20 a..z, 0..9 No CadenaNOMBRE Caracteres 15 a..z, 0..10 No CadenaAPELLIDO Caracteres 15 a..z, 0..11 NoFECHA_NACIMIENTO Datetime YY-MM-DD No CadenaTELEFONO_FIJO Caracteres 10 0..9 No CadenaTELEFENO_CELULAR Caracteres 10 0..10 No Entidad ( X ) Relacion (inscripcion (N:1) ) Nombre Tipo Longitud Formato Null Key Atributo Atributo Atributo Dato CadenaCODIGO_INTERNO Caracteres 15 a..z, 0..9 No PK CadenaNOMBRE_CUADRILLA Caracteres 15 a..z, 0..9 NoLOCALIDAD_PRINCIPAL Text a..z, 0..10 No Entidad ( X ) Relacion (inscripcion (1:N) )
  77. 77. Nombre Tipo Longitud Formato Null Key Atributo Atributo Atributo DatoSUELDO Money No CadenaDNI_ALBAÑIL Caracteres 20 a..z, 0..9 No PK Entidad ( ) Relacion ( )PEON Nombre Tipo Longitud Formato Null Key Atributo Atributo Atributo Dato CadenaDNI_ALBAÑIL Caracteres 20 a..z, 0..9 No PK CadenaNACIONALIDAD Caracteres 20 a..z, 0..9 No Entidad ( ) Relacion ( )
  78. 78. GAFASDado 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 una base de datos para la automatización de susprocesos. La información 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 código de producto (que esúnico), su precio de venta y su marca. 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 su graduación. Para las gafas, se desea también almacenar su modelo, elmaterial de fabricación.Se debe tener en cuenta que la empresa dispondrá de gafas graduadas, de gafas de sol y de gafas de sol graduadas. De las gafasgraduadas, interesa conocer su graduació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 de filtrado de los rayos ultravioleta.Hay que tener en cuenta además que queremos gestionar las personas que han comprado gafas en nuestro establecimiento, paraestas personas almacenaremos un código y el nombre. Además cada persona pertenece a un tipo (habitual, ocasional...) yqueremos almacenar para cada tipo de usuarios que descuentos se aplican en las gafas de sol.CREATE TABLE PERSONAS (
  79. 79. CODIGO_PERSONA VARCHAR(12), NOMBRE_PERSONA VARCHAR(15), PRIMARY KEY ( CODIGO_PERSONA ) );CREATE TABLE PRODUCTOS ( CODIGO_PRODUCTO VARCHAR(20), CODIGO_PERSONA VARCHAR(12), PRECIO_PRODUCTO MONEY, MARCA_PRODUCTO VARCHAR(20), PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PERSONA ) REFERENCES PERSONAS ( CODIGO_PERSONA ) );CREATE TABLE LENTES ( CODIGO_PRODUCTO VARCHAR(20), TIPO VARCHAR(10), COLOR VARCHAR(10), GRADUACION VARCHAR(15), LIMPIEZA VARCHAR(15), PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES PRODUCTOS ( CODIGO_PRODUCTO ) );CREATE TABLE GAFAS (

×