MODELE RELATIONNEL – Introduction
Chapitre IV
1. Sur papier, choisir deux livres et noter les informations essentielles qui permettraient de les identifier/retrouver facilement.
2. Nous allons construire une bibliothèque, permettant à chacun d’emprunter des livres et de les rendre. Quelles sont les informations vous concernant que devrait connaître la gestion du système ?
Y a-t-il des informations qu’il serait inutile de communiquer ?
3. Nous avons tous deux données complètes : Livres, Membres.
Quels soucis ou difficultés peut-on imaginer dans la gestion de ces données au quotidien avec notre système ?
Nécessité de minimiser ces problèmes : c’est l’objet des Bases de données
MODELE RELATIONNEL – Introduction
Chapitre IV
4. Regrouper les livres et les membres dans deux tableaux différents.
Vous utiliserez un tableur et deux fichiers/onglets différents.
Une base de données stocke des informations pouvant être de natures très hétérogène. Celles-ci sont structurées et cette structure permet d'insérer des informations, de les supprimer et de les mettre à jour.
Il est possible d'interroger les informations contenues à l’aide de requêtes.
MODELE RELATIONNEL – Vocabulaire
Chapitre IV
Référence | Nom | En stock | Prix |
554871 | Confiture de fraise 250g | True | 4.80 |
543154 | Gelée de coing 300g | True | 3.75 |
554745 | Confiture de pêche-menthe | False | 5.20 |
562119 | Confit de rhum 150g | False | 7.90 |
553557 | Gelée de mûres de Charix | True | 3.55 |
valeurs
nombre, texte, booléen, date …
colonnes (attributs)
Produits
relation (table)
attributs
Lignes (tuples)
ou
enregistrements
Relation : table regroupant des données sous forme de tuples.
caractérisée par son nom, elle doit être unique.
Attribut : information élémentaire (titre d’une colonne).
Domaine : ensemble des valeurs possibles (type) prises par un attribut.
Ligne : tuple d’éléments, chaque élément étant valeur d’un des
attributs de la relation. On parle aussi d’enregistrement.
MODELE RELATIONNEL – Vocabulaire
Chapitre IV
5. Appliquer le vocabulaire à notre base de donnée : quels attributs, quels domaine, quelles entités, quelles clés ...
Entité : objet unique qui peut être identifié par ses attributs.
Clé : attribut(s) qui permet d’identifier de manière unique une entité.
Contraintes : ensemble des propriétés que les données doivent vérifier.
MODELE RELATIONNEL – Contraintes
Chapitre IV
Contrainte d’utilisateur : spécifiques à un attribut.
MODELE RELATIONNEL – Exercices
Chapitre IV
6. Appliquer les contraintes aux deux relations Livres et Membres.
9. Construire la modélisation relationnelle d’un bulletin scolaire :
7. Construire une relation Emprunts qui permet à un membre d’emprunter un livre jusqu’à une date fixée. Expliquer pourquoi cette relation empêche la suppression de Membres.
8. Construire la modélisation d’un annuaire dans lequel chaque personne possède un nom, un prénom, un numéro de téléphone, une adresse. Peut-on le faire avec plusieurs relations ?
On peut décrire une relation sans énoncer l’intégralité de ses enregistrements en utilisant un schéma relationnel (textuel ou sous forme de diagramme).
MODELE RELATIONNEL – Modélisations
Chapitre IV
Nom_de_la_relation (attribut1 DOMAINE1, attribut2 DOMAINE2, …)
MODELE RELATIONNEL – Exercices
Chapitre IV
10. Soit la relation Joueur(Id, nom, prenom, date_naissance)
Repérez les anomalies dans ces instances.
Quelles sont les contraintes non respectées et/ou à implémenter ?
11. Construire la modélisation relationnelle des départements français. Chaque département doit avoir son nom, son code, son chef-lieu et la liste des départements voisins.
Attention à la Corse et l’outre-mer !
Proposer une contrainte utilisateur permettant d’éviter la redondance d’information dans la liste des voisins.
Id | nom | prenom | date_naissance |
1 | Reece | Tet | 124 |
1 | Gratiz | 452 | |
4 | Reece | Tet | 124 |
MODELE RELATIONNEL – Exercices
Chapitre IV
12. Soit les relations R(a, b, c) et S(#a, e). Vrai ou faux (justifier) :
14. Lancer DB Browser for SQLite, créer les trois relations de la Bibliothèque avec leurs contraintes et insérer chaque entité.
13. Construire la modélisation relationnelle pour un réseau de bus.
Cette dernière doit être suffisamment riche pour permettre de générer, pour chaque arrêt de bus du réseau, une fiche horaire avec tous les horaires de passage de toutes les lignes de bus qui desservent l’arrêt.
MODELE RELATIONNEL – Contraintes
Chapitre IV
DROP TABLE IF EXISTS ma_relation;
permet de supprimer ma_relation afin de créer une nouvelle base proprement :
CREATE TABLE ma_relation (attribut DOMAINE, …);
INSERT INTO ma_relation VALUES (…, …);
permet d’ajouter un ou plusieurs enregistrements à la table ma_relation.
Domaines | Commentaires |
INT ou REAL ou BOOLEAN | Entier ou Flottant ou Booléen |
CHAR(n) | |
VARCHAR(n) | |
TEXT | Chaîne de longueur quelconque |
DATE ou TIME | Format "AAAA-MM-JJ" ou "HH:MM:SS" |