You are on page 1of 32

LDD & LMD

TYPES
n n n n n n

INTEGER, SMALLINT DECIMAL(5,2) NUMBER(5,2) REAL CHAR(n) VARCHAR2(n) DATE


2

TYPES
n

BLOBS: document, image, son,


n n

Stock reference dans la BD.(temps) Stock lobjet directement comme colonne BD.(portabilit)

CREATE TABLE
n

CREATE TABLE LIVRE (AUTEUR VARCHAR2(8), TITRE VARCHAR2(100), ANNEE SMALLINT, GENRE VARCHAR2(8), PRIX DECIMAL(7,2)) ;

CREATE TABLE ECRIVAIN (AUTEUR VARCHAR2(8), NE_EN SMALLINT, LIEU VARCHAR2(20), SALLE SMALLINT, RAYON SMALLINT) ;
4

suite tables
n

Creation table partir de table: CREATE TABLE clients AS SELECT nom, age FROM utilisateurs WHERE statut <= 2146; Liste des tables(vue):

SELECT * FROM tabs;


5

Manipulation tables
n n n n n

ADD COLUMN DROP COLUMN MODIFY COLUMN RENAME TO RENAME COLUMN

ALTER TABLE
n n

RENAME LIVRE TO LIVRE3; ALTER TABLE LIVRE RENAME TO LIVRE2;

ALTER TABLE LIVRE RENAME COLUMN TITRE TO TITRE2;

ALTER TABLE LIVRE ADD DATE_ACHAT DATE MODIFY AUTEUR VARCHAR2(30) NOT NULL; n ALTER TABLE LIVRE DROP COLUMN AUTEUR;
n
7

DROP TABLE
n

DROP TABLE LIVRE [CASCADE CONSTRAINT] ; [MEME SI CONTRANITES REFEREBTIELLES PORTENT SUR LA TABLE]

Vue
n

n n n n n

CREATE VIEW Filmpolicier AS SELECT titre, auteur, prix FROM livre WHERE genre=policier; Requette: SELECT titre, prix from Filmpolicier; Describe user_views; Select view_name from user_views; Supprimer vue.
9

CONTRAINTES Sur la Colonne


n n n n

TITRE VARCHAR2(100) NOT NULL GENRE VARCHAR2(8) DEFAULT BD NO_SS VARCHAR2(13) UNIQUE NO_LIVRE SMALLINT PRIMARY KEY
10

Contraintes colonne
n

Cls trangre AUTEUR VARCHAR2(8) REFERENCES ECRIVAIN(AUTEUR)

11

Contraintes colonne
n

AUTEUR VARCHAR2(8) CHECK (AUTEUR=UPPER(AUTEUR)) AUTEUR VARCHAR2(8) CHECK (AUTEUR IN (Larman, Elmasri)) ANNEE SMALLINT CHECK(ANNEE BETWEEN 1990 AND 2000)
12

Contrainte table
n

CREATE TABLE LIVRE ( AUTEUR VARCHAR2(30), TITRE VARCHAR2(100), ANNEE SMALLINT, PRIXHT DECIMAL(7,2), PRIXTTC DECIMAL(7,2), GENRE VARCHAR2(8), CONSTRAINT C_LIVRE_PRIX CHECK (PRIXHT <= PRIXTTC) )

13

Mix
n

CREATE TABLE LIVRE2 (NOLIVRE SMALLINT CONSTRAINT PK_LIVRE2 PRIMARY KEY, AUTEUR VARCHAR2(8), TITRE VARCHAR2(100), ANNEE SMALLINT, GENRE VARCHAR2(8), PRIX DECIMAL(7,2) CONSTRAINT C_LIVRE2_PRIX CHECK (PRIX<10000), CONSTRAINT FK_LIVRE2_AUTEUR FOREIGN KEY (AUTEUR) REFERENCES ECRIVAIN(AUTEUR) ON DELETE SET NULL)

14

Visualiser les contraintes


n

Pour lutilisateur courrant 2 vues sur le dictionnaire de donnes sont disponibles:


n n

USER_CONSTRAINTS USER_CONS_COLUMNS

15

Visualiser les contraintes


SELECT constraint_name, constraint_type, search_condition FROM user_constraints WHERE table_name=LIVRE ; C: Check. P: cl primaire. U: unique. R: referentielle.
16

Visualiser les contraintes


select column_name from user_cons_columns where table_name='LIVRE' and constraint_name='C_LIVRE_PRIX';
n
17

Activer /dsactiver les Contraintes


n

alter table livre enable constraint C_LIVRE_PRIX ; alter table livre disable constraint C_LIVRE_PRIX ; La colonne Status de user_constraints

18

Ajout contraintes
n

ALTER TABLE DEPT ADD CONSTRAINT genre_titr_U UNIQUE(Genre, Titre);

19

Supprimer les contraintes


n

alter table livre drop constraint C_LIVRE_PRIX ; alter table livre drop constraint FK_LIVRE_AUTEUR alter table livre drop primary key ;

20

Suite des contraintes

Avec les TRIGGERS

21

Les Indexes
n

n n

CREATE INDEX I1_LIVRE ON LIVRE (AUTEUR) ; Describe IND; //vue Select index_name, table_name from ind; Drop index nom_index;

22

Insertion
INSERT INTO LIVRE VALUES ('HUGO', BOSSA', 1830, 'THEATRE', 120.00) ; n INSERT INTO LIVRE (AUTEUR, TITRE, ANNEE, PRIX, GENRE) VALUES ('HUGO', 'Les Misrables', 1862, 148.5, 'ROMAN') ;
n
23

Insertion
INSERT INTO LIVRE (AUTEUR, TITRE, ANNEE, GENRE) VALUES ('BALZAC', 'Le Pre Goriot', 1834, 'ROMAN') ; Prix sera Null.
n

24

Insertion
n

Dune autre table structure compatible:

25

MAJ
UPDATE ECRIVAIN (Q1) SET NE_EN = 1802, SALLE = 2, RAYON = 3 WHERE AUTEUR = 'HUGO' ;
n

26

suppression
DELETE FROM ECRIVAIN WHERE NE_EN = 1800 ;
n

27

Cration utilisateurs
n

CREATE USER user1 PROFILE "DEFAULT" IDENTIFIED BY user1 PASSWORD EXPIRE QUOTA 30 M ON "USERS" ACCOUNT UNLOCK ;

28

Droits dacces
n

GRANT SELECT, INSERT, UPDATE ON MATABLE TO SPEINFO1; GRANT ALTER, DELETE, INDEX, REFERENCES ON MATABLE TO SPEINFO1;

29

Transmettre les droits


GRANT SELECT, INSERT, UPDATE ON MATABLE TO SPEINFO1 WITH GRANT OPTION;
n

30

revoke
n

REVOKE SELECT, UPDATE ON MATABLE FROM SPEINFO1; REVOKE ALL ON MATABLE FROM SPEINFO1;

31

Select
n n n n n n

Select Fonction Group by Having As Imbrique


32

You might also like