SlideShare ist ein Scribd-Unternehmen logo
1 von 139
CREACION DE BASE DE DATOS




      LINA MARCELA MEJIA GONGORA
            PAOLA VARON FORERO




INSTITUCION DE EDUCACION SUPERIOR “ITFIP”
       FACULTAD: INGENIERIA CIENCIAS
            AGROINDUSTRIALES
         SISTEMAS Y COMPUTACION
              BASE DE DATOS
          SEMESTRE III – NOCTURNO
            ESPINAL – TOLIMA
                   2012
CREACION DE BASE DE DATOS




      LINA MARCELA MEJIA GONGORA
          PAOLA VARON FORERO

      NAYIBE SORAYA SANCHEZ LEON
               DOCENTE




INSTITUCION DE EDUCACION SUPERIOR “ITFIP”
       FACULTAD INGENIERIA CIENCIAS
            AGROINDUSTRIALES
         SISTEMAS Y COMPUTACION
              BASE DE DATOS
          SEMESTRE III – NOCTURNO
            ESPINAL – TOLIMA
                   2012
TABLA DE CONTENIDO


Introducción.
Objetivos.
Cuerpo del trabajo

   Enunciados.
   Modelo entidad relación.
   Modelo relaciona.
   Diccionarios de datos.
   Script de MYSQL.
INTRODUCCION

Una base de datos es un sistema para archivar
información en computadora cuyo propósito general es
mantener información y hacer que esté disponible
cuando se solicite.

Actualmente el mundo empresarial necesita manejar
gran cantidad de datos, por lo que se hace necesario
disponer de medios hardwares y software que permitan
acceder a la información de una manera rápida, sencilla y
fiable.

El presente trabajo se basa en la solución de diversos
ejercicios de desarrollo de Base de Datos cada uno con su
Modelo Entidad Relación (MER), Modelo Relacional
(M/R),
Diccionario de Datos y por último el script de MYSQL
donde crea la base de datos.
OBJETIVOS
Nuestro principal objetivo es poder desarrollar
Bases de Datos que puedan emplearse en
diversas situaciones empresariales donde se
necesite manejar variables cantidades de datos
facilitando así su procesamiento y garantizar
una gran seguridad de almacenamiento y
facilidad de acceso.

El objetivo final de dicho proyecto es la elaboración
de sistemas de información (BD) acerca de datos
reales empleando los conocimientos obtenidos en el
transcurso del III semestre de SISTEMAS Y
COMPUTACION en el área de BASE DE DATOS
dirigido por la docente NAYIBE SORAYA SANCHEZ
LEON.
CUERPO DEL TRABAJO

1° TALLER

EJERCICIO 1.

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.

MODELO                               ENTIDAD                               RELACION
MODELO RELACIONAL




SCRIPT DE MYSQL


Mysql>CRÉATE DATABASE multas

Mysql>USE multas;

Mysql>CREATE TABLE VEHÍCULOS (MATRICULA VARCHAR (15) NOT NULL, MARCA
VARCHAR(11)NOT NULL, color VARCHAR (10), PRIMARY KEY(MATRICULA )
)ENGINE=INNODB;

Mysql>CREATE TABLE PERSONAS( CEDULA INT(11)NOT NULL, NOMBRE VARCHAR
(15)NOT NULL,DIRECCIÓN VARCHAR (25)NOT NULL, APELLIDOS VARCHAR (35)
NOT NULL, TELÉFONO INT (12)NOT NULL, PRIMARY KEY(CEDULA)
)EGINE=INNODB;

Mysql>CREATE TABLE MULTAS (CONCECUTIVODEMULTAS INT (11) NOT
NULL,CEDULA INT(11) NOT NULL , FECHAYHORA DATETIME, LUGARINFRACION
VARCHAR(16)NOT NULL,PRIMARYKEY(CONCECUTIVODEMULTAS)

ENGINE=INNODB;

MYSQL>ALTER TABLE MULTAS ADD INDEX (CEDULA);

Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY

(CEDULA)REFERENCES MULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ON
UPDATE CASCADE;
Mysql>CREATE TABLE POSSER( TARJETA_DE_PROPIEDAD VARCHAR(11) NOT NULL,
CIUDAD_DE_EXPEDICION VARCHAR (16) NOT NULL, MATRICULA VARCHAR (15)
NOT NULL, CEDULA INT (11) NOT NULL, PRIMARY KEY(TARJETA_DE_PROPIEDAD,
CIUDAD_DE_EXPEDICION, MATRICULA, CEDULA)ENGINE= INNODB;

Mysql>ALTER TABLE MULTAS ADD INDEX (DNI);

Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA) REFERENCES
.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;

Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA);

Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCES
MULTAS.VEHICULOS   (MATRICULA) ON DELETE NOT ACTION ON UPDATE
CASCADE;

Mysql> CREATE TABLE INVOLUCRAR (HORA DATETIME,     MATRICULA VARCHAR
(16) NOT NULL, CEDULA INT (15) NOT NULL, PRIMARY KEY (HORA, MATRICULA,
CEDULA),

Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA);

Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCES
MULTAS.VEHICULOS (MATRICULA) ON DELETE NOT ACTION ON UPDATE CASCADE;

Mysql>ALTER TABLE MULTAS ADD INDEX (DNI);

Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY         (CEDULA)REFERENCES
MULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;
EJERCICIO 2.
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".

MODELO ENTIDAD RELACION
MODELO RELACIONAL




                             SCRIPT MYSQL

Mysql>CREATE DATABASE HOTEL;

Mysql>USE HOTEL;

Mysql>CREATE TABLE CATEGORIA (NIVELVARCHAR (10) NOT NULL, IVA MONEY,
DESCRIPCION TEXT, PRIMARY KEY (NIVEL )) ENGINE=INNODB;

Mysql>   CREATE  TABLE    PERSONAS(CEDULAINT(12)NOT    NULL,NOMBRE
VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL, DIRECCION
VARCHAR(5) NOT NULL, TELEFONO INT (12) NULL, PRIMARY KEY ( CEDULA ) )
ENGINE= INNODB ;

Mysql> CREATE TABLE AGENCIAS_DE_VIAJES(NIT_A_V INT (12) NOT NULL ,NOMBRE
VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5)NOTNULL, TELEFONO INT (12)
NULL,        CIUDAD    VARCHAR(10)     NOT      NULL,     PRIMARY    KEY
(NIT_A_V))ENGINE= INNODB;

Mysql> CREATE TABLE HOTELES (NIT INT (10) NOT NULL, NIVEL VARCHAR (10)
NOT NULL, NOMBRE VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5) NOT NULL,
AÑO_DE_CONSTRUCCION INT (4) NOT NULL, PRIMARY KEY( NIT)) ENGINE=
INNODB;



Mysql>ALTER TABLE HOTEL ADD INDEX (NIVEL);

Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIVEL )REFERENCES
HOTELERA.CATEGORIA (NIVEL) ON DELETE NOT ACTION ON UPDATE CASCADE;
Mysql> CREATE TABLE HABITACION (CODIGO_HABITACION INT (12) NOT NULL,NIT
INT (10) NOT NULL, TIPOS_DE_HABITACIONES VARCHAR(15) NOT NULL, PRIMARY
KEY( CODIGO_HABITACION )) ENGINE= INNODB;

Mysql>ALTER TABLE HOTEL ADD INDEX (NIT);

Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT )REFERENCES HOTEL
.HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;

Mysql> CREATE TABLE RESERVAS (NUMERO_RESERVAS INT(2)NOT NULL,      NIT
INT (12) NOT NULL, CEDULA INT (12) NOT NULL, NIT_A_V INT (12) NOT NULL,
FECHA_INGRESO DATETIME NOT NULL, FECHA_SALIDA DATETIME NOT NULL,
HORA_INGRESO DATETIME NOT NULL, PRIMARY KEY(        NUMERO_RESERVAS))
ENGINE= INNODB;

Mysql>ALTER TABLE HOTEL ADD INDEX (NIT);

Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT)REFERENCES HOTEL
.HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;



Mysql>ALTER TABLE HOTEL ADD INDEX (CEDULA);

Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(CEDULA)REFERENCES HOTELERA
.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;

Mysql>ALTER TABLE HOTEL ADD INDEX (NIT_A_V);

Mysql>ALTER TABLE HOTEL ADD FOREIGN KEY(NIT_A_V)REFERENCES HOTEL
.AGENCIAS_DE_VIAJES (NIT_A_V) ON DELETE NOT ACTION ON UPDATE CASCADE;
EJERCICIOS 2° TALLER

EJERCICIO 1

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



MODELO ENTIDAD RELACION
MODELO RELACIONAL




SCRIPT DE MYSQL

                            SCRIPT MYSQL

mysql>CREATE DATABASE AGENCIAVIAJES;

MYSQL>USE AGENCIAVIAJES;

MYSQL>CREATE TABLE VIAJEROS( DNI INT(12)2NOT          NULL, NOMBRE
VARCHAR(10)NOT NULL, DIRECCION VARCHAR(5)NOT NULL,    TELEFONO INT(6)
NOT NULL,  PRIMARY KEY( DNI))ENGINE=INNODB;

MYSQL>CREATE TABLE VIAJES(CODIGO INT(12) NOT NULL,    DNI INT(12)NOT
NULL, NUMERO_PLAZAS INT(3)NOT NULL,          FRV DATETIME NOT NULL,
PRIMARY KEY( CODIGO))ENGINE=INNODB;

MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX (DNI);

mysql> ALTER TA BLE AGENCIAVIAJES ADD FOREIGN
KEY(DNI)REFERENCES.VIAJEROS (DNI) ON DELETE NOT ACTION ON UPDATE
CASCADE;

MYSQL> CREATE TABLE ORIGEN(CODIGO INT(12)NOT NULL, CODIGO_ORIGEN
INT(12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB;

MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);
mysql>ALTERTABLEAGENCIAVIAJES
ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT
ACTION ON UPDATE CASCADE;

mysql> CREATE TABLE DESTINO( CODIGO INT(5) NOT NULL, CODIGO_DESTINO
INT((12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB;

MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);

mysql>ALTERTABLEAGENCIAVIAJES
ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT
ACTION ON UPDATE CASCADE;

mysql> CREATE TABLE REFERENCIAS_FAMILIARES( DNI_FAMILIAR INT(15) NOT
NULL, NOMBRE VARCHAR(15)NOT NULL,       APELLIDOS VARCHAR(10)NOT NULL,
DIRECCION INT(6) NOT NULL,    TELEFONO INT(12) NOT NULL, PRIMARY KEY (
DNI_FAMILIAR, DNI ,CODIGO))ENGINE=INNODB;




MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(DNI);

mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(DNI)REFERENCES.VIAJEROS
(DNI) ON DELETE NOT ACTION ON UPDATE CASCADE;

MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);

mysql>ALTERTABLEAGENCIAVIAJES
ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT
ACTION ON UPDATE CASCADE;


DICCIONARIO DE DATOS
EJERCICIO 2.

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


MODELO ENTIDAD RELACION
MODELO RELACIONAL




Script Mysql

CREATE DATABASE CONSECCIONARIO;
USE DATABASE CONSECCIONARIO;


CREATE TABLE CLIENTE
   (
   DN VARCHAR(25),
   NOMBRE VARCHAR(25),
   APELLIDOS VARCHAR(500),
   DIRECCION VARCHAR(25),
   TELEFONO VARCHAR(25),
   PRIMARY KEY
      (
      DN
      )
   );



CREATE TABLE MECANICO
   (
   DNI_MECANICO VARCHAR(25),
   NOMBRE VARCHAR(25),
   APELLIDOS VARCHAR(25),
   FECHA_CONTRATACION VARCHAR(25),
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
       )
);
SCRIPT DE MYSQL

EJERCICIO 3.

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.


MODELO ENTIDAD RELACION
MODELO RELACIONAL




SCRIPT MYSQL

CREATE DATABASE APARATOSELECTRONIC;
USE APARATOSELECTRONIC;
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
        )
   );
DICCIONARIOS DE DATOS
EJERCICIO 4.

Para los siguientes enunciados identifique las entidades y sus relaciones.

   a. Una persona puede comprar una o muchas casas, Una casa debe ser propiedad
      de una sola persona.

MODELO ENTIDAD RELACION




MODELO RELACIONAL




   b. Un cliente debe comprar uno o muchos productos, Un producto debe ser
      comprado por un cliente.

MODELO ENTIDAD RELACION




MODELO RELACIONAL



                                                                                c. Un
                                                                     proveedor puede
                                                                     proveer uno o
                                                                     más productos, Un
       producto debe ser provisto por uno o más proveedores.

MODELO ENTIDAD RELACION
MODELO RELACIONAL




  d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleado
     debe ser subordinado de un empleado.


MODELO ENTIDAD RELACION




MODELO RELACIONAL




  e. Un investigador puede hacer muchas observaciones, Una observación debe ser
     hecha por un investigador.

MODELO ENTIDAD RELACION
MODELO RELACIONAL




  f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitar
     en un territorio.

MODELO ENTIDAD RELACION




MODELO RELACIONAL




  g. Una hembra puede ser la madre de muchos chimpancés. Un chimpancé debe
     ser hijo de una hembra.


MODELO ENTIDAD RELACION
MODELO RELACIONAL




  h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribir
     muchos libros.


MODELO ENTIDAD RELACION




MODELO RELACIONAL




  i.   Un estudiante está matriculado en muchos cursos. En un curso hay muchos
       estudiantes matriculados.

MODELO ENTIDAD RELACION



                                                                     MODELO
                                                            RELACIONAL
j.   Una base de datos debe contener información relativa a las ventas de los
       productos de una cierta compañía. Cada agente de la compañía es responsable
       de las ventas en una o más áreas. Cada área tiene uno o más agentes como
       responsables de las ventas que se realicen en ella. Cada agente es responsable
       de la venta de uno o más productos y cada producto tiene uno o más agentes
       responsables de su venta. Un producto se vende en todas las áreas y en un área
       se pueden vender todos los productos.



MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT MYSQL

CREATE DATABASE VARIOS;
USE VARIOS;
CREATE TABLE PERSONA
   (
   CEDULA BIGINT,
   NOMBRE TEXT,
   PRIMARY KEY
      (
      CEDULA
      )
   );



CREATE TABLE CLIENTE
   (
   CEDULA BIGINT,
   NOMBRE TEXT,
   PRIMARY KEY
      (
      CEDULA
      )
   );



CREATE TABLE EMPLEADO
   (
   NIT VARCHAR(20),
   NOMBRE TEXT,
   PRIMARY KEY
       (
       NIT
       )
   );



CREATE TABLE PROVEDOR
   (
   NIT VARCHAR(20),
   NOMBRE TEXT,
   PRIMARY KEY
       (
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
     )
);
DICCIONARIO DE DATOS

A)
B)
c)
d)
e)
F)
G)
H)
I)
J)
EJERCICIO 5.

A partir del siguiente enunciado se desea realiza el modelo entidad-relación y 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.


MODELO ENTIDAD RELACION
MODELO RELACIONAL




SCRIPT MYSQL

CREATE DATABASE PRESTAMO;
USE PRESTAMO;

CREATE TABLE EMPRESAS
   (
   COD_EMPRESA VARCHAR(20),
   PERSO_CONTACTO VARCHAR(25),
   DIRECCIONEMPRESA VARCHAR(45),
   NºEMPLEADOS VARCHAR(25),
   CONVENIOS VARCHAR(15),
   PRIMARY KEY
      (
      COD_EMPRESA
      )
   );



CREATE TABLE CODEUDOR
   (
   CEDULACODEUDOR VARCHAR(24),
   NOMBRE VARCHAR(25),
   TELEFONO_CODEU VARCHAR(25),
   DIRECCION VARCHAR(14),
   POSIBLECLIENTE VARCHAR(25),
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
     )
);
SCRIPT DE MYSQL


EJERCICIO 6.

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 un serie de policías que tienen una cedula, nombre y
                                a
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

MODELO ENTIDAD RELACION
MODELO RELACIONAL




MODELO ENTIDAD RELACION
SCRIPT DE MYSQL

CREATE DATABASE POLICIAS;
USE POLICIAS;
CREATE TABLE JEFES
   (
   CEDULA VARCHAR(20),
   NOMBRE_JEFE VARCHAR(25),
   RANGO VARCHAR(25),
   FUNCION VARCHAR(25),
   PRIMARY KEY
      (
      CEDULA
      )
   );



CREATE TABLE CELDA
   (
   CODIGO_CELDA VARCHAR(25),
   UBICACION VARCHAR(23),
   PRIMARY KEY
      (
      CODIGO_CELDA
      )
   );



CREATE TABLE ARRESTOS
   (
   COD_CASO VARCHAR(20),
   CEDULA VARCHAR(23),
   CEDULA_DELICUENTE VARCHAR(25),
   JUZGADO VARCHAR(25),
   PRIMARY KEY
      (
      COD_CASO
      )
   );



CREATE TABLE POLICIAS
(
  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
        )
   );

TALLER 3

EJERCICIO 1.

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.

MODELO ENTIDAD RELACION
MODELO RELACIONAL




SCRIPT DE MYSQL


MYSQL>USE AEROPUERTO;
mysql> CREATE TABLE PERSONAS(NSS VARCHAR(12)NOT NULL, DIRECCION
VARCHAR(30)NOT NULL, TELEFONO VARCHAR(12)NOT NULL, NOMBRE
VARCHAR(20)NOT NULL, APELLIDOS VARCHAR(20)NOT NULL, PRIMARY
KEY(NSS))ENGINE=INNODB;

mysql> CREATE TABLE CLASIFICACION_DE_AVIONES(MODELO VARCHAR(5)NOT
NULL,
PESOINT(20)NOTNULL,CAPACIDADINT(30)NOTNULL,PRIMARYKEY(MODELO))

ENGINE=INNODB;

 mysql> CREATE TABLE HANGARES(NUMERO_HANGARES INT(20)NOT NULL,,
CAPACIDAD INT(30)NOT NULL, LOCALIZACION VARCHAR(30)NOT NULL, PRIMARY
KEY(NUMERO_HANGARES))ENGINE=INNODB;

 mysql> CREATE TABLE PILOTO             NSS VARCHAR(12)NOT NULL,
NUMERO_DE_LICENCIA VARCHAR(15)NOT NULL,     RESTRICIONES TEXT NOT
NULL, PRIMARY KEY (NSS))ENGINE=INNODB;
MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);

mysql>ALTERTABLE    AEROPUERTO      ADDFOREIGNKEY(NSS)   REFERENCES.
PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;

mysql> CREATE TABLE EMPLEADOS(NSS VARCHAR(12)NOT NULL,   SALARIO
MONEY NOT NULL, TURNO VARCHAR(15)NOT NULL,PRIMARY
KEY(NSS))ENGINE=INNODB;

mysql> CREATE TABLE PROPIETARIO     NSS VARCHAR(12) NOT NULL,PRIMAY
KEY(NSS))ENGINE=INNODB;

MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);

mysql>ALTERTABLE    AEROPUERTO      ADDFOREIGNKEY(NSS)   REFERENCES.
PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;

mysql> CREATE TABLE AVIONES   (NUMERO_AVIONES VARCHAR(10)NOT NULL,
MODELO VARCHAR(5)NOT NULL, COMBUSTIBLE VARCHAR(15)NOT NULL, PRIMARY
KEY(      NUMERO_AVIONES))EMGINE=INNODB;



MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(MODELO);

mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(MODELO) REFERENCES.
CLASIFICACION_DE_AVIONES (MODELO) ON DELETE NOT ACTION ON UPDATE
CASCADE;

mysql> CREATE TABLE GUARDAR(NUMERO_HANGARES INT(20)NOT NULL,
NUMERO_AVIONES VARCHAR(10)NOT NULL, FECHA_RETIRO DATETIMENOT NULL,
FECHA_INGRESO DATETIME NOT NULL,   PRIMARY KEY(NUMERO_HANGARES,
NUMERO_AVIONES))ENGINE=INNODB;

MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_HANGARES);

mysql>ALTERTABLE   AEROPUERTO   ADDFOREIGNKEY(NUMERO_HANGARES)
REFERENCES. HANGARES (NUMERO_HANGARES )ON DELETE NOT ACTION ON
UPDATE CASCADE;

 MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES);

mysql>ALTERTABLE     AEROPUERTO     ADDFOREIGNKEY(NUMERO_AVIONES)
REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATE
CASCADE;
MYSQL>         CREATE TABLE PILOTIAR(NSS       VARCHAR(12)NOT NULL,
NUMERO_AVIONES    VARCHAR(10)NOT   NULL,                     PRIMARY
KEY(NSS,NUMERO_AVIONES))ENGINE=INNODB;

MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS);

mysql>ALTERTABLE     AEROPUERTO     ADDFOREIGNKEY(NSS)   REFERENCES.
PILOTO(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE;

MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES);

mysql>ALTERTABLE     AEROPUERTO     ADDFOREIGNKEY(NUMERO_AVIONES)
REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATE
CASCADE;

mysql>CREATE TABLE TRABAJAR(NSS VARCHAR(12)NOT NULL,
NUMERO_AVIONESVARCHAR(10)NOT NULL, PRIMARY
KEY(NSS,NUMERO_AVIONES))ENGINE=INNODB
DICCIONARIO DE DATOS
EJERCICIO 2.
Dado 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.
MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT MYSQL

CREATE DATABASE PROYECTO;
USE PROYECTO;
CREATE TABLE PROYECTOS
   (
   CODIGO_PROYECTO VARCHAR(20),
   NOMBRE_PROYECTO VARCHAR(20),
   ESFUERZO_AL_MES VARCHAR(20),
   PRIMARY KEY
      (
      CODIGO_PROYECTO
      )
   );



CREATE TABLE EMPRESA_CLIENTE
   (
   NIT VARCHAR(20),
   NOMBRE_EMPRESA VARCHAR(20),
   DIRECCION_EMPRESA VARCHAR(20),
   TELEFONO_EMPRESA VARCHAR(12),
   PRIMARY KEY
       (
       NIT
       )
   );



CREATE TABLE SERVIIOS_PRESTADOS
   (
   CODIGO_SERVICIO VARCHAR(2),
   NIT VARCHAR(20),
   PRECIO_POR_MES MONEY,
   EMPRESA_CONTRATADORA VARCHAR(20),
   PRIMARY KEY
       (
       CODIGO_SERVICIO
       ),
   FOREIGN KEY
       (
       NIT
)
       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
        )
   );
EJERCICIO 3.

Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,
relacional.
Una empresa dedicada a la realización de reformas y construcciones en 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.

MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT DE MYSQL


CREATE DATABASE CONTRUCCION;
USE CONSTRUCCION;
CREATE TABLE CUADRILLA
   (
   COD_INTERNO BIGINT,
   NOMBRE VARCHAR(40),
   LOCALIDAD VARCHAR(40),
   PRIMARY KEY
      (
      COD_INTERNO
      )
   );



CREATE TABLE ALBAÑIL
   (
   NSS VARCHAR(40),
   COD_INTERNO BIGINT,
   NOMBRE VARCHAR(10),
   APELLIDO VARCHAR(10),
   F_NACIMIENTO DATETIME,
   N_FIJO BIGINT,
   N_MOVIL BIGINT,
   PRIMARY KEY
(
       NSS
       ),
  FOREIGN KEY
       (
       COD_INTERNO
       )
     REFERENCES CUADRILLA
       (
       COD_INTERNO
       )
  );



CREATE TABLE PEON
   (
   NSS VARCHAR(40),
   DNI VARCHAR(70),
   SUELDO MONEY,
   NACIONALIDAD VARCHAR(80),
   PRIMARY KEY
        (
        NSS
        ),
   FOREIGN KEY
        (
        NSS
        )
      REFERENCES ALBAÑIL
        (
        NSS
        )
   );



CREATE TABLE MAESTRO
   (
   NSS VARCHAR(40),
   DNI VARCHAR(70),
   SUELDO MONEY,
   PRIMARY KEY
      (
      NSS
      ),
FOREIGN KEY
     (
     NSS
     )
   REFERENCES ALBAÑIL
     (
     NSS
     )
);
EJERCICIO 4.

 Dado el siguiente enunciado, obtén el modelo entidad-relación extendido,
relacional.
Una empresa dedicada a la 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.


MODELO ENTIDAD RELACION
MODELO RELACIONAL




SCRIPT DE MYSQL

CREATE DATABASE OPTICA;
USE OPTICA;
CREATE TABLE CLIENTE
   (
   CODIGO VARCHAR(4000),
   NOMBRE VARCHAR(40),
   PRIMARY KEY
      (
CODIGO
       )
  );



CREATE TABLE GAFAS
   (
   CODIGO VARCHAR(60),
   CODIGO_1 VARCHAR(4000),
   PRECIO VARCHAR(700),
   MARCA VARCHAR(80),
   MODELO VARCHAR(90),
   MATERIAL_FABRICACION VARCHAR(50),
   PRIMARY KEY
        (
        CODIGO
        ),
   FOREIGN KEY
        (
        CODIGO_1
        )
      REFERENCES CLIENTE
        (
        CODIGO
        )
   );



CREATE TABLE LENTES
   (
   CODIGO VARCHAR(100),
   CODIGO_1 VARCHAR(4000),
   PRECIO VARCHAR(4000),
   MARCA VARCHAR(10),
   TIPO_BANDA VARCHAR(70),
   COLOR VARCHAR(70),
   PRODUCTOS_LIMPIEZA VARCHAR(70),
   GRADUACION VARCHAR(40),
   PRIMARY KEY
      (
      CODIGO
      ),
   FOREIGN KEY
      (
CODIGO_1
         )
       REFERENCES CLIENTE
         (
         CODIGO
         )
  );



CREATE TABLE GRADUADAS
   (
   CODIGO VARCHAR(60),
   GRADUACION VARCHAR(70),
   PROBLEMAS_OCULARES VARCHAR(80),
   PRIMARY KEY
        (
        CODIGO
        ),
   FOREIGN KEY
        (
        CODIGO
        )
      REFERENCES GAFAS
        (
        CODIGO
        )
   );



CREATE TABLE SOL
   (
   CODIGO VARCHAR(60),
   CODIGO_1 VARCHAR(4000),
   NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(80),
   PRIMARY KEY
       (
       CODIGO
       ),
   FOREIGN KEY
       (
       CODIGO
       )
     REFERENCES GAFAS
       (
CODIGO
       ),
  FOREIGN KEY
       (
       CODIGO_1
       )
     REFERENCES CLIENTE
       (
       CODIGO
       )
  );



CREATE TABLE SOL_GRADUADAS
   (
   CODIGO VARCHAR(60),
   NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(70),
   PRIMARY KEY
        (
        CODIGO
        ),
   FOREIGN KEY
        (
        CODIGO
        )
      REFERENCES GAFAS
        (
        CODIGO
        )
   );



CREATE TABLE HABITUAL
   (
   CODIGO VARCHAR(4000),
   DESCUENTO VARCHAR(70),
   PRIMARY KEY
      (
      CODIGO
      ),
   FOREIGN KEY
      (
      CODIGO
      )
REFERENCES CLIENTE
         (
         CODIGO
         )
  );



CREATE TABLE OCASIONAL
   (
   CODIGO VARCHAR(4000),
   DESCUENTO VARCHAR(70),
   PRIMARY KEY
        (
        CODIGO
        ),
   FOREIGN KEY
        (
        CODIGO
        )
      REFERENCES CLIENTE
        (
        CODIGO
        )
   );
EJERCICIOS SIN ENUNCIADO


                       PRODUCTO INFORMATIVO

MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT MYSQL

mysql>CREATE DATABASE PRODUCTOINFORMATIVO;

mysql>USE PRODUCTOINFORMATIVO;

mysql> CREATE TABLE CLIENTE(CODIGO_CLIENTE INT(12) NOT NULL, NOMBRE
VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL , DIRECCION
VARCHAR(6) NOT NULL, TELEFONO INT(12) NOT NULL, PRIMARY KEY(
CODIGO_CLIENTE) )ENGINE=INNODB;

mysql> CREATE TABLE PRODUCTO(CODIGO INT(12) NOT NULL, DESCRIPCION
VARCHAR(20)NOT NULL,         PRECIO MONEY NOT NULL,    EXITENCIAS
INT(2),PRIMARYKEY( CODIGO))ENGINE=INNODB;

mysql>   CREATE TABLE PROVEDORES(CODIGO_PROVEDOR INT(12)NOT NULL,
NOMBRE VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL,
DIRECCION VARCHAR(6)NOT NULL, PROVINCIA VARCHAR(10)NOT NULL,
NUMEROTEL INT(10)NULL,PRIMARYKEY(CODIGO_PROVEDOR))

ENGINE=INNODB;

mysql> CREATE TABLE COMPRAR(FECHA_COMPRA DATETIME NOT NULL,
CODIGO_CLIENTE INT(12) NOT NULL, CODIGO INT(12) NOT NULL, PRIMARY KEY(
FECHA_COMPRA, CODIGO_CLIENTE, CODIGO)ENGINE=INNODB;

mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_CLIENTE);

mysql>ALTERTABLE PRODUCTOINFORMATIVO ADDFOREIGNKEY
(CODIGO_CLIENTE)REFERENCES PRODUCTOINFORMATIVO .CLIENTE
(CODIGO_CLIENTE) ON DELETE NOT ACTION ON UPDATE CASCADE;

mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO);

mysql>   ALTER     TABLE     PRODUCTOINFORMATIVO ADD    FOREIGN
KEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ON
DELETE NOT ACTION ON UPDATE CASCADE;

mysql> CREATE TABLE SUMINISTRAR(CANTIDAD INT(2) NOT NULL,
CODIGO_PROVEDOR      INT(12)NOT       NULL,                PRIMARY
KEY(CANTIDAD_PRODUCTO,CODIGO, CODIGO_PROVEDOR))ENGINE=INNODB;

mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO);
mysql>   ALTER     TABLE     PRODUCTOINFORMATIVO ADD    FOREIGN
KEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ON
DELETE NOT ACTION ON UPDATE CASCADE;

mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_PROVEDOR);

mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGN
KEY(CODIGO_PROVEDOR )REFERENCES PRODUCTOINFORMATIVO .PROVEDORES (
CODIGO_PROVEDOR ) ON DELETE NOT ACTION ON UPDATE CASCADE;
AUTOS


MODELO ENTIDAD RELACION




MODELO RELACIONAL




                              SCRIPT MYSQL

Mysql>CREATE DATABASE AUTO;

Mysql>USE AUTO;
Mysql>CREATE TABLE CLIENTES ( NIT INT (12) NOT NULL ,        NOMBRE
VARCHAR(15) NOT NULL, APELLIDOS VARCHAR(15) NOT NULL,      DIRECCION
VARCHAR(6) NOT NULL, CIUDAD VARCHAR(15) NOT NULL, CODINTERNO INT(12),
PRIMARY KEY( NIT)) ENGINE=INNODB;

Mysql>CREATE TABLE MARCA (COD_MARCA INT (10) NOT NULL, DESCRIPCION
TEXT NOT NULL,  PRIMARY KEY (COD_MARCA)) ENGINE= INNODB;

Mysql> CREATE TABLE COCHE (MATRICULA VARCHAR(6)NOT NULL, MODELO TEXT
NOT NULL, COLOR TEXT NOT NULL , PVC MONEY NOT NULL, PRIMARY KEY
(MATRICULA)) ENGINE=INNODB;

Mysql>ALTER TABLE AUTO ADD INDEX (NIT);

Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(NIT)REFERENCES AUTO .CLIENTES
(NIT) ON DELETE NOT ACTION ON UPDATE CASCADE;

Mysql>ALTER TABLE AUTO ADD INDEX (COD_MARCA);

Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(CODIGO_M)REFERENCES AUTO
.MARCA (COD_MARCA) ON DELETE NOT ACTION ON UPDATE CASCADE;
FUTBOL

MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT MYSQL

CREATE DATABASE FUTBOL;
USE FUTBOL;
CREATE TABLE PARTIDOS
   (
   COD_PARTIDO BIGINT,
   FECHA_PARTIDO DATETIME,
   GOLES_AFAVOR BIGINT,
   GOLES_CONTRA BIGINT,
   PRIMARY KEY
      (
      COD_PARTIDO
      )
   );



CREATE TABLE PRESIDENTE
   (
   DNI VARCHAR(6),
   NOMBRE VARCHAR(50),
   APELLIDOS VARCHAR(50),
   FEC_NACIMIENTO DATETIME,
   EQUIPO_PRESIDE VARCHAR(25),
   AÑO_ELECCION DATETIME,
   PRIMARY KEY
      (
      DNI
      )
   );



CREATE TABLE EQUIPOS
   (
   CODIGO_EQUIPO VARCHAR(5),
   DNI VARCHAR(6),
   NOM_EQUIPO VARCHAR(35),
   NOM_ESTADIO VARCHAR(35),
   AFORO VARCHAR(50),
   AÑO_FUNDADO BIGINT,
   CIUDAD_EQUIPO VARCHAR(25),
   PRIMARY KEY
      (
      CODIGO_EQUIPO
),
  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
     )
);
DICCIONARIOS DE DATOS
CARGA ACADEMIDA


MODELO ENTIDAD RELACION




MODELO RELACIONAL
SCRIPT MYSQL


CREATE DATABASE ACADEMICA;
USE ACADEMICA;
CREATE TABLE ASIGNATURAS
   (
   CODASIGNATURA VARCHAR(5),
   NOMBASIGNATURA VARCHAR(20),
   CREDACADASIGNATURA INT,               /* Creditos Academicos Asignatura
*/
   IHTASIGNATURA INT,          /* Intensidad Horas Teoricas */
   IHPASIGNATURA INT,          /* Intensidad Horas Practicas */
   CONDASIGNATURA VARCHAR(30),               /* Condiciones de la asignatura
*/
   PRIMARY KEY
      (
      CODASIGNATURA
      )
   );



CREATE TABLE DOCENTES
   (
   CODDOCENTE VARCHAR(10),
   NOMBDOCENTE VARCHAR(30),
   APLLDOCENTE VARCHAR(30),
   PROFDOCENTE VARCHAR(2),                /* profesion */
   CELDOCENTE VARCHAR(12),                /* celular */
   VINCDOCENTE VARCHAR(2),                /* Vinculacion Laboral */
   PRIMARY KEY
      (
      CODDOCENTE
      )
   );



CREATE TABLE ALUMNOS
   (
   CODALUMNO VARCHAR(6),
   NOMBALUMNO VARCHAR(30),
   APLLALUMNO VARCHAR(30),
   CELALUMNO VARCHAR(12),
   PRIMARY KEY
(
       CODALUMNO
       )
  );



CREATE TABLE CARRERAS
   (
   CODPROGRAMA VARCHAR(4),
   NOMBCARRERA VARCHAR(50),
   TOTALCREDITOS INT,
   PRIMARY KEY
      (
      CODPROGRAMA
      )
   );



CREATE TABLE FORMINSCRIPCION
   (
   CONSINSCRIPCION INT,
   CODALUMNO VARCHAR(6),
   CODPROGRAMA VARCHAR(4),
   FECHINSCRIPCION DATETIME,
   SEMINSCRIPCION CHAR(5),     /* /* semestre academico */ */
   PRIMARY KEY
       (
       CONSINSCRIPCION
       ),
   FOREIGN KEY
       (
       CODALUMNO
       )
     REFERENCES ALUMNOS
       (
       CODALUMNO
       ),
   FOREIGN KEY
       (
       CODPROGRAMA
       )
     REFERENCES CARRERAS
       (
       CODPROGRAMA
)
  );



CREATE TABLE REGISTROMATERIAS
   (
   CONSEREGISTRO INT,
   CODASIGNATURA VARCHAR(5),
   CODDOCENTE VARCHAR(10),
   CONSINSCRIPCION INT,
   JORNADA CHAR(2),
   PRIMARY KEY
        (
        CONSEREGISTRO
        ),
   FOREIGN KEY
        (
        CODASIGNATURA
        )
      REFERENCES ASIGNATURAS
        (
        CODASIGNATURA
        ),
   FOREIGN KEY
        (
        CODDOCENTE
        )
      REFERENCES DOCENTES
        (
        CODDOCENTE
        ),
   FOREIGN KEY
        (
        CONSINSCRIPCION
        )
      REFERENCES FORMINSCRIPCION
        (
        CONSINSCRIPCION
        )
   );



CREATE TABLE ASIGNAR
   (
CONSCARGA INT,
CODDOCENTE VARCHAR(10),
CODASIGNATURA VARCHAR(5),
DIACLASE VARCHAR(10),
HORACLASE TEXT,
SALONCLASE TEXT,
SEMACADEMICO VARCHAR(5),
PRIMARY KEY
     (
     CONSCARGA,
     CODDOCENTE,
     CODASIGNATURA
     ),
FOREIGN KEY
     (
     CODDOCENTE
     )
   REFERENCES DOCENTES
     (
     CODDOCENTE
     ),
FOREIGN KEY
     (
     CODASIGNATURA
     )
   REFERENCES ASIGNATURAS
     (
     CODASIGNATURA
     )
);

Weitere ähnliche Inhalte

Was ist angesagt?

SQL practice questions set - 2
SQL practice questions set - 2SQL practice questions set - 2
SQL practice questions set - 2Mohd Tousif
 
Ejemplos diagrama de entidad relación
Ejemplos diagrama de entidad relaciónEjemplos diagrama de entidad relación
Ejemplos diagrama de entidad relaciónmariqueve
 
Sql queries with answers
Sql queries with answersSql queries with answers
Sql queries with answersvijaybusu
 
SQL practice questions - set 3
SQL practice questions - set 3SQL practice questions - set 3
SQL practice questions - set 3Mohd Tousif
 
DBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaDBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaMohammad Imam Hossain
 
Sql queries questions and answers
Sql queries questions and answersSql queries questions and answers
Sql queries questions and answersMichael Belete
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagramMayank Jain
 
SQL practice questions set
SQL practice questions setSQL practice questions set
SQL practice questions setMohd Tousif
 
DBMS 6 | MySQL Practice List - Rank Related Queries
DBMS 6 | MySQL Practice List - Rank Related QueriesDBMS 6 | MySQL Practice List - Rank Related Queries
DBMS 6 | MySQL Practice List - Rank Related QueriesMohammad Imam Hossain
 
Ejercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerEjercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerAlberto Navarro Reyes
 
Circular linked list
Circular linked list Circular linked list
Circular linked list sajinis3
 
Solution manual for database systems a practical approach to design implement...
Solution manual for database systems a practical approach to design implement...Solution manual for database systems a practical approach to design implement...
Solution manual for database systems a practical approach to design implement...zammok
 

Was ist angesagt? (20)

Sql Queries
Sql QueriesSql Queries
Sql Queries
 
SQL practice questions set - 2
SQL practice questions set - 2SQL practice questions set - 2
SQL practice questions set - 2
 
Ejemplos diagrama de entidad relación
Ejemplos diagrama de entidad relaciónEjemplos diagrama de entidad relación
Ejemplos diagrama de entidad relación
 
3. ERD.pptx
3. ERD.pptx3. ERD.pptx
3. ERD.pptx
 
Sql queries with answers
Sql queries with answersSql queries with answers
Sql queries with answers
 
SQL practice questions - set 3
SQL practice questions - set 3SQL practice questions - set 3
SQL practice questions - set 3
 
DBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational SchemaDBMS 3 | ER Diagram to Relational Schema
DBMS 3 | ER Diagram to Relational Schema
 
Sql queries questions and answers
Sql queries questions and answersSql queries questions and answers
Sql queries questions and answers
 
Normalization
NormalizationNormalization
Normalization
 
Enhanced E-R diagram
Enhanced E-R diagramEnhanced E-R diagram
Enhanced E-R diagram
 
SQL practice questions set
SQL practice questions setSQL practice questions set
SQL practice questions set
 
E3 ejercicio empresa
E3 ejercicio empresaE3 ejercicio empresa
E3 ejercicio empresa
 
DBMS 6 | MySQL Practice List - Rank Related Queries
DBMS 6 | MySQL Practice List - Rank Related QueriesDBMS 6 | MySQL Practice List - Rank Related Queries
DBMS 6 | MySQL Practice List - Rank Related Queries
 
Erd examples
Erd examplesErd examples
Erd examples
 
Ejercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data ModelerEjercicios resueltos-Erwin Data Modeler
Ejercicios resueltos-Erwin Data Modeler
 
SQL BASIC QUERIES SOLUTION ~hmftj
SQL BASIC QUERIES SOLUTION ~hmftjSQL BASIC QUERIES SOLUTION ~hmftj
SQL BASIC QUERIES SOLUTION ~hmftj
 
Ejercicios E-R con Erwin Data Modeler
Ejercicios E-R con Erwin Data ModelerEjercicios E-R con Erwin Data Modeler
Ejercicios E-R con Erwin Data Modeler
 
Circular linked list
Circular linked list Circular linked list
Circular linked list
 
Modelo e
Modelo eModelo e
Modelo e
 
Solution manual for database systems a practical approach to design implement...
Solution manual for database systems a practical approach to design implement...Solution manual for database systems a practical approach to design implement...
Solution manual for database systems a practical approach to design implement...
 

Andere mochten auch

Historia de los computadores
Historia de los computadoresHistoria de los computadores
Historia de los computadoresangelita-123
 
Portafolio unidad 3
Portafolio unidad 3Portafolio unidad 3
Portafolio unidad 3jesduranp
 
Investigación terapéutica con éxtasis (MDMA)
Investigación terapéutica con éxtasis (MDMA)Investigación terapéutica con éxtasis (MDMA)
Investigación terapéutica con éxtasis (MDMA)Fernando Caudevilla
 
Spānija mazajiem (4. klase)
Spānija mazajiem (4. klase)Spānija mazajiem (4. klase)
Spānija mazajiem (4. klase)eiropas_paklajs
 
Sesión 5(1)
Sesión 5(1)Sesión 5(1)
Sesión 5(1)stv1214
 
El arte de la guerra (sun tzu)
El arte de la guerra (sun tzu)El arte de la guerra (sun tzu)
El arte de la guerra (sun tzu)Efras Ort Pi
 
Crucigrama
CrucigramaCrucigrama
Crucigrama990429
 
Examen del 2do bimestre Carlos sanchez
Examen del 2do bimestre Carlos sanchezExamen del 2do bimestre Carlos sanchez
Examen del 2do bimestre Carlos sanchezCarlSanz
 
presentació 2
presentació 2presentació 2
presentació 2Emamedia
 
Sociedad en comandita
Sociedad en comanditaSociedad en comandita
Sociedad en comanditakatiatorres24
 
Prevencion e intervencion en problemas de salud mental del niño adolescente y...
Prevencion e intervencion en problemas de salud mental del niño adolescente y...Prevencion e intervencion en problemas de salud mental del niño adolescente y...
Prevencion e intervencion en problemas de salud mental del niño adolescente y...Empresa de Diplomados Arequipa - INNOVA
 

Andere mochten auch (20)

Sealesdetrnsito
SealesdetrnsitoSealesdetrnsito
Sealesdetrnsito
 
DIPLOMADO: psicoterapia cognitivo conductual 2013 AREQUIPA
DIPLOMADO: psicoterapia cognitivo conductual 2013 AREQUIPADIPLOMADO: psicoterapia cognitivo conductual 2013 AREQUIPA
DIPLOMADO: psicoterapia cognitivo conductual 2013 AREQUIPA
 
Historia de los computadores
Historia de los computadoresHistoria de los computadores
Historia de los computadores
 
Portafolio unidad 3
Portafolio unidad 3Portafolio unidad 3
Portafolio unidad 3
 
Karen baez
Karen baezKaren baez
Karen baez
 
Diez Motivos
Diez MotivosDiez Motivos
Diez Motivos
 
Investigación terapéutica con éxtasis (MDMA)
Investigación terapéutica con éxtasis (MDMA)Investigación terapéutica con éxtasis (MDMA)
Investigación terapéutica con éxtasis (MDMA)
 
Presentacion venecia
Presentacion veneciaPresentacion venecia
Presentacion venecia
 
Spānija mazajiem (4. klase)
Spānija mazajiem (4. klase)Spānija mazajiem (4. klase)
Spānija mazajiem (4. klase)
 
Sesión 5(1)
Sesión 5(1)Sesión 5(1)
Sesión 5(1)
 
El arte de la guerra (sun tzu)
El arte de la guerra (sun tzu)El arte de la guerra (sun tzu)
El arte de la guerra (sun tzu)
 
Internet II
Internet IIInternet II
Internet II
 
Crucigrama
CrucigramaCrucigrama
Crucigrama
 
Examen del 2do bimestre Carlos sanchez
Examen del 2do bimestre Carlos sanchezExamen del 2do bimestre Carlos sanchez
Examen del 2do bimestre Carlos sanchez
 
Licencias cc
Licencias ccLicencias cc
Licencias cc
 
presentació 2
presentació 2presentació 2
presentació 2
 
Karen baez
Karen baezKaren baez
Karen baez
 
Idea2
Idea2Idea2
Idea2
 
Sociedad en comandita
Sociedad en comanditaSociedad en comandita
Sociedad en comandita
 
Prevencion e intervencion en problemas de salud mental del niño adolescente y...
Prevencion e intervencion en problemas de salud mental del niño adolescente y...Prevencion e intervencion en problemas de salud mental del niño adolescente y...
Prevencion e intervencion en problemas de salud mental del niño adolescente y...
 

Ähnlich wie Base de datos agencia viajesMODELO ENTIDAD RELACIONViajero (DNI, Nombre, Dirección, Teléfono)Viaje (CódigoViaje, NúmeroPlazas, FechaViaje, OtrosDatos)Realiza (DNI, CódigoViaje)MODELO RELACIONALCREATE TABLE Viajero(DNI INT PRIMARY KEY, Nombre VARCHAR(50),Dirección VARCHAR(100), Teléfono INT);CREATE TABLE Viaje( CódigoViaje INT PRIMARY KEY,NúmeroPl

Ähnlich wie Base de datos agencia viajesMODELO ENTIDAD RELACIONViajero (DNI, Nombre, Dirección, Teléfono)Viaje (CódigoViaje, NúmeroPlazas, FechaViaje, OtrosDatos)Realiza (DNI, CódigoViaje)MODELO RELACIONALCREATE TABLE Viajero(DNI INT PRIMARY KEY, Nombre VARCHAR(50),Dirección VARCHAR(100), Teléfono INT);CREATE TABLE Viaje( CódigoViaje INT PRIMARY KEY,NúmeroPl (20)

Recopilacion...
Recopilacion...Recopilacion...
Recopilacion...
 
Aplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slideAplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slide
 
COMO CREAR UNA BASE DE DATOS EN MYSQL
COMO CREAR UNA BASE DE DATOS EN MYSQLCOMO CREAR UNA BASE DE DATOS EN MYSQL
COMO CREAR UNA BASE DE DATOS EN MYSQL
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller PráCtica 4
Taller PráCtica 4Taller PráCtica 4
Taller PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Taller De PráCtica 4
Taller De PráCtica 4Taller De PráCtica 4
Taller De PráCtica 4
 
Práctica SQL en MYSQL
Práctica SQL en MYSQLPráctica SQL en MYSQL
Práctica SQL en MYSQL
 
Virtualidad
VirtualidadVirtualidad
Virtualidad
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
Manual Tecnico
Manual TecnicoManual Tecnico
Manual Tecnico
 
2 do examen
2 do examen2 do examen
2 do examen
 
Integración de DataStax de Spark con Cassandra
Integración de DataStax de Spark con CassandraIntegración de DataStax de Spark con Cassandra
Integración de DataStax de Spark con Cassandra
 
Laboratorio de XML en DB2
Laboratorio de XML en DB2Laboratorio de XML en DB2
Laboratorio de XML en DB2
 
Cassandra Meetup
Cassandra MeetupCassandra Meetup
Cassandra Meetup
 
Bd laboratorio5
Bd laboratorio5Bd laboratorio5
Bd laboratorio5
 
rdolinski consultor 20100501 español
 rdolinski consultor 20100501 español rdolinski consultor 20100501 español
rdolinski consultor 20100501 español
 
Universidad nacional de trujillo
Universidad nacional de trujilloUniversidad nacional de trujillo
Universidad nacional de trujillo
 
Tema 9
Tema 9Tema 9
Tema 9
 
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
 

Kürzlich hochgeladen

c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 

Kürzlich hochgeladen (20)

c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 

Base de datos agencia viajesMODELO ENTIDAD RELACIONViajero (DNI, Nombre, Dirección, Teléfono)Viaje (CódigoViaje, NúmeroPlazas, FechaViaje, OtrosDatos)Realiza (DNI, CódigoViaje)MODELO RELACIONALCREATE TABLE Viajero(DNI INT PRIMARY KEY, Nombre VARCHAR(50),Dirección VARCHAR(100), Teléfono INT);CREATE TABLE Viaje( CódigoViaje INT PRIMARY KEY,NúmeroPl

  • 1. CREACION DE BASE DE DATOS LINA MARCELA MEJIA GONGORA PAOLA VARON FORERO INSTITUCION DE EDUCACION SUPERIOR “ITFIP” FACULTAD: INGENIERIA CIENCIAS AGROINDUSTRIALES SISTEMAS Y COMPUTACION BASE DE DATOS SEMESTRE III – NOCTURNO ESPINAL – TOLIMA 2012
  • 2. CREACION DE BASE DE DATOS LINA MARCELA MEJIA GONGORA PAOLA VARON FORERO NAYIBE SORAYA SANCHEZ LEON DOCENTE INSTITUCION DE EDUCACION SUPERIOR “ITFIP” FACULTAD INGENIERIA CIENCIAS AGROINDUSTRIALES SISTEMAS Y COMPUTACION BASE DE DATOS SEMESTRE III – NOCTURNO ESPINAL – TOLIMA 2012
  • 3. TABLA DE CONTENIDO Introducción. Objetivos. Cuerpo del trabajo  Enunciados.  Modelo entidad relación.  Modelo relaciona.  Diccionarios de datos.  Script de MYSQL.
  • 4. INTRODUCCION Una base de datos es un sistema para archivar información en computadora cuyo propósito general es mantener información y hacer que esté disponible cuando se solicite. Actualmente el mundo empresarial necesita manejar gran cantidad de datos, por lo que se hace necesario disponer de medios hardwares y software que permitan acceder a la información de una manera rápida, sencilla y fiable. El presente trabajo se basa en la solución de diversos ejercicios de desarrollo de Base de Datos cada uno con su Modelo Entidad Relación (MER), Modelo Relacional (M/R), Diccionario de Datos y por último el script de MYSQL donde crea la base de datos.
  • 5. OBJETIVOS Nuestro principal objetivo es poder desarrollar Bases de Datos que puedan emplearse en diversas situaciones empresariales donde se necesite manejar variables cantidades de datos facilitando así su procesamiento y garantizar una gran seguridad de almacenamiento y facilidad de acceso. El objetivo final de dicho proyecto es la elaboración de sistemas de información (BD) acerca de datos reales empleando los conocimientos obtenidos en el transcurso del III semestre de SISTEMAS Y COMPUTACION en el área de BASE DE DATOS dirigido por la docente NAYIBE SORAYA SANCHEZ LEON.
  • 6. CUERPO DEL TRABAJO 1° TALLER EJERCICIO 1. 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. MODELO ENTIDAD RELACION
  • 7. MODELO RELACIONAL SCRIPT DE MYSQL Mysql>CRÉATE DATABASE multas Mysql>USE multas; Mysql>CREATE TABLE VEHÍCULOS (MATRICULA VARCHAR (15) NOT NULL, MARCA VARCHAR(11)NOT NULL, color VARCHAR (10), PRIMARY KEY(MATRICULA ) )ENGINE=INNODB; Mysql>CREATE TABLE PERSONAS( CEDULA INT(11)NOT NULL, NOMBRE VARCHAR (15)NOT NULL,DIRECCIÓN VARCHAR (25)NOT NULL, APELLIDOS VARCHAR (35) NOT NULL, TELÉFONO INT (12)NOT NULL, PRIMARY KEY(CEDULA) )EGINE=INNODB; Mysql>CREATE TABLE MULTAS (CONCECUTIVODEMULTAS INT (11) NOT NULL,CEDULA INT(11) NOT NULL , FECHAYHORA DATETIME, LUGARINFRACION VARCHAR(16)NOT NULL,PRIMARYKEY(CONCECUTIVODEMULTAS) ENGINE=INNODB; MYSQL>ALTER TABLE MULTAS ADD INDEX (CEDULA); Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA)REFERENCES MULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 8. Mysql>CREATE TABLE POSSER( TARJETA_DE_PROPIEDAD VARCHAR(11) NOT NULL, CIUDAD_DE_EXPEDICION VARCHAR (16) NOT NULL, MATRICULA VARCHAR (15) NOT NULL, CEDULA INT (11) NOT NULL, PRIMARY KEY(TARJETA_DE_PROPIEDAD, CIUDAD_DE_EXPEDICION, MATRICULA, CEDULA)ENGINE= INNODB; Mysql>ALTER TABLE MULTAS ADD INDEX (DNI); Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA) REFERENCES .PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA); Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCES MULTAS.VEHICULOS (MATRICULA) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql> CREATE TABLE INVOLUCRAR (HORA DATETIME, MATRICULA VARCHAR (16) NOT NULL, CEDULA INT (15) NOT NULL, PRIMARY KEY (HORA, MATRICULA, CEDULA), Mysql>ALTER TABLE MULTAS ADD INDEX (MATRICULA); Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY(MATRICULA )REFERENCES MULTAS.VEHICULOS (MATRICULA) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql>ALTER TABLE MULTAS ADD INDEX (DNI); Mysql> ALTER TABLE MULTAS ADD FOREIGN KEY (CEDULA)REFERENCES MULTAS.PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 9.
  • 10.
  • 12. 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". MODELO ENTIDAD RELACION
  • 13. MODELO RELACIONAL SCRIPT MYSQL Mysql>CREATE DATABASE HOTEL; Mysql>USE HOTEL; Mysql>CREATE TABLE CATEGORIA (NIVELVARCHAR (10) NOT NULL, IVA MONEY, DESCRIPCION TEXT, PRIMARY KEY (NIVEL )) ENGINE=INNODB; Mysql> CREATE TABLE PERSONAS(CEDULAINT(12)NOT NULL,NOMBRE VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5) NOT NULL, TELEFONO INT (12) NULL, PRIMARY KEY ( CEDULA ) ) ENGINE= INNODB ; Mysql> CREATE TABLE AGENCIAS_DE_VIAJES(NIT_A_V INT (12) NOT NULL ,NOMBRE VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5)NOTNULL, TELEFONO INT (12) NULL, CIUDAD VARCHAR(10) NOT NULL, PRIMARY KEY (NIT_A_V))ENGINE= INNODB; Mysql> CREATE TABLE HOTELES (NIT INT (10) NOT NULL, NIVEL VARCHAR (10) NOT NULL, NOMBRE VARCHAR(10) NOT NULL, DIRECCION VARCHAR(5) NOT NULL, AÑO_DE_CONSTRUCCION INT (4) NOT NULL, PRIMARY KEY( NIT)) ENGINE= INNODB; Mysql>ALTER TABLE HOTEL ADD INDEX (NIVEL); Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIVEL )REFERENCES HOTELERA.CATEGORIA (NIVEL) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 14. Mysql> CREATE TABLE HABITACION (CODIGO_HABITACION INT (12) NOT NULL,NIT INT (10) NOT NULL, TIPOS_DE_HABITACIONES VARCHAR(15) NOT NULL, PRIMARY KEY( CODIGO_HABITACION )) ENGINE= INNODB; Mysql>ALTER TABLE HOTEL ADD INDEX (NIT); Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT )REFERENCES HOTEL .HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql> CREATE TABLE RESERVAS (NUMERO_RESERVAS INT(2)NOT NULL, NIT INT (12) NOT NULL, CEDULA INT (12) NOT NULL, NIT_A_V INT (12) NOT NULL, FECHA_INGRESO DATETIME NOT NULL, FECHA_SALIDA DATETIME NOT NULL, HORA_INGRESO DATETIME NOT NULL, PRIMARY KEY( NUMERO_RESERVAS)) ENGINE= INNODB; Mysql>ALTER TABLE HOTEL ADD INDEX (NIT); Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(NIT)REFERENCES HOTEL .HOTELES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql>ALTER TABLE HOTEL ADD INDEX (CEDULA); Mysql> ALTER TABLE HOTEL ADD FOREIGN KEY(CEDULA)REFERENCES HOTELERA .PERSONAS (CEDULA) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql>ALTER TABLE HOTEL ADD INDEX (NIT_A_V); Mysql>ALTER TABLE HOTEL ADD FOREIGN KEY(NIT_A_V)REFERENCES HOTEL .AGENCIAS_DE_VIAJES (NIT_A_V) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 15.
  • 16.
  • 17.
  • 18. EJERCICIOS 2° TALLER EJERCICIO 1 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". MODELO ENTIDAD RELACION
  • 19. MODELO RELACIONAL SCRIPT DE MYSQL SCRIPT MYSQL mysql>CREATE DATABASE AGENCIAVIAJES; MYSQL>USE AGENCIAVIAJES; MYSQL>CREATE TABLE VIAJEROS( DNI INT(12)2NOT NULL, NOMBRE VARCHAR(10)NOT NULL, DIRECCION VARCHAR(5)NOT NULL, TELEFONO INT(6) NOT NULL, PRIMARY KEY( DNI))ENGINE=INNODB; MYSQL>CREATE TABLE VIAJES(CODIGO INT(12) NOT NULL, DNI INT(12)NOT NULL, NUMERO_PLAZAS INT(3)NOT NULL, FRV DATETIME NOT NULL, PRIMARY KEY( CODIGO))ENGINE=INNODB; MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX (DNI); mysql> ALTER TA BLE AGENCIAVIAJES ADD FOREIGN KEY(DNI)REFERENCES.VIAJEROS (DNI) ON DELETE NOT ACTION ON UPDATE CASCADE; MYSQL> CREATE TABLE ORIGEN(CODIGO INT(12)NOT NULL, CODIGO_ORIGEN INT(12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB; MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO);
  • 20. mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE DESTINO( CODIGO INT(5) NOT NULL, CODIGO_DESTINO INT((12)NOT NULL, PRIMARY KEY(CODIGO))ENGINE=INNODB; MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO); mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE REFERENCIAS_FAMILIARES( DNI_FAMILIAR INT(15) NOT NULL, NOMBRE VARCHAR(15)NOT NULL, APELLIDOS VARCHAR(10)NOT NULL, DIRECCION INT(6) NOT NULL, TELEFONO INT(12) NOT NULL, PRIMARY KEY ( DNI_FAMILIAR, DNI ,CODIGO))ENGINE=INNODB; MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(DNI); mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(DNI)REFERENCES.VIAJEROS (DNI) ON DELETE NOT ACTION ON UPDATE CASCADE; MYSQL> ALTER TABLE AGENCIAVIAJES ADD INDEX(CODIGO); mysql>ALTERTABLEAGENCIAVIAJES ADDFOREIGNKEY(CODIGO)REFERENCES.VIAJEROS (CODIGO) ON DELETE NOT ACTION ON UPDATE CASCADE; DICCIONARIO DE DATOS
  • 21.
  • 22. EJERCICIO 2. 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". MODELO ENTIDAD RELACION
  • 23. MODELO RELACIONAL Script Mysql CREATE DATABASE CONSECCIONARIO; USE DATABASE CONSECCIONARIO; CREATE TABLE CLIENTE ( DN VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(500), DIRECCION VARCHAR(25), TELEFONO VARCHAR(25), PRIMARY KEY ( DN ) ); CREATE TABLE MECANICO ( DNI_MECANICO VARCHAR(25), NOMBRE VARCHAR(25), APELLIDOS VARCHAR(25), FECHA_CONTRATACION VARCHAR(25),
  • 24. 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 )
  • 25. 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
  • 26. ( DNI_MECANICO ) REFERENCES MECANICO ( DNI_MECANICO ) );
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. SCRIPT DE MYSQL EJERCICIO 3. 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. MODELO ENTIDAD RELACION
  • 33. MODELO RELACIONAL SCRIPT MYSQL CREATE DATABASE APARATOSELECTRONIC; USE APARATOSELECTRONIC; CREATE TABLE TIPOELECTRODOMESTICO ( CODIGO_ELECTRODOMESTICO VARCHAR(26), NOMBRE VARCHAR(100),
  • 34. 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),
  • 35. 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 ) );
  • 37.
  • 38.
  • 39. EJERCICIO 4. Para los siguientes enunciados identifique las entidades y sus relaciones. a. Una persona puede comprar una o muchas casas, Una casa debe ser propiedad de una sola persona. MODELO ENTIDAD RELACION MODELO RELACIONAL b. Un cliente debe comprar uno o muchos productos, Un producto debe ser comprado por un cliente. MODELO ENTIDAD RELACION MODELO RELACIONAL c. Un proveedor puede proveer uno o más productos, Un producto debe ser provisto por uno o más proveedores. MODELO ENTIDAD RELACION
  • 40. MODELO RELACIONAL d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleado debe ser subordinado de un empleado. MODELO ENTIDAD RELACION MODELO RELACIONAL e. Un investigador puede hacer muchas observaciones, Una observación debe ser hecha por un investigador. MODELO ENTIDAD RELACION
  • 41. MODELO RELACIONAL f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitar en un territorio. MODELO ENTIDAD RELACION MODELO RELACIONAL g. Una hembra puede ser la madre de muchos chimpancés. Un chimpancé debe ser hijo de una hembra. MODELO ENTIDAD RELACION
  • 42. MODELO RELACIONAL h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribir muchos libros. MODELO ENTIDAD RELACION MODELO RELACIONAL i. Un estudiante está matriculado en muchos cursos. En un curso hay muchos estudiantes matriculados. MODELO ENTIDAD RELACION MODELO RELACIONAL
  • 43. j. Una base de datos debe contener información relativa a las ventas de los productos de una cierta compañía. Cada agente de la compañía es responsable de las ventas en una o más áreas. Cada área tiene uno o más agentes como responsables de las ventas que se realicen en ella. Cada agente es responsable de la venta de uno o más productos y cada producto tiene uno o más agentes responsables de su venta. Un producto se vende en todas las áreas y en un área se pueden vender todos los productos. MODELO ENTIDAD RELACION MODELO RELACIONAL
  • 44. SCRIPT MYSQL CREATE DATABASE VARIOS; USE VARIOS; CREATE TABLE PERSONA ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) ); CREATE TABLE CLIENTE ( CEDULA BIGINT, NOMBRE TEXT, PRIMARY KEY ( CEDULA ) ); CREATE TABLE EMPLEADO ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY ( NIT ) ); CREATE TABLE PROVEDOR ( NIT VARCHAR(20), NOMBRE TEXT, PRIMARY KEY (
  • 45. 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,
  • 46. 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 (
  • 47. 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 ) );
  • 48. 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),
  • 49. 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
  • 50. ), 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
  • 51. ) 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 ) );
  • 52. 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 ),
  • 53. 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
  • 54. ( CODIGO, COD_AREA ), FOREIGN KEY ( CODIGO ) REFERENCES PRODUCT ( CODIGO ), FOREIGN KEY ( COD_AREA ) REFERENCES AREAS ( COD_AREA ) );
  • 56. B)
  • 57. c)
  • 58.
  • 59. d)
  • 60. e)
  • 61. F)
  • 62. G)
  • 63. H)
  • 64. I)
  • 65.
  • 66. J)
  • 67.
  • 68.
  • 69. EJERCICIO 5. A 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. MODELO ENTIDAD RELACION
  • 70. MODELO RELACIONAL SCRIPT MYSQL CREATE DATABASE PRESTAMO; USE PRESTAMO; CREATE TABLE EMPRESAS ( COD_EMPRESA VARCHAR(20), PERSO_CONTACTO VARCHAR(25), DIRECCIONEMPRESA VARCHAR(45), NºEMPLEADOS VARCHAR(25), CONVENIOS VARCHAR(15), PRIMARY KEY ( COD_EMPRESA ) ); CREATE TABLE CODEUDOR ( CEDULACODEUDOR VARCHAR(24), NOMBRE VARCHAR(25), TELEFONO_CODEU VARCHAR(25), DIRECCION VARCHAR(14), POSIBLECLIENTE VARCHAR(25),
  • 71. 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 ) );
  • 72. 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
  • 73. ( COD_MODALIDAD ) REFERENCES MODALIDADPRESTAMO ( COD_MODALIDAD ), FOREIGN KEY ( CODIGO_PRESTA ) REFERENCES PRESTAMO ( CODIGO_PRESTA ) );
  • 74.
  • 75.
  • 76.
  • 77. SCRIPT DE MYSQL EJERCICIO 6. 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 un serie de policías que tienen una cedula, nombre y a 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 MODELO ENTIDAD RELACION
  • 79. SCRIPT DE MYSQL CREATE DATABASE POLICIAS; USE POLICIAS; CREATE TABLE JEFES ( CEDULA VARCHAR(20), NOMBRE_JEFE VARCHAR(25), RANGO VARCHAR(25), FUNCION VARCHAR(25), PRIMARY KEY ( CEDULA ) ); CREATE TABLE CELDA ( CODIGO_CELDA VARCHAR(25), UBICACION VARCHAR(23), PRIMARY KEY ( CODIGO_CELDA ) ); CREATE TABLE ARRESTOS ( COD_CASO VARCHAR(20), CEDULA VARCHAR(23), CEDULA_DELICUENTE VARCHAR(25), JUZGADO VARCHAR(25), PRIMARY KEY ( COD_CASO ) ); CREATE TABLE POLICIAS
  • 80. ( 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
  • 81. ( 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
  • 82. ), FOREIGN KEY ( CEDULA ) REFERENCES POLICIAS ( CEDULA ) ); TALLER 3 EJERCICIO 1. 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. MODELO ENTIDAD RELACION
  • 83. MODELO RELACIONAL SCRIPT DE MYSQL MYSQL>USE AEROPUERTO; mysql> CREATE TABLE PERSONAS(NSS VARCHAR(12)NOT NULL, DIRECCION VARCHAR(30)NOT NULL, TELEFONO VARCHAR(12)NOT NULL, NOMBRE VARCHAR(20)NOT NULL, APELLIDOS VARCHAR(20)NOT NULL, PRIMARY KEY(NSS))ENGINE=INNODB; mysql> CREATE TABLE CLASIFICACION_DE_AVIONES(MODELO VARCHAR(5)NOT NULL, PESOINT(20)NOTNULL,CAPACIDADINT(30)NOTNULL,PRIMARYKEY(MODELO)) ENGINE=INNODB; mysql> CREATE TABLE HANGARES(NUMERO_HANGARES INT(20)NOT NULL,, CAPACIDAD INT(30)NOT NULL, LOCALIZACION VARCHAR(30)NOT NULL, PRIMARY KEY(NUMERO_HANGARES))ENGINE=INNODB; mysql> CREATE TABLE PILOTO NSS VARCHAR(12)NOT NULL, NUMERO_DE_LICENCIA VARCHAR(15)NOT NULL, RESTRICIONES TEXT NOT NULL, PRIMARY KEY (NSS))ENGINE=INNODB;
  • 84. MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES. PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE EMPLEADOS(NSS VARCHAR(12)NOT NULL, SALARIO MONEY NOT NULL, TURNO VARCHAR(15)NOT NULL,PRIMARY KEY(NSS))ENGINE=INNODB; mysql> CREATE TABLE PROPIETARIO NSS VARCHAR(12) NOT NULL,PRIMAY KEY(NSS))ENGINE=INNODB; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES. PERSONAS(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE AVIONES (NUMERO_AVIONES VARCHAR(10)NOT NULL, MODELO VARCHAR(5)NOT NULL, COMBUSTIBLE VARCHAR(15)NOT NULL, PRIMARY KEY( NUMERO_AVIONES))EMGINE=INNODB; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(MODELO); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(MODELO) REFERENCES. CLASIFICACION_DE_AVIONES (MODELO) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE GUARDAR(NUMERO_HANGARES INT(20)NOT NULL, NUMERO_AVIONES VARCHAR(10)NOT NULL, FECHA_RETIRO DATETIMENOT NULL, FECHA_INGRESO DATETIME NOT NULL, PRIMARY KEY(NUMERO_HANGARES, NUMERO_AVIONES))ENGINE=INNODB; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_HANGARES); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_HANGARES) REFERENCES. HANGARES (NUMERO_HANGARES )ON DELETE NOT ACTION ON UPDATE CASCADE; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_AVIONES) REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 85. MYSQL> CREATE TABLE PILOTIAR(NSS VARCHAR(12)NOT NULL, NUMERO_AVIONES VARCHAR(10)NOT NULL, PRIMARY KEY(NSS,NUMERO_AVIONES))ENGINE=INNODB; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NSS); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NSS) REFERENCES. PILOTO(NSS) ON DELETE NOT ACTION ON UPDATE CASCADE; MYSQL> ALTER TABLE AEROPUERTO ADD INDEX(NUMERO_AVIONES); mysql>ALTERTABLE AEROPUERTO ADDFOREIGNKEY(NUMERO_AVIONES) REFERENCES. AVIONES(NUMERO_AVIONES)ON DELETE NOT ACTION ON UPDATE CASCADE; mysql>CREATE TABLE TRABAJAR(NSS VARCHAR(12)NOT NULL, NUMERO_AVIONESVARCHAR(10)NOT NULL, PRIMARY KEY(NSS,NUMERO_AVIONES))ENGINE=INNODB
  • 87.
  • 88.
  • 89.
  • 90. EJERCICIO 2. Dado 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.
  • 92. SCRIPT MYSQL CREATE DATABASE PROYECTO; USE PROYECTO; CREATE TABLE PROYECTOS ( CODIGO_PROYECTO VARCHAR(20), NOMBRE_PROYECTO VARCHAR(20), ESFUERZO_AL_MES VARCHAR(20), PRIMARY KEY ( CODIGO_PROYECTO ) ); CREATE TABLE EMPRESA_CLIENTE ( NIT VARCHAR(20), NOMBRE_EMPRESA VARCHAR(20), DIRECCION_EMPRESA VARCHAR(20), TELEFONO_EMPRESA VARCHAR(12), PRIMARY KEY ( NIT ) ); CREATE TABLE SERVIIOS_PRESTADOS ( CODIGO_SERVICIO VARCHAR(2), NIT VARCHAR(20), PRECIO_POR_MES MONEY, EMPRESA_CONTRATADORA VARCHAR(20), PRIMARY KEY ( CODIGO_SERVICIO ), FOREIGN KEY ( NIT
  • 93. ) 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 (
  • 94. 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
  • 95. ) 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 ) );
  • 96.
  • 97.
  • 98.
  • 99. EJERCICIO 3. Dado el siguiente enunciado, obtén el modelo entidad-relación extendido, relacional. Una empresa dedicada a la realización de reformas y construcciones en 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. MODELO ENTIDAD RELACION MODELO RELACIONAL
  • 100. SCRIPT DE MYSQL CREATE DATABASE CONTRUCCION; USE CONSTRUCCION; CREATE TABLE CUADRILLA ( COD_INTERNO BIGINT, NOMBRE VARCHAR(40), LOCALIDAD VARCHAR(40), PRIMARY KEY ( COD_INTERNO ) ); CREATE TABLE ALBAÑIL ( NSS VARCHAR(40), COD_INTERNO BIGINT, NOMBRE VARCHAR(10), APELLIDO VARCHAR(10), F_NACIMIENTO DATETIME, N_FIJO BIGINT, N_MOVIL BIGINT, PRIMARY KEY
  • 101. ( NSS ), FOREIGN KEY ( COD_INTERNO ) REFERENCES CUADRILLA ( COD_INTERNO ) ); CREATE TABLE PEON ( NSS VARCHAR(40), DNI VARCHAR(70), SUELDO MONEY, NACIONALIDAD VARCHAR(80), PRIMARY KEY ( NSS ), FOREIGN KEY ( NSS ) REFERENCES ALBAÑIL ( NSS ) ); CREATE TABLE MAESTRO ( NSS VARCHAR(40), DNI VARCHAR(70), SUELDO MONEY, PRIMARY KEY ( NSS ),
  • 102. FOREIGN KEY ( NSS ) REFERENCES ALBAÑIL ( NSS ) );
  • 103.
  • 104.
  • 105. EJERCICIO 4. Dado el siguiente enunciado, obtén el modelo entidad-relación extendido, relacional. Una empresa dedicada a la venta de material óptico desea que diseñemos 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. MODELO ENTIDAD RELACION
  • 106. MODELO RELACIONAL SCRIPT DE MYSQL CREATE DATABASE OPTICA; USE OPTICA; CREATE TABLE CLIENTE ( CODIGO VARCHAR(4000), NOMBRE VARCHAR(40), PRIMARY KEY (
  • 107. CODIGO ) ); CREATE TABLE GAFAS ( CODIGO VARCHAR(60), CODIGO_1 VARCHAR(4000), PRECIO VARCHAR(700), MARCA VARCHAR(80), MODELO VARCHAR(90), MATERIAL_FABRICACION VARCHAR(50), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) ); CREATE TABLE LENTES ( CODIGO VARCHAR(100), CODIGO_1 VARCHAR(4000), PRECIO VARCHAR(4000), MARCA VARCHAR(10), TIPO_BANDA VARCHAR(70), COLOR VARCHAR(70), PRODUCTOS_LIMPIEZA VARCHAR(70), GRADUACION VARCHAR(40), PRIMARY KEY ( CODIGO ), FOREIGN KEY (
  • 108. CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) ); CREATE TABLE GRADUADAS ( CODIGO VARCHAR(60), GRADUACION VARCHAR(70), PROBLEMAS_OCULARES VARCHAR(80), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS ( CODIGO ) ); CREATE TABLE SOL ( CODIGO VARCHAR(60), CODIGO_1 VARCHAR(4000), NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(80), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS (
  • 109. CODIGO ), FOREIGN KEY ( CODIGO_1 ) REFERENCES CLIENTE ( CODIGO ) ); CREATE TABLE SOL_GRADUADAS ( CODIGO VARCHAR(60), NIVEL_FILTRADO_R_ULTRAVIOLETA VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES GAFAS ( CODIGO ) ); CREATE TABLE HABITUAL ( CODIGO VARCHAR(4000), DESCUENTO VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO )
  • 110. REFERENCES CLIENTE ( CODIGO ) ); CREATE TABLE OCASIONAL ( CODIGO VARCHAR(4000), DESCUENTO VARCHAR(70), PRIMARY KEY ( CODIGO ), FOREIGN KEY ( CODIGO ) REFERENCES CLIENTE ( CODIGO ) );
  • 111.
  • 112.
  • 113.
  • 114.
  • 115. EJERCICIOS SIN ENUNCIADO PRODUCTO INFORMATIVO MODELO ENTIDAD RELACION MODELO RELACIONAL
  • 116. SCRIPT MYSQL mysql>CREATE DATABASE PRODUCTOINFORMATIVO; mysql>USE PRODUCTOINFORMATIVO; mysql> CREATE TABLE CLIENTE(CODIGO_CLIENTE INT(12) NOT NULL, NOMBRE VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL , DIRECCION VARCHAR(6) NOT NULL, TELEFONO INT(12) NOT NULL, PRIMARY KEY( CODIGO_CLIENTE) )ENGINE=INNODB; mysql> CREATE TABLE PRODUCTO(CODIGO INT(12) NOT NULL, DESCRIPCION VARCHAR(20)NOT NULL, PRECIO MONEY NOT NULL, EXITENCIAS INT(2),PRIMARYKEY( CODIGO))ENGINE=INNODB; mysql> CREATE TABLE PROVEDORES(CODIGO_PROVEDOR INT(12)NOT NULL, NOMBRE VARCHAR(10) NOT NULL, APELLIDOS VARCHAR(10) NOT NULL, DIRECCION VARCHAR(6)NOT NULL, PROVINCIA VARCHAR(10)NOT NULL, NUMEROTEL INT(10)NULL,PRIMARYKEY(CODIGO_PROVEDOR)) ENGINE=INNODB; mysql> CREATE TABLE COMPRAR(FECHA_COMPRA DATETIME NOT NULL, CODIGO_CLIENTE INT(12) NOT NULL, CODIGO INT(12) NOT NULL, PRIMARY KEY( FECHA_COMPRA, CODIGO_CLIENTE, CODIGO)ENGINE=INNODB; mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_CLIENTE); mysql>ALTERTABLE PRODUCTOINFORMATIVO ADDFOREIGNKEY (CODIGO_CLIENTE)REFERENCES PRODUCTOINFORMATIVO .CLIENTE (CODIGO_CLIENTE) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO); mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGN KEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql> CREATE TABLE SUMINISTRAR(CANTIDAD INT(2) NOT NULL, CODIGO_PROVEDOR INT(12)NOT NULL, PRIMARY KEY(CANTIDAD_PRODUCTO,CODIGO, CODIGO_PROVEDOR))ENGINE=INNODB; mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO);
  • 117. mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGN KEY(CODIGO)REFERENCES PRODUCTOINFORMATIVO .PRODUCTO (CODIGO) ON DELETE NOT ACTION ON UPDATE CASCADE; mysql>ALTER TABLE PRODUCTOINFORMATIVO ADD INDEX (CODIGO_PROVEDOR); mysql> ALTER TABLE PRODUCTOINFORMATIVO ADD FOREIGN KEY(CODIGO_PROVEDOR )REFERENCES PRODUCTOINFORMATIVO .PROVEDORES ( CODIGO_PROVEDOR ) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 118.
  • 119.
  • 120.
  • 121. AUTOS MODELO ENTIDAD RELACION MODELO RELACIONAL SCRIPT MYSQL Mysql>CREATE DATABASE AUTO; Mysql>USE AUTO;
  • 122. Mysql>CREATE TABLE CLIENTES ( NIT INT (12) NOT NULL , NOMBRE VARCHAR(15) NOT NULL, APELLIDOS VARCHAR(15) NOT NULL, DIRECCION VARCHAR(6) NOT NULL, CIUDAD VARCHAR(15) NOT NULL, CODINTERNO INT(12), PRIMARY KEY( NIT)) ENGINE=INNODB; Mysql>CREATE TABLE MARCA (COD_MARCA INT (10) NOT NULL, DESCRIPCION TEXT NOT NULL, PRIMARY KEY (COD_MARCA)) ENGINE= INNODB; Mysql> CREATE TABLE COCHE (MATRICULA VARCHAR(6)NOT NULL, MODELO TEXT NOT NULL, COLOR TEXT NOT NULL , PVC MONEY NOT NULL, PRIMARY KEY (MATRICULA)) ENGINE=INNODB; Mysql>ALTER TABLE AUTO ADD INDEX (NIT); Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(NIT)REFERENCES AUTO .CLIENTES (NIT) ON DELETE NOT ACTION ON UPDATE CASCADE; Mysql>ALTER TABLE AUTO ADD INDEX (COD_MARCA); Mysql> ALTER TABLE AUTO ADD FOREIGN KEY(CODIGO_M)REFERENCES AUTO .MARCA (COD_MARCA) ON DELETE NOT ACTION ON UPDATE CASCADE;
  • 123.
  • 124.
  • 126. SCRIPT MYSQL CREATE DATABASE FUTBOL; USE FUTBOL; CREATE TABLE PARTIDOS ( COD_PARTIDO BIGINT, FECHA_PARTIDO DATETIME, GOLES_AFAVOR BIGINT, GOLES_CONTRA BIGINT, PRIMARY KEY ( COD_PARTIDO ) ); CREATE TABLE PRESIDENTE ( DNI VARCHAR(6), NOMBRE VARCHAR(50), APELLIDOS VARCHAR(50), FEC_NACIMIENTO DATETIME, EQUIPO_PRESIDE VARCHAR(25), AÑO_ELECCION DATETIME, PRIMARY KEY ( DNI ) ); CREATE TABLE EQUIPOS ( CODIGO_EQUIPO VARCHAR(5), DNI VARCHAR(6), NOM_EQUIPO VARCHAR(35), NOM_ESTADIO VARCHAR(35), AFORO VARCHAR(50), AÑO_FUNDADO BIGINT, CIUDAD_EQUIPO VARCHAR(25), PRIMARY KEY ( CODIGO_EQUIPO
  • 127. ), 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
  • 128. ), FOREIGN KEY ( CODIGO_JUG ) REFERENCES JUGADORES ( CODIGO_JUG ), FOREIGN KEY ( COD_PARTIDO ) REFERENCES PARTIDOS ( COD_PARTIDO ) );
  • 130.
  • 131.
  • 132. CARGA ACADEMIDA MODELO ENTIDAD RELACION MODELO RELACIONAL
  • 133.
  • 134.
  • 135.
  • 136. SCRIPT MYSQL CREATE DATABASE ACADEMICA; USE ACADEMICA; CREATE TABLE ASIGNATURAS ( CODASIGNATURA VARCHAR(5), NOMBASIGNATURA VARCHAR(20), CREDACADASIGNATURA INT, /* Creditos Academicos Asignatura */ IHTASIGNATURA INT, /* Intensidad Horas Teoricas */ IHPASIGNATURA INT, /* Intensidad Horas Practicas */ CONDASIGNATURA VARCHAR(30), /* Condiciones de la asignatura */ PRIMARY KEY ( CODASIGNATURA ) ); CREATE TABLE DOCENTES ( CODDOCENTE VARCHAR(10), NOMBDOCENTE VARCHAR(30), APLLDOCENTE VARCHAR(30), PROFDOCENTE VARCHAR(2), /* profesion */ CELDOCENTE VARCHAR(12), /* celular */ VINCDOCENTE VARCHAR(2), /* Vinculacion Laboral */ PRIMARY KEY ( CODDOCENTE ) ); CREATE TABLE ALUMNOS ( CODALUMNO VARCHAR(6), NOMBALUMNO VARCHAR(30), APLLALUMNO VARCHAR(30), CELALUMNO VARCHAR(12), PRIMARY KEY
  • 137. ( CODALUMNO ) ); CREATE TABLE CARRERAS ( CODPROGRAMA VARCHAR(4), NOMBCARRERA VARCHAR(50), TOTALCREDITOS INT, PRIMARY KEY ( CODPROGRAMA ) ); CREATE TABLE FORMINSCRIPCION ( CONSINSCRIPCION INT, CODALUMNO VARCHAR(6), CODPROGRAMA VARCHAR(4), FECHINSCRIPCION DATETIME, SEMINSCRIPCION CHAR(5), /* /* semestre academico */ */ PRIMARY KEY ( CONSINSCRIPCION ), FOREIGN KEY ( CODALUMNO ) REFERENCES ALUMNOS ( CODALUMNO ), FOREIGN KEY ( CODPROGRAMA ) REFERENCES CARRERAS ( CODPROGRAMA
  • 138. ) ); CREATE TABLE REGISTROMATERIAS ( CONSEREGISTRO INT, CODASIGNATURA VARCHAR(5), CODDOCENTE VARCHAR(10), CONSINSCRIPCION INT, JORNADA CHAR(2), PRIMARY KEY ( CONSEREGISTRO ), FOREIGN KEY ( CODASIGNATURA ) REFERENCES ASIGNATURAS ( CODASIGNATURA ), FOREIGN KEY ( CODDOCENTE ) REFERENCES DOCENTES ( CODDOCENTE ), FOREIGN KEY ( CONSINSCRIPCION ) REFERENCES FORMINSCRIPCION ( CONSINSCRIPCION ) ); CREATE TABLE ASIGNAR (
  • 139. CONSCARGA INT, CODDOCENTE VARCHAR(10), CODASIGNATURA VARCHAR(5), DIACLASE VARCHAR(10), HORACLASE TEXT, SALONCLASE TEXT, SEMACADEMICO VARCHAR(5), PRIMARY KEY ( CONSCARGA, CODDOCENTE, CODASIGNATURA ), FOREIGN KEY ( CODDOCENTE ) REFERENCES DOCENTES ( CODDOCENTE ), FOREIGN KEY ( CODASIGNATURA ) REFERENCES ASIGNATURAS ( CODASIGNATURA ) );