base de datos itfip ortegon y triana

136
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

Upload: secangry

Post on 01-Jun-2015

3.262 views

Category:

Technology


5 download

DESCRIPTION

TRABAJO DE MODELO ENTIDAD RELACION, ESTUDIANTES DE SISTEMASESPINAL-TOLIMAEspero que puedan disfrutar de este material...Estudiantes: SEBASTIAN ORTEGON OSPINAJHONATAN TRIANA MARIN

TRANSCRIPT

Page 1: Base de datos itfip ortegon y triana

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

Page 2: Base de datos itfip ortegon y triana

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

Page 3: Base de datos itfip ortegon y triana

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

Page 4: Base de datos itfip ortegon y triana

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).

Page 5: Base de datos itfip ortegon y triana

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

Page 6: Base de datos itfip ortegon y triana

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

Page 7: Base de datos itfip ortegon y triana

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

Page 8: Base de datos itfip ortegon y triana

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 )

Page 9: Base de datos itfip ortegon y triana

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

Page 10: Base de datos itfip ortegon y triana

( 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

Page 11: Base de datos itfip ortegon y triana

) 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

Page 12: Base de datos itfip ortegon y triana

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

Page 13: Base de datos itfip ortegon y triana

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

Page 14: Base de datos itfip ortegon y triana

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

Page 15: Base de datos itfip ortegon y triana

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),

Page 16: Base de datos itfip ortegon y triana

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

Page 17: Base de datos itfip ortegon y triana

( 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 ) );

Page 18: Base de datos itfip ortegon y triana

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

Page 19: Base de datos itfip ortegon y triana

)

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 )

Page 20: Base de datos itfip ortegon y triana

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

Page 21: Base de datos itfip ortegon y triana

Las relaciones Con Otras Tablas Entidad ( X )Relacion ( N:N )

Page 22: Base de datos itfip ortegon y triana

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),

Page 23: Base de datos itfip ortegon y triana

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

Page 24: Base de datos itfip ortegon y triana

( 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.

Page 25: Base de datos itfip ortegon y triana

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 ) );

Page 26: Base de datos itfip ortegon y triana

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

Page 27: Base de datos itfip ortegon y triana

) );

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),

Page 28: Base de datos itfip ortegon y triana

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,

Page 29: Base de datos itfip ortegon y triana

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 ) );

Page 30: Base de datos itfip ortegon y triana

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 )

Page 31: Base de datos itfip ortegon y triana

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

Page 32: Base de datos itfip ortegon y triana

) 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 (

Page 33: Base de datos itfip ortegon y triana

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: 

Page 34: Base de datos itfip ortegon y triana

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

Page 35: Base de datos itfip ortegon y triana

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

Page 36: Base de datos itfip ortegon y triana

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

Page 37: Base de datos itfip ortegon y triana

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

Page 38: Base de datos itfip ortegon y triana

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

Page 39: Base de datos itfip ortegon y triana

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),

Page 40: Base de datos itfip ortegon y triana

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

Page 41: Base de datos itfip ortegon y triana

), 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

Page 42: Base de datos itfip ortegon y triana

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

Page 43: Base de datos itfip ortegon y triana

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

Page 44: Base de datos itfip ortegon y triana

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

Page 45: Base de datos itfip ortegon y triana

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

Page 46: Base de datos itfip ortegon y triana

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

Page 47: Base de datos itfip ortegon y triana

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),

Page 48: Base de datos itfip ortegon y triana

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 ) );

Page 49: Base de datos itfip ortegon y triana

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 (

Page 50: Base de datos itfip ortegon y triana

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

Page 51: Base de datos itfip ortegon y triana

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 ( )

Page 52: Base de datos itfip ortegon y triana

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 ( )

Page 53: Base de datos itfip ortegon y triana

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 (

Page 54: Base de datos itfip ortegon y triana

)

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 )

Page 55: Base de datos itfip ortegon y triana

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

Page 56: Base de datos itfip ortegon y triana

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 )

Page 57: Base de datos itfip ortegon y triana

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),

Page 58: Base de datos itfip ortegon y triana

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

Page 59: Base de datos itfip ortegon y triana

) 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 ) );

Page 60: Base de datos itfip ortegon y triana

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 ) );

Page 61: Base de datos itfip ortegon y triana

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 ( )

Page 62: Base de datos itfip ortegon y triana

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

Page 63: Base de datos itfip ortegon y triana

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

Page 64: Base de datos itfip ortegon y triana

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

Page 65: Base de datos itfip ortegon y triana

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

Page 66: Base de datos itfip ortegon y triana

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 ( )

Page 67: Base de datos itfip ortegon y triana

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

Page 68: Base de datos itfip ortegon y triana

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

Page 69: Base de datos itfip ortegon y triana

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

Page 70: Base de datos itfip ortegon y triana

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 ( )

Page 71: Base de datos itfip ortegon y triana

CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20),

Page 72: Base de datos itfip ortegon y triana

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 ) );

Page 73: Base de datos itfip ortegon y triana

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 ) );

Page 74: Base de datos itfip ortegon y triana

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 (

Page 75: Base de datos itfip ortegon y triana

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

Page 76: Base de datos itfip ortegon y triana

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

Page 77: Base de datos itfip ortegon y triana

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 ( )

Page 78: Base de datos itfip ortegon y triana

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

Page 79: Base de datos itfip ortegon y triana

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 ) );

Page 80: Base de datos itfip ortegon y triana

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 )

Page 81: Base de datos itfip ortegon y triana

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

Page 82: Base de datos itfip ortegon y triana

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

Page 83: Base de datos itfip ortegon y triana

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

Page 84: Base de datos itfip ortegon y triana

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 ( )

Page 85: Base de datos itfip ortegon y triana
Page 86: Base de datos itfip ortegon y triana

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

Page 87: Base de datos itfip ortegon y triana

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

Page 88: Base de datos itfip ortegon y triana

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

Page 89: Base de datos itfip ortegon y triana

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 ( )

Page 90: Base de datos itfip ortegon y triana

CREATE TABLE VEHICULOS ( MATRICULA CHAR(25), MARCA BIGINT, MODELO NTEXT, PRIMARY KEY ( MATRICULA )

Page 91: Base de datos itfip ortegon y triana

);

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 ) );

Page 92: Base de datos itfip ortegon y triana

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,

Page 93: Base de datos itfip ortegon y triana

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

Page 94: Base de datos itfip ortegon y triana

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".

Page 95: Base de datos itfip ortegon y triana

SCRIPTcreate table categoria ( nivel varchar(15), iva money,

Page 96: Base de datos itfip ortegon y triana

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,

Page 97: Base de datos itfip ortegon y triana

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

Page 98: Base de datos itfip ortegon y triana

( 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

Page 99: Base de datos itfip ortegon y triana

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:

Page 100: Base de datos itfip ortegon y triana

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

Page 101: Base de datos itfip ortegon y triana

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

Page 102: Base de datos itfip ortegon y triana

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:

Page 103: Base de datos itfip ortegon y triana

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

Page 104: Base de datos itfip ortegon y triana

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

Page 105: Base de datos itfip ortegon y triana

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

Page 106: Base de datos itfip ortegon y triana

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:

Page 107: Base de datos itfip ortegon y triana

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

Page 108: Base de datos itfip ortegon y triana

AnO_ELECCIONVARCHAR 22

NOT NULL

1:N

Las relaciones Con Otras Tablas Entidad ( X )

inscripcion (1:N) Relacion ( )

Page 109: Base de datos itfip ortegon y triana

CREATE TABLE PARTIDOS ( COD_PARTIDO BIGINT, FECHA_PARTIDO DATETIME, GOLES_AFAVOR BIGINT, GOLES_CONTRA BIGINT, PRIMARY KEY (

Page 110: Base de datos itfip ortegon y triana

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

Page 111: Base de datos itfip ortegon y triana

) );

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

Page 112: Base de datos itfip ortegon y triana

) REFERENCES JUGADORES ( CODIGO_JUG ), FOREIGN KEY ( COD_PARTIDO ) REFERENCES PARTIDOS ( COD_PARTIDO ) );

Page 113: Base de datos itfip ortegon y triana

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.

Page 114: Base de datos itfip ortegon y triana