Base de Données Relationnelles
CHAPITRE I : Introduction
1.0 A propos du cours
A la fin de ce cours, l’étudiant sera capable d’analyser un problème et de concevoir
un schéma relationnel. L’étudiant maîtrisera les grands principes du langage SQL. Il
aura également une connaissance avancée d’un SGDB particulier.
Un projet sera organisé, ainsi que des interrogations qui compteront pour 40% de la
note finale. A la fin du module, se tiendra un examen écrit. Toute absence aux
interros doit être justifiée, faute de quoi, l’étudiant sera sanctionné d’un 0.
1.1 Qu’est ce qu’une base de données ? Une base de données est un « gros » ensemble structuré d’informations qui
sont mémorisées sur un support permanent afin d’en faciliter l’exploitation
(ajout, mise à jour, recherche…). Nous exploitons tous des informations, chaque jour, et pour de nombreuses raisons ;
depuis l’apparition de l’écriture, nous avons le pouvoir de les stocker et de les
transmettre au-delà des générations, le stockage et la gestion de la connaissance
est la base de la naissance de l’évolution culturelle qui a aujourd’hui emmagasiné sur
Terre bien plus d’informations que la simple évolution biologique (via l’ADN). La
gestion et l’exploitation de l’information sont un fondement essentiel du progrès
scientifique. Les bases de données permettent d’automatiser cette gestion. Par leurs
mécanismes, elles permettent de stocker des informations de façon organisée et de
les retrouver en questionnant le système à travers des critères et des conditions
particulières (des requêtes). Il est également possible, bien naturellement, d’ajouter,
de modifier et de supprimer des données de la base de données. Exemple de base de données : · Carnet d’adresse (dynamique) · Annuaire téléphonique (statique) à modification 1x par année · Fichier de bibliothèque (dynamique) · Librairie en ligne (dynamique) · Logiciel de comptabilité personnelle (dynamique) · Carte routière (statique) à modification +/- rare Au départ, on stockait les informations dans des fichiers, de manière arborescente à l’instar des systèmes de fichiers des OS. Cette solution trouve rapidement
ses limites : Pas de gestion de la concurrence (plusieurs personnes sont sur le même
fichier), pas de gestion de la sécurité, lourdeur d’accès (il faut écrire un programme
pour explorer chaque type de fichier), redondance de l’information. Le langage
COBOL est un parfait exemple de cette philosophie, Cobol est aujourd’hui un
langage mort mais il existe encore énormément de lignes de code dans ce langage
dans les industries, les anciennes données des banques sont souvent encodées
dans des cœurs Cobol qu’il faudra, un jour ou l’autre, traduire dans un langage plus
moderne et plus efficace.
La conception système fichier a poussé progressivement les chercheurs à concevoir
une couche d’abstraction supplémentaire à laquelle nous déléguons la manipulation
et la sécurité des fichiers : c’est un logiciel spécialisé que l’on appelle le SGDB
(Système de Gestion de Base de Données ; DBMS pour Data Base Management
System en anglais). Access, DBase, DB2, Informix, Firebird, Oracle, Sybase,
MySQL… sont des exemples célèbres de SGDB.
Nous ne verrons pas dans ce cours le fonctionnement détaillé d’un SGDB, mais il
faut savoir qu’il peut se baser sur plusieurs modèles et plusieurs techniques
algorithmiques pour retrouver les données. Outre l’archaïque méthode par système
de fichiers, voici les plus importantes du moment :
Le Modèle Relationnel C’est le modèle le plus utilisé actuellement même s’il commence à tendre vers une
fin de vie. En 1970, Codd publia un article où il proposait de stocker des données
hétérogènes dans des tables et d’établir des liens entre ces tables. Pour manipuler
ces relations, il existe un modèle théorique que l’on appelle l’algèbre relationnelle.
Par exemple, le langage SQL est une extension standardisée de l'algèbre
relationnelle. C’est le modèle que nous étudierons dans ce cours d’introduction.
Le Modèle Orienté-Objet Inspiré du paradigme de programmation du même nom, le modèle OO structure les
données non plus sous forme de table mais sous forme d’objet. Un objet modélise une chose de la vie réelle, concrète ou abstraite. Les objets contiennent les données qui les décrivent et qui représentent leurs attributs. Un objet voiture contient par exemple une variable qui stocke sa couleur. Les objets contiennent aussi la logique, c'est-à-dire les méthodes, qui permet de les utiliser et de les modifier. On peut par exemple demander à un avion de changer de couleur en lui envoyant un message. Véhicule V \--> voiture A --> moto B
--> voiture C --> camion D \--> pneu A \--> marque Michelin --> pneu B --> vélo E
O2 est un exemple de produit basé sur le modèle Orienté-Objet, mais n’est plus
commercialisé, le succès n’ayant pas été au rendez-vous (les consommateurs
commençaient juste à se familiariser avec le modèle relationnel). Le langage de
requête se nommait OQL et on opérait le design des objets via un langage O2C qui
servait de module à du C ou du C++. Le modèle OO refera sans doute son apparition
prochainement dans le monde des SGBD, on le retrouve déjà dans Zope, framework
d’architecture web de plus en plus populaire. Zope gère les DB en OO via le module
Zope Object Database. Le Modèle Multi-dimensionnel
L’idée est ici de stocker les données dans des hypercubes à n dimensions, on parle
de cube de données, qui permettent d’analyser les données selon plusieurs critères.
Ici un cube à 3 dimensions où on peut mesurer les données suivant le type de
marché, le temps ou le type de produit… on peut faire des études d’une dimension
par rapport à une autre, en pratique, il y a, bien entendu, beaucoup plus de
dimensions : 1.2 Quelles en sont les utilisations ? Les bases de données servent généralement pour : · le suivi des statistiques et des tendances à long terme · la réduction ou la suppression de documents papier · la gestion des différents types de transactions · la gestion d’un historique Les bases de données ne servent pas qu’à encoder et archiver, elles servent de plus en plus à trier l’information et à prendre des décisions. Lorsque l’on transforme des
données brutes en informations utiles pour prendre des décisions, on parle alors de
Data Mining. On parle aussi dans ce cas de Knowledge Management ou de
Knowledge Discovery Data, les outils de data mining permettent d’extraire de la
connaissance des données en découvrant des modèles, des règles dans le volume
d’information (souvent très très important) présent dans les entreprises.
Pour rappel, la loi de Moore nous dit que notre capacité de calcul double chaque 18
mois (cette loi a toujours été respectée depuis l’introduction des microprocesseurs).
Notre capacité de stockage d’information, quant à elle, double chaque 9 mois. Nous
nous dirigeons donc vers une surcharge d’information ingérable et encore plus
chaotique par l’échange en réseau et par internet. Il faudra donc de plus en plus
compter sur des agents automatiques pour trier, résumer, comprendre et interpréter
l’information à notre place, voilà une des fonctions du Data Mining, l’on parle aussi
de Text Mining pour les applications qui font des résumés d’articles de manière
automatique et de Web Mining si on analyse les données sur les sites, les blogs et
les forums.
Considérons le suivi des statistiques et des tendances à long terme en prenant l’exemple d’une publicité et d’un programme de téléachat. Les statistiques utilisées portent sur les ventes mensuelles de l’année en cours et des années précédentes, les produits les plus vendus sur telle ou telle période, les marchandises les plus vendues en valeur absolue, la fréquence de commandes de tel ou tel produit, etc. Les tendances concernent les produits les plus demandés, les périodes les plus favorables et les types de clients
susceptibles de commander un produit plutôt qu’un autre. A l’aide des statistiques et des tendances, il est possible de connaître la marchandise à proposer, la période à laquelle la présenter, le type de rabais à consentir et l’heure de diffusion d’une éventuelle publicité. Le Data Mining est un ensemble de techniques issues des statistiques et de l’intelligence artificielle pour prendre des décisions, mesurer des risques, classifier ou trouver des corrélations qu’un opérateur humain ne pourrait pas obtenir, par exemple, le
positionnement des données 1960 1970 1980 1990 2000 Disponibilité
des données
données
Potentiel
d’analyse
Brèche de
connaissance
produits dans un rayon : les consommateurs qui achètent telle marque de bière,
achètent généralement telle marque de chips, donc nous placerons ces chips et
cette bière à proximité dans le rayon.
Une base de données contribue à réduire ou à supprimer le volume de papier
manipulé. Prenons l’exemple d’un service de ressources humaines qui gère des
centaines de curriculum vitae. Le stockage de ces documents s’effectue de façon
classique dans un classeur ; ils sont classés par nom de famille et par ordre
alphabétique, ce qui permet de les retrouver facilement. Pour sélectionner le
curriculum vitae de toutes les personnes qui possèdent telle ou telle aptitude, il est
nécessaire de lire tous les documents, ce qui peut demander des heures. Quand les
informations sont stockées dans une base de données, on obtient les mêmes
résultats en quelques secondes.
Il existe deux types de bases de données : les bases de données OLTP (Online
Transactional Processing) et OLAP (OnLine Analytical Processing). Chaque type est
associé à une utilisation particulière qui dépend de l’exploitation envisagée des
données. Une base de données OLTP dite transactionnelle permet de traiter des données de
façon régulière. La programmation de cours et les inscriptions d’étudiants constituent
un bon exemple d’utilisation de base de données transactionnelle. Supposons
qu’une université propose plusieurs centaines de formations. Elle en ajoute, en
supprime, en modifie en fonction des besoins. Chaque formation est assurée par un
professeur au moins et concerne entre dix et trois cents étudiants. Des inscriptions et
des abandons sont enregistrés toute l’année. Les données sont donc dynamiques et
exigent un gros volume de saisie. Une gestion sur papier nécessiterait un personnel
important, d’où l’intérêt d’utiliser une base de données. Le rôle principal d’une base de données OLAP consiste à fournir à l’utilisateur final
des données en réponse aux demandes émises. En général, les chargements
volumineux de données constituent la seule activité transactionnelle effectuée dans
ce type de base. Les données OLAP (performances de l’entreprise, tendances…)
servent de support à des décisions commerciales circonstanciées ou relatives au fonctionnement d’un organisme. Les deux principaux types de bases de données OLAP sont les DSS (Decision Support Systems) et les Data Warehouses (entrepôts de données). Toutes deux sont normalement alimentées par une ou plusieurs bases de données OLTP, et utilisées pour prendre des décisions sur le fonctionnement d’un organisme. Un Data Warehouse diffère d’un DSS dans la mesure où il contient d’énormes volumes de données
collectées auprès de toutes les parties d’un organisme. Les entrepôts de données sont spécialement conçus pour le stockage de gros volumes de données et pour satisfaire de façon performante les demandes des utilisateurs. Créer un Data Warehouse, c’est combiner les différentes DB d’une entreprise pour en faire une DB souple, cohérente, sans redondance, nettoyée des informations inutiles et prête à être analysée. Les bases de données permettent d’entretenir un historique. Les données historiques sont souvent
apparentées et font généralement partie d’une base de données transactionnelle. Elles peuvent être stockées aussi bien dans une base OLTP que OLAP. Pour les entreprises qui souhaitent conserver des données
1 / 18 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !