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