Les bases de Donnes Relationnelles

  • Published on
    20-Jul-2015

  • View
    248

  • Download
    1

Transcript

Les bases de Donnes Relationnelles

1

Chapitre 1 : Rgles depassage du Diagramme de Classes au Modle Relationnel

2

1)Cas des entits:

Pour chaque entit du diagramme de classes, une table est cre dans le modle relationnel. Les attributs de l'entit deviennent les attributs de la table ,et dans le cas d'une entit forte, son identifiant simple ou compos, devient la cl primaire de la table. Il existe deux types d'entits faibles dans un diagramme de classes : les entits d'association et les entits reprsentant un composant d'une entit composite.3

Diagramme de classes comportant une entit dassociation:

4

Le modle relationnel driv comporte trois tables dont une table, Article command, possde une cl primaire compose obligatoirement des cls primaires des deux autres tables.

bauche du modle relationnel driv du modle

5

La table drive de l'entit d'association est une table fille qui doit tre lie toutes les tables drives des autres entits associes qui agiront comme tables mres.

Chaque association portera une multiplicit 1..1 du ct de la table mre et quant aux multiplicits du ct de la table fille, elles sont reprises du diagramme de classes.

6

7

1-2) Drivation partir des entits dune composition

Une table sera drive du composite et uneautre sera drive du composant. Cette dernire aura comme cl primaire la combinaison de l'identifiant du composite et de l'identifiant propre du composant.

8

Diagramme de classes comportant une composition

9

10

2) Associations Binaires:2-1) Associations Binaires un un:

Dans un tel cas, la drivation de la cl trangre repose sur l'analyse des multiplicits minimales de l'association. Cela consiste tablir si la participation des occurrences l'association est obligatoire d'un ct ou de l'autre ou des deux la fois. Si la participation est obligatoire des deux cts de l'association (multiplicits minimales 1 de part et d'autre), l'une ou l'autre des tables drives des entits peut agir comme table mre. Cependant, si une seule des deux entits est associe une troisime, on choisira comme table fille celle drive de l'entit qui comporte une deuxime association. Si toutes deux sont associes une autre, on choisit comme table fille celle qui possde une cl primaire compose.11

Association binaire un un avec participation obligatoire de part et dautre

12

Pour ce modle, nous faisons lhypothse que lentit Paiement est associe par ailleurs lentit Client (non illustre). La table fille sera donc Paiement, la table mre sera Reu, et la cl primaire de la table mre, No reu, est reproduite dans la table fille titre de la cl trangre. Sans cette hypothse, la table fille aurait tout aussi bien pu tre Reu.

13

Diagramme de classes avec association un un, et une participation optionnelle dun cot

14

L'association un un tant optionnelle ct Carte de crdit, la table drive de cette entit est considre comme table fille et la cl primaire de la table mre Client, soit No client, est copie dans la table fille comme cl trangre.

15

Modle relationnel driv

16

2-2) Association binaire un plusieurs

la table drive de l'entit du ct de la multiplicit maximale plusieurs (*) est considre comme la table fille. En consquence, une copie de la cl primaire de la deuxime table, la table mre, est dpose dans la table fille titre de cl trangre.

17

Modle conceptuel avec association binaire un plusieurs

18

Modle relationnel driv

19

2-3) Association binaire plusieurs plusieurs:Une association plusieurs plusieurs sans entit d'association donne lieu une table fille comportant comme cl primaire la combinaison des cls primaires des tables mres. Chaque association portera une multiplicit 1..1 du ct de la table mre et quant aux multiplicits du ct de la table fille, elles sont reprises du diagramme de classes .Magasin N agence N civique Rue Ville Code postal N tlphone

Employ N employ Nom employ Prnom employ Salaire employ

1..*

1..*

20

Modle relationnel driv dune association binaire plusieurs plusieurs :

21

3) Priorit dapplication des rgles de drivation

Qu'arrive-t-il si les deux mmes entits sont associes avec des associations de natures diffrentes ? Par exemple la fois par une association du type un un et une autre de type un plusieurs. Rponse : il n'y a pas de priorit d'application des rgles : Chaque association donne lieu la cration de cls trangres, dans la mme table ou dans les deux tables.

22

Plus dune association impliquant les mme entits

23

Modle dvir dassociation impliquant les mmes entits

24

4) Drivation rflexive

La drivation d'une association rflexivereprend les rgles voques en les spcialisant pour tenir compte du fait qu'une entit est associe elle-mme.

25

Cas 1: L'association rflexive comporte une entit d'association

L'entit d'association donne lieu une table fille associe la table mre drive de la seule entit en cause. La table drive de l'entit d'association comporte les attributs de cette dernire avec comme cl primaire deux exemplaires de la cl primaire de la table mre, les exemplaires portent un nom diffrent pour viter toute redondance.

26

Modle conceptuel avec association rflexive et entit d'association

27

Le rsultat de la drivation du modle relationnel est donn la figure. La table fille Mariage est drive de l'entit d'association. Elle comporte une cl primaire compose des deux numros matricules des personnes contractant un mariage. Chaque matricule porte un nom d'attribut diffrent. Modle relationnel driv

28

Cas 2: L'association rflexive est du type un un ou un plusieursDans

ce cas une seule table est drive et elle comporte une cl trangre. Celle-ci est un double de sa cl primaire qui doit porter un nom diffrent. Les multiplicits de l'association au modle conceptuel sont reprises intgralement dans le modle relationnel driv.

29

Modle relationnel, driv du modle conceptuel

30

Modle conceptuel, sans entit dassociation, avec association rflexive un plusieurs

Modle relationnel driv du modle conceptuel

31

Cas 3: L'association rflexive est du type plusieurs plusieurs

Une association rflexive plusieurs plusieurs est traite comme une association rflexive comportant une entit d'association. Une table doit tre cre pour assurer une liaison plusieurs plusieurs sur la mme table. Cette table n'a pas d'attribut propre. Sa cl primaire est une combinaison de deux exemplaires de la cl primaire de la table drive de l'entit.

32

La figure modlise la descendance d'une personne. Une personne descend de plusieurs personnes et par ailleurs possde plusieurs descendants.

Modle conceptuel, sans entit d'association, avec association rflexive plusieurs plusieurs

33

Modle relationnel driv

34

5) Associations de degr suprieurToute association de degr suprieur donne lieu une table qui s'ajoute aux tables drives des entits associes.

S'il s'agit d'une association de degr suprieur qui comporte une entit d'association, les rgles vues prcdemment pour la conversion d'une entit d'association sur une association binaire s'appliquent ; chaque entit associe devient une table mre; l'entit d'association devient une table fille. Les cls primaires des tables mres qui sont copies dans la table fille sont toutes des attributs considrs comme cls trangres. Les multiplicits places du ct de la table fille sont toutes 0..*,et les multiplicits du ct des tables mres sont systmatiquement 1..1.

35

Modle conceptuel avec entit d'association sur une association de degr suprieur

36

Modle relationnel driv du modle

37

Diagramme de classes avec une association de degr suprieur

38

Modle relationnel driv du modle

39

6) Association dhritage: Les tables drives d'une association ou de plusieurs associations d'hritage rattaches au mme supertype seront de natures fort varies selon qu'il y a prsence ou non de contraintes inter associations dans le modle conceptuel. Nous allons illustrer tour de rle chaque situation l'aide d'un exemple. Toutes les figures montrent gauche un diagramme de classes avec une ou des associations d'hritage et droite le modle relationnel rsultant.

40

Cas 1 : aucune contrainte

41

.

Cas 2: Contrainte dexclusion

42

Cas 3:Contrainte de totalit

Une contrainte de totalit spcifie qu'une occurrence du supertype doit avoir les attributs de tous ses sous-types et donc tre de tous les sous-types la fois. Deux attributs boolens, Poste client? et Serveur?, permets d'tablir les sous-types auxquels une ligne de la table drive

appartiens.

43

Cas 4: Contrainte de partition

Une contrainte de partition stipule qu'une occurrence du supertype doit appartenir obligatoirement un des sous-types. D'o la prsence d'un attribut discriminant obligatoire, Sous-type, qui rattache l'occurrence un des deux sous-types admissibles.44

Etude de cas:Traduire le diagramme de classe suivant en modle logique correspondant

45

Chapitre 2 : Introduction aux bases de donnes

46

I Dfinitions:

Une base de donne est une collection des donnes inter-relies. C'est une entit cohrente logiquement et vhiculant une certaine smantique.

47

Un systme de Gestion De Bases De donnes (SGBD) est un ensemble de programmes qui permettent des utilisateurs de crer et maintenir une base de donnes. Les activits supportes sont la dfinition d'une base de donnes (spcification des types de donnes stocker), la construction d'une base de donnes (stockages des donnes proprement dites) et la manipulation des donnes (principalement ajouter, supprimer, retrouver des donnes). Les SGBD commerciaux les plus connus sont Oracle, Sybase, lnformix et DB2.48

Un SGBD spare la partie description des donnes, des donnes elles mmes. Cette description est stocke dans un dictionnaire des donnes (galement gr dans le SGBD) et peut tre consulte par les utilisateurs.

49

Un modle de donnes est un ensemble de concepts permettant de dcrire la structure d'une base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel .

50

Un schma de base de donnes (ou comprhension ou intension) est la description des donnes grer. Il est conus dans la phase de spcialisation et peut tre volutif (pratiquement statique). Une extension d'une base de donnes correspond aux donnes de la base un instant donn. Par dfinition cet tat est dynamique.

51

II- Fonctionnalits:

Nous donnons ici les caractristiques souhaitables des SGBD qui ne sont pas forcment prises en compte par les SGBD Commerciaux.

52

1- Contrler la redondance d'informations

La redondance d'informations pose diffrents problmes (cot en temps, cot en volume et risque d'incohrence entre les diffrentes copies). Un des objectifs des bases de donnes est de contrler cette redondance, voire de la supprimer, en offrant une gestion unifie des informations compltes par diffrentes vues pour des classes d'utilisateurs diffrents.53

2- Partage des donnes

Une base de donnes doit permettre d'accder la mme information par plusieurs utilisateurs en mme temps. Le SGBD doit inclure un mcanisme de contrle de la concurrence base sur des techniques de verrouillage des donnes (pour viter par exemple qu'on puisse lire une information qui est en train de se mettre jour). Le partage des donnes se fait galement par la notion de vue utilisateur qui permet de dfinir pour chaque classe d'utilisateurs la portion de la ou de donnes qui l'intresse (et dans la forme qui l'intresse).54

3- Grer les autorisations d'accs

Une base de donnes tant Multi-Utilisateurs, se pose le problme de confidentialit des donnes. Des droits doivent tre grs sur les donne de lecture, mise jour, cration, ... qui permettent d'affiner la notion d utilisateur.

55

4- Offrir des interfaces d'accs multiples

Un SGBD doit offrir plusieurs interfaces d'accs, correspondant aux diffrents types d'utilisateurs pouvant s'adresser lui.

56

On trouve des interfaces orientes utilisateur final (langages de requtes dclaratifs comme SQL avec mise en oeuvre graphique, interface de type formulaires ... ) ou bien orientes programmeurs d'applications (interface avec des langages de programmation classiques.

57

5- Reprsenter des relations complexes entre les donnes

Un SGBD doit permettre de reprsenter des donnes inter relies de manire complexe. Cette facilit s'exprime travers le modle de donnes sous jacent au SGBD. Chaque modle de donnes offre ses propres concepts pour reprsenter les relations.

58

6- Vrifier les contraintes d'intgrit

Un schma de base de donnes se compose d'une description des donne et de leurs relations ainsi que d'un ensemble de contraintes d'intgrit. Une contrainte d'intgrit est une proprit de l'application modliser qui renforce la connaissance que l'on en a.

59

On peut classifier les contraintes d'intgrit, en contraintes structurelles ( exemple : un employ a un chef et un seul ) et contraintes dynamiques ( exemple : un salaire ne peut diminuer). Les SGBD commerciaux supportent automatiquement un certain nombre de contraintes structurelles, mais ne prennent pas en compte les contraintes dynamiques (elles doivent tre codes dans les programmes d'application).60

7 - Assurer la scurit et la reprise aprs panne

Une base de donnes est souvent vitale dans le fonctionnement d'une organisation, et il n'est pas tolrable qu'une panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.

61

En ce qui concerne les risques lis aux pannes disques, les SGBD s'appuient sur un mcanisme de journalisation qui permet de rgnrer une base de donnes automatiquement partir d'une version de sauvegarde et du journal des mouvements.

62

III- Architecture Iogique d'un SGBDElle est dfinie sur trois niveaux:

niveau interne ou physique: dcrit le modle de stockage des donnes et fonctions d'accs

63

modle conceptuel ou logique: dcrit la structure de la base de donnes globalement tous les utilisateurs (limite la redondance). Le schma conceptuel est produit par une analyse de l'application modliser et par intgration des diffrentes vues utilisateurs. Ce schma dcrit la structure de la base indpendamment de son implantation

64

niveau externe: correspond aux diffrentes vues des utilisateurs. Chaque schma externe donne une vue sur le schma conceptuel une classe d'utilisateurs.

65

Le SGBD doit tre capable de faire des transformations entre chaque niveau, de manire transformer une requte exprime en terme du niveau externe requte du niveau conceptuel puis du niveau physique.(voir schma)

66

Schma externe

Schma externe

Schma externe

Correspondance externe/ conceptuel

Schma conceptuelCorrespondance Conceptuel/physique

Schma physique

67

Chapitre 3 : Le Modle relationnel

68

I- INTRODUCTION

:

Le modle relationnel a t invent par CODD IBM San Jos . Au modle relationnel est associ une thorie qui ne peut tre spare du modle: La thorie de la normalisation des relations. Cette thorie a pour but d'liminer les comportements anormaux des relations lors des mises jour Elle permet aussi d'liminer les donnes redondantes et de mieux connatre les relations smantiques entre donnes.69

II- LES CONCEPTS DE BASE DU MODELE

Le concept de relation dcoule directement de la thorie des ensembles. Nous allons en rappeler la dfinition qui ncessite tout d'abord l'introduction de la notion de domaine.

Notion: Domaine (DOMAIN) Ensemble de valeurs

70

Exemples:

Le domaine des entiers E={0,1, 2,. } -Le domaine des boolens {0,1} Le domaine des couleurs du drapeau marocain compos des {Rouge, Vert}

71

Rappelons que le produit cartsien d'un ensemble de domaines Dl, D2 ... Dn, not Dl x ... x Dn, est l'ensemble des n-uplets ou tuples tels que Vi Di. Par exemple, le produit cartsien des domaines Dl = {ROUGE, VERT} et D2= {O, l} est compos de quatre tuples.

72

ROUGE 0 ROUGE 1 VERT VERT 0 1

73

On peut maintenant introduire la notion de relation:Notion 2: Relation (RELATION) Sous-ensemble du produit cartsien d'une liste de domaines.

74

Une relation est gnralement caractrise par un nom. Par exemple, partir des domaines Dl={ROUGE, VERT} etD2{O, l} On peut composer la relation V AL

75

VAL

D1ROUGE ROUGE VERT

D20 1 0

76

Notion 3: Attribut (A TTRIBUTE) Colonne d'une relation caractrise par un nom.

En premire approche, un schma de relation est le nom de la relation suivi de la liste des attributs avec leurs domaines. Ainsi toute relation, il est possible d'associer un schma de relation qui reprsente (au moins en partie la relations, alors que le tableau avec les tuples reprsente un extension possible.

77

Par exemple, une relation dcrivant des voitures et comportant les attributs: NV,MARQUE, TYPE, PUISSANCE, COULEUR, aura pour schma: Voiture (NV : entier, MARQUE: caractre (l0), TYPE: caractre (4), PUISSANCE: entier, COULEUR: char(15).

78

Afin de simplifier, on ne prcise en gnral pas les domaines. On peut maintenant introduire la notion de base de donnes relationnelle.Notion 4 : Base de donnes relationnelles ( Relational database) Base de donn dont le schma est une ensemble de schmas de relations dont les occurrences sont des tuples de ces relations.

79

III) L'approche par dcomposition

L'approche par dcomposition permet de concevoir des schmas relationnels tend partir d'une relation compose de tous les attributs, appele la relation universelle, et dcomposer cette relation en sous relations qui ne souffriront pas danomalies La comprhension de la thorie de la dcomposition des relations ncessite la connaissance de deux oprations lmentaires:La projection et la jointure.80

a)La projection

La projection est l'opration qui consiste supprimer les attributs d'une relation et liminer les tuples en double qui risquent d'apparatre dans la nouvelle version obtenue. Elle est reprsente par

81

Exemple:Soit la relation intervenir(identit employ, type intervention, marque). On veut dterminer la liste des noms des employs ainsi que la liste des types dintervention. INTERVENIR Identit Employ Type InterventionTussier Tussier Martin Martin Martin Martin Piquard Piquard Piquard Dpannage Dpannage Electricit Electricit Mcanique Mcanique Carrosserie Carrosserie Alarme

MarquePeugeot Citron Citron Renault Fiat Ford Fiat Ford Fiat

identitemplooy (INTERVENIR)Tussier Martin Piquard

typeintervention (INTERVENIR)Dpannage Electricit Mcanique Carrosserie Alarme

82

b)jointureL'opration inverse de la projection est la jointure naturelle ou simplement jointure. La jointure naturelle de deux relations R et S, de schmas respectifs R (Al, A2, ... An) et S (BI, B2, ... Bp) est une relation ayant pour attributs l'union des attributs de R et S, soit: {AI,A2, ... An} U {BI,B2, .. Bp} et pour tuples tous ceux obtenus par concatnation des tuples de R et S ayant mmes valeurs pour les attributs de mme nom.

83

Exemple de jointure naturelle de deux relations R et S, que l'on note RSR Marque RENAULT PEUGEOT CITROEN RENAULT COULEUR ROUGE VERTE BLEUE VERTE RS Marque Couleur puissance

S

Couleur

puissance

Rouge Verte Bleue Bleue Verte

6 9 2 5 6

RENAULT PEUGEOT PEUGEOT CITROEN CITROEN RENAULT RENAULT

Rouge Verte Verte Bleue Bleue Verte Verte

6 9 6 2 5 9 6

84

Etude de cas :Le Tableau suivant reprsente les donnes relatives aux personnes qui possdent des vhicules :NVMARQUE

TYPE

PUIS

COUL

NCIN

NOM

PREN

DATE

PRIX

4200-12 13001-11 1 800-1 2 1001-2 7 400-2 2

RENAULTPEUGEOT CITROEN CITROEN RENAULT

R12TS504 2CV AM18 R18B

69 2 5 9

ROUGEVERTE BLEUE BLEUE VERTE

Q 1019Q 1019 I 9003 I 9003 L 8720

HassouniHassouni Karimi Karimi LAMALIF

SAIDSAID FARID FARID HAMZA

10.2.7511.6.80 20.4.76 20.8.80 11.9.81

10.00050.000 5.000 20.000 25.000

1)

Enumrer et rsumer tous les problmes que cette reprsentation de donnes semble poser. 2) En vous basant sur lopration de projection, dcomposer la relation reprsente par le tableau en dautres relations ? 3) Comment retrouver toutes les donnes partir de ces relations?85

Chapitre 4: Dpendances fonctionnelles et Normalisation

86

La notion de dpendance fonctionnelle fut introduite par CODD afin de caractriser des relations qui peuvent tre dcomposes sans perte dinformations, et pour dterminer pour chaque valeur de lidentifiant ,une seule occurrence de la relation .Un attribut (ou groupe d'attributs) Y dpend fonctionnellement d'un attribut (ou groupe d'attributs) X, si, tant donn une valeur de X il lui correspond une valeur unique de Y (et ceci quelque soit l'instant considr)87

A titre d'exemple:soit la relation Voiture(Nv,couleur,type,marque ,puissance) Dans cette relation on a les dpendances fonctionnelles suivantes: NV-->COULEUR TYPE-->MARQUE TYPE-->PUISSANCE (Type. Marque) ->PUI SSANCE88

Par contre les dpendances fonctionnelles suivantes sont inexistantes:

PUISSANCE---/--->TYPE TYPE---/ --->COULEUR

89

2. Proprits des dpendances fonctionnellesLes DF obissent plusieurs rgles d'infrence triviales.

1.Rflexivit : Y C X ==> x-> y ; cette rgle stipule que tout ensemble d'attributs dtermine lui-mme ou une partie de lui-mme.

90

2. Augmentation: X-> Y==> XZ-> YZ ; cette rgle signifie que si X dtermine Y. Les deux ensembles d'attributs peuvent tre enrichis par un mme troisime.

91

Une rgle d'infrence moins triviale est la transitivit. 3. transitivit: X->Y et Y->Z ==> X->Z

Exemple: NV->TYPE et TYPE ->PUISSANCE ON dduit: NV => PUISSANCE

92

3.Graphe des dpendances fonctionnelles

Soit un ensemble F de dpendances fonctionnelles lmentaires. Dans le o tous les attributs gauches sont uniques, il est possible de visualiser cet ensemble de DF par un graphe appel graphe des dpendances fonctionnelles. A titre d'exemple, considrons l'ensemble de dpendance fonctionnelles entre les attributs de la relation VOITURE:

93

F= {NV->TYPE; TYPE ->MARQUE; TYPE-> PUISSANCE ;NV >CQULEUR). Le graphe associ est reprsent :

94

4. Notion de cl et trois premires formes normales4.1. cl de relation

La notion de cl de relation est un concept essentiel du modle relationtionnel. Bien que la notion intuitive de cl soit bien connue, il est possible d'en donner une dfinition plus formelle partir de celle, de dpendance fonctionnelle.

95

Notion 5 : Cl de relation (Relation Key)

1)Sous-ensemble X des attributs d'une relation(A1,A2 ..... An) 1) X->AI,A2, .... An 2) Il n'existe pas de sous-ensemble YCX tel que Y ->AI, A2 .. An

96

4.2. Dfinition des trois premires formes normales

Les trois premires formes normales ont pour objectif de permettre la Dcomposition de relations sans perdre d'informations, partir de la notion de dpendance fonctionnelle. L'objectif de cette dcomposition est d'aboutir un Schma conceptuel qui ne reprsente pas de redondances.

97

Notion 6: Premire Forme Normale (FirstNormal Form) une relation est en premire forme normale si tout attribut contient une valeur atomique.

98

Cette forme normale est justifie par la simplicit et l'esthtique. Elle consiste simplement viter les domaines composs de plusieurs valeurs. La deuxime forme normale permet d'assurer l'limination de certaines redondances en garantissant qu'aucun attribut n'est dtermin seulement par une partie de la cl.

99

Exercice dapplication: Soit la relation:Personne( idpersonne ,Identit,Adresse,Voitures) Qui renseigne sur les voitures appartenant une personne. Nb:Voitures est un champ contenant les matricules des diffrents vhicules appartenant une personne. Cette relation , Est elle en premire forme normale?

100

Notion 7: Deuxime forme normale (Second

normal form) 1.une relation R est en deuxime forme normale si et seulement si : 1 .Elle est en premire forme; 2. Tout attribut n'appartenant pas une cl ne dpend pas que d'une partie de cette cl.

101

Exercice dapplication: soit la relation OPERATION(NCompte*,CodeOpe*,DateOpe*,Nom,Prenom,LibelOpe, Somme) on note que : - Nom et Prnom dpendent fonctionnellement de NCompte -Libell d'opration dpend fonctionnellement de Code opration Est elle en deuxime forme normale?

102

Notion 8 : troisime forme normale

Une relation est en troisime forme normale SSI : 1.Elle est en deuxime forme normale. 2.Elle ne permet pas une dpendance fonctionnelle transitive

103

Exercice dapplicationsoit la relation ADHERENT(CodeAdh,NomAdh,AdressAdh,Typ Adh,Cotis Adh) On impose que la cotisation de l'adhrent dpend fonctionnellement du type de l'adhrent. Est elle en : troisime forme normale?

104

4.3. Forme normale de BOYCE-CODD

Considrons la relation FRUITS (TYPE, PAYS, REGION) dont la cl est le couple , avec les dpendances fonctionnelles supposes: REGION->PAYS (TYPE, PA YS)->REGION

105

Cette relation est bien en troisime forme normale car aucun attribut non cl ne dpend d'une partie de la cl ou d'un attribut non cl. Cependant, l'extension de cette relation prsente de nombreuses redondances.

106

FRUITS

TYPE

PAYS

Rgions

Oranges Pommes Poires Cerises Raisin

Maroc Maroc Maroc Maroc France

Saisse Saisse Saisse Saisse Boujeaulais

107

Extension et DF de la relation FRUITS

Afin d'liminer ces types de redondances. BOYCE et CODD ont introduit la forme normale qui porte leur nom(en abrg BNCF).

108

Notion 9 : Forme normale de Boyce Codd(Boyce Codd Form) une relation est en BNCF si et seulement si les seules dpendances Fonctionnelles lmentaires sont celles dans lesquelles une cl dtermine un attribut.

*Type (type, Rgion)

*Rgion (Rgion, pays)

109

Etude de cas:Le schma de relation Prime donne la liste des primes attribues au personnel technique en fonction des machines sur lesquelles il travaille. PRIME(idMachine, atelier, idTechnicien, montantPrime, nomTechnicien) Supposons les dpendances fonctionnelles suivants: - idMachine atelier - idTechnicien nomTechnicien - (idMachine, idTechnicien) montantPrime 1) Proposer un identifiant pour ce schma de relation. 2) En quelle forme normale se trouve ce schma de relation? Pourquoi? 3) Normaliser ce schma de relation jusqu la forme de Boyce Codd.110

4.4. Dpendances multivalues et quatrime forme normale a .Dpendances multivalues:

La notion de dpendance fonctionnelle nous a conduit dcomposer les relations en troisime forme normale et en forme normale de BoyceCodd.

111

Ceci est insuffisant pour liminer les redondances et les anomalies de mise jour. Considrons par exemple la relation: PARTICIPANT (NP, COURS, SPORTS) O NP est le numro du participant , COURS: les cours suivis et SPORTS: les sports pratiqus.

112

PARTICIPANT

NP COURS100 100 200 200 200 Base de donnes Base de donnes Base de donnes Base de donnes mathmatiques

SPORTTennis Football Vlo Vlo Vlo

Relation en troisime forme normale avec redondance

113

Il apparat clairement des redondances dans cette relation, et cependant, du fait de l'absence de dpendances fonctionnelles, elle est jusque-l non dcomposable. L'exemple prcdent montre l'insuffisance de la notion de dpendance fonctionnelle qui ne permet pas de saisir l'indpendance qui existe entre des attributs tel que COURS suivi et SPORT pratiqu. Pour cela, on gnralise la notion de DF en introduisant celle de dpendance multivalues (DM).

114

Notion 10: Dpendance multivalue (Multivalueddependency)

Soit R (A1A2 .... An) un schma de relation et X et Y des) sous-ensembles de A1.A2..An. On dit que X->-> y (X multi dtermine Y, ou il y a une dpendance multivalue de Y sur X) si, tant donnes des valeurs de X il Y a un ensemble de valeurs de Y associes et cet ensemble est indpendant des autres attributs .

115

Exemple: Soit la relation :

VOL (NV,AVION,PILOTE) o NV est un numro de vol. On suppose disposer d'un ensemble d'avions et d'un ensemble de pilotes. Tout pilote est conduit piloter tout avion sur n'importe quel vol. Ainsi, avion et pilote sont indpendants. D'o les deux DM lmentaires:

NV AVION ;NV PILOTE

116

Soit encore la relation: PERSONNE (N CIN, PRENOM ENFANT, NVEHICULE)

II est clair que l'on a les DM lmentaires: NCIN PRENOM ENFANT; NCIN N VEHICULE.

117

b) Quatrime Forme Normale

La quatrime forme normale est une gnralisation de la forme normale de Boyce Codd afin de dcomposer les relations ayant des DM lmentaires. Notion 11: Quatrime forme normale (Forthnormal form) une relation est en quatrime forme normale si et seulement si les seules dpendances multivalues lmentaires sont celles dans lesquelles une cl dtermine un attribut.118

A titre d'exemple, la relation PARTICIPANT (NP, COURS, SPORT) n'est pas en quatrime forme normale: la cl est l'ensemble des attributs et il existe des DM lmentaires:

NP COURSNP SPORT entre des attributs participants la cl.

119

Il a t montr que toute relation a une dcomposition (pas forcment unique) en quatrime forme normale qui est sans perte. Par exemple la relation PARTICIPANT peut-tre dcompose en deux relations (NP, COURS) et (NP,SPORT) qui sont bien en quatrime forme normale.

120

Chapitre 5 : L'agbre relationnelle

121

L'algbre relationnelle se Compose d'un ensemble d'oprateurs oprant sur des relations et produisant de nouvelles relations. Il est donc possible de construire de nouvelles informations partir des relations de dpart et d'une composition squentielle d'oprateurs. De nombreux oprateurs relationnels ont t proposs, on peut cependant prsenter ici les plus courants. On peut classifier les oprateurs relationnels en trois catgories:122

les oprateurs unaires : affectation, slection et projection les oprateurs binaires travaillant sur des relations de mme schma: union, intersection, diffrence les oprateurs binaires travaillant sur des relations de schmas diffrents: jointure, produit cartsien, thta-jointure, division .

123

1. Oprateurs unaires :

affectation: R(AI, ... , An) = expression de slection l'affectation permet de sauvegarder le rsultat d'une expression de recherche, ou bien de renommer une relation et ses attributs.

124

slection: SELECTION condition de sIection (R) la slection prend en entre une relation R dfinie sur un schma SR et produit en sortie une nouvelle relation de mme schma SR ayant comme nuplets ceux de R satisfaisant l'expression de slection. Une expression de slection est une condition boolenne construite partir des connecteurs logiques et, ou, non et de conditions simples125

- projection: PROJECTION Al, .... An (R) la projection prend en entre une relation R dfinie sur un schma SR et produit en sortie une nouvelle relation de schma Al, ... , An (schma inclus dans SR) ayant comme nuplets ceux de R restreints au sous-schma Al, .... An. Il faut noter que la cardinalit de la nouvelle relation est infrieure ou gale celle de R, puisque des doublons ont pu tre produits par la projection et sont donc supprims (une relation est toujours un ensemble).

126

b) Oprateurs binaires de mme schma:Les trois oprateurs ensemblistes oprent sur des relations R et S de mme schma SRS.- union: R UNION S produit une nouvelle relation de schma SRS ayant les nuplets de R et ceux de S (les doublons sont supprims). - intersection: R INTERSECTION S produit une nouvelle relation de schma SRS ayant les nuplets prsents dans R et dans S.

127

- diffrence: R - S produit une nouvelle relation de schma SRS ayant les nuplets de R qui ne sont pas dans S. Attention, la diffrence n'est pas commutative.

128

c) Oprateurs binaires de schmas diffrents:

Soient R et S deux relations dfinies sur les schmas SR et SS.- jointure: R * S

II faut que les schmas SR et SS aient une intersection SRS non vide. La relation produite a un schma qui est l'union des schmas SR et SS et dont les nuplets sont la concatnation des nuplets de R avec ceux de S s'ils ont mme valeur pour tous les attributs communs (c'est dire ceux de SRS).129

-produit cartsien:RX S

II faut que les deux schmas SR et SS soient disjoints. La relation produite a un schma qui est l'union des schmas SR et SS et dont les nuplets sont la concatnation des nuplets de R avec ceux de S. Attention le nombre d'lments du produit cartsien est le produit des cardinalits des relations R et S130

R est dfinie sur un schma SR compos des ensembles d'attributs X, Y (SR = X UNION Y) et S est dfinie sur un schma SS compos de l'ensemble d'attributs Y (SS = Y). La relation produite de RIS comprend tous les nuplets dont la concatnation avec tous les nuplets de S appartient R.

131

Etude de Cas : Une matresse de maison sest constitue une base de donnes sur les personnes quelle invite et les plats quelle leur sert. Cette base de donnes est compose des trois relations : Repas(date,invit):donne la liste des invits qui ont t reus et quelle date; Menu(date,plat): donne le menu servi chaque date; Prfrence(personne,plat):donne pour chaque personne ses plats prfres . A laide de lalgbre relationnelle ,rpondre aux requtes suivantes: Q1:Quels sont les invits du repas du 01/04/2010 ? Q2:Quels sont les repas qui ont t servi Hassan ? Q3:Quel est le produit cartsien entre repas et Prfrences ? Q4:Quels sont les personnes qui nont jamais t invit ? Q5:Quels sont les invits qui sont venus tous les repas ?132

Chapitre 6 : Le langage SQL

133

1. Dfinition:

SQL = Structured Query Language, issu de SEQUEL (Structured English as a Query Language) .SQL permet la dfinition, la manipulation et le contrle d'une base de donnes relationnelle. Il se base sur l'algbre relationnelle.

134

2.Dfinition des donnesa) dfinitions des tables(relations):

CREATE TABLE (Attribut1 TYPE, Attribut2 TYPE, .... contrainte _ intgrit l, contrainte _integrit2, ... ); Type des donnes: NUMBER (n) : Entier n chiffres NUMBER (n, m) : Rel n chiffres au total (virgule comprise), m aprs la virgule

CHAR(n) : Chane de n caractres DATE: Date au format 'JJ-MM-AAAA.'135

b)dfinition des contraintes d'intgrit :

Clprimaire: CONSTRAINT nom contrainte PRIMARY KEY (attribut_cl [, attribut_c12, ... ]) Cl trangre: CONSTRAINT non1 contrainte FOREIGN KEY (attribut_c1_t) REFERENCES table(attribut) Contrainte de domaine: CONSTRAINT non1_contrainte CHECK (condition)136

Exemple:CREATE TABLE Client (NumCli NUMBER(3), Nom CHAR(30), DateNaiss DA TE, Salaire NUMBER(8,2), NumEmp NUMBER(3), CONSTRAINT cle-pri PRIMARY KEY (NumCIi), CONSTRAINT cle_etr-FOREIGN KEY (NumEnlp), REFERENCES EMPLOYEUR(NumElnp), CONSTRAINT date-ok CHECK (DateNaiss

Recommended

View more >