Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
11/26/21 10:00:31 AM 2
Limitations:
Prise en compte de la sémantique difficile
pas de hiérarchie d'entités (modèle "à plat")
pas d'héritage
perte d'information sémantique
maintien de l'intégrité difficile
Difficulté de la normalisation
éclatement en une multitude de relations
multiplicité des opérations de jointure
Programmation difficile
intégration de SQL avec un autre langage
11/26/21 10:00:31 AM 3
3.2 Les nouvelles applications
- conception assistée par ordinateur
- production assistée par ordinateur
- génie logiciel
- systèmes d'informations géographiques
- systèmes multi-média
- recherche et intégration de données de la toile…
3.3 Nouveaux besoins
- objets structurés, volumineux
- nouveaux types de données
- transactions longues
etc… Bases de données avancées 2
11/26/21 10:00:32 AM 4
3.4 Evolution des modèles
1960
SGBD hiérarchique (IMS)
SGBD réseau (CODASYL)
schéma
langage navigationnel
1970
SGBD relationnel
structure physique cachée aux utilisateurs
modèle simple
formalisation => normalisation
langages déclaratifs
Bases de données avancées 2
11/26/21 10:00:32 AM 5
1980
Modèles sémantiques (EA)
meilleure représentation du réel
outils de conception uniquement
1986
premiers SGBD OO
meilleure représentation du réel au niveau logique
réutilisation
11/26/21 10:00:32 AM 6
1993 première norme ODMG pour SGBD OO
( Object Database Management Group )
1998
norme UML pour conception d'applications
OO
1999
norme SQL3 pour SGBD relationnel-objet
11/26/21 10:00:32 AM 7
2001
Norme finale d’ODMG (Groupe de normalisation des SGBD
OO)
A regroupé de nombreux vendeurs de SGBO OO
Poet
Ardent
Objectivity
Versant
GemStone
…
et des constructeurs, des utilisateurs, des chercheurs
Bases de données avancées 2
11/26/21 10:00:32 AM 8
3.5 Les modèles sémantiques
Un modèle sémantique est composé d’un ensemble
d’abstractions.
1. Classe et entité
Les entités partageant des caractéristiques communes sont
regroupées dans une même famille d’entités appelée Classe.
L’existence d’une instance est subordonnée à son
appartenance à une classe.
11/26/21 10:00:32 AM 9
Chaque entité a une identité unique constante dans le temps
et indépendante de sa valeur ou des modifications qui
peuvent survenir.
Classe Classe
Etudiant Départemen
t
11/26/21 10:00:33 AM 10
2. Agrégation:
Elle consiste à regrouper différentes entités en une
nouvelle entité de niveau supérieur.
numéro
Adresse
rue
ville
11/26/21 10:00:33 AM 11
3. Association
Classe Classe
Etudie département
Etudiant
11/26/21 10:00:33 AM 12
La différence entre association et agrégation est que cette
dernière construit une nouvelle entité alors que la première
relie des entités qui existent.
4. Attributs
Permet de représenter certaines caractéristiques d’une classe
d’entités. Un attribut peut être monovalué ( associe une
entité de la classe de départ à une entité de la classe
d’arrivée) ou multivalué ( associe une entité de la classe de
départ à plusieurs entités de la classe d’arrivée)
11/26/21 10:00:33 AM 13
nom
âge
numéro
Classe Personne
rue
ville
enfant
11/26/21 10:00:33 AM 14
5. Le groupement
pays Ville
11/26/21 10:00:33 AM 15
6. Généralisation/Spécialisation
Personne
age ≤30
Employé
11/26/21 10:00:34 AM
jeune 16
- La généralisation permet de faire l’union de
plusieurs classes en une même classe d’entités. Cette
dernière n’a pas d’entités propres à elle mais contient les
entités des sous-classes.
- la notion de généralisation/spécialisation introduit le
concept d’héritage.
Engins
terrestres
Camion Voiture
s Bases de données avancées 2 s
11/26/21 10:00:34 AM 17
7. Contraintes d’intégrité
11/26/21 10:00:34 AM 18
8. Conclusion
- Les m.s donnent des concepts puissants pour modéliser le
réel. Cependant ils présentent une difficulté
d’implémentation.
- Les modèles orientés objets et le relationnel étendu
donnent des solutions d’implémentations d’un grand
nombre d’abstractions des m.s.
11/26/21 10:00:34 AM 19
3.6 Les modèles étendus
11/26/21 10:00:34 AM 21
Tout élément de D est une valeur de Val (atomique);
Si v1, v2, …, vn sont des valeurs et A1, A2, …An des attributs
distincts, alors
[A1 : v1, A2 : v2, …, An : vn] est une valeur structurée de type n-
uplet ;
Si v1, v2, …, vn sont des valeurs alors {v1, v2,…, vn } est une
valeur structurée de type ensemble ;
Exemple1.
[nom : ″Mohamed″,
Adresse : [ville : ″Oran ″, rue : ″BenMhidi″], Grade : ″Maitre Assistant″,
Age : 32, Université : ″Univ . Es-Sénia, Oran″, Modulens :
{″Compilation″, ″Langages″}].
Exemple2.
{ [nom : ″Mohamed″,
Adresse : [ville : ″Oran ″, rue : ″BenMhidi″], Grade : ″Maitre Assistant″,
Age : 32, Université : ″Univ . Es-Sénia, Oran″, Modulens :
{″Compilation″, ″Langages″}],
[nom : ″Ahmed″,
Adresse : [ville : ″Sidi-Bel-Abbès ″, rue : ″Emir AEK″], Grade : ″Maitre
de conférences″, Age :42, Université :
Bases de données avancées 2 ″USTO″, Modulens : {″Système
11/26/21 10:00:35 AM ″, ″Algorithmique″}]}.
d’exploitation 23
Exemple 3.
{ [nom : ″Mohamed″,
Adresse : [ville : ″Oran ″, rue : ″BenMhidi″], Grade : ″Maitre Assistant″,
Age : 32, Université : ″Univ . Es-Sénia, Oran″, Modulens : {″Compilation
″, ″Langages″}],
[nom : ″Ahmed″,
Adresse : [ville : ″Sidi-Bel-Abbès ″, rue : ″Emir AEK″], Grade : ″Maitre de
conférences″, Age :42, Université : ″USTO″, Modulens : {″Système
d’exploitation″, ″Algorithmique″}],
[Titre: ″SGBD avancés″,
Auteurs :{″Gardarin ″, ″Valduriez″}, Edition : ″Eyrolles″, Université :
″Univ . Es-Sénia, Oran″, Année : 1990]}.
Bases de données avancées 2
11/26/21 10:00:35 AM 24
L’exemple 1 est un n-uplet décrivant une personne où adresse
est une valeur n-uplet modulens valeur ensemble …,
l’exemple 2 est un ensemble de n-uplets avec des champs non
atomiques et le 3ème exemple est un ensemble hétérogène.
11/26/21 10:00:35 AM 25
modulens
age
Grade 32
Nom
adresse
Mohamed M.assistant
Compilation Langages
Ville rue
Oran BenMhidi
11/26/21 10:00:35 AM 26
3.6.1.2. Les types pour valeurs structurées
11/26/21 10:00:36 AM 27
Exemples :
A.
[nom : string,
Adresse : [ville : string , rue : string], Grade : string, Age :
integer, Université : string, Modulens : { string}].
B.
{[nom : string,
Adresse : [ville : string , rue : string], Grade : string, Age :
integer, Université : string, Modulens : { string}]}
L’exemple 1 correspond au type A, tandis que
l’exemple 2 correspond au type B.
Bases de données avancées 2
11/26/21 10:00:36 AM 28
3.6.1.3. Schéma et instance
11/26/21 10:00:36 AM 29
Une instance I d’un schéma S est une affectation σ pour
R tel que :
σ(R) ⊆ [[T(R)]] R∊ R
Ce qui exprime le fait que chaque élément d’une affectation
pour un nom de relation R est un ensemble de valeurs du
type associé à R.
11/26/21 10:00:36 AM 30
[[t]] désigne l’interprétation d’un type t et est défini comme
suit :
- [[Ø]]= Ø ;
- [[D]]=D ;
- [[[A1 : t1, A2 : t2, …, Ak : tk]]]= {[A1 : v1, A2 : v2, …, Ak : vk]/
vi € [[ti]], i=1..k};
- [[{t}]]={{v1, v2, …, vm}/ vi € [[ti]], i=1..m}.
11/26/21 10:00:36 AM 31
Exemples :
S=({Enseignant, ouvrage}, T)
T(Enseignant)= [nom : string,
Adresse : [ville : string , rue : string], Grade : string,
Age :integer, Université : string, Modulens : { string}].
11/26/21 10:00:36 AM 32
3.6.1.4 La manipulation des valeurs
structurées
11/26/21 10:00:37 AM 33
Les formules atomiques sont :
11/26/21 10:00:37 AM 34
Une requête est de la forme {x/ Φ} où x est la seule variable
libre de la formule valide Φ.
11/26/21 10:00:37 AM 35
3.6.1.5 Conclusion
11/26/21 10:00:37 AM 36
3.6.2. Modèle avec identité d’objet
3.6.2.1 Concept d’identité
Ce concept a toujours existé dans les différents modèles mais
de façon plus ou moins apparente. Dans le modèle réseau et
hiérarchique ça apparait dans la notion de clé
d’enregistrement. Dans le modèle relationnel elle se traduit par
la notion d’attribut clé. Dans les modèles sémantiques chaque
unité d’information est identifiée par un nom permettant de
distinguer toutes les entités les unes des autres
indépendamment des valeurs de leurs attributs.
Bases de données avancées 2
11/26/21 10:00:37 AM 37
Voyons les affirmations suivantes :
11/26/21 10:00:37 AM 38
Conséquence de ce concept est le partage d’informations.
11/26/21 10:00:38 AM 39
Exemple :
Mohamed = [nom : ″Mohamed″,
Adresse : [ville : ″Oran ″, rue : ″BenMhidi″], Grade : ″Maitre Assistant″,
Age : 32, Université : ″Univ . Es-Sénia, Oran″, Modulens : {″Compilation″,
″Langages″}].
Ahmed = [nom : ″Ahmed″,
Adresse : [ville : ″Sidi-Bel-Abbès ″, rue : ″Emir AEK″], Grade : ″Maitre de
conférences″, Age :42, Université : ″USTO″, Modulens : {″Système
d’exploitation″, ″Algorithmique″}].
Oran = [nom : ″Oran ″, population :1200000, Aéroport : {Es-Sénia}]
Sidi-Bel-Abbès = [nom : ″Sidi-Bel-Abbés″, population : 800000, Aéroport :
{}]
Bases de données avancées 2
11/26/21 10:00:38 AM 40
3.6.2.2 Formalisation
11/26/21 10:00:38 AM 41
L’ensemble des valeurs d’objets Obj est défini par :
Tout élément de DUO est une valeur de Obj (dite
atomique) ;
Si v1, …, vn sont des valeurs d’objets et A1, …, An des
attributs distincts alors
[A1 : v1, A2 : v2, …, An : vn] est une valeur d’objet de type n-
uplet ;
Si v1, v2, …, vn sont des valeurs d’objets distinctes alors {v1,
v2, …, vn } est une valeur d’objet de type ensemble ;
11/26/21 10:00:38 AM 42
Une affectation d’identificateurs aux classes est une
application π de P dans les parties de Obj. De même à
chaque nom de relation on associe un ensemble de valeurs
d’objets par l’application σ.
L’ensemble des expressions de type noté Type est défini par :
T ::=Ø/ D/ P/ [A1 : t, A2 : t, …, Ak : t]/ {t}. (t est une
expression de type)
D représente les types atomiques :string, real, boolean, …
11/26/21 10:00:38 AM 43
Exemple:
[nom : string,
Adresse : [ville : Ville , rue : string], Grade : string, Age :
integer, Université : string, Modulens : { string}].
[nom : string, population :integer, Aéroport : { string }]
Dans la première expression de type, Ville est un nom de
classe.
11/26/21 10:00:39 AM 44
L’interprétation d’un type t est dépendante de l’allocation
des identificateurs. Elle est défini par :
- [[Ø]]π= Ø ;
- [[D]] π =D ;
11/26/21 10:00:39 AM 45
Un schéma S d’une base de données est un triplet S = (R,
P, T),
R un ensemble de relations,
P est un ensemble de classes,
T est une application de RUP dans Type.
11/26/21 10:00:39 AM 46
Une instance I d’un schéma S est un triplet (σ, π, μ), σ est
une affectation des valeurs aux noms de relations, π est
une affectation d’identificateurs aux noms de classes
d’objets et μ une application partielle de l’ensemble
U{π(P)/ P∊P} dans Obj, le rôle de μ est d’affecter à
chaque objet O une valeur d’objet tel que :
11/26/21 10:00:39 AM 47
Exemple:
Schéma (Ø, {Enseignant, Ville}, T)
T(Enseignant)= [nom : string,
Adresse : [ville : Ville , rue : string], Grade : string, Age :
integer, Université : string, Modulens : { string}].
T(Ville) = [nom : string, population :integer, Aéroport :
{ string }]
11/26/21 10:00:39 AM 48
Une instance I=(Ø, π, μ) correspond à :
π(Enseignant)={Mohamed, Ahmed}
π(Ville)={Oran, Sidi-bel-Abbès}
μ(Mohamed)= [nom : ″Mohamed″,
Adresse : [ville : ″Oran ″, rue : ″BenMhidi″],
Grade : ″Maitre Assistant″,
Age : 32, Université : ″Univ . Es-Sénia, Oran″,
Modulens : {″Compilation″,
″Langages″}].
11/26/21 10:00:39 AM 49
μ (Ahmed) = [nom : ″Ahmed″,
Adresse : [ville : ″Sidi-Bel-Abbès ″, rue : ″Emir AEK″],
Grade : ″Maitre de
conférences″, Age :42, Université : ″USTO″, Modulens :
{″Système
d’exploitation″, ″Algorithmique″}].
μ (Oran) = [nom : ″Oran ″, population :1200000, Aéroport :
{Es-Sénia}]
μ (Sidi-Bel-Abbès) = [nom : ″Sidi-Bel-Abbés″, population :
800000, Aéroport : {}]
Bases de données avancées 2
11/26/21 10:00:40 AM 50
Conclusion
11/26/21 10:00:40 AM 51