M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T11

De wikiserver
Dreceres ràpides: navegació, cerca

1. Afegeix una restricció PRIMARY KEY a nivell de la taula EMPLOYEE usant la columna ID. La restricció hauria d'estar activada (enabled) quan es crea.

ALTER TABLE employee
ADD CONSTRAINT employee_id_pk PRYMARY KEY  (id);

2. Crea una restricció PRIMARY KEY sobre la taula DEPARTMENT usant la columna ID. La restricció hauria d'estar activada (enabled) quan es crea.

ALTER TABLE department
ADD CONSTRAINT department_id_pk PRIMARY KEY (id);

3. Afegeix una referència FOREIGN KEY a la taula EMPLOYEE, que asseguri que l'empleat no està assignat a un departament que no existeix.

ALTER TABLE employee
ADD CONSTRAINT employee_dept_id_fk FOREIGN KEY (dept_id)
    REFERENCES department (id);

4. Verifica que las restriccions anteriors s'han afegit correctament, consultant USER_CONSTRAINTS. Observa els tipus i noms de les restriccions. Salva la sentència en un fitxer anomenat p11q4.sqkl.

SELECT constraint_name, constraint_type
FROM user_constraints
WHERE table_name IN ('EMPLOYEE', 'DEPARTMENT');

SAVE p11q4.sql

5. Mostra els noms i tipus d'objectes consultant la vista del diccionari de dades USER_OBJECTS per a les taules EMPLOYEE i DEPARTMENT. Formata les columnes per a una lectura més adient. Observa l'existència d'índexs per a les noves taules.

COLUMN object_name FORMAT A30
COLUMN object_type FORMAT A30
SELECT object_name, object_type
FROM user_objects
WHERE object_name LIKE 'EMPLOYEE%' OR object_name LIKE 'DEPARTMENT%';

6. Modifica la taula EMPLOYEE, afegint la columna SALARY de tipus NUMBER(7).

ALTER TABLE employee
ADD (salary NUMBER(7));