Les STRUCTURES DOMAINE = { valeurs possibles pour une propriété du monde réel } Le domaine permet de distinguer deux ensembles de valeurs disjoints du monde réel. Il peut être défini «en compréhension». Exemple : { chaînes variables de 50 caractères maximum }. Il peut être défini «en extension». Exemple : { Lundi, Mardi, Mercredi, Jeudi, vendredi }. RELATION = sous-ensemble du produit cartésien de n domaines R (D1 x D2 x D3 x x Dn) R = { (a1,a2,..,an) } / ai Di Année 2011-2012 1
Les STRUCTURES ATTRIBUT : désigne une utilisation donnée d un domaine dans la relation; permet de distinguer deux occurrences d un même domaine dans la relation a1,a2,..,an sont les attributs de la relation R = { (a1,a2,..,an) } / ai Di. Année 2011-2012 2
Les STRUCTURES TABLE = matérialisation à un instant donné d une relation comportant des lignes (tuple de la relation )et des colonnes (attribut de la relation ) NUMEROPILOT NOMPILOT PREN_PILOT VILLE SALAIRE 004 TARTANPION Albert Paris 5500,00 007 DUPONT Jean Lyon 4700,00 010 WILSON Fred Marseille 3600,00 Année 2011-2012 3
Les STRUCTURES SCHEMA D UNE RELATION : convention de représentation d une relation <nom_relation> ( <nom_attribut> :<nom_domaine> [, <nom_attribut> :<nom_domaine>,...] ) Exemple : R ( a1 : D1, a2 : D2,.........,an : Dn ) ou plus souvent R ( a1, a2,.........,an ) SCHEMA RELATIONNEL = { schémas de relation modélisant le monde réel } Année 2011-2012 4
Les STRUCTURES VUE : Relation non matérialisable correspondant à une vision particulière d utilisateur de la base de données (niveau externe ANSI/X3/SPARC) Vue = table virtuelle Année 2011-2012 5
INTEGRITE DE RELATION Définitions CLE : attribut ou ensemble d attributs prenant une valeur unique dans chaque tuple de la relation { K / t1 R t2 R, t1.k t2.k } CLES CANDIDATES : Plusieurs clés distinctes dans une même relation CLE PRIMAIRE : Clé unique ou clé choisie par convention parmi les clés candidates comme identificateur principal des éléments de la relation Année 2011-2012 6
INTEGRITE DE RELATION Règle d intégrité de relation Toute relation doit posséder au moins une clé Dans le schéma d une relation, la clé primaire est souligné Contrainte d entité Une clé primaire ne peut avoir la valeur NULL. Année 2011-2012 7
INTEGRITE DE REFERENCE Définitions RELATION INDEPENDANTE ou STATIQUE : Les valeurs prises par ses éléments ne dépendent d aucune autre relation du schéma RELATION DEPENDANTE ou DYNAMIQUE : Possède au moins un attribut dont les valeurs dépendent d une autre relation du schéma relationnel CLE ETRANGERE : Attribut dans une relation dépendante qui référence une clé (clé de référence) dans une autre relation (relation de référence) du schéma relationnel Année 2011-2012 8
INTEGRITE DE REFERENCE Définitions RELATION DE REFERENCE : Sa clé primaire est référencée par une clé étrangère d'une relation dépendante Règle d intégrité de référence Une clé étrangère ne peut prendre pour valeur qu une valeur existante de sa clé de référence Dans le schéma d une relation, une clé étrangère est repéré par le symbole # Année 2011-2012 9
INTEGRITE DE DOMAINE Règle d intégrité de domaine Un attribut ne peut prendre qu une valeur appartenant à son domaine de définition Deux attributs sont comparables si et seulement si ils appartiennent à un même domaine ou à deux domaines compatibles Année 2011-2012 10
SQL Langage de Définition des Données (LDD) CREATE TABLE <nom_table> ( <Définition_d_attribut> [,<Définition_d_attribut>,.] [<Contrainte_de_table> [,<Contrainte _de_ table >,.]] ); Définition_d_attribut ::= <nom_d_attribut> <type> [<contrainte_d_attribut>] type { types prédéfinis du SGBDR } Année 2011-2012 11
CREATE TABLE (suite) SQL Langage de Définition des Données (LDD) Contrainte_d_attribut Clé primaire : PRIMARY KEY Clé étrangère : REFERENCES <nom_table> (<nom_d_attribut>) Saisie obligatoire : NOT NULL Clé secondaire : UNIQUE Affectation d une valeur par défaut en l absence de saisie : DEFAULT <valeur par défaut> Contrôle des valeurs d attribut permettant soit d affiner le domaine de définition (par rapport aux types prédéfinis du SGBDR), soit de traduire une règle de gestion (contrainte sémantique) du monde réel : CHECK (<expression logique>) Contrainte_de_table Clé primaire : PRIMARY KEY (<nom_d_attribut> [,<nom_d_attribut>,..]) Clé étrangère : FOREIGN KEY <attribut> REFERENCES <nom_table> (<nom_d_attribut>) Contrôle des valeurs d attribut : CHECK (<expression logique>) CREATION D UNE TABLE à partir d une existante CREATE TABLE <nom_table> [(<attribut> [,... ])] AS <ordre SELECT> ; Année 2011-2012 12
SQL Langage de Définition des Données (LDD) ALTER TABLE <nom_table> <option> ; Options de l ordre «Alter» ajout d attribut : ADD <definition_d_attribut> modification d attribut : ALTER MODIFY <re-definition_d_attribut>... DROP TABLE <nom_table> <option> ; Options de l ordre «Alter» RESTRICT CASCADE Année 2011-2012 13