Les BDD sont actuellement au cur du systme d'information des entreprises et au site web, comme un rservoir de fichier de donnes informatiques. 1-Quest-ce quune donne ? Cest une information quelconque comme, par exemple : voici une personne, elle sappelle Ali. Cest aussi une relation entre des informations : comme ali est un tudiant. 2-Quest ce donc une BDD ? Dfinition informelle On peut considrer une BDD comme une grande quantit de donnes centralises ou non , servant pour les besoins d'une ou plusieurs applications , interrogeables et modifiables par un groupe d' utilisateurs . Dfinition formelle Une base de donnes est un ensemble d'informations sur un sujet qui est : exhaustif, non redondant, structur, persistant. 3-Quest-ce quun SGBD ? Systme de Gestion de Base de Donnes: Un systme de gestion de base de donnes est un logiciel qui permet de : dcrire, modifier, interroger, administrer, les donnes d'une base de donnes. 4-Fonctions dun SGBD : Dcrire les donnes qui seront stockes Manipuler ces donnes (ajouter, modifier,supprimer des informations) Consulter les donnes et traiter les informations obtenues (slectionner, trier,calculer,...) Dfinir des contraintes d'intgrit sur les donnes (contraintes de domaines,d'existence,... ) Dfinir des protections d'accs (mots de passe, autorisations,...) Rsoudre les problmes d'accs multiples aux donnes (blocages, interblocages) Prvoir des procdures de reprise en cas d'incident (sauvegardes, journaux,...) 5- Objectifs des systmes de gestion de bases de donnes Des objectifs principaux ont t fixs aux systmes de gestion de bases de donnes ds l'origine de ceux-ci et ce, afin de rsoudre les problmes causs par la dmarche classique. Ces objectifs sont les suivants : Indpendance par rapport : -aux traitements : Pour faciliter la maintenance, un SGBD doit favoriser l'indpendance des traitements l'implantation physique des donnes :(codage, support d'enregistrement, ordre dans lequel les donnes sont enregistres,) l'implantation logique des donnes (existence d'index, dcomposition en "fichiers logiques",) Manipulations des donnes par des non informaticiens Il faut pouvoir accder aux donnes sans savoir programmer ce qui signifie des langages "quasi naturels". Efficacit des accs aux donnes Ces langages doivent permettre d'obtenir des rponses aux interrogations en un temps "raisonnable". Ils doivent donc tre optimiss et, entre autres, il faut un mcanisme permettant de minimiser le nombre d'accs disques. Tout ceci, bien sur, de faon compltement transparente pour l'utilisateur. Administration centralise des donnes Des visions diffrentes des donnes (entre autres) se rsolvent plus facilement si les donnes sont administres de faon centralise. Introduction aux bases de donnes SAOUDI Lalia
Non redondance des donnes Afin d'viter les problmes lors des mises jour, chaque donne ne doit tre prsente qu'une seule fois dans la base. Cohrence des donnes Les donnes sont soumises un certain nombre de contraintes d'intgrit qui dfinissent un tat cohrent.
6. Types dutilisateurs de base de donnes
L'administrateur de la base est charg du contrle de la base de donnes, en particulier, permettre l'accs aux donnes aux applications ou individus qui y ont droit de conserver de bonnes performances d'accs ces donnes - des sauvegardes et des procdures de reprise aprs les pannes. Le programmeur crit des applications qui utilisent la base de donnes il cre les tables et les structures associes (vues, index,...) utilises par ses applications L'utilisateur final n'a accs qu'aux donnes qui lui sont utiles par l'intermdiaire d'applications en interrogeant directement les tables ou vues sur lesquelles l'administrateur lui a accord des droits. 7. Cycle de vie d'une base de donnes 7.1 Conception On appelle conception d'une base de donnes la phase d'analyse qui aboutit dterminer le futur contenu de la base. Lorsqu'une entreprise dcide, pour son informatisation, d'adopter une approche base de donnes, le premier problme rsoudre, peut-tre le plus difficile, est de dterminer les informations qu'il conviendra de mettre dans la base de donnes. 7.2 Implmentation Ceci sera fait au moyen d'un langage symbolique, spcifique du SGBD choisi, que l'on appelle langage de description de donnes (LDD). Une fois que le SGBD aura pris connaissance de cette description, il sera possible aux utilisateurs d'entrer les donnes, c'est-- dire de constituer la premire version, initiale, de la base de donnes. 7.3 Manipulation Une fois l'implantation termine, peut commencer l'utilisation de la base de donnes. Celle-ci se fait au moyen d'un langage, dit langage de manipulation de donnes (LMD), qui permet d'exprimer aussi bien les requtes d'interrogation (pour obtenir des informations contenues dans la base) que des requtes de mise jour (pour ajouter de nouvelles informations, supprimer des informations primes, modifier le contenu des informations).
Introduction aux bases de donnes SAOUDI Lalia
2. Modle entit/Association Le modle Entit-Association (notation : EA) est aussi frquemment nomm Entit- Relation. Le modle EA propose des concepts (principalement les entits, les associations et les attributs) permettant de dcrire un ensemble de donnes relatives un domaine dfini afin de les intgrer ensuite dans une BD. - Le modle relationnel est pauvre en capacit de reprsentation smantique. Cependant, le concepteur de la BD a besoin de certaines informations smantiques que le modle EA lui permet de dcrire. - Il est difficile de modliser un domaine sous une forme directement manipulable par un SGBD. Une ou plusieurs modlisations intermdiaires sont donc utiles, le modle EA constitue l'une des premires et des plus courantes. 1-Entit et type-entit Dfinition : Une entit est un objet, une chose concrte ou abstraite qui peut tre reconnue distinctement. Dfinition : Un type-entit est un ensemble d'entits qui possdent les mmes caractristiques. Attention ! Par abus de langage, on utilise souvent le mot entit en lieu et place du mot type-entit, il faut cependant prendre garde ne pas confondre les deux concepts. o Exemples de type-entit : Personne, Automobile, Rgion o Exemples d'entit : Ali, Ridha, ma voiture, Msila 2-Attribut, proprit Dfinition : Un attribut (ou une proprit) est une caractristique associe un type- entit. Au niveau du type-entit, chaque attribut possde un domaine qui dfinit l'ensemble des valeurs possibles qui peuvent tre choisies pour lui (entier, chane de caractres, boolen). Exemples d'attribut : l'ge d'une personne, le code d'un fournisseur, le numro d'un produit Exemple de reprsentation graphique d'un type-entit avec deux attributs :
3-Association, relation Dfinition : Une association (ou une relation) est un lien entre plusieurs entits. Dfinition : Un type-association (ou un type-relation) est un ensemble de relations qui possdent les mmes caractristiques. Le type-association dcrit un lien entre plusieurs types-entits. Les associations de ce type-association lient des entits de ces types-entits. Introduction aux bases de donnes SAOUDI Lalia
Attention ! Par abus de langage, on utilise souvent le mot association en lieu et place du mot type-association, il faut cependant prendre garde ne pas confondre les deux concepts. *Exemples de type-association : le transport d'un produit vers un entrept, l'affectation d'un employ un service *Exemples d'association :, le transport de la Clio 3333 XR 06 vers le dpt de xxxx, le fait que Ali travaille au service Marketing o Exemple de reprsentation graphique d'un type-association :
Un type-association peut ne pas possder d'attribut et cela est relativement frquent. 4-Identifiant Dfinition : Un identifiant d'un type-entit ou d'un type-association est constitu par un ou plusieurs de ses attributs qui doivent avoir une valeur unique pour chaque entit ou association de ce type. *Exemples d'identifiant : le numro d'immatriculation d'une voiture, le code-barre d'un produit *Exemple de reprsentation graphique d'un identifiant (immatriculation) :
o On parle parfois de cl plutt que d'identifiant. o Chaque type-entit possde au moins un identifiant, ventuellement form de plusieurs attributs. Chaque type-entit possde au moins un attribut qui, s'il est seul, est donc forcment l'identifiant. o L'identifiant, qu'il soit explicite ou non, d'un type-association doit tre la concatnation des identifiants des types-entits lis. 5-Cardinalit Dfinition : La cardinalit d'un type-association est le nombre de fois minimal et maximal qu'une entit peut intervenir dans une association de ce type. La cardinalit minimale doit tre infrieure ou gale la cardinalit maximale. o Exemple de cardinalit : un client peut commander entre 1 et n produits. o Exemple de reprsentation graphique de cardinalit :
-L'expression de la cardinalit est obligatoire pour chaque patte d'un type-association. La cardinalit minimale peut-tre : - 0 Cela signifie qu'une entit peut exister tout en tant implique dans aucune association. Introduction aux bases de donnes SAOUDI Lalia
- 1 Cela signifie qu'une entit ne peut exister que si elle est implique dans au moins une association. - n Cela signifie qu'une entit ne peut exister que si elle est implique dans plusieurs associations. La cardinalit maximale peut-tre : - 0 Cela signifie qu'une entit ne peut pas tre implique dans une association. - 1 Cela signifie qu'une entit peut tre implique dans au maximum une association. - n Cela signifie qu'une entit peut tre implique dans plusieurs associations. Attention ! En toute logique, le cas 0 ne doit pas exister : il dmontre un problme de conception puisque le type-entit est inutile au type-association. Il faut alors reconsidrer la cardinalit ou retirer la liaison entre le type-entit et le type- association. 6-Dimension Dfinition : La dimension (ou une nombre de pattes) d'un type-association est le nombre de types-entits qui y participent. Si un type-entit participe plusieurs fois au type-association, il est compt autant de fois que de participations. on distingue Les associatio binaires : qui ne relient que 2 entits. Les association trinaires :qui ne relient que 3 entits. Les association n-aires : qui relie + ed trois entits Les association reflexives : qui relie 1 seule entit Remarques diverses o Une entit ou une association est souvent nomme occurrence ou instance de son type. o Un attribut ne peut en aucun cas tre partag par plusieurs types-entits ou types-associations. o Il est parfois difficile de faire un choix entre un type-entit et un type- association : un mariage est-il un type-association entre deux personnes ou un type-entit pour lequel on veut conserver un numro, une date, un lieu, etc. et que l'on souhaite manipuler en tant que tel ? Le contexte doit aider rpondre ce genre de question. o Lorsqu'on ne parvient pas trouver d'identifiant pour un type-entit, il faut se demander s'il ne s'agit pas en fait d'un type-association. Si ce n'est pas le cas, un identifiant arbitraire numrique entier peut faire l'affaire. o Lorsque toutes les pattes d'un type-association portent la cardinalit 1,1, il faut se demander si ce type-association et les types-entits lis ne dcrivent pas en fait un seul type-entit. o Pour faciliter la lecture du schma, il est assez courant de ne pas y faire figurer les attributs ou de ne conserver que ceux qui font partie des identifiants. Les attributs cachs doivent alors absolument tre spcifis dans un document part. Introduction aux bases de donnes SAOUDI Lalia
7-Exercices de modlisation o Dcrivez, grce au modle EA, des enseignements avec des matires, des enseignants et des tudiants. o Dcrivez, grce au modle EA, des appartements avec leurs propritaires, leurs locataires et leurs occupants. o Dcrivez, grce au modle EA, un systme rpondant la description suivante que vous donne un commerant : Des clients me commandent des articles. J'ai aussi des lots d'articles. Je conserve tous les bons de commande. Etude de cas : Chaque anne, le dpartement d'informatique doit organiser des stages obligatoires des tudiants de troisime anne. Chaque tudiant de ce niveau doit effectuer un stage de 16 semaines dans une entreprise avec laquelle un accord est sign par le dpartement. Pour cela, le dpartement dispose d'une liste d'entreprises ayant dj propos des stages, et leur crit pour les inciter renouveler leurs propositions. Au vu de celles-ci, les tudiants prennent contact avec les entreprises qui les intressent. Quand les conventions de stage sont signes, chaque stagiaire se voit dsigner un enseignant pour l'encadrer en stage, appel parrain de l'tudiant. Le parrain doit veiller au bon droulement du stage et aller rendre visite l'tudiant dans son entreprise d'accueil. Chaque enseignant du dpartement doit ainsi, quelle que soit sa spcialit, encadrer au moins 4 tudiants. Afin de mieux rpartir les enseignants, le chef de dpartement doit connatre les entreprises que les enseignants ont dj visites lors des stages des promotions prcdentes?
Le dpartement dispose des renseignements suivants : - pour chaque entreprise, sont connus son nom, son adresse, son type (publique, de service, etc.), le nm de la personne de l'entreprise qui assure le contact avec le dpartement ; - pour chaque tudiant, son numro, son nom, sa date de naissance, son groupe de TP et, quand sa convention de stage est signe, le nom de son entreprise d'accueil et la date de signature de la convention, puis le nom de son parrain. - Pour chaque enseignant, son nom, son prnom, sa fonction, son numro de tlphone, les entreprises qu'il a dj visites, avec pour chacune l'anne de sa dernire visite. Une entreprise peut accueillir plusieurs tudiants. Dans ce cas, tous les stagiaires de l'entreprise n'ont pas ncessairement mme parrain. Question: construire un modle entit-association.
Introduction aux bases de donnes SAOUDI Lalia
Le modle relationnel
1-Introduction : En 1969 un mathmaticien appel CODD , travaillant au centre de recherche de IBM SAN JOSE CALIFORNIE , publi un article qui donne les bases du modele relationnel . Ce modele ne sera implant rellement que vers la fin des annes 70. Cest le modele le plus utilis par les SGBDs actuellement disponibles sur le march. Definitions : Les objets et associations du monde rel sont reprsents par un concept unique : les relations ; les relations sont des tableaux deux dimensions appels des tables. 2-Notion de domaine Un domaine est un ensemble de valeurs que peut prendre un attribut. Exemple de domaines: Dnom : chanes de caractres de longueur maximale 30 Dnum : entiers compris entre 0 et 99999 Dsexe : {"f", "m", } Dniveau:{1ire, 2im , 3im , 4 ieme , 5 ieme} . 3-Attribut : il reprsente une colonne dune relation caractris par un nom : nom, num, sexesont des attributs de la relation tudiant.
4-Relation (table) :est un sous ensemble du produits cartsien de domaines , ce sous ensemble sera dsign par un nom qui sera le nom de la relation Exemple : Dnum : {0001/05,0002/05,0003/5.0050/05} Dsexe : {"f", "m", } Dniveau:{1ire, 2im , 3im , 4 ieme , 5 ieme} . Dnum*Dsexe*Dniveau={(0001/05,f,1iere),(0001/05,m,1iere),(0001/05,f,2ieme)..(0 050,m,5ieme)}. Soit par exemple la relation etudiant dcrite de la manire suivante : Etudiant={(0001/05,m,1ere),(0002/05,f,1ere),(0003/05,f, 1ere),..(0050/05,m,1ere)} Etudiant num sexe niveau 0001/05 m 1ere 0002/05 f 1ere * * * 0050/05 m 1ere chaque ligne appele un tuple. etudiant cest le nom de la relation et les enttes de colonnes sont les attributs. 5-Cl dune relation : Une cl est constitu dun ou plusieurs attributs dont les valeurs dfinissent de manire unique les tuples de la relation Une relation est dfinie par : - son nom - liste des attributs - son (ses) identifiant(s)
Les trois informations constituent le schma de la relation. Exemple : schma de la relation Etudiant : Etudiant (N Etud, Nom, Prnom, Age) Introduction aux bases de donnes SAOUDI Lalia
La population d'une relation est constitue de l'ensemble des tuples de la relation. C'est un ensemble; il n'y a donc ni doubles, ni ordre (les nouveaux tuples sont rajouts la fin de la relation). On appelle schma d'une base de donnes relationnelle l'ensemble des schmas de ses relations. On appelle base de donnes relationnelle, la population de toutes ses relations.
6- Rgle de passage du Modle E/A au modle relationnel 6-1 Introduction : La modlisation EA des donnes tant effectue, il faut implanter la structure obtenue en machine, par exemple sous forme d'un SGBD relationnel. Nous allons donc transformer notre structure sous une forme relationnelle. On dit aussi que l'on transforme le diagramme EA en schma relationnel. Principes. Les rgles Toute entit devient une relation. Lidentifiant de lentit devient cl primaire de la relation. Les attributs de l'entit deviennent attributs de la relation.
ASSOCIATION DE TYPE: (*,N)(*,N)/ *={0,1}. Cet association devient une relation dont La cl de cette relation la concatnation des cls des entits participantes , les attributs de lassociation sont insrs dans la relation. ASSOCIATION DE TYPE 1,1 *,N Chaque entit devient une relation. La cl de lentit pre devient un attribut dans la relation fils. ASSOCIATION DE TYPE 1,1 1,1 : Chaque entit devient une relation , la cl dune entit devient un attribut dans lautre .
ASSOCIATION DE TYPE :( 01) (*N) : Elle est traite comme tant une association de type : *N *N