WizIQ helps you learn and teach online - any subject you can think of!
Join for FREE

Introduction aux Bases de données relationnelles-Deuxième partie

Add to Favourites
Post to:

Description
Introduction aux Bases de données relationnelles-Deuxième partie

Comments
Presentation Transcript Presentation Transcript

Slide 1 : INTRODUCTIONaux Bases de Données II ème Partie Badreddine Belhamissi UNIVERSITE de POITIERS

Le modèle relationnel -5- : Le modèle relationnel -5- Une relation (souvent notée R) peut aussi être considérée comme un sous-ensemble d’un produit cartésien de domaines Badreddine Belhamissi UNIVERSITE de POITIERS Pour une relation on distingue le degré d’une relation qui peut être défini comme le nombre de facteurs de ce produit cartésien Exemples de relations ETUDIANT et STAGE: ETUDIANT ? D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE ? D_Num_securite_sociale x D_type_stage x D_Titre LIVRE ? D_Code_livre x D_Date_parution_ x D_Auteur x D_Titre Ces relations peuvent aussi être représentées sous forme de n-uplets: ETUDIANT (Num_securite_sociale, Nom , Prenom , Code_postal, Telephone) STAGE ( Num_securite_sociale , type_stage , Titre ) LIVRE(Code_livre, Date_parution, Auteur, Titre) La relation Etudiant est de degré 5 , la relation livre est de degré 4 et la relation Stage est de degré 3

Modèle Entité/Relation : Modèle Entité/Relation Badreddine Belhamissi UNIVERSITE de POITIERS ENTITE Exemple 2 Relation Attribut

Notion d’entité : Notion d’entité Entité : « Chose concrète ou abstraite de la réalité perçue à propos de laquelle on veut conserver des informations ». « Être ou objet qui existe et peut être distingué d’un autre objet » Entité faible Entité dont l’existence dépend d’une autre entité. Par exemple le chien Fossette : insuffisant le chien de M. Duchemin qu’il appelle Fossette Entité régulière ou forte Badreddine Belhamissi UNIVERSITE de POITIERS

Entité : Entité Le terme entité est générique c’est à dire qu’en fait il désigne un ensemble d’éléments qui sont structurés de façon identique Badreddine Belhamissi UNIVERSITE de POITIERS Le choix des attribut décrivant la structure d’une entité dépend de l’objectif visé par la modélisation Pour distinguer l’entité générique d’un élément de l’ensemble qu’elle représente on utilise le terme ENTITE On utilise le terme OCCURRENCE d’ENTITE pour désigner un élément de cet ensemble ENTITE Occurrence d’ENTITE

Entité-Occurrences : Entité-Occurrences Badreddine Belhamissi UNIVERSITE de POITIERS Exemples d’occurrences

Entité faible : Entité faible Une entité est faible lorsqu’elle n’a pas d’identifiant propre Identification par le rôle assumé par d’autres entités qui participent à la même association. Ou identification par une combinaison d’attributs de l’entité et du rôle assumé par d’autres entités qui participent à la même association. Dans la pratique : l’identifiant de l’entité faible sera formé par une combinaison d’attributs propres et par un des identifiants des autres entités qui participent à la même association. La cardinalité du rôle de l’entité faible au sein de l ’association identifiante est « un à un » Badreddine Belhamissi UNIVERSITE de POITIERS

Composantes de l’entité : Composantes de l’entité Badreddine Belhamissi UNIVERSITE de POITIERS Attribut : propriété attachée à une entité Numero d’Identification Nationale (INE), nom, prénom, code, auteur, titre, date de parution... Valeur : symbole utilisé pour représenter un fait élémentaire Domaine : ensemble de valeurs que peut prendre un attribut Texte = chaîne de caractères, Date= jj/mm/aaaa N° de téléphone: 0x xx xx xx xx où x ?{0,1,2,3,4,5,6,7,8,9} Couleur = {rouge, bleu, vert, noir}, Sexe = {M,F} Code = entier long positif (0 > x > 4294967295)

Exemple d’entité faible : Exemple d’entité faible Badreddine Belhamissi UNIVERSITE de POITIERS Un chien est identifié par son nom et par le rôle « est propriétaire de : PERSONNE » via l’association PROPRIETAIRE.

Attribut et valeur : Attribut et valeur Les attributs peuvent être : Atomiques : Nom, prénom Composés : Date de naissance = {jour, mois, année} Adresse={n°, rue, ville, code postal, pays} Monovalués : une seule valeur possible pour une entité donnée INE, nom, date de naissance Multivalués : plusieurs valeurs pour une entité donnée. Prénoms Badreddine Belhamissi UNIVERSITE de POITIERS

Slide 11 : Badreddine Belhamissi UNIVERSITE de POITIERS Exemples d’entité Entité étudiant

Écriture graphique de l’entité : Écriture graphique de l’entité Badreddine Belhamissi UNIVERSITE de POITIERS Entité Entité faible Attribut Attribut clé Attribut multivalué Attribut composé

Notion de clés : Notion de clés Clé ou identifiant : attribut ou ensemble d’attributs dont les valeurs identifient de manière unique une entité. Num_securite_sociale identifie de manière unique une instance de ETUDIANT {nom, prénom} ne distingue pas les homonymes code identifie de manière unique une instance de LIVRE {auteur, titre, date de parution} identifie une instance de LIVRE Badreddine Belhamissi UNIVERSITE de POITIERS

Notion de clé : Notion de clé Une entité peut admettre plusieurs clés Surclés : ensemble d’attribut clé non minimal L’ensemble de tous les attributs est une surclé Clés candidates : ensemble minimal d’attributs clés Clé primaire ou identifiant : une entité admet une seule clé primaire choisie parmi les clés candidates Badreddine Belhamissi UNIVERSITE de POITIERS

Choix de la clé : Choix de la clé Clés réelles Attribut seul (de préférence) ou composition d’attributs Doit toujours être renseigné Contrainte sur les tables (NOT NULL sous SQL) Existe souvent dans les tables administratives N°sécurité sociale, numen, immatriculation… Clés artificielles Ajout d’un attribut clé Si aucune clé candidate n’est pratique à utiliser Si les clés candidates ne représentent pas intuitivement l’entité Badreddine Belhamissi UNIVERSITE de POITIERS

Exemple de diagramme d’association : Exemple de diagramme d’association Badreddine Belhamissi UNIVERSITE de POITIERS

Notion de cardinalité : Notion de cardinalité Différentes catégories de relation Relation 1 à 1 ? notée (1,1) Un conducteur possède un seul permis de conduire Chaque permis de conduire est associé à un seul conducteur Relation 1 à plusieurs ? notée (1,n) Chaque conducteur possède un ou plusieurs véhicules Chaque véhicule admet un seul propriétaire Relation plusieurs à plusieurs ? notée (n,m) Chaque conducteur est assuré pour un ou plusieurs véhicule Chaque véhicule est assuré pour un ou plusieurs conducteur Badreddine Belhamissi UNIVERSITE de POITIERS

Exemple de cardinalité : Exemple de cardinalité Étudiants et livres Un étudiant peut emprunter plusieurs livres Un étudiant peut emprunter un seul livre Un étudiant peut ne pas emprunter de livre Un livre n’est emprunté  que par un seul étudiant (à la fois)ou pas emprunté du tout Badreddine Belhamissi UNIVERSITE de POITIERS L’étudiant 5 n’emprunte aucun livre L’étudiant 1 emprunte 2 livres Les étudiants 2, 3 et empruntent 1 seul livre Le livre 2 n’a pas été emprunté

Calcul des cardinalités : Calcul des cardinalités Soit (x,y) la cardinalité d’un couple Entité-Association A : x et y représentent les nombres minimum et maximum de relations de classe A pouvant exister pour une occurrence d’objet O donnée. Pour trouver x, on se met côté ETUDIANT, on se pose la question: Un étudiant peut emprunter simultanément combien de livres ? entre aucun (x=0) et un nombre supérieur à 1 non défini et (y=n ) n est ici une notation mise pour signifier nombre supérieur à 1 indéterminé donc (x,y) est égale ici à (0,n) qu’on met sur la branche qui va de l’entité ETUDIANT à l’association Emprunter Pour trouver y, on se met côté livre, on se pose la question Un livre peut être emprunté simultanément par combien d’étudiants entre aucun (0) et un seul (1), donc on met (0,1) sur la branche qui va de l’entité LIVRE à l’association Emprunter Badreddine Belhamissi UNIVERSITE de POITIERS Emprunter ETUDIANT LIVRE INEnom_étudiant code date_parution auteur titre Depuis_le (0,n) (0,1)

2 ème Exemple de calcul de cardinalité : 2 ème Exemple de calcul de cardinalité Badreddine Belhamissi UNIVERSITE de POITIERS Chaque auteur doit avoir écrit au moins un article ? (1,n) Chaque article a été écrit par un et un seul auteur ? (1,1) (1,n) AUTEUR ARTICLE ECRITURE nom prénom date de naissance adresse année mois jour titre a écrit est écrit par (1,1) Considérons les entités AUTEUR et ARTICLE liée par la relation Ecriture

3ème exemple de cardinalité : 3ème exemple de cardinalité Badreddine Belhamissi UNIVERSITE de POITIERS Elle peut en avoir plusieurs ? composante n de 1,n 1,n 0,n 0,n 1,n 1,n Le professeur fait au moins un enseignement ? composante 1 de Il peut en faire plusieurs? composante n de Une matière peut ne pas être enseignée? composante 0 de Elle peut l’être plusieurs fois ? composante n de Une classe a au moins un enseignement ? composante 1 de

Définitions : « Constituants » : Définitions : « Constituants » Badreddine Belhamissi UNIVERSITE de POITIERS On appelle constituant (ou colonne ou attribut) d’une relation (ou table) le nom donné à une colonne de la table On note R+ l’ensemble des constituants de R. Exemples : les constituants d’une relation ETUDIANT+ = {Num_securite_sociale, Nom , Prenom , Code_postal, Telephone } STAGE + = { Num_securite_sociale , type_stage , Titre } ETUDIANT (Num_securite_sociale, Nom , Prenom , Code_postal, Telephone) STAGE ( Num_securite_sociale , type_stage , Titre ) Ou plus simplement

Cardinalités (récapitulation) : Cardinalités (récapitulation) Badreddine Belhamissi UNIVERSITE de POITIERS 0,1 1,1 0,n 1,1 1,n 0,n

Définitions : « n-uplets » : Définitions : « n-uplets » Badreddine Belhamissi UNIVERSITE de POITIERS Un n-uplet - ou tuple (en anglais), ou instance, ou entité, ou ligne - d ’une relation est un élément de cette relation Exemples : 2 relations PERSONNE ? D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE ? D_Num_securite_sociale x D_type_stage x D_Titre T U P L E T U P L E

Définitions : propriétés, constituants, n-uplets : Définitions : propriétés, constituants, n-uplets Badreddine Belhamissi UNIVERSITE de POITIERS Exemples : 2 relations ETUDIANT Í D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE Í D_Num_securite_sociale x D_type_stage x D_Titre Constituant propriété

Définitions : Schéma de relations : Définitions : Schéma de relations Badreddine Belhamissi UNIVERSITE de POITIERS Le schéma d ’une relation ou définition en intention de cette relation est constitué des éléments : Exemples : ETUDIANT ( Num_securite_sociale : { n? [10 13 ; 3.10 13] } , Nom : { chaine de 30 caractères}, Prenom : { chaine de 20 caractères}, Code_postal : { chaine de 5 chiffres} , Telephone = { chaine de 10 chiffres} ) STAGE (Num_securite_sociale : { n ?[10 13 ; 3.10 13]} , type_stage : { operateur, Enquete, EDT, inge_adjoint, PFE}, titre : { chaine de 200 caractères} ) le nom de la relation la liste des constituants et les domaines de chacun les contraintes d ’intégrité à respecter

Définitions : Schéma de Base de données relationnelle : Définitions : Schéma de Base de données relationnelle Badreddine Belhamissi UNIVERSITE de POITIERS Le schéma d’une base de données est constituée par l’ensemble des schémas des relations qui la constituent. CLIENT ( Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres ) Exemple COMMANDE ( Num_commande : entier long , date : date, montant : monétaire client : entier long ) ARTICLE ( Code_article : entier long, Désignation : chaine de 50 caractères, prix : monétaire ) LIGNECOMMANDE (code_article : entier long , Num_commande : entier long , quantité : entier)

Schéma …. qui peut aussi se représenter : Schéma …. qui peut aussi se représenter Badreddine Belhamissi UNIVERSITE de POITIERS CLIENT Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres COMMANDE Num_commande : entier long , date : date, montant : monétaire client : entier long ARTICLE Code_article : entier long, Désignation: chaine de 50 caractères, prix : monétaire LIGNECOMMANDE code_article : entier long , Num_commande : entier long , quantité : entier

Relationnel : opérateurs ensemblistes : Relationnel : opérateurs ensemblistes Badreddine Belhamissi UNIVERSITE de POITIERS union T = (R1 ? R2) ou T = Union (R1, R2) différence T = (R1 - R2) ou T = Minus (R1, R2) intersection T = (R1 Ç R2) ou T = inter (R1, R2) Soient R1 et R2 deux relations, on peut définir entre R1 et R2 un certain nombre d’opérations produit cartésien T = (R1 * R2) ou T = product (R1, R2) jointure naturelle T = (R1 >< R2) R1 et R2 ont même schéma Opérations entre relations de schéma distinct

Relationnel : opérations unaires sur une relation : Relationnel : opérations unaires sur une relation Badreddine Belhamissi UNIVERSITE de POITIERS projection de R sur les attributs Ai1, Ai2, Ai3, ... Aip avec p < n; i1 ,i2,…,ip ? {1,2,…,n} avec i1 ? i2, ? … ?,ip C’est une relation R’ de schéma (Ai1, Ai2, Ai3, ... Aip ) dont les n-uplets sont obtenus par élimination des attributs de R n’appartenant pas à R ’ et par suppression des doublons. On note T = P Ai1, Ai2, Ai3, ... Aip (R) ou T = proj Ai1, Ai2, Ai3, ... Aip (R) restriction (ou sélection) de la relation R par une qualification Q est une relation R ’ de même schéma que R dont les n-uplets sont ceux de R satisfaisant Q. On note T = sQ (R) ou T = selectQ (R) Soit R une relation de schéma (A1, A2, A3, ... An )

Définitions : opérateurs exemples : Définitions : opérateurs exemples Badreddine Belhamissi UNIVERSITE de POITIERS union T = (R1 ? R2) ou T = Union (R1, R2) Soient R1 et R2 deux relations de même schéma L’'union (R1 ? R2) de deux tables R1 et R2 ayant même schéma c'est-à-dire les mêmes noms de colonnes, est une table T contenant l'ensemble des lignes appartenant à R1 et des lignes appartenant à R2 les lignes doubles n’apparaissant qu’une fois

Définitions : opérateurs exemples : Définitions : opérateurs exemples Badreddine Belhamissi UNIVERSITE de POITIERS différence T = (R1 - R2) ou T = Minus (R1, R2) Soient R1 et R2 deux relations de même schéma La différence (R1 – R2) de deux tables R1 et R2 de même schéma est une table T contenant les lignes de R1 n'appartenant pas à R2

Définitions : opérateurs exemples : Définitions : opérateurs exemples Badreddine Belhamissi UNIVERSITE de POITIERS intersection T = (R1 ? R2) ou T = inter (R1, R2) Soient R1 et R2 deux relations de même schéma l'intersection (R1 ? R2) de deux tables R1 et R2 de même schéma est une table T contenant les lignes communes à R1 et R2

Définitions : opérateurs exemples : Définitions : opérateurs exemples Badreddine Belhamissi UNIVERSITE de POITIERS Soient R1 et R2 deux relations de schémas distincts, produit cartésien T = (R1 * R2) ou T = product (R1, R2) On définit le produit cartésien (T = R1 * R2) de deux tables R1 et R2 par la table T constituée par la concaténation une par une de chaque ligne de R2 à chaque ligne de R

Définitions : opérateurs exemples : Définitions : opérateurs exemples Badreddine Belhamissi UNIVERSITE de POITIERS Soient R1 une relation, restriction (ou sélection) de la relation R1 par une qualification Q = (C<30). T = s( C < 30) (R) projection de R1 sur les attributs A et B T = P A, B, (R1) Attention à la suppression des doublons

Définitions : contraintes dans une BD : Définitions : contraintes dans une BD Badreddine Belhamissi UNIVERSITE de POITIERS L’intérêt de l’usage de Base de données est que la BD permet la définition de « contraintes d’intégrité » qui seront nécessairement vérifiées à tout instant par la base ces contraintes permettent de garantir la « cohérence » de la base Elles sont de trois types : 1) contrainte de clé 2) contrainte de type de données (date, intervalle, liste… entier) 3) contrainte d’intégrité référentielle

Définitions : contrainte d’intégrité référentielle : Définitions : contrainte d’intégrité référentielle Badreddine Belhamissi UNIVERSITE de POITIERS Permet de vérifier la présence de données référencées dans des tables différentes. Une contrainte d ’intégrité référentielle peut s’utiliser dès qu’une clé primaire d’une table est utilisée comme référence dans une autre table. On la nomme « clé étrangère » de la seconde table. CLIENT (Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres ) LIGNECOMMANDE (code_article : entier long Num_commande: entier long ,quantité entier) COMMANDE (Num_commande : entier long , date : date, montant : monétaire client : entier long ) ARTICLE (Code_article : entier long, Désignation : chaine de 50 caractères, prix : monétaire )

Définitions : Dépendance fonctionnelle : Définitions : Dépendance fonctionnelle Badreddine Belhamissi UNIVERSITE de POITIERS Cette notion permet de capturer l’idée de dépendance entre informations en visant à limiter la redondance. Soit R une relation et X et Y des groupes d’attributs de R, il existe une dépendance fonctionnelle entre X et Y (on dit que X détermine Y) si dans R chaque valeur de X détermine une et une seule valeur de Y. Attention, cette propriété doit être vérifiée pour tous les n-uplets, y compris ceux à créer

Normalisation : Normalisation Processus récursif permettant d ’obtenir des tableaux qui seront sans problèmes lors de l ’utilisation Les tableaux sont dits en 1ère, 2ème ou 3ème Forme Normale Probablement l ’avantage majeur de l ’approche relationnelle Badreddine Belhamissi mardi 31 mai 2005

Définitions : 1ère Forme Normale : Définitions : 1ère Forme Normale Badreddine Belhamissi UNIVERSITE de POITIERS Une relation est en PREMIERE FORME NORMALE ssi les valeurs de tous les attributs qui la composent sont atomiques Ces valeurs doivent être élémentaires, non-décomposables Les attributs à occurrence multiple sont interdits les colonnes d'une table ne peuvent être multivaluées la relation possède une « clé »

Définitions : 1ère Forme Normale : Définitions : 1ère Forme Normale Badreddine Belhamissi UNIVERSITE de POITIERS ETUDIANT _________________________ NomEtudiant AdresseEtudiant Cette entité n’est pas en 1ère forme Normale -d’abord , il n’y a pas de clé (NomEtudiant ne peut pas être pris pour clé car il peut y avoir plusieurs étudiants ayant le même nom -de plus AdresseEtudiant consiste sans doute en la concaténation d’un nom de rue, d’un nom de ville et d’un code postal et par conséquent ne constitue pas une propriété élémentaire La clé, si elle est unique sera prise comme identifiant S’il y a plusieurs clés on en choisira une comme identifiant Les étapes suivantes de normalisation des relations vont consister en une décomposition des tables de façon à respecter certaines règles de dépendances entre les colonnes clés et les colonnes non clés, ce qui permettra d'éliminer les redondances de données et les problèmes de mise à jour

Définitions : 2ème Forme Normale : Définitions : 2ème Forme Normale Badreddine Belhamissi UNIVERSITE de POITIERS PRET (Num_etudiant, NumLivre, Nom_etud , Prenom_etud , NomLivre, Auteurs, date_emprunt) Une relation est en DEUXIEME FORME NORMALE ssi elle est en première forme normale tout attribut n ’appartenant pas à une clé ne dépend pas d ’une partie de cette clé (Autrement dit:Toute propriété de l’entité doit dépendre de tout l’identifiant) Exemple N ’est pas en 2ème FN car « Nom_etud » ne dépend que de Num_etudiant, et de même « NomLivre », et « Auteurs » ne dépend que de NumLivre CLIENT ______________ Code-client Nom Rue ville_ En revanche, l’entité Est en 2FN car Nom, Rue, et Ville dépendent de la clé Code-client par une dépendance fonctionnelle élémentaire

Définitions : 3ème Forme Normale : Définitions : 3ème Forme Normale Badreddine Belhamissi UNIVERSITE de POITIERS EMPLOYE (Num_securite_sociale, Nom , Prenom , Service, Adresse_service) Une relation est en TROISIEME FORME NORMALE (dite de Boyce Codd) ssi elle est en deuxième forme normale tout attribut n ’appartenant pas à une clé ne dépend pas d ’un autre attribut non clé Exemple Adresse_service dépend de service, la relation n ’est pas en 3eme FN. Pour respecter la 3ème Forme Normale il faudra décomposer cette relation en deux autres relations de façon à éliminer cette dépendance EMPLOYE (Num_securite_sociale, Nom , Prenom , Service,) Adresse_service (Num_securite_sociale, Adresse_service,) Par exemple

Les contraintes d'intégrité : Les contraintes d'intégrité Le modèle d'une base de données relationnelle implique un certain nombre de contraintes d'intégrité qui traduisent les propriétés sémantiques des données Badreddine Belhamissi UNIVERSITE de POITIERS la contrainte de clé primaire d'une relation implique la non duplication des lignes c'est-à-dire que chaque objet du monde réel peut être enregistré sans ambiguïté par une seule ligne, un seul "tuple" La contrainte de domaine restreint les valeurs possibles d'une colonne à un ensemble de valeurs prédéfinies On peut ajouter à une colonne la contrainte de non-nullité qui implique que cette colonne ne peut pas avoir de valeur nulle, c'est-à-dire ne peut pas être indéfinie ou inutilisable la contrainte d'intégrité référentielle spécifie les liens qui doivent exister entre deux tables par la correspondance d'une ou plusieurs colonnes communes à ces deux tables cette ou ces colonnes constituant ce qui est appelée une clé étrangère

Want to learn?

Sign up and browse through relevant courses.

Name:
Your Email:
Password:
Country:
Contact no.:


Area code Number
Subject you are interested in:
Word verification: (Enter the text as in image)


Sign Up Already a member? Sign In
I agree to WizIQ's User Agreement & Privacy Policy
1 Follower

Your Facebook Friends on WizIQ