Td1 sql
Ce TD utilise la base de données de l’utilisateur PUBS sur le monde de l’édition composée des relations (ou tables) suivantes : Authors( au_id, au_lname :varchar(40), au_fname:varchar(20), phone:char(12), address:varchar(40), city:varchar(20), state:char(2), zip:char(5),contract:bit) Titles( title_id, title:varchar(80), type:char(12), #pub_id:char(4), price:money, advance:money, royalty:int, ytd_sales:int, notes:varchar(200), pubdate:datetime) Titleauthor(#au_id, #title_id, au_ord:int, royaltyper:int) Publishers(pub_id:char(4), pub_name:varchar(40), city:varchar(20), state:char(2), country:varchar(30)) Employee(emp_id, fname:varchar(20), minut:char(1), lname:varchar(30), #job_id:int, job_lvl:int, #pub_id:char(4), hire_date:datetime) Jobs( job_id, job_desc:varchar(40), min_lvl:int, max_lvl:int)
Exercice 1 : Dessiner le graphe des liens entre tables
Représentez chaque relation par un rectangle contenant tous les noms de ses attributs. Faites ce schéma soigneusement, il vous sera utile pour les prochains TD et TP. Identifiez les clés primaires et les clés étrangères. Liez les attributs des tables qui sont en relations les uns avec les autres par des contraintes d’intégrités référentielles. Cherchez des dépendances fonctionnelles au sein de la table Authors.
Exercice 2 : Comprendre les contraintes du schéma
Répondez aux questions suivantes : 1. Que représente un title_id : un titre de livre, un type de livre ? Ni l’un ni l’autre, c'est un identifiant qui permet de définir l'unicité d'un livre 2. Sous quelles hypothèses aurait-on pu se passer de la table TitleAuthor ? Si chaque livre n’a qu’un seul auteur ou bien si chaque auteur écrit au plus un livre. 3. Combien d’éditeurs peut avoir un livre ? Indiquez-le sur votre schéma. Au plus 1 4. Combien de livres peut éditer un éditeur ? Indiquez-le sur votre schéma. Plusieurs
5. Procédez de même pour compléter les valeurs max de chaque contrainte