Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T11»
Línia 15: | Línia 15: | ||
<pre> | <pre> | ||
ALTER TABLE employee | ALTER TABLE employee | ||
− | ADD CONSTRAINT employee_dept_id_fk | + | ADD CONSTRAINT employee_dept_id_fk FOREIGN KEY (dept_id) |
− | REFERENCES | + | REFERENCES department (id); |
</pre> | </pre> | ||
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. | 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. |
Revisió de 16:31, 13 feb 2014
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));