Rappels sur les BD relationnelles - Introduction à l'Administration de Bases de Données
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Introduction à l’Administration de Bases de Données
Chapitre 1
Rappels sur les BD relationnelles
1 Licence 3 en Sciences de l’Informatique
2016/2017
Enseignant: DJEBLI Hamza2 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données
2. SGBD
3. Etapes de conception
4. Approche relationnelle3 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données
2. SGBD
3. Etapes de conception
4. Approche relationnelle4 1. Bases de données
Définitions
• On définit une base de données comme
l’ensemble des données stockées d’une façon
structurée et avec le moins de redondances.
• Pour les manipuler, on utilise généralement un
logiciel spécialisé appelé SGBD (Système de
Gestion de Bases de Données).
But
• retrouver de l’information par
son contenu en se basant sur
des critères de recherche.5 Qualité d’une BD
1. Cohérence des données de la base
Exemple: M. ou Monsieur
Qualité Nom Téléphone
M. Ahmed 123456
Monsieur Mohamed 345678
Mme Meriem 556783
2. Absence de redondance
Nom Wilaya CodeWilaya
Ahmed Constantine 25
Mohamed Alger 16
Meriem Oran 316 Modèles de données
Les modèles de données correspondent à la manière de
structurer l’information dans une BD:
1. Modèle hiérarchique/réseau
2. Modèle relationnel
3. Modèle objet
4. Modèle relationnel-objet7 Modèle hiérarchique/réseau
~1960
Exemple 1
Personne
Nom
Prénom
Logement Voiture
Numéro Marque
Rue Numéro
Ville9 Modèle relationnel ~1970
Définition
• Le modèle relationnel permet de modéliser les
informations contenues dans les bases de données
en utilisant des relations, c’est-à-dire des ensembles
d’attributs.
1970: proposition par E. F. Codd
1976: commercialisation du 1er SGBD
~1980: Oracle Database
1986: standardisation de SQL10 Modèle relationnel ~1970
Exemple:
Ouvrage (Code, Titre, Auteur, Editeur)
Code Titre Auteur Editeur
1 Langage C S. Ahmed Eyrolles
2 Langage Java S. Mohamed Larousse
3 Informatique A. Ali Flammarion
4 Systèmes I. Mahmoud Grasset
d’Exploitation
5 Introduction à la T. Adel O’Reilly
Robotique
6 Systèmes M. I. Abdallah Flammarion
Intelligents
7 Langage C: S. Chawki Flammarion
Notions Avancées11 Modèle relationnel ~1970
Exemple 212 Modèle objet ~1980
Bases de données orientées objet
- Types complexes
- Paradigme objet
- Plus complexes
- Problèmes de performance13 Modèle relationnel-objet
- Champs multivalués intégrés dans des objets:
Cod Titre Auteur Editeur
e
1 Langage C S. Ahmed Eyrolles
2 Langage Nom Prénom Larousse
Java
Nabil Ahmed
Hakim Karim
Fateh Nabil
3 Informatique A. Ali Flammarion
4 Systèmes I. Mahmoud Grasset
d’Exploitatio
n14 Evolution des BD
1. Bases de données réparties
Système distribué
Migration de données
Réplication des données
Sécurité
Disponibilité
Transparence à l’utilisateur
2. Extraction de l’information:
Bases de données déductives et Data Mining
(fouille de données)15 Evolution des BD (suite)
3. Entrepôts de BD (datawarehouse)
BD récapitulatives, constituées à partir de
différentes sources pour disposer d’un accès
homogène à l’ensemble des données
4. Bases de données multimédia
Stocker des données multimédia: sons, images,
vidéos.16 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données
2. SGBD
3. Etapes de conception
4. Approche relationnelle17 2. SGBD
Définition
• Un SGBD (Système de Gestion de BD) est un
logiciel complexe qui permet de gérer et
d’utiliser les données que l’on stocke tout en
cachant la complexité des opérations.
a) Architecture
b) Objectifs
c) LDD/LMD
d) Protection des données
e) Transaction
f) Concurrence
g) Droits d’accès18 2.a) Architecture d’un SGBD
ANSI/SPARC (1975): 3 niveaux d’abstraction
Niveau Vues des utilisateurs
externe (selon rôle)
Modèle conceptuel et/ou
Niveau
conceptuel Modèle logique
Niveau interne Modèle physique:
enregistrements, fichiers19 2.a) Architecture d’un SGBD
(suite)
ANSI/SPARC (1975): 3 niveaux d’abstraction20 2.b) SGBD: quelques objectifs
Indépendance physique des données:
- Une modification de l'organisation physique des données (ex:
utilisation d’autres structures de fichiers) n'entraîne pas de
modification dans les autres niveaux ou programmes
d'application.
Indépendance logique des données:
- Une modification de l'organisation logique des données (ex:
ajout d’un attribut) n'entraîne pas de modifications dans les
autres niveaux ou programmes d'application.
Efficacité, cohérence et intégrité des données, partage
et sécurité..21 2.c) LDD / LMD
Un SGBD offre deux langages de haut
niveau:
un Langage de Description de Données
(LDD) qui permet d’agir sur la structure de
la base de données (ajout, suppression et
modification des tables)
un Langage de Manipulation de Données
(LMD) qui permet d’interroger et de mettre
à jour le contenu de la base de données.22 2.d) Protection des données
Dans tous les cas, le SGBD doit permettre de
restaurer les données. Ces opérations sont
généralement réalisées en utilisant des «
journaux » (logs) qui enregistrent au fur et à
mesure les opérations faites sur la base :
c’est le mécanisme de la journalisation. Ce
journal est utilisé pour refaire, ou défaire, ces
opérations.23 2.e) Transactions
Opérations de modification effectuées sur la
base de données.
Des propriétés de mesure de la qualité de
ces transactions sont proposées sous le
terme ACID (1983):24 2.e-f) Concurrence et droits
d’accès
Le SGBD doit permettre de donner l’accès
aux bases de données à plusieurs utilisateurs
simultanément:
- Algorithmes de synchronisation
- Gestion de droits d’accès (de privilèges)25 Exemples Pick, Pick System, 1968 dBase, Ashton-Tate, 1978 Oracle Database, Oracle Corporation, 1979 Informix, IBM, 1981 DB2, IBM, 1983 PostgreSQL, M. Stonebraker, 1985 Microsoft SQL Server, Microsoft, 1989 Microsoft Access, Microsoft, 1992 MySQL, Oracle Corporation, 1995 SQLite, D. R. Hipp, 2000
26 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données
2. SGBD
3. Etapes de conception
4. Approche relationnelle27 3. Etapes de conception
• Analyse du monde réel
à modéliser
a
• Mise en forme du
modèle pour l’intégrer
b dans un SGBD
• Création effective dans
le SGBD des structures
c et leur remplissage28 3.a) Analyse du monde réel
Déterminer les
objectifs du
système
Déterminer les champs qui
contiendront les données
Regrouper les
champs en objets
Identifier les liens
entre les objets
Définir les contraintes
Modèle
conceptuel29 3.b) Passage au SGBD
Le modèle conceptuel est transformé
en représentation acceptable par le
SGBD (modèle logique).
Ex : Modèle relationnel
Éliminer la redondance.
Ex : utiliser la normalisation (modèle
relationnel)30 3.b) Création et utilisation (sous
le SGBD)
Création
Création Remplissage Création
des
des tables des tables des vues
utilisateurs31 3. Etapes de conception :
Résumé32 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données
2. SGBD
3. Etapes de conception
4. Approche relationnelle33 4. Approche relationnelle
a) Concepts
b) Opérations
c) Passage au modèle relationnel
d) Normalisation34 4.a) Concepts
Le modèle relationnel tire son nom de la notion de
relation mathématique entre des éléments. Chacun de
ces éléments peut prendre des valeurs dans un
ensemble défini.
Ex: (Ahmed, Constantine)
(Ahmed, Constantine): tuple ou enregistrement
Nom: attribut ou champ
Personne: nom de la relation
Personne(Nom, LieuNaissance): schéma relationnel
Degré, Cardinalité, Table, Base de données35 4.a) Concepts (suite)
Clé d’une relation: champ, ou ensemble de champs,
permettant d’identifier précisément un enregistrement.
Une relation peut comprendre plusieurs clés possibles
(clés candidates). Une des clés minimales est choisie
pour constituer la clé primaire de la relation. Une clé
étrangère est un groupe d’attributs d’une relation R1
devant apparaître comme clé primaire dans une autre
relation R2.
Dépendances fonctionnelles: relations existant entre les
différents champs d’une relation.
Une dépendance fonctionnelle existe entre deux ensembles
de champs si les valeurs contenues dans l’un des ensembles
permettent de déterminer les valeurs contenues dans l’autre
ensemble.36 4.b) Opérations du modèle
relationnelle (algèbre relationnelle)
Opérations ensemblistes
Opérations relationnelles
Calculs et agrégats37 4.b.1) Opérations ensemblistes
1. Union ()
Mise en commun des enregistrements de chaque relation. Les
enregistrements identiques ne sont intégrés qu’une seule fois.
2. Différence (-)
L’opération différence consiste à désigner les enregistrements qui
appartiennent à une relation sans appartenir à l’autre.
3. Intersection ()
L’intersection désigne les enregistrements communs aux deux
relations.
4. Produit cartésien (X)
Le produit cartésien permet la combinaison des tuples de deux
relations sans tenir aucun compte du contenu des données.38 4.b.1) Opérations ensemblistes
(suite)39 4.b.2) Opérations relationnelles
1. Projection (A(R))
Extraire certains champs (A) de la relation (R).
2. Sélection (ou restriction) (F(R))
Extraire les enregistrements de la relation (R)
répondant à un critère (F).
3. Jointure (⋈)
Lier les relations par le contenu commun d’un
champ.
L’opération de jointure peut être vue comme une
sélection des enregistrements obtenus par le produit
cartésien des relations, dont les contenus du champ
sur lequel on effectue la jointure sont égaux.40 4.b.2) Opérations relationnelles
41 4.b.3) Calcul et agrégats
Calculs
Il est possible d’effectuer des opérations
statistiques globales d’un champ, comme les
calculs du nombre d’enregistrements, de
moyenne, de maximum, de minimum. On
obtient dans ce cas une nouvelle relation
réduite à une ligne et une colonne qui contient
la valeur calculée.
Agrégats
Regrouper les enregistrements qui contiennent
les mêmes valeurs dans un champs.42 4.c) Passage au modèle
relationnel
Règles générales:
Une entité donne une relation de même clé.
Une association donne une relation dont la
clé est composée des deux clés des entités
associées et des attributs de l’association.
Pour la cardinalité 1,1: La relation représentant
l’association disparait et fusionne avec la
relation représentant l’entité associée avec la
cardinalité 1,1.43 4.d) Normalisation
Le modèle relationnel procure des outils
destinés à tester la qualité et la cohérence
des relations dans un schéma relationnel.
Cette étape, appelée normalisation,
permettra de vérifier certaines propriétés des
relations et le cas échéant de les
transformer.
On peut se limiter en général aux trois
premières formes normales.44 4.d) Normalisation
1FN 2FN 3FN
• Tout champ • La relation est • La relation est
contient une en 1FN, en 2FN,
valeur • Tout champ • Tout champ
atomique. qui n’appartenant
n’appartient pas à une clé
pas à la clé ne ne dépend
dépend pas pas d’un autre
d’une partie champ non
de la clé. clé.45 Chapitre 1: Rappels sur les
BD relationnelles
1. Bases de données:
définition, but, qualité des données, modèles de données, évolution de
BD.
2. SGBD
définition, architecture, objectifs, LDD/LMD, protection des données,
transaction, concurrence, droits d’accès, exemples.
3. Etapes de conception
analyse du monde réel, passage au SGBD, création et utilisation.
4. Approche relationnelle
concepts, opérations, passage au modèle relationnel, normalisationVous pouvez aussi lire