+ All Categories
Transcript

Base de Datos para Aplicaciones – Unidad I

Anexo A Modo: OrdinarioMateria: Base de Datos para

AplicacionesUnidad: I. Manipulación

avanzada de datos con SQL.

ObjetivoEl alumno elaborará consultas avanzadas mediante el lenguaje SQL utilizando las mejores prácticas para el manejo adecuado de la información.Resultado del AprendizajeA partir de un caso de estudio elaborará un cuadernillo de scripts quecontenga las siguientes consultas: Manejo de vistas. Subconsultas. Sinónimos. Ligas remotas de bases de datos.Justificación de las mejores prácticas utilizadas.Estructura de la Base de Datos

use BD_Empresa

Create Table Ciudad(

ID_Ciudad char(3) not null,Nombre_Ciu varchar(100) not null,Constraint pk_ID_Ciudad Primary Key (ID_Ciudad)

)

Página 1

Base de Datos para Aplicaciones – Unidad I

Create Table Proyecto(

ID_Proyecto char(3) not null,Nombre_Proy varchar(100) not null,ID_Ciudad char(3) not null,Constraint pk_ID_Proyecto Primary Key (ID_Proyecto),Constraint fk_ID_Ciudad_Proy Foreign Key (ID_Ciudad) References Ciudad(ID_Ciudad) On

Delete Cascade)

Create Table Proveedor(

ID_Prov char(3) not null,Nombre_Prov varchar(100) not null,Status char(1) not null,ID_Ciudad char(3) not null,Constraint pk_ID_Prov Primary Key (ID_Prov),Constraint fk_ID_Ciudad_Prov Foreign Key (ID_Ciudad) References Ciudad(ID_Ciudad) On

Delete Cascade)

Create Table Piezas(

ID_Pza char(3) not null,Nombre_Pza varchar(100) not null,Color varchar(50) not null,Peso float not null,ID_Ciudad char(3),Constraint pk_ID_Pza Primary Key (ID_Pza),Constraint fk_ID_Ciudad_Piez Foreign Key (ID_Ciudad) References Ciudad(ID_Ciudad) On

Delete Cascade)

Create Table Suministra(

ID_Prov char(3) not null,ID_Pza char(3) not null,ID_Proyecto char(3) not null,Cantidad smallint not null,Constraint pk_ID_Prov_Pza_Proyecto Primary Key(ID_Prov,ID_Pza,ID_Proyecto),Constraint fk_ID_Prov Foreign Key (ID_Prov) References Proveedor(ID_Prov),Constraint fk_ID_Pza Foreign Key (ID_Pza) References Piezas(ID_Pza),Constraint fk_ID_Proyecto Foreign Key (ID_Proyecto) References Proyecto(ID_Proyecto)

On Delete Cascade)

Datos que deberán tener las tablas de la base de datos BD_Empresa

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('100','DOLORES')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('200','LEON')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('300','CELAYA')

Página 2

Base de Datos para Aplicaciones – Unidad I

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('400','QUERETARO')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('500','DF')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('600','New York')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('700','París')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('800','Inglaterra')

Insert Into Ciudad(ID_Ciudad,Nombre_Ciu)VALUES('900','IRAPUATO')

Insert Into Proyecto(ID_Proyecto,Nombre_Proy,ID_Ciudad)VALUES('111','CIUDAD DIGITAL','100')

Insert Into Proyecto(ID_Proyecto,Nombre_Proy,ID_Ciudad)VALUES('222','DOLORES ONLINE','100')

Insert Into Proyecto(ID_Proyecto,Nombre_Proy,ID_Ciudad)VALUES('333','CELULA MOVIL','200')

Insert Into Proyecto(ID_Proyecto,Nombre_Proy,ID_Ciudad)VALUES('444','UNI VIRTUAL','300')

Insert Into Proyecto(ID_Proyecto,Nombre_Proy,ID_Ciudad)VALUES('555','BACK CITY','600')

Insert Into Proveedor(ID_Prov,Nombre_Prov,Status,ID_Ciudad)VALUES('911','IBM','1','100')

Insert Into Proveedor(ID_Prov,Nombre_Prov,Status,ID_Ciudad)VALUES('922','SIGMA TAO','0','400')

Insert Into Proveedor(ID_Prov,Nombre_Prov,Status,ID_Ciudad)VALUES('933','ISEGSOFT',

Página 3

Base de Datos para Aplicaciones – Unidad I

'1','100')

Insert Into Piezas(ID_Pza,Nombre_Pza,Color,Peso,ID_Ciudad)

VALUES('511','DISCO DURO','gris',1.8,'100')

Insert Into Piezas(ID_Pza,Nombre_Pza,Color,Peso,ID_Ciudad)

VALUES('522','MEMORIA','amarillo',2,'100')

Insert Into Piezas(ID_Pza,Nombre_Pza,Color,Peso,ID_Ciudad)

VALUES('533','BUS DATOS','rojo',1,'400')

Insert Into Piezas(ID_Pza,Nombre_Pza,Color,Peso,ID_Ciudad)

VALUES('544','MONITOR','blanco',5,'200')

Insert Into Suministra(ID_Prov,ID_Pza,ID_Proyecto,Cantidad)VALUES('911','511','111',50)

Insert Into Suministra(ID_Prov,ID_Pza,ID_Proyecto,Cantidad)VALUES('911','522','111',125)

Insert Into Suministra(ID_Prov,ID_Pza,ID_Proyecto,Cantidad)VALUES('911','533','111',99)

Insert Into Suministra(ID_Prov,ID_Pza,ID_Proyecto,Cantidad)VALUES('922','544','444',85)

Insert Into Suministra(ID_Prov,ID_Pza,ID_Proyecto,Cantidad)VALUES('933','522','222',25)

Página 4

Base de Datos para Aplicaciones – Unidad I

Consultas a Desarrollar (5.0 pts) SABER HACER1. Proyecta el número de ciudades existentes.

Select COUNT(*) "Numero Ciudades"From Ciudad

2. Proyecta el peso de la pieza con mayor y menor peso.

Página 5

Base de Datos para Aplicaciones – Unidad I

3. Proyecta el nombre de la pieza con mayor peso (2 soluciones).

4. Proyecta el nombre de la pieza con mayor y menor peso (usa subconsulta como tabla derivada).

5. Proyecta el nombre y peso de la pieza con mayor y menor peso (3 soluciones, subconsulta como tabla derivada, para correlacionar datos y el IN).

Página 6

Base de Datos para Aplicaciones – Unidad I

6. Proyecta la cantidad mayor de proyectos en una ciudad.

7. Proyecta la clave de la ciudad y la cantidad de proyectos de la ciudad con más proyectos.

8. Proyecta el nombre de los proyectos que utilizan una pieza de peso 5 (usa inner join).

Página 7

Base de Datos para Aplicaciones – Unidad I

9. Proyecta el nombre del proyecto, nombre del proveedor y nombre de la pieza con cantidades menores a 90 (usa inner join).

10. Proyecta el peso de la pieza “monitor” y el peso total de todas las piezas.

11. Proyecta el nombre del proveedor y las piezas que suministraUsa inner join

Usa sub consulta como tabla derivada, no puedes usar inner join en ningúncaso

Usa sub consulta como una expresión, no puedes usar inner join en ningún caso

Página 8

Base de Datos para Aplicaciones – Unidad I

12. Proyecta la clave del proveedor, clave de pieza y clave de proyecto donde la cantidad de piezas este entre 50 y 100

Usa inner join

Sin usar inner join ni sub consultas

Usa sub consulta como tabla derivada, no puedes usar inner join en ningún caso

Usa sub consulta como una expresión, no puedes usar inner join en ningún caso

13. Proyecta el nombre del proveedor, nombre de pieza y nombre de proyecto donde la cantidad de piezas este entre 50 y 100

Usa inner join

Página 9

Base de Datos para Aplicaciones – Unidad I

Sin usar inner join ni sub consultas

Usa sub consulta como tabla derivada, no puedes usar inner join en ningúncaso

Usa sub consulta como una expresión, no puedes usar inner join en ningún caso

14. Consulta que muestre el nombre de las ciudades donde no exista proveedores.

Página 10

Base de Datos para Aplicaciones – Unidad I

15. Crea una vista que muestre el nombre del proveedor y nombre del proyecto que estén en la misma ciudad.

|Usa inner join

Sin usar inner join ni sub consultas

Usa sub consulta como tabla derivada, no puedes usar inner join en ningúncaso

Usa sub consulta como una expresión, no puedes usar inner join en ningún caso

Página 11

Base de Datos para Aplicaciones – Unidad I

16. Consulta que muestre el nombre de las ciudades donde no se encuentre un proveedor, pieza ni tampoco se desarrolle un proyecto.

17. Consulta que muestre el total de piezas utilizadas por proyecto.

18. Consulta que muestre el total proyectos desarrollados por ciudad

19. Consulta que muestre el nombre de los proveedores que suministran las piezas “Pieza1”(511), Pieza2”(522) y “Pieza3”(533), entendiendo estos últimos como el nombre de la pieza.

20. Mostrar el nombre de las piezas que hayan sido utilizadas, con la cantidad máxima registrada.

Página 12

Base de Datos para Aplicaciones – Unidad I

Nota: Se valida el aprendizaje adquirido con la práctica de estas consulta en salón. Fecha especificada por el profesor.

Fundamento Teórico (4.0 pts) SABERDeberá responder el siguiente cuestionario, tomando como base loque se va aprendiendo en la unidad aunado al estudio particularde cada persona:

ASSESSMENT QUESTIONS

Match the terms and definitions for the following items. Worth 9 pointseach.1. The __Select__ statement used to select data from a database.2. The __Insert Into____ statement is used to insert a new row in a

table.3. The __AVG___ function returns the average value of a numeric

column.4. The ___Like_____ operator is used in a WHERE clause to search for

a specified pattern in a column.5. The __And - Or_____ operators are used to filter records based on

more than one condition.6. The ___In_____ operator allows you to specify multiple values in a

WHERE clause.7. The ___Top____ clause is used to specify the number of records to

return.8. The __Count______ function returns the number of rows that matches

a specified criteria.9. The ___Distinct_____ keyword can be used to return only distinct

(different) values.10. The __Group By_____statement is used in conjunction with the

aggregate functions to group the result-set by one or morecolumns.

11. The ___Update____ statement is used to update existing records ina table.

Página 13

Base de Datos para Aplicaciones – Unidad I

12. In SQL, a __View____ is a virtual table based on the result-set ofan SQL statement.

13. The __Left Join____ keyword returns all rows from the left table(table_name1), even if there are no matches in the right table(table_name2).

14. The __Having____ clause was added to SQL because the WHERE keywordcould not be used with aggregate functions.

15. The ___Where____ keyword returns rows when there is at least onematch in both tables.

16. The __Between_____ operator is used in a WHERE clause to select arange of data between two values.

17. The __Right Join___ keyword returns all the rows from the righttable (table_name2), even if there are no matches in the lefttable (table_name1).

18. The ___Min_____ function returns the smallest value of theselected column.

19. The _Order By_____ keyword is used to sort the result-set.20. The __Max_____ function returns the largest value of the selected

column.

Use the next words to complete each of the questions above

A. SelectB. InC. TopD. DistinctE. UpdateF. LikeG. Insert IntoH. Delete

I. BetweenJ. Inner JoinK. WhereL. And & OrM. Right JoinN. Order ByO. Left JOINP. AVG()

Q. MAX()R. COUNT()S. MIN()T. SUM()U. Group ByV. HavingW. View

Nota: Este apartado es base para responder las consultassolicitadas, además considerar que se preguntaran en clase demanera individual para validad el aprendizaje. Fecha especificada porel profesor.SER (1.0 Pto)Este se evaluará tomando en consideración el cumplimiento deactividades, la asistencia y el orden de las notas de cadaestudiante por unidadCriterios de evaluación detallados (máximo 10 puntos)

Página 14

Base de Datos para Aplicaciones – Unidad I

Fecha de EntregaLa que el profesor te indique.

Página 15


Top Related