Вы находитесь на странице: 1из 8

Contenido:

CREATE TABLE EMPLEADO ( NPILA VARCHAR(15) NOT NULL, APPAT VARCHAR(15) NOT NULL, APMAT VARCHAR(15) NOT NULL, RUT VARCHAR(10) NOT NULL, FNAC DATE, DIRECCION VARCHAR(30), SEXO CHAR, SUELDO DECIMAL(5,2), RUTSUPERV VARCHAR(10), NDEPTO INT NOT NULL, PRIMARY KEY (RUT), FOREIGN KEY (RUTSUPERV) REFERENCES EMPLEADO(RUT), FOREIGN KEY (NDEPTO) REFERENCES DEPARTAMENTO(DNUMERO)); CREATE TABLE DEPARTAMENTO ( DNOMBRE VARCHAR(15) NOT NULL, DNUMERO INT NOT NULL, RUTGERENTE VARCHAR(10) NOT NULL, GERFECHAINIC DATE, PRIMARY KEY (DNUMERO), UNIQUE (DNOMBRE), FOREIGN KEY (RUTGERENTE) REFERENCES EMPLEADO(RUT)); CREATE TABLE UBICACIONES_DEPTO ( DNUMERO INT NOT NULL, DUBICACION VARCHAR(15) NOT NULL, PRIMARY KEY (DNUMERO, DUBICACION), FOREIGN KEY (DNUMERO) REFERENCES DEPARTAMENTO(DNUMERO)); CREATE TABLE PROYECTO ( PNOMBRE VARCHAR(15) NOT NULL, PNUMERO INT NOT NULL, PUBICACION VARCHAR(15), DNUM INT NOT NULL, PRIMARY KEY (PNUMERO), UNIQUE (PNOMBRE), FOREIGN KEY (DNUM) REFERENCES DEPARTAMENTO(DNUMERO)); CREATE TABLE TRABAJA_EN ( ERUT VARCHAR(10) NOT NULL,

PNO INT NOT NULL, HORAS DECIMAL(3,1) NOT NULL, PRIMARY KEY (ERUT, PNO), FOREIGN KEY (ERUT) REFERENCES EMPLEADO(RUT), FOREIGN KEY (PNO) REFERENCES PROYECTO(PNUMERO)); CREATE TABLE CARGA ( ERUT VARCHAR(10) NOT NULL, NOMBRE_CARGA VARCHAR(15) NOT NULL, SEXO CHAR, FNAC DATE, PARENTESCO VARCHAR(8), PRIMARY KEY (ERUT, NOMBRE_CARGA), FOREIGN KEY (ERUT) REFERENCES EMPLEADO(RUT)); DROP TABLE CARGA CASCADE; Si la opcin RESTRICT es usada en lugar de CASCADE, la tabla es borrada solamente si sta no es referenciada en ninguna restriccin (por ejemplo como llave fornea en otra tabla). Con la opcin CASCADE todas las restricciones que referencian esta tabla, son borradas automticamente del schema, junto con la tabla. La definicin de una tabla puede ser modificada usando la instruccin ALTER TABLE. Con esta instruccin es posible agregar o borrar atributos (columnas), cambiar la definicin de una columna, y agregar o borrar restricciones. Por ejemplo, para agregar un atributo con el puesto de los empleados de la tabla EMPLEADO, se usa: ALTER TABLE COMPAIA.EMPLEADO ADD PUESTO VARCHAR(12); Para borrar una columna se puede usar CASCADE o RESTRICT. Con CASCADE todas las restricciones son borradas automticamente del schema, junto con la columna. Por ejemplo: ALTER TABLE COMPAIA.EMPLEADO DROP DIRECCION CASCADE, Si en la instruccin anterior se usa la opcin RESTRICT en lugar de CASCADE, el atributo DIRECCION es borrado solamente si ninguna restriccin lo referencia. SELECT <lista de atributos> FROM <lista de tablas> WHERE <condicin> donde: <lista de atributos> es una lista de nombres de atributos cuyos valores van a ser recuperados por la consulta. <lista de tablas> es una lista de nombres de relaciones requeridos para procesar la consulta.

<condicin> es una expresin de bsqueda condicional (lgica) que identifica las tuplas que van a ser recuperadas por la consulta.

SELECT DNOMBRE, COUNT(*) FROM DEPARTAMENTO, EMPLEADO WHERE DNUMERO = NDEPTO AND SUELDO > 350.000 AND NDEPTO IN ( SELECT NDEPTO FROM EMPLEADO GROUP BY NDEPTO HAVING COUNT(*) > 5 )

Otras operaciones
Para insertar una tupla en una relacin se usa INSERT. Por ejemplo: INSERT INTO VALUES EMPLEADO ( "Ricardo", "Cruz", "Prez", "99887766", "1-9-72", "Blanco 1999", "M", 400, "33344555", 5 )

Para borrar tuplas de una relacin se usa DELETE. Por ejemplo: DELETE FROM EMPLEADO APPAT = "Prez" WHERE

DELETE FROM EMPLEAD O NDEPTO IN ( SELECT DNUMERO WHERE FROM DEPARTAMENTO WHERE DNOMBRE = "Investigaciones" ) Tambin se pueden modificar los valores de los atributos usando UPDATE. Por ejemplo: UPDATE PROYECTO PUBICACION = "Macul", DNUM = 3 SET WHERE PNUMERO = 10

SELECT DISTINCT PNUMERO FROM PROYECTO

WHERE PNUMERO IN

( SELECT PNUMERO FROM PROYECTO, DEPARTAMENTO, EMPLEADO WHERE DNUM = DNUMERO AND RUTGERENTE = RUT AND APPAT = "Prez" ) ( SELECT PNO FROM TRABAJA_EN, EMPLEADO WHERE ERUT = RUT AND APPAT = "Prez" )

OR PNUMERO IN

( PNUMERO SELECT PROYECTO, DEPARTAMENTO, EMPLEADO FROM DNUM = DNUMERO AND RUTGERENTE = RUT AND APPAT = WHERE "Prez" ) UNION ( PNO SELECT TRABAJA_EN, EMPLEADO FROM WHERE ERUT = RUT AND APPAT = "Prez" )

Ejercicio 1. Almacenes Unos almacenes quieren hacer un estudio sobre los hbitos de compra de sus clientes. Disponen de un conjunto de artculos identificados por su cdigo de barras, cada uno con una descripcin y el nombre de su fabricante. Para cada artculo, quieren probar diversas colocaciones para estudiar como vara su venta. Para cada colocacin tendremos un precio y un lema (del tipo Ms dulces que la miel), no necesariamente diferentes. Como un artculo y un lugar determinan una colocacin, no puede existir una colocacin sin ningn artculo. Los clientes de nuestro almacn se identifican por su nombre, nmero de visa, y adems queremos guardar su direccin y telfono. De las compras que realizan, slo queremos saber qu articulo, en qu colocacin y el nmero de unidades que ha comprado. Diversas compras del mismo artculo en la misma colocacin se acumulan en la misma tupla sumando el nmero de unidades. Ejercicio 2. Biblioteca En una biblioteca hay que guardar la informacin de todas las publicaciones que se tienen. Cada publicacin tiene un ttulo nico. Las publicaciones pueden ser peridicas o no. De las peridicas hay que saber su periodicidad. Las publicaciones peridicas constan de re vistas, cada una definida por un volumen, nmero y ao. Cada revista contiene artculos, especificados por autores, ttulo y pginas de la revista. De cada revista (volumen y nmero) se puede tener ms de un ejemplar, caracterizado por un nmero de ejempla Se puede tener r. ms de un ejemplar, aunque no de todos los volmenes o nmeros. Las publicaciones se pueden clasificar en diferentes temas, que pueden estar agrupados en una relacin jerrquica de tema-subtema.

Los socios de la biblioteca pueden coger en prstamo todas las publicaciones peridicas que deseen por un periodo de quince das. Los prstamos siempre hacen referencia a los ejemplares concretos de las publicaciones. Si al solicitar un prstamo de una publicacin, sta tiene todos los ejemplares ocupados, el socio se puede poner en una lista de espera para la publicacin peridica, para ser avisado en el momento que se devuelva alguno de los ejemplares. Ejercicio 3. Electricista La empresa de suministros elctricos El Chispa te encarga hacer un diseo de BD de control de stocks y facturacin con los siguientes requerimientos: El Chispa vende artculos. De cada artculo se quiere guardar el cdigo del artculo, nombre, color, medidas, fabricante y precio de venta. Por ejemplo: E12, enchufe txuco, blanco, 9x 9 cm, Simon, 210 . Un artculo no puede ser suministrado por ms de un fabricante y no queremos guardar los precios de venta antiguos, slo el actual. De cada fabricante queremos guardar infomacin del cdigo del fabricante, nombre, direcci n, poblaci, telfono y forma de pago (al contado, cheque o transferencia). De cada venta El Chispa hace un Doc de entrega/venta, donde constan el cdigo de entrega/venta, fecha, datos del cliente, nmero y cdigo de los artculos vendidos, precio por unidad y precio total por artculo (nmero de unidades x precio/unidad). A finales de mes o cuando toque, se agrupan los albaranes hechos a un cliente en una factura donde queremos que conste: cdigo de factura, fecha, datos del cliente, la informacin de ca da albarn (nmero y nombre de los artculos, precio por unidad y precio total por artculo), total de la factura, forma de pago y vencimiento en caso que el pago no sea al contado. Todo albarn slo se puede facturar una sola vez. De un cliente se quiere guardar el NIF, nombre, direccin, poblacin y telfono. Una factura pertenece nicamente a un cliente. Tenemos un nico almacen donde guardamos todos los artculos. Queremos guardar el nmero de artculos que tenemos en el almacen en un momento determinad o. Los fabricantes envian artculos al almacen. Queremos guardar los envos de entrada al almacen. Todo envo consta nicamente de un artculo. De cada envo queremos saber la fecha, cdigo del artculo y nmero de unidades enviadas. Un fabricante puede enviar el mismo da unidades de un mismo artculo. En este caso se suma el nmero de unidades enviadas en la misma fecha. Ejercicio 4. Conflictos blicos Una organizacin internacional quiere hacer un seguimiento de los conflictos blicos que se producen en el mundo. Por esto quiere crear una BD que responda a los siguientes requerimientos: Un conflicto es cualquier lucha armada que afecte a uno o a diversos paises, donde se producen muertos i/o heridos. Todo conflicto se identificar por un nombre o causa que provoca el conflicto. Este nombre puede cambiar con el paso del tiempo, por lo que cada conflicto se identificar con un cdigo numrico nico. Para cada conflicto se quiere guardar los paises queafecta as como el nmero de muertos y heridos par cada pas y el total. Los conflictos pueden ser de diferentes tipos, segn la causa que los haya originado, clasificndose, como mucho, en cuatro grupos: territoriales, religiosos, econmicos y raciales. En cada uno se guardarn diferentes datos. En los territoriales tendremos las regiones afectadas, en los religiosos las religiones en conflicto, en los econmicos las materias primas disputadas y en los raciales las razas enfrentadas. En los conflictos intervienen diferentes grupos armados (como mnimo dos) y diferentes organizaciones intermediarias, pudiendo no haber ninguna. Los mismos grupos armados y organizaciones intermediarias pueden intervenir en diferentes conflictos. Tanto los grupos como las organizaciones podrn entrar y salir del conflicto. En este caso se recogern las fechas de incorporacin y de salida. Podra ser que en un momento determinado un grupo u organizacin no interviniera en ningn conflicto. Para cada grupo armado se guarda un cdigo que se le asigna y un nombre. Cada grupo armado dispone de una o ms divisiones y es liderado por un nico lder poltico. Las divisiones de que dispone un grupo se numeran consecutivamente y se registra el nmero de barcos,

tanques, aviones y hombres de que dispone as como les bajas que ha tenido. Para lo grupos s armados se obtiene el nmero de bajas como la suma de las bajas producidas en todas las divisiones. Los traficantes de armas suministran diferentes tipos de armamento a los grupos armados. De cada tipo de arma se recoge un nombre y un indicador de su capacidad destructiva. De cada traficante se tiene un nombre y los diferentes tipos y cantidades de armas que puede suministrar. Se guarda el nmero total de armas de cada tipo que cada traficante suministra a un grupo armado. Los lderes polticos se identifican por su nombre y por cdigo del grupo armado que lideran. Adems se guarda una descripcin en texto de los apoyos que ha recibido. Cada divisin la pueden dirigir conjuntamente un mximo de tres jefes militares, a pesar de que cada jefe militar no dirige ms que una divisin. A cada jefe militar se le identifica por un cdigo y rango que tiene. Dado que un jefe militar no acta por iniciativa propia, sino por iniciativa de un nico lder poltico de los que lideran el grupo armado donde pertenece el jefe, queremos saber quin es este lder poltico a quien obedece. De las organizaciones intermediarias se recojer su cdigo, nombre, tipo (gubernamental, no gubernamental, internacional), la organizacin de quien depende (una como mximo), el nmero de personas que mantiene desplegadas en cada conflicto y el tipo de ayuda que da en cada conflicto que puede ser nicamente uno dels siguientes tipos: mdica, diplomtica o presencial. Con diferentes finalidades, los lderes polticos dialogan con las orga nizaciones. Se desea recoger explcitamente esta informacin. As, para cada lder se guardarn aquellas organizaciones con las que dialoga y viceversa. Ejercicio 5. Parques naturales El ministerio de Medio Ambiente decide crear un sistema de informacin sobre parques naturales gestionados por cada Comunidad Autnoma. Despus de un anlisis exhaustivo del contexto se ha llegado a las siguientes conclusiones: Una Comunidad Autnoma (CA) puede tener varios parques naturales. En toda la comunidad autnoma existe un nico organismo responsable de los parques. Un parque puede estar compartido por ms de una comunidad. Un parque natural se identifica por un nombre y la fecha en que fu declarado parque natural, y est compuesto por varias reas identificadas por un nombre (nico dentro del parque pero puede ser genrico entre parques naturales) y una extensin en kilmetros cuadrados. Por motivos de eficiencia se quiere favorecer las consultas que hagan referencia al nmero de parques existentes en cada CA y la superficie total declarada como parque natural en cada CA. En cada rea residen especies que pueden ser de tres tipos: vegetales, animales i minerales. Cada especie tiene una denominacin cientfica, una denominacin vulgar y un nmero de individuos en cada rea. De las especies vegetales se quiere saber si tienen floracin y en qu periodo (mes) se produce. De los animales se quiere saber su tipo de alimentacin (herbvora, carnvora u omnvora) y su periodo de celo. De los minerales se quiere saber si se tr ta de a cristales o rocas. Interesa, adems, registrar qu especies sirven de alimento a otras especies, teniendo en cuenta que ninguna especie mineral se considera alimento de ninguna otra especie y que una especie vegetal no se alimenta de ninguna otra es pecie. Cada parque tiene un personal en dedicacin exclusiva. De este personal se guarda el DNI, nmero de la SS, nombre y apellidos, direccin, telfonos (fijo y movil) y sueldo. Se distinguen cuatro tipos de personal: Personal de gestin: registra los datos de los visitantes del parque y se situan a la entrada del parque. Las entradas se identifican por un nmero y orientacin (N, S, E, O). Personal de vigilancia: vigila una rea determinada del parque que recorre un vehculo de un tipo determinado y con una matrcula. Personal de conservacin: mantiene y conserva un rea determinada del parque. Cada uno realiza una tarea determinada (limpiar, dar de comer, jardinera, etc.) en un lugar concreto del rea (caminos, zona recreativa, jardines, etc.). Personal investigador: tiene una titulacin que hay que guardar y puede realizar slo o en grupo proyectos de investigacin sobre una determinada especie. Un proyecto de investigacin tiene un ttulo, presupuesto, un nico investigador principal, un periodo de realizacin y un conjunto de investigadores que participan.

Un visitante (DNI, nombre, apellidos, direccin y profesin) puede alojarse en els alojamientos que tiene el parque. Los alojamientos tienen una capacidad limitada y una determinada categora. Los alojamientos organizan excursiones al parque en vehculo o a pi unos determinados das de la semana y a horas determinadas. Para ir a estas excursiones hay que ser visitante del parque. Ejercicio 6. ONG La coordinadora nacional de ONGs quiere mantener una base de datos de las asociaciones de este tipo que existen en nuestro pas. Por ello necesita guardar informacin sobre cada asociacin, los socios que las forman, los proyectos que realizan y los trabajadores que particpan. De las asociaciones se quiere almacenar su CIF, nombre, direccin, provincia, el tipo de ONG (ecologista, de integracin, de desarrollo, etc.) as como si est declarada de utilidad pblica por el Ministerio de Interior. Cada asociacin est formada por socios de quienes se quiere conocer su DNI, nombre y apellidos, direccin, provincia, fecha de alta de la asociacin, cuota mensual con la que colaboran y la aportacin anual que realizan. La aportacin anual ser el total de las cuotas mensuales ms otras aportaciones voluntarias. Cada trabajador de una ONG se identifica por su DNI, nombre y apellidos, direccin, telfonos y fecha de ingreso. Todo trabajador trabaja para una nica ONG. Estos trabajadores pueden ser de dos tipos: profesionales y voluntarios. Los profesionales cobran un sueldo y ocupan un cierto cargo en la asociacin. Se quiere guardar el cargo que ocupan, la cantidad que pagan a la SS i el porcentaje de IRPF que se les descuenta. Los voluntarios trabajan en la organizacin desinteresadamente. Queremos saber de ellos su edad, profesin y horas que dedican a la asociacin. Las asociaciones realizan proyectos a los cuales estn asignados sus trabajadores. Un trabajador puede trabajar en diferentes proyectos de un mismo pas. De cada proyecto se quiere almacenar un nmero de identificacin en la ONG, pas y regin donde se realiza, el objectivo que pretende y el nombre de personas que afecta. Ejercicio 7. Pinacoteca El Ministerio de Educacin y Ciencia quiere tener informacin sobre todos los cuadros que se encuentran en las pinacotecas. De cada pinacoteca se quiere saber el nombre nico, ciudad donde se encuentra, direccin y extensin en metros cadrados. Cada pinacoteca tiene un conjunto de cuadros de los cuales se quiere guardar el cdigo (nico para todas las pinacotecas), nombre, medidas, fecha en que se pint y tcnica utilizada par pintarlo. Cada cuadro es pintado por un nico pintor, del que queremos saber el nombre y apellidos, ciudad y pas donde naci, fecha de nacimiento y fecha de la muerte. Un pintor puede tener un nico maestro, pero un maestro puede serlo de varios pintores. Los pintores pueden pertenecer o no a una escuela de la cual se quier saber el nombre as e como el pas y fecha en que apareci. Los pintores pueden tener tambin uno o varios mecenas que los protejen. De los mecenas queremos saber el nombre y apellidos, pas y fecha de nacimiento, fecha de la muerte y la fecha de inicio y final del soporte que di al pintor. Un mecenas puede serlo de varios pintores y un pintor puede tener varios mecenas en periodos diferentes. Se quiere recoger la relacin que existe entre un pintor y su mecenas. Ejercicio 8. Proyectos de investigacin En la U se quiere llevar un un control sobre els proyectos de investigacin que se realizan. Se quiere disear una BD que contenga toda la informacin sobre los proyectos, departamentos, grupos de investigacin y profesores. Se consideran los siguientes requ isitos: Un departamento se identifica por un nombre, cdigo, centro (Facultad o Escuela) donde est situado, direccin, profesor de la universidad que ejerce como director de departamento y un telfono de contacto (secretara de departamento). Dentro de un departamento se crean Unidades donde estn adscritos los profesores. Todo profesor ha de pertenecer a una unidad. Cada unidad tiene un nombre nico dentro de la

universidad, pertenece a un nico departamento i est asociada a un rea de conocimiento (CCIA, ATC, etc.). Cada unidad tiene un jefe de unidad que ha de ser profesor de universidad. Un profesor del departamento est identificado por un DNI, nombre y apellidos, aos de experiencia en investigacin, unidad a la que pertenece y proyectos en que trab aja. Existen tres tipos de profesorado: Funcionario (Catedrticos de Universidad y Titulares de Universidad), Ayudantes de Universidad y Asociados. Del personal funcionario queremos saber el cdigo de funcionario, el ao de su toma de posesin y perfil de la asignatura a la que oposit. De los Ayudantes de Universidad queremos saber la fecha de incorporacin. Del Asociado queremos saber la fecha de incorporacin y la empresa en que trabaja. Cada proyecto de investigacin tiene un nombre, cdigo nico, presu puesto, fechas de inicio y final del proyecto y un nico profesor que ejerce de investigador principal del proyecto. Un proyecto puede estar financiado por uno o varios programas nacionales. Un programa nacional viene identificado per un nombre nico y la cantidad total de dinero que el programa dispone para financiar proyectos. Dentro de cada programa cada proyecto tiene un nmero asociado y una cantidad de dinero con que el programa financia el proyecto. Un profesor puede participar en varios proyectos y puede ser investigador principal de varios proyectos. En cada proyecto un profesor se incorpora en una determinada fecha y lo abandona en otra con una determinada dedicacin (horas por semana). Un profesor puede incorporarse ms de una vez a un proyecto en fechas separadas. Ejercicio 9. Reserva de salas La U quiere controlar el sistema de reservas de sus salas que pone a disposicin del personal de la Escuela durante un curso acadmico con las siguientes restricciones: De cada sala (sala de grados, sala de actos, seminarios, aulas) queremos saber el cdigo (Q2/xxxx,Q0/xxxx, etc.), el tipo de sala (aula, seminario, sala de actos, sala de grados, etc.), capacidad y equipamiento audiovisual que contiene de forma permamente. Del equipamiento audiovisual que tiene la Escuela queremos guardar un cdigo nico, nombre (proyector, can, etc.), si s permanente o mvil y la sala donde se encuentra, caso de que sea fijo. Tenemos cuatro tipos de equipamiento: can de proyeccin, proyector de transparencias, proyector de diapositivas y ordenador. Del can de proyeccin queremos saber la marca, modelo, luminosidad y resolucin mxima en la que trabaja. Del proyector de transparencias queremos conocer su luminosidad y si acepta transparencias en color o no. Del proyector de diapositivas interesa guardar la marca, modelo, si admite cargador clsico o moderno y luminosidad. Del ordenador queremos saber el procesador, RAM y resolucin mxima. Un profesor puede reservar una sala en una fecha concreta (dia, mes y ao) a inter alos de v hora (de 12:00 a 13:00, de 17:00 a 18:00). Cuando reserva la sala, el profesor tambin reserva todo el equipamiento fijo que contiene la sala. Un profesor tambin puede reservar equipamiento audiovisual mvil con un nmero variable (2 caones, 3 proyectores, etc.) en una fecha concreta (da, mes y ao) a intervalos de una hora. Dada una fecha y una hora, queremos saber las salas disponibles y el equipamiento audiovisual disponible. A finales de curso queremos saber el grado de ocupacin de las sala s.

Вам также может понравиться