TALLER DE BASE DE DATOSAGUILAR GONZALEZ JOSE ALEXANDERVEGA DIAZ BRAYAN ANTONIOINSTITUTO TOLIMENSE DE EDUCACION SUPERIOR“IT...
TALLER DE BASE DE DATOSAGUILAR GONZALEZ JOSE ALEXANDERVEGA DIAZ BRAYAN ANTONIO“EL VERDADERO HEROÍSMO CONSISTE EN CONVERTIR...
TABLA DE CONTENIDOSIntroducción…………………………………………………………… pág. 4Objetivo general ……………………………………………………… pág. 5Objetivos especí...
INTRODUCCIÓNA continuación se presentara una serie de ejercicios de la asignatura dediseño de base de datos. Donde encontr...
JUSTIFICACIONEste trabajo se realizo con el fin de analizar la creación de las base de datosdesde su análisis hasta la cre...
OBJETIVO GENERAL   Analizar la construcción de bases de datos partiendo desde el análisis    del diseño hasta la construc...
OBJETIVOS ESPECÍFICOS   Diseñar el modelo entidad relación y modelo relación   Crear el diccionario de datos de las tabl...
TALLER N° 1EJERCICIO N° 1Imagina que una agencia de seguros de tu municipio te ha solicitado una base dedatos mediante la ...
Figura 1: modelo entidad relacional                                      9
Figura 2: Modelo Relacional                              10
EJERCICIO N°2.Se trata de realizar el diseño de la base de datos en el modelo E/R para unacadena de hoteles."Cada hotel (d...
Figura 3: modelo entidad relacional                                      12
Figura 4: Modelo Relacional                              13
EJERCICIO 3."Una empresa necesita organizar la siguiente información referente a suorganización interna.La empresa está or...
15
16
TALLER N°2EJERCICIO 1.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de d...
18
19
20
21
EJERCICIO 2.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relac...
23
24
25
26
27
EJERCICIO 3.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relac...
29
30
31
32
EJERCICIO 4.Para los siguientes enunciados identifique las entidades y sus relaciones.a. Una persona puede comprar una o m...
34
35
36
37
38
39
40
41
42
EJERCICIO 5.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relac...
44
45
46
47
EJERCICIO 6.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relac...
49
50
51
52
53
TALLER N°3EJERCICIO N°1Obtén el modelo ERE, relacional: Queremos hacer una aplicación para gestionarun pequeño aeropuerto....
55
56
CREATE TABLE PROPIETARIO(COD_INTER INT NOT NULL AUTO_INCREMENT, FECHA_QUE_LO_POSEE DATE NOTNULL, PRIMARY KEY(COD_INTER))EN...
tener en cuenta que un directivo puede tener a su cargo a otros directivos y quecada persona de la empresa sólo tiene un d...
Peón, pudiendo haber otras categorías. Si un albañil tiene la categoría de Maestroalmacena el dni y el sueldo. Si es Peón ...
60
61
62
CREATE TABLE CUADRILLA( CODIGO_INTERNO VARCHAR(10) NOT NULL, NOMBRE CHAR(20)NOT NULL,LOCALIZACION_PRINCIPAL CHAR(12)NOT NU...
64
CREATE TABLE PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO INT NOT NULLAUTO_INCREMENT, PRECIO MONEYNOT NULL, MARCA VARCHAR(100) OT ...
GRADUACION VARCHAR(50) NOT NUL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_...
Upcoming SlideShare
Loading in...5
×

Taller modelo entidad relacion

38,660

Published on

el trabajo de base de datos para nayibe hecho por Brayan Vega Diaz y Jose Alexander Aguilar Gonzales

Published in: Education
1 Comment
4 Likes
Statistics
Notes
  • Agradecido por el tema
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
38,660
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1,249
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Taller modelo entidad relacion

  1. 1. TALLER DE BASE DE DATOSAGUILAR GONZALEZ JOSE ALEXANDERVEGA DIAZ BRAYAN ANTONIOINSTITUTO TOLIMENSE DE EDUCACION SUPERIOR“ITFIP”INGENIERIA Y CIENCIAS AGRO-INDUSTRIALESSISTEMAS Y COMPUTACION IIIDISEÑO DE BASE DEDATOSESPINAL_TOLIMA2012 1
  2. 2. TALLER DE BASE DE DATOSAGUILAR GONZALEZ JOSE ALEXANDERVEGA DIAZ BRAYAN ANTONIO“EL VERDADERO HEROÍSMO CONSISTE EN CONVERTIR LOS SUEÑOS ENREALIDADES Y LAS IDEAS EN HECHOS”DOCENTE: NAYIBE SANCHEZ DE LEONINSTITUTO TOLIMENSE DE EDUCACION SUPERIOR“ITFIP”INGENIERIA Y CIENCIAS AGRO-INDUSTRIALESSISTEMAS Y COMPUTACION IIIDISEÑO DE BASE DEDATOSESPINAL_TOLIMA2012 2
  3. 3. TABLA DE CONTENIDOSIntroducción…………………………………………………………… pág. 4Objetivo general ……………………………………………………… pág. 5Objetivos específicos………………………………………………… pág. 6EJERCICIO N° 1………………….……………………………………… pág. 7 3
  4. 4. INTRODUCCIÓNA continuación se presentara una serie de ejercicios de la asignatura dediseño de base de datos. Donde encontraras el modelo entidad relación,modelo relacional, los diccionarios de datos de cada una de las tablas de lasbases de datos, el script de MYSQL. Espero que este taller le ayude adespejar dudas. 4
  5. 5. JUSTIFICACIONEste trabajo se realizo con el fin de analizar la creación de las base de datosdesde su análisis hasta la creación del el Script en MYSQL. Teniendo encuenta que para el diseño de base de datos es fundamental tener el modelorelacional y el diccionario de datos de cada una de las tablas de cada basede datos. 5
  6. 6. OBJETIVO GENERAL  Analizar la construcción de bases de datos partiendo desde el análisis del diseño hasta la construcción del Script en MYSQL 6
  7. 7. OBJETIVOS ESPECÍFICOS  Diseñar el modelo entidad relación y modelo relación  Crear el diccionario de datos de las tablas de las bases de datos  Generar el Script de MYSQL  Analizar cada un de estas para una mejor comprensión del tema 7
  8. 8. TALLER N° 1EJERCICIO N° 1Imagina que una agencia de seguros de tu municipio te ha solicitado una base dedatos mediante la cual llevar un control de los accidentes y las multas. Tras unaserie de entrevistas, has tomado las siguientes notas:"Se desean registrar todas las personas que tienen un vehículo. Es necesarioguardar 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. Unapersona puede tener varios vehículos, y puede darse el caso de un vehículopertenezca a varias personas a la vez.También se desea incorporar la información destinada a gestionar los accidentesdel municipio. Cada accidente posee un número de referencia correlativo segúnorden de entrada a la base de datos. Se desea conocer la fecha, lugar y hora enque ha tenido lugar cada accidente. Se debe tener en cuenta que un accidentepuede involucrar a varias personas y varios vehículos.Se desea llevar también un registro de las multas que se aplican. Cada multatendrá asignado un número de referencia correlativo. Además, deberá registrarsela fecha, hora, lugar de infracción e importe de la misma. Una multa solo seaplicará a un conductor e involucra a un solo vehículo."Realiza el modelo E-R y pásalo al modelo relacional. 8
  9. 9. Figura 1: modelo entidad relacional 9
  10. 10. Figura 2: Modelo Relacional 10
  11. 11. EJERCICIO N°2.Se trata de realizar el diseño de la base de datos en el modelo E/R para unacadena de hoteles."Cada hotel (del que interesa almacenar su nombre, dirección, teléfono, año deconstrucción, etc.) se encuentra clasificado obligatoriamente en una categoría (porejemplo, tres estrellas) pudiendo bajar o aumentar de categoría.Cada categoría tiene asociada diversas informaciones, como, por ejemplo, el tipode 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 laque se encuentran. Así pues, de cada habitación se desea guardar el código y eltipo de habitación.Los particulares pueden realizar reservas de las habitaciones de los hoteles. En lareserva 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. Encaso de que la reserva la realiza una agencia de viajes, se necesitarán los mismosdatos que para los particulares, además del nombre de la persona para quien laagencia de viajes está realizando la reserva.En los dos casos anteriores también se debe almacenar el precio de la reserva, lafecha de inicio y la fecha de fin de la reserva". 11
  12. 12. Figura 3: modelo entidad relacional 12
  13. 13. Figura 4: Modelo Relacional 13
  14. 14. EJERCICIO 3."Una empresa necesita organizar la siguiente información referente a suorganización interna.La empresa está organizada en una serie de departamentos. Cada departamentotiene un código, nombre y presupuesto anual. Cada departamento está ubicado enun centro de trabajo. La información que se desea guardar del centro de trabajo esel código de centro, nombre, población y dirección del centro.La empresa tiene una serie de empleados. Cada empleado tiene un teléfono,fecha de alta en la empresa, NIF y nombre. De cada empleado también interesasaber el número de hijos que tiene y el salario de cada empleado.A esta empresa también le interesa tener guardada información sobre los hijos delos empleados. Cada hijo de un empleado tendrá un código, nombre y fecha denacimiento.Se desea mantener también información sobre las habilidades de los empleados(por ejemplo, mercadotecnia, trato con el cliente, fresador, operador de telefonía,etc?). Cada habilidad tendrá una descripción y un código".Sobre este supuesto diseñar el modelo E/R y el modelo relacional teniendo encuenta los siguientes aspectos.Un empleado está asignado a un único departamento. Un departamento estarácompuesto por uno o más empleados.Cada departamento se ubica en un único centro de trabajo. Estos se componen deuno o más departamentos.Un empleado puede tener varios hijos.Un empleado puede tener varias habilidades, y una misma habilidad puede serposeída por empleados diferentes.Un centro de trabajo es dirigido por un empleado. Un mismo empleado puededirigir centros de trabajo distintos. 14
  15. 15. 15
  16. 16. 16
  17. 17. TALLER N°2EJERCICIO 1.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relacional.Una agencia de viajes desea informatizar toda la gestión de los viajeros queacuden a la agencia y los viajes que estos realizan. Tras ponernos en contactocon 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 deviaje, número de plazas, fecha en la que se realiza el viaje y otros datos. Unviajero puede realizar tantos viajes como desee con la agencia. Un viajedeterminado sólo puede ser cubierto por un viajero.Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos sequiere almacenar el código, nombre y otros datos que puedan ser de interés. Unviaje tiene un único lugar de destino y un único lugar de origen". 17
  18. 18. 18
  19. 19. 19
  20. 20. 20
  21. 21. 21
  22. 22. EJERCICIO 2.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relacional."A un concesionario de coches llegan clientes para comprar automóviles. De cadacoche interesa saber la matrícula, modelo, marca y color. Un cliente puedecomprar 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 segundamano). De los coches nuevos interesa saber el número de unidades que hay en elconcesionario. De los coches viejos interesa el número de kilómetros que llevarecorridos.El concesionario también dispone de un taller en el que los mecánicos reparan loscoches que llevan los clientes. Un mecánico repara varios coches a lo largo deldía, y un coche puede ser reparado por varios mecánicos. Los mecánicos tienenun dni, nombre, apellidos, fecha de contratación y salario. Se desea guardartambién la fecha en la que se repara cada vehículo y el número de horas que setardado en arreglar cada automóvil". 22
  23. 23. 23
  24. 24. 24
  25. 25. 25
  26. 26. 26
  27. 27. 27
  28. 28. EJERCICIO 3.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo 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 unadescripción. Además cada aparato corresponde a un tipo de electrodomésticos (alo sumo).Cada tipo de electrodoméstico (televisor, mp3, lavadora, etc.) tiene un nombre yunas características (un campo de texto). Se supone que no hay dos tipos con elmismo nombre y características. Algunos tipos pueden formar parte de otro tipomás general (mp3 de aparato de música), pero en este caso solo forman parte deun único tipo.Los componentes son las piezas que forman el aparato. Vienen dados por unnombre (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 saberpara cada aparato que componentes lleva y que fabricante suministra cadacomponente. Un aparato puede llevar muchas unidades de un mismo componente(interesa saber cuántas), pero en este caso todas estarán suministradas por elmismo fabricante y con un mismo precio. 28
  29. 29. 29
  30. 30. 30
  31. 31. 31
  32. 32. 32
  33. 33. EJERCICIO 4.Para los siguientes enunciados identifique las entidades y sus relaciones.a. Una persona puede comprar una o muchas casas, Una casa debe serpropiedad de una sola persona.b. Un cliente debe comprar uno o muchos productos, Un producto debe sercomprado por un cliente.c. Un proveedor puede proveer uno o más productos, Un producto debe serprovisto por uno o más proveedores.d. Un empleado puede estar a cargo de uno o muchos empleados, Un empleadodebe ser subordinado de un empleado.e. Un investigador puede hacer muchas observaciones, Una observación debe serhecha por un investigador.f. Un territorio puede pertenecer a una comunidad, Una comunidad debe habitaren un territorio.g. Una hembra puede ser la madre de muchos chimpancés. Un chimpancé debeser hijo de una hembra.h. Un libro puede ser escrito por uno o muchos autores. Un autor puede escribirmuchos libros.i. Un estudiante está matriculado en muchos cursos. En un curso hay muchosestudiantes matriculados.j. Una base de datos debe contener información relativa a las ventas de losproductos de una cierta compañía. Cada agente de la compañía es responsablede las ventas en una o más áreas. Cada área tiene uno o más agentes comoresponsables de las ventas que se realicen en ella. Cada agente es responsablede la venta de uno o más productos y cada producto tiene uno o más agentesresponsables de su venta. Un producto se vende en todas las áreas y en un árease pueden vender todos los productos. 33
  34. 34. 34
  35. 35. 35
  36. 36. 36
  37. 37. 37
  38. 38. 38
  39. 39. 39
  40. 40. 40
  41. 41. 41
  42. 42. 42
  43. 43. EJERCICIO 5.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo 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 unatasa de interés definida. Los socios pueden tener varios préstamos a la vez y paracada uno la cooperativa registra los siguientes datos:Número del préstamo, fecha de inicio, el valor del préstamo, la cuota mensual y elplazo 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, porlo tanto la cooperativa guarda no sólo los datos del socio sino también los de laempresa en la cual trabaja ya que se lleva estadísticas sobre las empresas quemás socios tienen asociados a la cooperativa.De las empresas interesa conocer persona de contacto, dirección de la empresa ynú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 salariomensual. Cada préstamo requiere además de un codeudor del cual se registransus datos básicos. También es importante conocer si el codeudor es un posiblecliente 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 esnecesario que el asociado solicitante del préstamo consiga otro codeudor externo,no se permiten codeudores que sean socios de la cooperativa. 43
  44. 44. 44
  45. 45. 45
  46. 46. 46
  47. 47. 47
  48. 48. EJERCICIO 6.A partir del siguiente enunciado se desea realiza el modelo entidad-relación ypasarlo al modelo de datos relacional.Se desea diseñar una base de datos para una comisaría de policía que recoja lainformación acerca de su funcionamiento. Se consideran los siguientessupuestos:En la comisaría trabajan una serie de policías que tienen una cedula, nombre ycategorí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 uncódigo único pertenece a una clase y tiene un nombre determinado.Cada policía puede utilizar una o varias armas en un momento determinado. Esimportante conocer el grado de habilidad (puntuación de 1 a 10) de cada policíacon cada una de las armas que utiliza.Un delincuente tiene una identificación, nombre y teléfono es arrestado por uno omás policías.A cada delincuente que permanece en la comisaría se le enc ierra en uncalabozo 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ódigodel 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 48
  49. 49. 49
  50. 50. 50
  51. 51. 51
  52. 52. 52
  53. 53. 53
  54. 54. TALLER N°3EJERCICIO N°1Obtén el modelo ERE, relacional: Queremos hacer una aplicación para gestionarun pequeño aeropuerto. En este aeropuerto tendremos aviones identificados porun 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, unacapacidad y una localización.En este aeropuerto tenemos tres tipos de personas (nss, dirección y teléfono):piloto (núm. licencia, restricciones), empleados (salario y turno) y propietarios.Cada piloto puede volar en distintos tipos de aviones, así mismo, los empleadostrabajan para ciertos tipos de aviones. Los aviones son posesión de uno o variospropietarios interesándonos almacenar desde qué fecha lo poseen. 54
  55. 55. 55
  56. 56. 56
  57. 57. CREATE TABLE PROPIETARIO(COD_INTER INT NOT NULL AUTO_INCREMENT, FECHA_QUE_LO_POSEE DATE NOTNULL, PRIMARY KEY(COD_INTER))ENGINE =INNODN;CREATE TABLE HANGAR(COD_INTERNO INT NOT NULL AUTO_INCREMENT, CAPACIDAD VARCHAR(10) NOT NULL,LOCACION VARCHAR(10) NOT NULL, PRIMARY KEY(COD_INTERNO))ENGINE =INNODN;CREATE TABLE TIPO_AVION(COD_INT INT NOT NULL AUTO_INCREMENT, PESO VARCHAR(1000) NOT NULL,MODELO VARCHAR(100) NOT NULL, PRIMARY KEY(COD_INT))ENGINE =INNODN;CREATE TABLE PERSONAS(NSS INT NOT NULL, TEL VARCHAR(12) NOT NULL, DIRECCION VARCHAR(30) NOTNULL, PRIMARY KEY(NSS))ENGINE =INNODN;CREATE TABLE AVION(N_AVION VARCHAR(100) NOT NULL, COD_INT INT NOT NULL AUTO_INCREMENT ,COD_INTERNO INT NOT NULL AUTO_INCREMENT, COLOR VARCHAR(30) NOT NULL, PRIMARY KEY(N_AVION),FOREIGN KEY(COD_INT)REFERENCES TIPO_AVION(COD_INT),FOREIGN KEY(COD_INTERNO)REFERENCES HANGAR(COD_INTERNO))ENGINE =INNODN;CREATE TABLE PILOTO(NSS INT, N_LICENCIA VARCHAR(100) NOT NULL, RESTRICIONES VARCHAR(100) NOTNULL, PRIMARY KEY(NSS),FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS))ENGINE =INNODN;CREATE TABLE EMPLEADOS(NSS INT, SALARIO MONEY NOT NULL, TURNO DATETIME NOT NULL, PRIMARY KEY(NSS),FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS))ENGINE =INNODN;CREATE TABLE TRABAJAR(NSS INT NOT NULL, N_AVION VARCHAR(100) NOT NULL, PRIMARY KEY(NSS,N_AVION),FOREIGN KEY(NSS)REFERENCES PERSONAS(NSS),FOREIGN KEY(N_AVION)REFERENCES AVION(N_AVION))ENGINEINNODN;CREATE TABLE PROPIEDAD_DE(COD_INTER INT NOT NULL AUTO_INCREMENT, N_AVION VARCHAR(100) NOTNULL, PRIMARY KEY(COD_INTER,N_AVION),FOREIGN KEY(COD_INTER)REFERENCES PROPIETARIO(COD_INTER),FOREIGN KEY(N_AVION)REFERENCES AVION(N_AVION)) ENGINE =INNODN;EJERCICIO 2.Dado el siguiente enunciado obtén el modelo ERE, relacional.Una empresa de servicios quiere informatizar su gestión en lo referente supersonal, proyectos y los servicios que presta a otras empresas.Respecto al personal de la empresa, se almacenará un código asignado por eldepartamento de Recursos Humanos, el nombre, dirección y teléfono así como eltipo de actividad dentro de la empresa de servicios: directivo o plantilla.Únicamente aquel personal que realice funciones de directivo tendrá a su cargopersonal. Interesa conocer qué directivo tiene a su cargo qué personal. Hay que 57
  58. 58. tener en cuenta que un directivo puede tener a su cargo a otros directivos y quecada persona de la empresa sólo tiene un directivo como jefe directo. En cuanto alpersonal que aparece como plantilla, se almacenará además la especialidad en laque ejercerá sus funciones. Los directivos siempre tendrán personal a su cargo ytodo empleado (ya sea de plantilla o directivo) tendrá siempre jefe. Por último, elpersonal que realiza funciones de directivo no aparecerá nunca como personal deplantilla y al contrario.En cuanto a los proyectos desarrollados por la empresa, se almacenará un códigode 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, enalgunos casos, los proyectos de desarrollo pueden ser además, estratégicos. Si unproyecto es estratégico, se almacenará además el plazo de ejecución estimado ysi es de desarrollo, el presupuesto.Cada proyecto es gestionado por un directivo de la empresa siempre y cuando elproyecto sea estratégico. No puede haber proyectos de este tipo sin directivoasignado. 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 deplantilla participa en dicho proyecto y el tanto por ciento de dedicación. Unapersona de plantilla puede estar asignada a ninguno o muchos proyectos.Respecto a los servicios que se prestan a otras empresas, la política de estaempresa en considerar a parte del personal de plantilla como un servicio lo mismose puede decir de los proyectos de desarrollo: algunos son servicios prestados aotras empresas. De estos servicios se almacenará el código de servicio y el preciopor 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 unproyecto de desarrollo) siempre estará asignado a una única empresa y que unaempresa contrata uno o muchos servicios. De las empresas cliente interesaconocer el nombre, nit, dirección, teléfono.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 generalmaneja la siguiente información para llevar parte de su negocio.La empresa dispone de albañiles en plantilla de los que almacena, entre otrascosas, 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 58
  59. 59. Peón, pudiendo haber otras categorías. Si un albañil tiene la categoría de Maestroalmacena el dni y el sueldo. Si es Peón Albañil almacena, el dni y el sueldo en elcaso de ser de nacionalidad española, y el país de origen y sueldo si esextranjero. 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 (unalbañil debe encontrarse en una y solo una cuadrilla) de las que se almacena uncódigo interno, nombre (que también la identifica) y localidad principal deactuación. 59
  60. 60. 60
  61. 61. 61
  62. 62. 62
  63. 63. CREATE TABLE CUADRILLA( CODIGO_INTERNO VARCHAR(10) NOT NULL, NOMBRE CHAR(20)NOT NULL,LOCALIZACION_PRINCIPAL CHAR(12)NOT NULL, PRIMARY KEY( CODIGO_INTERNO ) )ENGINE= INNODB;CREATE TABLE ALBAÑILES ( NUM_SEGURIDAD_SOCIAL VARCHAR (12) NOT NULL, CODIGO_INTERNO CHAR(10)NOT NULL, NOMBRE CHAR(10)NOT NULL, APELLIDOS CHAR(10)NOT NULL, FECHA_NACIMIENTO DATE NOT NULL,TELEFONOS VARCHAR (12) NOT NULL, PRIMARY KEY (NUM_SEGURIDAD_SOCIAL ), FOREIGN KEY (CODIGO_INTERNO) REFERENCES CUADRILLA ( CODIGO_INTERNO ) )ENGINE= INNODB;CREATE TABLE MAESTRO( NUM_SEGURIDAD_SOCIAL VARCHAR (12)NOT NULL, DNI CHAR(20)NOT NULL,SUELDO CHAR(20)NOT NULL, PRIMARY KEY(NUM_SEGURIDAD_SOCIAL ), FOREIGN KEY (NUM_SEGURIDAD_SOCIAL ) REFERENCES ALBAÑILES(NUM_SEGURIDAD_SOCIAL))ENGINE= INNODB;CREATE TABLE PEON(NUM_SEGURIDAD_SOCIAL VARCHAR (12)NOT NULL, DNI VARCHAR(10) NOT NULL,SUELDO MONEY NOT NULL, NACIONALIDAD VARCHAR(30) NOT NULL, PRIMARY KEY (NUM_SEGURIDAD_SOCIAL),FOREIGN KEY(NUM_SEGURIDAD_SOCIAL) REFERENCES ALBAÑILES ( NUM_SEGURIDAD_SOCIAL ) ) ENGINE=INNODB;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 unabase de datos para la automatización de sus procesos. La información relevantedesde el punto de vista del modelo de datos es la siguiente:Los productos que vende la empresa son lentes de contacto o gafas, interesandoconocer de ellos su código de producto (que es único), su precio de venta y sumarca. 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 sugraduación. Para las gafas, se desea también almacenar su modelo, el material defabricación.Se debe tener en cuenta que la empresa dispondrá de gafas graduadas, de gafasde sol y de gafas de sol graduadas. De las gafas graduadas, interesa conocer sugraduació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 defiltrado de los rayos ultravioleta. Hay que tener en cuenta además que queremos gestionar las personas quehan comprado gafas en nuestro establecimiento, para estas personasalmacenaremos un código y el nombre. Además cada persona pertenece a un tipo(habitual, ocasional...) y queremos almacenar para cada tipo de usuarios quedescuentos se aplican en las gafas de sol. 63
  64. 64. 64
  65. 65. CREATE TABLE PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO INT NOT NULLAUTO_INCREMENT, PRECIO MONEYNOT NULL, MARCA VARCHAR(100) OT NULL, PRIMARY KEY(COD_PRODUCTO)) ENGINE =INNODB;CREATE TABLE CLIENTES(CODIGO INT NOT NULL AUTO_INCREMENT, NOMBRE VARCHAR(30) NOT NULL,TELEFONO VARCHAR(12) NULL, PRIMARY KEY(CODIGO)) ENGINE = INNODB;CREATE TABLE LENTES_DE_CONTACTO(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, TIPO CHAR(50) NOTNULL, COLOR VARCHAR(30) NOT NULL, PRODUCTO_DE_LIMPIEZA_PARA_LENTES VARCHAR(50) NOT NULL, 65
  66. 66. GRADUACION VARCHAR(50) NOT NUL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO))ENGINE =INNODB;CREATE TABLE GAFAS(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, MODELO VARCHAR(4) NOT NULL,MATERIAL_DE_FABRICACION VARCHAR(100) NOT NULL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO)) ENGINE =INNNODB;CREATE TABLE GAFAS_DEL_SOL(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, NIVEL_FILTRO_SOLARVARCHAR(100) NOT NUL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS(COD_PRODUCTO)) ENGINE = INNODB;CREATE TABLE GAFAS_GRADUADAS(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, GRADUACIONVARCHAR(100) NOT NULL, TIPO_DE_PROBLEMAS_OCULARES VARCHAR(100) NOT NULL, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS(COD_PRODUCTO)) ENGINE_INNODB;CREATE TABLE GAFAS_SOL(COD_PRODUCTO INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(COD_PRODUCTO),FOREIGN KEY(COD_PRODUCTO)REFERENCES GAFAS(COD_PRODUCTO))ENGINE= INNODB;CREATE TABLE HABITUALES(CODIGO INT NOT NULL AUTO_INCREMENT, DES_DEGAFAS INT NOT NULL, PRIMARYKEY(CODIGO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(CODIGO)) ENGINE =INNODB;CREATE TABLE OCASIONAL(CODIGO INT NOT NULL AUTO_INCREMENT, DES_DE_GAFAS INT NOT NULL, PRIMARYKEY(CODIGO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(CODIGO))ENGINE=INNODB;CREATE TABLE COMPRAR(CODIGO INT NOT NULL AUTO_INCREMENT, COD_PRODUCTO INT NOT NULLAUTO_INCREMENT, PRIMARY KEY(CODIGO,COD_PRODUCTO),FOREIGN KEY(CODIGO)REFERENCES CLIENTES(CODIGO),FOREIGN KEY(COD_PRODUCTO)REFERENCES PRODUCTOS_DE_LOS_OJITOS(COD_PRODUCTO))ENGINE=INNODB; 66

×