bases de données - le mans university
TRANSCRIPT
Bases de Données
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
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).
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.
MySQL:
C'est un système de gestion de bases de données (SGBD). Il permet de stocker et d'organiser des données .
PHP:
Le langage de script PHP permet la génération de pages web dynamiques et la communication avec le serveur MySQL.
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
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
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.
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.)
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
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...
Pourquoi une base de données ?
Chirurgie
Psychiatrie
Systèmes de fichiers Caractéristiques
Comptabilité
Consultations
Problèmes
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
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
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
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
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
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
Les bases de données
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.
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
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
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
Type d’entité
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
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
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
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
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. "
(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…
INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL
Bases de Données
Modèle relationnel
Le MCD visait à conceptualiser l’application.Le MLD vise à traduire le MCD en tables
utilisables par un SGBD.
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
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)
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.
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.
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.
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 !
Exercice
Voir polycopié…