TNSI : Exercices sur le modèle Relationnel1⚓︎
https://sqliteonline.com/ https://xkcd.com/327/ http://webtic.free.fr/sql/exint/q1.htm
Exercice 1⚓︎
On décide de créer de nouvelles relations/tables pour le site de VOD du cours :
Déterminer des clés primaires possibles pour la relation acteur :
acteur | |||
---|---|---|---|
id | prenom | nom | |
96 | Scarlett | JOHANSSON | tureves@gmail.com |
52 | Leonardo | DICAPRIO | leonardo.theboss@gmail.com |
84 | Jean | DUJARDIN | jeannot.denice@gmail.com |
66 | Virginie | EFFIRA | the.deesse@gmail.com |
234 | Angelina | JOLIE | thegirl@gmail.com |
128 | Gilles | LELLOUCHE | gillou.lecool@gmail.com |
200 | Denzel | Washington | denzelll@gmail.com |
45 | Marion | COTILLARD | marinou.celibataire@gmail.com |
95 | Brad | PITT | bigbrad@gmail.com |
48 | John | TRAVOLTA | dancemachine@gmail.com |
64 | Will | SMITH | willy.thesmasher@gmail.com |
... | ... | ... | ... |
Des choix possibles pour la clé primaire sont les suivants
- l'attribut
id
est le choix le plus naturel de clé primaire de la relationacteur
- l'attribut
email
est un choix possible de clé primaire de la relationacteur
- le couple
(id, email)
est un choix possible de clé primaire de la relationacteur
- le couple
(id, prenom)
est un choix possible de clé primaire de la relationacteur
- le couple
(prenom, email)
est un choix possible de clé primaire de la relationacteur
- etc..
Déterminer des clés primaires possibles pour la relation role :
role | |||||
---|---|---|---|---|---|
id_acteur | date | film | personnage | Réalisateur | Code |
96 | 06/08/2014 | Lucy | Lucy Miller | Besson | 305 |
52 | 21/07/2010 | Inception | Dominic Cobb | Nolan | 310 |
96 | 19/03/2014 | Her | Samantha l'IA | Jonze | 128 |
... | ... | ... | ... | ... | ... |
Des choix possibles pour la clé primaire sont les suivants
- l'attribut
id_acteur
n'est pas une clé primaire possible pour la relationrole
, car un même acteur peut jouer dans plusieurs films - l'attribut
Code
n'est pas une clé primaire possible pour la relationrole
, car plusieurs acteurs peuvent jouer dans un même film - le couple d'attributs
(personnage, Code)
est une clé primaire possible pour la relationrole
, car un même personnage d'un même film est unique
Exercice 2⚓︎
On considère une Bibliothèque dont la base de données possède une Relation/Table livres :
Donner un enregistrement de la Relation/Table livre
Par exemple : (1563, Chanson douce, Leïla SLIMANI, Gallimard, 978-2070196678)
Lister tous les attributs de la Relation/Table livre
Les attributs de la relation sont : code
, Titre
, Auteur
, Éditeur
, ISBN
Quel est le degré de la Relation/Table livre
Il y a \(5\) attributs en tout, donc le degré de la table vaut \(5\)
Quel est le domaine des attributs code
, Titre
, Auteur
, Editeur
, ISBN
- domaine de
code
:int
- domaine de
Titre
:str
- domaine de
Auteur
:str
- domaine de
Éditeur
:str
- domaine de
ISBN
:str
(à cause du tiret-
)
Quels atttributs de la relation/table livre pourraient être la clé primaire ?
Les attributs suivants pourraient être la clé primaire (par exemple) :
* ISBN
* code
* (ISBN, code)
* (ISBN, Titre)
* (ISBN, Auteur)
* etc..
Quel est le schéma pour la Relation/Table livre?
Schéma : livre(code:int, Titre:str
, Auteur: str
, Éditeur:str
, ISBN:str
)
Exercice 3⚓︎
Deux relations modélisent la flotte de voitures d'un réseau de location de voitures.
id_agence | ville | département |
---|---|---|
1 | Bordeaux | 33 |
2 | Brest | 29 |
3 | Lyon | 69 |
4 | Marseille | 13 |
5 | Aix | 13 |
id_voiture | marque | modèle | kilométrage | couleur | id_agence |
---|---|---|---|---|---|
1 | Renault | Twingo | 10000 | Rouge | 3 |
2 | Peugeot | 2008 | 20000 | Noir | 5 |
3 | Peugeot | 308 | 25000 | Noir | 2 |
4 | Volkswagen | T-roc | 31000 | Noir | 3 |
- Combien la relation
Voitures
comporte-t-elle d'attributs ? - Que vaut son cardinal ?
- Quel est le domaine de l'attribut
ig_agence
dans la relationVoitures
? - Quel est le schéma relationnel de la relation
Agences
? - Quelle est la clé primaire de la relation
Agences
? - Quelle est la clé primaire de la relation
Voitures
? - Quelle est la clé étrangère de la relation
Voitures
?
- \(6\)
- \(4\)
- Entier (
Int
) - Agences((id_agence, Int), (ville, String), (département, Int))
id_agence
id_voiture
id_agence
Exercice 4⚓︎
On se donne une base de données Tour de France 20202, contenant les relations suivantes : (d'après une idée de Didier Boulle)
codeEquipe | nomEquipe |
---|---|
ALM | AG2R La Mondiale |
AST | Astana Pro Team |
TBM | Bahrain - McLaren |
BOH | BORA - hansgrohe |
CCC | CCC Team |
COF | Cofidis, Solutions Crédits |
DQT | Deceuninck - Quick Step |
EF1 | EF Pro Cycling |
GFC | Groupama - FDJ |
LTS | Lotto Soudal |
... | ... |
Le schéma relationnel de cette table est :
Equipes ( codeEquipe String
, nomEquipe String
)
dossard | nomCoureur | prénomCoureur | codeEquipe |
---|---|---|---|
141 | LÓPEZ | Miguel Ángel | AST |
142 | FRAILE | Omar | AST |
143 | HOULE | Hugo | AST |
11 | ROGLIČ | Primož | TJV |
12 | BENNETT | George | TJV |
41 | ALAPHILIPPE | Julian | DQT |
44 | CAVAGNA | Rémi | DQT |
45 | DECLERCQ | Tim | DQT |
121 | MARTIN | Guillaume | COF |
122 | CONSONNI | Simone | COF |
123 | EDET | Nicolas | COF |
… | … | … | … |
Schéma : Equipes ( dossard Int
, nomCoureur String
, prénomCoureur String
, codeEquipe# String
)
numéroEtape | villeDépart | villeArrivée | km |
---|---|---|---|
1 | Nice | Nice | 156 |
2 | Nice | Nice | 185 |
3 | Nice | Sisteron | 198 |
4 | Sisteron | Orcières-Merlette | 160 |
5 | Gap | Privas | 198 |
... | ... | ... | ... |
Schéma : Etapes ( numéroEtape Int
, villeDépart String
, villeArrivée String
, km Int
)
dossard | numéroEtape | tempsRéalisé |
---|---|---|
41 | 2 | 04:55:27 |
121 | 4 | 04:07:47 |
11 | 5 | 04:21:22 |
122 | 5 | 04:21:22 |
41 | 4 | 04:08:24 |
... | ... | ... |
Schéma : Temps ( dossard # Int
, numéroEtape # Int
, tempsRéalisé String
)
- Quel temps a réalisé Guillaume MARTIN sur l'étape Sisteron / Orcières-Merlette ?
- Quel est le nom de son Équipe?
- À l'arrivée à Privas, qui est arrivé en premier entre Primož ROGLIČ et Simone CONSONNI ?
- 04:07:47
- COF, Cofidis Solutions Crédits
- Il y a eu égalité : ils sont arrivés en même temps (04:21:22)
Références⚓︎
-
Cette page d'Exercices est tirée du Site de Gilles Lassus ↩