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

De wikiserver
Dreceres ràpides: navegació, cerca

1. Crea una seqüència per a ser utilitzada en la clau primària de la taula DEPARTMENT. La seqüència començara en el número 60 i el seu màxim serà 200. Tindrà un increment de 10 en 10 i el nom DEPT_ID_SEQ.

CREATE SEQUENCE dept_id_seq
START WITH 60
INCREMENT BY 10
MAXVALUE 200;

2. Fes un script que mostri la següent informació sobre les teves seqüències: nom, valor màxim, increment i darrer registre. Anomena el script p13q2.sql. Executa el script.

EDIT p13q2.sql

SELECT sequence_name, max_value, increment_by, last_number
FROM user_sequences
/

START p13q2.sql

3. Escriu un script interactiu per afegir un registre en la taula DEPARTMENT. Anomena'l p13q3.sql. Utilitza la seqüència DEPT_ID_SEQ per a la columna ID. Crea un missatge personalitzat per introduir el nom del departament. Executa el script. Afegeix els departament "Educació", i "Administració". Comprova les insercions.

EDIT p13q3.sql

SET ECHO OFF
SET VERIFY OFF
ACCEPT name PROMPT 'Please enter the department name: '
INSERT INTO department (id, name)
VALUES (dept_id_seq.NEXTVAL, '&name')
/
SET VERIFY ON
SET ECHO ON

START p13q3.sql

SELECT *
FROM department;

4. Crea un índex no únic sobre FOREIGN KEY de la taula EMPLOYEE.

CREATE INDEX employee_dept_id_idx ON employee (dept_id);

5. Mostra els índexs i la seva unicitat de la taula EMPLOYEE, utilitzant el diccionari de dades. Salva la sentència en un script anomenat pl13q5.sql.

SELECT index_name, table_name, uniqueness
FROM user_indexes
WHERE table_name = 'EMPLOYEE';

SAVE p13q5.sql

6. Crea una restricció PRIMARY KEY sobre la taula DEPARTMENT. Comprova la creació de la restricció en el diccionari de dades executant el script p11q4.sql. Modifica i comprova la unicitat del índex en el diccionari de dades, executant el script p13q5.sql.

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

START p11q4.sql

START p13q5.sql