Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Base de donnes Une base de donnes (B.D.) consiste en une collection de donnes persistantes utilises par des systmes dapplication de certaines entreprises [Dat95]. Persistantes Ephmres (E/S, transitoire). Entreprise :
individu (un mdecin) socit complte avec une base de donnes partage (banque, universit).
Avantages BD/fichiers lis l'application Compacit /fichiers manuels volumineux : fiches cartonnes par exemple, o le risque de perte d'information est important, Rapidit : recherche et mise jour rapide BD importante Intgres : regroupement de plusieurs fichiers de donnes o toute redondance a t totalement ou partiellement limine. Incohrence les fichiers sont conus pour satisfaire les besoins d1 appl. Il s'ensuit qu'une mme infos peut tre reprsente dans plusieurs fichiers. Si elle intervient dans 2 appl, elle peut mme se prsenter diffremment (format, codage,). Cela entrane un risque de conflit : lors d'une maj par ex, tous les duplicatas ne sont pas maj en mme temps par suite de leur non appartenance l'application qui ralise cette maj Partages les ut. peuvent faire usage de ces donnes pour des buts divers. Ils peuvent galement accder aux mmes donnes simultanment.
Trois niveaux sont proposs par le groupe ANSI/SPARC pour larchitecture dune base de donnes. Niveau externe (vue d'un utilisateur)
Niveau conceptuel
Niveau interne
Le niveau externe est le niveau relatif aux utilisateurs : il concerne la manire dont les utilisateurs voient la base de donnes, il correspond au schma externe. Le niveau conceptuel sintresse la vue commune tous les utilisateurs de la base de donnes, il correspond au schma conceptuel. Le niveau interne est le niveau relatif la mmoire physique, il concerne la manire selon laquelle les donnes sont rellement stockes, il correspond au schma interne. Il existera plusieurs vues externes distinctes, chacune delles correspond une reprsentation plus ou moins abstraite dune partie de la base de donnes et il nexistera quune seule vue conceptuelle qui donnera une reprsentation abstraite de la totalit de la base de donnes. De mme quil nexistera quune seule vue interne reprsentant la totalit de la base telle quelle est enregistre en mmoire.
Un SGBD est un logiciel qui prend en charge tous les accs la BD; gnralement il dispose des fonctionnalits suivantes Dfinition des donnes Cette fonction permet de dfinir les donnes (schmas externes, schma conceptuel, schma interne et tous les liens correspondants) sous une forme non compile et de les convertir dans la forme objet approprie. Le SGBD doit donc tre muni dun langage de dfinition de donnes (LDD). Manipulation de donnes Cette fonction permet de traiter les requtes de lutilisateur pour interroger, modifier, supprimer ou insrer de nouvelles donnes. Dans ce cas, le SGBD est muni dun langage de manipulation de donnes (LMD). Les requtes peuvent tre prvues ou non prvues
Les requtes prvues sont intgres dans un programme dapplication crit en langage hte. Dans ce cas, ladministrateur de la BD fait en sorte que la conception physique de la BD garantisse de bonnes performances pour de telles requtes. Les requtes non prvues sont mises en interactif, car le besoin ne sest pas fait sentir d'avance. Dans ce cas, la conception physique de la BD peut ne pas avoir t conue de manire rpondre efficacement de telles requtes. Ce problme reprsente un dfi pour les concepteurs actuels de SGBD.
Scurit et lintgrit des donnes Des rgles de scurit et dintgrit doivent tre dfinies par ladministration de la base de donnes. Le SGBD supervise les requtes des utilisateurs et rejette toute tentative de violation de ces rgles. Reprise et laccs simultan Le SGBD, par le biais dun gestionnaire de transactions assure certains contrles relatifs la reprise aprs pannes et l'accs concurrent.
Indpendance logique. Elle permet de modifier le schma conceptuel, par exemple en ajoutant de nouvelles classes dobjets ou bien de nouvelles associations, sans modifier les programmes dapplications. Lindpendance des donnes est un des objectifs majeurs des SGBD. Elle peut tre dfinie comme limmunit des applications face tout changement survenant dans la structure de mmorisation ou dans la technique daccs.
Diffrents modles de donnes Il existe trois grandes catgories de modles de donnes : le modle hirarchique, le modle rseau et le modle relationnel. Les deux premires catgories de modle ont donn naissance la plupart des systmes commercialiss dans les annes 70. Le modle relationnel dont les premires ides sont apparues vers 1970 est le plus commercialis actuellement. Actuellement on parle aussi des modles orients objets : ils prennent en compte des donnes plus complexes (documents, images, etc).
Modle Hirarchique Ce modle est n aprs une tentative de gnralisation des notions dveloppes dans COBOL. Le systme le plus reprsentatif est le SGBD IMS dvelopp par IBM. Ce qui caractrise ce systme est la trs forte dpendance entre la description de la structure de donnes et la manire dont ces dernires sont enregistres sur le support accs direct. Ex : Une BD dcrivant l'association qui lie les fournisseurs aux pices qu'ils commercialisent et inversement. A chaque segment fournisseur est associ un ou plusieurs segments pice. L'unit d'accs est le segment, et l'on ne peut accder un segment sans accder son suprieur hirarchique : si l'on veut tablir la liste des pices, il faudra analyser pour chaque fournisseur la liste des pices fournies : on ne pourra donc pas faire abstraction de la prsence des fournisseurs. Cette contrainte impose par la hirarchie pour accder aux informations est trs forte et contraignante. Il s'ensuit qu'une mauvaise conception du schma de la BD peut tre l'origine de performances mdiocres.
Structure Hirarchique
F1
120
P1 P2 P3 P4 P5 P6
Ecrou
Zinc
17
Paris
400
Ecrou Came
Fer Zinc
14 12
Alger Tunis
200 100
Clou
Fer
19
Alger
100
F2
Bouzid
Vis Boulon
110
Tunis
Fer Acier 12 17 Alger Tunis 300 400
P1 P2 F3
Mamir
Tunis Fer Alger Fer Fer Zinc 12 14 12 Alger Alger Tunis 200 300 400 12 Alger 200
P2
F4
Kaci
P2 P4 P5
En ce qui concerne les oprations classiques de mise jour (insertion, modification, suppression), la hirarchie impose souvent l'utilisation d'artifices : Insertion. Enregistrer les caractristiques d'une nouvelle pice alors que celle-ci n'est fournie par aucun fournisseur : introduire un fournisseur fictif. Suppression. Supprimer le seul fournisseur d'une pice particulire, l'information concernant cette pice disparat aussi. La notion de hirarchie implique que la suppression d'un segment entrane celle de tous les segments subordonns.
Modification. Pour modifier un champ dune pice, il est ncessaire d'examiner toutes les listes de pices fournies par les fournisseurs : un examen complet de la base.
DL/1 (nom du langage de manipulation de donnes IMS). Q1 Trouver les pices fournies par F2? Q2 Trouver les fournisseurs qui fournissent P2? GET UNIQUE fournisseur WITH NF = 'F2' NEXT: GET NEXT pice FOR THIS fournisseur pice FOUND ? IF NOT Exit. PRINT NP. GO TO NEXT. NEXT 1 : GET TO START OF DATA GET NEXT fournisseur Fournisseur FOUND? IF NOT, EXIT. GET UNIQUE pice FOR THIS fournisseur WITH NP = 'P2' Pice FOUND ? IF NOT GO TO NEXT1 PRINT NP. GET NEXT 2. Exit.
NEXT 2 :
Exit.
Modle rseau
Les caractristiques du modle rseau ont t dfinies par le DBTG (Data Base Task Group) de CODASYL (Conference On Data System Language). L'objectif du modle a t de dvelopper le modle hirarchique notamment pour dcrire les liaisons (m, n) et diminuer la contrainte de la hirarchie. De plus, le groupe a introduit le concept de sous-schma, fondamental pour traiter les problmes de scurit, d'intgrit, de confidentialit et de partage des donnes. Une structure rseau permet de mettre en uvre des liaisons (m, n). Les lments du modle sont appels ''records''.
Description des associations Fournisseur M-N Pice Nous distinguons trois types de liens dans le modle rseau : 1.: un objet de A correspond un et un seul objet de B et vice versa 1-N : un objet de A peut correspondre un plusieurs objets de B mais inversement, un objet de B ne peut correspondre quun seul objet de A (lien hirarchique). M-N : un objet de A peut correspondre un plusieurs objets de B et inversement. QTE
Le modle rseau CODASYL En 1969 a eu lieu la confrence appele CODASYL (Conference On Data System Language) dont un groupe, le DBTG (Data Base Task Group) a normalis et prsent des concepts communs pour la dfinition de schmas rseaux. Tous les types dobjets reprsents par des nuds sont identifis par des cls. Une cl est un atome ou un agrgat qui permet didentifier de manire unique chaque record. De plus, le groupe a introduit le concept de sous-schma, fondamental pour traiter les problmes de scurit, d'intgrit, de confidentialit et de partage des donnes. Les types de liens supports par la norme CODASYL sont les liens 1-1 et 1-N. Le lien CODASYL est appel SET. Un SET est un lien entre un enregistrement propritaire appel OWNER et un ou plusieurs enregistrements membres appel MEMBER. Un enregistrement ne peut tre la fois propritaire et membre dun mme SET (pas de boucle). Cependant un enregistrement peut tre propritaire de plusieurs SET diffrents et ou membre de plusieurs SET diffrents.
Transformation du lien M-N Le lien M-N ne peut tre reprsent directement dans la norme CODASYL, tant donn que celle-ci ne prend en charge que les liens de type hirarchique (owner-member). Un artifice est utilis qui consiste crer un enregistrement intermdiaire, avec deux liens 1-N Exemple : Transformation du rseau fournisseur-piece FOURNISSEUR
OWNER
OWNER
PIECE SET2
SET 1
FOURNISSEURFOURNITURE Record intermdiaire FOURNITURE PIECEFOURNITURE MEMBER
Pour prsenter d'une manire claire cette implmentation, nous allons restreindre la liaison fourniture qui nous sert d'exemple comme suit :
NF F1 F1 F1 F2 F2
NP P1 P2 P3 P1 P3
F1
Haroun
120
ALGER
F2
Bouzid
110
Tunis
P1
Vis
Fer
12
Alger
P2 Boulon Acier
17
Tunis
P3 Ecrou
Zinc
17
Paris
FIND Fournisseur WITH FIND pice WITH NP = 'P2' NF = 'F2 NEXT : FIND NEXT LINK FOR NEXT : FIND NEXT LINK FOR THIS Fournisseur. THIS pice. LINK FOUND?IF NOT, EXIT LINK FOUND? IF NOT, EXIT FIND Pice FOR THIS LINK FIND Fournisseur FOR THIS LINK GET pice. GET fournisseur. PRINT NP. PRINT NF. GO TO NEXT. GO TO NEXT. EXIT. EXIT.
Problmes de stratgie d'accs : si l'on veut trouver la quantit des pices P2 fournie par F2. Faut-il dans ce cas rechercher le fournisseur F2 et retrouver P2 ou inversement. On constatera gnralement que selon le cas, les temps de rponse seront diffrents. Insertion : Il est trivial d'ajouter une nouvelle pice. Initialement il n'y aura pas de liens. Suppression : Il est possible de supprimer F1 sans P6 et inversement. Modification : ne pose pas de problme particulier.
Le majeur inconvnient de la structure rseau rside dans la ncessit de parcourir des chanages et de grer des points courants. La gestion des points courants est trs dlicate cause des interactions des instructions du LMD sur ces points courants.
Les entits, associations et proprits sont classes et dfinies par des types : lentit type Employ , lassociation type prefils ou la proprit type Nom . Un type dfinit en intension ou extension une population dobjets de la mme nature. On parle aussi de classe dentit ou classe dassociation. Une entit ou une association sont caractrises par le doublet attribut valeur Exemples Employ :{e1} : (Nom, Ali), (Date naissance, 251268), (Salaire, 400000) e1 est une instance ou occurrence du type ou de la classe Employ O Nom appartient au domaine Char (30) Date naissance appartient au domaine Int(6)
Exemple
Affectation (Employ, Projet : Datedeb, Datefin)
E2
P2
Ek
Pi
EMPLOYE
affectation
PROJET
Nom
Datenaiss
Dure Datefin
Datedeb Numro
Association binaire
1 entit type peut jouer plusieurs rles dans une association type
Rle 1 : est supervis
EMPLOYE
SUPERVISION
Une entit peut jouer plusieurs rles dans ses relations avec une autre entit type
CHEF
EMPLOYE
PARTICIPANT
PROJET
Une cl est un attribut ou groupe dattribut dont les valeurs permettent didentifier de manire unique les entits dun mme type.
La spcification de la cl dune entit type implique une contrainte dunicit sur lextension de lentit type. Exemple : FOURNISSEUR : NF PIECE : NP La cl dune association type est la combinaison des cls des entits types participantes
La cardinalit est le nombre dassociations auxquelles une entit peut participer. Il existe trois cardinalit prdfinies 1-1 : une instance de lobjet A est associe une et une seule instance de lobjet B. 1-n : une instance de lobjet A est associe une ou plusieurs instances de lobjet B. n-m : une instance de lobjet A est associe une ou plusieurs instances de lobjet B et inversement.
Modles relationnels
La plupart des recherches de ces 40 dernires annes se sont bases sur lapproche relationnelle. Elle reprsente aujourdhui la tendance principale du march. La raison est que le modle relationnel est fond sur des bases mathmatiques qui facilitent son enseignement. Un systme relationnel est un systme dans lequel : lutilisateur peroit les donnes comme des tables, les oprateurs gnrent de nouvelles tables rsultats partir des tables existantes. Par exemples, des oprateurs extraire certaines lignes ou certaines colonnes, qui sont elles mmes des tables. De tels systmes sont appels ''relationnels'' en raison du fait que le terme relation est le terme mathmatique le plus appropri pour une table.
Cl primaire
NF
NOM
CODE
VILLE
DOMAIN
NF
NOM
CODE
VILLE
F3 F4 F5
Degr
t-uples
F1 F2
Haroun Bouzid
120 110
Alger Tunis
Cardinalit
Relation
Fournisseur
NF NOM CODE VILLE
Fourniture 120 110 Alger Tunis Tunis Alger Oran NF F1 F1 F1 F1 F1 F1 F2 F2 F3 F4 F4 F4 NP P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P4 P5 QTE 300 200 400 200 100 100 300 400 200 200 300 400
F1 F2 F3 F4 F5
Haroun Bouzid
Pice NP NOM MATERIAU POIDS VILL E P 1 Vis Fer 12 Alger P 2 Boulon Acier 17 Tunis P 3 Ecrou Zinc 17 Paris P 4 Ecrou Fer 14 Alger P 5 Came Zinc 12 Tunis P 6 Vis Acier 13 Alger
Une relation R, sur un ens de dom D1, D2,, Dn qui ne sont pas ncessairement tous distincts - est constitue de deux parties, un en-tte (schma de la relation) et un corps (ensemble de lignes). Len-tte est un ensemble fix dattributs, des couples Nom Attribut; Nom Domaine A1 : D1, A2 : D2,, An : Dn , tel que chaque attribut Aj correspond exactement un des dom sous-jacents Dj (j=1,2,,n) Les noms des attributs A1, A2 , , An sont tous distincts. Le corps consiste en un sous-ensemble de n-uplets. Le nombre de n-uplets correspond la cardinalit de la relation, alors que le nombre dattributs correspond au degr de la relation. Chaque relation possde une interprtation ou une signification voulue. La relation fournisseur signifie : le fournisseur ayant un numro de fournisseur f possde un nom n, un code c, et se trouve dans une ville v. De plus, deux fournisseurs nont jamais le mme numro.
Formellement, la dclaration prcdente, est un exemple de ce quon appelle Prdicat, ou fct ayant une valeur de vrit. Ce prdicat (cette fct) comprend 4 arguments. Substituer les arguments par des valeurs quivaut invoquer la fct ou instancier le prdicat et de ce fait, produire une expression, appele proposition qui peut tre vraie ou fausse. Par exemple, la substitution :NF=f 1, NOM=Haroun, CODE=120, VILLE= Alger produit une proposition vraie. Par contre, la substitution NF=f1,NOM=Bouzid,CODE=120,VILLE=Alger, produit une proposition fausse. A tout instant, la relation contient exactement les n-uplets qui font que le prdicat va tre valu Vrai cet instant l. Une relation correspond ce que nous avons appel jusquici une table. Un n-uplet correspond une ligne dune table, un attribut une colonne.
Passage dun schma E/A vers un schma relationnel Le modle E/A possde deux structures (lentit et lassociation) alors que le modle relationnel une seule (la relation). Ainsi toutes les rgles de passage devront toutes aboutir des relations. Les liens existants entres les entits seront prservs en utilisant un mcanisme de rfrence bas sur les cls des relations. Deux grandes catgories de rgles vont permettre ce passage. Rgles de passage pour les classes dentits : Pour chaque entit du schma E/A : 1.On cre une relation de mme nom que lentit. 2.Chaque proprit de lentit, y compris lidentifiant, devient un attribut de la relation. 3.Les attributs de lidentifiant constituent la cl de la relation.
Exemple :
Client
Commande
ncli nomcladresse
Rgles de passage pour les associations : bases sur les cardinalits maximales Association de un plusieurs (1-N) : soit une association de un plusieurs entre deux entits A et B : 1. On cre les relations RA et RB correspondant respectivement aux entits A et B 2. Lidentifiant de A devient un attribut de RB (cl trangre)
0,n
0,1
Commande
adresse
Ncom
Date-com
Relation A: Client ( ncli, nomcli, adresse) Relation B : Commande (Ncom, date-com, ncli) Cl trangre
Association avec type entit faible : Une entit faible est une entit dont lexistence dpend toujours dune autre entit dite entit forte ou rgulire. Par exemple lentit ligne-commande ne peut exister que si lentit commande existe au pralable, ou encore une salle de cinma ne peut exister si le cinma a t identifi. Dans ce cas, le passage est identique celui dune association 1-N classique, auquel on rajoute la contrainte suivante : La cl trangre est une partie de lidentifiant de la relation reprsentant lentit faible. Exemple1 : Relation B : Commande (Ncom, date-com, ncli) Relation C : Ligne-commande (Ncom, Nligne, nproduit, qte) Exemple 2 : Relation Cinma (nomcinma, rue, ville) Relation Salle ( nomcinma, numro, capacit)
Associations binaires de plusieurs plusieurs (M-N) Soit une association binaire n-m entre deux entits A et B. 1.On cre une relation pour chaque entit soit RA et RB. 2.On cre une relation RAB pour lassociation m-n 3.La cl de cette relation est la concatnation des cls des relations RA et RB 4.Les proprits de lassociation si elles existent deviennent des attributs de RAB.
Fournisseur
1,n
Fourni tprix
1,m
Produit
Relation Fournisseur (Nfour, Nomfour, Adresse) Relation Produit (Nprod, Dsignation) Relation Fourni(Nprod, Nfour, prix)