Dictionnaire de données

[45 min]

On souhaite créer la table EMPLOYEE de telle façon que le dictionnaire de données graphique d'Oracle affiche le tableau ci-dessous.

La table EMPLOYEE

Question

Écrivez le code SQL pour créer cette table sous Oracle.

Solution

1
CREATE TABLE employee (
2
  id NUMBER(7),
3
  last_name VARCHAR2(25),
4
  first_name VARCHAR2(25),
5
  dept_id NUMBER(7)
6
);

Question

Vérifier que la table a bien été créée.

Indice

Utiliser DESCRIBE.

Solution

1
DESCRIBE EMPLOYEE
1
	  Name          Null?    Type
2
	  --------------------
3
	  ID 	NUMBER(7)
4
	  LAST_NAME	VARCHAR2(25)
5
	  FIRST_NAME	VARCHAR2(25)
6
	  DEPT_ID	NUMBER(7)

Question

Modifier la table EMPLOYEE pour pouvoir allonger les noms de famille des employés à 50 caractères. Vérifiez cette modification.

Solution

1
ALTER TABLE	employee MODIFY(last_name VARCHAR2(50));
1
DESCRIBE EMPLOYEE
1
	  ...
2
	  LAST_NAME	VARCHAR2(50)
3
	  ...

Question

Vérifiez l'existence de la table EMPLOYEE dans le dictionnaire de données.

Indice

Faites une requête de sélection sur la table du dictionnaire USER_TABLES.

Solution

1
SELECT table_name
2
FROM user_tables
3
WHERE table_name ='EMPLOYEE';
1
	  TABLE_NAME
2
	  	  --------------
3
	  	  EMPLOYEE

Question

Ajouter une contrainte PRIMARY KEY de niveau de table dans la table EMPLOYEE en utilisant la colonne ID.

Solution

1
ALTER TABLE	employee ADD CONSTRAINT	employee_id_pk PRIMARY KEY (id);

Question

Vérifier que la contrainte a bien été ajoutée en utilisant la table USER_CONSTRAINTS ainsi que dans le mode graphique.

Solution

1
SELECT	constraint_name, constraint_type
2
FROM	user_constraints
3
WHERE	table_name ='EMPLOYEE';
1
CONSTRAINT_NAME        	CONSTRAINT_TYPE
2
----------
3
EMPLOYEE_ID_PK		PRIMARY KEY
Contraintes sur la table EMPLOYEE

Question

Rechercher les noms et types d'objets dans la vue USER_OBJECTS du dictionnaire de données correspondant à la table EMPLOYEE.

Solution

1
SELECT	object_name, object_type
2
FROM	user_objects
3
WHERE	object_name LIKE 'EMPLOYEE%';
1
	  OBJECT_NAME       OBJECT_TYPE
2
	  ---------------- 
3
	  EMPLOYEE	           TABLE
4
	  EMPLOYEE_ID_PK	     INDEX

Question

Modifier la table EMPLOYEE. Ajouter une colonne SALARY de type NUMBER avec une précision 7.

Solution

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

Question

Renommez la table EMPLOYEE en EMPLOYEE2.

Solution

1
RENAME employee TO employee2;

Question

Supprimez la table EMPLOYEE2.

Solution

1
DROP TABLE employee2;