CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 1 -
Informatique
Chapitre 5 : INITIATION AUX BASES DE DONNEES
Objectifs du chapitre
- Savoir prototyper et créer une base de données simple, à l'aide d'un outil interactif
- Savoir traduire les questions posées dans un langage de requête, consulter une base de données à travers des
requêtes de type SQL
I INTERET DES BASES DE DONNEES
1/ Les limites de l'approche fichiers
Le responsable d'une bibliothèque peut être tenté de gérer les emprunts par un simple fichier sur un tableur. Les
premières lignes de ce fichier peuvent ressembler à ce qui suit :
On peut tout de suite relever différentes difficultés avec cette organisation :
- l'orthographe des différents noms de famille peut manquer de cohérence (Le Dray ou Ledray ?) ;
- même chose pour les titres des ouvrages : Mme ou Madame Bovary ?
- la recopie des numéros de téléphone est fastidieuse et comporte des risques d'erreur ;
- même l'entrée de la date peut poser problème (deuxième emprunt de Mme Bovary : 6 janvier 2011 ou 2010 ??).
Si le fichier comporte des milliers de lignes, il devient alors délicat de retrouver les prêts de M. Castel, ou encore de
chercher quels sont les ouvrages qui ont été prêtés depuis plus de 2 semaines. On dit que la structure du fichier de
gestion de la bibliothèque est "plate", car elle impose une lecture séquentielle complète du tableau pour chaque
interrogation. Les algorithmes de recherche simples sont alors très coûteux (en temps de calcul), ce qui les rend
inopérants.
En résumé :
Gestion impossible !
CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 2 -
Informatique
2/ Solution avec une base de données (BD) et un système de gestion de base de données (SGBD)
Le modèle relationnel des bases de données permet de résoudre ces problèmes d'intégrité et de cohérence des
données tout en assurant l'efficacité des recherches et interrogations.
Les systèmes de gestion de bases de données (SGBD) actuels permettent l'utilisation de quantités considérables de
données dans des bases partagées par de multiples utilisateurs et souvent disponibles en ligne.
La stratégie est la suivante :
Définition d'une Base de Données (BD) :
- ensemble d’informations exhaustif, non redondant,
structuré, persistant ;
- les informations sont disponibles pour plusieurs applications
en parallèle.
Définition d'un Système de gestion de Bases de Données (SGBD) :
- C'est un logiciel qui permet de décrire, modifier, interroger la base de données ;
- il fait l'interface entre les utilisateurs et les fichiers physiques de la base de données ; l'utilisateur dispose ainsi
facilement et immédiatement de données à jour.
Les SGBD sont des logiciels complexes, résultats de dizaines d’années de recherche et de développement. Ils permettent
à des individus ou des programmes d’exprimer des "requêtes" pour interroger des bases de données ou pour les
modifier. En TP, on se servira par exemple du logiciel libre très utilisé SQLite.
Sur l'exemple de la bibliothèque, le modèle relationnel conduit par exemple à créer 5 tables au lieu d'un fichier :
La table des Livres comporte une colonne
identifiant le livre, puis une autre identifiant
l'auteur par son numéro, et de même pour le
genre. Les titres ne sont pas tés, ce qui
garantit la cohérence des données.
Même principe pour la table
des Auteurs.
La table des Emprunts permet de
trouver le numéro de l'emprunteur et
celui de l'ouvrage emprunté. La date de
rendu est éventuellement NULL si
l'ouvrage est encore dehors.
Table des emprunteurs :
encore, la non pétition des
abonnés de la bibliothèque
permet de garantir la
cohérence des données.
La table des genres complète
la base de données.
CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 3 -
Informatique
3/ Les architectures physiques des systèmes de gestion des données
Une première architecture est celle des systèmes client/serveur. La base de données est gérée sur un serveur (SGBD +
fichiers physiques de la BD). L’application tourne sur une autre machine, le client. De plus en plus, cette architecture se
complique avec l’introduction d’un troisième "tiers", une machine qui gère l’interface, typiquement un navigateur Web
sur une tablette ou un PC portable. On a alors l'architecture trois-tiers.
Ex. d'architecture 3 tiers : BD des notes du lycée
- application et serveur de BD : PRONOTE
- clients avec accès à l'interface : profs, élèves, administration.
Nous pouvons noter différentes évolutions générées par des
améliorations dans les matériels disponibles :
l’accroissement des performances, notamment fondées sur
les mémoires vives de plus en plus vastes ;
l’utilisation de plus en plus de parallélisme massif dans des
grappes de machines pour traiter d’énormes volumes de
données. On parle parfois de "big data" ;
pour simplifier la gestion de données, on tend à la déporter dans les nuages (le "cloud computing"), c’est-à-dire à
mettre ses données dans des grappes de machines gérées par des spécialistes.
II LE MODELE RELATIONNEL ET SON VOCABULAIRE
Un système de gestion de bases de données doit proposer un langage facilement utilisable par des êtres humains,
destiné à exprimer des "requêtes". Ces exigences forment le point de départ du modèle relationnel proposé par Ted
Codd, un chercheur d’IBM, dans les années 1970.
1/ Relation, attribut, n-uplet, schéma de relation
Dans le modèle relationnel, les données sont organisées en tables à deux dimensions appelées des "relations",
notées R.
Ex : Un extrait de base de données relationnelles :
Les noms des colonnes sont appelés "attributs", notés A. Par exemple : Titre.
On note les attributs A1, A2, A3, A4… À chaque attribut est associé son domaine, qui est l'ensemble des valeurs qu'il peut
prendre : un entier, une chaîne de caractères, etc. On note Dom(Ai) le domaine de l'attribut Ai. On note R.Ai l'ensemble
des valeurs de l'attribut Ai de la relation R. Par exemple : SEANCE.Titre.
Une base de données est constituée d'un nombre fini de relations : 1 par table. On dit que la relation R suit le
"schéma de relation" S = (A1, A2, A3,…). L'ensemble des schémas de relation de la base de données s'appelle le
"schéma relationnel". Par exemple : (Titre, Réalisateur, Acteur) est le schéma de la relation FILM.
Pour marquer cette association, on désigne cette relation par FILM(Titre, Réalisateur, Acteur).
Une ligne d'une relation est appelée "n-uplet" (tuple en anglais), noté t.
Un n-uplet est noté de la façon suivante : (Casablanca, M. Curtiz, Humphrey Bogart).
Relations
N-uplet d'arité 3 = triplet dans la relation SEANCE.
Schéma de relation
CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 4 -
Informatique
C'est donc un élément de Dom(A1) × Dom(A2) × Dom(A3) ×… L'ensemble des n-uplets de la table constitue la relation.
Deux n-uplets de la même relation diffèrent au moins sur un attribut.
Si t est le n-uplet (Les 400 coups, F. Truffaut, J.-P. Léaud), on note t[Réalisateur, Acteur] = (F. Truffaut, J.-P.
Léaud), t[Titre] = (Les 400 coups) et ainsi de suite. On peut aussi noter t.Titre = Les 400 coups.
Une base de données est constituée d’un ensemble de relations R(S), chacune associée à son schéma de relation S.
2/ Clé primaire
Pour une relation R(S), une clé est le plus petit ensemble d'attributs de R(S) qui permet de distinguer 2 n-uplets.
Par exemple, Titre, Réalisateur ou (Titre, Réalisateur) ne sont pas des clés de la relation FILM(Titre, Réalisateur,
Acteur). Par contre, Acteur est une clé, tant qu'on ne rajoute pas un autre film d'un des 4 acteurs !
Ex : Donner une clé pour la relation suivante :
Une clé primaire est simplement un choix d'une clé.
Pour l'indiquer, on souligne les attributs correspondants dans la table. On la nomme souvent id, ce qui a été fait dans
quatre des cinq tables de la base de données de la bibliothèque p.2. Pour la table Emprunts, c'est le triplet (qui, quoi,
date) qui peut servir de clé primaire.
Indiquer au SGBD une clé primaire pour chaque table permet une indexation des données à l'aide de cette clé, ce qui
renforce l'efficacité des procédures d'interrogation de la table. En effet, une clé primaire A permet d'identifier un n-
uplet t uniquement par la donnée de t.A.
Grâce à cela, on pourra créer des liens entre plusieurs relations.
3/ Comment interroger une base de données ?
Les bases de données sont interrogées en utilisant comme langage le "calcul relationnel".
Le calcul relationnel s’appuie sur des noms qui représentent les relations comme FILM ou SEANCE, des entrées de
ces relations comme Star Wars, des variables comme ti, h, et des symboles logiques, (et), (ou), (non),
(implique), (existe), (pour tout). À partir de ces ingrédients, des formules logiques, ou "requêtes", peuvent être
construites telles que :
{res(s, h)| ti, r ; (FILM(ti, r, "Humphrey Bogart") SEANCE(ti, s, h))}
qui se lit :
"Donnez-moi les résultats couples (salle s, heure h) pour lesquels il existe un titre ti et un réalisateur r tels que le n-uplet
(ti, r, "Humphrey Bogart") se trouve dans la relation FILM, et le n-uplet (ti, s, h) dans SEANCE".
Les variables s et h sont dites libres, car on n'impose pas leur valeur : ce sont elles que l'auteur de la requête cherche à
connaître. On peut donc lire plus clairement : "Où et à quelle heure puis-je voir un film avec Humphrey Bogart ?".
En pratique, les machines utilisent le langage SQL (pour Structured Query Language) qui exprime différemment les
mêmes questions. Par exemple la question précédente s’exprime en requête SQL comme :
SELECT Salle, Heure
FROM FILM SEANCE
WHERE FILM.Titre = SEANCE.Titre AND Acteur = "Humphrey Bogart"
Que l'utilisateur de la base de données s’exprime en français ou qu’il utilise une interface graphique, le SGBD
transforme sa question en requête SQL.
CPGE TSI Lycée P.-P. Riquet St-Orens de Gameville - 5 -
Informatique
III LES OPERATEURS DE L'ALGEBRE RELATIONNELLE
Alors que le calcul relationnel ou le SQL permettent de formuler une requête, l'algèbre relationnelle permet de
"calculer la réponse". Afin de manipuler un ensemble de relations, on doit en effet définir des opérateurs algébriques
opérant sur les relations.
Dans tous les cas, les opérandes seront des relations, ou au moins une relation ; le résultat est une relation.
1/ Les opérateurs ensembliste, adaptés au contexte relationnel : union, intersection, différence
Si deux relations ont le même schéma, alors il est possible d’appliquer un opérateur ensembliste sur ces relations.
Union :
Soit le schéma de relation CE(Couleur, Etat) utilisé par un concessionnaire de voitures d'occasion. On a par exemple
les 2 relations suivantes :
CE1 et CE2 . Alors CE3 = CE1 CE2 donne :
L'union R1 R2 de 2 relations R1(S) et R2(S) produit une relation avec les n-uplets
compris dans R1 OU dans R2 (les doubles sont éliminés).
Intersection : CE4 = CE1 CE2 donne : CE4
L'intersection R1 R2 de 2 relations R1(S) et R2(S) produit une relation avec les n-uplets présents à la fois dans R1 ET
dans R2.
Différence : CE5 = CE1 CE2 donne : CE5
La différence R1 R2 de 2 relations R1(S) et R2(S) produit une relation avec les n-uplets de R1 qui ne sont pas
présents dans R2.
2/ Les opérateurs spécifiques de l'algèbre relationnelle
Projection :
Opérandes : 1 relation et un ou des attributs.
Soit le schéma de relation CME(Couleur, Marque, Etat) utilisé par le concessionnaire de voitures d'occasion.
CME La projection de CME selon les attributs (Couleur, Marque) donne :
Couleur, Marque(CME)
La projection de CME selon l'attribut (Couleur) donne : Couleur(CME)
La projection Ai(R) d'une relations R(S) selon les attributs Ai donne la relation restant après conservation des
colonnes des attributs Ai et suppression des n-uplets devenus identiques.
1 / 12 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 !