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