Base de données: Généralité IFT6800 Jian-Yun Nie Pourquoi 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 standard • 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 – No. d’article – Nom d’article – Montant – Vendeur • Structure fixe • Beaucoup de données de la même structure Exemple: Vente Date No.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 • Statistique: – 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 de données – Les ventes par Véronique – Les ventes > 50$ D’autres informations: Fabricant No.article# Fabricant Pays A192 ABC inc. Canada 250 A928 Chine 538 B1234 Tissue Expert X USA 64 B7645 Véritable Canada 3 … Stock D’autres opérations • Combiner les information de plusieurs table – Vente d’articles de la compagnie ABC inc. – Nombre de casseroles en stock • Opération de jointure No.article# Fabricant Pays Stock B1234 X USA 64 Date No.article # Nom d’article Montant Vendeur 2007/03/ 05 B1234 Casserole 53.50 Véronique No.article# Fabricant Pays Stock Date Nom d’article Montant Vendeur B1234 X USA 64 2007/03/07 Casserole 53.50 Véronique • 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 définit une relation entre les différents champs qui la composent. Différents modèles BD (culture) • 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 (culture) • Couches: – Traitement de requêtes – Accès aux données – Gestion du disque Traitements (culture) • 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 du 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 (culture) • 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 (culture) • Déterminer une donnée avec une clé (e.g. 16) • Déterminer un ensemble de données (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