Base de Donnéesetlangage SQL
114 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Base de Donnéesetlangage SQL

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
114 pages
Français

Description

  • mémoire - matière potentielle : ram
  • mémoire
Base de Données et langage SQL (IUT, département informatique, 1re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse – Département Informatique Avenue Jean-Baptiste Clément 93430 Villetaneuse Adresse électronique : laurent[dot]audibert[at]iutv[dot]univ-paris13[dot]fr
  • instructions du langage de définition de données
  • catégories d'instructions
  • base de données
  • bases de données
  • modèle entités-associations
  • modèle entité-association
  • modèle entité - association
  • algèbre relationnelle
  • langage sql
  • disque dur
  • disques durs
  • base de donnée
  • base donnée
  • base des données
  • base données
  • bases de donnée

Sujets

Informations

Publié par
Nombre de lectures 103
Langue Français
Poids de l'ouvrage 1 Mo

Exrait

BasedeDonnéesetlangageSQL
re(IUT,départementinformatique,1 année)
LaurentAUDIBERT
InstitutUniversitairedeTechnologiedeVilletaneuse–DépartementInformatique
AvenueJean BaptisteClément
93430Villetaneuse
Adresseélectronique: laurent[dot]audibert[at]iutv[dot]univ paris13[dot]fr2Avant propos
Aujourd’hui,ladisponibilitédesystèmesdegestiondebasededonnéesfiablesper-
metauxorganisationsdetoutestaillesdegérerdesdonnéesefficacement,dedéployer
des applications utilisant ces données et de les stocker. Les bases de données sont
actuellementaucœurdusystèmed’informationdesentreprises.
Les bases de données relationnelles constituent l’objet de ce cours. Ces bases sont
conçues suivant le modèle relationnel, dont les fondations théoriques sont solides, et
manipuléesenutilisantl’algèbrerelationnelle.Ils’agit,àcejour,delaméthodelaplus
courante pour organiser et accéder à des ensembles de données. Nous décrivons le
modèle relationnel, le passage du modèle entités associations au modèle relationnel et
enfinl’algèbre relationnelledanslechapitre3.
Le chapitre 4 est entièrement consacré au langage SQL (Structured Query Language)
qui peut être considéré comme le langage d’accès normalisé aux bases de données
relationnelles.Celangageestsupportéparlaplupartdessystèmesdegestiondebases
de données commerciaux (comme Oracle) et du domaine libre (comme PostgreSQL).
Nous détaillons dans ce chapitre les instructions du langage de définition de données
etcellesdulangagedemanipulationdedonnées.
Différents exercices de travaux dirigés et de travaux pratiques ponctuent ce cours.
Des exemples de corrections de certains des exercices sont regroupés dans la dernière
partiedudocument(chapitre5).
Ce constitue le support du cours « Base de Données et langage SQL »
dispensé aux étudiants du département d’informatique de l’institut universitaire de
technologiedeVilletaneuseensemestredécalé.Cesupportaétéréaliséenutilisantles
ouvragescitésenbibliographie.
Voustrouverezcedocumentenligne(pouravoirladernièreversionparexemple)à
l’adressesuivante:
http://www-lipn.univ-paris13.fr/~audibert/pages/enseignement/cours.htm
34Tabledesmatières
1 Introductionauxbasesdedonnées {S1} 9
1.1 Qu’est cequ’unebasede? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Notiondebasededonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.2 Modèledebasede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Systèmedegestiondebasededonnées(SGBD) . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Principesdefonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 NiveauxdedescriptiondesdonnéesANSI/SPARC . . . . . . . . . . . . . . . . . . 12
1.2.4 QuelquesSGBDconnusetutilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 TravauxDirigés–Sensibilisationàlaproblématiquedesbasesdedonnées {S1} . . . . . . 14
1.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2 Approchenaïve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.3 Affinementdelasolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.4 QueretenirdeceTD? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Conceptiondesbasesdedonnées(modèleE A) {S2 3} 17
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Pourquoiunemodélisationpréalable? . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Merise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Élémentsconstitutifsdumodèleentités associations . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Entité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Attributoupropriété,valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Identifiantouclé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 Associationourelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Cardinalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Complémentssurlesassociations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Associationsplurielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2 Associationréflexive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.3n aire( n > 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 TravauxDirigés–Modèleentités associations {S2} . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.1 Attentionauxattributsmultiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.2 Étudiants,cours,enseignants,salles,... . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.3 Deuxassociationsnepeuventlierunmêmeensembled’entités . . . . . . . . . . . 27
2.4.4 Comprenez vouslestype associationsn aire? . . . . . . . . . . . . . . . . . . . . . 28
re2.4.5 Casd’unebibliothèque(1 partie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5 Règlesdebonneformationd’unmodèleentités associations . . . . . . . . . . . . . . . . . 30
2.5.1 Règlesportantsurlesnoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.2denormalisationdesattributs . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.3 Règlesdefusion/suppressiond’entités/associations . . . . . . . . . . . . . . . . . . 32
2.5.4 Normalisationdestype entitésettype associations . . . . . . . . . . . . . . . . . . 36
2.6 Élaborationd’unmodèleentités associations . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6.1 Étapesdeconceptionsd’unmodèleentités associations . . . . . . . . . . . . . . . . 38
2.6.2 Conseilsdivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
56 TABLEDESMATIÈRES
2.7 TravauxDirigés–Modèleentités associations {S3} . . . . . . . . . . . . . . . . . . . . . . . 41
2.7.1 Maisquiafaitcettemodélisation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
e2.7.2 Casd’unebibliothèque(2 partie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.7.3 Casentreprisededépannage . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3 Basesdedonnéesrelationnelles {S4 5} 43
3.1 Introductionaumodèlerelationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.2 Élémentsdumodèlerelationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.3 Passageduentités associationsaumodèlerelationnel . . . . . . . . . . . . 45
3.2 Normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2.2 Dépendancefonctionnelle(DF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2.3 Premièreetdeuxièmeformenormale . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.4 Troisièmeformenormale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.5 FormenormaledeBOYCE CODD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2.6 Quatrièmeetcinquièmeformenormale . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.7 Remarquesausujetdelanormalisation . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3 TravauxDirigés–Modèlerelationnel {S4} . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.1 Passagedumodèleentités associationsaumodèlerelationnel . . . . . . . . . . . . 54
3.3.2 Normalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4 Algèbrerelationnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.2 Sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.3 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.4 Union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.5 Intersection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.6 Différence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.7 Produitcartésien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4.8 Jointure,theta jointure,equi jointure,jointurenaturelle . . . . . . . . . . . . . . . . 60
3.4.9 Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5 TravauxDirigés–Algèbrerelationnelle {S5} . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.1 Exercicesdecompréhensionderequêtes . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.2 Trouverlabonnerequête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4 LangageSQL 65
4.1 Introduction {S6} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.1.1 Présentationgénérale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.1.2 Catégoriesd’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.3 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Définirunebase–Langagededéfinitiondedonnées(LDD) . . . . . . . . . . . . . . . . . 68
4.2.1 Introductionauxcontraintesd’intégrité . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.2 Créerunetable:CREATE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.3 Contraintesd’intégrité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.4 Supprimerunetable:DROP TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.5 Modifierunetable:ALTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Modifierunebase–Langagedemanipulationdedonnées(LMD) . . . . . . . . . . . . . . 71
4.3.1 Insertionden uplets: INSERT INTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.2 Modificationden uplets: UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.3 Suppressionde: DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4 TravauxPratiques–SQL:Premièrebasededonnées {S6} . . . . . . . . . . . . . . . . . . . 73
4.4.1 InformationspratiquesconcernantPostgreSQL . . . . . . . . . . . . . . . . . . . . 73
4.4.2 Premièrebasededonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
re4.5 Interrogerunebase–Langagedemanipulationdedonnées:SELECT(1 partie) {S7} . . . 76
4.5.1 IntroductionàlacommandeSELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . 76TABLEDESMATIÈRES 7
re4.5.2 Traductiondesopérateursdel’algèbrerelationnelle(1 partie) . . . . . . . . . . . 77
4.5.3 SyntaxegénéraledelacommandeSELECT . . . . . . . . . . . . . . . . . . . . . . . . 77
4.5.4 LaclauseSELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
re4.5.5 LaFROM(1 partie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.5.6 LaclauseORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.5.7 LaWHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.5.8 Lesexpressionsrégulières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.6 TravauxPratiques–SQL:Premièresrequêtes {S7} . . . . . . . . . . . . . . . . . . . . . . . 84
4.6.1 Premièresrequêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.6.2 Requêtesdéjàrésoluesenutilisantl’algèbrerelationnelle . . . . . . . . . . . . . . . 84
4.6.3 Utilisationdesexpressionsrégulières . . . . . . . . . . . . . . . . . . . . . . . . . . 85
e4.7 Interrogerunebase–Langagedemanipulationdedonnées:SELECT(2 partie) {S8} . . . 86
e4.7.1 LaclauseFROM(2 partie):lesjointures . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.7.2 LesclausesGROUP BYetHAVINGetlesfonctionsd’agrégation . . . . . . . . . . . . . 90
4.7.3 Opérateursensemblistes:UNION,INTERSECTetEXCEPT . . . . . . . . . . . . . . . . 92
e4.7.4 Traductiondesopérateursdel’algèbrerelationnelle(2 partie) . . . . . . . . . . . . 92
4.8 TravauxPratiques–SQL:Requêtesavancées {S8} . . . . . . . . . . . . . . . . . . . . . . . 95
4.8.1 PrixdeGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.8.2 Requêtesdéjàrésoluesenutilisantl’algèbrerelationnelle . . . . . . . . . . . . . . . 95
4.8.3 GROUPtoujours! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.9 Nouveauxobjets–Langagededéfinitiondedonnées(LDD) {S9} . . . . . . . . . . . . . . 96
4.9.1 Séquences(CREATE SEQUENCE)ettypeSERIAL . . . . . . . . . . . . . . . . . . . . . 96
4.9.2 Règles(CREATE RULE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.9.3 Vues( VIEW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.9.4 Schémas(CREATE SCHEMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.10 TravauxPratiques–SQL:Nouveauxobjets {S9} . . . . . . . . . . . . . . . . . . . . . . . . 101
4.10.1 Séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.10.2 Schémaetvues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.10.3 Règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.10.4 Toujoursdesrequêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.11 SQLintégré {S10} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.11.2 Connexionauserveurdebasesdedonnées . . . . . . . . . . . . . . . . . . . . . . . 102
4.11.3 ExécuterdescommandesSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.11.4 Lesvariableshôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.11.5 Variablesindicateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.11.6 Gestiondeserreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.11.7 Curseurspourrésultatsàlignesmultiples . . . . . . . . . . . . . . . . . . . . . . . 107
4.11.8 Précompilationetcompilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.11.9 Exemplecomplet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5 Corrections 111
Bibliographie 1138 TABLEDESMATIÈRESChapitre1
Introductionauxbasesdedonnées
1.1 Qu’est cequ’unebasededonnées?
1.1.1 Notiondebasededonnées
Descriptiongénérale
Il est difficile de donner une définition exacte de la notion de base de données. Une définition très
généralepourraitêtre:
Définition1.1 Basededonnées Un ensemble organisé d’informations avec un objectif commun.
Peuimportelesupportutilisépourrassembleretstockerlesdonnées(papier,fichiers,etc.),dèslorsque
des données sont rassemblées et stockées d’une manière organisée dans un but spécifique, on parle de
basededonnées.
Plus précisément, on appelle base de données un ensemble structuré et organisé permettant le
stockagedegrandesquantitésd’informationsafind’enfaciliterl’exploitation(ajout,miseàjour,recherche
de données). Bien entendu, dans le cadre de ce cours, nous nous intéressons aux bases de données
informatisées.
Basededonnéesinformatisée
Définition1.2 Basededonnéesinformatisée Unebasededonnéesinformatiséeestunensemblestructuré
dedonnéesenregistréessurdessupportsaccessiblesparl’ordinateur,représentantdesinformationsdumonderéel
et pouvant être interrogées et mises à jour par une communauté d’utilisateurs.
Le résultat de la conception d’une base de données informatisée est une description des données.
Pardescriptiononentenddéfinirlespropriétésd’ensemblesd’objetsmodélisésdanslabasededonnées
etnonpasd’objetsparticuliers.Lesobjetsparticulierssontcrééspardesprogrammesd’applicationsou
deslangagesdemanipulationlorsdesinsertionsetdesmisesàjourdesdonnées.
1Cettedescriptiondesdonnéesestréaliséeenutilisantunmodèlededonnées .Cedernierestunoutil
formelutilisépourcomprendrel’organisationlogiquedesdonnées.
La gestion et l’accès à une base de données sont assurés par un ensemble de programmes qui
constituent le Système de gestion de base de (SGBD). Nous y reviendrons dans la section 1.2. Un
SGBD est caractérisé par le modèle de description des données qu’il supporte (hiérarchique, réseau,
relationnel, objet : cf. section 1.1.2). Les données sont décrites sous la forme de ce modèle, grâce à un
LangagedeDescriptiondesDonnées(LDD).Cettedescriptionestappelée schéma.
Une fois la base de données spécifiée, on peut y insérer des données, les récupérer, les modifier et
les détruire. C’est ce qu’on appelle manipuler les données. Les données peuvent être manipulées non
seulementparunLangagespécifiquedeManipulationdesDonnées(LMD)maisaussipardeslangages
deprogrammationclassiques.
1 cf.section1.1.2pouruneprésentationgénéraledeplusieursmodèlesdedonnées.Lemodèleentités associationsestprésenté
dansla2etlemodèlerelationneldanslasection3.1
910 CHAPITRE1. INTRODUCTIONAUXBASESDEDONNÉES {S1}
Enjeux
Les bases de données ont pris une place importante en informatique, et particulièrement dans le
domainedelagestion.L’étudedesbasesdedonnéesàconduitaudéveloppementdeconcepts,méthodes
2etalgorithmesspécifiques,notammentpourgérerlesdonnéesenmémoiresecondaire(i.e.disquesdurs) .
Eneffet,dèsl’originedeladiscipline,lesinformaticiensontobservéquelatailledelaRAMnepermettait
pasdechargerl’ensembled’unebasededonnéesenmémoire.Cettehypothèseesttoujoursvérifiéecar
levolumedesdonnéesnecessedes’accroîtresouslapousséedesnouvellestechnologiesduWEB.
Ainsi, les bases de données de demain devront être capables de gérer plusieurs dizaines de téra
octetsdedonnées,géographiquementdistribuéesàl’échelled’Internet,pardemilliers
d’utilisateursdansuncontexted’exploitationchangeant(onnesaitpastrèsbienmaîtriserouprédireles
débitsdecommunicationentresites)voiresurdesnœudsvolatiles.Enphysiquedeshautesénergies,on
préditqu’uneseuleexpérienceproduiradel’ordredupéta octetsdedonnéesparan.
Comme il est peu probable de disposer d’une technologie de disque permettant de stocker sur un
uniquedisquecettequantitéd’informations,lesbasesdedonnéessesontorientéesversdesarchitectures
distribuéescequipermet,parexemple,d’exécuterpotentiellementplusieursinstructionsd’entrée/sortie
enmêmetempssurdesdisquesdifférentsetdoncdediviserletempstotald’exécutionparunordrede
grandeur.
1.1.2 Modèledebasededonnées
Modèlehiérarchique
Unebasededonnéeshiérarchiqueestuneformedesystèmedegestiondebasededonnéesquiliedes
enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n’ait qu’un
seulpossesseur(parexemple,unepairedechaussuresn’appartientqu’àuneseulepersonne).
Les structures de données hiérarchiques ont été largement utilisées dans les premiers systèmes de
gestion de bases de conçus pour la gestion des données du programme Apollo de la NASA.
Cependant,àcausedeleurslimitationsinternes,ellesnepeuventpassouventêtreutiliséespourdécrire
desstructuresexistantesdanslemonderéel.
Leslienshiérarchiquesentrelesdifférentstypesdedonnéespeuventrendretrèssimplelaréponseà
certainesquestions,maistrèsdifficilelaréponseàd’autresformesdequestions.Sileprincipederelation
«1versN»n’estpasrespecté(parexemple,unmaladepeutavoirplusieursmédecinsetunmédecina,
a priori,plusieurspatients),alorslahiérarchiesetransformeenunréseau.
Modèleréseau
Le modèle réseau est en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce à
lapossibilitéd’établirdesliaisonsdetypen n ,lesliensentreobjetspouvantexistersansrestriction.Pour
retrouver une donnée dans une telle modélisation, il faut connaître le chemin d’accès (les liens) ce qui
rendlesprogrammesdépendantsdelastructurededonnées
CemodèledebasesdedonnéesaétéinventéparC.W.Bachman.Poursonmodèle,ilreçuten1973le
prixTuring.
Modèlerelationnel
Une base de données relationnelle est une base de données structurée suivant les principes de
l’algèbrerelationnelle.
Le père des bases de données relationnelles est Edgar Frank Codd. Chercheur chez IBM à la fin
des année 1960, il étudiait alors de nouvelles méthodes pour gérer de grandes quantités de données
car les modèles et les logiciels de l’époque ne le satisfaisait pas. Mathématicien de formation, il était
persuadé qu’il pourrait utiliser des branches spécifiques des mathématiques (la théorie des ensembles
2 Il faut savoir que les temps d’accès à des disques durs sont d’un ordre de grandeur supérieur (disons 1000 fois supérieur)
auxtempsd’accèsàlamémoireRAM.Toutgestionnairedebasededonnéesdoitdonctraiterdemanièreparticulièrelesaccèsaux
disques.