base de datos itfip ortegon y triana
Post on 01-Jun-2015
3.263 Views
Preview:
DESCRIPTION
TRANSCRIPT
MODELO ENTIDAD RELACIONAL
SEBASTIAN ORTEGON OSPINA
JHONATAN TRIANA MARIN
ALUMNOS
NAYIBE SORAYA LEON
DOCENTE
INSTITUTO TOLIMENSE DE FORMACION TECNICA PROFESIONAL-ITFIP
BASE DE DATOS
SISTEMAS lll
ESPINAL-TOLIMA
2012
INTRODUCCION
El presente trabajo pretende ser una modesta investigación de un tema de gran importancia en los sistemas de información, los cuales daremos a conocer algunos problemas con sus respectivas soluciones, por medio del modelo de entidad relación, modelo relación y daremos un script en el cual esta creada unas pequeñas bases de datos en MYSQL.
Las ideas expuestas y las cuestiones tratadas en el trabajo no son más que informaciones adoptadas inicialmente mostraremos que es un modelo entidad relación y daremos el enunciado del programa que se requiere, con su respectivo desarrollo, trabajaremos con una herramienta CASE.
OBJETIVOS
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
El modelo de datos entidad-relación está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos.
Entidad
Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se
diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma
entidad.
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).
Atributos
Los atributos son las características que definen o identifican a una entidad. Estas pueden ser
muchas, y el diseñador solo utiliza o implementa las que considere más relevantes. Los atributos
son las propiedades que describen a cada entidad en un conjunto de entidades.
Relación
Describe 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, un huésped (entidad), se aloja (relación) en una habitación (entidad).
Correspondencia de cordialidades
Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la
correspondencia de cardinalidad indica el número de entidades con las que puede estar
relacionada una entidad dada.
Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la correspondencia de
cardinalidades 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).
Claves
Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite
identificar 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 para
lograr 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
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 realiza el viaje y otros datos. Un viajero puede realizar tantos viajes como desee con la agencia. Un viaje determinado sólo puede ser cubierto por un viajero.
Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos se quiere almacenar el código, nombre y otros datos que puedan ser de interés. Un viaje tiene un único lugar de destino y un único lugar de origen".
DICCIONARIO DE DATOS destino viaje
NOMBRE DE LA TABLA: agencia
DESCRIPCION DE LA TABLA:
NombreDescricion Tipo Longitud
Contenido
Formato Null Key
FK requerida
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
DNI varchar 25a..z, 0..9
not null PK
NOMBRE varchar 25a..z, 0..9
not null
DIRECCION varchar 32a..z, 0..9
not null
TELEFONO varchar 23 0..9 null
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N)
Relacion ( N:N ) n:1
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: destino
DESCRIPCION DE LA TABLA:
NombreDescricion Tipo Longitud
Contenido
Formato Null Key
FK requerida
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGODESTINO varchar 14
a..z, 0..9
not null PK
CODIGO varchar 30a..z, 0..9
not null
FK requerida
NOMBRE_DSTINO varchar 14
a..z, 0..9
not null
0..9
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( N:N )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA:
lug_origen
DESCRIPCION DE LA TABLA:
NombreDescricion Tipo Longitud
Contenido
Formato Null Key
FK requerida
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODI_ORIGEN varchar 14a..z, 0..9
not null PK
CODIGO varchar 30 a..z, 0..9
not null
FK requerid
a
NOMBRE_ORI varchar 18a..z, 0..9
not null
0..9
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( N:N )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: viaje
DESCRIPCION DE LA TABLA:
NombreDescricion Tipo Longitud
Contenido
Formato Null Key
FK requerida
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO varchar 30a..z, 0..9
not null PK
DNI varchar 25a..z, 0..9
not null
FK requerida
NUM_PLAZAS varchar 14a..z, 0..9
not null
FECHAVIAJE date 0..9
CODI_ORIGEN varchar 24not null
CODIGODESTINO varchar 25not null
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( N:N )
MODELO RELACIONAL
SCRIPT SQL
create 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), 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 ( codigo ) );
MECANICO
A 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 una ficha 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 el nú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ánico repara 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 el número de horas que se tardado en arreglar cada automóvil".
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: CLIENTE
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
DNI VARCHAR 25a..z, 0..9
not null PK
NOMBRE VARCHAR 25a..z, 0..9
not null
APELLIDOS VARCHAR 25a..z, 0..9
not null
DIRECCION VARCHAR 25 0..9not null
TELEFONO VARCHAR 25
Las relaciones Con Otras TablasEntidad ( X )
Relacion ( ) N:1
DICCIONARIO DE DATOS
AUTONOMBRE DE LA TABLA:
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
matricula varchar 25a..z, 0..9
not null PK
dni varchar 25a..z, 0..9
not null
FK requerida
modelo varchar 25a..z, 0..9
not null
marca varchar 25 0..9not null
color varchar 25not null
Las relaciones Con Otras TablasEntidad ( X )
Relacion ( )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: MECANICO
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
DNI_MECANICO VARCHAR 25a..z, 0..9
not null PK
NOMBRE VARCHAR 25a..z, 0..9
not null
APELLIDOS VARCHAR 25a..z, 0..9
not null
FECHA_CONTRATACION DATE 25 0..9
not null
SALARIO INT 25not null
FECHA_DEMORA VARCHAR 25 not null
TIEMPO AREGLANDOEntidad ( X )
Relacion ( )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: NUEVO
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
MATRICULA VARCHAR 25a..z, 0..9
not null PK
UNIDADESDISPONIBLES VARCHAR 23
a..z, 0..9
not null
a..z, 0..90..9
Las relaciones Con Otras TablasEntidad ( X )
Relacion ( )
DICCIONARIO DE DATOS
VIEJONOMBRE DE LA TABLA:
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
MATRICULA VARCHAR 25a..z, 0..9
not null PK
KILOMETROSRECORRIDOS VARCHAR 25
a..z, 0..9
not null
a..z, 0..90..9
Las relaciones Con Otras TablasEntidad ( X )
Relacion ( ) N:1
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA:
DESCRIPCION DE LA TABLA:
Nombre Tipo LongitudContenido
Formato Null
Key
FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
MATRICULA_REPARA VARCHAR 25a..z, 0..9
not null PK
DNI_MECANICO VARCHAR 25a..z, 0..9
not null
FK requerida
a..z, 0..90..9
Las relaciones Con Otras TablasEntidad ( 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 ( 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 ) );
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.
Cada aparato electrónico viene determinado por un Código único y una descripción. Además cada aparato corresponde a un tipo de electrodomésticos (a lo sumo).
Cada tipo de electrodoméstico (televisor, mp3, lavadora, etc.) tiene un nombre y unas características (un campo de texto). Se supone 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 unas especificaciones (un campo de texto).
También nos interesa conocer datos de los fabricantes de componentes: Su CIF (único) y su domicilio social.
Cada aparato puede llevar cualquier cantidad de componentes. Interesa saber para cada aparato que componentes lleva y que fabricante suministra cada componente. Un aparato puede llevar muchas unidades de un mismo componente (interesa saber cuántas), pero en este caso todas estarán suministradas por el mismo fabricante y con un mismo precio.
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: COMPONENTE
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
codigo_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 null
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N
)
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: FABRICANTE
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
cif varchar 25 a..z, 0..9 not null PKdomiciliosocial varchar 56 a..z, 0..9 not null
a..z, 0..90..9
Las relaciones Con Otras Tablas Entidad ( X )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: COMPONENTES
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
codigo_compo varchar 23 a..z, 0..9 not null PKcodigo varchar 23 a..z, 0..9 not null FK requerida
a..z, 0..90..9
Las relaciones Con Otras Tablas Entidad ( X )
Relacion ( N:N )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: TIPOELECTRODOMESTICO
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
codigo_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..9
Las relaciones Con Otras Tablas Entidad ( X )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: APARATO
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
codigo 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..9
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N )
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),
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
( 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 la compañía es responsable de las ventas en una o más áreas. Cada área tiene uno o más agentes como responsables de las ventas que se realicen en ella. Cada agente es responsable de la venta de uno o más productos y cada producto tiene uno o más agentes responsables de su venta. Un producto se vende en todas las áreas y en un área se pueden vender todos los productos.
CREATE TABLE PERSONA ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) );
CREATE TABLE CLIENTE ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) );
CREATE TABLE EMPLEADO ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( NIT ) );
CREATE TABLE PROVEDOR ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( 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
) );
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 ( 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), 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 ) );
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 ( 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
) 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 ) 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 de préstamo (vivienda, vehículo, estudio, electrodomésticos...), cada modalidad tiene un plazo máximo estipulado y una tasa de interé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 el plazo máximo estipulado.
Cada socio para adquirir un préstamo debe estar trabajando en una empresa, por lo tanto la cooperativa guarda no sólo los datos del 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 tienen asociados 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 se tiene o no convenio con ellos.De los socios además de sus datos básicos (cédula, nombre, teléfono, dirección, número de celular y correo electrónico opcionales), interesa conocer el salario mensual. Cada préstamo requiere además de un codeudor del cual se registran sus datos básicos. También es importante conocer si el codeudor es un posible cliente o no, para enviarle información para que se afilie a la cooperativa. En caso de que un codeudor se vuelve socio de la compañía entonces es necesario que el asociado solicitante del préstamo consiga otro codeudor externo, no se permiten codeudores que sean socios de la cooperativa.
DICCIONARIO DE DATOS prestamoscolombia
NOMBRE DE LA TABLA: codeudor
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
cedulacodeudor varchar 24a..z, 0..9
not null PK
nombre varchar 25a..z, 0..9
not null
telefono_codeu varchar 25a..z, 0..9
not null
direccion varchar 14 0..9not null
posiblecliente varhcar 25not null
Las relaciones Con Otras Tablas Entidad ( X )RELACION N:1
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA:
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
cod_empresa varchar 20a..z, 0..9
not null PK
perso_contacto varchar 25a..z, 0..9
not null
direccionempresa varchar 45a..z, 0..9
not null
numeroempleados varchar 25 0..9not null
convenios varchar 15not null
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N ) N:1
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: modalidad prestamo
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
cod_modalidad varchar 25a..z, 0..9
not null PK
tipomodalidad varchar 24a..z, 0..9
not null
plazomax varchar 25 a..z, not
0..9 null
tasainteres varchar 25 0..9not null
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N ) N:1
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA:
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
cod_modalidad varchar 14a..z, 0..9
not null
cod_prestamos varchar 15a..z, 0..9
not null
a..z, 0..90..9
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N )
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: prestamo
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
codigo_presta varchar 14a..z, 0..9
not null PK
cedula varchar 15a..z, 0..9
not null
cedulacodeudor varchar 24a..z, 0..9
not null
un_prestamo varchar 25 0..9not null
fechainicio varchar 25not null
valorprestamos varchar 14not null
cuota mensual varchar 15not null
plazo meses varchar 15not null
DICCIONARIO DE DATOS
NOMBRE DE LA TABLA: Socios
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
Atributo AtributoAtribut
o Dato
cedula varchar 15a..z, 0..9
not null PK
cod_empresa varchar 20a..z, 0..9
not null
nombre varchar 30a..z, 0..9
not null
telefono varchar 50 0..9not null
direccion varchar 25not null
celular varchar 15not null
correo varchar 20not null
salariomensual varchar 20not null
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N )
PRESTAMOS
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),
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
), 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 NACIONAL
A 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 funciones distintas 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 un nombre 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.•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); Interesa saber cuál es principal cargo (robo, homicidio etc.) que se le atribuye a un delincuente en cada caso que esté involucrado.•Uno o varios policías investigan cada uno de los casos
POLICIA NACIONAL
NOMBRE DE LA TABLA: ARMA
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud
Contenido
Formato
Null Key FK requerid
a
Atributo AtributoAtribut
o Datoa Tabla Foranea
CODIGOARMA VARCHAR 25a..z, 0..9
NOT NULL PK
CEDULA varchar 25a..z, 0..9
NOT NULL
FK requerid
a
CLASE varchar 23a..z, 0..9
NOT NULL
NOMBRE varchar 25 0..9NOT NULL
1:NLas relaciones Con Otras Tablas Entidad ( X )
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( )
NOMBRE DE LA TABLA: ARRESTAR
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
FK requerid
a
Atributo AtributoAtribut
o Datoa Tabla Foranea
COD_CASO VARCHAR 20a..z, 0..9
NOT NULL PK
CEDULA varchar 25a..z, 0..9
NOT NULL
FK requerid
aa..z, 0..90..9
Las relaciones Con Otras Tablas Entidad ( X )
Las relaciones Con Otras Tablas Entidad ( X )1:N Relacion ( )
NOMBRE DE LA TABLA: CELDA
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
FK requerid
a
Atributo AtributoAtribut
o Datoa Tabla Foranea
CODIGO_CELDA VARCHAR 25a..z, 0..9
NOT NULL PK
UBICACION varchar 23a..z, 0..9
NOT NULL
a..z, 0..9
NOT NULL
0..9NOT NULL
1:N
Las relaciones Con Otras Tablas Entidad ( X )
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( )
NOMBRE DE LA TABLA:
DELICUENTE
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
FK requerid
a
Atributo AtributoAtribut
o Datoa Tabla Foranea
CEDULA_DELICUENTE VARCHAR 25
a..z, 0..9
NOT NULL PK
COD_CASO varchar 20a..z, 0..9
NOT NULL
FK requerid
a
CODIGO_CELDA varchar 25a..z, 0..9
NOT NULL
FK requerid
a
NOMBRE varchar 23 0..9NOT NULL
TELEFONO VARCHAR 23
N:N
Las relaciones Con Otras Tablas Entidad ( X )
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( )
NOMBRE DE LA TABLA: JEFES
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
FK requerid
a
Atributo AtributoAtribut
o Datoa Tabla Foranea
CEDULA VARCHAR 20a..z, 0..9
NOT NULL PK
NOMBRE_JEFE varchar 25a..z, 0..9
NOT NULL
RANGO varchar 20a..z, 0..9
NOT NULL
FUNCION varchar 20 0..9NOT NULL
1:N
Las relaciones Con Otras Tablas Entidad ( X )
NOMBRE DE LA TABLA: POLICIAS
DESCRIPCION DE LA TABLA:
Nombre TipoLongitu
dContenid
oFormat
o Null Key
FK requerid
aAtributo Atributo Atribut Dato a Tabla
o Foranea
CEDULA VARCHAR 25a..z, 0..9
NOT NULL PK
CEDULA_1 varchar 20a..z, 0..9
NOT NULL
FK requerid
a
NOMBRE varchar 24a..z, 0..9
NOT NULL
CATEGORIA varchar 24 0..9NOT NULL
FUNCIONES VARCHAR 23 HABILIDADARMAS VARCHAR 25
N: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), 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 ), 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 ( COD_CASO ), FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA )
);
MINI AEROPUERTO
Obtén el modelo ERE, relacional: Queremos hacer una aplicación para gestionar un pequeño aeropuerto. En este aeropuerto tendremos aviones identificados por un número, cada avión puede ser de un tipo diferente identificado por un modelo, su peso y su capacidad.Los aviones los guardamos en hangares que se identifican por un número, 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 para ciertos tipos de aviones. Los aviones son posesión de uno o varios propietarios interesándonos almacenar desde qué fecha lo poseen.
AVIONES
ALMACENA LA INFORMACION DE CADA AVION PILOTEADO, GUARDADO EN LOS ANGARES
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_AVIONCadena
Caracteres 15a..z, 0..9 No PK
MODELO_AVIONCadena
Caracteres 4a..z, 0..9 No
PESO_AVIONNumeros Enteros enteros No
celular del alumnoNumeros Enteros enteros No
Entidad ( X )
inscripcion (N:N)Relacion ( )
HANGARES
ALMACENA LA INFORMACION DE CADA HANAR
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_HANGARCadena
Caracteres 10a..z, 0..9 No PK
CAPACIDAD_HANGARNumeros Enteros 4
a..z, 0..9 No
LOCALIZACION_HANGAR enteros No
Entidad ( X )
inscripcion (N:N)Relacion ( )
PERSONAS
ALMACENA LA INFORMACION DE CADA PERSONA
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NSSCadena
Caracteres 12 0..9 No PK
NOMBRE_PERSONACadena
Caracteres 30a..z, 0..9 No
APELLIDO_PERSONACadena
Caracteres 30a..z, 0..9 No
TELEFONO_PERSONACadena Caracteres
12 a..z, 0..9 No
DIRECCION_PERSONA
Cadena Caracteres
5O a..z, 0..10 no
Entidad ( X )
inscripcion (1:N)Relacion ( )
PARQUEAR
ALMACENA LA INFORMACION DE CADA AVION PARQUEADO
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
FECHA_INGERESO Data time
YY-MM-DD No
FECHA_SALIDA Data time
YY-MM-DD No
Entidad ( )
inscripcion (1:N) Relacion ( X )
PILOTO
ALMACENA LA INFORMACION DE CADA AVION PARQUEADO
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_LICENCIACadena
Caracteres 12 0..9 No
FECHA_SALIDA texta..z, 0..9 No
NSSCadena
Caracteres 12 0..9 No PK
Entidad ( X )
inscripcion (N:N) Relacion (
)
EMPLEADO
ALMACENA LA INFORMACION DE CADA EMPLEADO
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
SALARIO_EMPLEADO Money NoTURNO_EMPLEADO Date time No
NSSCadena
Caracteres 12 0..9 No PK
Entidad ( X )
inscripcion (N:N)Relacion ( )
PROPIETARIO
ALMACENA LA INFORMACION DE CADA PROPIETARIO
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NSSCadena
Caracteres 12 0..9 No PKNo
Entidad ( X )
inscripcion (N:N)Relacion ( )
PILOTEAR
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_AVIONCadena
Caracteres 15 0..9 No PK
NSSCadena
Caracteres 12 0..9 No PK
Entidad ( )
inscripcion (N:N) Relacion ( X )
TRABAJAR
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_AVIONCadena
Caracteres 15 0..9 No PK
NSSCadena
Caracteres 12 0..9 No PK
Entidad ( )
inscripcion (N:N) Relacion ( X )
COMPRA
Nombre TipoLongitu
dContenid
oFormat
o Null KeyFK
requerida
Atributo AtributoAtribut
o Datoa Tabla Foranea
NUMERO_AVIONCadena
Caracteres 15 0..9 No PK
NSSCadena
Caracteres 12 0..9 No PK
Entidad ( )
inscripcion (N:N) Relacion ( X )
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 ) );
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 ) 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 ), 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 ( NSS ), FOREIGN KEY ( NUMERO_AVION ) REFERENCES AVIONES ( NUMERO_AVION ) );
EMPEADOS
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_EMPLEADOCadena
Caracteres 15
NOMBRE_EMPELADOCadena
Caracteres 30DIRECCION_EMPELADO
Cadena Caracteres 20
TELEFONO_EMPLEADOCadena
Caracteres 12
Entidad ( X )inscripcion (N:1) Relacion ( )
SERVIIOS_PRESTADOS
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_SERVICIOCadena
Caracteres 2PRECIO_POR_MES MoneyEMPRESA_CONTRATADORA
Cadena Caracteres 20
Entidad ( X )inscripcion (1:N) Relacion ( )
EMPRESA_CLIENTE
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
NITCadena
Caracteres 20
NOMBRE_EMPRESACadena
Caracteres 20
DIRECCION_EMPRESACadena
Caracteres 20
TELEFONO_EMPRESACadena
Caracteres 12
Entidad ( X )inscripcion (1:N) Relacion ( )
PROYECTOS
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_PROYECTOCadena
Caracteres 20
NOMBRE_PROYECTOCadena
Caracteres 20
ESFUERZO_AL_MESCadena
Caracteres 20
Entidad ( X )Relacion ( )
DIRECTIVO
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
oPERSONAL_A_CARGO Int
CODIGO_EMPLEADOCadena
Caracteres 15
inscripcion (1:N) Entidad ( X )Relacion ( )
PLANILLA
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_EMPLEADOCadena
Caracteres 15
ESPECIALIDADCadena
Caracteres 20
inscripcion (1:N) Entidad ( X )Relacion ( )
ESTRATEGICO
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_EMPLEADOCadena
Caracteres 15
PLAZO_EJECUCIONCadena
Caracteres 20
inscripcion (1:N) Entidad ( X )Relacion ( )
DESARROLLO
Nombre TipoLongitu
dContenid
Atributo AtributoAtribut
o
CODIGO_EMPLEADOCadena
Caracteres 15PRESUPUESTO Money
inscripcion (1:N) Entidad ( 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 otras empresas.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 aquel personal 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 empresa sólo tiene un directivo como jefe directo. En cuanto al personal que aparece como plantilla, se almacenará además la especialidad en la que ejercerá sus funciones. Los directivos siempre tendrán personal a su cargo y todo empleado (ya sea de plantilla o directivo) tendrá siempre jefe. Por último, el personal que realiza funciones de directivo no aparecerá nunca como personal de plantilla y al contrario.En cuanto a los proyectos desarrollados por la empresa, se almacenará un código de proyecto, un nombre y el esfuerzo estimado en personas-mes para realizarlo. Lo proyectos son de dos tipos: de desarrollo o estratégicos, sin embargo, en algunos casos, los proyectos de desarrollo pueden ser además, estratégicos. Si un proyecto es estratégico, se almacenará además el plazo de ejecució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 haber proyectos de este tipo sin directivo asignado. Esto no significa que todo directivo tenga un proyecto bajo su dirección. En caso que el proyecto sea de desarrollo, se almacenará qué personal de plantilla participa en dicho proyecto y el tanto por ciento de dedicació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 plantilla como un servicio lo mismo se puede decir de los proyectos de desarrollo: algunos son servicios prestados a otras empresas. De estos servicios se almacenará el código de servicio y el precio por mes. También se almacenará la empresa para la que se ofrece el servicio. Hay que tener en cuenta que un servicio (ya sea personal de plantilla o un proyecto de desarrollo) siempre estará asignado a una única empresa y que una empresa contrata uno o muchos servicios. De las empresas cliente interesa conocer el nombre, nit, dirección, teléfono.
EMPEADOS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_EMPLEADOCadena
Caracteres 15 a..z, 0..9 No PK
NOMBRE_EMPELADOCadena
Caracteres 30 a..z, 0..9 No
DIRECCION_EMPELADOCadena
Caracteres 20 a..z, 0..10 No
TELEFONO_EMPLEADOCadena
Caracteres 12 a..z, 0..11 No
Entidad ( X )
inscripcion (N:1)Relacion ( )
SERVIIOS_PRESTADOS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_SERVICIOCadena
Caracteres 2 a..z, 0..9 No PKPRECIO_POR_MES Money NoEMPRESA_CONTRATADORA
Cadena Caracteres 20 a..z, 0..10 No
Entidad ( X )
inscripcion (1:N)Relacion ( )
EMPRESA_CLIENTE
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
NITCadena
Caracteres 20 a..z, 0..9 No PK
NOMBRE_EMPRESACadena
Caracteres 20 a..z, 0..10 No
DIRECCION_EMPRESACadena
Caracteres 20 a..z, 0..11 No
TELEFONO_EMPRESACadena
Caracteres 12 0..12
Entidad ( X )
inscripcion (1:N)Relacion ( )
PROYECTOS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_PROYECTOCadena
Caracteres 20 a..z, 0..9 No PK
NOMBRE_PROYECTOCadena
Caracteres 20 a..z, 0..10 No
ESFUERZO_AL_MESCadena
Caracteres 20 a..z, 0..11 No
Entidad ( X )Relacion ( )
DIRECTIVO
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
PERSONAL_A_CARGO Int 0..9 No PK
CODIGO_EMPLEADOCadena
Caracteres 15 a..z, 0..9 No PK
inscripcion (1:N)Entidad ( X )Relacion ( )
PLANILLA
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_EMPLEADOCadena
Caracteres 15 a..z, 0..9 No PK
ESPECIALIDADCadena
Caracteres 20 a..z, 0..9 No
inscripcion (1:N)Entidad ( X )Relacion ( )
ESTRATEGICO
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_EMPLEADOCadena
Caracteres 15 a..z, 0..9 No PK
PLAZO_EJECUCIONCadena
Caracteres 20 a..z, 0..9 No
inscripcion (1:N)Entidad ( X )Relacion ( )
DESARROLLO
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_EMPLEADOCadena
Caracteres 15 a..z, 0..9 No PKPRESUPUESTO Money No
inscripcion (1:N)Entidad ( X )Relacion ( )
CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20),
PRIMARY KEY ( CODIGO_PROYECTO ) );
CREATE TABLE EMPRESA_CLIENTE ( NIT VARCHAR(20), NOMBRE_EMPRESA VARCHAR(20), DIRECCION_EMPRESA VARCHAR(20), TELEFONO_EMPRESA VARCHAR(12), PRIMARY KEY ( NIT ) );
CREATE TABLE SERVIIOS_PRESTADOS ( CODIGO_SERVICIO VARCHAR(2), NIT VARCHAR(20), PRECIO_POR_MES MONEY, EMPRESA_CONTRATADORA VARCHAR(20), PRIMARY KEY ( CODIGO_SERVICIO ), FOREIGN KEY ( NIT ) REFERENCES EMPRESA_CLIENTE ( NIT ) );
CREATE TABLE EMPEADOS ( CODIGO_EMPLEADO VARCHAR(15), CODIGO_SERVICIO VARCHAR(2), NOMBRE_EMPELADO VARCHAR(20), DIRECCION_EMPELADO VARCHAR(20), TELEFONO_EMPLEADO VARCHAR(12), PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_SERVICIO ) REFERENCES SERVIIOS_PRESTADOS ( CODIGO_SERVICIO ) );
CREATE TABLE DIRECTIVO ( CODIGO_EMPLEADO VARCHAR(15), PERSONAL_A_CARGO INT, PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_EMPLEADO ) REFERENCES EMPEADOS ( CODIGO_EMPLEADO ) );
CREATE TABLE PLANILLA ( CODIGO_EMPLEADO VARCHAR(15), ESPECIALIDAD VARCHAR(20), PRIMARY KEY ( CODIGO_EMPLEADO ), FOREIGN KEY ( CODIGO_EMPLEADO ) REFERENCES EMPEADOS ( CODIGO_EMPLEADO ) );
CREATE TABLE DESARROLLO ( CODIGO_PROYECTO VARCHAR(20), CODIGO_EMPLEADO VARCHAR(15), PRESUPUESTO MONEY, PRIMARY KEY ( CODIGO_PROYECTO ), FOREIGN KEY ( CODIGO_PROYECTO ) REFERENCES PROYECTOS ( CODIGO_PROYECTO ), FOREIGN KEY (
CODIGO_EMPLEADO ) 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ÑIL
Dado el siguiente enunciado, obtén el modelo entidad-relación extendido, relacional.Una empresa dedicada a la realización de reformas y construcciones en general maneja la siguiente información para llevar parte de 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ías profesionales en las que clasifica a los albañiles son Maestro y Peón, pudiendo haber otras categorías. Si un albañil tiene la categorí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 de nacionalidad 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. Los albañiles en plantilla están agrupados en cuadrillas propias de la empresa (un albañil debe encontrarse en una y solo una cuadrilla) 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 KeyAtributo Atributo Atributo Dato
DNI_ALBAÑILCadena
Caracteres 20 a..z, 0..9 No PK
NUMERO_S_SOCIALCadena
Caracteres 20 a..z, 0..9 No
NOMBRECadena
Caracteres 15 a..z, 0..10 No
APELLIDOCadena
Caracteres 15 a..z, 0..11 NoFECHA_NACIMIENTO Datetime YY-MM-DD No
TELEFONO_FIJOCadena
Caracteres 10 0..9 No
TELEFENO_CELULARCadena
Caracteres 10 0..10 No
Entidad ( X )
inscripcion (N:1)Relacion ( )
Nombre Tipo Longitud Formato Null KeyAtributo Atributo Atributo Dato
CODIGO_INTERNOCadena
Caracteres 15 a..z, 0..9 No PK
NOMBRE_CUADRILLACadena
Caracteres 15 a..z, 0..9 NoLOCALIDAD_PRINCIPAL Text a..z, 0..10 No
Entidad ( X )
inscripcion (1:N)Relacion ( )
Nombre Tipo Longitud Formato Null KeyAtributo Atributo Atributo Dato
SUELDO Money No
DNI_ALBAÑILCadena
Caracteres 20 a..z, 0..9 No PK
Entidad ( )Relacion ( )
PEON
Nombre Tipo Longitud Formato Null KeyAtributo Atributo Atributo Dato
DNI_ALBAÑILCadena
Caracteres 20 a..z, 0..9 No PK
NACIONALIDADCadena
Caracteres 20 a..z, 0..9 No
Entidad ( )Relacion ( )
GAFAS
Dado el siguiente enunciado, obtén el modelo entidad-relación extendido, relacional.Una empresa dedicada a la venta de material óptico desea que diseñemos una base de datos para la automatización de sus procesos. 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, el material 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 gafas graduadas, 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, para estas personas almacenaremos un código y el nombre. Además cada
persona pertenece a un tipo (habitual, ocasional...) y queremos almacenar para cada tipo de usuarios que descuentos se aplican en las gafas de sol.
CREATE TABLE PERSONAS ( 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 ( 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 ) );
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 LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKPRECIO_PRODUCTO Money NoMARCA_PRODUCTO Cadena Caracteres 20 a..z, 0..10 No
Entidad ( X )
inscripcion (1:N)Relacion ( )
LENTES
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_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 ( )
inscripcion (1:N)Relacion ( )
GAFAS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_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 ( )
inscripcion (1:N)Relacion ( )
GAFAS_GRADUADAS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKGRADUACION Cadena Caracteres 15 a..z, 0..9 NoTIPO_PROBLEMA Cadena Caracteres 15 a..z, 0..10 No
Entidad ( )
inscripcion (1:N)Relacion ( )
GAFAS_SOL
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKNIVEL_FILTRO Cadena Caracteres 5 a..z, 0..9 No
Entidad ( )
inscripcion (1:N)Relacion ( )
GAFAS_SOL_GRADUADAS
Nombre Tipo Longitud Contenid Formato Null Key FK requerida
o
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_PRODUCTO Cadena Caracteres 20 a..z, 0..9 No PKNIVEL_GRADUAION Bining No
Entidad ( )
inscripcion (1:N)Relacion ( )
PERSONAS
Nombre Tipo LongitudContenid
o Formato Null Key FK requerida
Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_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 ( )
inscripcion (1:N)Relacion ( )
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
NOMBRE DE LA TABLA: INVOLUCRAR
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida Autoincrementable
Atributo Atributo Atributo Datoa Tabla Foranea
HORA datetime a..z, 0..9 NOT NULL PK
MATRICULA varchar 20 a..z, 0..9 NOT NULL
DNI varchar 20 a..z, 0..9 NOT NULL
0..9 NOT NULL
NOT NULL
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( 1:N )
NOMBRE DE LA TABLA: MULTAS
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida Autoincrementable
Atributo Atributo Atributo Datoa Tabla Foranea
CONCECUTIVODEMULTA bigint 20 a..z, 0..9 NOT NULL PK DNI varchar 22 a..z, 0..9 NOT NULL FK requerida FECHAYHORA datetime a..z, 0..9 NOT NULL LUGARINFRACION varchar 22 0..9 NOT NULL
NOT NULL
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( 1:N )
NOMBRE DE LA TABLA: PERSONAS
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida Autoincrementable
Atributo Atributo Atributo Datoa Tabla Foranea
DNI VARCHAR 20 a..z, 0..9 NOT NULL PK
NOMBRE varchar 20 a..z, 0..9 NOT NULL DIRECCION varchar 20 a..z, 0..9 NOT NULL CIUDAD varchar 20 0..9 NOT NULL TIPODEPERSONAS varchar 20 NOT NULL APELLIDOS varchar 20 not null TELEFONO VARCHAR 20 not null
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( )
NOMBRE DE LA TABLA: POSEER
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida Autoincrementable
Atributo Atributo Atributo Datoa Tabla Foranea
TARJETA_DE_PROPIEDAD VARCHAR 14 a..z, 0..9 NOT NULL PK CIUDAD_DE_EXPEDICION varchar 15 a..z, 0..9 NOT NULL FK requerida MATRICULA varchar 20 a..z, 0..9 NOT NULL FK requerida DNI varchar 20 0..9 NOT NULL FK requerida
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N )
NOMBRE DE LA TABLA: VEHICULOS
DESCRIPCION DE LA TABLA:
Nombre Tipo Longitud Formato Null Key FK requerida Autoincrementable
Atributo Atributo Atributo Datoa Tabla Foranea
MATRICULA VARCHAR 22 a..z, 0..9 NOT NULL PK
MARCA varchar 22 a..z, 0..9 NOT NULLMODELO varchar 22 a..z, 0..9 NOT NULL
0..9
Las relaciones Con Otras Tablas Entidad ( X )Relacion ( )
CREATE TABLE VEHICULOS ( MATRICULA CHAR(25), MARCA BIGINT, MODELO NTEXT, PRIMARY KEY ( MATRICULA )
);
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 ) );
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 ), 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ódigo de 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 cada empleado 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 empleado tendrá 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.
HOTELES
Se 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 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 pueda identificar fácilmente la planta en la que se encuentran. Así pues, de cada habitación se desea guardar el código y el tipo de habitació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 de viajes, se necesitarán los mismos datos que para los particulares, además del nombre de la persona para quien la agencia de viajes está 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".
SCRIPTcreate table categoria ( nivel varchar(15), iva money,
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,
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
( 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
NOMBRE DE LA TABLA: AGENCIA_DE_VIAJES
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
NIT_A_V INT 11 a..z, 0..9NOT NULL PK
NOMBRE varchar 15 a..z, 0..9NOT NULL
DIRECCION varchar 10 a..z, 0..9NOT NULL
TELEFONO INT 11 0..9 NULL
CIUDAD varchar 25NOT NULL
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N)
Relacion ( ) N:1
NOMBRE DE LA TABLA: CATEGORIA
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
NIVEL VARCHAR 15 a..z, 0..9NOT NULL PK
IVA varchar 11 a..z, 0..9NOT NULL
DESCRIPCION TEXT a..z, 0..9NOT NULL
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N) Relacion ( ) N:1
NOMBRE DE LA TABLA: HABITACION
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_HABITACION INT 11 a..z, 0..9NOT NULL PK
NIT INT 11 a..z, 0..9NOT NULL
FK requerida
TIPOS_DE_HABITACIONES varchar 16 a..z, 0..9
NOT NULL
0..9
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N) Relacion ( ) N:N
NOMBRE DE LA TABLA: HOTELES
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
NIT INT 11 a..z, 0..9NOT NULL PK
NIVEL varchar 15 a..z, 0..9NOT NULL
FK requerida
NOMBRE varchar 15 a..z, 0..9 NOT
NULL
DIRECCION varchar 14 0..9NOT NULL
AnO_DE_CONSTRUCCION DATETIME
NOT NULL
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N) Relacion ( ) N:N
NOMBRE DE LA TABLA: PERSONAS
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CEDULA INT 11 a..z, 0..9NOT NULL PK
NOMBRE varchar 15 a..z, 0..9NOT NULL
APELLIDOS varchar 35 a..z, 0..9NOT NULL
DIRECCION varchar 25 0..9NOT NULL
TELEFONO INT 11 NULL
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N) Relacion ( ) N:1
NOMBRE DE LA TABLA: RESERVAS
DESCRIPCION DE LA TABLA:
Nombre Descricion Tipo LongitudContenid
o Formato Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
NUMERO_RESERVAS INT 11 a..z, 0..9 PK
NIT INT 11 a..z, 0..9FK
requerida
CEDULA INT 11 a..z, 0..9FK
requerida
NIT_A_V INT 11 0..9FK
requerida
FECHA_INGRESO DATETIME
FECHA_SALIDA DATETIME
HORA_INGRESO DATETIME
Las relaciones Con Otras Tablas Entidad ( X )inscripcion (1:N) Relacion ( ) N:N
EQUIPO DE FUTBOL (SIN ENUNCIADO)
DICCIONARIO DE DATOS EQUIFUTBOLO
NOMBRE DE LA TABLA: equipos
DESCRIPCION DE LA TABLA:
NombreDescricio
n Tipo LongitudFormat
o Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_EQUIPO VARCHAR 5
a..z, 0..9
not null PK
DNI varchar 6 a..z, not FK
0..9 nullrequerid
a
NOM_EQUIPOvarchar 35
a..z, 0..9
not null
NOM_ESTADIOvarchar 35 0..9
not null
AFOROvarchar 55
not null
AnO_FUNDADO bigint 20
CIUDAD_EQUIPOvarchar 25
not null
N:nLas relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( )
NOMBRE DE LA TABLA: goles
DESCRIPCION DE LA TABLA:
NombreDescricio
n Tipo LongitudFormat
o Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_JUGVARCHA
R 5a..z, 0..9 not PK
COD_PARTIDO bigint 20a..z, 0..9
FK requerid
a
MINUTO_GOL datetimea..z, 0..9
DESCRIPCION_GOL varchar 50 0..9 not
N:N
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( )
NOMBRE DE LA TABLA: jugadores
DESCRIPCION DE LA TABLA:
NombreDescricio
n Tipo LongitudFormat
o Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
CODIGO_JUGVARCHA
R 5a..z, 0..9
NOT NULL PK
CODIGO_EQUIPO varchar 5
a..z, 0..9
NOT NULL
FK requerid
a
NOMBRE varchar 50a..z, 0..9
NOT NULL
FECHA_NAC datetime 0..9
POSICION varchar 25NOT NULL
N:NLas relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( )
NOMBRE DE LA TABLA: partidos
DESCRIPCION DE LA TABLA:
NombreDescricio
n Tipo LongitudFormat
o Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
COD_PARTIDO bigint 20a..z, 0..9 PK
FECHA_PARTIDO datetimea..z, 0..9
GOLES_AFAVOR bigint 20a..z, 0..9
GOLES_CONTRA bigint 20 0..9
I:NLas relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( )
NOMBRE DE LA TABLA:
PRESIDENTE
DESCRIPCION DE LA TABLA:
NombreDescricio
n Tipo LongitudFormat
o Null Key
FK requerid
a
Atributo Atributo Atributo Atributo Datoa Tabla Foranea
DNIVARCHA
R 6a..z, 0..9
NOT NULL PK
NOMBRE varchar 50a..z, 0..9
NOT NULL
APELLIDOS varchar 50a..z, 0..9
NOT NULL
FEC_NACIMIENTO datetime 0..9 EQUIPO_PRESIDE varchar 25
NOT NULL
AnO_ELECCIONVARCHAR 22
NOT NULL
1:N
Las relaciones Con Otras Tablas Entidad ( X )
inscripcion (1:N) Relacion ( )
CREATE TABLE PARTIDOS ( COD_PARTIDO BIGINT, FECHA_PARTIDO DATETIME, GOLES_AFAVOR BIGINT, GOLES_CONTRA BIGINT, PRIMARY KEY (
COD_PARTIDO ) );
CREATE TABLE PRESIDENTE ( DNI VARCHAR(6), NOMBRE VARCHAR(50), APELLIDOS VARCHAR(50), FEC_NACIMIENTO DATETIME, EQUIPO_PRESIDE VARCHAR(25), AÑO_ELECCION DATETIME, PRIMARY KEY ( DNI ) );
CREATE TABLE EQUIPOS ( CODIGO_EQUIPO VARCHAR(5), DNI VARCHAR(6), NOM_EQUIPO VARCHAR(35), NOM_ESTADIO VARCHAR(35), AFORO VARCHAR(50), AÑO_FUNDADO BIGINT, CIUDAD_EQUIPO VARCHAR(25), PRIMARY KEY ( CODIGO_EQUIPO ), FOREIGN KEY ( DNI ) REFERENCES PRESIDENTE ( DNI
) );
CREATE TABLE JUGADORES ( CODIGO_JUG VARCHAR(5), CODIGO_EQUIPO VARCHAR(5), NOMBRE VARCHAR(50), FECHA_NAC DATETIME, POSICION VARCHAR(25), PRIMARY KEY ( CODIGO_JUG ), FOREIGN KEY ( CODIGO_EQUIPO ) REFERENCES EQUIPOS ( CODIGO_EQUIPO ) );
CREATE TABLE GOLES ( CODIGO_JUG VARCHAR(5), COD_PARTIDO BIGINT, MINUTO_GOL DATETIME, DESCRIPCION_GOL VARCHAR(50), PRIMARY KEY ( CODIGO_JUG, COD_PARTIDO ), FOREIGN KEY ( CODIGO_JUG
) REFERENCES JUGADORES ( CODIGO_JUG ), FOREIGN KEY ( COD_PARTIDO ) REFERENCES PARTIDOS ( COD_PARTIDO ) );
CONCLUSIONES
Por medio de este trabajo, se dió a conocer los términos de Entidad Relación, se planteó problemas, y se lograron sus respectivas soluciones. Adicional se trabajó con los comandos de creación Base de Datos; anexamos varios diccionarios para saber que tipo de dato contiene cada atributo, y sus respectivas llaves primarias y foráneas.
top related