proyecto de base de datos completo

Post on 25-May-2015

636 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Diciembre 5 del 2013

2013

Proyecto de base de datos este

primer proyecto constara de

una pequeña empresa llamada

beta esta empresa se encargara

de ventas varios artículos de

computo los cuales estarán en la

base de datos que se van a

administrar

INDICE

INDICE ................................................................................................................................... 1

Historia del SQL ..................................................................................................................... 2

Enunciado ................................................................................................................................ 3

Primer diagrama entidad relacion ........................................................................................... 4

Segundo diagrama entidad relacion ........................................................................................ 5

Tablas ....................................................................................................................................... 6

Diseño de las tablas ............................................................................................................... 11

Querys .................................................................................................................................... 13

Integridad Referencial ........................................................................................................... 28

Fuentes de consulta ............................................................................................................... 29

.................................................................................... 30

......................................................................................................................................... 30

Enunciado Iteso ............................................................................................................................. 31

Estructura ER ................................................................................................................................ 32

Relaciones ..................................................................................................................................... 33

Diagrama Entidad Relación .......................................................................................................... 34

Tablas ............................................................................................................................................ 35

Diseño de las Tablas ..................................................................................................................... 38

Consultas o Querys ....................................................................................................................... 40

................................................................................................................... 64

Enunciado ................................................................................................................................. 65

Entidades y Relacion ER ............................................................................................................... 66

Relaciones ..................................................................................................................................... 67

Diagrama Entidad Relación .......................................................................................................... 68

Querys ........................................................................................................................................... 73

Regresar

Historia del SQL

La Historia del SQL según International Organization for Standardization (ISO) -

"Database Language SQL", Document ISO/IEC 9075:1992 fuentes

Desde 1974 empieza con la definición por Donald Chamberlain y de otras

personas que trabajaban en los laboratorios de investigación IBM , de un lenguaje

para la especificación de las características de las bases de datos que adoptan el

modelo relacional. Este lenguaje se llamaba SEQUEL y se implementó en 1976-

1977 como SEQUEL-XRM , gracias al éxito que tuvo este sistema ya mejorado en

años siguientes que no estaba comercializado , otras empresas empezaron a

desarrollar sus productos relacionales basados en SQL . En 1981 IBM comenzó a

integrar sus productos relacionales y en 1983 comenzó a vender DB2. En 1986 , el

ANSI adopto SQL como estándar para los lenguajes con el nombre de SQL/86 .

En los siguientes años este ha sufrido diferentes revisiones que han conducido a

la versión SQL/89 y posterior a la actual SQL/92. Actualmente está en marcha un

proceso de revisión del lenguaje por parte de los comités ANSI e ISO que

deberían terminar en la definición en lo que este momento se conoce como SQL3 .

Las características principales de esta nueva encarnación de SQL deberían ser su

transformación en un lenguaje stand-alones.

Regresar

Enunciado

La empresa de ventas beta de computo es una empresa que tiene una matriz en

Guanajuato. Que cuentas con innumerables número de ventas en varios estados

del país , la empresa se ha extendido a varios estados del país , esta empresa

cuenta con ordenes en las cuales incluyen la fecha y hora en la cual se realizan ,la

empresa cuenta con varios proveedores que se encargan de surtir a las diferentes

empresas ,también cuentan con varios vendedores y estos se dedican a atender a

varios clientes , los clientes al ser atendidos por los los vendedores dejan como

datos de ventas su e-mail , su teléfono, su dirección, su nombre y son registrados

cada cliente con un id para ser reconocidos.

Regresar

Primer diagrama entidad relacion

Cliente Articulo Estado Refaccion Vendedor Proveedor

Id Cliente Id Articulo Id Estado Id Ref Id vendedor Id

Proveedor

Nombre Nombre Art. Estado Nombre Ref. Nombre Nombre

Dirección Precio Precio Articulos Direccion

Email Unidad Unidad Email

Teléfono Telefono

Regresar

Segundo diagrama entidad relacion

Regresar

Tablas

Tabla articulo

Regresar

Tabla Orden

Regresar

Tabla Cliente

Regresar

Tabla Refaccion

Regresar

Tabla Vendedor

Diseño de las tablas

Diseño de la tabla Articulo

Diseño de la tabla Cliente

Diseño de la tabla Estado

Diseño de la tabla Orden

Diseño de la tabla Refacción

Diseño de la tabla Vendedor

Querys

1. Obtener los nombres de los clientes

Select NomCliente

from cliente

2.Obtener el nombre y su Id de estado.

Select NomCliente,IdEdo

From cliente

Regresar

3.obtener los estados de los clientes.

Select NomCliente,estado

FROM cliente,estado

where cliente.IdEdo=Estado.IdEdo

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'

Regresar

5.Obtener los Id de articulo y su cantidad

Select IdArt,CantArt

from orden

Regresar

6.Obtener los nombres de los clientes que son del estado de Morelia.

Select NomCliente,estado

from cliente,estado

WHERE cliente.IdEdo=Estado.IdEdo and estado='Morelia'

7.Obtener los Id de cliente que son de queretaro

Select Idcliente,estado

from cliente,estado

WHERE cliente.IdEdo=Estado.IdEdo and estado='Queretaro'

Regresar

8.Obtener los id de artículos y los id de clientes que ordenaron cantidades

mayores a cuatro.

Select IdArt,IdCliente

from orden

where CantArt> 4

9.Obtener los nombre de los artículos que fueron ordenados por el cliente Cuenca

Bravo José

SELECT NomArt,NomCliente

from articulo,orden,cliente

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

NomCliente='Cuenca Bravo Jose'

Regresar

10.Obtener los nombres de los artículos que fueron ordenados en el estado de

Veracruz.

SELECT NomArt

from articulo ,orden,estado,cliente

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

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

11.obtener lo datos de la tabla cliente

SELECT *

from cliente

Regresar

12. Obtener los nombre de los clientes que empiezan con V.

SELECT NomCliente

from cliente

WHERE NomCliente LIKE 'V%'

13.Obtener os nombres de los productos que fueron ordenados entre cantidades

de 8 a 13

SELECT NomArt

FROM orden,articulo

WHERE articulo.IdArt =orden.IdArt AND

CantArt >= 8 AND CantArt <=13

Regresar

14.Obtener la cantidad maxima 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

Regresar

16. obtener los nombres de los estados ordenados alfabéticamente.

SELECT estado

FROM estado

ORDER BY Estado ASC;

17.obtener los nombres de las refacciones que su precio sea mayor a 300 pesos

y ordenarlos alfabéticamente.

SELECT NomRef

FROM refaccion

WHERE Precio >=300

ORDER BY NomRef ASC;

Regresar

18. Obtener los nombres de los vendedores donde el nombre de su dirección

tenga una ‘a’

SELECT NomVend

FROM vendedor

WHERE Direccion like '%a%';

19. obtener los nombres de los vendedores donde su id sea ‘V0003’

SELECT NomVend

FROM vendedor

WHERE IdVend like 'V0003';

Regresar

21. OBTENER LOS NOMBRES DE LOS VENDEDORES QUE EMPIECEN CON

LA LETRA R, EL NOMBRE DE LOS CLIENTES QUE EMPIECEN CON V, EL

NOMBRE DE LOS ARTICULOS QUE EMPIECEN CON LA LETRA C Y LA

CANTIDAD DE LOS ARTICULOS ORDENADOS DE MENOR A MAYOR.

SELECT DISTINCT NomVend, NomCliente, NomArt, Cant

FROM vendedor, cliente, orden, rticulo

WHERE NomVend LIKE ‘R%’ AND orden.IdArt=articulo.IdArt AND NomCliente

LIKE ‘V%’ AND NomArt LIKE ‘C%’

ORDER BY CantArt ASC

Regresar

22. Obtener el nombre y la cantidad de refacciones que esten emtre cantidades de

compras de 1 a 7

Select CantRef,NomRef

From orden,refaccion

Where refaccion .idRef = orden.IdRef AND CantRef BETWEEN 1 AND 7;

23. OBTENER LA SUMA DE CANTIDADES DE REFACCIONES QUE FUERON

ORDENADAS.

SELECT SUM(CantRef)

FROM Orden

24. OBTENER LOS NUMEROS TELEFONICOS DE LOS CLIENTES QUE SU

LADA SEA 411.

SELECT DISTINCT Tel

FROM cliente

WHERE cliente.Tel REGEXP BINARY 411

Regresar

25. OBTENER EL PRECIO MAXIMO DE ARTICULO.

SELECT MAX(precio)

FROM articulo

26. OBTENER LA CANTIDAD DE ARTICULO Y SU NOMBRE QUE ESTEN

ENTRE 6 Y 9, ORDENAR LA CANTIDAD DE ARTICULOS

ASCENDENTEMENTE.

SELECT CantArt, NomArt

FROM orden, articulo

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

ORDER BY CantArt ASC;

Regresar

27. OBTENER LOS NOMBRES DE LOS ESTADOS DONDE HAY CLIENTES.

SELECT DISTINCT Estado

from estado,cliente

WHERE cliente.IdEdo=estado.IdEdo

28. OBTENER LOS NOMBRES DE LOS PRODUCTOS QUE FUERON

ORDENADOS EN EL ESTADO DE Morelia

SELECT NomArt,NomRef

from orden,articulo,estado,refaccion,cliente

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

orden.IdCliente=cliente.IdCliente AND cliente.IdEdo=estado.IdEdo AND

Estado="Morelia".

RegresarRegresar

Integridad Referencial

Helmut Kopka and Patrick W. Daly - "A Guide to LaTeX 2e", Second Edition,

Addison-Wesley1995

Es un sistema de reglas que utilizan la mayoría de las bases de datos relacionales

para asegurarse que los registros de las tablas relacionales sean validos.

RELACION UNO A UNO

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

otra tabla y viceversa.

1:1

RELACION DE UNO A VARIOS

Un registro tabla solo puede estar relacionado con un único registro de la otra

tabla y un registro de la otra tabla principal puede tener más de un registro

relacionado en la tabla secundaria.

.

N:1

RELACION DE MUCHOS A MUCHOS

Un registros de una tabla puede estar relacionado con mas de un registro de la

otra tabla y viceversa.

N:M Regresar

Fuentes de consulta

International Organization for Standardization (ISO) - "Database Language SQL", Document ISO/IEC 9075:1992 American National Standards Institute - "Database Language Embedded SQL", Document ANSI X3.168-1989 R. Elmasri and S.B. Navathe - "Fundamentals of Database Systems", Second Edition, The Benjamin/Cummings publishing company, 1994 F.D. Rolland - "The essence of databases", Prentice Hall, 1998 E.F. Codd - "A Relational Model of Data for Large Shared Data Banks", Communications of the ACM 13, No. 6, June 1970 C.J. Date with Hugh Darwen - "A Guide To The SQL Standard", Fourth Edition, Addison-Wesley, 1997 Jan L. Harrington - "SQL Clearly Exmplained", AP Professional, 1998 Helmut Kopka and Patrick W. Daly - "A Guide to LaTeX 2e", Second Edition, Addison-Wesley, 1995 Jason Hunter with William Crawford - "Java Servlet Programming", O'Reilly, 1998 ftp://gatekeeper.dec.com/pub/standards/sqlHistoria del SQL.docx Raccolta di Working Draft del linguaggio SQL3 in formato ps e txt http://www.jcc.com/SQLPages/jccs_INTEGRIDAD REFERENCIAL.docxsql.html La pagina riguardante lo standard SQL della JCC Consulting, Inc. http://www.postgresql.org Il sito dedicato a PostgreSQL. Vi si puo' inoltre trovare una versione elettronica del libro di Bruce Momjian - "PostgreSQL: Introduction and Concepts"

Regresar

Este proyecto esta realizado bajo la supervicion de la maestra esperanza

pescador la cual nos oriento en el trayecto de la realización esperando que de

alguna manera sirva a futuro para dar una idea de lo que es un base de datos

utilizando varios manejos de información para lograr hacer

Volver

Enunciado Iteso

Estructura ER

Pago

Id Pago

Tarj.Credito

Efectivo

Usuario

Id Usuario

Nombre

Curso

Fecha

Horario

Acesor

Curso

Id Curso

Nom. Curso

Limite de Curso

Realizacion

Total de horas

Forma de Pago

Acesor

Id Acesor

Producto

Calificación

Modelo Curso

Contenido

Planeación

Id Planeación

Numero Horas

Contenido Tematico

Horario

Id Horario

Horario

Beca

Id Beca

Beca

Relaciones

||-----------------||

N:M

||-----------------||

N:M

|------------------|

1:1

||-----------------||

N:M

||----------------||

N:M

Volver

Usuario Curso

Curso Asesor

Usuario Beca

Asesor Planeacion

Usuario Horas

Diagrama Entidad Relación

Regresar

Matricula

R4 Boleta R2 Alumno

R3 R1 Curso

NoCurso

oo DocenteFacultad

RFC

CveFacultad

Tablas

Tablas Alumno

Regresar

Tabla de Boleta

Regresar

Tabla Docente

Tabla Especialidad

Tabla Materia

Regresar

Diseño de las Tablas

Diseño de la Tabla Alumno

Diseño de la tabla Boleta

Diseño de la tabla Docente

Volver

Diseño de la tabla Especialidad

Diseño de la Tabla Materia

Regresar

Consultas o Querys

Agregar la materia de Ingles

1-. INSERT INTO materia(CveMat,NomMat) VALUES('ING I','Ingles I')

Antes Despues

Corrida

Regresar

2-. Agregar un nuevo dato a la boleta con un numero de control que sea

25489752 y que este en la especialidadde Administracion.

INSERT INTO boleta(NoControl,CveMat,Parcial,CT,CP,RFC)

VALUES('25489752','ADMON','5','5','5','AICP560129U54')

Antes Despues

Corrida

Volver

Regresar

3-.Insertar un nuevo valor a la tabla boleta que el numero de control sea 125984 y

sea de CveMat BIO

INSERT INTO boleta(NoControl,CveMat,Parcial,CT,CP,RFC)

VALUES('125894','BIO','10','10','10','FRHDU12445HFT33')

Antes Despues

Corrida

Volver

4-.Agregar un nuevo valor a la table materia que sea geografia

INSERT INTO materia(CveMat,NomMat) VALUES('ING','Ingles I')

Antes Despues

Corrrida

Regresa

5.-Agregar un nuevo docente que sus datos sean 'MAYR5510566',' Patiño

Resendiz Mayra Gisela','12/07/1985','Maestra','Tec.Prog.Analistica','UPG'

INSERT INTO

docente(RFC,NOMDOC,FECNACDOC,NIVEL,CARRERA,INSTITUCION)

VALUES('MAYR5510566',' Patiño Resendiz Mayra

Gisela','12/07/1985','Maestra','Tec.Prog.Analistica','UPG')

Antes Despues

Corrida

Volver

6-.Agregar un nuevo Alumno con los datos '12344321','Fidel Jaraleño

Teniente','17/07/1996','A56','C','3'

INSERT INTO alumno(NoControl,NomAlu,FecNac,CveEsp,Grupo,Semestre)

VALUES('12344321','Fidel Jaraleño Teniente','17/07/1996','A56','C','3')

Antes Despues

Corrida

Regresa

7-.Actualizar un alumno que es del grupo C con un nuevo numero de control que

sea ‘ 200118852'

UPDATE alumno

set Grupo='D'

WHERE NoControl='200118852'

Antes Despues

Corrida

Regresar

8-.Eliminar el alumno con el numero de control '12344321'

DELETE FROM alumno

WHERE Nocontrol='12344321'

Antes Despues

Corrida

Volver

9-.Eliminar la columna Nocontrol de la tabla alumno

DELETE FROM alumno

WHERE Nocontrol='Nocontrol'

Antes Despues

Corrida

Volver

10-.Eliminar la materia de Ingles

DELETE FROM materia

WHERE CveMat='ING 1'

Antes Despues

Corrida

Regresar

11-.Eliminar la columna CveMat en la tabla materia

DELETE FROM materia

WHERE CveMat='CveMa'

Antes Despues

Corrida

Volver

13-. Eliminar el numero de control '125894'

DELETE FROM boleta

WHERE NoControl='125894'

Antes Despues

Corrida

Volver

14-.Eliminar el RFC ‘AICP560129U54' de la tabla boleta

DELETE FROM boleta

WHERE RFC='AICP560129U54'

Antes Despues

Corrida

Regresar

15-.Eliminar de la tabla docente a' Patiño Resendiz Mayra Gisela'

DELETE FROM docente

WHERE NOMDOC=' Patiño Resendiz Mayra Gisela'

Antes Despues

Corrida

Volver

16-.Actualizar la tabla docente con un cambio a el RFC del docente 'Contreras Ruiz

Nicolas Gerardo'

UPDATE docente

set RFC ='C45784E44'

WHERE NOMDOC ='Contreras Ruiz Nicolas Gerardo'

Antes Despues

Corrida

Volver

17-.Actualizar la tabla alumno el numero de control '2547892' al alumno 'Ramirez

Robledo Hiram'

UPDATE alumno

set NoControl ='2547892'

WHERE NomAlu ='Ramirez Robledo Hiram'

Antes Despues

Corrida

Regresa

18-.Actualizar el nombre del docente 'Quintana Aguado Miguel Angel' por

'Quintana Miguel Angel'

UPDATE docente

set NOMDOC ='Quintana Miguel Angel'

WHERE NOMDOC ='Quintana Aguado Miguel Angel'

Antes Despues

Corrida

Volver

19-. Actualizar la tabla boleta el CP que sea 10 donde su numero de control sea

'200118852'

Antes Despues

Corrida

Volver

20-.Eliminar de la tabla docente la columna RFC

DELETE FROM docente

WHERE RFC ='RFC'

Antes Despues

Corrida

Volver

21-.Agregar la especialidad de ofimatica

INSERT INTO especialidad (CveEsp,NomEsp)

VALUES ('Of59','Ofimatica')

Antes Despues

Corrida

Regresar

22-.Eliminar la especialidad con la CveEsp ‘Of59’

DELETE FROM especialidad

WHERE CveEsp='Of59'

Antes Despues

Corrida

Volver

23-.Actualizar la tabla docente el RFC RVOA5872099 con el nombre de docente

'Rosa Velazquez Angelica'

UPDATE docente

set RFC='RVOA5872099'

WHERE NOMDOC='Rosa Velazquez Angelica'

Antes Despues

Corrida

Volver

24-.Actualizar la tabla especialidad en el CveEsp E50 a CveEsp 00

UPDATE especialidad

set CveEsp='E00'

WHERE CveEsp='E50'

Antes Despues

Corrida

Volver

25-.Eliminar la columna de CveEsp de la tabla especialidad

DELETE FROM especialidad

WHERE CveEsp='CveEsp'

Antes Despues

Corrida

Volver

Enunciado

Regresar

Entidades y Relacion ER

Volver

Departamento

Id Dept

Nombre

Empleado

Empleado

RFC

Dirección

Salario

Sexo

Año Nacimiento

Proyecto

Id Pro

Nombre

Local

Local

Id local

Num Local

Dependencia

Id Dep

Nombre

Sexo

Fech Nac

Relaciones

||----------------||

1:M

|-----------------||

1:M

|-----------------|

1:1

|-----------------||

1:M

Volver

Departamento Empleado

Empleado Dependiente

Departamento Local

Empleado Proyecto

Diagrama Entidad Relación

Regresar

Id Dept

R4 Empleado R2 Departamento

R3 R1 Proyectos

NoCurso

oo

Dependencia Locales

IdDep

Id Local

Nombre Emplea RFC Nombre direccion

Salario sexo

Num local

Nombre

Local

Nombre

sexo

FechNac

DISEÑO DE TABLAS.

Departamento.

Dependientes.

Empleado.

Regresar

Local.

Proyecto.

Volver

TABLAS

Departamento.

Dependiente.

Volver

Empleado.

Local.

Volver

Querys

1-. Agregar el local Escovedo con un Id de 73496793 en la tabla local.

INSERT INTO `local`VALUES ('73496793','Escovedo')

Antes Despues

Corrida

Volver

2.-Agregar el departamento Historia con un Id de 346436. que tenga 9 locales en

la tabla departamento

INSERT INTO departamento VALUES ('346436','Historia','9')

Antes Despues

Corrida

Volver

3.-Agregar el proyecto JDSF con un Id de 35739352 del local Vásquez en la tabla

Proyecto.

INSERT INTO proyecto VALUES ('35739352','JDSF','Vasquez')

Antes Despues

Corrida

Regresar

4-. Agregar el empleado Mozqueda Arriaga Veronica con un Id de 52375258,

dirección de Hidalgo No.4, fecha de nacimiento de 09/12/1969, de sexo femenino

y que tenga de salario 1580 en la tabla empleado.

INSERT INTO empleado VALUES ('52375258','Mozqueda Arriaga

Veronica','Hidalgo No.4','09/12/1969','F','1580')

Antes Despues

Corrida

Regresar

5.-Eliminar de la table local el local que tenga el Id de 73496793.

DELETE FROM `local`

WHERE IdLocal='73496793'

Antes Despues

Corrida

Volver

6.-Eliminar de la tabla proyecto el proyecto con el nombre JDSF.

DELETE FROM proyecto

WHERE NomPoyec='JDSF'

Antes Despues

Corrida

Volver

7.-Eliminar de la tabla empleado el empleado que tenga el salario de 1580.

DELETE FROM empleado

WHERE Salario='1580'

Antes Despues

Corrida

Regresar

8-. Eliminar de la tabla departamento el departamento que tenga 9 locales.

DELETE FROM departamento

WHERE Locales='9'

Antes Despues

Corrida

Regresar

9.- Cambiar la relacion de hermanos a primos de la table dependientes.

UPDATE dependientes

SET Relacion='Primo'

WHERE Relacion='Hermano'

Antes Despues

Corrida

Regresar

10-.Cambiar el IdProyecto 3795735 por 72386406 de la tabla proyecto.

UPDATE proyecto

SET IdProyecto='72386406'

WHERE IdProyecto='3795735'

Antes Despues

Corrida

Volver

11-.Cambiar el nombre de local lopez por Hernandez de la tabla local.

UPDATE `local`

SET NomLocal='Hernandez'

WHERE NomLocal='Lopez'.

Antes Despues

Corrida

Volver

12-. Cambiar el salario de 900 por 1150 de la tabla empleado.

UPDATE empleado

SET Salario='1150'

WHERE Salario='900'

Antes Despues

Corrida

Volver

13-. Obtener los empleados que sus nombres empiezan con T.

SELECT Nombre

FROM empleado WHERE Nombre like 'T%'

14.-Obtener los nombres de los empleados de la table

empleado en orden alfabetico.

SELECT Nombre

FROM empleado

ORDER BY Nombre ASC

Corrida

Regresar

15-. Obtener los Id de proyecto que tengan el número 7 de la tabla proyecto.

SELECT DISTINCT IdProyecto

FROM proyecto

WHERE proyecto.IdProyecto REGEXP BINARY 7

Corrida

Volver

top related