Base de données: Généralité

publicité
Base de données: Généralités
IFT6800 – E 2008
Pierre Poulin
Pourquoi une base de données?
• Beaucoup de données
• Une structure régulière et fixe (e.g. adresse,
information sur une personne, …)
• Traitement similaire
• Stockage dans une structuration (base de
données) prédéfinie
• Une vue uniforme et abstraite de ces données
• Offrir des traitements (consultation, mise-à-jour,
…) efficaces et standards
• Garantir la cohérence
• …
Définition
Wikipédia:
• Le concept de base de données permet
de stocker et d’organiser une grande
quantité d’information
• Les SGBD (Système de Gestion de Base
de Données) permettent de naviguer dans
ces données et d’extraire (ou de mettre à
jour) les informations voulues au moyen
d'une requête
Exemple
• Données de vente d’un magasin
–
–
–
–
–
Date
Numéro d’article
Nom d’article
Montant
Vendeur
• Structure fixe
• Beaucoup de données avec la même structure
Exemple: Vente
Date
Numéro
d’article
Nom
d’article
Montant
Vendeur
2007/03/05
B1234
Casserole
53.50
Véronique
2007/03/05
A928
Nappe
tissue
16.30
Marc
B7645
Poêle à
frire
32.85
Claude
…
2007/03/06
…
Traitements possibles
• Statistiques
–
–
–
–
le volume de vente d’un jour/mois, …
le volume de vente d’un vendeur
les articles populaires (les plus vendus)
...
• Extraction d’une partie des données
– les ventes par Véronique
– les ventes > 50$
D’autres informations: Fabricant
Numéro
d’article
Fabricant
Pays
Stock
A192
ABC inc.
Canada
250
A928
Tissue
Expert
Chine
538
B1234
X
USA
64
B7645
Véritable
Canada
3
…
D’autres opérations
• Combiner les informations de plusieurs tables
– Vente d’articles en provenance de la compagnie ABC inc.
– Nombre de casseroles en stock
• Opération de jointure
Numéro d’article
Fabricant
Pays
Stock
B1234
X
USA
64
Date
Numéro
d’article
Nom
d’article
Montant
Vendeur
2007/03/05
B1234
Casserole
53.50
Véronique
Numéro d’article
Fabricant
Pays
Stock
Date
Nom d’article
Montant
Vendeur
B1234
X
USA
64
2007/03/07
Casserole
53.50
Véronique
D’autres opérations
• Ces opérations peuvent être lancées par l’utilisateur
dans un langage standard (e.g. SQL)
• L’utilisateur n’a pas à connaître la façon dont les
données sont stockées – il lui suffit de connaître leur
organisation (schéma conceptuel)
Organisation
• BD relationnelle
– Les données apparaissent comme stockées dans
des tables
2007/03/05
B1234 Casserole
53.50 Véronique
– Une table est une relation entre les différents
champs qui la composent
Différents modèles BD
• Hiérarchique
– Les données dans une hiérarchie (arbre)
• Réseau
– Toutes connexions sont autorisées entre les données
• Relationnelle
– E. F. Codd qui fonde le modèle relationnel est « A Relational
Model of Data for Large Shared Data Banks", CACM 13, No. 6,
June 1970
• À Objet
• XML
Généralité sur l’implantation
• Couches:
Traitement de requêtes
Accès aux données
Gestion du disque
Séquence de traitements
• Requête d’utilisateur
– Déterminer les relations, les attributs
– Déterminer les fichiers qui les contiennent
• Accéder aux données dans les fichiers
– Blocage durant l’écriture
– Gestion de la cache (est-ce que la donnée existe
dans la cache?)
– Déterminer l’index de la donnée
– Index -> adresse
• Accéder à la donnée sur disque
– Lire ou écrire une donnée selon l’adresse
– Gestion de l’espace
Un peu de détails
• Déterminer le fichier qui stocke une relation
– Utiliser un dictionnaire: relation -> fichier
• Déterminer l’adresse où la n-uplet est stockée
– Index: clé->adresse
– E.g.
AB
AC
AD
AL
…
000
008
010
02F
…
– Si on a beaucoup de clés?
• Recherche séquentielle très coûteuse
• Index dans une structure (e.g. B-tree)
Clé
Adresse
B-tree
• Déterminer une donnée avec une clé (e.g. 16)
• Déterminer un ensemble de données dans (e.g.
clé>18)
• Gestion de la structure d’index
– Création
– Mise-à-jour
Suite
• Voir la présentation sur les bases de
données
Téléchargement