Vous êtes sur la page 1sur 6

MASTER : Science et Ingénierie Données (TAM)

Administration de bases de donnes – MINI PROJET

1. introduction de schéma de la base de données .

2 . Générer le code qui correspond à la création de ce shéma.(voir les fichier archives)

3. Créer des tablespaces pour gérer les tables et un tablespace Undo.

4. Créer les tables en les assignant aux tablespaces correspondants.


CREATE TABLE CATEGORIES (
CODE_CATEGORIE NUMBER(6) CONSTRAINT CATEGORIES_PK PRIMARY KEY,
NOM_CATEGORIE VARCHAR2(25) NOT NULL,
DESCRIPTION VARCHAR2(100) NOT NULL
) TABLESPACE data_tablespace;
Table Clients

CREATE TABLE CLIENTS (


CODE_CLIENT CHAR(5) CONSTRAINT CLIENTS_PK PRIMARY KEY,
SOCIETE NVARCHAR2(40) NOT NULL,
ADRESSE NVARCHAR2(60) NOT NULL,
VILLE VARCHAR2(30) NOT NULL,
CODE_POSTAL VARCHAR2(10) NOT NULL,
PAYS VARCHAR2(15) NOT NULL,
TELEPHONE VARCHAR2(24) NOT NULL,
FAX VARCHAR2(24)
) TABLESPACE data_tablespace;

TABLE COMMANDES
CREATE TABLE COMMANDES (
NO_COMMANDE NUMBER(6) CONSTRAINT COMMANDES_PK PRIMARY KEY,
CODE_CLIENT CHAR(5) NOT NULL,
NO_EMPLOYE NUMBER(6) NOT NULL,
DATE_COMMANDE DATE NOT NULL,
DATE_ENVOI DATE NOT NULL,
PORT NUMBER(8,2),
LIVREE NUMBER(1) NOT NULL,
ACQUITEE NUMBER(1) NOT NULL,
ANNULEE NUMBER(1) NOT NULL,
ANNEE GENERATED ALWAYS AS (EXTRACT(YEAR FROM DATE_COMMANDE)),
TRIMESTRE GENERATED ALWAYS AS (TO_NUMBER(TO_CHAR(DATE_COMMANDE,'Q'))),
MOIS GENERATED ALWAYS AS (EXTRACT(MONTH FROM DATE_COMMANDE))
) TABLESPACE data_tablespace;

TABLE DETAILS COMMANDE

CREATE TABLE DETAILS_COMMANDES (


NO_COMMANDE NUMBER(6) NOT NULL,
REF_PRODUIT NUMBER(6) NOT NULL,
PRIX_UNITAIRE NUMBER(8,2) NOT NULL,
QUANTITE NUMBER(5) NOT NULL,
REMISE NUMBER(8,2) NOT NULL,
RETOURNE NUMBER(1) NOT NULL,
ECHANGE NUMBER(1) NOT NULL,
CONSTRAINT DETAILS_COMMANDES_PK PRIMARY KEY (NO_COMMANDE, REF_PRODUIT)
) TABLESPACE data_tablespace;

TABLE EMPLOYES
CREATE TABLE EMPLOYES (
NO_EMPLOYE NUMBER(6) CONSTRAINT EMPLOYES_PK PRIMARY KEY,
REND_COMPTE NUMBER(6) NOT NULL,
NOM NVARCHAR2(40) NOT NULL,
PRENOM NVARCHAR2(30) NOT NULL,
FONCTION VARCHAR2(30),
TITRE VARCHAR2(5) NOT NULL,
DATE_NAISSANCE DATE NOT NULL,
DATE_EMBAUCHE DATE NOT NULL,
SALAIRE NUMBER(8,2) NOT NULL,
COMMISSION NUMBER(8,2),
PAYS VARCHAR2(20),
REGION VARCHAR2(50)
) TABLESPACE data_tablespace;

TABLE FOURNISSEURS

CREATE TABLE FOURNISSEURS (


NO_FOURNISSEUR NUMBER(6) CONSTRAINT FOURNISSEURS_PK PRIMARY KEY,
SOCIETE NVARCHAR2(40) NOT NULL,
ADRESSE NVARCHAR2(60) NOT NULL,
VILLE NVARCHAR2(30) NOT NULL,
CODE_POSTAL VARCHAR2(10) NOT NULL,
PAYS VARCHAR2(24) NOT NULL,
TELEPHONE VARCHAR2(24) NOT NULL,
FAX VARCHAR2(24)
) TABLESPACE data_tablespace;

TABLE PRODUITS

CREATE TABLE PRODUITS (

REF_PRODUIT NUMBER(6) CONSTRAINT PRODUITS_PK PRIMARY KEY,


NOM_PRODUIT NVARCHAR2(50),
CODE_CATEGORIE NUMBER(6) NOT NULL,
QUANTITE VARCHAR2(30),
PRIX_UNITAIRE NUMBER(8,2) NOT NULL,
UNITES_STOCK NUMBER(5),
UNITES_COMMANDESS NUMBER(5),
INDISPONIBLE NUMBER(1) NOT NULL,
NO_FOURNISSEUR NUMBER(6) NOT NULL,
CONSTRAINT PRODUITS_CATEGORIES_FK FOREIGN KEY (CODE_CATEGORIE) REFERENCES CATEGORIES(CODE_CATEGORIE),
CONSTRAINT PRODUITS_FOURNISSEURS_FK FOREIGN KEY (NO_FOURNISSEUR) REFERENCES FOURNISSEURS(NO_FOURNISSEUR)
) TABLESPACE data_tablespace;
5. Créer 3 utilisateurs avec trois rôles distincts.
SQL> CREATE USER user1 IDENTIFIED BY user1;
user created.
SQL> CREATE USER user2 IDENTIFIED BY user2;
user created.
SQL> CREATE USER user3 IDENTIFIED BY user3;
user created.

SQL> CREATE ROLE role1;


role created.
SQL> CREATE ROLE role2;
role created.
SQL> CREATE ROLE role3;
role created.
SQL> GRANT CREATE TABLE TO role1;
Grant succeeded.
SQL> GRANT CREATE SESSION TO role2;
Grant succeeded.
SQL> GRANT CREATE TABLE,
CREATE SESSION
2 T0 role3;
Grant succeeded.

SQL> GRANT role1 TO user1;


Grant succeeded.
SQL> GRANT role2 TO user2;
Grant_ succeeded.
SQL> GRANT role TO user3;
Grant_ succeeded.

6-Création des différentes profils et affectation aux différents utilisateur

SQL> CREATE PROFILE profile1


2 limit
3 FAILED_LOGIN_ATTEMPTS 3
4 PASSWORD_LOCK_TIME 1/1440;
Profile created.
SQL> CREATE PROFILE profile2
2 limit
3 FAILED_LOGIN_ATTEMPTS 2
4 PASSWORD_LOCK_TIME 1
5 CONNECT TIME 20;
Profile created.

SQL> CREATE PROFILE profile3


2 Limit
3 FAILED_LOSIN_ATTEMPTS 5
4 PASSMORD_LOCK_TINE 2/1440
5 PASSWORD GRACE_TIME 0
6 CONNECT_TIME 30.
7 brofile created.
7. Remplir la base de données avec 4 enregistrements

SQL> ALTER USER useri PROFILE profile1;


SQL> INSERT INTO categories 2 VALUES (1, ‘voiture', ‘dacia 402”);
1 row created.
SQL> INSERT INTO fournisseurs 2 VALUES (15, ‘maroc telecom', 'abdljalil.com', 'Agadir', ‘1254 lF,'MAROC',
06545445", "05247657 ');
1 row created.
SQL> INSERT INTO client À 2 VALUES ('12", ‘jawal',"client.com', ‘rabat', "11111", ‘maroc’, ‘@ 255555,
‘05245568");
1row created.
SQL> INSERT INTO categories 2 VALUES (2, ‘imprimants', ‘hp laser jet );
1row created.
SQL> INSERT INTO categories 2 VALUES (3, ‘scanner', ‘hp);
1row created.
SQL> INSERT INTO categories 2 VALUES (4, ‘phtocopieuse', ‘hp);
1row created.

8-

9-

10-

Vous aimerez peut-être aussi