SlideShare une entreprise Scribd logo
SGBD …Suite
Definition: Un Système de Gestion de Bases de
Données (SGBD) est un logiciel de haut niveau qui
permet de manipuler les informations stockées da ns
une base de données.
La complexité d’un SGBD est essentiellement issue de la
diversité des techniques mises en oeuvre, de la multiplicité
des composants intervenant dans son architecture, et des
différents types d’utilisateurs (administrateurs,
programmeurs, non informaticiens, ...) qui sont
confrontés, à différents niveaux, au système.
:
Les modèles de données : entité-relation, réseau,
hiérarchique, relationnel, orienté-objet, modèles
sémantiques.
Les langages de requêtes : fondements théoriques
(logiques du premier ordre, du point fixe, algèbres
diverses) et les langages comme SQL, SQL3, Datalog,
OQL, etc.
Les techniques de stockage : sur disque (optique), sur
bande.
L’organisation des fichiers : index, arbre-B, hachage, ...
L’architecture : centralisé, distribué, sur d’autres bases
accessibles par réseau.
Les techniques d’évaluation et d’optimisation de requêtes.
La concurrence d’accès et les techniques de reprise sur
pane.
Niveaux du SGBD
1- Niveau physiques : gestion sur mémoire secondaire (fichiers) des
données, du schéma, des index ; Partage de données et gestion
de la concurrence d’accès ; Reprise sur pannes (fiabilité) ;
Distribution des données et interopérabilité (accès aux
réseaux).
2- Niveau logique : Définition de la structure de données : Langage
de Description de Données (LDD) ;Consultation et Mise à Jour
des données : Langages de Requêtes (LR) et Langage de
Manipulation de Données (LMD) ; Gestion de la confidentialité
(sécurité) ; Maintien de l’intégrité ;
3- Niveau externe : Vues ; Environnement de programmation
(intégration avec un langage de programmation) ; Interfaces
conviviales et Langages de 4e Génération (L4G) ; Outils d’aides
(e.g. conception de schémas) ; Outils de saisie, d’impression
Que doit-on savoir pour utiliser un
SGBD?
L’utilisation d’un SGBD suppose de comprendre (et donc
de savoir utiliser) les fonctionnalités suivantes :
1. Définition du schéma de données en utilisant les modèles
de données du SGBD.
2. Opérations sur les données : recherche, mises-à-jour, etc.
3. Partager les données entre plusieurs utilisateurs.
(Mécanisme de transaction).
4. Optimiser les performances, par le réglage de
l’organisation physique des données. Cet aspect relève de
l’administration des SGBD
Définition du schéma de données
Un schéma est simplement la description des données
contenues dans la base. Cette description est
conforme à un modèle de données qui propose des
outils de description (structures, contraintes et
opérations).
– Le modèle conceptuel : MCD
– Le modèle logique : MLD
– Le modèle physique : MPD
Etapes :
1 Analyse de la situation existante et des besoins;
2. Création d'une série de modèles, qui permettent de
représenter tous les aspects importants;
3. A partir des modèles, implémentation d'une base de
données.
1 Le modèle conceptuel des
données (MCD)
Définition ; En se basant sur un document d'analyse,
le modèle conceptuel des données (MCD) fait
référence à tous les objets du système d'information
et à des relations entre ces objets.
Le formalisme utilisé dans ce modèle est celui du
langage de modélisation UML (Unified Modeling
Language).
A l'aide de ce langage nous pouvons créer un
diagramme de classes qui se base autour de 3
concepts principaux, les classes, les associations et
les attributs.
Exemple
La notion de classe
Une classe1 permet de modéliser un ensemble
d‘objets concrets ou abstraits de même nature.
Une classe est caractérisée par son nom et ses
attributs.
La notion d'attribut
Un attribut représente une donnée élémentaire d'une
classe.
Un attribut est unique dans un MCD et ne peut ainsi
pas être rattaché à plusieurs classes différentes.
Pour une classe Client:
• Nom du client
• NoTél du client
A l'intérieur des objets (des instanciations) d'une
classe, les attributs prennent des valeurs (numérique,
texte, date…)
La notion d'identifiant
Afin de pouvoir distinguer les différents objets
d'une même classe, la classe doit être dotée d'un
identifiant. L'identifiant est composé d'un ou de
plusieurs attributs de la classe. Chaque objet d’une
classe doit avoir une valeur différente pour
l’identifiant
Le ou les attributs qui constituent l'identifiant d'une
classe sont écrits en couleur et suivis de l'indication
{id}
Comme choix pour l'identifiant d'une classe nous
distinguons généralement 3 possibilités:
1. Un attribut naturel
Exemple: Le nom d'un pays pour une classe Pays
2. Un attribut artificiel qui est inventé par le
créateur du MCD
Exemple: Le numéro d'un client pour une classe Client
3. Un identifiant composé de plusieurs attributs
naturels
Exemple: Le nom et la localité pour une classe
Entreprise
La notion d'association
Définition Une association décrit un lien entre
deux ou plusieurs classes.
Chaque association possède un nom, généralement
un verbe à l'infinitif.
Nous distinguons deux types d'associations:
• les associations binaires, qui sont liées à 2 classes;
• les associations ternaires, qui sont liées à 3
classes.
Les multiplicités d'une association
Sur les extrémités d'une association on indique
les multiplicités.
Les multiplicités expriment le nombre minimum
et maximum d'objets d'une classe qui peuvent
être associés à des objets de l'autre classe.
Exemple
Les multiplicités concernant une classe sont
inscrites à l'extrémité opposée de l'association.
Y a-t-il des employés qui n'utilisent pas d'ordinateurs ?
Y a-t-il des ordinateurs qui ne sont pas du tout utilisés ?
La multiplicité minimale indique si un objet d'une
classe peut exister sans participer à l'association.
Cette multiplicité est 0 ou 1.
• Multiplicité minimale = 0 : Un objet de la classe concernée
peut exister sans participer à l'association.
• Multiplicité minimale = 1 : Un objet de la classe participe au
moins une fois à l'association.
- La multiplicité maximale indique si un objet d'une
classe peut participer plusieurs fois à l'association.
Cette multiplicité est 1 ou *, avec * représentant une
valeur >1 mais non connue à priori.
• Multiplicité maximale = 1 : Un objet de la classe participe au
maximum une seule fois à l'association.
• Multiplicité maximale = * : Un objet de la classe peut
participer plusieurs fois à l'association.
Classe-association
Il s'agit maintenant d'étendre le modèle ci-dessus de
façon à représenter également l'année depuis laquelle
un étudiant possède un type de diplôme.
Voici la solution proposée
Une association avec un ou plusieurs attributs
est représentée à l'aide d'une classe
qu'on appelle classe-association. Cette classe-
association contient le ou les attributs
correspondants et elle est connectée au lien de
l'association par une ligne en pointillé.
Par convention, la classe-association porte le
même nom que l'association concernée.
Le modèle logique des données
(MLD)
Jusqu'à présent nous avons établi des MCD
Nous savons également qu'une base de données est
constituée par un ensemble de tables, dont chacune e
Or, le MCD ne connaît pas la notion de table, tandis
qu'une base de données ne connaît pas le concept des
classes reliées entre-elles via des associations avec des
multiplicités. st composée de champs de données.
le modèle logique des données (MLD), qui utilise
essentiellement le formalisme des tables logique
MLD
Un MLD, qui est toujours basé sur un MCD donné,
contient donc toutes les informations de ce MCD,
mais les représente à l'aide d'un formalisme différent
qui est très adapté aux structures d'une base de
données.
Tandis que le MCD représente un système
d'information d'une façon générale et indépendante
d'un système informatique, le MLD tient compte de la
réalisation par le biais d'un SGBD.
Un MLD est essentiellement composé de tables
logiques reliées entre elles par des flèches.
Règles de transformation du MCD
au MLD
Transformation des classes
Toute classe est transformée en table. Les
attributs de la classe deviennent les attributs de
la table. L'identifiant de la classe devient la clé
primaire de la table. La clé primaire est
soulignée.
Exemple

Contenu connexe

Tendances

Big data
Big dataBig data
Big data
Youssef CHOUNI
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
Yassine Badri
 
Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)
Soukaina EL HAYOUNI
 
Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial
dihiaselma
 
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
Hajer Trabelsi
 

Tendances (6)

Si bdd
Si bddSi bdd
Si bdd
 
Big data
Big dataBig data
Big data
 
Conception des bases de données relationelles
Conception des bases de données relationellesConception des bases de données relationelles
Conception des bases de données relationelles
 
Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)Modèle navigationnel (Mnav)
Modèle navigationnel (Mnav)
 
Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial
 
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...Automatic Subspace Clustering of High Dimensional Data for DataMining Applic...
Automatic Subspace Clustering of High Dimensional Data for Data Mining Applic...
 

Similaire à Cours1 2 gdmm

Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
IbrahimaBarry49
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
AbdoulayeTraore48
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
GermainANANOU
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
EddySHANGA
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
Zineb ELGARRAI
 
Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
stephanecoulibaly3
 
ProgrammationO.O.pptx
ProgrammationO.O.pptxProgrammationO.O.pptx
ProgrammationO.O.pptx
FadelStark
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbcvangogue
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
Idriss22
 
Sparkmllib
SparkmllibSparkmllib
Sparkmllib
AS Stitou
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
Romain Cambien
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti
Imen Naés
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
lauraty3204
 
POO -- (programmation orienté objet).pdf
POO -- (programmation orienté objet).pdfPOO -- (programmation orienté objet).pdf
POO -- (programmation orienté objet).pdf
hassanichaymae2903
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
sugogo
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
Badiâa Dellal-Hedjazi
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
FousseniDoucour1
 

Similaire à Cours1 2 gdmm (20)

Cours BDD.pptx
Cours BDD.pptxCours BDD.pptx
Cours BDD.pptx
 
Base de Données Chapitre I .pptx
Base de Données Chapitre I .pptxBase de Données Chapitre I .pptx
Base de Données Chapitre I .pptx
 
sgbd
sgbdsgbd
sgbd
 
BDRO.pdf
BDRO.pdfBDRO.pdf
BDRO.pdf
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
Cours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdfCours_BD_M1-EAI-2023.pdf
Cours_BD_M1-EAI-2023.pdf
 
ProgrammationO.O.pptx
ProgrammationO.O.pptxProgrammationO.O.pptx
ProgrammationO.O.pptx
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
Sparkmllib
SparkmllibSparkmllib
Sparkmllib
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
POO -- (programmation orienté objet).pdf
POO -- (programmation orienté objet).pdfPOO -- (programmation orienté objet).pdf
POO -- (programmation orienté objet).pdf
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
Cours Système d'Information
Cours Système d'InformationCours Système d'Information
Cours Système d'Information
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
 

Cours1 2 gdmm

  • 1.
  • 2. SGBD …Suite Definition: Un Système de Gestion de Bases de Données (SGBD) est un logiciel de haut niveau qui permet de manipuler les informations stockées da ns une base de données. La complexité d’un SGBD est essentiellement issue de la diversité des techniques mises en oeuvre, de la multiplicité des composants intervenant dans son architecture, et des différents types d’utilisateurs (administrateurs, programmeurs, non informaticiens, ...) qui sont confrontés, à différents niveaux, au système. :
  • 3. Les modèles de données : entité-relation, réseau, hiérarchique, relationnel, orienté-objet, modèles sémantiques. Les langages de requêtes : fondements théoriques (logiques du premier ordre, du point fixe, algèbres diverses) et les langages comme SQL, SQL3, Datalog, OQL, etc. Les techniques de stockage : sur disque (optique), sur bande. L’organisation des fichiers : index, arbre-B, hachage, ... L’architecture : centralisé, distribué, sur d’autres bases accessibles par réseau. Les techniques d’évaluation et d’optimisation de requêtes. La concurrence d’accès et les techniques de reprise sur pane.
  • 4. Niveaux du SGBD 1- Niveau physiques : gestion sur mémoire secondaire (fichiers) des données, du schéma, des index ; Partage de données et gestion de la concurrence d’accès ; Reprise sur pannes (fiabilité) ; Distribution des données et interopérabilité (accès aux réseaux). 2- Niveau logique : Définition de la structure de données : Langage de Description de Données (LDD) ;Consultation et Mise à Jour des données : Langages de Requêtes (LR) et Langage de Manipulation de Données (LMD) ; Gestion de la confidentialité (sécurité) ; Maintien de l’intégrité ; 3- Niveau externe : Vues ; Environnement de programmation (intégration avec un langage de programmation) ; Interfaces conviviales et Langages de 4e Génération (L4G) ; Outils d’aides (e.g. conception de schémas) ; Outils de saisie, d’impression
  • 5. Que doit-on savoir pour utiliser un SGBD? L’utilisation d’un SGBD suppose de comprendre (et donc de savoir utiliser) les fonctionnalités suivantes : 1. Définition du schéma de données en utilisant les modèles de données du SGBD. 2. Opérations sur les données : recherche, mises-à-jour, etc. 3. Partager les données entre plusieurs utilisateurs. (Mécanisme de transaction). 4. Optimiser les performances, par le réglage de l’organisation physique des données. Cet aspect relève de l’administration des SGBD
  • 6. Définition du schéma de données Un schéma est simplement la description des données contenues dans la base. Cette description est conforme à un modèle de données qui propose des outils de description (structures, contraintes et opérations). – Le modèle conceptuel : MCD – Le modèle logique : MLD – Le modèle physique : MPD
  • 7. Etapes : 1 Analyse de la situation existante et des besoins; 2. Création d'une série de modèles, qui permettent de représenter tous les aspects importants; 3. A partir des modèles, implémentation d'une base de données.
  • 8. 1 Le modèle conceptuel des données (MCD) Définition ; En se basant sur un document d'analyse, le modèle conceptuel des données (MCD) fait référence à tous les objets du système d'information et à des relations entre ces objets. Le formalisme utilisé dans ce modèle est celui du langage de modélisation UML (Unified Modeling Language). A l'aide de ce langage nous pouvons créer un diagramme de classes qui se base autour de 3 concepts principaux, les classes, les associations et les attributs.
  • 10. La notion de classe Une classe1 permet de modéliser un ensemble d‘objets concrets ou abstraits de même nature. Une classe est caractérisée par son nom et ses attributs.
  • 11. La notion d'attribut Un attribut représente une donnée élémentaire d'une classe. Un attribut est unique dans un MCD et ne peut ainsi pas être rattaché à plusieurs classes différentes. Pour une classe Client: • Nom du client • NoTél du client A l'intérieur des objets (des instanciations) d'une classe, les attributs prennent des valeurs (numérique, texte, date…)
  • 12. La notion d'identifiant Afin de pouvoir distinguer les différents objets d'une même classe, la classe doit être dotée d'un identifiant. L'identifiant est composé d'un ou de plusieurs attributs de la classe. Chaque objet d’une classe doit avoir une valeur différente pour l’identifiant Le ou les attributs qui constituent l'identifiant d'une classe sont écrits en couleur et suivis de l'indication {id}
  • 13. Comme choix pour l'identifiant d'une classe nous distinguons généralement 3 possibilités: 1. Un attribut naturel Exemple: Le nom d'un pays pour une classe Pays 2. Un attribut artificiel qui est inventé par le créateur du MCD Exemple: Le numéro d'un client pour une classe Client 3. Un identifiant composé de plusieurs attributs naturels Exemple: Le nom et la localité pour une classe Entreprise
  • 14. La notion d'association Définition Une association décrit un lien entre deux ou plusieurs classes. Chaque association possède un nom, généralement un verbe à l'infinitif. Nous distinguons deux types d'associations: • les associations binaires, qui sont liées à 2 classes; • les associations ternaires, qui sont liées à 3 classes.
  • 15.
  • 16.
  • 17. Les multiplicités d'une association Sur les extrémités d'une association on indique les multiplicités. Les multiplicités expriment le nombre minimum et maximum d'objets d'une classe qui peuvent être associés à des objets de l'autre classe.
  • 19. Les multiplicités concernant une classe sont inscrites à l'extrémité opposée de l'association. Y a-t-il des employés qui n'utilisent pas d'ordinateurs ? Y a-t-il des ordinateurs qui ne sont pas du tout utilisés ?
  • 20. La multiplicité minimale indique si un objet d'une classe peut exister sans participer à l'association. Cette multiplicité est 0 ou 1. • Multiplicité minimale = 0 : Un objet de la classe concernée peut exister sans participer à l'association. • Multiplicité minimale = 1 : Un objet de la classe participe au moins une fois à l'association. - La multiplicité maximale indique si un objet d'une classe peut participer plusieurs fois à l'association. Cette multiplicité est 1 ou *, avec * représentant une valeur >1 mais non connue à priori. • Multiplicité maximale = 1 : Un objet de la classe participe au maximum une seule fois à l'association. • Multiplicité maximale = * : Un objet de la classe peut participer plusieurs fois à l'association.
  • 21. Classe-association Il s'agit maintenant d'étendre le modèle ci-dessus de façon à représenter également l'année depuis laquelle un étudiant possède un type de diplôme.
  • 22. Voici la solution proposée
  • 23. Une association avec un ou plusieurs attributs est représentée à l'aide d'une classe qu'on appelle classe-association. Cette classe- association contient le ou les attributs correspondants et elle est connectée au lien de l'association par une ligne en pointillé. Par convention, la classe-association porte le même nom que l'association concernée.
  • 24.
  • 25. Le modèle logique des données (MLD) Jusqu'à présent nous avons établi des MCD Nous savons également qu'une base de données est constituée par un ensemble de tables, dont chacune e Or, le MCD ne connaît pas la notion de table, tandis qu'une base de données ne connaît pas le concept des classes reliées entre-elles via des associations avec des multiplicités. st composée de champs de données. le modèle logique des données (MLD), qui utilise essentiellement le formalisme des tables logique
  • 26. MLD Un MLD, qui est toujours basé sur un MCD donné, contient donc toutes les informations de ce MCD, mais les représente à l'aide d'un formalisme différent qui est très adapté aux structures d'une base de données. Tandis que le MCD représente un système d'information d'une façon générale et indépendante d'un système informatique, le MLD tient compte de la réalisation par le biais d'un SGBD. Un MLD est essentiellement composé de tables logiques reliées entre elles par des flèches.
  • 27.
  • 28. Règles de transformation du MCD au MLD Transformation des classes Toute classe est transformée en table. Les attributs de la classe deviennent les attributs de la table. L'identifiant de la classe devient la clé primaire de la table. La clé primaire est soulignée.