-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