Chapitre 1 : Introduction aux systmes de gestion de base de donnes

Transcription

Chapitre 1 : Introduction aux systmes de gestion de base de donnes
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
Chapitre 1 : Introduction aux Systèmes de
Gestion de Bases de Données (Eléments de
base)
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
1. Généralités sur l'information et sur sa Représentation
1.1 Informations et données :
a. Au sen de la vie :
C’est l’apport d’une connaissance ou d’un renseignement.
Exemple :
Le prix de la viande est augmenté.
Il y a importation de pièces détachées.
b. Au sens de la théorie de l’information (Shanon)
C’est l’expression d’un choix parmi un ensemble d’événement possible.
Exemple : Le kilo de viande coûte 900DA
L'information peut être définie comme un fait du monde perçu. Elle peut être représentée,
modifiée et rediffusée.
Afin de pouvoir la représenter, l'information nécessite la définition :
- d'un langage de représentation. Il permettra d'exprimer toute information par des mots de ce
langage (phrase, dessin, codes, ....).
- d'une sémantique qui permet de définir le sens des mots du langage qui représentent de
l'information. Cette sémantique doit permettre de lever les ambiguïtés et les non sens sur les
informations.
L’information va être codée et va devenir une donnée.
Une Base de données est un gros ensemble d’informations structurées mémorisées sur un
support permanent.
Ou bien on peut dire :
Une base de données sera donc un ensemble organisé et intégré de données.
2
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
Elle correspond à une représentation fidèle des données et de leur structure avec le
minimum possible de contraintes imposées par le matériel. Enfin, elle doit pouvoir être
utilisée pour une application pratique sans duplication de données.
La question à poser est pourquoi une base de données ?
Pour répondre à cette questions examinons les inconvénients des fichiers standards.
2. Rappels sur les fichiers et les systèmes de gestion de fichiers (SGF)
2.1 Des fichiers aux BDD
On peut distinguer de sortes de fichiers :
Les fichiers classiques de type Basic.
Les fichiers séquentiels indexés multi_criteres tq DBASE
Avec les fichiers classiques, l’accessibilité selon multiples critères est difficile ; Le logiciel de
gestion de fichier (SGF) ne permet guerre que les fonctions d’ajout, recherche, modification
ou annulation. Toute autre action est à la charge du programmeur.
2.2 Définition d’un système de gestion de fichiers (SGF)
Le SGF est une structure de données permettrant de stocker les information et de organiser
dans des fichier sur ce que l’on appelle des mémoires secondaires (disque dur, disquette, CDROM,……).
Une telle gestion des fichiers permet de traiter ,de conserver des quantités importantes de
données ainsi que de les partager entre plusieurs programmes informatiques .il offre à
l’utilisateur une vue abstraites sur ses données et permet de les localiser à partir d’un chemin
d’accès.
2.3 Les limites des systèmes fichier
-la particularisation de la saisie et des traitements en fonction des fichiers== un ou
3
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
plusieurs programmes par fichier.
-contrôle en différé des données ==augmentation des délais et de risque d’erreurs.
-particularisations des fichiers en fonction des traitements== grande redondance des
données.
2.4 Les inconvénients d’une gestion par fichiers de données
Les fichiers représentent le seul moyen de mémorisation des informations. Ils constituent une
structure de représentation pour les données et non pour les informations dans le sens ou
sémantique des informations mémorisées dépend du programme qui accède à ce fichier.
Lorsque plusieurs applications manipulent les mêmes informations similaires, on obtient :
-une redondance des informations pouvant conduire à des incohérences entre différentes
représentations d’une même information. (Certaines informations se trouvent sur plusieurs
fichiers)
-une dépendance logique concernant les programmes d’application : ces programmes ont
besoin de tenir compte de la structure des fichiers, y compris ceux qui ne concernent pas.
(Changement de structureÖ re-programmation des Applications)
-une dépendance physique concernant les programmes d’application : ces programmes
doivent être modifiés chaque fois que la structure physique du fichier est modifiée.
D’où le recours à un logiciel chargé de gérer les fichiers constituant une base de données, de
prendre en charge les fonctionnalités de protection et de sécurité et de fournir les différents
types d’interface nécessaires à l’accès aux données. Ce logiciel est le SGBD (système de
gestion de base de données :DBMS).
3. Apport des bases de données. Notions préliminaire : BDD et SGBD
3.1 Historique des bases de données
Jusqu’aux années 60 : organisation classique en fichiers
• Fin des années 60 : apparition des premiers SGBD
(Systèmes de Gestion de Bases de Données), les systèmes réseaux et hiérarchiques
• À partir de 1970 : deuxième génération de SGBD, les systèmes relationnels
• Début des années 80 : troisième génération de SGBD, les systèmes orientés objet
4
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.2 Définition du SGBD
Un Système de Gestion de Bases de Données (SGBD) est un logiciel de haut niveau qui
permet de manipuler les informations stockées dans une base de données.
Il permet de décharger le programmeur de la programmation détaillée de toutes les
manipulations de données sur la BDD.
Les programmes d’applications peuvent communiquer avec le SGBD avec des commandes ou
des programmes.
Le SGBD sert donc d’interface entre les programmes d’applications des utilisateurs,
d’une part, et la BDD d’autre part.
En résumé, un SGBD est destiné à gérer un gros volume d’informations, persistantes (années)
et fiables (protection sur pannes), partageables entre plusieurs utilisateurs et/ou programmes
et manipulées indépendamment de leur, représentation physique.
3.3 Les critères d’une base de données ou SGBD
Une base de données doit satisfaire cinq critères :
-bonne représentation du mode réel : elle doit être une image fidèle de la réalité, les
informations de base doivent être fiable et à jour
-non redondance de l’information : une information doit être située physiquement à une
seule place
-indépendance des programmes d’application : La base de donnée est l’image du réelle, les
programmes sont construits après la structure.
-sécurité et confidentialité des données : la sécurité physique des données doit être assuré
(Sauvegarde). L’accès aux données ne doit être autorisé que pour les personnes habilitées.
-performance des applications et des requêtes : les réponses doivent être aussi rapides que
possible.
5
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.4 Principales fonctionnalités des SGBD
Le SGBD assure les tâches suivantes :
la définition de données
Un SGBD doit fournir à l’utilisateur des primitives pour décrire les entités de la BDD
(Exemple : entité étudiant, module,….) ainsi que les attributs de chaque entité (matricule,
nom, prénom….) sans oublier les liens entre ces entité et les contraintes éventuelles qui les
concernent.
La définition de données se fait à l’aide d’un langage de définition de données (LDD).
la manipulation de données
Un SGBD doit offrir aux utilisateurs des moyens pour pouvoir manipuler des données de la
base, il s’agit des primitives de permettant la recherche, la modification, l’ajout et la
suppression de données.
La manipulation de données se fait à l’aide d’un langage de manipulation de données (LMD).
L’intégrité des données
Un SGBD doit garantir la qualité de l’information enregistrée.
Exemple : vérification de plage de valeurs permises. (D’autres contraintes complexes doivent
être programmées).
Efficacité des accès aux données
Ces langages doivent permettre d'obtenir des réponses aux interrogations en un temps
"raisonnable".Il faut un mécanisme permettant de minimiser le nombre d'accès disques d’une
façon complètement transparente pour l'utilisateur.
Les accès concurrents
Un SGBD doit offrir des mécanismes de gestion des accès simultanés à une BDD.
La confidentialité
Lorsque la base de données est accédée par plusieurs utilisateurs, l’utilisation de sous schémas
est nécessaire lorsque plusieurs utilisateurs dans un réseau, veulent accéder aux données de la
même base.
6
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
Sécurité des données
Les données doivent pouvoir être protégées contre les accès non autorisés. Pour cela, il faut
pouvoir associer à chaque utilisateur des droits d'accès aux données.
3.5 Les usages de base de données
1. Interactifs (ad-hoc)
•
Cherchent les infos, sans connaître la BD
•
Interfaces visuelles: Web…
2.Programmeurs d’application
–
Construisent les interfaces pour les usagers interactifs
–
Spécialistes de SQL
3.DBA (Administrateur de Bases de Données)
–
Définit et maintient la BD
–
A la priorité sur tous les autres usagers
3.6 Différents types de BDDs
Nous pouvons trouver les types de base de données suivantes :
1
BDs personnelles
–
MsAccess etc.
– 10 KO – 100 KO
2
BDs professionnelles typiques
–
3
100 KO – 100 GO
BDs professionnelles très grandes
– Very Large Databases (VLDB)
> 100 GO
7
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
En résumé :
Un SGBD est un outil logiciel qui permet, de gérer les données en offrant:
un langage de définition des données (LDD), pour créer la structure des
tables.
un langage de manipulation des données (LMD) pour ajouter, modifier,
retrouver, supprimer des données.
la gestion des règles assurant l'intégrité des données.
la gestion de la confidentialité des données.
la gestion des conflits d'accès simultanés aux données.
la sécurité de fonctionnement, avec des outils de sauvegardes et
reprises de la base.
L'administrateur de la base, c'est-à-dire celui qui la crée, la gère et la
maintient.
L'utilisateur final n'accédera qu'au langage standard SQL, soit
directement soit au travers d'outils Client/Serveur.
8
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.7 Les niveaux d’une architecture de BDD
Nous parlons ici des niveaux d’abstraction. Chaque niveau fait abstraction des détails.
Alors pour passer d’un réel perçu (un réel en langage naturel) vers une BDD, il faut structurer
ce réel.
Structurer le réel veut dire utiliser un modèle i.e aller de plus complexe au simple tout en
gardant l’intelligibilité (sens).
Le passage de langage naturel vers modèle est une modélisation
Le niveau externe
Il regroupe toutes les possibilités d’accès aux données par les différents usagers. Ce niveau
détermine le schéma externe qui contient les vues des utilisateurs sur la base de données. Il
peut donc exister plusieurs schémas externes représentant différentes vues sur la base de
données. Ce niveau est appelé aussi niveau utilisateur.
Le niveau conceptuel
Il correspond à la vision des données générale indépendante des applications individuelles
et de la façon dont les données sont stockées (Ici nous faisons abstraction du technique).
Cette représentation est en adéquation avec le modèle de données utilisé. Dans le cas des
SGBD relationnels, il s’agit d’une vision tabulaire où la sémantique de l’information est
exprimée en utilisant les concepts de relation, attributs et de contraintes d’intégrité. Le niveau
conceptuel est défini au travers du schéma conceptuel. . Ce niveau est appelé aussi niveau
logique.
Le niveau physique
Il s’appuie sur un système de gestion de fichiers pour définir la politique de stockage ainsi que
le placement des données. Le niveau physique est donc responsable du choix de l’organisation
9
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
physique des fichiers ainsi que de l’utilisation de telle ou telle méthode d’accès en fonction de
la requête. Ce niveau doit également assurer le partage des ressources, la gestion de la
concurrence et des pannes. La personne responsable de ce niveau est un administrateur de
bases de données. Son rôle est à la fois d’assurer la mise en place et le contrôle des procédures
systèmes liées à la gestion de la base mais aussi de gérer les droits d’accès à la base.
Ce niveau est appelé aussi niveau interne.
Les niveaux d’une architecture de BDD
3.8 Processus de conception d’une BD
10
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.9 Modèles de représentation de données
La classification des SGBD est faite selon le type de modèle de représentation de données
qu’ils supportent.
Les modèles hiérarchiques
Leur structure de données s’exprime à l’aide d’une hiérarchie, selon une arborescence
descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du
premier modèle de SGBD
Le modèle hiérarchique
Les modèles en réseau
Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements.
Toutefois la structure n'est plus forcément arborescente dans le sens descendant
Le modèle réseau
Les modèles relationnels (SGBDR)
La structure de données est représentée sous forme tabulaire (les données sont enregistrées dans
des tableaux à deux dimensions (lignes et colonnes)). Il y a une indépendance totale entre le
logique et le physique. La manipulation de ces données se fait selon la théorie mathématique des
relations.
11
2009/2010
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
Mme S.MECHID
Plus de 80 SGBD relationnel existent sur le marché. Les principaux sont ORACLE, SQL
serveur, MYSQL.
Le modèle relationnel
Il existe d’autres modèles :
Le modèle déductif : les données sont représentées sous forme de table,
mais leur manipulation se fait par calcul de prédicats.
Le modèle objet (SGBDO) : les données sont stockées sous forme
d'objets, c'est-à-dire de structures appelées classes présentant des données
membres. Les champs sont des instances de ces classes.
Le modèle objet
Les bases de données XML.
12
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.10 Concepts du modèle relationnel de données
Le modèle relationnel est basé sur une organisation des données sous forme de tables. La
manipulation des données se fait selon le concept mathématique de relation de la théorie des
ensembles (il repose sur des bases théoriques solides, notamment la théorie des ensembles et
la logique mathématique (théorie des prédicats d'ordre 1)).
Dans ce modèle, les données sont stockées dans des tables.
BDD = ensemble de tables relationnelles
Table T(A1:D1, A2:D2, ... An:Dn)
sous-ens du produit cartésien des domaines de ses constituants.
T Í {D1xD2x...Dn}
Une table est donc une Relation
1. Domaines
Un domaine de valeurs est un ensemble d’instances d’un type élémentaire. Exemple : les
entiers, les réels, les chaînes de caractères, etc
Un attribut peut prendre NULL qui correspond à une valeur inconnue.
Remarques importantes :
La valeur Null est différente de la valeur zéro ou blanc
La valeur Null n’est pas admise dans les attributs constituant la clé
primaire d’une relation.
13
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
Exemple
2. Relation
Sous-ensemble du produit cartésien d'une liste de domaines caractérisés par un nom.
En d'autres termes, une relation est une table dans laquelle chaque colonne correspond à un
domaine et porte un nom.
3. Attributs
Les attributs nomment les colonnes d’une relation. Ils servent à la fois à indiquer le contenu
de cette colonne, et à la référencer quand on effectue des opérations. Un attribut est toujours
associé à un domaine. Le nom d’un attribut peut apparaître dans plusieurs schémas de
relations.
4. Schéma de relation
Un schéma de relation est simplement un nom suivi de la liste des attributs, chaque attribut
étant associé à son domaine.
Exemple : le schéma de la relation personne (matricule,nom,prénom,adresse)
5. Tuples
Un tuple est donc simplement une ligne dans la représentation d’une relation sous forme de
table.
6. Clé d’une relation
Une clé d’une relation est un sous-ensemble des attributs qui permet d’identifier chaque ligne
de manière unique.
14
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
7. Clé étrangère
C’est un attribut qui sert à faire le lien entre deux relations d’une base de données.
Un attribut x est une clé étrangère dans une relation R1, s’il apparaît comme clé primaire dans
une relation R2.
8. Schéma d’une base de données
Le schéma d'une base de données est défini par:
- l'ensemble des schémas des relations qui la composent
Exemple
15
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
3.11 Architecture fonctionnelle d’un SGBD relationnel
Exemple
Soient les tables relationnelles suivantes représentant une partie de la BDD
Relation Morale
NIF
RS
SG CS
DC
0001 Societé1
SAS 10000000000 12.12.200
0002 Societé2
dav 20366666600 15.02.1998
0003 Societé14 xx
0004 Societé55
0005 Societé100
16
Université M’hamed Bougara de Boumerdes
Département de Physique. Infotronique.
Systèmes de Gestion de Base de Données (SGBD) – S6
2009/2010
Mme S.MECHID
Conclusion du Chapitre
Un SGBD associe deux types de concepts différents et complémentaires :
1. un modèle de structuration des données qui doit être le mieux adapté au système
d'informations (notion statique),
2. une méthode d'accès, traduite en programmes d'échange, efficaces et complets, entre les
supports périphériques de la base de données et les programmes d'utilisation (notion
dynamique).
L'organisation des données est représentée par un modèle de données. Un modèle de données
est un outil utilisé pour représenter l'organisation logique des données.
Ce modèle permet la représentation des objets et des relations. Les modèles de données
utilisés dans les SGBD se distinguent par la façon de représenter les relations entre les
données.
Les principaux modèles de données utilisés pour les bases de données sont les modèles
hiérarchiques, réseau, relationnel et à objets. Ces modèles diffèrent dans le traitement des
associations.
17