Proyectos de bases de datos

Preview:

DESCRIPTION

Son tres proyectos de bases de datos con un modelo entidad relacion

Citation preview

-PROYECTOS-

INDICE

ContenidoIntroduccion…………….…………….…………….…………….…………….…………….………………….3

Investigación y fundamentos del diagrama entidad relacion………………………………4

1. BETA…………….…………….…………….…………….…………….…………….……………..10

1.1. Enunciado……………………………………………………………………………….…11 1.2. Construcción y realización del diagrama entidad relación……….…12 1.3. Tablas de la base de datos…………………………………………………………15 1.4. Query's………………………………………………………………………………………18 2. ITESO………….…………………………………….………….………….…….…….…………. 33 2.1 Enunciado………………………………………………………………..………………….34 2.2 Construccion del diagrama entidad relacion………….………….…………35 2.3 Realizacion del diagrama entidad relacion……………………………..……37 2.4 Diseño de las tablas de la base de datos………………………………………39 2.5 Tablas de la base de datos ……………………….…………………………………41 2.6 Query’s……………………….……………………………………………………………….45

3.MINIMUNDO………….…………………………………….….………….………….………….57 3.1 Enunciado……………………………………………………………………………………..58 3.2 Construccion del diagrama entidad relacion…………………………………59 3.3 Realizacion del diagrama entidad relacion……………………………………60 3.4 Diseño de las tablas de la base de datos………………………………………62 3.5 Tablas de la base de datos ………………………………………………………..…64 3.6 Query’s……………………….……………………….………………………………………66 4. FUENTES DE CONSULTA………..………..………..………………………………………....74

2

-PROYECTOS-

INTRODUCCIONDesarrollar aplicaciones en base a la metodología orientada a objetos utilizando un lenguaje de programación orientado a objetos y maneo de base de datos con almacenamientos persistente de los datos.

Empezaremos esta unidad didáctica viendo cuáles son los objetivos de los

sistemas de gestión de las bases de datos (SGBD) y, a continuación, daremos

una visión general de la arquitectura, el funcionamiento y el entorno de estos

sistemas.

Estos proyectos se realizan con el fin de entender y razonar el sistema de una base de datos además de poder utilizar una plataforma para realizar dicha Base de Datos tal plataforma es Navicat que se basa en la sintaxis de SQL (Lenguaje Estructurado de Consultas), por sus siglas en ingles.

Además de un modelo lógico como lo es el DER (Diagrama Entidad Relación), en el cual se modelan los datos que se obtienen de la base de datos para permitirnos realizar una base de datos.

INVESTIGACION Y FUNDAMENTOS DEL

DIAGRAMA ENTIDAD RELACION3

-PROYECTOS-

Según el profesor Gabriel Campodónico (2007) el Modelo de Entidad Relación es un

modelo de datos basado en una percepción del mundo real que consiste en un conjunto de

objetos básicos Ilamados entidades y relaciones entre estos objetos, implementándose en

forma gráfica a través del Diagrama Entidad Relación.

Se puede definir cono Entidad a cualquier objeto, real o abstracto, que existe en un

contexto determinado o puede llegar a existir y del cual deseamos guardar información.

ENTIDAD=TABLA

Los Atributos son características o propiedades asociadas a la entidad que toman valor

en Una instancia particular. Ejemplo: hombre, cedula, teléfono.

ATRIBUTO=CAMPO

Se denomina C/ave principal o primaria al atributo o conjunto mínimo de atributos (uno o

más campos) que permiten identificar en forma 0nica cada instancia de la entidad, es

decir, a cada registro de la tabla. Las claves principales se utilizan cuando se necesita

hacer referencia a registros específicos de una tabla des-

de otra tabla. En un principio se puede identificar más de un atributo que cumpla

las condiciones para ser clave, los mismos se denominan Claves candidatas.

Si la clave primaria se determina mediante un solo atributo de la entidad, entonces se dice

que la misma es Una Clave simple. En caso de estar conformada por más de un atributo,

la misma se conoce como Clave compuesta. La Clave for6nea (también Ilamada externa o

4

-PROYECTOS-

secundaria) es un atributo que es clave primaria en otra entidad con la cual se relaciona.

Se entiende por una relación que es la asociación entre 2 o más entidades.

Clasificación de cardinalidad y Reglas de integridad.

Relación Uno a Uno:

1:1

Cuando un registro de una tabla solo puede estar relacionado con un único registro de la

otra tabla y viceversa. En este caso se sigue otras reglas:

-Cuando la relación es Opcional-Opcional:

Se crea una nueva tabla y pasan las PK de las dos tablas.

1:1(Op-Op)

5

RELACIONES

Opcional Opcional

-PROYECTOS-

-Cuando la relación es Opcional-Obligatorio:

Se pasa la PK del opcional al obligatorio.

1:1(Op-Ob)

-Cuando la relación es Obligatorio-Obligatorio:

Se pasa una de las dos PK

Relación Uno a Muchos:

Cuando un registro de una tabla (tabla secundaria) solo puede estar relacionado con un

único registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener

6

ObligatorioOpcional

ObligatorioObligatorio

-PROYECTOS-

más de un registro relacionado en la tabla secundaria. En este caso la clave foránea se

ubica en la tabla secundaria. Las reglas de integridad nos dicen que la Pk de los unos de

pasa a la de los muchos.

1: M

Relación Muchos a Muchos:

Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra

tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente,

se tiene que añadir una tabla entre las dos (Tabla débil o de vinculación) que incluya los

pares de Valores relacionados entre sí. La regla de integridad nos dice que cuando la

relación es de muchos a muchos se crea una nueva tabla y se le pasan las PK de las dos 7

Entidad 1 Entidad 2

-PROYECTOS-

tablas o entidades.

M: N

El hombre de tabla débil deviene que con sus atributos propios no se puede encontrar la

clave, por estar asociada a otra entidad. La clave de esta tabla se conforma por la unión de

los campos claves de las tablas que relaciona

SIMBOLOGIA

Entidad: Es cualquier objeto o cosa del mundo real.

8

ENTIDAD

Entidad 1 Entidad 2

-PROYECTOS-

Entidad débil: Depende otras entidades o es creado por

E. DEBIL otras.

Atributo: Es una característica que va a tener una entidad las

que son de color azul sin llaves foráneas y las de color rojo

son las PK de las Tablas.

Relación: Es un símbolo para indicar que hay una asociación de las

entidades

9

Atributo

Relación

-PROYECTOS-

ENUNCIADO

10

BET

-PROYECTOS-

La empresa BETA es una empresa que tiene una matriz en el estado de Guanajuato pero

también le vende a todos los estados de la República Mexicana la empresa BETA se

encarga de realizar ventas de equipo de cómputo y estas ventas se dividen en 2 tipos de

productos que son las refacciones y los artículos, de los cuales se conocen los

identificadores, los nombres, el precio y la cantidad que dispone la tienda.

La empresa también cuenta con vendedores que son las personas que se dedican a

vender sus productos ya sea de manera personal, telefónica o por e-mail. Y los datos que

se conocen de estos son su identificador su dirección, su teléfono su e-mail y su nombre.

A demás la empresa tiene proveedores los cuales surten de productos a la empresa y de

ellos se conocen su identificador único, su dirección, su teléfono, y su nombre.

También la empresa BETA tiene datos de los clientes los cuales son las personas que

compran los artículos de la tienda ya sean sus necesidades ya que vende artículos y

refacciones para los equipos de cómputo y los datos que tiene la empresa de ellos son su

identificador su nombre, su dirección, su teléfono, dirección y e-mail

CONSTRUCCIÓN Y REALIZACIÓN DEL DIAGRAMA

ENTIDAD RELACIÓN

1.- Entidades y Atributos

11

BET

-PROYECTOS-

Clientes(IdCliente,NomCliente, Direccion, E-Mail, Telefono)

Estado(IdEstado, Estado)

Refaccion(IdRefm, NomRef, Precio, Unidad)

Articulo(IdArt, NomArt, Precio, Unidad)

Vendedor(IdVend, Direccion, Telefono, Nombre)

Proveedor(IdProv, Direccion, Telefono, Nombre)

2.-Relaciones

Vendedor Articulo

TipoRef Refaccion

Articulo Proveedor

Cliente Articulo

Cliente Estado

Cliente Refaccion

3.-Primer diagrama entidad relación.

12IdClient IdEstadoIdRef

-PROYECTOS-

4.-Segundo diagrama siguiendo las reglas de integridad.

13

Articulo

Cliente

Proveedor

TipoRef

Vendedor

Refacción

Refacción Estado45

3

6

12

8 7

IdVend

IdProvIdArt

IdRef

IdEstado

IdClientIdRef

-PROYECTOS-

Tablas de la Base de Datos

1.Articulo

14

Articulo

Cliente

Proveedor

TipoRef

Vendedor

Refacción

Refacción Estado45

3

6

2

8

IdClient IdEstado

IdVend

IdProvIdArt

IdRef

Orden

7

9

IdRef

IdRef

IdVend

Orden

310

IdVendIdArtOrden

11

IdArt

IdClient

12

Orden

-PROYECTOS-

2.-Cliente

3.-Estado

15

-PROYECTOS-

4.-Orden

5.-

Refaccion

16

-PROYECTOS-

6.-Vendedor

QUERYS

1.-Obtener el nombre de los clientes.

Select NomCliente

from cliente

17

-PROYECTOS-

2.-Obtener los nombres de los clientes y su ID de su estado.

select NomCliente,IdEdo

from cliente

3.-Obtener los estados de los clientes.

SELECT NomCliente,Estado

From cliente, estado

where cliente.IdEdo=Estado.IdEdo

18

-PROYECTOS-

4.-Obtener los nombres de los clientes que son de Sinaloa.

SELECT NomCliente,Estado

From cliente, estado

where cliente.IdEdo=Estado.IdEdo AND

estado='Sinaloa'

5.- Obtener los Id de articulo y su cantidad.

SELECT IdArt,CantArt

FROM orden

6.-Obtenerlos nombres de los clientes que son del estado de

Morelia.

SELECT NomCliente, Estado

FROM cliente,estado

WHERE cliente.IdEdo=Estado.IdEdo AND

estado='Morelia'

19

-PROYECTOS-

7.- Obtener los IDs de clientes que son de queretaro.

SELECT IdCliente, Estado

FROM cliente,estado

WHERE cliente.IdEdo=Estado.IdEdo AND

estado='Queretaro'

8.- Obtener los Id de articulo y los id de clientes que

ordenaron cantidades mayores a 4.

SELECT IdArt, IdCliente

FROM orden

WHERE CantArt>4

9.-Obtener los nombres de los artículos que fueron ordenados por el cliente Cuenca Bravo

José.

SELECT NomArt

FROM orden,cliente,articulo

WHERE orden.IdArt=articulo.IdArt AND orden.IdCliente=cliente.IdCliente AND

NomCliente='Cuenca Bravo Jose'

20

-PROYECTOS-

10.- obtener los nombres de los artículos que fueron ordenados en el estado de Veracruz.

SELECT NomArt

FROM estado,articulo,orden,cliente

WHERE orden.IdArt=articulo.IdArt AND orden.IdCliente=cliente.IdCliente AND

cliente.IdEdo=estado.IdEdo AND Estado='Veracruz'

11.-Obtener los datos de la tabla cliente.

SELECT *

FROM cliente

21

-PROYECTOS-

12.-Obtener los nombres de los clientes que empiezan con ‘V’.

SELECT NomCliente

FROM cliente

WHERE NomCliente like’V%’

13.-Obtener los nombres de los productos que fueron ordenados entre cantidades de 8 a

13.

SELECT NomArt

FROM orden,articulo

WHERE orden.IdArt=articulo.IdArt AND CantArt>=8 AND CantArt<=13

22

-PROYECTOS-

14.-Obtener la cantidad máxima de producto ordenado.

SELECT MAX(CantArt)

FROM orden

15.-Obtener las cantidades de los productos ordenadas de mayor a menor.

SELECT CantArt

FROM orden

ORDER BY CantArt DESC

16.-Obtener la cantidad minima de artículos ordenados y su Id y la fecha en

que fueron ordenados.

SELECT

IdArt,Fecha,MIN(CantArt)

FROM orden

23

-PROYECTOS-

17.-Obtener los nombres de los clientes que empiecen con la P y los Id de los artículos que

ordenaron.

SELECT NomCliente,IdArt

FROM cliente,orden

WHERE orden.IdCliente=cliente.IdCliente AND

NomCliente LIKE 'P%'

18.-Obtener los nombres de los artículos ordenados de mayor a

menor de acuerdo a su precio.

SELECT NomArt

FROM articulo

ORDER BY Precio DESC

24

-PROYECTOS-

19.-Obtener los nombres de las refacciones y su costo ordenados de acuerdo a su precio.

SELECT NomRef,Precio

FROM refaccion

ORDER BY Precio ASC

25

-PROYECTOS-

20.-Obtener los nombres de los clientes con los artículos que ordenaron y su nombre y

además el nombre y el id del vendedor. Y los artículos que le vedio y que estén ordenados

de acuerdo a la cantidad.

SELECT

NomCliente, NomArt, CantArt, vendedor.NomVend,vendedor.IdVend

FROM orden,cliente,articulo,vendedor

26

-PROYECTOS-

WHERE orden.IdCliente=cliente.IdCliente AND orden.IdArt=articulo.IdArt and

orden.IdVend=vendedor.IdVend

ORDER BY CantArt DESC

21.-Obtener el nombre de los vendedores que empiecen con la letra R el nombre de los

clientes que empiecen con V el nombre de los artículos que empiecen con la letra C y que

estén ordenados de acuerdo a su cantidad

SELECT DISTINT NomVend,NomCliente,Nomart,CantArt

From vendedor,cliente,orden,articulo

Where NomVend LIKE’R%’ AND orden.IdArt=articulo.IdArt And NomCliente LIKE “v

%” anda NomArt LIKE ‘c%´’

27

-PROYECTOS-

Order by CantArt ASC

22.-Obtener los

nombres de los

vendedores

ordenados alfabeticamnete

Select NomVend

From vendedor

Order by NomVend Desc

28

-PROYECTOS-

23.- Obtener el nombre y la cantidad de refacciones que estén entre cantidades compradas

de 1 a 7.

SELECT CantRef,NomRef

FROM orden,refaccion

WHERE refaccion.IdRef=orden.IdRef AND CantRef BETWEEN 1 AND 7

24.-Obtener la suma de la cantidad de refacciones que fueron ordenadas.

Select SUM(CantRef)

FROM orden

29

-PROYECTOS-

25.-Obtener los números telefónicos de los clientes que su lada sea 411

select DISTINCT Tel

from cliente

where cliente.Tel REGExp BINARY 411

26.-Obtener el precio máximo de articulo.

SELECT MAX(Precio)

FROM articulo

30

-PROYECTOS-

27.- Obtener la cantidad de artículos y su nombre que estén entre 6 y 9 y ordenar la

cantidad de artículos asendentemente.

SELECT CantArt,NomArt

FROM orden,articulo

WHERE articulo.IdArt=orden.IdArt AND CantArt BETWEEN 6 and 9

ORDER BY CantArt ASC

28.-Obtener los nombres de los estados donde hay clientes.

Select DISTINCT Estado

FROM cliente,estado

WHERE estado.IdEdo=cliente.IdEdo

31

-PROYECTOS-

29.-Obtener los nombres de los productos que fueron ordenados en el estado de

Michoacan.

SELECT DISTINCT NomArt,NomRef

FROM articulo,refaccion,orden,estado,cliente

WHERE articulo.IdArt=orden.IdArt AND refaccion.IdRef=orden.IdRef AND

cliente.IdCliente=orden.IdCliente AND cliente.IdEdo=estado.IdEdo and Estado='Morelia'

32

-PROYECTOS-

ENUNCIADOEn la web hay un dominio con el nombre de ITESO el cual ofrece a los usuarios cursos en

línea en el cual se encuentra localizado un catalogo de ofertas como son diplomados,

33

ITESO

-PROYECTOS-

cursos, especialidades y posgrados los usuarios se les asignan fechas programada para

los cursos asi como os horarios los asesores, el aula virtual y cada curso tiene un limite de

usuarios el periodo de realización y en numero total de horas los usuarios para hacer

pagos lo pueden hacer de dos formas con tarjeta de crédito con cargo a 6 meses sin

intereses y la opción 2 pago en efectivo a a cuenta en el banco.

Para cada curso los asesores registran productos i evidencias al termino de cada modulo,

el numero total de módulos para cada curso es de 4. La planeación del curso depende de

número de horas y los contenidos temáticos, para la extensión de la constancia final

deberá de aprobar con una calificación mayor o igual a 8 con solo 2 oportunidades de

reprobar por cada curso.

Se sabe que cada participante solo puede tomar como máximo 3 cursos, al usuario

frecuente se le otorgo una beca del 100% apartir del 4to curso tomado.

Nota.

Construir un modelo de base de datos para administrar el dominio de a pagina.

CONSTRUCCION DEL MODELO ENTIDAD RELACION

34

-PROYECTOS-

Entidades Atributos

Pago (id pago, tipo pago)

Horario (idhorario,hora)

Usuario (idusuario,fecha,horario,numCur)

Curso (idCurs,limUsu,Perido,Tolhor,Modulo)

Asesor (idAse,Registro,NumMod)

Planeación (idPlaneacion,NomHor,Conte)

Aula Virtual (idAula,NomAula,LimAlu)

Beca (IdBeca,Beca)

RELACIONES.

35

PAGO USUARIO

M:1

1:M

1:1

-PROYECTOS-

36

HORARIO CURSO

CURSOPLANEACION

CURSOASESOR

CURSOUSUARIO

USUARIOBECA

CURSOAULA

N:1

1:1

1:M

1:1

1ER MODELO RELACIONAL.

PAGO

USUARIOBECA

ASESOR CURSOHORARIO

PLANEACION

AULA

R1

R6

R5

R3

R2

R4

R7

ID PAGO,TIPO DE PAGO

ID USUARIO,FECHA,HORARIO,NOMBRE

ID HOR,HORA

ID BECA,BECA

ID ASE,REGISTRO,NUM Totalhor,modulo

Id plan,num hor,conte

Id aula,nomaula,limite

REALIZACION DEL DIAGRAMA ENTIDAD RELACION

-PROYECTOS-

38

ALUMNO

DOCENTEFACULTAD

CURSOBOLETA

R1N:1

1:N

R4

R3

R2

N:1

N:1

MATRICULANo.Curso

Cve.FacultadRFC

Segundo modelo

DISEÑO DE LAS TABLAS

TABLA ALUMNO

TABLA BOLETA

TABLA DOCENTE

-PROYECTOS-

TABLA ESPECIALIDAD

TABLA MATERIA

TABLAS DE LA BASE DE DATOS40

-PROYECTOS-

T A B L A A L U M N O

TABLA BOLETA

41

-PROYECTOS-

T A B L A D O C E N T E

42

-PROYECTOS-

T A B L A D E E S P E C I A L I D A D

INTERIOR DE LA TABLA ESPECIALIDAD

43

-PROYECTOS-

TABLA MATERIA

44

-PROYECTOS-

QUERYS1.-Insertar una nueva material con su clave.

insert into materia (CveMat,NomMat) values ('ING I','Ingles I')

45

-PROYECTOS-

2.-Agregar la boleta de un alumno con numero de control 200118840, en la materia de BD IICon calificaciones de 10, 10, 10, y el maestro que le dio clases tiene el rfc de AICP560129U54.

insert into boleta (NoControl,CveMat,Parcial,Ct,Cp,Rfc) VALUES(200118840, 'Bd II', 10,10,10,'AICP560129U54')

3.-Agregar un anueva material que tenga la clave de PRJA y de nombre programacion en java.

46

-PROYECTOS-

insert into materia(CveMat,NomMat) VALUES('PRJA','Programacion en Java')

4.-Agregar una nueva especialidad que se llame programación.

insert into especialidad(CveEsp,NomEsp) VALUES('P01','Programacion')

5.-Actualizar el nombre de la especialidad de asdministracion a Administracion de Recursos humanos.

47

-PROYECTOS-

update especialidadSET NomEsp='Administracion de recursos humanos'WHERE CveEsp='A28'

6.-Actualizar la fcha de nacimiento del alumno que tiene el numero de control 200119012, a 29/03/97.

UPDATE alumnoset FecNac='29/03/97'WHERE NoControl=200119012

48

-PROYECTOS-

7.-Cambiar el numero de control del alumno Cano Razo Guadalupe a 113564879

UPDATE alumnoset NoControl=113564879WHERE NomAlu='Cano Razo Guadalupe'

8.-Actualizar el nivel de studios del maestro Martinez Ojeda Victor a Doctorado.

UPDATE docenteset Nivel='Doctorado'

49

-PROYECTOS-

WHERE NomDoc='Martinez Ojeda Victor'

9.-Borrar el registro de la especialidad de programacion.

DELETE from especialidadWHERE CveEsp='P01'

10.-Boprrar el registo de la material de Ingles 1. DELETE from materiaWHERE CveMat='ING I'

50

-PROYECTOS-

11.-Borrar la material de programacion en java.

DELETE from materiaWHERE CveMat='PRJA'

12.-obtener los nombres de los alumnus que comienzen con la letra ‘C’.

SELECT NomAlu

51

-PROYECTOS-

FROM alumnoWHERE NomAlu like 'C%'

13.-Obtener los nombres de los alumnos que tienen una calificación en el parcial entre 8 y 10.

SELECT DISTINCT NomAluFROM alumno,boletaWHERE alumno.NoControl=boleta.NoControl AND Parcial>=8 AND Parcial<=10

14.-Obtener las calificaciones y los nombres de los alumnos de 10 en los 3 apartados.

SELECT DISTINCT NomAlu,Parcial,Ct,CpFROM boleta,alumnoWHERE Cp=10 and Ct=10 AND Parcial=10

52

-PROYECTOS-

15.-Obtener el rfc del docente que da la clase de Biologia con clave Bio.

SELECT DISTINCT RfcFROM boletawhere CveMat='Bio'

16.-Obtener el nombre del docente que le da clases al alumno con numero de control 14106777.

SELECT NomDocFROM docente,boletaWHERE NoControl=14106777 AND boleta.Rfc=docente.Rfc

53

-PROYECTOS-

17.-Obtener el nombre del alumno que esta en la especialidad de administración en el grupo A en 2° semestre.

SELECT NomAluFROM alumnoWHERE Grupo='A' AND Semestre=2 and CveEsp='A28'

18.-Obtener el grado y el grupo del alumno Figueroa Peña Edgar.

SELECT Semestre,GrupoFROM alumnoWHERE NomAlu='Figueroa Peña Edgar'

19.-Obtener la boleta del alumno Figueroa Peña Edgar.

SELECT *FROM boleta,alumnoWHERE NomAlu='Figueroa Peña Edgar' and boleta.NoControl=alumno.NoControl

54

-PROYECTOS-

20.- Obtener las boletas de los alumnos que les da clases el docente con Rfc ROVA640227223.

SELECT * FROM boletaWHERE Rfc='ROVA640227223'

22.-Obtener el numero de control del alumno Rojas Acosta Gardenia y en que grupo esta .

SELECT NoControl,Semestre,GrupoFROM alumnoWHERE NomAlu='Rojas Acosta Gardenia'

23.-Obtener el nombre de todos los alumnos de segundo grado.

SELECT NomAluFROM alumnoWHERE Semestre=2

55

-PROYECTOS-

25..-Obtener a todos los docente que egresaron de la UPG.

SELECT NomDocFROM docenteWHERE Institucion='UPG'

56

MINIMUNDO

-PROYECTOS-

ENUNCIADO

57

-PROYECTOS-

1. SUPONGA QUE ESTAMOS MODELANDO LOS DATOS DE UNA COMPAÑÍA. LA BASE DE DATOS DEBE MANTENER INFORMACIÓN SOBRE LOS EMPLEADOS DE LA COMPAÑÍA, LOS DEPARTAMENTOS Y LOS PROYECTOS. LA DESCRIPCIÓN DE MINI MUNDO ES:

1.- La compañía está organizada en departamentos. Cada departamento tiene un nombre único, un número único, y un empleado particular quien lo administra. Se quiere saber la fecha en que el empleado empezó hacerse cargo del departamento. Un departamento puede tener varios locales.

2. -Cada departamento controla un cierto número de proyectos. Cada proyecto tiene un nombre y un número único y un local.

3.- Para cada empleado se desea tener su nombre, RFC, dirección, salario, sexo y año de nacimiento. Un empleado es asignado a un departamento, pero puede trabajar en varios proyectos, los que no son controlados por el mismo departamento. Se quiere saber el número de horas semanales que el empleado trabaja en el proyecto. Se quiere además saber cuál es el supervisor directo de cada empleado.

4.- Se desea conocer las personas dependientes de cada empleado para propósitos de seguros. De cada dependiente se desea conocer el nombre, sexo, fecha de nacimiento y relación con el empleado.

CONSTRUCCION DEL DIAGRAMA ENTIDAD RELACION1.-Entidades:

58

1 : N

1 : N

1 : N

N:M

-PROYECTOS-

1.- Departamento(NumDepa,NomDepa).

2.-Emleado(RFC, Nombre, Direccion, Salario, Sexo, AñoNac).

3.-Proyecto(NumPro,Nombre,Local).

4.-Local(NumLoc,NomLoc).

5.-Dependientes(NumDepen, Nombre, Sexo, FechaNac, Relacion).

6.-*Tarabajo(RFC,NumPro,HorasPro,PuestoDep,FechaIni).

*La entidad numero 6 se crea por la relacion entre proyecto y empleado.

2.-Relaciones :

Departamento Empleado.

Empleado Proyecto.

Departamento Local.

Empleado Dependientes.

DIAGRAMA ENTIDAD RELACION

59

-PROYECTOS-

1. Primer diagrama(Sin las reglas de integridad).

60

-PROYECTOS-

2.-Segund diagrama(Siguiendo las reglas de integridad).

DISEÑO DE TABLASEMPLEADO

61

-PROYECTOS-

DEPARTAMENTO

LOCAL

DEPENDIENTE

62

-PROYECTOS-

PROYECTO

TRABAJO

63

-PROYECTOS-

TABLASDEPARTAMENTO

EMPLEADO

LOCAL

PROYECTO64

-PROYECTOS-

TRABAJO

DEPENDIENTE

QUERY’S65

-PROYECTOS-

1.- Obtener el nombre del empleado que está trabajando en el proyecto número 2.

SELECT NombreFROM empleado,trabajoWHERE trabajo.RFC=empleado.RFC AND NumPro=2

2.-Obtener el nombre y el nombre del departamento y local su nombre en el que está trabajando Michel Hernandez Ram y el puesto que ejerce.

SELECT DISTINCT Nombre,NomDepa,NomLoc,PuestoDepFROM empleado,`local`,trabajo,departamentoWHERE empleado.RFC=trabajo.RFC AND empleado.NumDepa=departamento.NumDepa AND departamento.NumDepa=`local`.NumDepa and Nombre='Michel Hernandez Ram'

3.-Obtener el nombre del proyecto y el nombre de quien está trabajando en él y los dependientes que tiene.

SELECT Nombre,NombrePro,NombreDepenFROM empleado,proyecto,trabajo,dependienteWHERE empleado.RFC=trabajo.RFC AND trabajo.NumPro=proyecto.NumPro and empleado.RFC=dependiente.RFC

4.-Obtener el nombre del empleado, sus dependientes y el departamento en el que está trabajando y en el local.

SELECT DISTINCT Nombre,NombreDepen,NomDepa,NomLoc66

-PROYECTOS-

FROM empleado,departamento,dependiente,`local`WHERE empleado.NumDepa=departamento.NumDepa AND empleado.RFC=dependiente.RFC AND departamento.NumDepa=`local`.NumDepa

5.-Obtener el nombre del departamento donde está el local de Contaduría II.

SELECT NomDepaFROM `local`,departamentoWHERE `local`.NumDepa=departamento.NumDepa AND NomLoc='Contaduria II'

6.-Obtener el nombre del empleado, el nombre del proyecto y las horas que trabaja en el proyecto.

SELECT Nombre,NombrePro,HorasProFROM empleado,proyecto,trabajoWHERE empleado.RFC=trabajo.RFC and trabajo.NumPro=proyecto.NumPro

67

-PROYECTOS-

7.-Obtener el nombre del empleado que tiene el RFC con numeración de 1648DRR.

SELECT Nombrefrom empleadoWHERE RFC='1648DRR'

8.-Obtener el nombre del empleado , sus dependientes, el departamento en el que trabaja el empleado, el proyecto en el que está trabajando, el local, las horas que trabaja ,el puesto que tiene en el departamento de Michel Hernandez Ram.

SELECT DISTINCT Nombre,NombreDepen,NomDepa,NombrePro,NomLoc,HorasPro,PuestoDepFROM empleado,dependiente,departamento,proyecto,`local`,trabajoWHERE empleado.RFC=dependiente.RFC AND empleado.NumDepa=departamento.NumDepa AND empleado.RFC=trabajo.RFC AND trabajo.NumPro=proyecto.NumPro

68

-PROYECTOS-

AND `local`.NumDepa=departamento.NumDepa AND Nombre='Michel Hernandez Ram'

9.-Obtener todos los proyectos y sus claves.

SELECT *FROM proyecto

10.-Obtener el nombre del local y a qué departamento pertenece.

SELECT NomLoc,NomDepaFROM `local`,departamentoWHERE `local`.NumDepa=departamento.NumDepa

69

-PROYECTOS-

11.-Introducir un nuevo local con nombre de informática con clave del departamento programación.

INSERT INTO `local`(Nomloc,NumLoc,NumDepa) VALUES ('Informatica',8,00001)

12.-Introducir un nuevo departamento que se llame soporte y mantenimiento.

INSERT INTO departamento(NumDepa,NomDepa) VALUES (00008,'Soporte y Mantenimiento')

70

Antes

Después

-PROYECTOS-

13.Borrar el departamento de soporte y mantenimiento.

DELETE from departamentoWHERE NumDepa=8

71

Después

Antes

-PROYECTOS-

14.-Borrar el local de informática.

DELETE FROM localWHERE NumLoc=8

15.Actualizar la relación de Isabel Leon Vera a hermana.

UPDATE dependienteSET Relacion='Hermana'

72

Después

Antes

Después

Antes

-PROYECTOS-

WHERE NombreDepen='Isabel Leon Vera'

FUENTES DE CONSULTA

73

Antes

Después

-PROYECTOS-

G, Campodonico. 2007, Bases de Datos Modelo Entidad Relacional,

3rd Edicion, Mexico, 14 Pag.

74

Recommended