53
CENTRO DE BACHILLERATO TECNOLÓGICO industrial y de servicios No. 172 Proyecto De Base De Datos 3er Parcial Daniela Razo Razo Asesora: Esperanza Pescador Espitia

Proyecto 3er. parcial (navicat) (1)

Embed Size (px)

Citation preview

CENTRO DE BACHILLERATO TECNOLÓGICO

industrial y de servicios No. 172

Proyecto De Base De Datos 3er Parcial

Daniela Razo Razo

Asesora: Esperanza Pescador Espitia

Índice

BETA ........................................................................................................................................... 3

Tablas ........................................................................................................................................ 4

Enunciados ............................................................................ ¡Error! Marcador no definido.

Diagrama de Entidad Relación de BETA ...................................................................... 18

ITESO ........................................................................................................................................ 19

Tablas ...................................................................................................................................... 20

Enunciados ............................................................................ ¡Error! Marcador no definido.

Diagrama entidad Relación de ITESO .......................................................................... 50

HISTORIA DE SQL ................................................................................................... 51

EVOLUCIÓN DEL SQL ......................................................................................... 53

BETA Beta es una gran empresa que se dedica a la venta de artículos de cómputo y refacciones por todo el país, Para llevar a cabo el registro de todos los artículos y sus refacciones se hizo una base de datos y así a la ves tener toda su información en orden y asegurada. La empresa cuenta con proveedores, vendedores, los artículos y las refacciones.

Tablas

ARTICULO

CLIENTE

ESTADO

ORDEN

REFACCION

VENDEDOR

Querys

1.-OBTENER LOS NOMBRES DE LOS CLIENTES. SELECT NomCliente

FROM Cliente

2.-OBTENER LOS NOMBRES DE LOS CLIENTES Y EL ID DE SU ESTADO SELECT NomCliente, IdEdo

FROM cliente

3.-OBTENER LOS NOMBRES DE: CLIENTES-ESTADO

SELECT NomCliente, estado

FROM cliente, estado

WHERE cliente.IdEdo=Estado.IdEdo

4.-OBTENER CLIENTES-SINALOA SELECT NomCliente

FROM Clientes, Estado

Where cliente.IdEstado=Estado.IdEstado AND Estado=’Sinaloa’

5.-Obtener el id 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 cliente 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 cliente 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'

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.IdEdo=Estado.IdEdo

AND orden.IdCliente=cliente.IdCliente AND estado='Veracruz'

11.- Obtener los datos de la tabla cliente SELECT *

from cliente

12.- Obtener los nombres de los clientes que empiecen con “V” SELECT NomCliente

from cliente

WHERE NomCliente like 'V%'

13.- Obtener los nombres de los productos que fueron ordenados en

cantidades de ocho 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 productos select MAX(CantArt)

FROM orden

15.- Obtener las cantidades de productos que fueron ordenados de

mayor a menor SELECT CantArt

from orden

ORDER BY CantArt DESC

16.- Obtener los costos, y el nombre de los artículos, ordenando los costos de

mayor a menor select NomArt, Precio

from articulo

where articulo.Precio<>"0" order by -articulo.Precio

17.- Obtener los números telefónicos de los clientes que su lada sea 411 select Tel

from Cliente

where cliente.Tel REGEXP BINARY 411

18.- Obtener los nombres de los artículos cuyos precios sean mayores o iguales

que 100, pero menores o iguales a 300 select NomArt

from articulo

where Precio>=100 AND Precio<=300

19.- Obtener todos los datos de la tabla Orden, que fueron en el mes de

AGOSTO. Select *

FROM orden

Where Fecha BETWEEN '2013-08-01' AND '2013-08-30'

20.- Obtener los nombres de los artículos que

empiecen con M select NomArt

from articulo

where articulo.NomArt REGEXP BINARY 'M'

21.-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 DISTINCT NomVend, 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 CantArt asc

22.-Obtener los nombres de los vendedores ordenados alfabéticamente.

SELECT NomVend

FROM vendedor

ORDER BY NomVend ASC

23.-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

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 (CanRef)

From orden

25.- Obtener el precio máximo de artículo Select MAX(precio)

From artículo

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 CantArt BETWEEN 6 and 9

ORDER BY CantArt ASC;

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 Michoacán. Select NomArt, NomRef

From orden, articulo, refaccion, estado

WHERE articulo.IdArt=orden.IdArt AND cliente.IdEdo=Estado.IdEdo AND

orden.IdCliente=cliente.IdCliente AND estado='Michoacan'

Diagrama de Entidad Relación de

BETA

ITESO

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 catálogo 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.

Tablas ALUMNO

BOLETA

DOCENTE

ESPECIALIDAD

MATERIA

Querys

1.-Añadir una materia nueva a la base de datos de ITESO que su clave de materia

sea “MATALI”, y su nombre sea “Matemática aplicada”.

INSERT into materia VALUES('MATAPLI','Matematica aplicada');

1. Anadir una materia nueva a la base de datos de ITESO que su clave de

materia sea “CN”, y su nombre sea “Ciencias”.

INSERT into materia( CveMat , NomMat) VALUES('CN','Ciencias')

2. Anadir una materia nueva a la base de datos de ITESO que su clave de

materia sea “Física l”, y su nombre sea “Física ll”.

INSERT into materia VALUES('Fisica I','Fisica II');

3. Anadir una materia nueva a la base de datos de ITESO que su clave de

materia sea “QUIM”, y su nombre sea “Química l”.

INSERT into materia VALUES('QUIM','Quimica I');

4. Anadir una materia de especialidad nueva a la base de datos de ITESO que

su clave de especialidad sea “A24”, y su nombre sea “Aeronáutica”.

INSERT into especialidad VALUES('A24','Aeronáutica');

5. Anadir una materia de especialidad nueva a la base de datos de ITESO que

su Clave de especialidad sea “FA13”, y su nombre sea “Física y

Astronomía”.

INSERT into especialidad VALUES('FA13','Física y Astronomía');

6. Anadir una docente ingresada a la base de datos de ITESO con RFC

“VARS581012P12”, llamada “Valderas Ramírez Sandra”, con fecha de

nacimiento “10/12/1958” y con maestría en Filos de la Cult. “ITC”

INSERT into docente VALUES('VARS581012P12','Valderas Ramirez Sandra','10/12/1958','Maestria','Maestria en Filos de la Cult.','ITC');

7. Anadir una alumna ingresada a la base de datos de ITESO con numero de

control “200114039”, llamada “Gloria Avalos Aurelia”, con fecha de

nacimiento “10/16/1997”, en la especialidad “A28”, en el grupo “A”, y de

ingreso al “2 semestre”.

INSERT into alumno VALUES('200114039','Gloria Avalos Aurelia','10/16/1997','A28','A','2');

8. Anadir un alumno ingresado a la base de datos de ITESO con numero de

control “200114040”, llamado “Otero Alvarado Luis”, con fecha de

nacimiento “11/18/1997”, en la especialidad “A28”, en el grupo “A”, y de

ingreso al “2 semestre”.

INSERT into alumno VALUES('200114040','Otero Alvarado Luis','11/18/1997','A28','A','2');

9. Anadir un alumno ingresada a la base de datos de ITESO con numero de

control “200114041”, llamada “Rodríguez García Paulina”, con fecha de

nacimiento “12/29/1997”, en la especialidad “A28”, en el grupo “A”, y de

ingreso al “2 semestre”.

INSERT into alumno VALUES('200114041','Rodriguez García Paulina','12/29/1997','A28','A','2');

10. Actualiza en la base de datos de ITESO el grupo del alumno con numero de

control “200114039” por el grupo “H”

UPDATE alumno SET Grupo = 'H' WHERE NoControl = '200114039';

11. Actualiza en la base de datos de ITESO el grupo del alumno con numero de

control “200114040” por el grupo “H”

UPDATE alumno SET Grupo = 'H' WHERE NoControl = '200114040';

12. Actualiza en la base de datos de ITESO el grupo del alumno con numero de

control “200114041” por el grupo “H”

UPDATE alumno SET Grupo = 'H' WHERE NoControl = '200114041';

13. Actualiza en la base de datos de ITESO la clave de la materia de

“Matemática aplicada 1” por la clave “MATAPLI”.

UPDATE materia SET NomMat= 'Matematica Aplicada 1' WHERE CveMat = 'MATAPLI';

14. Actualiza en la base de datos de ITESO la clave de la materia de “Tutoría

Matemática” por la clave “TUTO”.

UPDATE materia SET NomMat= 'Tutoria Matematica' WHERE CveMat = 'TUTO';

15. Elimina de la base de datos de ITESO la materia con clave “MATAPLI”.

DELETE FROM materia WHERE CveMat = 'MATAPLI';

16. Elimina de la base de datos de ITESO la materia con clave “TUTO”.

DELETE FROM materia WHERE CveMat = 'TUTO';

17. Elimina de la base de datos de ITESO al alumno con numero de control

“20114039”.

DELETE FROM alumno WHERE NoControl= '200114039';

18. Elimina de la base de datos de ITESO al alumno con número de control

“20114040”.

DELETE FROM alumno WHERE NoControl= '200114040';

19. Elimina de la base de datos de ITESO al alumno con numero de control

“20114041”

DELETE FROM alumno WHERE NoControl= '200114041';

20. Encontrar en la base de datos de ITESO la materia de “Recursos humanos”

SELECT NomMat FROM materia WHERE NomMat = 'Recursos humanos';

21. Encontrar en la base de datos de ITESO la materia de “Quimica l”

SELECT NomMat FROM materia WHERE NomMat = 'Quimica I';

22. Encontrar en la base de datos de ITESO la especialidad de “Aeronáutica”

SELECT NomEsp FROM especialidad WHERE NomEsp = 'Aeronáutica';

23. Encontrar en la base de datos de ITESO la materia de “Física y

Astronomía”

SELECT NomEsp FROM especialidad WHERE NomEsp = 'Física y Astronomía';

24. Encontrar en la base de datos de ITESO los datos de todos los docentes.

SELECT * FROM docente

Diagrama entidad Relación de

ITESO

Alumno Boleta Curso

Facultad

Docente

R1

R2 R4

R3

Matricula

CveFacultad

RFC

Especialidad

1:N

N:1 N:1

N:1

HISTORIA 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 de IBM, de un

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

adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Structured English

Query Language) y se implementó en un prototipo llamado SEQUEL-XRM entre 1974 y

1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una

revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por

motivos legales, convirtiéndose en SQL. El prototipo (System R), basado en este

lenguaje, se adoptó y utilizó internamente en IBM 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, IBM comenzó a entregar sus productos

relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta,

numerosas compañías (por ejemplo Oracle y Sybase, sólo por citar algunos)

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.

En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como

estándar para los lenguajes relacionales y en 1987 se transfomó en estándar ISO. Esta

versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha

sufrido diversas revisiones que han conducido primero a la versión SQL/89 y,

posteriormente, a la actual SQL/92.

El hecho de tener un estándar definido por un lenguaje para bases de datos

relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los

productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas

fueron de otro modo. Efectivamente, en general cada productor adopta e implementa

en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entry level

o al máximo el Intermediate level), extendiéndolo de manera individual según la propia

visión que cada cual tenga del mundo de las bases de datos.

Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los

comités ANSI e ISO, que debería terminar en la definición de lo que en 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-alone (mientras ahora se usa

como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de

datos más complejos que permitan, por ejemplo, el tratamiento de datos multimediales.

EVOLUCIÓN DEL SQL Entre 1974 y 1975 se implementó en un prototipo llamado SEQUEL-XRM.

Entre 1976 y 1977, condujeron a una revisión del lenguaje (SEQUEL/2)

Cambió de nombre por motivos legales. convirtiéndose en SQL.

A partir de 1981, IBM comenzó a entregar sus productos relacionales

En 1983 empezó a vender DB2

En 1986, el ANSI adoptó SQL como estándar para los lenguajes relacionales.

En 1987 se transformó en estándar ISO, con el nombre de SQL/86.

Luego se presento la versión SQL/89.

En 1992 se lanza un nuevo estándar ampliado y revisado del SQL llamado

"SQL-92" o "SQL2“.

SQL3 fue aceptado como el nuevo estándar de SQL en 1999, después de más

de 7 años de debate.