La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.

Présentations similaires


Présentation au sujet: "DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la."— Transcription de la présentation:

1 DEFINITION DES DONNEES : schéma conceptuel

2 Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la structure d'une relation DROP TABLEsuppression des n-uplets et de la relation RENAMErenomme une table existante

3 CREATE TABLE CREATE TABLE table ( attribut type [DEFAULT expr] [contrainte_att] [, attribut type [DEFAULT expr] [contrainte_att] …] [contrainte_rel] [,contrainte_rel…] ) [ ENABLE clause_enable] [ DISABLE clause_disable] [ AS subquery ]

4 relation, d'attribut : convention nom doit commencer par une lettre longueur : de 1 à 30 caractères doit uniquement contenir les car : A-Z, a-z, 0-9 _, $, # : autorisés mais déconseillés ne doit pas être le nom d'un autre objet propriété du même utilisateur ne doit pas être un mot réservé Oracle

5 Types de données chaînes de caractères données numériques date données binaires

6 types : chaînes de caractères CHAR(size)longueur fixe max = 255 (v7), 2000(v8) bytes VARCHAR2(size)longueur variable (en bytes) max = 2000 (v7), 4000 (v8) LONGlongueur variable, max = 2 gigabytes (v7 et v8) CLOBversion 8 max = 4 gigabytes

7 types : données numériques NUMBER(p,s)données numériques p :précision nbre de chiffres, p є [1, 38] s :scale nbre de chiffres après la virgule, s є [-84, 127] NUMBER(p) : s=0 NUMBER : p=38, s indéfini

8 types : dates DATEJour et heure : siècle+année+mois+jour+heure+mn+sec [ 01/01/ -4712, 31/12/4712 ] (version 7) [ 01/01/ -4712, 31/12/9999 ] (version 8)

9 valeur de l'attribut après une op. d'insertion : valeur donnée dans l'instruction INSERT valeur par défaut (déf. dans la clause DEFAULT pour cet attribut dans la table) NULL si autorisée (contrainte att. ou rel.) OK erreur clause DEFAULT

10 DEFAULT expr Expression : littéral expression fonction SQL Restrictions : compatibilité de types ne peut contenir de référence à d'autres att. constante date non complètement spécifiée (v7)

11 Contraintes définie lors de la création de la table ou modification ultérieure de la table possède un nom unique donné par l'utilisateur ou généré automatiquement par Oracle (SYS_Cn)

12 contraintes : types NOT NULLvaleur NULL interdite PRIMARY KEYattribut(s) constituant la clé primaire UNIQUEattribut(s) dont la valeur est unique pour toute la table FOREIGN KEYattribut(s) constituant une clé étrangère CHECKcondition qui doit être vraie

13 contrainte et clés relations avec plusieurs clés une seule PRIMARY KEY autorisée autres clés : emploi de UNIQUE (sans limite) par défaut, valeur NULL interdite pour tout attribut de la clé primaire soit la PRIMARY KEY autorisée pour le(s) attribut(s) de UNIQUE, FOREIGN KEY

14 contrainte d'attribut / contrainte de relation pas de différence fonctionnelle légère différence au niveau de la syntaxe Choix sauf dans les situations suivantes : NOT NULL : contrainte d'attribut clé (primaire ou étrangère, unique) avec plusieurs attributs : contrainte de relation

15 CHECK (condition) Restrictions fortes pour la condition acceptée : Cte ou autre colonne du même n-uplet Interdit référence à des pseudo-col. ( CURRVAL, NEXTVAL,… ) appel à certaines fonctions : sysdate,… requêtes à des valeurs d'autres lignes  rang de valeurs permises  vérification nom en majuscule

16 contrainte d'attribut : syntaxe [ CONSTRAINT constraint ] { [ NOT ] NULL UNIQUE PRIMARY KEY REFERENCES [schéma.]table [(attributs)] [ ON DELETE CASCADE ] CHECK (condition) } [DISABLE]

17 contrainte de relation : syntaxe [ CONSTRAINT constraint ] { UNIQUE ( attribut [,attribut…] ) PRIMARY KEY (attribut [,attribut…] ) FOREIGN KEY (attribut [,attribut…] ) REFERENCES [schéma.]table [ (attribut [,attribut…] )] [ ON DELETE CASCADE ] CHECK (condition) } [DISABLE]

18 exemple : base "projet" create table tâche ( id number(3) primary key, nom varchar2(25) ) create table intervenant ( projet number(3) references projet, tâche number(3) references tâche, personne number(3) references personne, primary key (projet, tache, personne) )

19 exemple : base "projet" create table intervenant ( projet number(3), tâche number(3), personne number(3), primary key (projet, tache, personne), foreign key (projet) references projet, foreign key (tâche) references tâche, foreign key (personne) references personne )

20 exemple : base "projet" create table intervenant ( projet number(3) primary key, tâche number(3) primary key, personne number(3) primary key ) interdit

21 exemple : table planning create table planning ( id number(3) primary key, début date not null, durée number(4) not null, fin date, check (durée > 1), check (fin > début) )

22 contrainte : activation Une CI peut être rendue active (par défaut) : enable inactive: disable Précisé lors de la définition de la CI ou dans une clause dont la syntaxe est : ENABLE CONSTRAINT constraint DISABLE CONSTRAINT constraint [ CASCADE ]  il faut connaître le nom de la CI  catalogues

23 création et insertion immédiate CREATE TABLE table [ ( attribut … [,attribut…] ) ] AS subquery création de la table, insertion de n-uplets concordance nombre d'attributs attributs définis avec nom et valeurs par défaut ex : create table test as select * from personne

24 ALTER TABLE Rel. donnée, modifications autorisées : ajouter un attribut (toujours en dernière position) redéfinir un attribut (type, taille, val. défaut) ajouter / supprimer une CI activer / désactiver une CI modifier les caractéristiques de stockage impossible de supprimer directement un attribut modifier directement une CI

25 ALTER TABLE ALTER TABLE table [ clause_add | clause_modify | DROP clause_drop | … ] [ENABLE clause_enable ] [DISABLE clause_disable ] itération possible itération possible, idem création

26 ALTER TABLE : clause_add Ajout d'attribut(s) et/ou de CI : ADD ( attribut type [DEFAULT expr] [contrainte_att] | contrainte_rel ) plusieurs ajouts : ADD (ajout1, ajout2, …) idem création de la table

27 ALTER TABLE : clause_modify modification de la déf. d'attribut(s) existants MODIFY ( attribut [type] [ DEFAULT expr] [ NULL | NOT NULL ] ) plusieurs modifications : MODIFY (m1, m2, …) parties optionnelles non données  non modifiées restrictions : CI, réduction taille, …

28 ALTER TABLE : DROP Suppression d'une CI DROP [PRIMARY KEY | UNIQUE (attribut [,attribut …] ) | CONSTRAINT contrainte ] [ CASCADE ] CASCADE : suppressions en cascade des CI qui dépendent de la CI supprimée (ex : foreign keys)

29 ALTER TABLE : exemples alter table personne add ( constraint uni unique (nom, formation), ville varchar2(30) ) alter table personne modify (nom varchar2(15), salaire default 15000) alter table personne drop constraint uni

30 DROP TABLE DROP TABLE table [CASCADE CONSTRAINTS] Supprime la table du dictionnaire ainsi que tous ses n-uplets, index, blocs physiques, vues… CASCADE CONSTRAINTS : pour demander la suppression de toutes les CI dans les autres tables de la base qui font référence à la clé primaire et aux clés uniques de la table supprimée

31 RENAME Pour renommer une table existante, RENAME ancien_nom TO nouveau_nom  m.à.j des liens réalisée automatiquement (CI référentielles, …) ex : rename collaboration to coopération


Télécharger ppt "DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la."

Présentations similaires


Annonces Google