Chapitre1 FBD Part1 Part2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 35

Faculté des Sciences de Tunis

Fondements des Bases


de Données
Section: IOT2

Année Universitaire Leila Hadded


2023 - 2024 [email protected]
Introduction aux bases
de données

L. HADDED
3 Problématique

 Les applications sont de plus en plus complexes vis à vis à la structuration des
données

 Besoin de stocker les données de façon persistante


 Données volatiles (variables d’un programme)
• Elles disparaissent à la fin d’exécution
• Elles sont gardées dans la mémoire centrale RAM

 Données persistantes (fichiers, bases de données)


• Permanentes, gardées dans des mémoires de masse (disques durs
magnétiques, disquettes magnétiques….)

L. HADDED
4 Limites des systèmes de fichiers

Limites des systèmes de fichiers Avec base de données

Fichiers Applications Base de données Filtre (vues) Applications

BP 2536
Facturation BP 2536 Facturation

BP 2536 Commercial Commercial

Prospects
BP 2536 Prospects
Délais de mise à jour

L. HADDED
5 Qu’est ce qu’une BD?

 Une Base de Données (BD) est un ensemble structuré de données enregistrées sur
des supports permanents accessibles par l’ordinateur pour satisfaire simultanément
plusieurs utilisateurs de façon sélective en un temps opportun (très court)

 Exemples
• Gestion des personnels, étudiants, cours, inscriptions, ... d’une université
• Système de réservation de billets
• Gestion des comptes clients d’une banque

L. HADDED
6 Pourquoi une BD?

 Pour contourner les limites des fichiers


 Disponibilité des données pour une consultation, une saisie ou une mise à jour, tout
en s'assurant des droits accordés à ces derniers
 Limiter la redondance des données
 Accès simultané à la base par plusieurs utilisateurs
 Partage et sécurité de données
 Fiabilité de données : Transactions, Reprises sur pannes, Tolérance de pannes

L. HADDED
7 La gestion d’une BD

 Volume important de données (Banques, bibliothèques, … etc.)


Problème : comment stocker et manipuler les données?
Données  Bases de données (BD)
Logiciel  Système de Gestion de bases de Données (SGBD): Outil
d’exploitation d’une BD

 Un SGBD est un logiciel permettant de:


• Décrire - la confidentialité
• Manipuler en assurant - l’intégrité
• Consulter les données - la sécurité
• Définir des CI - le partage des données

L. HADDED
8 Fonction d’un SGBD

1) Persistance : Données stockées sur disque


2) Gestion du disque : Techniques spécifiques pour de bonnes performances
3) Description des données qui seront stockées grâce au Langage de Description de
Données (LDD)
4) Manipulation des données (ajouter, modifier, supprimer des informations) grâce
au Langage de Manipulation de Données (LMD)
5) Consultation des données et traitement des informations obtenues (sélectionner,
trier, calculer, agréger,...) grâce au Langage d’Interrogation de Données (LID).
 Ces langages (LDD, LMD, LID, LCD) fournissent des requêtes qui doivent
être : Simples , déclaratives, optimisées avant leur exécution

L. HADDED
9 Fonction d’un SGBD

6) Partage des données


• Autoriser un accès aux informations à de multiples d’utilisateurs de façon simple
• Notion de transaction (begin, commit)
• Cohérence des mises à jour effectuées par un utilisateur
7) Sécurité et confidentialité des données
• Les données sont protégées contre les accès non autorisés
• Tous les utilisateurs ne peuvent pas tout faire sur toutes les données
• Notion de groupes d’utilisateurs
• Notion d’autorisation (lecture, écriture, exécution)
• Granularité des autorisations : BD, table, colonne, n-uplet, ...
• Possibilité d’accorder ou de supprimer des droits
L. HADDED
10 Fonction d’un SGBD

8) Fiabilité et Contrôle des données


• Vérification de contraintes d’intégrité sur les données
• Résolution des problèmes d'accès multiples aux données (blocages, inter-
blocages)
• Atomicité des transactions : transaction complètement effectuée ou pas du tout
• Résistance aux pannes
• Prévention des procédures de reprise en cas d'incident (sauvegardes, journaux,...)
 Si panne mémoire : restauration automatique de la base intégrant les
dernières transactions validées avant la panne
 Si panne disque : restauration d’une sauvegarde et déroulement du journal
L. HADDED archivé
11 Concurrence d’accès

 Plusieurs utilisateurs doivent pouvoir accéder en même temps aux mêmes données.
Le SGBD doit savoir :
• Gérer les conflits si les deux utilisateurs font des mises-à-jour
• Offrir un mécanisme de retour en arrière si on décide d'annuler des modifications
en cours
• Donner une image cohérente des données si l'un fait des requêtes et l'autre des
mises-à-jour
 Le but : éviter les blocages, tout en empêchant des modifications anarchiques

L. HADDED
12 Niveaux de représentation des données /Architecture d’un SGBD

 L'architecture ANSI/SPARC définit 3 niveaux d'abstraction pour un SGBD:


• Niveau externe (ou vue): le niveau d’expression des besoins des users. Il
formalise la manière dont les utilisateurs voient les données
• Niveau conceptuel (ou logique): décrit la structure de la base de données
globalement à tous les utilisateurs sans soucis de l’implantation physique
• Niveau interne (ou physique): relatif à la mémoire physique. Il définit la façon
selon laquelle les données sont stockées et les méthodes pour y accéder
 Cette architecture permet d'avoir une indépendance entre les données et les
traitements
• L’existence du niveau conceptuel et interne réels et uniques
• Le niveau externe permet d’avoir des vues multiples de la base
L. HADDED
13 Niveaux de représentation des données /Architecture d’un SGBD

L. HADDED
14 Avantage de la séparation en 3 niveaux

 Indépendance logique/physique:
 On peut modifier l’organisation des données sans toucher les programmes de
traitement
• Limiter les modifications liées aux changements de matériel, de système
d’exploitation ou des logiciels utilisés
 Une modification de l’organisation des données n’entraîne pas de modification
dans les programmes d’application non concernés
• La vision de chaque utilisateur est indépendante des visions des autres
utilisateurs et n’est pas modifiée par les modifications du schéma conceptuel
qui ne le concernent pas

L. HADDED
15 Types des SGBDs

Les SGBD les plus connus sont: Oracle, SQLServer, MySQL, PostgreSQL, Microsoft
Access, Informix, DB2, Sybase, ….
 Les SGBD peuvent être classés selon les modèles des BD (hiérarchique, réseau,
relationnel; relationnel objet, objet, …

 Les Modèles de BD: Un modèle peut se définir comme une représentation abstraite
de l’information et éventuellement des opérateurs de manipulation. Plusieurs modèles
ont été définis:
• Le modèle hiérarchique: les données sont représentées dans la base sous forme de
structure arborescente
o Chaque élément comporte juste un lien vers le niveau inferieur
o Il impose un chemin d’accès unique à chaque élément de données
L. HADDED
16 Types des SGBDs

• Le modèle réseau:
o Les données sont représentées dans la base sous forme d’un graphe
quelconque
o L’accès aux données n’est pas limité aux chemins descendants/ascendants du
modèle hiérarchique, peut se faire de plusieurs façons différentes pour une
même donnée

 Limites des SGBD hiérarchiques et réseaux:


o pas de séparation nette entre le niveau conceptuel et le niveau physique
o utilisent un langage complexe pour travailler avec leurs données
L. HADDED
17 Types des SGBDs

• Le modèle relationnel:
o fondé sur la théorie mathématique des relations
o représentation très simple des données (tables)
o langage non procédural (déclaratif), puissant et simple d’emploi
o SQL est un standard parmi ces langages
• Le modèle Objet, Relationnel-Objet, …

L. HADDED
18 Cycle de vie d’une BD

 On appelle conception d’une BD la phase d’analyse qui aboutit à


déterminer le futur contenu de la base, c.-à-d. décider les données
qu’on va stocker dans la BD
 Une fois que cette phase est terminée, il faudra transmettre son
contenu au SGBD choisi (à travers le LDD). On appelle implantation
de la BD cette phase qui consiste à décrire la BD dans le langage du
SGBD et introduire les données initiales
 Une fois l’implantation terminée, on peut commencer l’utilisation de
la BD. Celle-ci consiste à exprimer des requêtes de m-à-j (ajout,
suppression, modification, …), des requêtes d’interrogation
 On appelle cycle de vie d’une BD la suite des phases: conception,
implantation, utilisation
L. HADDED
Le Modèle Entité/Association

L. HADDED
20 Introduction

 Il est difficile de modéliser un domaine sous une forme directement utilisable par un
SGBD

Une ou plusieurs modélisations intermédiaires sont utiles, le modèle entité-


association constitue l’une des premières et des plus courantes

 Le modèle Entité/Association (Entité/Relation), conçu par Chen en 1976, est un


modèle de données de type conceptuel. Il est actuellement utilisé par plusieurs
méthodes et outils d’aide à la conception des BD (Merise, UML, …)
 Il permet la représentation des données issues du monde réel sous forme d’un
ensemble d’objets appelés entités associées entre elles au moyen d’un ensemble
d’associations

L. HADDED
21 Concepts de base

 Encore appelé entité/relation (« entity/relationship »)


• A ne pas confondre avec modèle relationnel!
 L’information est représentée par 3 concepts primitifs:
• Entité: un être ou un objet (concret ou abstrait), qui existe et peut être distingué
d’un autre objet
o Exemple : Mohamed, Golf 7
• Association: représentation d’un lien entre plusieurs entités
o Exemple: Mohamed acheté une golf 7
• Attribut/propriété: Donnée élémentaire permettant de décrire une entité ou une
association
o Exemple: Numéro de carte d’identité, nom, prénom, âge, …
L. HADDED
22 Concepts de base

• Type d’entité (TE): représentation abstraite d’un ensemble d’entités perçues


comme similaires, ayant les mêmes caractéristiques et le même comportement
o Exemple: personne, véhicule, client, …, etc
• Type d’association (TA): représentation d’un ensemble d’associations ayant la
même sémantique et décrites par les mêmes caractéristiques
o Exemple: Personne achète une voiture
 Diagramme EA
• Type d’entité --> rectangle
• Type d’association --> losange
• Propriété --> ovale

L. HADDED
23 Concepts de base

Ali Khaled
Jamel

Salem Kamel

modélisé par

Personne

Personne Achète Maison

L. HADDED
24 Concepts de base

 Identifiant (clé): un attribut ou un ensemble minimum


d’attributs dont les valeurs identifient de manière unique
les instances d’une entité (resp. association)
o Exemple :
 L’immatriculation permet d’identifier de façon
unique une voiture
 ETUDIANT( n°etud, nom, prénoms, ddn,
adresse): n°etudiant forme une clé. Par contre
nom+prénom ne forment pas une clé car deux
étudiants ne sont pas distingués par les instances
du TE employé

NB. Le choix des attributs, des domaines et des clés constitue une étape essentielle
lors de la définition d’un modèle du monde réel!
L. HADDED
25 Le diagramme E-A : une autre représentation

 Les entités
• Représentées par un rectangle contenant le nom du type de l'entité
 Les propriétés (ou attributs)
• le nom de la propriété écrit dans l'entité ou l'association correspondante
 Les associations
• Représentées par une ellipse contenant le nom de l'association

L. HADDED
26 Types d’attributs

 Attribut simple: non décomposé en d’autres attributs (exple salaire)


 Attribut composé: décomposé en d’autres attributs (exple date : jour, mois, année,
adresse : rue, ville, codep)
 Attribut mono-valué: une seule valeur par occurrence (exple nom, date de naissance)
 Attribut multi-valué: plusieurs valeurs par occurrence (exple téléphones)
 Attribut obligatoire: une valeur au moins par occurrence (exple nom, prénom)
 Attribut facultatif: peut ne pas prendre de valeur (exple salaire, téléphone)

L. HADDED
27 Les cardinalités

 But: exprimer le nombre minimum et le nombre maximum de participations de


chaque occurrence d’entité à une association
o Exemple:
 On exprime la contrainte que tous les auteurs doivent écrire au moins un
article. On écrira min=1 et max=N (N veut dire nombre indéterminé)
 On exprime la contrainte que tout article doit être écrit par un et un seul
auteur. On écrira min=1 et max=1

1,1 1,N
Auteur Ecrire Article

L. HADDED
28 Les cardinalités

L. HADDED
29 Les cardinalités

 Elle est composée d’un couple comportant une borne maximale et une borne
minimale; intervalle dans lequel la cardinalité d’une entité peut prendre sa valeur
(max≥min, min≥0, max≥1)
 La borne minimale spécifie le nombre minimum de fois qu’une entité peut participer
à une association
 La borne maximale spécifie le nombre maximum de fois qu’une entité peut participer
à une association
 Configurations possibles :

L. HADDED
30 Lecture des cardinalités

 Modélisation Entité/Association : Plusieurs formalismes (Chen, Merise)


 Formalisme Merise

 Formalisme de Chen = diagramme de classes d'UML

L. HADDED
31 Dimensions d'une association

 On appelle DIMENSION d'une association le nombre d'entités qu'elle relie. On dit


souvent : son nombre de «pattes»
 Remarques :
 Il n'existe pas de limite au nombre de pattes d'une association. Cependant, un
nombre de pattes élevé est un indice que l'étude a été superficielle et
approximative.
 Même s’il n’y a en principe pas de limite sur le degré d’une association, en
pratique on ne va jamais au-delà d’une association entre trois entités
 Une association "réflexive" (appelée aussi cyclique ou récursive) est une
association qui lie des occurrences d'une même entité entre elles

L. HADDED
32 Plusieurs associations entre deux entités

 On peut définir plusieurs associations entre deux entités qui vont faire correspondre
différentes occurrences
 Exemple: Entre deux entités personnes et voiture on peut définir
 Association ‘possède’ qui fait correspondre chaque personne aux voitures qu’ils
possèdent
 Association ‘conduire’ qui fait correspondre chaque personne aux différentes
voitures qu’il peut conduire

L. HADDED
33 Association entre plusieurs entités (plus que deux)

 Supposons une société immobilière dont l'activité consiste à louer des locaux
commerciaux

 Pour une occurrence de client, il y a au moins un couple local * contrat et au plus


plusieurs
 Pour un local il peut ne pas y avoir de couple client * contrat mais éventuellement
plusieurs
 Pour un contrat il y a 1 et 1 seul couple client * local
L. HADDED
34 Démarche à suivre pour produire un diagramme E/A

 Identifier la liste des entités


 Déterminer les attributs de chaque entité en choisissant un identifiant
 Etablir les relations entre les différentes entités : les associations
 Déterminer les attributs de chaque association
 Définir les cardinalités
 Vérifier la cohérence et la pertinence du schéma obtenu

L. HADDED
35 Exercices d’application

Exercice 1 : Une bibliothèque peut contenir plusieurs livres. Un livre a un auteur,


une date d’édition et un numéro d’identification. Un étudiant a un numéro
d’identification, un nom et un prénom. Il peut emprunter plusieurs livres et ne peut
pas garder un livre plus de trois mois.

Exercice 2 : Un cinéma a un numéro d’identification, un nom et une adresse, et


projette plusieurs films à des horaires et dates spécifiques. Un film a un titre, des
acteurs qui y jouent un certain rôle, un réalisateur et une date de réalisation. Les
acteurs et les réalisateurs peuvent ont tous un identificateur et un nom.

L. HADDED

Vous aimerez peut-être aussi