Cours Bases de données

De
Publié par

Cours “Bases de données” 3° année (MISI) Antoine Cornuéjols Introduction 2 Conception d'une base de données Introduction 3 Architecture ANSI-SPARC ES ES ES CS IS Vues de la BD Schémas Externes (ES) L4G : Lang. de 4° génération Schéma conceptuel (CS) Définition logique de la BD • Structures et types (LDD) • Manipulations (LMD) Schéma interne (IS) • Représentation physique • Optimisations Introduction 4 Conception d'une application pour une BD 1.
  • metteur en scène ¶
  • table des films table
  • modèle conceptuel des données
  • généralisation - spécialisation généralisation
  • occurrences de la propriété propriété
  • lien réalise
  • langage de définition de données
  • langage de définition des données
  • associations
  • association
  • film
  • films
Publié le : mardi 27 mars 2012
Lecture(s) : 29
Tags :
Source : lri.fr
Nombre de pages : 13
Voir plus Voir moins

Introduction
Conception d’une base de données
Cours
“Bases de données”
3° année (MISI)
Antoine Cornuéjols
www.lri.fr/~antoine
antoine.cornuejols@agroparistech.fr
2
Introduction Introduction
Architecture ANSI-SPARC Conception d’une application pour une BD
Vues de la BD
1. Décider de la structure logiqueSchémas Externes (ES)
L4G : Lang. de 4° génération
ES ESES
2. (Décider de la structure physique)
Schéma conceptuel (CS)
3. Écrire des programmes d’application en utilisant la Définition logique de la BD
CS structure logique • Structures et types (LDD)
• Manipulations (LMD)
IS 4. Le SGBD se charge de transcrire les commandes du LMD
Schéma interne (IS) en instructions appropriées à la représentation physique
• Représentation physique
• Optimisations
3 4 Le modèle entité-association
Conception d’une base de données
Cahier des
charges {1. Un modèle conceptuel :
le modèle entité- association
Modélisation {
2. Le modèle relationnel
2.1. Définition
2.2. Règles de traduction
Implantation2.3. Dépendances entre données et formes normales {
6
Le modèle entité-association Le modèle entité-association
Introduction Un mauvais exemple
Titre Année nomMES PrénomMES AnnéeNaiss
Alien 1979 Scott Ridley 1943Avantages
Vertigo 1958 Hitchcock Alfred 1899
Simple Psychose 1960 Alfred 1899
Kagemusha 1980 Kurosawa Akira 1910Suffisamment puissant pour représenter des structures relationnelles
Volte-face 1997 Woo John 1946
Représentation graphique facilitant sa compréhension Pulp Fiction 1995 Tarantino Quentin 1963
Titanic 1997 Cameron James 1954
Sacrifice 1986 Taskovski Andrei 1932
Mais
Ne propose que des structures : pas d’opérations Redondances (duplications)
Erreurs possibles lors de l’insertionPeut mener à certaines ambiguïtés pour des schémas complexes
Erreurs possibles lors de la mise-à-jour
Si l’on modifie l’année de naissance d’Hitchcock pour Vertigo ...
Si destruction d’un film, on risque de supprimer le metteur en scène
7 8<‡
Le modèle entité-association Le modèle entité-association
La bonne méthode La bonne méthode
Titre Année Id nomMES PrénomMES AnnéeNaissReprésenter individuellement les films et les réalisateurs
Alien 1979 1 Scott Ridley 1943
Une modification de l’un n’entraîne pas une modification de l’autre Vertigo 1958
2 Hitchcock Alfred 1899
Psychose 1960
3 Kurosawa Akira 1910
Kagemusha 1980Définir une méthode d’identification des films ou des réalisateurs
4 Woo John 1946
Volte-face 1997
La même information est représentée une seule fois 5 Tarantino Quentin 1963 Pulp Fiction 1995
6 Cameron James 1954 Titanic 1997
Préserver le lien entre films et réalisateurs, mais sans introduire de 7 Tarkovski Sacrifice 1986 Andrei 1932
redondance
Table des films Table des réalisateurs
! Pas de redondance
9 10
Le modèle entité-association Le modèle conceptuel des données
La bonne méthode Concepts de base
Titre Année idMES Id nomMES PrénomMES AnnéeNaiss
Schéma E/A abstraction d’un domaine d’étude Alien 1979 1 1 Scott Ridley 1943
Vertigo 1958 2 2 Hitchcock Alfred 1899
Psychose 1960 3 3 Alfred 1899
Kagemusha 1980 4 4 Kurosawa Akira 1910 Entité : objet concret ou abstraitLa modélisation avec un
Volte-face 1997 5 5 Woo John 1946graphique Entité/Association
ayant une existence propre Pulp Fiction 1995 6 6 Tarantino Quentin offre une mét 1963hode simple
pour arriver à ce résultat, et
Titanic 1997 7 7 Cameron James 1954ce même dans des cas fonction des besoins de modélisation
Sacrifice 1986 8 8 Taskovski Andrei beaucoup plu1932s complexes.
Ex : Assuré, Film, Contrat
[Rigaud, poly, p.19]Table des films Table des réalisateurs
Association : lien sémantique entre entités
Plus d’anomalies
Conservation de l’informationd’insertion
Ex : Réaliser (entre réalisateur et film)
de mise à jour sans redondance
de destruction
11 12 Le modèle conceptuel des données Le modèle conceptuel des données
Concepts de base Remarques
Propriété : donnée élémentaire
La modélisation conceptuelle est totalement indépendante de tout choix
ayant un sens d’implantation.
pouvant être utilisée de manière autonome
Partie la plus stable d’une applicationEx : NomAssuré, AnnéeSouscription, NbContrats
Se concentrer sur l’essentiel : Que veut-on stocker dans la base ?
Servent à décrire les entités et les associations
= Attributs ou colonnes
Le modèle E/A a été conçu en 1976 et est à la base de la plupart des
prennent des valeurs appelées occurrences de la propriété
méthodes de conception.
Propriété Occurrences
NomAssuré Dupont
La syntaxe est souvent celle d’UML
Dupond
En France, on utilise parfois la syntaxe MERISE (quasi équivalente)
MaRtin
AnnéeSouscription 1988
1989
13 14
Le modèle conceptuel des données Le modèle conceptuel des données
Les types d’entités Les clés : exemples
Le type d’une entité est composé de : Exemple :
son nom Internaute : plusieurs attributs
la liste de ses attributs avec, —optionnellement— le domaine dans lequel l’attribut email
prend ses valeurs : les entiers, les chaînes de caractères : nom
l’indication du (ou des) attribut(s) premettant d’identifier l’entité : ils constituent la prénom
clé. région
Une entité e est une instance de son type E.
Un ensemble d’entités {e , e , ..., e } instances d’un même type E est une 1 2 n email : clé naturelle car unique et discriminante pour chaque internaute
extension de E.
nom : impossible car plusieurs internautes peuvent avoir le même nomDéfinition (clé)
Soit E un type d’entité et A l’ensemble des attributs de E. Une clé de E est un sous-
ensemble minimal de A permettant d’identifier de manière unique une entité parmi (nom,prénom) : clé possible, mais peut poser des problèmes de
n’importe quelle extension de E.
performance et complique les manipulations par SQL
15 16 Le modèle conceptuel des données Le modèle conceptuel des données
Les clés : caractéristiques souhaitables Caractéristiques d’une association
Dimension d’une association : son aritéQuand plusieurs clés possibles pour un même ensemble d’entités
On en choisit une comme clé primaire
Exemple : L’association Ecrit_Par est de dimension deux (binaire)
et les autres comme clés secondaires

Ecrit_par Livre Auteur Bonne clé primaire :
sa valeur est connue pour toute entité
Exemple : L’association Est_Marié_A est de dimension deux (binaire réflexive)
on ne doit jamais avoir besoin de la modifier
sa taille de stockage doit être la plus petite possible (pour des raisons de
Est_Marié_A Personne performance)
Si difficile à trouver Exemple : L’association A_Vendu_A est de dimension trois (ternaire)
créer un identifiant « abstrait », indépendant de tout autre attribut

Personne A_Vendu_A Produit
17 18
Le modèle conceptuel des données Le modèle conceptuel des données
Caractéristiques d’une association Caractéristiques d’une association
Type de liaison inter-entités : trois types de liaisons
Type de liaison inter-entités : trois types de liaisons
Liaison de type 1 à 1 : À toute occurrence de X correspond une et une seule
occurence de Y et réciproquement
Liaison de type plusieurs à plusieurs : À toute occurrence de X correspond une
ou plusieurs occurences de Y et réciproquement
Homme EstMariéA Femme

Dans le mariage judéo-chrétien, un homme est marié à une seule femme et réciproquement. Commande Produit Client
Liaison de type 1 à plusieurs (1 à n) : À toute occurrence de X correspond une ou
Un client peut commander plusieurs produits et un produit peut être commandé par plusieurs clients.plusieurs occurences de Y et une seule de X.

Client Etablir Contrat
Un client a établi un ou plusieurs contrat(s) mais un contrat a été établi avec un seul client.
19 20 Le modèle conceptuel des données Le modèle conceptuel des données
Caractéristiques d’une association Caractéristiques d’une association
Cardinalités (minimales et maximales) Cardinalités (minimales et maximales)
Cardinalité minimum : nombre minimum d’occurences d’une entité X dans
l’association considérée.
Cardinalité maximum : nombre maximum d’occurences d’une entité X dans Exemples :
Exemples :
21 22
Le modèle conceptuel des données Le modèle conceptuel des données
Caractéristiques d’une association Cardinalités
Les valeurs de cardinalités sont en général 0, 1 ou N :
Cardinalités (minimales et maximales)
La cardinalité minimum à 0 veut dire que certaines occurrences de l’entité
X ne sont pas impliquées dans une occurrence de l’association.
Exemples :
La cardinalité minimum à 1 veut dire qu’une occurrence de l’entité X ne
peut exister sans participer à une occurr
La cardinalité maximum à 1 veut dire que toute occurrence de l’entité X ne
peut participiter au plus qu’à une occurrence de l’association.
La cardinalité maximum à N veut dire qu’une occurrence de l’entité X peut
être impliquée dans un maximum de N occurrences de l’association.
23 24 Le modèle conceptuel des données Le modèle conceptuel des données
Concepts de base Concepts de base

Plusieurs associations peuvent exister entre les mêmes entités
Une association peut être réflexive (relie une entité à elle-même)
25 26
Le modèle conceptuel des données Le modèle conceptuel des données
Concepts de base Les types d’associations
Chaque entité est caractérisée par un ensemble d’attributs, parmi
Association simple (type 1)
lesquels un ou plusieurs forment l’identifiant unique (en gras)
Bijection entre E1 et E2
Association conditionnelle (type c)Les associations sont caractérisées par des cardinalités (minimale ..
maximale). À chaque entité de E1 correspond au plus une entité de E2
«0..*» sur le lien Réalise (côté entité Film) Association multiple (type m)
un artiste peut réaliser plusieurs films ou aucunplusieurs entités de E2
«0..1» sur le lien Réalise (côté entité Artiste)
Association multiple conditionnelle (type mc)
un film ne peut être réalisé que par au plus un artiste
À chaque entité de E1 correspond aucune, une, ou plusieurs entité(s)
de E2
27 28 Le modèle conceptuel des données Le modèle conceptuel des données
Les types d’associations Généralisation - spécialisation
Généralisation :
Type 1 : “un et un seul”
Processus d’abstraction consistant à généraliser les entités, et les ensembles
d’entités, en un seul ensemble ascendant.Type c : “aucun ou un”
Spécialisation :Département Type m : “plusieurs”
1 m Les sous-ensembles d’entités dans une hiérarchie de généralisation résultent du
Type mc : “aucun, un ou processus de spécialisation.
plusieurs”
Chef de
Affectationdépartement Les sous-ensembles peuvent avoir une intersection
Ex : Employé : appartenant à club de photo et club de sport
1 Les sous-ensembles ont une intersection et sont exhaustifs
c Employé Ex : appartenant forcément à club de photo et/ou et/ou club d’échec
Appartenance projet
mmc Sous-ensembles mutuellement disjoints
Sous-ensembles mutuellement disjoints et exhaustifs
29 30
Le modèle conceptuel des données Le modèle conceptuel des données
Clé d’une association Entités faibles
La clé d’une association (binaire) entre un type d’entité E1 et un type d’entité
Définition (entité forte)
E2 est le couple constitué de la clé c1 de E1 et la clé c2 de E2.
Entité qui, disposant de son propre identifiant, peut être considérée isolément.
Ex : Assuré (N° de SS)
Mais cela peut poser des problèmes, d’où des aménagements possibles.
Définition (entité faible)
Entité ne pouvant exister qu’en étroite association avec une autre.
Voir [Rigaux, pp.26-27]
Ex : salle de cinéma, ayant_droit d’un employé
31 32 Le modèle conceptuel des données Le modèle conceptuel des données
Avantages et inconvénients du modèle E/A Exemple : un mini-monde de l’entreprise
1. La société est organisée en services. Chaque service a un nom (nomSce) et un numéro uniqueAvantages :
(noSce) et est dirigé par un employé unique (noSsDir). La date (dateDebDir) à laquelle
1. Il n’y a que trois concepts : entités, associations et attributs
l’employé a commencé à diriger le service est comptabilisée. Un service peut avoir plusieurs
2. Représentation graphique intuitive (même si beaucoup de conventions)
emplacements.
3. Permet de modéliser rapidement des structures pas trop complexes
2. Un service contrôle un certain nombre de projets, chacun d’entre eux ayant un nom
(nomProjet), un numéro (numeroProjet) et un emplacement unique (emplProjet).
3. Le nom de chaque employé, son numéro de Sécurité sociale(noSs), son adresse, son salaire, Limites :
son sexe et sa date de naissance sont mémorisés. Un employé est affecté à un service(noSce),
1. Pauvreté mais peut travailler sur plusieurs projets qui ne sont pas forcément contrôlés par le même service.
1. Difficile d’exprimer des contraintes d’intégrité Le nombre d’heures hebdomadaires travaillées par chaque employé par projet est comptabilisé.
Le supérieur immédiat(noSssuper) de chaque employé est lui aussi mémorisé.2. Difficile d’exprimer des structures complexes
2. La conception en schémas reste en partie matière de bon sens et d’expérience 4. Les ayants droit de chaque employé(noSsEmpl)doivent être indiqués pour des raisons
d’assurance. Leur prénom, leur sexe, leur date de naissance et leur lien de parenté avec l’employé 3. Ne propose pas d’opérations sur les données
sont mémorisés.
33 34
Le modèle relationnel
Conception d’une base de données Rappels
Un modèle de données définit un mode de représentation de l’information
selon trois composantes :
Des structures de données
1. Un modèle conceptuel : Des contraintes qui permettent de spécifier les règles que doit respecter une base
de données le modèle entité- association
Des opérations pour manipuler les données : interrogations et mises à jour.
Langage de définition de données (DDL)2. Le modèle relationnel
Structures de données + contraintes ! Schéma d’une base de données
2.1. Définition
Langage de manipulation des données (DML)
Opérations ! SQL 2.2. Règles de traduction
2.3. Dépendances entre données et formes normales Le modèle relationnel offre une totale indépendance entre
la représentation logique
et l’implantation physique
36 Le modèle relationnel Le modèle relationnel
Définitions Définitions
Il n’existe qu’une seule structure : la relation
Relation (ou instance d’une relation R)
Une relation peut se représenter par une table
Sous-ensemble fini du produit cartésien des domaines des attributs de R
Une relation est donc un ensemble
Titre Année GenreDomaine de valeurs L’ordre des lignes n’a pas d’importance
Ensemble d’instances d’un type élémentaire Alien 1979 S-F Pas deux lignes identiques
Ex : les entiers, les réels, les chaînes de caract. Pas de “case vide” dans la table
Vertigo 1958 Suspense
Volte-face 1997 Thriller
Attributs
Clé d’une relation Pulp Fiction 1995 Policier
Nomment les colonnes d’une relation
Le plus petit sous-ensemble des attributs permettant Un attribut est toujours associé à un domaine
d’identifier chaque ligne de manière unique
Titre Année Genre
Schéma de relation
Alien 1979 S-FTuple (ou n-uplet)
Un nom suivi de la liste des attributs (associé à
Vertigo 1958 SuspenseListe de n valeurs (v , ..., v ) où chaque valeur v est la son domaine) 1 n i
Syntaxe : R(A1 : D1, A2 : D2, ..., An : Dn) valeur d’un attibut Ai de domaine Di Volte-face 1997 Thriller
Arité : nombre d’attributs de la relation
Ex : (‘Cyrano’, 1992, ‘Rappeneau’)
Pulp Fiction 1995 Policier
37 38
Le modèle relationnel Le modèle relationnel
Définitions Passage d’un schéma E/A à un schéma relationnel
Passage d’un modèle à deux structures (entités + associations)
à un modèle à une structure (relations)Base de données (ou instance de base de données)
Règle 1 : entitésEnsemble fini (d’instances) de relations
Pour chaque entité du schéma E/A
1- On crée une relation de même nom que l’entité
2- Chaque propriété de l’entité, y compris l’identifiant, devient un attribut de la relation (une colonne)
Schéma d’une base de données 3- Les attributs de l’identifiant constituent la clé de la relation
Ensemble des schémas de relations de cette base
Le choix des relations (et schémas de relations) est essentiel
Film (idFilm, titre, année, genre, résumé)
Il détermine les qualités de la base
Artiste (idArtiste, nom, prénom, annéeNaissance)
Performances, exactitude, exhaustivité, disponibilité des informations, ... !
Internaute (email, nom, prénom, région)
La théorie des BD relationnelles définit ce qu’est un bon schéma et propose des outils
formels pour y parvenir Pays (code, nom, langue)
Contraintes d’intégrité
Normalisation
39 40

Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.