89

Proyectos de bases de datos

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Proyectos de bases de datos
Page 2: Proyectos de bases de datos

-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

Page 3: Proyectos de bases de datos

-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

Page 4: Proyectos de bases de datos

-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

Page 5: Proyectos de bases de datos

-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

Page 6: Proyectos de bases de datos

-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

Page 7: Proyectos de bases de datos

-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

Page 8: Proyectos de bases de datos

-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

Page 9: Proyectos de bases de datos

-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

Page 10: Proyectos de bases de datos

-PROYECTOS-

ENUNCIADO

10

BET

Page 11: Proyectos de bases de datos

-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

Page 12: Proyectos de bases de datos

-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

Page 13: Proyectos de bases de datos

-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

Page 14: Proyectos de bases de datos

-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

Page 15: Proyectos de bases de datos

-PROYECTOS-

2.-Cliente

3.-Estado

15

Page 16: Proyectos de bases de datos

-PROYECTOS-

4.-Orden

5.-

Refaccion

16

Page 17: Proyectos de bases de datos

-PROYECTOS-

6.-Vendedor

QUERYS

1.-Obtener el nombre de los clientes.

Select NomCliente

from cliente

17

Page 18: Proyectos de bases de datos

-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

Page 19: Proyectos de bases de datos

-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

Page 20: Proyectos de bases de datos

-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

Page 21: Proyectos de bases de datos

-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

Page 22: Proyectos de bases de datos

-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

Page 23: Proyectos de bases de datos

-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

Page 24: Proyectos de bases de datos

-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

Page 25: Proyectos de bases de datos

-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

Page 26: Proyectos de bases de datos

-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

Page 27: Proyectos de bases de datos

-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

Page 28: Proyectos de bases de datos

-PROYECTOS-

Order by CantArt ASC

22.-Obtener los

nombres de los

vendedores

ordenados alfabeticamnete

Select NomVend

From vendedor

Order by NomVend Desc

28

Page 29: Proyectos de bases de datos

-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

Page 30: Proyectos de bases de datos

-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

Page 31: Proyectos de bases de datos

-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

Page 32: Proyectos de bases de datos

-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

Page 33: Proyectos de bases de datos

-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

Page 34: Proyectos de bases de datos

-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

Page 35: Proyectos de bases de datos

-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

Page 36: Proyectos de bases de datos

-PROYECTOS-

36

HORARIO CURSO

CURSOPLANEACION

CURSOASESOR

CURSOUSUARIO

USUARIOBECA

CURSOAULA

N:1

1:1

1:M

1:1

Page 37: Proyectos de bases de datos

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

Page 38: Proyectos de bases de datos

-PROYECTOS-

38

ALUMNO

DOCENTEFACULTAD

CURSOBOLETA

R1N:1

1:N

R4

R3

R2

N:1

N:1

MATRICULANo.Curso

Cve.FacultadRFC

Segundo modelo

Page 39: Proyectos de bases de datos

DISEÑO DE LAS TABLAS

TABLA ALUMNO

TABLA BOLETA

TABLA DOCENTE

Page 40: Proyectos de bases de datos

-PROYECTOS-

TABLA ESPECIALIDAD

TABLA MATERIA

TABLAS DE LA BASE DE DATOS40

Page 41: Proyectos de bases de datos

-PROYECTOS-

T A B L A A L U M N O

TABLA BOLETA

41

Page 42: Proyectos de bases de datos

-PROYECTOS-

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

42

Page 43: Proyectos de bases de datos

-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

Page 44: Proyectos de bases de datos

-PROYECTOS-

TABLA MATERIA

44

Page 45: Proyectos de bases de datos

-PROYECTOS-

QUERYS1.-Insertar una nueva material con su clave.

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

45

Page 46: Proyectos de bases de datos

-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

Page 47: Proyectos de bases de datos

-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

Page 48: Proyectos de bases de datos

-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

Page 49: Proyectos de bases de datos

-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

Page 50: Proyectos de bases de datos

-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

Page 51: Proyectos de bases de datos

-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

Page 52: Proyectos de bases de datos

-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

Page 53: Proyectos de bases de datos

-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

Page 54: Proyectos de bases de datos

-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

Page 55: Proyectos de bases de datos

-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

Page 56: Proyectos de bases de datos

-PROYECTOS-

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

SELECT NomDocFROM docenteWHERE Institucion='UPG'

56

MINIMUNDO

Page 57: Proyectos de bases de datos

-PROYECTOS-

ENUNCIADO

57

Page 58: Proyectos de bases de datos

-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

Page 59: Proyectos de bases de datos

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

Page 60: Proyectos de bases de datos

-PROYECTOS-

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

60

Page 61: Proyectos de bases de datos

-PROYECTOS-

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

DISEÑO DE TABLASEMPLEADO

61

Page 62: Proyectos de bases de datos

-PROYECTOS-

DEPARTAMENTO

LOCAL

DEPENDIENTE

62

Page 63: Proyectos de bases de datos

-PROYECTOS-

PROYECTO

TRABAJO

63

Page 64: Proyectos de bases de datos

-PROYECTOS-

TABLASDEPARTAMENTO

EMPLEADO

LOCAL

PROYECTO64

Page 65: Proyectos de bases de datos

-PROYECTOS-

TRABAJO

DEPENDIENTE

QUERY’S65

Page 66: Proyectos de bases de datos

-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

Page 67: Proyectos de bases de datos

-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

Page 68: Proyectos de bases de datos

-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

Page 69: Proyectos de bases de datos

-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

Page 70: Proyectos de bases de datos

-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

Page 71: Proyectos de bases de datos

-PROYECTOS-

13.Borrar el departamento de soporte y mantenimiento.

DELETE from departamentoWHERE NumDepa=8

71

Después

Antes

Page 72: Proyectos de bases de datos

-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

Page 73: Proyectos de bases de datos

-PROYECTOS-

WHERE NombreDepen='Isabel Leon Vera'

FUENTES DE CONSULTA

73

Antes

Después

Page 74: Proyectos de bases de datos

-PROYECTOS-

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

3rd Edicion, Mexico, 14 Pag.

74