Vous êtes sur la page 1sur 35

Modle Relationnel

Vocabulaire des BDR


Dans les annes 70, E.F. Codd a dcrit une nouvelle sorte de modle: le modle relationnel (MR) pour les systmes de bases de donnes. Dans le modle relationnel, les informations sont enregistres dans des tables (appeles galement relations) . Un SGBD relationnel (SGBDR) est un SGBD fond sur le modle relationnel.
52 Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Une BD relationnelle (BDR) est un ensemble de relations. Une relation est reprsente sous forme de tables (ou tableaux) deux dimensions qui respectent certaines conditions. Cette reprsentation est purement logique et non physique: dans un SGBDR, les donnes sont logiquement perues sous forme de tables, mais elles ne le sont pas physiquement.

53

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Chaque table est identifie par un nom unique Exemple: dans une BDR dcrivant une socit, on peut retrouver les tables suivantes: table Client table Produit table Facture table Fournisseur table Commande, etc.
54 Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Chaque table est forme dun certain nombre de colonnes ou attributs ou champs. Deux colonnes dune mme table ne peuvent pas avoir le mme nom. Exemple: la table Produit peut contenir les colonnes suivantes: code produit, libell du produit , prix unitaire et quantit en stock .
55 Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Le degr dune table est le nombre des ses attributs ou colonnes. Exemple: La table Produit contient les colonnes suivantes: code produit, libell du produit , prix unitaire et quantit en stock . Donc, le degr de la table Produit est gal 4.

56

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Pour chaque colonne dune table, il existe un ensemble de valeurs possibles appel domaine. Le domaine dsigne toutes les valeurs permises qui peuvent apparaitre dans la colonne. Si attrib est le nom dune colonne, alors Dom(attrib) dsigne le domaine de cette colonne. Toute valeur qui figure dans une colonne doit appartenir son domaine.
57 Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Exemple: pour la table Produit, les domaines sont: Dom(code produit): un sous-ensemble de chaines de caractres dsignant le code produit; Dom(libell): lensemble des noms de tous les produits; Dom(prix unitaire): un sous-ensemble de lensemble des rels positifs; Dom(quantit en stock): un sous-ensemble de lensemble des entiers positifs.

58

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Les donnes dune table apparaissent comme un ensemble de lignes ou n-tuples, o n est le nombre dattributs de la table. Exemple :
Code produit DD120 CL102 CU1G
59

Libell Disque dur 120 Go Clavier 102 Cl USB 1Go

Prix unitaire 30000 1500 5000

Quantit en stock 23 58 79

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Les lignes ou les tuples dune table sont galement appeles des enregistrements. Les enregistrements dune table ont le mme format et reprsentant des objets du monde rel. Le nombre total des enregistrements prsents dans une table est appel la cardinalit de la table.

60

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Remarques: Le degr dune table est fixe (ne change pas) La cardinalit dune table est dynamique: elle peut changer au cours du temps (par effet dajout ou de suppression denregistrements de la table).

61

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Pour une relation R donne, pour un attribut A de R et un tuple t de R , on note t(A) la valeur de lentre du tuple t qui se trouve la colonne A. Exemple: considrons le second tuple de la relation Produit (page 59). Alors: t(Code Produit) = CL102; t(Libell) = Clavier 102; t(Prix unitaire) = 1500 ; t(Quantit) =58 ;
62 Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Rgles dor retenir pour une BDR: Une table est formes de colonnes et de lignes Chaque table a un nom unique Chaque colonne a un nom unique Lordre des colonnes dans la table est sans aucune importance Toutes les lignes dune table ont le mme format et le mme nombre dentres.

63

Dr. CISS-Bases de Donnes

Vocabulaire des BDR


Rgles dor retenir pour une BDR (suite) Les valeurs de chaque colonne appartiennent au mme domaine Chaque entre de chaque ligne doit tre une valeur unique Lordre des ligne est sans importance du fait quelles sont identifies par leur contenus et non par leur position Il est impossible davoir deux lignes identiques.

64

Dr. CISS-Bases de Donnes

Formalisme mathmatique
Un schma relationnel R est un ensemble fini de noms dattributs A1, A2, , An. On crit: R = {A1, A2, , An} A chaque attribut Ai est associ un ensemble non vide de valeurs appeles domaine de lattribut Ai et not Di = Dom (Ai) Soit D le produit cartsien des ensembles Di, ie D = D1 D2 Dn. Une relation r sur le schma relationnel R est un ensemble fini de correspondances r = {t1, t2, , tm} de R sur D.
Dr. CISS-Bases de Donnes

65

Formalisme mathmatique
Une correspondance individuelle tk est appele tuple (ou ntuple). Pour tout tuple t appartenant la relation, on note t(Ai) la valeur de lattribut Ai pour le tuple t. Une condition importante: Pour tout lment t de r, on a t(Ai) Di La cardinalit de r est card(r) = m. Le degr de r est deg(r) = n
66 Dr. CISS-Bases de Donnes

Formalisme mathmatique
Exemple dune table Vol :
Numro 83 84 109 213 214
67

Dpart Dakar Dakar This This St Louis

Arrive

H_dpart

H_arriv 11:00 12:47 6:30 1:38 9:30

Cap Skiring 9:55 St Louis Diourbel Dakar Tamba 12:00 6:00 1:13 8:15

Dr. CISS-Bases de Donnes

Formalisme mathmatique
Le schma relationnel correspondant la table Vols est Vols (Numro, Dpart, Arrive, H_dpart, H_arriv). Dom(Numro) = {1, 2, 3, , 999}. Dom(Dpart) = Dom(Arrive) = {Dakar, This, St Louis, Cap Skiring,Tamba, Diourbel}. Dom(H_dpart) = Dom(H_arriv) = {0:00, 0:01, , 23:58, 23:59}.

68

Dr. CISS-Bases de Donnes

Notion de cl
La notion de cl est un concept fondamental du modle relationnel parce quelle fournit le mcanisme de base pour rcuprer des tuples dans une table dune BD. La cl dune relation est le plus petit sous-ensemble des attributs qui permet didentifier chaque ligne de manire unique.

69

Dr. CISS-Bases de Donnes

cls candidates et cl primaire


Exemple: des cls candidates de la table Vols peuvent tre: {Numro} {Dpart, Arrive, H_dpart} Remarque: une relation peut comporter plusieurs cls candidates. Lune delles doit tre dsigne comme cl primaire. Les valeurs de la cl primaire permettent didentifier de manire univoque un tuple de la relation.
70 Dr. CISS-Bases de Donnes

Cls candidates et cl primaire


Un SGBD nautorise quune seule cl par table La cl primaire peut tre unique si elle comporte un seul attribut ou compose si elle contient au moins deux attributs. Exemple: la cl primaire {Numro} est unique alors que {Depart, Arrive, H_Dpart} est compose.

71

Dr. CISS-Bases de Donnes

cls candidates et cl primaire


Les attributs de la cl primaire sont souligns pour les distinguer des autres attributs ne faisant pas partie de la cl. Exemple: le schma relationnel de la table Vols se prsente ainsi: {Numro, Dpart, Arrive, H_dpart, H_arriv} ou bien : {Numro, Dpart, Arrive, H_dpart, H_arriv}.

72

Dr. CISS-Bases de Donnes

cls candidates et cl primaire


Les cls primaires sont dfinies au moyen dinstruction LDD et sont automatiquement imposes par le SGBDR. Les cls primaires sont gnralement dfinies au moment de la cration des tables. Les cls primaires peuvent tre naturelles ou artificielles. Dans une table contenant des donnes descriptives sur les lments chimiques, le poids atomique serait une cl primaire naturelle.
73 Dr. CISS-Bases de Donnes

cls candidates et cl primaire


Il faut noter que la plupart des cls primaires sont inventes (artificielles) Exemples: Numro dassurance sociale Numro de permis de conduire Numro de carte de crdit Numro de carte dtudiant, etc.

74

Dr. CISS-Bases de Donnes

cls candidates et cl primaire


Les cls sont des lments trs importants dans la conception dune BD relationnelle, puisquelles forment la base pour reprsenter les relations entre les tables. Les cls sont les lments qui lient les tables entre elles.

75

Dr. CISS-Bases de Donnes

La valeur NULL
Dans une relation, la valeur NULL reprsente des donnes manquantes, inconnues ou des donnes inapplicables. La valeur NULL correspond une entre non renseigne (non saisie, non introduite, non obligatoire). Une rgle (contrainte dintgrit de la cl primaire): aucun des attributs de la cl primaire ne doit tre NULL (du fait que la cl primaire identifie de manire unique les tuples dune relation).
76 Dr. CISS-Bases de Donnes

La valeur NULL
La rgle prcdente signifie que la saisie des valeurs pour les attributs de la cl primaire est obligatoire. Un attribut nappartenant pas la cl primaire peut avoir la valeur NULL. Attention: la valeur NULL nest pas gale 0 et ne reprsente aucune valeur particulire pour lordinateur.

77

Dr. CISS-Bases de Donnes

Exercice
Considrons la table DEPT et les lignes montres la suite. Dire si ces les lignes peuvent tre ou non insres dans la table DEPT.
DEPARTEMENT 20 10 10 15
78 Dr. CISS-Bases de Donnes

NOM Ventes Marketing Recherche

LIEU Dakar Pikine This

BUDGET 12 700 000 31 575 000 13 500 000 9 200 000 10 500 000

Informatique Rufisque Comptabilit Dakar

Passage du modle E/A au modle relationnel


On passe donc dun modle disposant de deux structures (entits et associations) un modle disposant dune seule structure (relations). Logiquement, entits et associations seront donc toutes deux transformes en relations. La subtilit rside en fait dans la ncessit de prserver les liens existant explicitement dans un schma E/A et qui semblent manquer dans le modle relationnel. Dans ce dernier cas on utilise en fait un mcanisme de rfrence par valeur bas sur les cls des relations

79

Dr. CISS-Bases de Donnes

Rgles de passage
Association de 1 plusieurs Soit une relation de 1 plusieurs entre deux entits A et B. Le passage au modle logique suit les rgles suivantes: On cre les relations (tables) RA et RB correspondants respectivement aux entits A et B. Lidentifiant de B devient un attribut de RA Les ventuels identifiants de lassociation entre A et B deviennent des attributs de RA. Lide est quune occurrence de A rfrence loccurrence de B qui CISS-Bases deassocie laide dune cl trangre. Dr. lui est Donnes

80

Association 1 plusieurs

81

Dr. CISS-Bases de Donnes

Association plusieurs plusieurs


Considrons une association binaire n-m entre A et B On cre les relations (tables) RA et RB correspondants respectivement aux entits A et B. On cre la relation RA-B pour lassociation La cl de RA et la cl de RB deviennent des attributs de RA-B La cl de RA-B est la concatnation des cls des relations RA et RB Les proprits de lassociation deviennent des attributs de RA-B

82

Dr. CISS-Bases de Donnes

Association plusieurs plusieurs

83

Dr. CISS-Bases de Donnes

Exercice
On souhaite informatiser des commandes et ldition des additions dun restaurant en utilisant une base de donnes. Le restaurant dispose de plusieurs tables, chacune identifie par un numro et le nombre de convives quelle peut recevoir. Plusieurs serveurs travaillent dans le restaurant. Une table est toujours servie par un et un seul serveur. Chaque serveur est identifi par un numro, a un nom et un grade. Un serveur est affect par journes entires une ou plusieurs tables. Les commandes, identifies par un numro, correspondent toujours une table unique. On connait lheure et la date dencaissement, le montant total, ainsi que le moyen de paiement utilis. Chaque commande porte sur un ou plusieurs plats. Les plats sont identifis par un numro, ont un nom, un type (entre, dessert, ). Dans une commande, chaque ligne correspond un plat command en une certaine quantit. Crer un schma E/A puis le traduire en modle relationnel.
84 Dr. CISS-Bases de Donnes

Exercice
Donnez le schma relationnel correspondant au modle conceptuel suivant:

85

Dr. CISS-Bases de Donnes