Base de datos itfip ortegon y triana

  • 3,078 views
Uploaded on

TRABAJO DE MODELO ENTIDAD RELACION, ESTUDIANTES DE SISTEMAS …

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,078
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
120
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ( 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. 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. 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. );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. ( 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. 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. 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. ( 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. 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. ) 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. 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. 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. 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. 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. null notcelular varchar 15 null notcorreo varchar 20 null notsalariomensual varchar 20 nullLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )PRESTAMOS
  • 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. 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. ), 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. •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. 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. 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. 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. 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. 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. 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. 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. ( 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. )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. 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. 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. 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. 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. 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. 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. ) );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. ) 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20), PRIMARY KEY (
  • 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. 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. 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. 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. 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. 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. 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. 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 (
  • 80. CODIGO_PRODUCTO VARCHAR(20), MODELO VARCHAR(15), MATERIAL VARCHAR(15), PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES PRODUCTOS ( CODIGO_PRODUCTO ) );CREATE TABLE GAFAS_GRADUADAS ( CODIGO_PRODUCTO VARCHAR(20), GRADUACION VARCHAR(15), TIPO_PROBLEMA VARCHAR(15), PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES GAFAS ( CODIGO_PRODUCTO ) );CREATE TABLE GAFAS_SOL ( CODIGO_PRODUCTO VARCHAR(20), NIVEL_FILTRO VARCHAR(5), PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES GAFAS ( CODIGO_PRODUCTO ) );
  • 81. CREATE TABLE GAFAS_SOL_GRADUADAS ( CODIGO_PRODUCTO VARCHAR(20), NIVEL_GRADUAION BIGINT, PRIMARY KEY ( CODIGO_PRODUCTO ), FOREIGN KEY ( CODIGO_PRODUCTO ) REFERENCES GAFAS ( CODIGO_PRODUCTO ) );PRODUCTOS Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKPRECIO_PRODUCTO Money NoMARCA_PRODUCTO Cadena Caracteres 20 a..z, 0..10 No Entidad ( X ) Relacion (inscripcion (1:N) )LENTES Nombre Tipo Longitud Contenido Formato Null Key FK requerida Atributo Atributo Atributo Dato a Tabla
  • 82. ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKTIPO Cadena Caracteres 10 a..z, 0..9 NoCOLOR Cadena Caracteres 10 a..z, 0..10 NoLIMPIEZA Cadena Caracteres 15 a..z, 0..10 NoGRADUACION Cadena Caracteres 15 a..z, 0..11 No Entidad ( ) Relacion (inscripcion (1:N) )GAFAS Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKMODELO Cadena Caracteres 15 a..z, 0..9 NoMATERIAL Cadena Caracteres 15 a..z, 0..10 No Entidad ( ) Relacion (inscripcion (1:N) )GAFAS_GRADUADAS Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PK
  • 83. GRADUACION Cadena Caracteres 15 a..z, 0..9 NoTIPO_PROBLEMA Cadena Caracteres 15 a..z, 0..10 No Entidad ( ) Relacion (inscripcion (1:N) )GAFAS_SOL Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKNIVEL_FILTRO Cadena Caracteres 5 a..z, 0..9 No Entidad ( ) Relacion (inscripcion (1:N) )GAFAS_SOL_GRADUADAS Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKNIVEL_GRADUAION Bining No Entidad ( ) Relacion (inscripcion (1:N) )
  • 84. PERSONAS Nombre Tipo Longitud Contenido Formato Null Key FK requerida a Tabla Atributo Atributo Atributo Dato ForaneaCODIGO_PERSONA Cadena Caracteres 12 a..z, 0..9 No PKNOMBRE_PERSONA Cadena Caracteres 15 a..z, 0..10 NoTIPO_CLIENTE Cadena Caracteres 20 a..z, 0..11 No Entidad ( ) Relacion (inscripcion (1:N) )
  • 85. TRANSITO(MULTAS) Imagina que una agencia de seguros de tu municipio te ha solicitado una base de datos mediante la cual llevar un control de los accidentes y las multas. Tras una serie de entrevistas, has tomado las siguientes notas: "Se desean registrar todas las personas que tienen un vehículo. Es necesario guardar los 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 persona puede tener varios vehículos, y puede darse el caso de un vehículo pertenezca a varias personas a la vez. También se desea incorporar la información destinada a gestionar los accidentes del municipio. Cada accidente posee un número de referencia correlativo según orden de entrada a la base de datos. Se desea conocer la fecha, lugar y hora en que ha tenido lugar cada accidente. Se debe tener en cuenta que un accidente puede involucrar a varias personas y varios 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 un conductor e involucra a un solo vehículo." Realiza el modelo E-R y pásalo al modelo relacional.MULTAS
  • 86. NOMBRE DE LA TABLA: INVOLUCRARDESCRIPCION DE LA TABLA: Nombre Tipo Longitud Formato Null Key FK requerida Auto a Tabla Atributo Atributo Atributo Dato ForaneaHORA datetime a..z, 0..9 NOT NULL PKMATRICULA varchar 20 a..z, 0..9 NOT NULLDNI varchar 20 a..z, 0..9 NOT NULL 0..9 NOT NULL NOT NULLLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( 1:N )NOMBRE DE LA TABLA: MULTASDESCRIPCION DE LA TABLA: Nombre Tipo Longitud Formato Null Key FK requerida Auto a Tabla Atributo Atributo Atributo Dato ForaneaCONCECUTIVODEMULTA bigint 20 a..z, 0..9 NOT NULL PKDNI varchar 22 a..z, 0..9 NOT NULL FK requeridaFECHAYHORA datetime a..z, 0..9 NOT NULLLUGARINFRACION varchar 22 0..9 NOT NULL NOT NULLLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( 1:N )
  • 87. NOMBRE DE LA TABLA: PERSONASDESCRIPCION DE LA TABLA: Nombre Tipo Longitud Formato Null Key FK requerida Auto a Tabla Atributo Atributo Atributo Dato ForaneaDNI VARCHAR 20 a..z, 0..9 NOT NULL PKNOMBRE varchar 20 a..z, 0..9 NOT NULLDIRECCION varchar 20 a..z, 0..9 NOT NULLCIUDAD varchar 20 0..9 NOT NULLTIPODEPERSONAS varchar 20 NOT NULLAPELLIDOS varchar 20 not nullTELEFONO VARCHAR 20 not nullLas relaciones Con Otras Tablas Entidad ( X ) Relacion ( )NOMBRE DE LA TABLA: POSEERDESCRIPCION DE LA TABLA: Nombre Tipo Longitud Formato Null Key FK requerida Auto a Tabla Atributo Atributo Atributo Dato ForaneaTARJETA_DE_PROPIEDAD VARCHAR 14 a..z, 0..9 NOT NULL PKCIUDAD_DE_EXPEDICION varchar 15 a..z, 0..9 NOT NULL FK requeridaMATRICULA varchar 20 a..z, 0..9 NOT NULL FK requeridaDNI varchar 20 0..9 NOT NULL FK requerida
  • 88. Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( N:N )NOMBRE DE LA TABLA: VEHICULOSDESCRIPCION DE LA TABLA: Nombre Tipo Longitud Formato Null Key FK requerida Auto a Tabla Atributo Atributo Atributo Dato ForaneaMATRICULA VARCHAR 22 a..z, 0..9 NOT NULL PKMARCA varchar 22 a..z, 0..9 NOT NULLMODELO varchar 22 a..z, 0..9 NOT NULL 0..9Las relaciones Con Otras Tablas Entidad ( X ) Relacion ( )
  • 89. CREATE TABLE VEHICULOS ( MATRICULA CHAR(25), MARCA BIGINT, MODELO NTEXT, PRIMARY KEY ( MATRICULA ) );
  • 90. CREATE TABLE PERSONAS ( DNI BIGINT, NOMBRE NTEXT, DIRECCION NTEXT, CIUDAD NTEXT, TIPODEPERSONAS NTEXT, APELLIDOS NTEXT, TELEFONO NTEXT, PRIMARY KEY ( DNI ) );CREATE TABLE MULTAS ( CONCECUTIVODEMULTAS BIGINT, DNI BIGINT, FECHAYHORA DATETIME, LUGARINFRACION NTEXT, PRIMARY KEY ( CONCECUTIVODEMULTAS ), FOREIGN KEY ( DNI ) REFERENCES PERSONAS ( DNI ) );
  • 91. CREATE TABLE POSSER ( TARJETA_DE_PROPIEDAD VARCHAR(14), MATRICULA CHAR(25), DNI BIGINT, CIUDAD_DE_EXPEDICION VARCHAR(15), /* /* CIUDAD_DE_EXPEDICION */ */ PRIMARY KEY ( TARJETA_DE_PROPIEDAD, MATRICULA, DNI ), FOREIGN KEY ( MATRICULA ) REFERENCES VEHICULOS ( MATRICULA ), FOREIGN KEY ( DNI ) REFERENCES PERSONAS ( DNI ) );CREATE TABLE INVOLUCRAR ( HORA DATETIME, MATRICULA CHAR(25), DNI BIGINT, PRIMARY KEY ( HORA, MATRICULA, DNI
  • 92. ), FOREIGN KEY ( MATRICULA ) REFERENCES VEHICULOS ( MATRICULA ), FOREIGN KEY ( DNI ) REFERENCES PERSONAS ( DNI ) ); DEPARTAMENTOS"Una empresa necesita organizar la siguiente información referente a su organización interna.La empresa está organizada en una serie de departamentos. Cada departamento tiene un código, nombre y presupuesto anual.Cada departamento está ubicado en un centro de trabajo. La información que se desea guardar del centro de trabajo es el códigode centro, nombre, población y dirección del centro.La empresa tiene una serie de empleados. Cada empleado tiene un teléfono, fecha de alta en la empresa, NIF y nombre. De cadaempleado también interesa saber el número de hijos que tiene y el salario de cada empleado.A esta empresa también le interesa tener guardada información sobre los hijos de los empleados. Cada hijo de un empleadotendrá un código, nombre y fecha de nacimiento.Se desea mantener también información sobre las habilidades de los empleados (por ejemplo, mercadotecnia, trato con el cliente,fresador, operador de telefonía, etc?). Cada habilidad tendrá una descripción y un código".Sobre este supuesto diseñar el modelo E/R y el modelo relacional teniendo en cuenta los siguientes aspectos.Un empleado está asignado a un único departamento. Un departamento estará compuesto por uno o más empleados.Cada departamento se ubica en un único centro de trabajo. Estos se componen de uno o más departamentos.Un empleado puede tener varios hijos.Un empleado puede tener varias habilidades, y una misma habilidad puede ser poseída por empleados diferentes.Un centro de trabajo es dirigido por un empleado. Un mismo empleado puede dirigir centros de trabajo distintos.HOTELESSe trata de realizar el diseño de la base de datos en el modelo E/R para una cadena de hoteles."Cada hotel (del que interesa almacenar su nombre, dirección, teléfono, año de construcción, etc.) se encuentra clasificado
  • 93. obligatoriamente en una categoría (por ejemplo, tres estrellas) pudiendo bajar o aumentar de categoría.Cada categoría tiene asociada diversas informaciones, como, por ejemplo, el tipo de IVA 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 puedaidentificar fácilmente la planta en la que se encuentran. 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 la reserva 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 de que la reserva la realiza una agencia deviajes, se necesitarán los mismos datos que para 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 fecha de inicio y la fecha de fin de la reserva".
  • 94. SCRIPTcreate table categoria ( nivel varchar(15), iva money,
  • 95. descripcion text, primary key ( nivel ) ) Engine=innodb;create table personas ( cedula int, nombre varchar(15), apellidos varchar(15), direccion varchar(15), telefono int, primary key ( cedula ) ) Engine=innodb;create table agencias_de_viajes ( nit_a_v int, nombre varchar(15), direccion varchar(10), telefono int, ciudad nvarchar(15), primary key ( nit_a_v ) ) Engine=innodb;create table hoteles ( nit int,
  • 96. nivel varchar(15), nombre varchar(15), direccion varchar(14), año_de_construccion int, primary key ( nit ), foreign key ( nivel ) references categoria ( nivel ) )engine=innodb;create table habitacion ( codigo_habitacion int, nit int, tipos_de_habitaciones varchar(16), primary key ( codigo_habitacion ), foreign key ( nit ) references hoteles ( nit ) )engine=innodb;create table reservas
  • 97. (numero_reservas int,nit int,cedula int,nit_a_v int,fecha_ingreso datetime,fecha_salida datetime,hora_ingreso datetime,primary key ( numero_reservas ),foreign key ( nit ) references hoteles ( nit ),foreign key ( cedula ) references personas ( cedula ),foreign key ( nit_a_v ) references agencias_de_viajes ( nit_a_v ))engine=innodb; HOTEL PIJAOS
  • 98. NOMBRE DE LA TABLA: AGENCIA_DE_VIAJESDESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato Foranea NOTNIT_A_V INT 11 a..z, 0..9 NULL PK NOTNOMBRE varchar 15 a..z, 0..9 NULL NOTDIRECCION varchar 10 a..z, 0..9 NULLTELEFONO INT 11 0..9 NULL NOTCIUDAD varchar 25 NULLLas relaciones Con Otras Tablas Entidad ( X ) inscripcion Relacion ( (1:N) ) N:1NOMBRE DE LA TABLA: CATEGORIADESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato Foranea NOTNIVEL VARCHAR 15 a..z, 0..9 NULL PK NOTIVA varchar 11 a..z, 0..9 NULL NOTDESCRIPCION TEXT a..z, 0..9 NULL
  • 99. Las relaciones Con Otras Tablas Entidad ( X ) inscripcion (1:N) Relacion ( ) N:1NOMBRE DE LA TABLA: HABITACIONDESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato Foranea NOTCODIGO_HABITACION INT 11 a..z, 0..9 NULL PK NOT FKNIT INT 11 a..z, 0..9 NULL requerida NOTTIPOS_DE_HABITACIONES varchar 16 a..z, 0..9 NULL 0..9Las relaciones Con Otras Tablas Entidad ( X ) inscripcion (1:N) Relacion ( ) N:N
  • 100. NOMBRE DE LA TABLA: HOTELESDESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato Foranea NOTNIT INT 11 a..z, 0..9 NULL PK NOT FKNIVEL varchar 15 a..z, 0..9 NULL requerida NOTNOMBRE varchar 15 a..z, 0..9 NULL NOTDIRECCION varchar 14 0..9 NULL NOTAnO_DE_CONSTRUCCION DATETIME NULLLas relaciones Con Otras Tablas Entidad ( X ) inscripcion (1:N) Relacion ( ) N:N
  • 101. NOMBRE DE LA TABLA: PERSONASDESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato Foranea NOTCEDULA INT 11 a..z, 0..9 NULL PK NOTNOMBRE varchar 15 a..z, 0..9 NULL NOTAPELLIDOS varchar 35 a..z, 0..9 NULL NOTDIRECCION varchar 25 0..9 NULLTELEFONO INT 11 NULLLas relaciones Con Otras Tablas Entidad ( X ) inscripcion (1:N) Relacion ( ) N:1NOMBRE DE LA TABLA: RESERVASDESCRIPCION DE LATABLA: FK Nombre Descricion Tipo Longitud Contenido Formato Null Key requerida a Tabla Atributo Atributo Atributo Atributo Dato ForaneaNUMERO_RESERVAS INT 11 a..z, 0..9 PK FKNIT INT 11 a..z, 0..9 requerida FKCEDULA INT 11 a..z, 0..9 requeridaNIT_A_V INT 11 0..9 FK
  • 102. requeridaFECHA_INGRESO DATETIMEFECHA_SALIDA DATETIMEHORA_INGRESO DATETIMELas relaciones Con Otras Tablas Entidad ( X ) inscripcion (1:N) Relacion ( ) N:N EQUIPO DE FUTBOL (SIN ENUNCIADO)DICCIONARIO DE DATOS EQUIFUTBOL ONOMBRE DE LATABLA: equiposDESCRIPCION DELA TABLA: FK Descricio Format requerid Nombre n Tipo Longitud o Null Key a a Tabla Atributo Atributo Atributo Atributo Dato Foranea VARCHA a..z, notCODIGO_EQUIPO R 5 0..9 null PK FKDNI a..z, not requerid varchar 6 0..9 null a a..z, notNOM_EQUIPO varchar 35 0..9 null notNOM_ESTADIO varchar 35 0..9 null notAFORO varchar 55 nullAnO_FUNDADO bigint 20CIUDAD_EQUIPO varchar 25 not
  • 103. nullN:nLas relaciones Con OtrasTablas Entidad ( X ) inscripcio n (1:N) Relacion ( )NOMBRE DE LATABLA: golesDESCRIPCION DELA TABLA: FK Descricio Format requerid Nombre n Tipo Longitud o Null Key a a Tabla Atributo Atributo Atributo Atributo Dato Foranea VARCHA a..z,CODIGO_JUG R 5 0..9 not PK FK a..z, requeridCOD_PARTIDO bigint 20 0..9 a a..z,MINUTO_GOL datetime 0..9DESCRIPCION_GOL varchar 50 0..9 notN:NLas relaciones Con OtrasTablas Entidad ( X ) inscripcio n (1:N) Relacion ( )NOMBRE DE LATABLA: jugadores
  • 104. DESCRIPCION DELA TABLA: FK Descricio Format requerid Nombre n Tipo Longitud o Null Key a a Tabla Atributo Atributo Atributo Atributo Dato Foranea VARCHA a..z, NOTCODIGO_JUG R 5 0..9 NULL PK FK a..z, NOT requeridCODIGO_EQUIPO varchar 5 0..9 NULL a a..z, NOTNOMBRE varchar 50 0..9 NULLFECHA_NAC datetime 0..9 NOTPOSICION varchar 25 NULLN:NLas relaciones Con OtrasTablas Entidad ( X ) inscripcio n (1:N) Relacion ( )NOMBRE DE LATABLA: partidosDESCRIPCION DELA TABLA: FK Descricio Format requerid Nombre n Tipo Longitud o Null Key a a Tabla Atributo Atributo Atributo Atributo Dato Foranea a..z,COD_PARTIDO bigint 20 0..9 PK a..z,FECHA_PARTIDO datetime 0..9GOLES_AFAVOR bigint 20 a..z,
  • 105. 0..9GOLES_CONTRA bigint 20 0..9I:NLas relaciones Con OtrasTablas Entidad ( X ) inscripcio n (1:N) Relacion ( )NOMBRE DE LA PRESIDENTTABLA: EDESCRIPCION DELA TABLA: FK Descricio Format requerid Nombre n Tipo Longitud o Null Key a a Tabla Atributo Atributo Atributo Atributo Dato Foranea VARCHA a..z, NOTDNI R 6 0..9 NULL PK a..z, NOTNOMBRE varchar 50 0..9 NULL a..z, NOTAPELLIDOS varchar 50 0..9 NULLFEC_NACIMIENTO datetime 0..9 NOTEQUIPO_PRESIDE varchar 25 NULL VARCHA NOTAnO_ELECCION R 22 NULL1:NLas relaciones Con OtrasTablas Entidad ( X ) inscripcio Relacion ( )
  • 106. n (1:N)CREATE TABLE PARTIDOS ( COD_PARTIDO BIGINT, FECHA_PARTIDO DATETIME, GOLES_AFAVOR BIGINT, GOLES_CONTRA BIGINT, PRIMARY KEY
  • 107. ( 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 ), FOREIGN KEY ( DNI ) REFERENCES PRESIDENTE (
  • 108. 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 ), FOREIGN KEY (
  • 109. CODIGO_JUG ) REFERENCES JUGADORES ( CODIGO_JUG ),FOREIGN KEY ( COD_PARTIDO ) REFERENCES PARTIDOS ( COD_PARTIDO ));
  • 110. CONCLUSIONESPor medio de este trabajo, se dió a conocer los términos de Entidad Relación,se planteó problemas, yse lograron sus respectivas soluciones. Adicional setrabajó con los comandos de creaciónBase de Datos; anexamos variosdiccionarios para saber que tipo de dato contiene cada atributo, y susrespectivas llaves primarias y foráneas.