Ejercicios de SQL y Base de datos relacionales
Alejandro Meroño Hernández www.alejandrox.com
Índice de contenido 1. Transformación del modelo entidad-relación al modelo relacional ............................3 ............................3 2. Ejercicios modelo entidad-relación..................... entidad-relación................................. ........................ ................................................7 ....................................7 3. Ejercicios de SQL (I)9...................... (I)9.................................. ........................ ......................... ......................... ...........................................17 ...............................17 . Ejercicios de SQL (II) 1!..................... 1!................................. ........................ ......................... ......................... ........................................2! ............................2! ". Ejercicios de SQL (III) 11..................... 11.................................. ......................... ........................ ......................... ......................... ..........................22 ..............22 #. Ejercicios de SQL. $ons%ltas m&s com'lejas (I)13.......................... (I)13........................................................2" ..............................2" 7. Ejercicios de SQL. $ons%ltas m&s com'lejas (II)1............................ (II)1.......................................................2 ...........................2 . Ejercicios de SQL. $ons%ltas m&s com'lejas (III)1"............................ (III)1"......................................... ..........................3 .............3 9. Ejercicios de SQL. $ons%ltas m&s com'lejas (I)1#............................ (I)1#........................................ ..........................39 ..............39 1!. Ejercicios de SQL. *ct%ali+ación de ,ases de datos17............................. datos17................................................" ..................." 11. Ejercicios de SQL. *ct%ali+ación de ,ases de datos1............................. datos1................................................9 ...................9
2
Índice de contenido 1. Transformación del modelo entidad-relación al modelo relacional ............................3 ............................3 2. Ejercicios modelo entidad-relación..................... entidad-relación................................. ........................ ................................................7 ....................................7 3. Ejercicios de SQL (I)9...................... (I)9.................................. ........................ ......................... ......................... ...........................................17 ...............................17 . Ejercicios de SQL (II) 1!..................... 1!................................. ........................ ......................... ......................... ........................................2! ............................2! ". Ejercicios de SQL (III) 11..................... 11.................................. ......................... ........................ ......................... ......................... ..........................22 ..............22 #. Ejercicios de SQL. $ons%ltas m&s com'lejas (I)13.......................... (I)13........................................................2" ..............................2" 7. Ejercicios de SQL. $ons%ltas m&s com'lejas (II)1............................ (II)1.......................................................2 ...........................2 . Ejercicios de SQL. $ons%ltas m&s com'lejas (III)1"............................ (III)1"......................................... ..........................3 .............3 9. Ejercicios de SQL. $ons%ltas m&s com'lejas (I)1#............................ (I)1#........................................ ..........................39 ..............39 1!. Ejercicios de SQL. *ct%ali+ación de ,ases de datos17............................. datos17................................................" ..................." 11. Ejercicios de SQL. *ct%ali+ación de ,ases de datos1............................. datos1................................................9 ...................9
2
entidad-relación a modelo relacional se/%iremos las ara transformar %n modelo entidad-relación si/%ientes re/las0 •
•
•
•
Toda entidad del modelo entidad-relación se transforma en %na ta,la. $%al%ier atri,%to de %na entidad se transforma en %n cam'o dentro la ta,la manteniendo las claes 'rimarias. Las relaciones 405 se transforman en %na n%ea ta,la %e tendr& como clae 'rimaria la concatenación de los atri,%tos clae de las entidades %e relaciona. En las relaciones 104 se '%eden tener dos casos0 Si la entidad %e 'artici'a con cardinalidad m&6ima %no lo ace tam,i8n con cardinalidad mnima %no entonces se 'ro'a/a el atri,%to de la entidad %e tiene cardinalidad m&6ima 1 a la %e tiene cardinalidad m&6ima 4 desa'areciendo el nom,re de la relación. Si e6isten atri,%tos en la relación 8stos tam,i8n se 'ro'a/ar&n. •
•
•
Si la entidad %e 'artici'a con cardinalidad m&6ima %no lo ace tam,i8n cardinalidad mnima cero entonces se crea %na n%ea ta,la formada 'or las claes de cada entidad : los atri,%tos de la relación. La clae 'rimaria de la n%ea ta,la ser& el identificador de la entidad %e 'artici'a con cardinalidad m&6ima 4.
En el caso de las relaciones r elaciones 101 tam,i8n '%eden darse dos casos0 Si las entidades 'oseen cardinalidades (!1) la relación se conierte en %na ta,la. Si %na de las entidades 'osee cardinalidad (!1) : la otra (11) coniene 'ro'a/ar la clae de la entidad con cardinalidad (11) a la ta,la res%ltante de la entidad con cardinalidad (!1). Si am,as entidades 'oseen cardinalidades (11) se '%ede 'ro'a/ar la clae de c%al%iera de ellas a la ta,la res%ltante de la otra. En el caso de las relaciones 4-arias se a'lica la misma re/la %e 'ara las relaciones 405 En el caso de las relaciones refle6ias s%'ondremos %e se trata de %na relación ,inaria con la 'artic%laridad %e las dos entidades son i/%ales : a'licaremos las re/las istas en los '%ntos anteriores. •
•
•
•
eamos al/%nos ejem'los.
S%'on/amos el si/%iente modelo entidad-relación .
1. Transformación del modelo entidad -relación al modelo relacional
3
En este caso la relación ;com'ra< se transforma en %na n%ea ta,la c%:a clae 'rimaria estar& formada 'or los atri,%tos dni %e es la clae 'rimaria de cliente : códi/o %e es la clae 'rimaria de 'rod%cto. *dem&s tendr& como cam'o feca com'ra :a %e este atri,%to forma 'arte de la relación. El modelo relacional %edara de la si/%iente forma (en ne/rita las claes 'rimarias)0 •
•
•
CLIENTE( PRODUCTO( COMPR!(
,nombre,apellidos) ,descripción) ,%ec&a"compra)
entidad-relación eamos aora el caso de %na relación 104. En el si/%iente modelo entidad-relación %n em'l em'leeado ado 'e 'ert rteenece nece a %n =nico nico de de'a 'art rtam amen ento to (de de, ,e 'e 'ert rten eneecer cer a %no %no o,li/atoriamente) : %n de'artamento tiene 1 o m&s em'leados.
En este caso se 'ro'a/a el atri,%to códi/o de de'artamento de'artamento a la ta,la E5LE*>?. E5LE*>?. El modelo relacional %edara de la si/%iente manera0 •
•
EMPLEDO(
,nombre,salario,código"depar#amen#o)
DEPRTMENTO(
,nombre,locali'ación)
Ima/inemos aora %e '%diera darse el caso de %e %,iera em'leados %e no 'ertenecieran a nin/=n de'artamento.
1. Transformación del modelo entidad -relación al modelo relacional
En este caso la entidad %e 'artici'a con cardinalidad m&6ima 1 >E*@T*5E4T? tam,i8n lo ace con cardinalidad mnima ! :a %e '%ede a,er em'leados %e no 'ertene+can a nin/=n de'artamento. *s '%es se crea %na n%ea ta,la formada 'or dni dni de E5L E5LE* E*>? >? : códi códi/o /o de >E >E* *@T @T*5 *5E4 E4T? T?.. En esta esta n%e n%eaa ta,l ta,laa dni dni de E5LE* E5LE*>? >? ser& ser& la clae clae 'rimar 'rimaria. ia. El modelo relacional %edara de la si/%iente forma0 •
•
•
EMPLEDO( ,nombre,salario) DEPRTMENTO( ,nombre,locali'ación) PERTENECE(
,código"depar#amen#o)
eamos aora el caso de %na relación 101 a tra8s del si/%iente ejem'lo. En el si/%iente modelo entidad-relación %n e%i'o de f=t,ol tiene a %n =nico 'residente : %n 'residente 'reside a %n =nico cl%, de f=t,ol.
En este ejem'lo tal : como dicen las re/las 'odemos 'ro'a/ar la clae de c%al%ier ta,la a la ta,la res%ltante de la otra. Es decir tenemos dos o'ciones o moer la clae de @ESI>E4 @ESI>E4TE TE a EQAI EQAI? ? o moer moer la clae clae de EQAI? EQAI? a @ESI> @ESI>E4T E4TE. E. El modelo relacional 'odra %edar de c%al%iera de las dos formas si/%ientes0 •
•
•
•
EUIPO(
,nombre,ao"%$ndación)
PRE!IDENTE(
i,nombre,código"e*$ipo)
EUIPO(
,nombre,ao"%$ndación,dni"presiden#e)
PRE!IDENTE(
,nombre)
1. Transformación del modelo entidad -relación al modelo relacional
"
eamos aora como %edara en el modelo relacional la si/%iente relación refle6ia. En el si/%iente modelo entidad-relación %n *LA54? es dele/ado de arios *LA54?S : %n *LA54? tiene o,li/atoriamente %n dele/ado : sólo a %no.
$omo 'odemos o,serar en las re/las de transformación en este caso la relación refle6ia se trata como si f%era %na relación ,inaria con la 'artic%laridad de %e las dos entidades son i/%ales. *l tratarse de %na relación 104 se 'ro'a/ar& la clae de la entidad *LA54? a la entidad *LA54? %edando el modelo relacional de la si/%iente forma0 •
LUMNO(
,nombre,n$m"e+pedien#e"delegado)
Todos los modelos entidad-relación %e se en en los ejem'los est&n reali+ados con dia %n e6celente editor de dia/ramas %e adem&s es /rat%ito.
1. Transformación del modelo entidad -relación al modelo relacional
#
* 'artir del si/%iente en%nciado se desea reali+a el modelo entidad-relación. “Una empresa vende productos a varios clientes. Se necesita conocer los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada producto tiene un nombre y un código, así como un precio unitario. Un cliente puede comprar varios productos a la empresa, y un mismo producto puede ser comprado por varios clientes. os productos son suministrados por diferentes proveedores. Se debe tener en cuenta !ue un producto sólo puede ser suministrado por un proveedor, y !ue un proveedor puede suministrar diferentes productos. "e cada proveedor se desea conocer el #$%, nombre y dirección&.
* 'artir del si/%iente en%nciado se desea reali+ar el modelo entidad-relación. “Se desea informati'ar la gestión de una empresa de transportes !ue reparte pa!uetes por toda spaa. os encargados de llevar los pa!uetes son los camioneros, de los !ue se !uiere guardar el dni, nombre, tel*fono, dirección, salario y población en la !ue vive. "e los pa!uetes transportados interesa conocer el código de pa!uete, descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos pa!uetes, y un pa!uete sólo puede ser distribuido por un camionero. "e las provincias a las !ue llegan los pa!uetes interesa guardar el código de provincia y el nombre. Un pa!uete sólo puede llegar a una provincia. Sin embargo, a una provincia pueden llegar varios pa!uetes. "e los camiones !ue llevan los camioneros, interesa conocer la matrícula, modelo, tipo y potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros&.
* 'artir del si/%iente en%nciado diseBar el modelo entidad-relación. “Se desea disear la base de datos de un $nstituto. n la base de datos se desea guardar los datos de los profesores del $nstituto ("#$, nombre, dirección y tel*fono). os profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno est+ matriculado en uno o varios módulos. "e cada alumno se desea guardar el no de epediente, nombre, apellidos y fecha de nacimiento. os profesores pueden impartir 2. Ejercicios modelo entidad -relación
7
varios módulos, pero un módulo sólo puede ser impartido por un profesor. Cada curso tiene un grupo de alumnos, uno de los cuales es el delegado del grupo&.
* 'artir del si/%iente s%'%esto diseBar el modelo entidad-relación0 “Se desea disear una base de datos para almacenar y gestionar la información empleada por una empresa dedicada a la venta de automóviles, teniendo en cuenta los siguientes aspectos a empresa dispone de una serie de coches para su venta. Se necesita conocer la matrícula, marca y modelo, el color y el precio de venta de cada coche. os datos !ue interesa conocer de cada cliente son el #$%, nombre, dirección, ciudad y nmero de tel*fono- adem+s, los clientes se diferencian por un código interno de la empresa !ue se incrementa autom+ticamente cuando un cliente se da de alta en ella. Un cliente puede comprar tantos coches como desee a la empresa. Un coche determinado solo puede ser comprado por un nico cliente. l concesionario tambi*n se encarga de llevar a cabo las revisiones !ue se reali'an a cada coche. Cada revisión tiene asociado un código !ue se incrementa autom+ticamente por cada revisión !ue se haga. "e cada revisión se desea saber si se ha hecho cambio de filtro, si se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. os coches pueden pasar varias revisiones en el concesionario&.
* 'artir del si/%iente s%'%esto diseBar el modelo entidad-relación0 “a clínica “S/# 0/123S& necesita llevar un control informati'ado de su gestión de pacientes y m*dicos. "e cada paciente se desea guardar el código, nombre, apellidos, dirección, población, provincia, código postal, tel*fono y fecha de nacimiento. "e cada m*dico se desea guardar el código, nombre, apellidos, tel*fono y especialidad. Se desea llevar el control de cada uno de los ingresos !ue el paciente hace en el hospital. Cada ingreso !ue reali'a el paciente !ueda registrado en la base de datos. "e cada ingreso se guarda el código de ingreso (!ue se incrementar+ autom+ticamente cada ve' !ue el paciente realice un ingreso), el nmero de habitación y cama en la !ue el paciente reali'a el ingreso y la fecha de ingreso.
2. Ejercicios modelo entidad -relación
Un m*dico puede atender varios ingresos, pero el ingreso de un paciente solo puede ser atendido por un nico m*dico. Un paciente puede reali'ar varios ingresos en el hospital&.
Se desea informati+ar la /estión de %na tienda inform&tica. La tienda dis'one de %na serie de 'rod%ctos %e se '%eden ender a los clientes. “"e cada producto inform+tico se desea guardar el código, descripción, precio y nmero de eistencias. "e cada cliente se desea guardar el código, nombre, apellidos, dirección y nmero de tel*fono. Un cliente puede comprar varios productos en la tienda y un mismo producto puede ser comprado por varios clientes. Cada ve' !ue se compre un artículo !uedar+ registrada la compra en la base de datos 4unto con la fecha en la !ue se ha comprado el artículo. a tienda tiene contactos con varios proveedores !ue son los !ue suministran los productos. Un mismo producto puede ser suministrado por varios proveedores. "e cada proveedor se desea guardar el código, nombre, apellidos, dirección, provincia y nmero de tel*fono&.
asa el modelo entidad-relación del ejercicio 1 al modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las.
asa el modelo entidad-relación del ejercicio 2 al modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las.
asa el modelo entidad-relación del ejercicio 3 al modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las. C$ómo %edara el modelo relacional s%'oniendo %e cada 'rofesor sólo im'arte %n mód%lo : cada mód%lo es im'artido 'or sólo %n 'rofesorD
2. Ejercicios modelo entidad -relación
9
Transforma el modelo entidad-relación del ejercicio al modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las. Si %n cliente sólo '%ede com'rar %n coce en el concesionario : %n coce sólo '%ede ser com'rado 'or %n cliente Ccómo %edara el modelo relacionalD
Transforma el modelo entidad-relación del ejercicio " a modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las.
Transforma el modelo entidad-relación del ejercicio # al modelo relacional. >iseBa las ta,las en *ccess reali+a las relaciones %e consideres o'ort%nas e inserta cinco re/istros en cada %na de las ta,las.
$onsidera la si/%iente relación E@S?4*-TIE4E IF?S-E@S?4*. Ana 'ersona '%ede tener m%cos ijosGas o nin/%no. Ana 'ersona siem're es ijoGa de otra 'ersona. Los atri,%tos de la 'ersona son dni nom,re dirección : tel8fono. Transformarlo al modelo relacional.
* 'artir del si/%iente en%nciado diseBar el modelo entidad-relación. “n la biblioteca del centro se mane4an fichas de autores y libros. n la ficha de cada autor se tiene el código de autor y el nombre. "e cada libro se guarda el código, título, $S5#, editorial y nmero de p+gina. Un autor puede escribir varios libros, y un libro puede ser escrito por varios autores. Un libro est+ formado por e4emplares. Cada e4emplar tiene un código y una locali'ación. Un libro tiene muchos e4emplares y un e4emplar pertenece sólo a un libro. os usuarios de la biblioteca del centro tambi*n disponen de ficha en la biblioteca y sacan e4emplares de ella. "e cada usuario se guarda el código, nombre, dirección y tel*fono.
2. Ejercicios modelo entidad -relación
1!
os e4emplares son prestados a los usuarios. Un usuario puede tomar prestados varios e4emplares, y un e4emplar puede ser prestado a varios usuarios. "e cada pr*stamos interesa guardar la fecha de pr*stamo y la fecha de devolución&. asar el modelo entidad-relación res%ltante al modelo relacional. >iseBar las ta,las en *ccess reali+ar las relaciones o'ort%nas entre ta,las e insertar cinco re/istros en cada %na de las ta,las.
* 'artir del si/%iente s%'%esto reali+ar el modelo entidad-relación : 'asarlo a modelo relacional. “/ un concesionario de coches llegan clientes para comprar automóviles. "e cada coche interesa saber la matrícula, modelo, marca y color. Un cliente puede comprar varios coches en el concesionario. Cuando un cliente compra un coche, se le hace una ficha en el concesionario con la siguiente información- dni, nombre, apellidos, dirección y tel*fono. os coches !ue el concesionario vende pueden ser nuevos o usados (de segunda mano). "e los coches nuevos interesa saber el nmero de unidades !ue hay en el concesionario. "e los coches vie4os interesa el nmero de 6ilómetros !ue lleva recorridos. l concesionario tambi*n dispone de un taller en el !ue los mec+nicos reparan los coches !ue llevan los clientes. Un mec+nico repara varios coches a lo largo del día, y un coche puede ser reparado por varios mec+nicos. os mec+nicos tienen un dni, nombre, apellidos, fecha de contratación y salario. Se desea guardar tambi*n la fecha en la !ue se repara cada vehículo y el nmero de horas !ue se tardado en arreglar cada automóvil&. asar el modelo entidad-relación res%ltante al modelo relacional. >iseBar las ta,las en *ccess reali+ar las relaciones o'ort%nas entre ta,las e insertar cinco re/istros en cada %na de las ta,las.
La li/a de f=t,ol 'rofesional 'residida 'or >on Hn/el 5ara illar a decidido informati+ar s%s instalaciones creando %na ,ase de datos 'ara /%ardar la información de los 'artidos %e se j%e/an en la li/a. Se desea /%ardar en 'rimer l%/ar los datos de los j%/adores. >e cada j%/ador se %iere /%ardar el nom,re feca de nacimiento : 'osición en la %e j%e/a ('ortero defensa centrocam'ista...). $ada j%/ador tiene %n códi/o de j%/ador %e lo identifica de manera =nica.
2. Ejercicios modelo entidad -relación
11
>e cada %no de los e%i'os de la li/a es necesario re/istrar el nom,re del e%i'o nom,re del estadio en el %e j%e/a el aforo %e tiene el aBo de f%ndación del e%i'o : la ci%dad de la %e es el e%i'o. $ada e%i'o tam,i8n tiene %n códi/o %e lo identifica de manera =nica. An j%/ador solo '%ede 'ertenecer a %n =nico e%i'o. >e cada 'artido %e los e%i'os de la li/a j%e/an a: %e re/istrar la feca en la %e se j%e/a el 'artido los /oles %e a metido el e%i'o de casa : los /oles %e a metido el e%i'o de f%era. $ada 'artido tendr& %n códi/o n%m8rico 'ara identificar el 'artido. Tam,i8n se %iere llear %n rec%ento de los /oles %e a: en cada 'artido. Se %iere almacenar el min%to en el %e se reali+ar el /ol : la descri'ción del /ol. An 'artido tiene arios /oles : %n j%/ador '%ede meter arios /oles en %n 'artido. or =ltimo se %iere almacenar en la ,ase de datos los datos de los 'residentes de los e%i'os de f=t,ol (dni nom,re a'ellidos feca de nacimiento e%i'o del %e es 'residente : aBo en el %e f%e ele/ido 'residente). An e%i'o de f=t,ol tan sólo '%ede tener %n 'residente : %na 'ersona sólo '%ede ser 'residente de %n e%i'o de la li/a. asar el modelo entidad-relación res%ltante al modelo relacional. >iseBar las ta,las en *ccess reali+ar las relaciones o'ort%nas entre ta,las e insertar cinco re/istros en cada %na de las ta,las.
* 'artir del si/%iente s%'%esto diseBar el modelo entidad-relación. “Se desea informati'ar la gestión de un centro de ensean'a para llevar el control de los alumnos matriculados y los profesores !ue imparten clases en ese centro. "e cada profesor y cada alumno se desea recoger el nombre, apellidos, dirección, población, dni, fecha de nacimiento, código postal y tel*fono. os alumnos se matriculan en una o m+s asignaturas, y de ellas se desea almacenar el código de asignatura, nombre y nmero de horas !ue se imparten a la semana. Un profesor del centro puede impartir varias asignaturas, pero una asignatura sólo es impartida por un nico profesor. "e cada una de las asignaturas se desea almacenar tambi*n la nota !ue saca el alumno y las incidencias !ue puedan darse con *l. /dem+s, se desea llevar un control de los cursos !ue se imparten en el centro de ensean'a. "e cada curso se guardar+ el código y el nombre. n un curso se imparten varias asignaturas, y una asignatura sólo puede ser impartida en un nico curso. as asignaturas se imparten en diferentes aulas del centro. "e cada aula se !uiere almacenar el código, piso del centro en el !ue se encuentra y nmero de pupitres de !ue dispone. Una asignatura se puede dar en diferentes aulas, y en un aula se pueden impartir varias asignaturas. Se desea llevar un registro de las asignaturas !ue se
2. Ejercicios modelo entidad -relación
12
imparten en cada aula. 0ara ello se anotar+ el mes, día y hora en el !ue se imparten cada una de las asignaturas en las distintas aulas. a dirección del centro tambi*n designa a varios profesores como tutores en cada uno de los cursos. Un profesor es tutor tan sólo de un curso. Un curso tiene un nico tutor. Se habr+ de tener en cuenta !ue puede !ue haya profesores !ue no sean tutores de ningn curso&. Ana e+ constr%ido el modelo E-@ 'asarlo al modelo relacional. >iseBar las ta,las en *ccess acer las relaciones o'ort%nas e insertar " re/istros en cada %na de las ta,las.
“Una empresa necesita organi'ar la siguiente información referente a su organi'ación interna. a empresa est+ organi'ada en una serie de departamentos. Cada departamento tiene un código, nombre y presupuesto anual. Cada departamento est+ ubicado en un centro de traba4o. a información !ue se desea guardar del centro de traba4o es el código de centro, nombre, población y dirección del centro. a empresa tiene una serie de empleados. Cada empleado tiene un tel*fono, fecha de alta en la empresa, #$% y nombre. "e cada empleado tambi*n interesa saber el nmero de hi4os !ue tiene y el salario de cada empleado. / esta empresa tambi*n le interesa tener guardada información sobre los hi4os de los empleados. Cada hi4o de un empleado tendr+ un código, nombre y fecha de nacimiento. Se desea mantener tambi*n información sobre las habilidades de los empleados (por e4emplo, mercadotecnia, trato con el cliente, fresador, operador de telefonía, etc...). Cada habilidad tendr+ una descripción y un código&. So,re este s%'%esto diseBar el modelo EG@ : el modelo relacional teniendo en c%enta los si/%ientes as'ectos. •
•
•
•
•
An em'leado est& asi/nado a %n =nico de'artamento. An de'artamento estar& com'%esto 'or %no o m&s em'leados. $ada de'artamento se %,ica en %n =nico centro de tra,ajo. Estos se com'onen de %no o m&s de'artamentos. An em'leado '%ede tener arios ijos. An em'leado '%ede tener arias a,ilidades : %na misma a,ilidad '%ede ser 'oseda 'or em'leados diferentes. An centro de tra,ajo es diri/ido 'or %n em'leado. An mismo em'leado '%ede diri/ir centros de tra,ajo distintos.
2. Ejercicios modelo entidad -relación
13
@eali+ar el diseBo de la ,ase de datos en *ccess e introd%cir cinco re/istros en cada %na de las ta,las.
Se trata de reali+ar el diseBo de la ,ase de datos en el modelo EG@ 'ara %na cadena de oteles. “Cada hotel (del !ue interesa almacenar su nombre, dirección, tel*fono, ao de construcción, etc.) se encuentra clasificado obligatoriamente en una categoría (por e4emplo, tres estrellas) pudiendo ba4ar o aumentar de categoría. Cada categoría tiene asociada diversas informaciones, como, por e4emplo, el tipo de $7/ !ue le corresponde y la descripción. os hoteles tiene diferentes clases de habitaciones (suites, dobles, individuales, etc.), !ue se numeran de forma !ue se pueda identificar f+cilmente la planta en la !ue se encuentran. /sí pues, de cada habitación se desea guardar el código y el tipo de habitación. os particulares pueden reali'ar reservas de las habitaciones de los hoteles. n la reserva de los particulares figurar+n el nombre, la dirección y el tel*fono. as agencias de via4e tambi*n pueden reali'ar reservas de las habitaciones. n caso de !ue la reserva la reali'a una agencia de via4es, se necesitar+n los mismos datos !ue para los particulares, adem+s del nombre de la persona para !uien la agencia de via4es est+ reali'ando la reserva. n los dos casos anteriores tambi*n se debe almacenar el precio de la reserva, la fecha de inicio y la fecha de fin de la reserva&.
Ima/ina %e %na a/encia de se/%ros de t% m%nici'io te a solicitado %na ,ase de datos mediante la c%al llear %n control de los accidentes : las m%ltas. Tras %na serie de entreistas as tomado las si/%ientes notas0 “Se desean registrar todas las personas !ue tienen un vehículo. s necesario guardar los datos personales de cada persona (nombre, apellidos, dirección, población, tel*fono y "#$). "e cada vehículo se desea almacenar la matrícula, la marca y el modelo. Una persona puede tener varios vehículos, y puede darse el caso de un vehículo pertene'ca a varias personas a la ve'. 1ambi*n se desea incorporar la información destinada a gestionar los accidentes del municipio. Cada accidente posee un nmero de referencia correlativo segn orden de 2. Ejercicios modelo entidad -relación
1
entrada a la base de datos. Se desea conocer la fecha, lugar y hora en !ue ha tenido lugar cada accidente. Se debe tener en cuenta !ue un accidente puede involucrar a varias personas y varios vehículos. Se desea llevar tambi*n un registro de las multas !ue se aplican. Cada multa tendr+ asignado un nmero de referencia correlativo. /dem+s, deber+ registrarse la fecha, hora, lugar de infracción e importe de la misma. Una multa solo se aplicar+ a un conductor e involucra a un solo vehículo.& @eali+a el modelo E-@ : '&salo al modelo relacional. >iseBa des'%8s las ta,las en *ccess reali+a las relaciones o'ort%nas entre ellas e inserta cinco re/istros en cada %na de las ta,las.
Ana a/encia de iajes desea informati+ar toda la /estión de los iajeros %e ac%den a la a/encia : los iajes %e estos reali+an. Tras 'onernos en contacto con la a/encia 8sta nos 'ro'orciona la si/%iente información. “a agencia desea guardar la siguiente información de los via4eros- dni, nombre, dirección y tel*fono. "e cada uno de los via4es !ue mane4a la agencia interesa guardar el código de via4e, nmero de pla'as, fecha en la !ue se reali'a el via4e y otros datos. Un via4ero puede reali'ar tantos via4es como desee con la agencia. Un via4e determinado sólo puede ser cubierto por un via4ero. Cada via4e reali'ado tiene un destino y un lugar de origen. "e cada uno de ellos se !uiere almacenar el código, nombre y otros datos !ue puedan ser de inter*s. Un via4e tiene un nico lugar de destino y un nico lugar de origen&. @eali+ar el modelo E-@ : 'asarlo al modelo de datos relacional. >iseBar las ta,las en *ccess reali+ar las o'ort%nas relaciones entre ta,las e introd%cir cinco re/istros en cada %na de las ta,las.
Ana em'resa desea diseBar %na ,ase de datos 'ara almacenar en ella toda la información /enerada en cada %no de los 'ro:ectos %e 8sta reali+a. “"e cada uno de los proyectos reali'ados interesa almacenar el código, descripción, cuantía del proyecto, fecha de inicio y fecha de fin. os proyectos son reali'ados por clientes de los !ue se desea guardar el código, tel*fono, domicilio y ra'ón social. Un cliente puede reali'ar varios proyectos, pero un solo proyecto es reali'ado por un nico cliente.
2. Ejercicios modelo entidad -relación
1"
n los proyectos participan colaboradores de los !ue se dispone la siguiente información- nif, nombre, domicilio, tel*fono, banco y nmero de cuenta. Un colaborador puede participar en varios proyectos. os proyectos son reali'ados por uno o m+s colaboradores. os colaboradores de los proyectos reciben pagos. "e los pagos reali'ados se !uiere guardar el nmero de pago, concepto, cantidad y fecha de pago. 1ambi*n interesa almacenar los diferentes tipos de pagos !ue puede reali'ar la empresa. "e cada uno de los tipos de pagos se desea guardar el código y descripción. Un tipo de pago puede pertenecer a varios pagos&.
2. Ejercicios modelo entidad -relación
1#
Se dis'onen de la si/%ientes ta,las con los si/%ientes datos.
emp_no
73#9 799 7"21 7"## 7#" 7#9 772 77 739 7 77# 79!! 79!2 793
dept_no
1! 2! 3! !
apellido
oficio
dir
fecha_alt
SH4$E *@@?J? S*L* FI5K4E 5*@T4 4EM@? $E@E? MIL @EJ T?*@ *L?4S? FI5E4? NE@4H4>E 5AO?
E5LE*>? E4>E>?@ E4>E>?@ >I@E$T?@ E4>E>?@ >I@E$T?@ >I@E$T?@ *4*LIST* @ESI>E4TE E4>E>?@ E5LE*>? E5LE*>? *4*LIST* E5LE*>?
79!2 7#9 7#9 739 7#9 739 739 7"##
199!-12-17 199!-!2-2! 1991-!2-22 1991-!-!2 1991-!9-29 1991-!"-!1 1991-!#-!9 1991-11-!9 1991-11-17 1991-!9-! 1991-!9-23 1991-12-!3 1991-12-!3 1992-!1-23
7#9 77 7#9 7"## 772
dnombre
loc
$?4T*PILI>*> I4ESTIM*$I4 E4T*S @?>A$$I4
SEILL* 5*>@I> P*@$EL?4* PILP*?
s alario comision dept_no
1!! 1"!! 1#2" 29!! 1#!! 3!!" 2" 3!!! 1!! 13"! 13! 133" 3!!! 1#9!
39! #"! 1!2!
!
2! 3! 3! 2! 3! 3! 1! 2! 1! 3! 2! 3! 2! 1!
1)
5ostrar el a'ellido oficio : n=mero de de'artamento de cada em'leado.
2)
5ostrar el n=mero nom,re : locali+ación de cada de'artamento.
3)
5ostrar todos los datos de todos los em'leados.
)
>atos de los em'leados ordenados 'or a'ellidos.
")
>atos de los em'leados ordenados 'or n=mero de de'artamento descendentemente.
3. Ejercicios de SQL (I)9
17
#)
>atos de los em'leados ordenados 'or n=mero de de'artamento descendentemente : dentro de cada de'artamento ordenados 'or a'ellido ascendentemente.
7)
5ostrar los datos de los em'leados c%:o salario sea ma:or %e 2!!!!!!.
)
5ostrar los datos de los em'leados c%:o oficio sea *4*LIST*R.
9)
Seleccionar el a'ellido : oficio de los em'leados del de'artamento n=mero .
ʻ
1!) 5ostrar todos los datos de los em'leados ordenados 'or a'ellido. 11) Seleccionar los em'leados c%:o oficio sea E4>E>?@R. 5ostrar los datos ordenados 'or a'ellido. ʻ
12) 5ostrar los em'leados c%:o de'artamento sea 1! : c%:o oficio sea *4*LIST*R. ?rdenar el res%ltado 'or a'ellido. ʻ
13) 5ostrar los em'leados %e ten/an %n salario ma:or %e 2!!!!! o %e 'ertene+can al de'artamento n=mero 2!. 1) ?rdenar los em'leados 'or oficio : dentro de oficio 'or nom,re. 1") Seleccionar de la ta,la E5LE los em'leados c%:o a'ellido em'iece 'or *R. ʻ
1#) Seleccionar de la ta,la E5LE los em'leados c%:o a'ellido termine 'or R. ʻ
17) Seleccionar de la ta,la E5LE a%ellas filas c%:o *ELLI>? em'iece 'or *R : el ?NI$I? ten/a %na ER en c%al%ier 'osición. ʻ
ʻ
1) Seleccionar los em'leados c%:o salario est8 entre 1!!!!! : 2!!!!!. Atili+ar el o'erador PETEE4. 19) ?,tener los em'leados c%:o oficio sea E4>E>?@R : ten/an %na comisión s%'erior a 1!!!!!. ʻ
2!) Seleccionar los datos de los em'leados ordenados 'or n=mero de de'artamento : dentro de cada de'artamento ordenados 'or a'ellido. 21) 4=mero : a'ellidos de los em'leados c%:o a'ellido termine 'or R : ten/an %n salario s%'erior a 3!!!!!. ʻ
22) >atos de los de'artamentos c%:a locali+ación em'iece 'or PR. ʻ
23) >atos de los em'leados c%:o oficio sea E5LE*>?R ten/an %n salario s%'erior a 1!!!!! : 'ertene+can al de'artamento n=mero 1!. ʻ
2) 5ostrar los a'ellidos de los em'leados %e no ten/an comisión.
3. Ejercicios de SQL (I)9
1
2") 5ostrar los a'ellidos de los em'leados %e no ten/an comisión : c%:o a'ellido em'iece 'or FR. ʻ
2#) 5ostrar los a'ellidos de los em'leados c%:o oficio sea E4>E>?@R *4*LIST*R o E5LE*>?R. ʻ
ʻ
ʻ
27) 5ostrar los a'ellidos de los em'leados c%:o oficio no sea ni *4*LIST*R ni E5LE*>?R : adem&s ten/an %n salario ma:or de 2!!!!!. ʻ
ʻ
2) Seleccionar de la ta,la E5LE los em'leados c%:o salario est8 entre 2!!!!!! : 3!!!!!! (%tili+ar PETEE4). 29) Seleccionar el a'ellido salario : n=mero de de'artamento de los em'leados c%:o salario sea ma:or %e 2!!!!! en los de'artamentos 1! ó 3!. 3!) 5ostrar el a'ellido : n=mero de los em'leados c%:o salario no est8 entre 1!!!!! : 2!!!!! (%tili+ar PETEE4). 31) ?,tener el a'ellidos de todos los em'leados en min=sc%la. 32) En %na cons%lta concatena el a'ellido de cada em'leado con s% oficio. 33) 5ostrar el a'ellido : la lon/it%d del a'ellido (f%nción LE4MT) de todos los em'leados ordenados 'or la lon/it%d de los a'ellidos de los em'leados descendentemente. 3) ?,tener el aBo de contratación de todos los em'leados (f%nción JE*@). 3") 5ostrar los datos de los em'leados %e a:an sido contratados en el aBo 1992. 3#) 5ostrar los datos de los em'leados %e a:an sido contratados en el mes de fe,rero de c%al%ier aBo (f%nción 5?4T4*5E). 37) ara cada em'leado mostrar el a'ellido : el ma:or alor del salario : la comisión %e tienen. 3) 5ostrar los datos de los em'leados c%:o a'ellido em'iece 'or * : a:an sido contratados en el aBo 199!. 39) 5ostrar los datos de los em'leados del de'artamento 1! %e no ten/an comisión.
3. Ejercicios de SQL (I)9
19
Se dis'one de la ta,la E@S?4*S con los datos de a%ellos em'leados %e tra,ajan en %na serie de os'itales.
cod_hospital
1 1 2 1 2 3 3 2
dni
apellidos
funcion
123"#7 7#"321 """33 ###""" 22233322 """11 999333 33222111 22233333 """12 22233311
Marca ern&nde+ Eladio N%entes Permejo $arlos Mon+&le+ 5arn *licia $astillo 5ontes edro Trist&n Marca *na @%i+ ern&nde+ $aridad Serrano >a+ *lejandro 5esa del $astillo F%an 5artne+ 5olina *ndr8s Fim8ne+ Fim8ne+ >olores 5artne+ 5olina Mloria
$?4SE@FE >I@E$T?@ $?4SE@FE 5E>I$? 5E>I$? 5E>I$? >I@E$T?@ 5E>I$? 5E>I$? $?4SE@FE 5E>I$?
salario
12!! 2!!! 12!! 17!! 19!! 19!! 2!! 22!! 1#!! 12!! 1#!!
localidad
L?@$* 5A@$I* 5A@$I* 5A@$I* 5A@$I* L?@$* $*@T*ME4* L?@$* $*@T*ME4* 5A@$I* 5A@$I*
1)
5ostrar todos los datos de todas las 'ersonas.
2)
?,t8n el >4I a'ellidos : f%nción de todas las 'ersonas.
3)
5ostrar los a'ellidos de las 'ersonas %e ian en L?@$*.
)
5ostrar los a'ellidos de las 'ersonas %e ian en 5A@$I* o L?@$*
")
Seleccionar los datos de a%ellas 'ersonas %e ian en 5A@$I* : ten/an %n salario s%'erior a los 1"!! e%ros.
#)
5ostrar los datos de las 'ersonas %e ian en 5A@$I* ten/an %n salario s%'erior a los 1"!! e%ros : sean >I@E$T?@ES.
7)
5ostrar los datos de las 'ersonas c%:a f%nción sea 5K>I$? ordenados 'or a'ellidos descendentemente.
)
5ostrar los datos de todas las localidades %e a: en la ta,la 'ersonas sin re'eticiones (de,es em'ear la cl&%s%la >ISTI4$T)
9)
5ostrar los datos de las 'ersonas %e ten/an %n salario s%'erior a 1"!! e%ros : sean m8dicos. ?rdenar la salida 'or salario descendentemente.
4. Ejercicios de SQL (II) 10
2!
1!) Seleccionar a%ellas 'ersonas c%:o a'ellido comience 'or 5. 11) 5ostrar los datos de las 'ersonas %e ten/an %na 5 en el a'ellido : c%:a f%nción sea $?4SE@FE 12) 5ostrar a%ellas 'ersonas %e ten/an %n salario entre 1"!! : 2!! e%ros. 13) Seleccionar los datos de a%ellas 'ersonas c%:a f%nción sea 5K>I$? o >I@E$T?@ (%tili+ar el o'erador I4) 1) ?,tener los datos de a%ellas 'ersonas c%:a f%nción no sea $?4SE@FE (%tili+ar el o'erador 4?T I4) : ten/an %n salario s%'erior a los 1"!! e%ros ordenados 'or a'ellido descendentemente. 1") 5ostrar los datos de las 'ersonas %e sean de 5A@$I* o $*@T*ME4* : %e 'ertene+can al os'ital n=mero 1. 1#) ?,t8n los a'ellidos en ma:=sc%las de las 'ersonas %e tra,ajen en el os'ital n=mero 1. 17) $on %na cons%lta de%ele los a'ellidos de todas las 'ersonas. *l lado de,e a'arecer la lon/it%d de cada a'ellido. 1) ?,tener los a'ellidos : localidad en min=sc%la de todas a%ellas 'ersonas %e no tra,ajen en el os'ital n=mero 1. 19) ?,tener los datos de las 'ersonas %e tra,ajen en los os'itales 1 ó 2 : ten/an %n salario s%'erior a 1"!! e%ros. 2!) is%ali+ar los datos de a%ellas 'ersonas %e no tra,ajen en el os'ital n=mero 2 : %e sean de 5A@$I*.
4. Ejercicios de SQL (II) 10
21
Se dis'one de la ta,la *LA54?S con los datos de a%ellos al%mnos %e est&n matric%lados en el Instit%to.
e6'ediente
nom,re
5i/%el 123"# F%an Soler PaVero Móme+ #"321 La%ra Nern&nde+
localidad
fecaUnac
direccion
a 2 199"-1!-1! Mran * Lorca 199-1!-!" F%nterones 1! "P la+a Peatri+ 5artne+ 7#"32 ern&nde+ 5%rcia 1993-!"-!" 5a:or # 3P >ie/o de la >ie/o 5artn *lama de 97#" Llorente 199!-!3-!# $iera " 5%rcia 7* la+a de F%an Nrancisco "" 5%rcia 1992-!1-!7 Pell%/a 3 $ano @i%elme * 223322 @a%el @i%elme Lorca !!!!-!!-!! San F%an @%,io 1 3P S&nce+ 5%rcia Torre de 9977 $ristina 199"-!3-19 Permejo @omo 7 edro Fes=s *lama de $amino de 33"" @odr/%e+ Soler 5%rcia 199-1!-!3 Padel 33!! Faier @am&ne+ 5%rcia 1993-!"-27 Mran Da @odr/%e+ 3* la+a Mema @%,io 993322 Lorca 1992-!9-!9 N%ensanta $olero " 7* Foa%n F%nterones ""11 ern&nde+ Lorca 1991-12-12 "* Mon+&le+ 5%rcia
c%rso
niel
1
ES?
1"
2
ES?
2"
3
ES?
"
1
P*$ILLE@
3
ES?
13
1
P*$ILLE@
7
1
ES?
1
2
ES?
11
3
ES?
!
1
P*$ILLE@
19
2
P*$ILLE@
1
1)
5%estra todos los datos de todos los al%mnos.
2)
5%estra el nom,re localidad : feca de nacimiento de todos los al%mnos.
3)
5%estra el nom,re de todos los al%mnos. En el res%ltado de la cons%lta la col%mna ;4om,re< de,e a'arecer con la eti%eta ;4om,re : a'ellidos< (*LI*S >E $?LA54*S).
. Ejercicios de SQL (III) 11
faltas
22
)
?,t8n el nom,re : el n=mero de faltas m%lti'licado 'or 2 de todos los al%mnos ($?LA54*S $*L$AL*>*S). En el res%ltado de la cons%lta la col%mna faltas de,e a'arecer con la eti%eta ;Naltas de asistencia< (*LI*S >E $?LA54*S)
")
$ons%lta los datos de los al%mnos %e son de Lorca.
#)
?,t8n los datos de los al%mnos %e son de 5%rcia o *lama de 5%rcia.
7)
?,t8n los datos de los al%mnos %e son de 5%rcia : est&n en el 'rimer c%rso de E.S.?.
)
5%estra los al%mnos %e son de Lorca est&n en se/%ndo c%rso de Pacillerato : tienen m&s de 1! faltas.
9)
?,t8n los datos de a%ellos al%mnos %e son de 5%rcia ordenados 'or nom,re.
1!) ?,t8n los datos de todos los al%mnos ordenados 'or niel : dentro de cada niel 'or c%rso. 11) 5%estra los datos de a%ellos al%mnos %e ten/an m&s de 1! faltas en 'rimer o se/%ndo c%rso. 12) 5%estra los datos de todos a%ellos al%mnos %e ten/an menos de 1! faltas en 3o o o c%rso : adem&s sean de 5%rcia. 13) ?,t8n con %na cons%lta todos los c%rsos %e a: sin re'eticiones (>ISTI4$T). 1) ?,t8n los datos de los al%mnos %e no ten/an 1! faltas en 1o de E.S.?. 1") 5%estra los datos de a%ellos al%mnos c%:o nom,re em'iece 'or la letra P. 1#) $on %na cons%lta o,t8n los al%mnos %e son de 5%rcia : c%:o nom,re termina con %na letra ?. 17) 5%estra los datos de todos a%ellos al%mnos %e est&n en 1o c%rso de E.S.?. J tienen %na letra A en la se/%nda 'osición del nom,re. 1) ?,t8n los datos de los al%mnos c%:a col%mna ;Naltas< es n%la. 19) 5%estra los datos de a%ellos al%mnos %e tienen entre 1! : 2! faltas (PETEE4). ?rdena el res%ltado 'or nom,re. 2!) 5%estra los datos de los al%mnos %e tienen entre 1! : 2! faltas : adem&s son de 5%rcia. 21) 5%estra los datos de los al%mnos %e tienen entre 1! : 2! faltas son de 5%rcia : est&n matric%lados en 1o de E.S.?. 22) $on %na cons%lta m%estra los datos de los al%mnos c%:as faltas sean menores %e 1! : ma:ores %e 2!. . Ejercicios de SQL (III) 11
23
23) 5%estra los datos de los al%mnos c%:a feca de nacimiento com'renda los aBos 1993 : 199. ?rdena el res%ltado 'or nom,re. 2) 5%estra los datos de los al%mnos %e sean de 'rimer o se/%ndo c%rso (no im'orta %e sean de E.S.?. ? Paciller). Atili+a el o'erador I4. 2") ?,t8n los datos de a%ellos al%mnos %e sean de tercer o c%arto c%rso : sean de 5%rcia. Atili+a el o'erador I4. 2#) 5%estra los datos de los al%mnos %e no sean de E.S.? ordenados 'or c%rso : 'or nom,re descendentemente. Atili+a el o'erador I4. 27) 5%estra los datos de los al%mnos %e sean de 'rimer o se/%ndo c%rso : no sean de Paciller. ?rdena el res%ltado 'or nom,re. 2) ?,t8n los datos de los al%mnos c%:o nom,re em'iece 'or la letra F %e ten/an m&s de 1! faltas : no sean de Paciller. ?rdena el res%ltado 'or c%rso : dentro de cada c%rso 'or nom,re. 29) $on %na cons%lta o,t8n el e6'ediente nom,re c%rso : niel de todos los al%mnos ordenado 'or c%rso niel ascendentemente : nom,re descendentemente c%:o niel no sea P*$ILLE@. 3!) $on %na cons%lta o,t8n el nom,re de cada al%mno en ma:=sc%la c%:a localidad sea 5%rcia. 31) 5%estra el nom,re de cada al%mno en ma:=sc%la : la localidad a la %e 'ertenecen en min=sc%la ordenados 'or localidad. 32) $on %na cons%lta concatena el nom,re de cada al%mno : la localidad : s%stit%:e P*$ILLE@ 'or Pacillerato. 33) $on %na cons%lta o,t8n el nom,re de cada al%mno : la lon/it%d de la cadena ;4om,re<. 3) $on %na cons%lta o,t8n el nom,re aBo de nacimiento : mes de nacimiento de cada %no de los al%mnos. 3") $on %na cons%lta m%estra el nom,re : edad de cada %no de los al%mnos (la edad se calc%la restando al aBo de nacimiento 2!!)
. Ejercicios de SQL (III) 11
2
Se dis'one de las si/%ientes ta,las con los si/%ientes datos.
emp_no
73#9 799 7"21 7"## 7#" 7#9 772 77 739 7 77# 79!! 79!2 793
dept_no
1! 2! 3! !
apellido
oficio
dir
fecha_alt
SH4$E *@@?J? S*L* FI5K4E 5*@T4 4EM@? $E@E? MIL @EJ T?*@ *L?4S? FI5E4? NE@4H4>E 5AO?
E5LE*>? E4>E>?@ E4>E>?@ >I@E$T?@ E4>E>?@ >I@E$T?@ >I@E$T?@ *4*LIST* @ESI>E4TE E4>E>?@ E5LE*>? E5LE*>? *4*LIST* E5LE*>?
79!2 7#9 7#9 739 7#9 739 739 7"##
199!-12-17 199!-!2-2! 1991-!2-22 1991-!-!2 1991-!9-29 1991-!"-!1 1991-!#-!9 1991-11-!9 1991-11-17 1991-!9-! 1991-!9-23 1991-12-!3 1991-12-!3 1992-!1-23
7#9 77 7#9 7"## 772
dnombre
loc
$?4T*PILI>*> I4ESTIM*$I4 E4T*S @?>A$$I4
SEILL* 5*>@I> P*@$EL?4* PILP*?
s alario comision dept_no
1!! 1"!! 1#2" 29!! 1#!! 3!!" 2" 3!!! 1!! 13"! 13! 133" 3!!! 1#9!
39! #"! 1!2!
!
2! 3! 3! 2! 3! 3! 1! 2! 1! 3! 2! 3! 2! 1!
drop #able crea#e #able
( INTE-ER PRIMR. /E., 0RC1R(23) NOT NULL, 0RC1R(43), INTE-ER, DTE, INTE-ER, INTE-ER, INTE-ER
!. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)13
2"
) drop #able crea#e
depar#( INTE-ER, 0RC1R(43), 0RC1R(43)
)
IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT IN!ERT
INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO
IN!ERT IN!ERT IN!ERT IN!ERT
1)
emple emple emple emple emple emple emple emple emple emple emple emple emple emple
INTO INTO INTO INTO
0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE! 0LUE!
(5467,8!9NC1E:8, 8EMPLEDO8, (5>77,8RRO.O8, 80ENDEDOR8, (52;<,8!L8, 80ENDEDOR8, (5266,8@IMANE:8, 8DIRECTOR8, (562>,8MRTBN8, 80ENDEDOR8, (567?,8NE-RO8, 8DIRECTOR8, (55?;,8CERE:O8, 8DIRECTOR8, (55??,8-IL8, 8NLI!T8, (5?47,8RE.8, 8PRE!IDENTE8, (5?>>,8TO0R8, 80ENDEDOR8, (5?56,8LON!O8, 8EMPLEDO8, (5733,8@IMENO8, 8EMPLEDO8, (573;,8ERN9NDE:8,8NLI!T8, (574>,8MUO:8, 8EMPLEDO8,
depar# depar# depar# depar#
0LUE! 0LUE! 0LUE! 0LUE!
(<3, (;3, (43, (>3,
573;, 567?, 567?, 5?47, 567?, 5?47, 5?47, 5266, NULL, 567?, 55??, 567?, 5266, 55?;,
8<773=<;=<58, 8<773=3;=;38, 8<77<=3;=;;8, 8<77<=3>=3;8, 8<77<=37=;78, 8<77<=32=3<8, 8<77<=36=378, 8<77<=<<=378, 8<77<=<<=<58, 8<77<=37=3?8, 8<77<=37=;48, 8<77<=<;=348, 8<77<=<;=348, 8<77;=3<=;48,
8CONTILIDD8, 8IN0E!TI-CIFN8, 80ENT!8, 8PRODUCCIFN8,
<3>3, <233, <6;2, ;733, <633, 4332, ;??2, 4333, ><33, <423, <>43, <442, 4333, <673,
NULL, 473, 623, NULL, <3;3, NULL, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL,
;3) 43) 43) ;3) 43) 43) <3) ;3) <3) 43) ;3) 43) ;3) <3)
8!E0ILL8) 8MDRID8) 8RCELON8) 8ILO8)
5ostrar los datos de los em'leados %e 'ertene+can al mismo de'artamento %e MILR. ʻ
2)
5ostrar los datos de los em'leados %e ten/an el mismo oficio %e $E@E?R. El res%ltado de,e ir ordenado 'or a'ellido.
3)
5ostrar los em'leados (nom,re oficio salario : feca de alta) %e desem'eBen el mismo oficio %e FI5K4ER o %e ten/an %n salario ma:or o i/%al %e NE@4H4>ER.
ʻ
ʻ
ʻ
)
5ostrar en 'antalla el a'ellido oficio : salario de los em'leados del de'artamento de NE@4H4>ER %e ten/an s% mismo salario. ʻ
")
5ostrar los datos de los em'leados %e ten/an %n salario ma:or %e MILR : %e 'ertene+can al de'artamento n=mero 1!.
#)
5ostrar los a'ellidos oficios : locali+aciones de los de'artamentos de cada %no de los em'leados.
7)
Seleccionar el a'ellido el oficio : la localidad de los de'artamentos donde tra,ajan los *4*LIST*S.
ʻ
!. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)13
2#
)
Seleccionar el a'ellido el oficio : salario de los em'leados %e tra,ajan en 5adrid.
9)
Seleccionar el a'ellido salario : localidad donde tra,ajan de los em'leados %e ten/an %n salario entre 2!!!!! : 3!!!!!.
1!) 5ostrar el a'ellido salario : nom,re del de'artamento de los em'leados %e ten/an el mismo oficio %e MILR. ʻ
11) 5ostrar el a'ellido salario : nom,re del de'artamento de los em'leados %e ten/an el mismo oficio %e MILR : %e no ten/an comisión. ʻ
12) 5ostrar los datos de los em'leados %e tra,ajan en el de'artamento de conta,ilidad ordenados 'or a'ellidos. 13) *'ellido de los em'leados %e tra,ajan en Seilla : c%:o oficio sea analista o em'leado. 1) $alc%la el salario medio de todos los em'leados. 1") C$%&l es el m&6imo salario de los em'leados del de'artamento 1!D 1#) $alc%la el salario mnimo de los em'leados del de'artamento E4T*S. 17) $alc%la el 'romedio del salario de los em'leados del de'artamento de $?4T*PILI>*>. 1) 5ostrar los datos de los em'leados c%:o salario sea ma:or %e la media de todos los salarios. 19) C$%&ntos em'leados a: en el de'artamento n=mero 1!D 2!) C$%&ntos em'leados a: en el de'artamento de E4T*SD 21) $alc%la el n=mero de em'leados %e a: %e no tienen comisión. 22) Seleccionar el a'ellido del em'leado %e tiene m&6imo salario. 23) 5ostrar los a'ellidos del em'leado %e tiene el salario m&s ,ajo. 2) 5ostrar los datos del em'leado %e tiene el salario m&s alto en el de'artamento de E4T*S. 2") * 'artir de la ta,la E5LE is%ali+ar c%&ntos a'ellidos de los em'leados em'ie+an 'or la letra *. ʻ
2#) >ada la ta,la E5LE o,tener el s%eldo medio el n=mero de comisiones no n%las el m&6imo s%eldo : el s%eldo mnimo de los em'leados del de'artamento 3!.
!. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)13
27
Se dis'one de las si/%ientes ta,las con los si/%ientes datos0
TABLA FABRICANTE id_fab
1 2 3 " #
nombre
pais
?racle 5icrosoft IP5 >inamic Porland S:mantec
Estados Anidos Estados Anidos Estados Anidos Es'aBa Estados Anidos Estados Anidos
TABLA COMERCIO cif
1 2 3 "
nombre
ciudad
El $orte In/l8s El $orte In/l8s F%m' $entro 5ail N4*$
Seilla 5adrid alencia Seilla Parcelona
TABLA CLIENTE dni
1 2 3 " #
nombre
e'e 8re+ F%an Mon+&le+ 5ara Móme+ Faier $asado 4%ria S&nce+ *ntonio 4aarro
edad
" " 33 1 29 "
TABLA PROGRAMA codigo
1 2 3 " # 7 9 1! 11 12 13 1 1" 1# 17 1 19 2!
&. Ejercicios de SQL. "ons#ltas m$s com%lejas (II)14
nombre
*''lication Serer >ata,ase >ata,ase >ata,ase >eelo'er *ccess *ccess *ccess indoXs indoXs indoXs indoXs 4orton Internet Sec%rit: Nredd: ardest arado6 $YY P%ilder >PG2 ?SG2 FP%ilder La 'risión
version
9i i 9i 1!/ #i 97 2!!! W 9 W rofessional W ome Edition 2!!3 Serer 2!! 2 "." 2.! 1.! W 1.!
2
TABLA DESARROLLA
TABLA DISTRIBUYE
id_fab codigo
cif codigo cantidad
1 1 1 1 1 2 2 2 2 2 2 2 3 3 " " " #
1 1 1 1 1 1 2 2 2 2 3 3 " " " " "
1 2 3 " # 7 9 1! 11 12 17 1 1 2! 1" 1# 19 13
1 2 # 7 1! 13 1 2 # 7 1! 13 1 2! 1" 1# 17 19
1! 11 " 3 " 7 # # 7 " 3 # 2 3 #
TABLA REGISTRA cif dni codigo
1 1 " 2
1 3 2 1 2
1 1! 1! 12 1"
medio
Internet Tarjeta 'ostal Tel8fono Tarjeta 'ostal Internet Internet
&. Ejercicios de SQL. "ons#ltas m$s com%lejas (II)14
29
1)
*eri/%a el >4I de todos los clientes.
2)
$ons%lta todos los datos de todos los 'ro/ramas.
3)
?,t8n %n listado con los nom,res de todos los 'ro/ramas.
)
Menera %na lista con todos los comercios.
")
Menera %na lista de las ci%dades con esta,lecimientos donde se enden 'ro/ramas sin %e a'are+can alores d%'licados (%tili+a >ISTI4$T).
#)
?,t8n %na lista con los nom,res de 'ro/ramas sin %e a'are+can alores d%'licados (%tili+a >ISTI4$T).
7)
?,t8n el >4I m&s de todos los clientes.
)
a+ %n listado con los códi/os de los 'ro/ramas m%lti'licados 'or 7.
9)
C$%&les son los 'ro/ramas c%:o códi/o es inferior o i/%al a 1!D
1!) C$%&l es el 'ro/rama c%:o códi/o es 11D 11) CQ%8 fa,ricantes son de Estados AnidosD 12) C$%&les son los fa,ricantes no es'aBolesD Atili+ar el o'erador I4. &. Ejercicios de SQL. "ons#ltas m$s com%lejas (II)14
3!
13) ?,t8n %n listado con los códi/os de las distintas ersiones de indoXs. 1) CEn %8 ci%dades comerciali+a 'ro/ramas El $orte In/l8sD 1") CQ%8 otros comercios a: adem&s de El $orte In/l8sD Atili+ar el o'erador I4. 1#) Menera %na lista con los códi/os de las distintas ersiones de indoXs : *ccess. Atili+ar el o'erador I4. 17) ?,t8n %n listado %e incl%:a los nom,res de los clientes de edades com'rendidas entre 1! : 2" : de los ma:ores de "! aBos. >a %na sol%ción con PETEE4 : otra sin PETEE4. 1) Saca %n listado con los comercios de Seilla : 5adrid. 4o se admiten alores d%'licados. 19) CQ%8 clientes terminan s% nom,re en la letra ;o
31
3) CQ%8 %s%arios an o'tado 'or Internet como medio de re/istroD 3") CQ%8 'ro/ramas an reci,ido re/istros 'or tarjeta 'ostalD 3#) CEn %8 localidades se an endido 'rod%ctos %e se an re/istrado 'or InternetD 37) ?,t8n %n listado de los nom,res de las 'ersonas %e se an re/istrado 'or Internet j%nto al nom,re de los 'ro/ramas 'ara los %e a efect%ado el re/istro. 3) Menera %n listado en el %e a'are+ca cada cliente j%nto al 'ro/rama %e a re/istrado el medio con el %e lo a eco : el comercio en el %e lo a ad%irido. 39) Menera %n listado con las ci%dades en las %e se '%eden o,tener los 'rod%ctos de ?racle. !) ?,t8n el nom,re de los %s%arios %e an re/istrado *ccess W. 1) 4om,re de a%ellos fa,ricantes c%:o 'as es el mismo %e ?racleR. (S%,cons%lta). ʻ
2) 4om,re de a%ellos clientes %e tienen la misma edad %e e'e 8re+. (S%,cons%lta). 3) Menera %n listado con los comercios %e tienen s% sede en la misma ci%dad %e tiene el comercio N4*$R. (S%,cons%lta). ʻ
) 4om,re de a%ellos clientes %e an re/istrado %n 'rod%cto de la misma forma %e el cliente e'e 8re+R. (S%,cons%lta). ʻ
") ?,tener el n=mero de 'ro/ramas %e a: en la ta,la 'ro/ramas. #) $alc%la el n=mero de clientes c%:a edad es ma:or de ! aBos. 7) $alc%la el n=mero de 'rod%ctos %e a endido el esta,lecimiento c%:o $IN es 1. ) $alc%la la media de 'ro/ramas %e se enden c%:o códi/o es 7. 9) $alc%la la mnima cantidad de 'ro/ramas de códi/o 7 %e se a endido "!) $alc%la la m&6ima cantidad de 'ro/ramas de códi/o 7 %e se a endido. "1) CEn c%&ntos esta,lecimientos se ende el 'ro/rama c%:o códi/o es 7D "2) $alc%lar el n=mero de re/istros %e se an reali+ado 'or Internet. "3) ?,tener el n=mero total de 'ro/ramas %e se an endido en SeillaR. ʻ
&. Ejercicios de SQL. "ons#ltas m$s com%lejas (II)14
32
") $alc%lar el n=mero total de 'ro/ramas %e an desarrollado los fa,ricantes c%:o 'as es Estados AnidosR. ʻ
"") is%ali+a el nom,re de todos los clientes en ma:=sc%la. En el res%ltado de la cons%lta de,e a'arecer tam,i8n la lon/it%d de la cadena nom,re. "#) $on %na cons%lta concatena los cam'os nom,re : ersión de la ta,la @?M@*5*.
&. Ejercicios de SQL. "ons#ltas m$s com%lejas (II)14
33
4ota0 Estas ta,las est&n orientadas a la did&ctica no a %n diseBo ó'timo.
TABLA EMPLE . emp_no
73#9 799 7"21 7"## 7#" 7#9 772 77 739 7 77# 79!! 79!2 793
apellido
oficio
dir
SH4$E *@@?J? S*L* FI5K4E 5*@T4 4EM@? $E@E? MIL @EJ T?*@ *L?4S? FI5E4? NE@4H4>E 5AO?
E5LE*>? E4>E>?@ E4>E>?@ >I@E$T?@ E4>E>?@ >I@E$T?@ >I@E$T?@ *4*LIST* @ESI>E4TE E4>E>?@ E5LE*>? E5LE*>? *4*LIST* E5LE*>?
79!2 199!-12-17 7#9 199!-!2-2! 7#9 1991-!2-22 739 1991-!-!2 7#9 1991-!9-29 739 1991-!"-!1 739 1991-!#-!9 7"## 1991-11-!9 1991-11-17 7#9 1991-!9-! 77 1991-!9-23 7#9 1991-12-!3 7"## 1991-12-!3 772 1992-!1-23
TABLA DEPART. dept_no
1! 2! 3! !
fecha_alt
salario comision dept_no
1!! 1"!! 1#2" 29!! 1#!! 3!!" 2" 3!!! 1!! 13"! 13! 133" 3!!! 1#9!
39! #"! 1!2!
!
2! 3! 3! 2! 3! 3! 1! 2! 1! 3! 2! 3! 2! 1!
TABLA HERRAMIENTAS
dnombre
loc
descripcion
$?4T*PILI>*> I4ESTIM*$I4 E4T*S @?>A$$I4
SEILL* 5*>@I> P*@$EL?4* PILP*?
*licates Soldador M%antes 5artillo Sierra >estornillador 5etro Escofina Lima $ortador
'. Ejercicios de SQL. "ons#ltas m$s com%lejas (III)1
estanteria unidades
1 1 2 3 3 " # #
1! 1" 7 1! " 7 1" " 1! "
3
TABLA PERSONAS cod_hospital
1 1 2 1 2 3 3 2
dni
apellidos
funcion
123"#7 7#"321 """33 ###""" 22233322 """11 999333 33222111 22233333 """12 22233311
Marca ern&nde+ Eladio N%entes Permejo $arlos Mon+&le+ 5arn *licia $astillo 5ontes edro Trist&n Marca *na @%i+ ern&nde+ $aridad Serrano >a+ *lejandro 5esa del $astillo F%an 5artne+ 5olina *ndr8s Fim8ne+ Fim8ne+ >olores 5artne+ 5olina Mloria
$?4SE@FE >I@E$T?@ $?4SE@FE 5E>I$? 5E>I$? 5E>I$? >I@E$T?@ 5E>I$? 5E>I$? $?4SE@FE 5E>I$?
salario
12!! 2!!! 12!! 17!! 19!! 19!! 2!! 22!! 1#!! 12!! 1#!!
TABLA MEDICOS cod_hospital
1 2 2
dni
apellidos
especialidad
###""" 22233322 33222111 22233333 22233311
$astillo 5ontes edro Trist&n Marca *na 5esa del $astillo F%an 5artne+ 5olina *ndr8s 5artne+ 5olina Mloria
SIQAI*T@* $I@AF*4? >E@5*T?L?M? $I@AF*4? SIQAI*T@*
TABLA HOSPITALES cod_hospital
1 2 3
nombre
direccion
@afael 58nde+ @eina Sofa rnci'e *st%rias ir/en de la *rri6aca
Mran a 7 F%nterones " *enida $olón *enida F%an $arlos I
'. Ejercicios de SQL. "ons#ltas m$s com%lejas (III)1
num_plazas
2"! 22" 1"! 2"!
3"
1)
Visualizar el número de empleados de cada departamento. Atili+ar M@?A
PJ 'ara a/r%'ar 'or de'artamento. 2)
Visualizar los departamentos con más de 5 empleados. Atili+ar M@?A PJ
'ara a/r%'ar 'or de'artamento : *I4M 'ara esta,lecer la condición so,re los /r%'os. 3)
Hallar la media de los salarios de cada departamento (%tili+ar la f%nción a/
: M@?A PJ). )
Visualizar el nombre de los empleados vendedores del departamento VE!"#$ (4om,re del de'artamentoZRE4T*SR oficioZRE4>E>?@R). ʻ
")
Visualizar el número de vendedores del departamento VE!"#$ (%tili+ar la ʻ
f%nción $?A4T so,re la cons%lta anterior). #)
Visualizar los oficios de los empleados del departamento VE!"#$ .
7)
" partir de la tabla E%&'E( visualizar el número de empleados de cada departamento cu)o oficio sea E%&'E"*+$ (%tili+ar M@?A PJ 'ara a/r%'ar
ʻ
ʻ
'or de'artamento. En la cl&%s%la E@E a,r& %e indicar %e el oficio es E5LE*>?R). ʻ
)
is%ali+ar el de'artamento con m&s em'leados.
9)
5ostrar los de'artamentos c%:a s%ma de salarios sea ma:or %e la media de salarios de todos los em'leados.
1!) ara cada oficio o,tener la s%ma de salarios. 11) is%ali+ar la s%ma de salarios de cada oficio del de'artamento E4T*SR. ʻ
12) is%ali+ar el n=mero de de'artamento %e ten/a m&s em'leados c%:o oficio sea em'leado. 13) 5ostrar el n=mero de oficios distintos de cada de'artamento. 1) 5ostrar los de'artamentos %e ten/an m&s de dos 'ersonas tra,ajando en la misma 'rofesión. 1") >ada la ta,la E@@*5IE4T*S is%ali+ar 'or cada estantera la s%ma de las %nidades.
'. Ejercicios de SQL. "ons#ltas m$s com%lejas (III)1
3#
Estanter,a
#uma
1 2 3 " #
2" 7 17 1! 1" 1"
1#) is%ali+ar la estantera con m&s %nidades de la ta,la E@@*5IE4T*S. Estanter,a
1
17) 5ostrar el n=mero de m8dicos %e 'ertenecen a cada os'ital ordenado 'or n=mero descendente de os'ital. 1) @eali+ar %na cons%lta en la %e se m%estre 'or cada os'ital el nom,re de las es'ecialidades %e tiene. 19) @eali+ar %na cons%lta en la %e a'are+ca 'or cada os'ital : en cada es'ecialidad el n=mero de m8dicos (tendr&s %e 'artir de la cons%lta anterior : %tili+ar M@?A PJ). 2!) ?,tener 'or cada os'ital el n=mero de em'leados. 21) ?,tener 'or cada es'ecialidad el n=mero de tra,ajadores. 22) is%ali+ar la es'ecialidad %e ten/a m&s m8dicos. 23) C$%&l es el nom,re del os'ital %e tiene ma:or n=mero de 'la+asD 2) is%ali+ar las diferentes estanteras de la ta,la E@@*5IE4T*S ordenados descendentemente 'or estantera. 2") *eri/%ar c%&ntas %nidades tiene cada estantera. 2#) is%ali+ar las estanteras %e ten/an m&s de 1" %nidades 27) C$%&l es la estantera %e tiene m&s %nidadesD 2) * 'artir de las ta,las E5LE : >E*@T mostrar los datos del de'artamento %e no tiene nin/=n em'leado.
'. Ejercicios de SQL. "ons#ltas m$s com%lejas (III)1
37
29) 5ostrar el n=mero de em'leados de cada de'artamento. En la salida se de,e mostrar tam,i8n los de'artamentos %e no tienen nin/=n em'leado. 3!) ?,tener la s%ma de salarios de cada de'artamento mostrando las col%mnas >ETU4? SA5* >E S*L*@I?S : >4?5P@E. En el res%ltado tam,i8n se de,en mostrar los de'artamentos %e no tienen asi/nados em'leados. 31) Atili+ar la f%nción IN4ALL (o $?*LES$E) en la cons%lta anterior 'ara %e en el caso de %e %n de'artamento no ten/a em'leados a'are+ca como s%ma de salarios el alor !. 32) ?,tener el n=mero de m8dicos %e 'ertenecen a cada os'ital mostrando las col%mnas $?>U?SIT*L 4?5P@E : 4[5E@? >E 5K>I$?S. En el res%ltado de,en a'arecer tam,i8n los datos de los os'itales %e no tienen m8dicos.
'. Ejercicios de SQL. "ons#ltas m$s com%lejas (III)1
3
Se dis'one de las si/%ientes ta,las con los si/%ientes datos.
TABLA CICLISTA dorsal
1 2 3 " 9 1! 11 12 13 1" 1# 17 2! 22 2# 27 3! 31 32 33 3 3"
nombre
5i/%el Ind%rain edro >el/ado *le6 %lle *lessio >i Pasco *rmand Fean an o''el 5a6imo odel 5ario $i'ollini Edd: Sei/ne%r *lessio >i Pasco Mianni P%/no Fes=s 5onto:a >imitri \onise Pr%no Lealli *lfonso M%ti8rre+ Mior/io N%rlan 5iVel arra,eitia La%rent Fala,ert 5elcor 5a%ri er edersen Ton: @omin/er Stefenao della Seitia $la%ido $ia'%cci Mian 5ateo Nal%ca
TABLA EQUIPO edad
21 29 2! 3! 17 2 17 31 2! 3 2 2" 27 3! 27 22 3! 22 2# 33 31 2# 23 3
nome
nome
director
Panesto Panesto 4ai/are T5 *more ita Presciali-@efin Telecom $arrera *more ita Presciali-@efin Matorade *more ita *more ita *more ita 4ai/are \elme $arrera Panesto 5a'ei-$las Panesto \elme *more ita *more ita T5
*more ita Panesto Presciali-@efin $arrera Matorade \elme 5a'ei-$las 4ai/are Telecom T5
@icardo adacci 5i/%el Ecearra ietro *rmani L%i/i etroni Mian L%ca acceli Hlaro ino F%an Nern&nde+ Loren+o Sciacci 5or/an @eiVacrd Steeens enV
9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
39
TABLA LLEVAR dorsal netapa codigo
1 1 2 3 3 3
3 2 1 1 1
5ME 5ME 5ME 5ME 55 5@E 55?
TABLA ETAPA netapa m
1 2 3 "
3" 7! 1"! 33! 1"!
salida
llegada
alladolid Salamanca amora $órdo,a Mranada
Hila amora *lmendralejo Mranada *lmera
dorsal
1 2 1 1 3
TABLA PUERTO nompuerto
altura categoria pendiente netapa dorsal
'1 '2 %erto N %erto fff %erto n%eo1 %erto otro %erto1
29 279 2"!! 2"!! 2"!! 2"!! 2"!!
1 1 E E a E E
3 17 17 17 17 23
2 1
3 3 2 2 1 1 2
TABLA MAILLOT codigo
tipo
color
premio
5ME 55? 55S 55 5@E 5SE
Meneral 5ontaBa 5&s s%frido 5etas olantes @e/%laridad S'rint es'ecial
*marillo Planco : rojo Estrellitas rojas @ojo erde @osa
1!!!!!! "!!!!! !!!!! !!!!! 3!!!!! 3!!!!!
9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
!
1)
?,tener el códi/o el ti'o el color : el 'remio de todos los maillots %e a:.
2)
?,tener el dorsal : el nom,re de los ciclistas c%:a edad sea menor o i/%al %e 2" aBos.
3)
?,tener el nom,re : la alt%ra de todos los '%ertos de cate/ora ER (Es'ecial).
)
?,tener el alor del atri,%to neta'a de a%ellas eta'as con salida : lle/ada en la misma ci%dad.
")
C$%&ntos ciclistas a:D
#)
C$%&ntos ciclistas a: con edad s%'erior a 2" aBosD
7)
C$%&ntos e%i'os a:D
)
?,tener la media de edad de los ciclistas.
9)
?,tener la alt%ra mnima : m&6ima de los '%ertos de montaBa.
ʻ
1!) ?,tener el nom,re de cada ciclista j%nto con el nom,re del e%i'o al %e 'ertenece 11) ?,tener el nom,re de los ciclistas %e sean de Panesto. 9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
1
12) C$%&ntos ciclistas 'ertenecen al e%i'o *more itaD 13) Edad media de los ciclistas del e%i'o T5. 1) 4om,re de los ciclistas %e 'ertene+can al mismo e%i'o %e 5i/%el Ind%rain 1") 4om,re de los ciclistas %e an /anado al/%na eta'a. 1#) 4om,re de los ciclistas %e an lleado el maillot Meneral. 17) ?,tener el nom,re del ciclista m&s joen 1) ?,tener el n=mero de ciclistas de cada e%i'o. 19) ?,tener el nom,re de los e%i'os %e ten/an m&s de " ciclistas. 2!) ?,tener el n=mero de '%ertos %e a /anado cada ciclista. 21) ?,tener el nom,re de los ciclistas %e an /anado m&s de %n '%erto. 22) ?,tener el nom,re : el director de los e%i'os a los %e 'ertene+ca al/=n ciclista ma:or de 33 aBos. 23) 4om,re de los ciclistas %e no 'ertene+can a \elme 2) 4om,re de los ciclistas %e no a:an /anado nin/%na eta'a. 2") 4om,re de los ciclistas %e no a:an /anado nin/=n '%erto de montaBa. 2#) 4om,re de los ciclistas %e a:an /anado m&s de %n '%erto de montaBa. 27) CQ%8 ciclistas an lleado el mismo maillot %e 5i/%el Ind%rainD 2) >e cada e%i'o o,tener la edad media la m&6ima edad : la mnima edad. 29) 4om,re de a%ellos ciclistas %e ten/an %na edad entre 2" : 3! aBos : %e no 'ertene+can a los e%i'os \elme : Panesto. 3!) 4om,re de los ciclistas %e an /anado la eta'a %e comien+a en amora. 31) ?,t8n el nom,re : la cate/ora de los '%ertos /anados 'or ciclistas del e%i'o PanestoR. ʻ
32) ?,tener el nom,re de cada '%erto indicando el n=mero (neta'a) : los Vilómetros de la eta'a en la %e se enc%entra el '%erto. 33) ?,tener el nom,re de los ciclistas con el color de cada maillot %e a:an lleado.
9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
2
3) ?,tener 'ares de nom,re de ciclista : n=mero de eta'a tal %e ese ciclista a:a /anado esa eta'a a,iendo lleado el maillot de color amarillo al menos %na e+. 3") ?,tener el alor del atri,%to neta'a de las eta'as %e no comien+an en la misma ci%dad en %e aca,ó la anterior eta'a. 3#) ?,tener el alor del atri,%to neta'a : la ci%dad de salida de a%ellas eta'as %e no ten/an '%ertos de montaBa. 37) ?,tener la edad media de los ciclistas %e an /anado al/%na eta'a. 3) Selecciona el nom,re de los '%ertos con %na alt%ra s%'erior a la alt%ra media de todos los '%ertos. 39) ?,tener el nom,re de la ci%dad de salida : de lle/ada de las eta'as donde est8n los '%ertos con ma:or 'endiente. !) ?,tener el dorsal : el nom,re de los ciclistas %e an /anado los '%ertos de ma:or alt%ra. 1) ?,tener el nom,re del ciclista m&s joen %e a /anado al menos %na eta'a. 2) ?,tener el alor del atri,%to neta'a de a%ellas eta'as tales %e todos los '%ertos %e est&n en ellas tienen m&s de 2"!! metros de alt%ra. 3) ?,tener el nom,re : el director de los e%i'os tales %e todos s%s ciclistas son ma:ores de 2! aBos. ) ?,tener el dorsal : el nom,re de los ciclistas tales %e todas las eta'as %e an /anado tienen m&s de 17! Vm (es decir %e sólo an /anado eta'as de m&s de 17! Vm). ") ?,tener el nom,re de los ciclistas %e an /anado todos los '%ertos de %na eta'a : adem&s an /anado esa misma eta'a. #) ?,tener el nom,re de los e%i'os tales %e todos s%s corredores an lleado al/=n maillot o an /anado al/=n '%erto. 7) ?,tener el códi/o : el color de a%ellos maillots %e sólo an sido lleados 'or ciclistas de %n mismo e%i'o. ) ?,tener el nom,re de a%ellos e%i'os tal %e s%s ciclistas sólo a:an /anado '%ertos de 1a cate/ora. 9) ?,tener el alor del atri,%to neta'a de a%ellas eta'as %e tienen '%ertos de montaBa indicando c%&ntos tiene.
9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
3
"!) ?,tener el nom,re de todos los e%i'os indicando c%&ntos ciclistas tiene cada %no. "1) ?,tener el director : el nom,re de los e%i'os %e ten/an m&s de 3 ciclistas : c%:a edad media sea i/%al o inferior a 3! aBos. "2) ?,tener el nom,re de los ciclistas %e 'ertene+can a %n e%i'o %e ten/a m&s de cinco corredores : %e a:an /anado al/%na eta'a indicando c%&ntas eta'as a /anado. "3) ?,tener el nom,re de los e%i'os : la edad media de s%s ciclistas de a%ellos e%i'os %e ten/an la media de edad m&6ima de todos los e%i'os. ") ?,tener el director de los e%i'os c%:os ciclistas an lleado m&s das maillots de c%al%ier ti'o. "") ?,tener el códi/o : el color del maillot %e a sido lleado 'or al/=n ciclista %e no a /anado nin/%na eta'a. "#) ?,tener el alor del atri,%to neta'a la ci%dad de salida : la ci%dad de lle/ada de las eta'as de m&s de 19! Vm : %e ten/an 'or lo menos dos '%ertos. "7) ?,tener el dorsal : el nom,re de los ciclistas %e no an lleado todos los maillots %e a lleado el ciclista de dorsal 2. ") ?,tener el dorsal : el nom,re de los ciclistas %e an lleado al menos %n maillot de los %e a lleado el ciclista de dorsal 2. "9) ?,tener el dorsal : el nom,re de los ciclistas %e no an lleado nin/=n maillot de los %e a lleado el ciclista de dorsal 2. #!) ?,tener el dorsal : nom,re de los ciclistas %e an lleado e6actamente los mismos maillots %e a lleado el ciclista de dorsal 1. #1) ?,tener el dorsal : el nom,re del ciclista %e a lleado d%rante m&s Vilómetros %n mismo maillot e indicar tam,i8n el color de dico maillot. #2) ?,tener el dorsal : el nom,re de los ciclistas %e an lleado dos ti'os de maillot menos de los %e a lleado el ciclista de dorsal 3. #3) ?,tener el alor del atri,%to neta'a : los Vm de las eta'as %e tienen '%ertos de montaBa.
9. Ejercicios de SQL. "ons#ltas m$s com%lejas (I)1!
cod_hospital
1 1 2 1 2 3 3 2
dni
apellidos
funcion
salario
123"#7 7#"321 """33 ###""" 22233322 """11 999333 33222111 22233333 """12 22233311
Marca ern&nde+ Eladio N%entes Permejo $arlos Mon+&le+ 5arn *licia $astillo 5ontes edro Trist&n Marca *na @%i+ ern&nde+ $aridad Serrano >]a+ *lejandro 5esa del $astillo F%an 5artne+ 5olina *ndr8s Fim8ne+ Fim8ne+ >olores 5artne+ 5olina Mloria
$?4SE@FE >I@E$T?@ $?4SE@FE 5E>I$? 5E>I$? 5E>I$? >I@E$T?@ 5E>I$? 5E>I$? $?4SE@FE 5E>I$?
1"!! 2!!! 12!! 17!! 19!! 19!! 2!! 22!! 1#!! 12!! 1#!!
Ejercicios 1)
>ada la ta,la E@S?4*S insertar a %n 'ersona de a'ellidos : nom,re Q%iro/a @ojas Leo'oldoR c%:a f%nción sea $?4SE@FER con >4I "#7999 : con el códi/o de os'ital . ʻ
ʻ
2)
Inserta en la ta,la E@S?4*S %na 'ersona de nom,re Serrano @%i+ *ntonioR con >4I 111333222 'erteneciente al os'ital n=mero 3.
3)
Inserta en la ta,la E@S?4*S1 los datos de las 'ersonas %e tra,ajan en el os'ital n=mero 1 (I4SE@T con SELE$T).
)
Se a creado %na n%ea ta,la llamada E@S?4*S2. Esta ta,la tiene los si/%ientes cam'os (>4I *ELLI>?S NA4$I4). C$ómo 'odremos introd%cir en esa ta,la los datos de las E@S?4*S del códi/o de os'ital D
")
Inserta en la ta,la E@S?4*S %na 'ersona con >4I 9977## : a'ellidos 5artne+ 5artne+ *lejandroR en el os'ital %e tiene tan sólo 1 'ersona (I4SE@T con SELE$T).
ʻ
ʻ
#)
En la ta,la ?SIT*LES cam,iar el códi/o de los os'itales %e tienen el códi/o 3 al códi/o . (Atili+ar A>*TE).
10. Ejercicios de SQL. ct#ali*ación de +ases de datos1&
"
emp_no
73#9 799 7"21 7"## 7#" 7#9 772 77 739 7 77# 79!! 79!2 793
apellido
oficio
SH4$E *@@?J? S*L* FI5K4E 5*@T4 4EM@? $E@E? MIL @EJ T?*@ *L?4S? FI5E4? NE@4H4>E 5AO?
E5LE*>? E4>E>?@ E4>E>?@ >I@E$T?@ E4>E>?@ >I@E$T?@ >I@E$T?@ *4*LIST* @ESI>E4TE E4>E>?@ E5LE*>? E5LE*>? *4*LIST* E5LE*>?
dept_no
1! 2! 3! !
dir
fecha_alt
79!2 199!-12-17 7#9 199!-!2-2! 7#9 1991-!2-22 739 1991-!-!2 7#9 1991-!9-29 739 1991-!"-!1 739 1991-!#-!9 7"## 1991-11-!9 1991-11-17 7#9 1991-!9-! 77 1991-!9-23 7#9 1991-12-!3 7"## 1991-12-!3 772 1992-!1-23
dnombre
loc
$?4T*PILI>*> I4ESTIM*$I4 E4T*S @?>A$$I4
SEILL* 5*>@I> P*@$EL?4* PILP*?
salario comision dept_no
1!! 1"!! 1#2" 29!! 1#!! 3!!" 2" 3!!! 1!! 13"! 13! 133" 3!!! 1#9!
39!!! 1#2"!! 12!!!
!
2! 3! 3! 2! 3! 3! 1! 2! 1! 3! 2! 3! 2! 1!
Ejercicios 7)
Insertar en la ta,la E5LE %n em'leado con códi/o 9999 a'ellido M?4HLER : códi/o de de'artamento 1!.
)
Insertar en la ta,la E5LE %n em'leado con códi/o "!!! a'ellido 5?@*M*R oficio E5LE*>?R s% director es el em'leado 79!2 la feca de alta en la em'resa es 17G1!G99R s% salario es 1!!!!! no tiene comisión : 'ertenece al de'artamento n=mero 2!. ('ara indicar %e no tiene comisión de,er&s 'oner 4ALL en el cam'o comisión).
ʻ
ʻ
ʻ
ʻ
9)
Insertar en la ta,la >E*@T %n de'artamento c%:o n=mero sea "! de nom,re ME4E@*LR : c%:a locali+ación sea SEILL*R. ʻ
ʻ
1!) Insertar en la ta,la >E*@T %n de'artamento c%:o n=mero sea #! : de nom,re @AEP*SR. ʻ
11) Insertar en la ta,la E5LE3! los datos de los em'leados %e 'ertenecen al de'artamento n=mero 3!. 10. Ejercicios de SQL. ct#ali*ación de +ases de datos1&
#
12) Insertar en la ta,la E5LE2! el dni n=mero de de'artamento : salario de los em'leados %e 'ertenecen al de'artamento n=mero 2!. 13) >o,lar el salario a todos los em'leados del de'artamento 3!. (Atili+ar A>*TE). 1) $am,iar todos los em'leados del de'artamento n=mero 3! al de'artamento n=mero 2!. 1") Incrementar en %n 1!^ el s%eldo de los em'leados del de'artamento 1!. (salario_1.1). 1#) $am,iar la localidad del de'artamento n=mero 1! a PILP*?R. ʻ
17) I/%alar el salario de *@@?J?R al salario de 4EM@?R de la ta,la E5LE3!. ʻ
ʻ
1) I/%alar el salario : oficio de 5AO?R al salario : oficio de FI5E4?R de la ta,la E5LE3!. ʻ
ʻ
19) En la ta,la >E*@T ,orrar el de'artamento n=mero "!. 2!) En la ta,la E5LE ,orrar todos los em'leados %e sean del de'artamento 2! : sean *4*LIST*SR. ʻ
21) Porrar de la ta,la E5LE todos los em'leados %e no ten/an comisión.
cod_hospital
1 2 3
nombre
direccion
@afael 58nde+ @eina Sofa rnci'e *st%rias ir/en de la *rri6aca
Mran a 7 F%nterones " *enida $ol`n *enida F%an $arlos I
num_plazas
2"! 22" 1"! 2"!
22) Esta,lecer el n=mero de 'la+as de todos los os'itales a 2"!. 23) oner en 2!!! el n=mero de 'la+as del os'ital n=mero 3. 2) Porra todos los os'itales c%:o nom,re comience 'or la letra @R. ʻ
2") $on %na sentencia A>*TE do,la el n=mero de 'la+as de todos los os'itales.
10. Ejercicios de SQL. ct#ali*ación de +ases de datos1&
7
2#) or cada de'artamento de la ta,la E5LE : >E*@T o,tener el nom,re del de'artamento salario medio salario m&6imo : media de salarios. 27) is%ali+ar el nom,re : n=mero de em'leados de cada de'artamento. 2) is%ali+ar el nom,re : n=mero de em'leados de los de'artamentos %e ten/an m&s de 3 em'leados. 29) *'ellidos de los em'leados %e ten/an el mismo oficio %e *@@?J?R. ʻ
3!) *'ellidos de los em'leados %e 'ertene+can al mismo de'artamento %e *@@?J?R o @EJR. ʻ
ʻ
10. Ejercicios de SQL. ct#ali*ación de +ases de datos1&
$rea %na ta,la llamada EL$AL*S con los si/%ientes cam'os : restricciones. ombre campo
cod_pelicula nombre fecha_alta stoc precio
/0euerido1
Valor por defecto
S S 4o 4o S
----!#G!1G!1 1! ---
La clae 'rimaria de esta ta,la es el cam'o $?>UEL$AL*
Indica si las si/%ientes órdenes I4SE@T son correctas. En el caso de %e no sean correctas indica el 'or%80 1) IN!ERT INTO PELICUL!(cod"pelic$la, nombre, %ec&a"al#a, s#ocG, precio) Hal$es(<,36=3<=3<,;3,63) 2) IN!ERT INTO PELICUL! 0LUE!( ;,El seor de los anillos,;3) ʻ
3) IN!ERT INTO PELICUL!(cod"pelic$la,nombre,precio) Hal$es(4,Las dos #orres,;>) ) IN!ERT INTO PELICUL!(cod"pelic$la, nombre,%ec&a"al#a) Hal$es(>,El re#orno del reJ,36=3<=3<)
$rea la ta,la $LIE4TES con los si/%ientes cam'os : restricciones0
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
9
ombre campo
dni_cliente nombre dirección población codigo_postal fecha_nac
/0euerido1
Valor por defecto
S S 4o 4o 4o 4o
----5adrid -------
La clae 'rimaria de esta ta,la es el cam'o >4IU$LIE4TE
$rea la ta,la $?5@*S con los si/%ientes cam'os : restricciones. ombre campo
codigo_pelicula dni_cliente fecha_compra
/0euerido1
Valor por defecto
S S S
-------
Esta,lece la clae 'rimaria de la ta,la : las claes ajenas en caso de %e las ten/a. >e,e 'ermitirse la eliminación de re/istros en esta ta,la en caso de %e se eliminen re/istros tanto en $LIE4TES como en ELI$AL*S. >e,e 'ermitirse la act%ali+ación de re/istros en la ta,la en caso de %e se act%alicen re/istros tanto en $LIE4TES como en ELI$AL*S.
@es'onde a las si/%ientes 're/%ntas. a)
La ta,la $LIE4TES est& inicialmente aca (no emos introd%cido datos). CEs 'osi,le introd%cir %na com'ra en la ta,la de $?5@*SD
,)
CQ%8 oc%rre si intentamos eliminar la ta,la $LIE4TES : la ta,la $?5@*S no est& acaD
c)
Tenemos los si/%ientes datos en la ta,la $LIE4TES.
dni_cliente
123"#79 97#"321 111222333
nombre
direccion
edro Mran a Nern&nde+ F%an *ntonio Sa/asta # Marrido *lcia 5arn la+a 5a:or 7
poblacion codigo_postal fecha_nac
5%rcia
3!!!
!#G!"G199!
5adrid
!!!
!G!G19""
5%rcia
3!!!
!9G!G19#!
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"!
Indica a contin%ación si los si/%ientes I4SE@T en la ta,la $?5@*S son correctos (s%'ón %e todos los artc%los %e introd%+cas e6isten en la ta,la *@TI$AL?S). 1. IN!ERT INTO COMPR! 0LUE!(>>>222666,???777555,36=32=32) 2. IN!ERT INTO COMPR! 0LUE!(666555666,<<<;;;444,37=<3=32) 3. IN!ERT INTO COMPR! 0LUE!(7?562>4;<,???777??,37=<<=32)
$rea las si/%ientes ta,las0 a)
$rear %na ta,la llamada E@S?4*S con los cam'os (dni nom,re a'ellido1 a'ellido2).
,)
$rear %na ta,la llamada EI$AL?S con los cam'os ($odi/oeic%lo marca modelo cilindrada).
c)
$rear %na ta,la llamada E@S?4*SUEI$AL?S con los cam'os (dni $odi/oeic%lo).
d)
$rear %na ta,la llamada N*5ILI* con los cam'os ($odi/oNamilia >escri'cionNamilia).
e)
Identificar las claes 'rimarias de cada ta,la : las claes for&neas teniendo en c%enta %e 1 E@S?4* '%ede tener ! o arios EI$AL?S. 1 N*5ILI* tendr& 2 o m&s com'onentes 1 E@S?4* '%ede 'ertenecer a 1 o a nin/%na familia.
Insertar en las ta,las arios re/istros e indicar el orden de inserción de los mismos es decir en %e ta,la se inserta 'rimero se/%ndo....
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"1
$rea las si/%ientes ta,las en 5:SQL es'ecificando en cada %na de ellas la clae 'rimaria : ajena(s) en caso de %e las a:a. Se de,e 'ermitir la eliminación de re/istros en cascada.
TABLA COCHES ombre campo
matr,cula marca modelo
/0euerido1
Valor por defecto
S S S
------4e/ro 9! "
/0euerido1
Valor por defecto
S S S
------5%rcia -----
color num_caballos num_puertas codigo_cliente
TABLA CLIENTES ombre campo
dni nombre apellidos provincia cod_postal tfno fecha_nac
S
TABLA REVISIONES ombre campo
codigo precio codigo_coche
/0euerido1
Valor por defecto
S S S
-------
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"2
$rea las si/%ientes ta,las en 5:SQL es'ecificando en cada %na de ellas la clae 'rimaria : ajena(s) en caso de %e las a:a. Se de,e 'ermitir la eliminación de re/istros en cascada.
TABLA MÉDICOS ombre campo
dni nombre apellidos
/0euerido1
Valor por defecto
S S S
------si%iatra
/0euerido1
Valor por defecto
S S S
------5%rcia -----
especialidad
TABLA PACIENTES ombre campo
dni nombre apellidos provincia cod_postal tfno fecha_nac
S
TABLA INGRESOS ombre campo
codigo_medico dni_paciente fecha_ingreso
/0euerido1
Valor por defecto
S S S
-------
Inserta tres re/istros en cada %na de las ta,las. * contin%ación ,orra %n cliente %e a:a reali+ado al/=n in/reso : com'r%e,a %e a%tom&ticamente desa'arecen todos los in/resos %e a:a reali+ado el 'aciente.
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"3
$rea la si/%iente ta,la llamada I4STITAT?S con los si/%ientes cam'os : restricciones. El cam'o códi/oUcentro se de,e incrementar a%tom&ticamente cada e+ %e se inserte %n re/istro en la ta,la $E4T@?S.
TABLA INSTITUTOS ombre campo
/0euerido1
Valor por defecto
S S
------5%rcia
num_plazas
S 4o 4o
tipo
4o
T
codigo_centro nombre direccion poblacion
0estricciones
El nom,re del centro de,e estar siem're en ma:=sc%las
El n=mero de 'la+as de,e ser siem're ma:or %e ! El ti'o de centro sólo '%ede ser T o S
$rea la ta,la N*P@I$*4TES con las si/%ientes col%mnas : restricciones. ombre campo
cod_fabricante nombre pa,s
0estricciones
$lae 'rimaria. 4o '%ede ser n%la. Se define el atri,%to *AT?UI4$@E5E4T a de almacenarse en ma:=sc%las a de almacenar en ma:=sc%las. El alor 'or defecto es Es'aBa
$rea la ta,la *@TI$AL?S con los si/%ientes cam'os : restricciones. ombre campo
cod_articulo cod_fabricante
0estricciones
La clae 'rimaria est& formada 'or los cam'os codUartic%lo codUfa,ricante 'eso : cate/oria.
peso categoria precio_venta precio_costo
El cam'o cate/oria a de ser rimera Se/%nda o Tercera. >e,e ser ma:or %e cero >e,e ser ma:or %e cero
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"
*Bade la restricción de clae ajena a la col%mna $?>UN*P@I$*4TE de la ta,la *@TI$AL?S (creada en el ejercicio anterior) 'ara %e referencie a la ta,la N*P@I$*4TES. @eali+a %n ,orrado en cascada.
*Badir a la ta,la E@S?4*SUEI$AL?Screada en el ejercicio # el cam'o Neca$om'ra de ti'o Neca.
En la ta,la E@S?4*S modifica el cam'o nom,re 'ara %e ten/a %na lon/it%d de 1!! caracteres.
En la ta,la EI$AL?S modifica el cam'o modelo 'ara %e sea %n *@$*@ de 1"! caracteres.
$rea %na ta,la llamada *NI$I?4 con dos cam'os llamados códi/oUafición : descri'ción. La clae 'rimaria de esta ta,la ser& el cam'o códi/oUafición.
$rear %na ta,la llamada *NI$I?4UE@S?4*S con los cam'os dni : códi/oUafición. Identificar : crear las claes 'rimarias(\) de cada ta,la : las claes for&neas(N\) teniendo en c%enta %e 1 E@S?4* '%ede tener ! o arias *NI$I?4ES : 1 *NI$I?4 '%ede 'ertenecer a arias E@S?4*S.
Indica el orden de inserción de datos en las ta,las creadas en el ejercicio anterior.
* 'artir de la ta,la E5LE crea la ta,la E5LE3! con los datos de los em'leados del de'artamento n=mero 3!.
11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
""
*Bade a la ta,la *$IE4TE creada en el ejercicio 9 %n cam'o llamado se6o. * contin%ación aBade %na restricción 'ara %e el se6o del 'aciente sólo '%eda ser om,reR o 5%jerR. ʻ
ʻ
Elimina la col%mna $?>U?ST*L de la ta,la *$IE4TE.
$rea %na n%ea ta,la llamada @?NES?@ES con los cam'os dni nom,re es'ecialidad : códi/o de centro. >ica ta,la no tendr& claes 'rimarias ni ajenas.
*Bade a la ta,la creada en el ejercicio anterior la restricción de clae 'rimaria (dni) : la restricción de clae ajena (de nom,re $L*E *FE4*) %e referencia a la ta,la I4STITAT?S (ta,la creada en el ejercicio 11).
CQ%8 oc%rre si se intenta eliminar %na ta,la con la orden >@? T*PLE %e es referenciada 'or claes ajenasD Elimina la ta,la I4STITAT?S.
So,re la ta,la E5LE crea %na ista llamada IST*1 con el a'ellido oficio : salario de los em'leados %e /anan m&s de 1!!! e%ros.
$rea %na ista llamada IST*2 con los a'ellidos oficio salario : nom,re de de'artamento de los em'leados %e tra,ajan en el de'artamento n=mero 1!.
$rea %n tri//er asociado a la ta,la >E*@T*5E4T?S %e se actie cada e+ %e se inserte %na fila. La acción del tri//er ser& insertar en la ta,la *A>IT?@I*U>E*@T %na fila con la feca : ora de inserción : el nom,re del de'artamento %e se inserta. >es'%8s inserta filas en >E*@T*5E4T?S : com'r%e,a el contenido de la ta,la *A>IT?@I*U>E*@T. 11. Ejercicios de SQL. ct#ali*ación de +ases de datos1'
"#