2. Índice
BETA
Enunciado1…………………………………………………..4
Diagrama Entidad Relación
(DER1)……………………………………………………….5
Diseño1 de tablas…………………………………………..6
Tablas1………………………………………………………8
Consultas1…………………………………………………14
ITESO
Enunciado2…………………………………………………25
Diagrama Entidad Relación
(DER2)………………………………………………………26
Diseño2 de tablas…………………………………………..27
Tablas2………………………………………………………28
Consultas2…………………………………………………..30
ELECTRODOMESTICOS
Enunciado………………………………………………….40
2
4. BETA
Enunciado1
La empresa BETA, es la encargada de surtir artículos y refacciones de
cómputo a la zona centro de nuestro país, para ello requiere una base
de datos que le ayude a la buena organización de sus datos. Cuenta
con proveedores, que le surten ya sea artículos o refacciones.
Necesita registrar los datos de sus clientes (nombre, dirección, e-mail,
estado y teléfono), así como registrar los artículos y productos que
venden, sus precios, y todo lo que se relacione con ellos. Nos han
encargado la realización de las bases de datos, para lo cual
necesitamos realizar el modelo entidad-relación, después la sucesión
de sus tablas.
4
5. DER1
Propuesto en 1976-1977 por Peter P. Chen, pero no se considera la existencia de
único modelo.
El modelo entidad relación permite representar el esquema de una base de datos,
de manera grafica al descubrir lavase de datos. Información como entidades,
relaciones y atributos
NOMBRE
Id
ID
Domic
ilio
R4
Cliente
Estado
No
m.
R3
orden
Articulo
R5
Id
Precio
Tip
o
R1
Id
R
7
Refacción
Nombre
Vendedor
R6
Direcció
n
R
2
Tipo Refacción
Proveedor
Id tipo
Tip
o
5
Id
Nombr
e
Dirección
14. Consultas1
1.-Obtener el nombre de los clientes.
Select NomCliente
from cliente
2.-Obtener los nombres de los clientes y su ID de su estado.
select NomCliente,IdEdo
from cliente
14
15. 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'
5.- Obtener los Id de articulo y su cantidad.
SELECT IdArt,CantArt
FROM orden
15
16. 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'
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 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 Jose
SELECT NomArt
FROM articulo,orden,cliente
WHERE articulo.IdArt=orden.IdArt
AND orden.IdCliente=cliente.IdCliente and NomCliente='Cuenca Bravo Jose'
16
17. 10.- obtener los nombres de los artículos que fueron ordenados en el estado de
Veracruz
Select NomArt
from articulo,estado,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
17
18. 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 articulo.IdArt = orden.IdArt AND
CantArt >= 8 AND CantArt <=13
14. obtener la cantidad máxima de producto ordenado
select MAX(CantArt)
from orden
18
19. 15. obtener las cantidades de los productos ordenadas de mayor a menor
select CAntArt
from orden
ORDER BY CantArt DESC
1. obtener los nombres de los clientes que tienen ‘a ’
SELECT NomCliente
FROM cliente
WHERE NomCliente like '%a%';
19
20. 2. obtener los nombres de los clientes que empiezan con r
SELECT NomCliente
FROM cliente
WHERE NomCliente like 'r%';
3. obtener los datos de la tabla articulo
SELECT *
FROM articulo;
4. obtener el nombre de todos los clientes ordenados del z a la a
SELECT NomCliente
20
21. FROM cliente
ORDER BY NomCliente DESC;
5. obtener el nombre de todas las refacciones ordenados alfabeticamente
SELECT NomRef
FROM refaccion
ORDER BY NomRef ASC;
21
22. 1.Obtener el nombre de los vendedores que empiecen con la letra ‘r’, el nombre
del cliente que empiecen con ‘v’, el nombre de los artículos que empiece con la
letra ‘c’ , la cantidad de artículos ordenados de mayor a menor.
select distinctnomvend, nomcliente, nomart,cantart
from vendedor, cliente, orden, articulo
where nomvend like 'r%' and orden.idart=articulo.idart and nomcliente like "v%"
and nomart like "c%"
order by cantartasc
2.Obtener los nombres de los vendedores ordenados alfabéticamente.
SELECT NomVend
FROM vendedor
ORDER BY NomVend ASC
3.obtener el nombre y la cantidad de refacciones que estén entre
cantidades de compras de 1 a 7.
SELECT CantRef, NomRef
22
23. FROM orden, refaccion
WHERE refaccion.IdRef=orden.IdRef and CantRef BETWEEN 1 and 7;
4.obtener la suma de la cantidad de refacciones que fueron ordenadas.
SELECT SUM (CanRef)
FROM orden
5.obtener el precio máximo de artículo
SELECT MAX(precio)
FROM artículo
6. 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 CantArt
BETWEEN 6 and 9
ORDER BY CantArt ASC;
7. Obtener los nombres de los estados donde hay clientes
SELECT DISTINCT estado
FROM estado, cliente
WHEREcliente.IdEdo=estado.IdEdo
8.OBTENER LOS NOMBRES DE LOS PRODUCTOS QUE FUERON
ORDENADOS EN EL ESTADO DE MICHOACÁN.
23
24. SELECTNomArt, NomRef
FROM orden, articulo, refaccion, estado
WHERE orden.IdArt=articulo.IdArt AND orden.IdRef=refaccion.IdRef AND
estado.IdEdo=cliente.IdEdo AND Estado=’Morelia’
24
25.
ITESO
Enunciado2
En la web hay un dominio llamado ITESO que el ofrece a los
usuarios cursos en línea en el cual se encuentra localizado un
catalogo de ofertas como son diplomados, cursos de
especialidades y postgrados a los usuarios se les asignan
fechas, horarios, asesores, aulas virtual y el nombre del
curso. Cada curso tiene un límite de usuario el periodo de
realización y el número total de horas. Los usuarios para
hacer los pagos lo pueden hacer de 2 formas con tarjeta de
crédito con cargo a 6 meses sin intereses y la opción 2 pago
en efectivo a la cuenta en el banco. Para cada curso los
asesores registran productos o evidencias al termino de cada
modulo, el número total de módulos para cada curso es de 4.
La planeación del curso depende del 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 otorga una beca del 100% a
partir del 4° curso tomado.
25
30. Consultas2
INSERT
1.-INSERT into materia VALUES('FIS II','Fisica II');
INSERTA LA FILA DE FISICA II.
2.-INSERT into materia VALUES('VAL III','Valores III');
INSERTA LA FILA DE LA MATERIA DE VALORES III
30
31. 3.-INSERT into materia VALUES('OPTA','Optativa');
INSERTA LA FILA DE LA MATERIA DE OPTATIVA
4.-INSERT into materia VALUES('CAL','Calculo');
INSERTA LA FILA DE LA MATERIA DE CALCULO
31
32. 5.-INSERT into especialidad VALUES('AU21','Arquitectura y Urbanismo');
INSERTA LA FILA DE ESPECIALIDAD DE ARQUITECTURA Y URBANISMO.
6.-INSERT into especialidad VALUES('IE53','Ingeniería Extractiva');
INSERTA LA FILA DE LA ESPECIALIDAD DE INGENIERIA EXTRACTIVA.
7.-INSERT into docente VALUES('TRGE791111C56','Trejo Garcia Edygardo','11/11/1979','Maestria','Mae.
Bioing de Fermentacion','UPG');
INSERTA LA FILA DE OTRO DOCENTE.
32
33. 8.-INSERT into alumno VALUES('200114042','Padron Aguilar Marliset','01/02/1997','A28','A','2');
INSERTA A OTRO ALUMNO EN LA TABLA ALUMNO.
9.-INSERT into alumno VALUES('200114043','Gomez Landa Jose','02/03/1997','A28','A','2');
INSERTA A OTRO ALUMNO DISTINTO.
33
34. 10.-INSERT into alumno VALUES('200114044','Guerrero Zapata Jesus','03/04/1997','A28','A','2');
INSERTA A OTRO ALUMNO DISTINTO A LOS OTROS.
update
11.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114042';
CAMBIA EL GRUPO DEL ALUMNO DE ESE NUMERO DE CONTROL.
34
35. 12.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114043';
CAMBIA DE GRUPO AL ALUMNO DE ESE NUMERO DE COMTROL.
13.-UPDATE alumno SET Grupo = 'I' WHERE NoControl = '200114044';
CAMBIA AL ALUMNO DE GRUPO DE ESE NUMERO DE CONTROL(ACTUALIZA).
35
36. 14.-UPDATE materia SET NomMat= 'Fisica 1' WHERE CveMat = 'FIS I';
ACTUALIZA LA MATERIA FISICA I
15.-UPDATE materia SET NomMat= 'Valores 3' WHERE CveMat = 'VAL I';
ACTUALIZA LA MATERIA VALORES I
36
37. DELETE
16.-DELETE FROM materia WHERE CveMat = 'FIS I';
ELIMINA LA FILA DE LA MATERIA DE FISICA.
17.-DELETE FROM materia WHERE CveMat = 'VAL I';
ELIMINA LA FILA DE LA MATERIA DE VALORES
37
38. 18.-DELETE FROM alumno WHERE NoControl= '200114042';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.
19.-DELETE FROM alumno WHERE NoControl= '200114043';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.
38
39. 20.-DELETE FROM alumno WHERE NoControl= '200114044';
ELIMINA AL ALUMNO DE ESE NUMERO DE CONTROL.
SELECT
21.-SELECT NomMat FROM materia WHERE NomMat = 'Optativa';
Selecciona el nombre de la materia optativa
22.-SELECT NomMat FROM materia WHERE NomMat = 'Calculo';
Selecciona el nombre de la materia calculo.
23.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Arquitectura y Urbanismo';
Selecciona el nombre de la especialidad arquitectura y urbanismo.
24.-SELECT NomEsp FROM especialidad WHERE NomEsp = 'Ingeniería Extractiva';
Selecciona el nombre de la especialidad ingenieria extractiva.
25.-SELECT NOMDOC FROM docente WHERE NOMDOC = 'Trejo Garcia Edygardo';
Selecciona el nombre del docente Trejo Garcia Edygardo.
39
40. ELECTRODOMESTICOS
Enunciado
Una empresa de aparatos electrónicos muy grande, es la encargada
de surtir artículos a nuestro país, para ello requiere una base de datos
que le ayude a la buena organización de sus datos. Cuenta con
fabricantes que hacen los componentes para los artículos. Necesita
registrar los datos de sus clientes (nombre, dirección), así como
registrar los artículos que venden, sus precios, y todo lo que se
relacione con ellos como también sus componentes.
40
45. Consultas
INSERT
1.-INSERT into Articulo VALUES (‘011’,’Estereo’,’5500’,’Entretenimiento’);
2.-INSERT into Articulo VALUES ('012','Impresora','4550','Complemento');
45
46. 3.-INSERT into Cliente VALUES ('M411','Jesus Gonzales','Oax.','Nardo');
4.-INSERT into Cliente VALUES('M412','Manuel Chimal','Coa.','Pipila');
5.-INSERT into Fabricantes VALUES ('L20','Chapultepec');
46
47. UPDATE
1.-UPDATE Fabricantes SET CIF='L25' WHERE Domicilio='Galeana';
2.-UPDATE Componentes SET Especificacion=’Chico’ WHERE Nombre=’Diac’;
3.-UPDATE Componentes SET Especificacion=’Grande’ WHERE Nombre=’Pila’;
47
48. 4.-UPDATE Articulo SET NomArt=’Mp3’ WHERE IdArticulo=’010’;
5.- UPDATE Cliente SET Direccion=’Nardo’ WHERE IdCliente=’M410’;
DELETE
1.-DELETE FROM Articulo WHERE IdArticulo=’011’;
48
49. 2.-DELETE FROM Articulo WHERE IdArticulo=’012’;
3.-DELETE FROM Cliente WHERE IdCliente=’M411’;
4.-DELETE FROM Cliente WHERE IdCliente=’M412’;
49
51. Historia y evolución de SQL
La historia de SQL empieza en 1974 con la definición, por
parte de Donald Chamberlin y de otras personas que
trabajaban en los laboratorios de investigación IBM, de un
lenguaje para la que adoptaban el modelo relacional. Este
lenguaje se llamaba SEQUEL y se implemento en un
prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las
experimentaciones con ese prototipo condujeron entre 1976 y
1977 a una revisión de lenguaje del lenguaje(SEQUEL/2) que
a partir de ese momento cambio de nombre por motivos
legales, convirtiéndose en SQL.
El prototipo (System R), basado en este lenguaje se adopto y
utilizo internamente en 1BM y lo adoptaron algunos de sus
clientes elegidos. Gracias al éxito de este sistema que no
estaba todavía comercializado, también otras compañías
empezaron a desarrollar sus productos relacionales basados
en SQL. A partir de 1981, 1BM comenzó a entregar sus
productos relacionales y en 1993 empezó a vender DBZ. En
el curso de los años 80, numerosas compañías
comercializaron productos basados en SQL que se convierte
en el estándar industrial de hecho por lo que respecta a las
bases de datos relacionales.
51
52. Año
Nombre
Alias
1986
SQL-86
SQL-87
Primera publicación hecha
por ANSI. Confirmada por ISO en 1987.
1989
SQL-89
1992
SQL-92
Revisión normal.
SQL2
Revisión mayor.
1999
SQL:1999 SQL2000 Se agregaron
expresiones regulares, consultas recursivas (para relaciones
jerárquicas), triggers y algunas características orientadas a
objetos.
2003
SQL:2003
Introduce algunas
característica de XML, cambios en las funciones,
estandarización del objeto séquense y de las columnas auto
numéricas.(Ver Eisenberg et al.: SQL:2003 Has Been
Published).
2006
SQL:2006
ISO/IEC 907514:2006.Define las maneras en las cuales el SQL se puede
utilizar conjuntamente con XML. Define maneras de importar
y guardar datos XML en una base de datos SQL,
manipulándolos dentro de la base de datos y publicando el
XML y los datos SQL convencionales en forma XML. Además
proporciona facilidades que permiten a las aplicaciones
integrar dentro de su código SQL el uso de XQuery lenguaje
de consulta XML publicado por el W3C para acceso
concurrente a datos ordinarios SQL y documentos XML.
2008
SQL:2008
Permite el uso de la
clausula ORDER BY fuera de las definiciones de los
52
53. cursores. Incluye los disparadores del tipo INSTEAD OF.
Añade la sentencia TRUNCATE.
Comandos y sintaxis de SQL
Select. Nos permite tomar información de una columna.
From. Nombre de la tabla
Where. Condición.
Order By. Nombre de la columna(ASC,DESC).
Sintaxis de los comandos
Select. Select “nom_columna” from “nom_tabla”
Distrinct. Select Distinct “nombre_columna” from
”nombre_tabla”
Where. Select “nom_columna”
From “nombre_tabla”
Where “condicion”
And/Or
Select “nom_columna”
From “nom_tabla”
53