Vous êtes sur la page 1sur 5

Lab_07: SQL Langage de dfinition de donne LDD + Objets du schma+Dict

- Savoir les # catgories des objets de base de donnes.


(tables, Vues, squences , Index, Synonymes)
- modifier la structure dune table
- rpertorier les types de donnes disponibles pour les colonnes
- Crer une simple table
- comprendre la faon dont les contraintes sont cres lors de la cration des tables
- Dcrire le fonctionnement des objets de schma.

- cration des vues simple et complexes


- extraction des donnes partir des vues
- cration, gestion et utilisation des squences
- cration et gestion des index
- cration des synonymes privs et publics.

- Utiliser les vues du dict[ionnaire] de donnes pour chercher les donnes sur des objets.
- Interroger # vues du dict de donnes.

Exercice 1 : LDD

1- Crer la table DEPT partir des informations ci dessous:

Nom de la colonne ID NAME

Key Type Primary key


Null/Unique

FK Table

FK colonne

Data Type Number VARCHAR2

Length 7 25

CREATE TABLE [Schema.] table


(column datatype [Default expression] [column_constraint],
.
[table_constraint][,...]);

CREATE TABLE employees employee_id number (6)


Contraintes au Constraint emp_emp_id_pk Primary key,
niveau de la
First_name VARCHAR2(20) ,
colonne
);

CREATE TABLE employees employee_id number (6),


First_name VARCHAR2(20) , NOT NULL
UNIQUE
Job_id VARCHAR2(10) NOT NULL, PRIMARY KEY
Department_id number(4), FOREIGH KEY
Contrainte au
niveau de la Salary number(5) constraint emp_salary CHECK
table CHECK(salary>0)
Constraint emp_emp_id_pk PRIMARY KEY(employee_id)
Constraint emp_dept_fk FOREIGN KEy (department_id)
REFERENCES department(department_id)
);

2- Alimenter la table DEPT avec des donnes de la table DEPARTMENTS, Inclure uniquement les
colonnes dont vous avez besoin.
Utiliser les sous interrogation

3- Crer la table EMP partir des information suivantes :

Nom de la ID LAST_NAME FISRT_NAME DEPT_ID


colonne
Key Type Primary key

Null/Unique

FK Table DEPT

FK colonne ID

Data Type Number VARCHAR2 VARCHAR2 NUMBER

Length 7 25 25 7

4- Crer la table EMPLOYEES2 partir de la structure de la table EMPLOYEES; INCLURE


uniquement les colonnes EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY et
DEPARTMENT_ID, Nommer les colonnes de la nouvelle table resp ID, FISRT_NAME,
LAST_NAME, SALARY, DEPT_ID.

CREATE TABLE AS select

5- Supprimer la table EMP.

Exerceice 2 : Objets du schma

1- Le personnel du dpartement HR souhaite masquer certaines donnes de la table


EMPLOYEES. Ils ont besoin dune vue nomm EMPLOYEES_VU, bas sur le numro ,
le nom et le numro de dpartement des employs de la table EMPLOYEES. Ils
souhaitent que len-tte pour le nom de l'employ soit EMPLOYEE.

Create vue as (SELECT)

2- Vrifier que la vue fonctionne. Afficher le contenu de la vues EMPLOYEES_VU.

3- A laide de la vue EMPLOYEES_VU, crire un script sql pour le dpartement HR


afin dafficher le nom et le numro de dpartement de tous les employs.
4- Le dpartement 50 a besoin d'accder aux donnes relatives aux employs. Crer
une vue nomme DEPT 50 contenant le numro , le nom et le numro de dpartement
de tous les employs du dpartement 50. Il vous a t demand de nommer les
colonnes de la vue EMPNO, EMPLOYEE et DEPTNO. Pour des raison de scurit,
nautorisez pas la raffectation dun employ un autre dpartement par
lintermdiaire de la vue.

5- Afficher la structure et le contenu de la vue DEPT50.

6- Tester la vue, Tentez de raffecter Matos au dpartement 80.

7- Vous avez besoin dune squence pouvant tre utilis avec la colonne de la cl
primaire de la table DEPT. La squence doit commencer 200 et sa valeur maximal
doit tre 1000. Faites en sorte que la squence soit incrmente de 10 et nommez la
DEPT_ID_SEQ.

Create sequence sequence_name


Increment by ...
Start with .
Maxvalue .
No cache| cache n
No cycle | cycle

8- Pour tester la squence, crivez un script permettant dinsrer deux lignes dans la
table DEPT, utilisez la squence cre pour la colonne ID. Ajouter deux dpartement :
Education et Administration. Vrifier les ajouts .

9- Crer un index non unique sur la colonne DEPT_ID de la table DEPT.


Create index index_name on table (column)

10- Crer un synonyme pour la table EMPLOYEES. Nommez le EMP.

Create [Public] synonym synonym_name FOR Object


Exerceice 3 :

1- Pour une table dsigne , crer un script qui affiche le nom des colonnes, leur
type de donnes et la longeur du type de donne, et qui indique si les valeurs null sont
autorises. Inviter lutilisateur saisir le nom dune table. Affecter des alias appropris
aux colonnes DATA_PRECISION, DATA_SCALE.

2- Crer un script qui affiche le nom des colonnes , le nom des contraintes, leur
type, la condition de recherche et le status dune table particulire. Inviter lutilisateur
saisir le nom dune table.

Vous devez joindre les tables USER_CONSTRAINTS et USER_CONS_COLUMNS afin dobtenir toutes
ces informations

3- Ajouter un commentaire la table Departments.


4- Vrifier lajout

Utiliser la vue USER_TAB_COMMENTS

5- Chercher le nom de tous les synonymes de votre schma.

6- Dterminer les noms de vos squences. Ecrire un script afin dafficher les
information suivantes sur vos squence : nom de la squence, valeur maximale, taille
dincrment et le dernier numro.

Vous aimerez peut-être aussi