Bases de Données - Le Mans University

41
Bases de Données

Transcript of Bases de Données - Le Mans University

Page 1: Bases de Données - Le Mans University

Bases de Données

Page 2: Bases de Données - Le Mans University

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

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

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

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

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
Page 8: Bases de Données - Le Mans University

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

INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL

Bases de Données

Page 10: Bases de Données - Le Mans University

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

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

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

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

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

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

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

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

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

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

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

Les bases de données

Page 22: Bases de Données - Le Mans University

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

INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL

Bases de Données

Page 24: Bases de Données - Le Mans University

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

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

Type d’entité

Page 27: Bases de Données - Le Mans University

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

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

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

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

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

(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

INTRODUCTIONMODÈLE ENTITÉ/ASSOCIATIONMODÈLE RELATIONNEL

Bases de Données

Page 34: Bases de Données - Le Mans University

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

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

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

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

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

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

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

Exercice

Voir polycopié…