3. HISTORIA DEL SQL.
La Historia del SQL según International OrganizationforStandardization (ISO) "DatabaseLanguage 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 19761977 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
Regresar
stand-alones
6. ENUNCIADO
La empresa de ventas beta de cómputo 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 órdenes 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 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
8. D.E.R
Cliente Articulo
Estado
Refacción Vendedor
Id Cliente
Id Articulo
Id Estado
Id Ref.
Nombre
Nombre Art.
Estado
Nombre Ref.
Dirección
Precio
Precio
Email
Unidad
Unidad
Teléfono
Id vendedor
Nombre
Artículos
Tipo
Id tipo
Tipo
PRIMER DIAGRAMA ENTIDAD RELACION.
Id Art
Id Prov.
Articulo
Proveedor
Id Ven.
Vendedor
Id Ref.
Refacción
IdEst.
Estado
Id Clien.
Cliente
Proveedor
Id Proveedor
Nombre
Dirección
Email
Teléfono
9. DIAGRAMA ENTIDAD RELACION.
Id Tipo
Tipo
Tipo Ref.
Id Ref.
Refacción
Unidad
Nombre
IdClien
Nombre
Telefono
Telefono
Precio
Cliente
Id Ven
Nombre
Nombre
E-mail
Proveedor
Vendedor
Id Pro
E-mail
Cantidad
Direccion
Direccion
Articulo
Estado
Id Art
Nombre
Articulo
Nombre
Unidad
Precio
Regresar
IdEst
21. QUERYS
1.- Obtener los nombres de los clientes
SELECT NomCliente
FROM cliente
2.-Obtener los nombres de los clientes y su Id
de estado
SELECT Nomcliente, IdEdo
FROM cliente
3.-Obtener el nombre de los clientes y su estado.
SELECT NomCliente, estado
FROM cliente, estado
wherecliente.IdEdo=estado.IdEdo;
4.-Obtener los nombres de los clientes que son de Sinaloa.
SELECT NomCliente, estado
22. FROM cliente, estado
wherecliente.IdEdo=estado.IdEdo AND
5.-Obtener los Id de articulo y su cantidad.
SELECT IdArt, CantArt
FROM orden
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 clientes que son de Querétaro
SELECT Idcliente,estado
FROM cliente, estado
WHERE cliente.IdEdo=estado.IdEdo AND estado='Queretaro'
8.-Obtener los Id de los articulos y los Id de clientes que ordenaron
cantidades mayores a 4
estado='Sinaloa'
23. 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 articulo,orden,cliente
WHERE articulo.IdArt=orden.IdArt AND orden.Idcliente=cliente.Idcliente AND NomCliente='Cuenca
Bravo Jose'
10.- Obtener los nombres de los artículos que fueron ordenados en el estado de Veracruz
SELECT NomArt
FROM orden,articulo,estado
WHERE articulo.IdArt=orden.IdArt AND estado='Veracruz'
11.- Obtener los datos de la tabla cliente
SELECT *
FROM cliente
24. 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 articulo, orden
WHERE articulo.IdArt=orden.IdArt AND CantArt>=8 AND
CantArt<=13
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
25. SELECT CantArt
FROM orden
ORDER BY CantArt DESC
16.-Obtener los id de artículo, los id de clientes y la cantidad de artículos que ordenaron
cantidades mayores a 8.
SELECT IdArt, IdCliente,CantArt
FROM orden
WHERE CantArt>8
17.- Obtener las cantidades de los productos ordenadas de menor a mayor.
SELECT CantArt
FROM orden
ORDER BY CantArt ASC
18.-Obtener los nombres de los artículos que empiezan con M.
SELECT NomArt
FROM articulo
WHERE NomArt like 'M%'
26. 19.-Obtener el nombre ,dirección, teléfono del cliente.
SELECT NomCliente, Direccion, Tel
FROM cliente
20.-Obtener la cantidad máxima de refacción ordenada
SELECT MAX(CantRef)
FROM orden
21.-Obtener el nombre de los vendedores que empiezen con la letra R, el nombre del cliente que
empiezen con V, el nombre de los artículos que empiezen con la letra C la cantidad ordenados de
menor a mayor.
SELECT DISTINCTNomVend,NomCliente,NomArt,CantArt
FROM vendedor,cliente,orden,articulo
WHERE NomVend LIKE'R%' AND orden.IdArt=articulo.IdArt AND NomCliente LIKE'V%' AND LIKE
'C%'
ORDER BY CantArt ASC
22.-Obtener el nombre y la cantidad de refacciones que estén entre cantidades de compras de 1 a
7
SELECT CantRef,NomRef
FROM orden,refaccion
27. WHERE refaccion.IdRef=orden.IdRef AND CantRefBETWEEN 1 AND 7
23.-Obtener la suma de la cantidad de refacciones que fueron ordenados
SELECT SUM(CantRef)
FROM orden
24.-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
25.-Obtener el precio máximo de articulo
SELECT MAX(precio)
FROM articulo
26.-Obtener la cantidad de artículos y su nombre que estén entre 6 y 9 y ordenar la cantidad de
artículos ascendentemente
SELECT CantArt, NomArt
FROM orden,articulo
WHERE articulo.IdArt=orden.IdArt AND CanArt BETWEEN 6 AND 9
ORDER BY CantArt ASC;
28. 27.-Obtener los nombres de los estados donde hay clientes
SELECT 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
FROM orden,articulo,estado
WHERE articulo.IdArt=orden.IdArt AND estado='Morelia'
Regresar
29. 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 formatops e txt
http://www.jcc.com/SQLPages/jccs_INTEGRIDAD
REFERENCIAL.docxsql.html
La paginariguardante 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
32. ENUNCIADO
EMPRESA ITESO
En 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, 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 límite de usuarios
el periodo de realización y en número 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 término de
cada módulo, el número 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án 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.
Regresar
46. EXPORTACION DE TABLAS
PROCEDIMINTO PASO A PASO.
Para exportar una tabla de Excel a Navicat en la misma base de datos se busca que
diga Expordwizard y damos clic y se nos muestra la siguiente imagen, con el
transcurso de las imágenes se van mostrando los pasos que hay que hacer para
poder exportar la tabla paso a paso.
1.-Nos aparece esto y le damos clic al tipo de archivo de donde vamos a exportar,
como es Excel le damos en Excel file y ya depende del oficce que tengan les
aparecerá ya sea 2007 o cualquier otro, en este caso es 2007, después de darle clic
le damos next.
Regresar
47. 2.-Nos aparece esto, en el recuadro pequeño con tres puntos le damos clic y seleccionamos el
archivo, después damos next.
48. 3.-Aquí ya nos aparecen las tablas, seleccionamos la tabla que queremos exportar y damos next.
50. 5.-Nos aparece esto, escribimos el nombre de la tabla, damos clic en new table, damos clic en
next.
51. 6.-Nos aparecen las columnas de la tabla, seleccionamos la columna que es la llave primaria de la
tabla dando un clic en el recuadro en blanco debajo de primarykays y damos next.
52. 7.-Aquí damos clic en Advanced después nos aparece un recuadro que pregunta sobre la seguridad
que quieres que tenga la tabla das clic en todas hasta que todas tengan una palomita y damos
enter , damos next.
53. 8.-Aquí ya nos aparece que va a procesar la tabla para que no haya errores, damos clic en start.
54. 9.-Despues nos tiene que aparecer un recuadro así que quiere decir que no se encontraron errores
en la tabla y damos close, verificamos que este la tabla en la base de datos y así se exporta una
tabla de un documento excel
Regresar
55. QUERYS
1.-Agregar la materia de ingles a la tabla materia.
INSERT into materia values ('INGI','Ingles')
ANTES
DESPUES
2.-Agregar la materia de programacion a la tabla material.
INSERT into materia values ('PRO','Programacion')
ANTES
DESPUES
56. 3.-Agregar la especialidad de programacion a la tabla especialidad.
INSERT into especialidad values ('PROG','Programacion')
ANTES
DESPUES
4.-Agregar el alumno Pedro Roaro Juares con el numero de control 6823656, con la de fecha de
nacimiento de 9 de julio de 1973 con CveEsp PROG del grupo C y del semestre 3.
INSERT INTO alumno VALUES ('6823656','Pedro Roaro Juares', ' 09/7/1973','PROG', 'C',3)
ANTES.
57. DESPUES.
5.-Agregar el alumno Gabriel león Garcia con el numero de control 65467831, con la fecha de
nacimiento de 2 de agosto de 1970 con CveEsp PROG del grupo C y del semestre 3.
INSERT INTO alumno VALUES ('65467831','Gabriel Leon Garcia', ' 02/08/1970','PROG', 'C',3)
ANTES
59. 6.-Agregar la materia de Expresion Oral Y Escrita a la tabla materia.
INSERT into materia values ('EOYE','Expresion Oral Y Escrita')
ANTES
DESPUES
7.-
Agregar la
especialidad
TecnicoMetalurgico a la tabla
especialidad.
INSERT into especialidad values ('TecMe','TecnicoMetalurgico')
ANTES
DESPUES
8.- Agregar la materia de Mecanografia a la tabla de materia.
INSERT into materia values ('Mec','Mecanografia')
ANTES
DESPUES.
60. QUERYS DELETE.
1,-Eliminar la material de inglés de la tabla material.
DELETE
FROMmateria
WHERE
NomMat
='Ingles';
ANTES
DESPUES
61. 2.- Eliminar el alumno Gabriel Leon Garcia de la tabla alumno.
DELETE FROMalumno
WHERE NomAlu ='Gabriel Leon Garcia';
ANTES
DESPUES
62. 3.-Eliminar la material Mecanografia de la tabla materia.
DELETE FROMmateria
WHERE CveMat ='MEC';
ANTES
DESPUES
4.-Eliminar la especialidad de TecnicoMetalurgico de la tabla especialidad.
DELETE FROM especialidad
WHERE NomEsp ='TecnicoMetalurgico';
ANTES
DESPUES
5.-Eliminar el alumno que tenga el numero de control 6823656 de la tabla alumno.
64. QUERYS UPDATE.
1.-Cambiar el nombre de la materia Recursos humanos por RECURSOS de la tabla material.
UPDATE materia
SET NomMat='RECURSOS'
WHERE NomMat='Recursos humanos';
ANTES
65. DESPUES
2.-Cambiar el grupo del alumno que tenga el numero de control 200118852 por el grupo C.
UPDATE alumno
SET Grupo='C'
WHERE NoControl='200118852';
ANTES
66. DESPUES
3.-Cambiar el numero de control del alumno Teniente Cobarrubias Lisa por 54368736.
UPDATE alumno
SET NoControl='54368736'
WHERE NomAlu='Teniente Cobarrubias Lisa';
68. ción del docente que tiene el RFC MAAG470912DP9 por ITC.
UPDATE docente
SET INSTITUCION='ITC'
WHERE RFC ='MAAG470912DP9';
ANTES
DESPUES
69. 5.- Cambiar la institucion del docente que tenga el RFC AICP560129U54.
UPDATE docente
SET INSTITUCION='ITC'
WHERE RFC ='AICP560129U54';
ANTES
DESPUES
70. 6.-Cambiar la institucion del docente que tenga el RFC QUAM580717AC7.
UPDATE docente
SET INSTITUCION='ITC'
WHERE RFC ='QUAM580717AC7';
ANTES
DESPUES
71. QUERYS SELECT.
1.- Obtener los nombres de los alumnos que empiezan con V.
SELECT NomAlu
FROM alumno
WHERE NomAlu like 'V%'
2.- Obtener las calificaciones de los alumnos ordenadas de mayor a menor.
SELECT CP
FROM boleta
ORDER BY CP DESC
3.- Obtener los números de control de los alumnos que sus tres primeros números sean 200.
SELECT DISTINCTNoControl
FROM boleta
WHERE boleta.NoControl REGEXP BINARY 200
72. 4.- Obtener los datos de la tabla Boleta
SELECT *
FROM boleta
5.-Obtener el promedio máximo que se obtuvo.
SELECT MAX(CP)
FROM boleta
73. 6.- Obtener los promedios de los alumnos que estén entre 8 y 10.
SELECT CP
FROM boleta
WHERE CP >8 AND CP<10
Regresar
76. ENUNCIADO
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 el empleado administrador empezó a 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, lo que no son necesariamente 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.
Regresar
89. QUERYS
QUERYS INSERT.
1.-Agregar el local Escovedo con un Id de
73496793 en la tabla local.
INSERT INTO `local`VALUES ('73496793','Escovedo')
Antes
Regresar
90. Despues
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')
92. Despues.
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')
94. Despues
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')
104. Despues
QUERYS UPDATE.
1.-Cambiar la relacion de hermanos a primos de la table dependientes.
UPDATE dependientes
SET Relacion='Primo'
WHERE Relacion='Hermano'
113. 2.-Obtener los nombres de los empleados de la table empleado en orden alfabetico.
SELECT Nombre
FROM empleado
ORDER BY Nombre ASC
3.-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
Regresar
114. DEDICATORIA.
Este proyecto es dedicado a todas las personas que me han apoyado a lo largo
de mis estudios ya que sin su apoyo yo no sabría o podría hacer este tipo de
proyectos, principalmente dedicado a mi mama, hermano y abuelo.
También es dedicada a los maestros que me apoyan a darme por vencida y no
necesito decir nombres porque cada uno de ellos lo sabe bien.
Regresar