Bases de Données - Le Mans University
Transcript of Bases de Données - Le Mans University
![Page 1: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/1.jpg)
Bases de Données
![Page 2: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/2.jpg)
Un site WEB, c'est quoi ?
Un site web, ou simplement site, est un ensemble de pages web et de ressources reliées par des hyperliens, défini et accessible par une adresse web.
Un site est hébergé sur un serveur web accessible via le réseau mondial internet ou un intranet local. L'ensemble des sites web constituent le World Wide Web.
Préambule
![Page 3: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/3.jpg)
Architecture d'un serveur WEB :
Tout serveur WEB est composé de trois logiciels minimals Apache, MySQL et PHP.
On parle aussi de LAMP, MAMP, WAMP, XAMPP...
Tous les composants peuvent être situés :- sur une même machine ;- sur deux machines, généralement Apache et le langage de
script d'un côté et MySQL de l'autre ;- sur de nombreuses machines pour assurer la haute
disponibilité (répartition de charge et/ou failover).
![Page 4: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/4.jpg)
Apache :
C'est le serveur web « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client web (navigateur).
Il fait le lien entre une URL et un répertoire sur la machine.
![Page 5: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/5.jpg)
MySQL:
C'est un système de gestion de bases de données (SGBD). Il permet de stocker et d'organiser des données .
![Page 6: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/6.jpg)
PHP:
Le langage de script PHP permet la génération de pages web dynamiques et la communication avec le serveur MySQL.
![Page 7: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/7.jpg)
![Page 8: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/8.jpg)
Dans ce cours, nous nous intéresserons :
- au bases de données, construction d'un MCD/MLD- au SQL ( Langage d'interrogation de la BDD)- au PHP pour générer du HTML
![Page 9: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/9.jpg)
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
![Page 10: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/10.jpg)
Définition
Base de données: Une base de données informatique est un ensemble de données qui ont été stockées sur un support informatique, et organisées et structurées de manière à pouvoir facilement consulter et modifier leur contenu.
![Page 11: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/11.jpg)
Introduction
Exemples de BD:
BD d’université (données sur les étudiants, les enseignements, les salles, etc.)
BD de compagnie aérienne (données sur les clients, les vols, les réservations, etc.)
BD bancaire (données sur les clients, les comptes, les transactions, etc.)
![Page 12: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/12.jpg)
Définition
SGBD Systèmes de Gestion de Bases de Données
(DataBase Management Systems - DBMS)
ensemble de logiciels systèmes permettant aux utilisateurs de faire des applications (insérer, modifier, et rechercher) efficacement des données spécifiques dans une grande masse d'informations partagée par de multiples utilisateurs
![Page 13: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/13.jpg)
Exemple de l'utilité d'une base de données
Prenons pour exemple, la gestion en système de fichiers d'un patient dans un hôpital...
![Page 14: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/14.jpg)
Pourquoi une base de données ?
Chirurgie
Psychiatrie
Systèmes de fichiers Caractéristiques
Comptabilité
Consultations
Problèmes
![Page 15: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/15.jpg)
Pourquoi une base de données ?
Format des fichiers Caractéristiques
Problèmes
Plusieurs applications plusieurs formats plusieurs langages
Difficultés de gestion
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
![Page 16: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/16.jpg)
Pourquoi une base de données ?
Redondance (données) Caractéristiques
Problèmes
Plusieurs applications plusieurs formats plusieurs langages
Redondance des données
Difficultés de gestion Incohérence des données
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
![Page 17: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/17.jpg)
Pourquoi une base de données ?
Interrogations Caractéristiques
Problèmes
Plusieurs applications plusieurs formats plusieurs langages
Redondance des données
Pas de facilité d’interrogation Question => développement
Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficileDuhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx C
hir
uS
oft
Co
nsu
ltSo
ft
Psy
chia
So
ft
Co
mp
taSo
ft
![Page 18: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/18.jpg)
Pourquoi une base de données ?
Partage de données Caractéristiques
Problèmes
Plusieurs applications plusieurs formats plusieurs langages
Redondance des données
Pas de facilité d’interrogation Question => développement
Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Partage des données ???
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx C
hir
uS
oft
Co
nsu
ltSo
ft
Psy
chia
So
ft
Co
mp
taSo
ft
![Page 19: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/19.jpg)
Pourquoi une base de données ?
Partage de données Caractéristiques
Problèmes
Plusieurs applications plusieurs formats plusieurs langages
Redondance des données
Pas de facilité d’interrogation Question => développement
Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Partage des données ??? Confidentialité ???
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx C
hir
uS
oft
Co
nsu
ltSo
ft
Psy
chia
So
ft
Co
mp
taSo
ft
![Page 20: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/20.jpg)
L’approche ‘‘Bases de données’’
Modélisation des données Éliminer la redondance de données Centraliser et organiser correctement les données Plusieurs niveaux de modélisation
Logiciel «Système de Gestion de Bases de Données»Factorisation des modules de contrôle des applications
- Interrogation, cohérence, partage, gestion de pannes, etc…Administration facilitées des données
![Page 21: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/21.jpg)
Les bases de données
![Page 22: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/22.jpg)
Introduction
Modèle de données (décrire les données, les relations entre elles, leur sémantique, les contraintes d’intégrité, etc.):
Modèle conceptuel MCD (entité/association) Plus lisibles (graphiques) Entité, association, spécialisation, attribut,
identificateur, etc.
Modèle logique MLD (logique relationnel) Plus facilement implantable Relation, attribut, domaine, clé, n-uplet, etc.
![Page 23: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/23.jpg)
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
![Page 24: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/24.jpg)
Modélisation conceptuelle
Modèle de données : ensemble de – concepts permettant la description et la
manipulation des données du monde réel– règles d’utilisation de ces concepts
les concepts décrivent les aspects :– Statiques : structure des données– Dynamiques : opérations sur les données +
contraintes explicites
![Page 25: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/25.jpg)
Modèle Entité/Association
Entité : objet concret ou abstrait, identifiable, décrit par l’information et pertinent pour l’application Ex : Vertigo (film), Hitckcock (réalisateurs)
Une entité est représentée par un ensemble d’ attributs qui la décrive. Ex : film décrit par le nom, l’année de création, …
Chaque attribut a un domaine qui correspond à l’ensemble des valeurs qu’il peut prendre Ex : les années compris entre 1920-2005
![Page 26: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/26.jpg)
Type d’entité
![Page 27: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/27.jpg)
Modèle Entité/Association
Clé (Identificateur) : Un sous-ensemble d’attribut permettant d’identifier l’entité de manière unique.
sa valeur doit être connue pour toute entité on ne doit jamais avoir besoin de le modifier Exemple:
Étudiant: numéro d'étudiant film: nom+pays+année?
Identificateur abstrait: numéro séquentiel qui sera incrémenté au fur et à mesure des insertions
![Page 28: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/28.jpg)
Modèle Entité/Association
Cardinalité d’une association : nombre d’entités que l’association relie. Noté (Min, Max) « 0,1 » , « 0,n », « 1,1 », « 1,n »
Une association peut avoir des attributs
![Page 29: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/29.jpg)
Exemple de Modèle Entité / Association
1,1
0,1
0,1
0,n
3,n1,n
UE
codenbHcoord
Eleve
numnomageadresse
Livre
cotetitre
Chambre
noprix
S’inscrire
note
Emprunter
datePret
Louer
![Page 30: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/30.jpg)
Contraintes
Contraintes d’intégrité : toutes règles implicites ou explicites que doivent
suivre les données Contraintes d'entité: toute entité doit posséder un
identificateur Contraintes de domaine : les valeurs de certains
attributs doivent être prises dans un ensemble donné Contraintes d'unicité : une valeur d'attribut ne peut
pas être affectée deux fois à deux entités différentes Contraintes générales : règle permettant de
conserver la cohérence de la base de manière générale
![Page 31: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/31.jpg)
Exemples de contraintes
Contraintes de domaine :
"La fonction d’un enseignant à l’Université prend sa valeur dans l’ensemble {vacataire, moniteur, ATER, MCF, Prof., PRAG, PAST}."
Contraintes d'unicité :
"Un département, identifié par son numéro, a un nom unique (il n’y a pas deux départements de même nom)."
Contraintes générales :
"Un même examen ne peut pas avoir lieu dans deux salles différentes à la même date et à la même heure. "
![Page 32: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/32.jpg)
(Des)Avantages du modèle E/A
Avantages Que 3 concepts: entités, associations, attributs Représentation graphique et rapide
Désavantages Pas de règle absolue pour déterminer qui est
attribut, entité ou association…
![Page 33: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/33.jpg)
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
![Page 34: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/34.jpg)
Modèle relationnel
Le MCD visait à conceptualiser l’application.Le MLD vise à traduire le MCD en tables
utilisables par un SGBD.
![Page 35: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/35.jpg)
Modèle relationnel
La relation du « nom » Eleve : Eleve (num : number , nom: string, age: number,
adresse : string)
On appelle N-uplet : les enregistrements en ligne d'une relation
![Page 36: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/36.jpg)
Modèle relationnel
Domaine : ensemble d’instance d’un type Ex : réels, boolean, chaine de caracteres, etc.
Attribut : colonne d’une relation, associé a un domaine
Schéma de relation : nom suivi de la liste des attributs, chq attribut étant associé à son domain R(A1 : D1, A2 : D2, …, An : Dn) Ex : Film (titre: string, année: number, genre : string)
![Page 37: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/37.jpg)
Modèle relationnel
Clé d’une relation : le + petit sous-ens. des attributs qui permet d’identifier chq ligne d’une manière unique ex : film (titre, année, genre)
Tuple (n-uplet) : une liste de n valeurs (v1, …vn), où chq vi est la valeur d’un attribut Ai du domain Di
ex : (‘Cyrano’, 1992, ‘Rappeneau’)
Base de données : ensemble fini de relations.
![Page 38: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/38.jpg)
Règles de passages (1)
Règles générales – Entité : 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.3. Les attributs de l’identifiant constituent la clé de la
relation.
![Page 39: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/39.jpg)
Règles de passages (2)
1. A chaque entité correspond une table.2. Si la relation est de type 1:1, les entités ont la même clef.3. Dans le cas d’une relation 1:n, la clef de l’entité côté 0,n/1,n
migre vers la table côté 0,1/1,1 et devient une clef étrangère (Foreign Key).
4. Dans le cas d’une association n:m entre une table A et une table B, une nouvelle table C est créée. Dans C, les clefs primaires de A et B sont des clefs étrangères.
![Page 40: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/40.jpg)
Quel type de relation ?
Comment savoir si l'on est en présence d'une relation 1:1 ou 1:n etc.
Pour ce faire nous allons regarder la cardinalité maximale des deux côtés d'une association !
![Page 41: Bases de Données - Le Mans University](https://reader031.fdocument.pub/reader031/viewer/2022012413/616d083b27128b3d9c233fc5/html5/thumbnails/41.jpg)
Exercice
Voir polycopié…