BD03 Tarea
BD03 Tarea
BD03 Tarea
Vamos a crear las tablas para una liga de fútbol, donde participan futbolistas y técnicos en diversos
equipos. Empezaremos creando con SQL las siguientes tablas:
Tabla FUTBOLISTAS recogerá información sobre el cliente: Nombre, Apellido1, Apellido2, NIF,
Dirección, Sexo, Fecha de Nacimiento, Demarcación y Equipo en el que juega.
Tabla TÉCNICOS con los siguientes campos: Nombre, Apellido1, Apellido2, NIF, Dirección y Sueldo.
Tabla EQUIPOS con los siguientes campos: Nombre, Estadio, NIF del Técnico, Sede Social, Fecha de
Creación, Presupuesto.
a) Debes elegir los nombres más adecuados para los atributos teniendo en cuenta las reglas.
b) Debes elegir los tipos de datos adecuados en función del contenido de los campos.
c) Al crear las tablas debes establecer las siguientes restricciones (No será válida una solución en la
que se creen las tablas y a continuación y de forma independiente se creen las restricciones):
1. El equipo tendrá un técnico que obligatoriamente deberá existir en la BD.
2. En un equipo, el presupuesto es un dato que no puede faltar, es obligatorio que contenga
información.
3. En la tabla TÉCNICOS, el atributo sueldo no puede estar vacío.
4. Dos equipos no pueden tener la misma sede social.
5. Podremos diferenciar las tuplas de la tabla EQUIPOS por el Nombre.
6. Podremos diferenciar las tuplas de la tabla FUTBOLISTAS Y TÉCNICOS por el NIF.
7. El sueldo de un técnico debe ser entre 30000 y 300000.
8. Se debe cumplir la regla de integridad referencial.
EJERCICIO2:
Añade las siguientes restricciones a las tablas ya creadas (no se admitirá las soluciones en las que se
creen las restricciones a la vez que las tablas del ejercicio 1. Cada punto del ejercicio 2 se realizará de
forma independiente, es decir, una sentencia SQL). Una vez que están ya creadas las tablas vamos a
modificarlas:
1. Crea un nuevo atributo llamado Edad de tipo numérico a la tabla FUTBOLISTAS.
ALTER TABLE FUTBOLISTAS ADD (EDAD NUMBER(2));
2. Añade una restricción para que dos técnicos no puedan coincidir simultáneamente en Nombre,
Apellido1 y Apellido2.
ALTER TABLE TECNICOS ADD (
CONSTRAINT UK_Nombre UNIQUE(Nombre),
CONSTRAINT UK_Apellido1 UNIQUE(Apellido1),
CONSTRAINT UK_Apellido2 UNIQUE(Apellido2));
4. Modifica el campo demarcación de manera que solo pueda tomar los valores "Portero", "Defensa",
"Centrocampista" y "Delantero".
ALTER TABLE FUTBOLISTAS ADD CHECK (Demarcacion IN
('PORTERO','DEFENSA','CENTROCAMPISTA','DELANTERO'));
9. Crea un usuario con tu nombre_apellido y clave BD03 y dale todos los privilegios sobre la tabla
EQUIPOS.
CREATE USER JESUS_GARCIA IDENTIFIED BY BD03
DEFAULT TABLESPACE SYSTEM
QUOTA 5M ON SYSTEM;
GRANT CREATE SESSION TO JESUS_GARCIA;
GRANT ALL PRIVILEGES ON SYSTEM.EQUIPOS TO JESUS_GARCIA;
10. Elimina los permisos para modificar o actualizar la tabla EQUIPOS del usuario anterior.
REVOKE UPDATE SYSTEM.EQUIPOS FROM JESUS_GARCIA;
Asegúrate que el nombre no contenga la letra ñ, tildes ni caracteres especiales extraños. Así por ejemplo la
alumna Begoña Sánchez Mañas para la segunda unidad del MP de BD, debería nombrar esta tarea como...
sanchez_manas_begona_BD02_Tarea