Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1ère année
Base de données Page:1/13
http://robert.cireddu.free.fr/SNIR/
http://robert.cireddu.free.fr/SNIR/
Extrait du référentiel : BTS Systèmes Numériques option A (Informatique et Réseaux) Niveau(x)
http://robert.cireddu.free.fr/
Objectifs du TP :
- SGBD :
- fichier et client/serveur
- principaux SGBD
- Modèle Conceptuel des Données (MCD)
- Modèle Relationnel des Données (MRD)
- Création d’une base de données
Support d’activité :
- Logiciels : AnalyseSI, VirtualBox, suite bureautique
- Fichiers : bdd.pps, Interface Logiciel AnalyseSI.pdf, memoSQL.pdf, Référence MySQL.pdf
- Internet
- Ce document au format PDF
Pré-requis :
- Cours sur les bases de données
1ère année
Base de données Page:2/13
SGBD
La gestion et l’accès à une base de données sont assurés par un ensemble de programmes qui
constituent le « Système de Gestion de Bases de Données (SGBD) ». Un SGBD héberge
généralement plusieurs bases de données, qui sont destinées à des logiciels ou des thématiques
différentes. Un SGBD doit permettre l’ajout, la modification et la recherche de données.
Quel que soit le modèle implémenté (réseau, relationnel, objet, …), les principaux objectifs d’un
SGBD sont de masquer la représentation physique des données et d’assurer la protection et la
cohérence de ces données dans le cadre d’un environnement multi-utilisateur impliquant des
accès concurrents.
Il faut distinguer deux types de fonctionnement des SGBD : les SGBD fichier et les SGBD Client-
Serveur. L’architecture Client-serveur minimise le trafic des données sur le réseau et est, d’une
manière générale, plus apte à traiter de gros volumes de données, un nombre important
d’utilisateurs, de fortes contraintes d’intégrité et la tolérance aux pannes.
SGBD FICHIER
Dans ce type de fonctionnement, la base de donnée est contituée par un ensemble de fichiers (en
principe un fichier par table) stockés dans un espace partagé, comme un disque ou un serveur
réseau. Une application, installée sur chaque poste de travail, assure le traitement des requêtes
SQL (Structured Query Language). Les requêtes sont traitées localement et nécessitent le
rapatriement de l’intégrité des tables qu’elles impliquent. Ce type de fonctionnement génère un
trafic réseau important. L’avantage de cette solution est sa simplicité de fonctionnement, la quasi
inexistence de l’administration et l’utilisation possible de formats de fichiers ouverts.
Les principaux SGBD fichier sont dBase, FoxPro, Paradox, Access ou encore MySQL.
SGBD CLIENT-SERVEUR
Dans cette architecture, le SGBD est exécuté sur un unique ordinateur, qualifié de serveur, sur
lequel sont stockée les données. L’exécution de la requête est ici effectuée sur le serveur, seules
la requête et la réponse transitent sur le réseau entre client et serveur. Le SGBD assure ainsi une
certaine indépendance entre les données et les clients qui effectuent les requêtes. La gestion des
droits des utilisateurs peut, par exemple, être indépendante de celle du système d’exploitation.
Les principaux avantages de cette solution sont la grande capacité de stockage, la gestion de la
concurrence dans un environnement comportant un grand nombre d’utilisateurs, un haut niveau
de paramétrage, une bonne gestion de transactions, la mise en œuvre de la programmation
événementielle apportée par la combinaison des procédures stockées et des déclencheurs ou
encore la journalisation qui permet une grande robustesse et la reprise sur panne. Les
inconvénients d’une architecture Client-Serveur sont sa relative lourdeur de mise en œuvre,
notamment dans le cas d’une solution monoposte, l’administration importante du SGBD et la
nécessité d’une machine puissante, et généralement dédiée, pour jouer le rôle du serveur dans le
cadre d’une utilisation intensive impliquant de grandes quantités de données.
Les principaux SGBD Client-Serveur sont Oracle, DB2, SQL-Server, Sybase ou PostgreSQL.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:3/13
PRINCIPAUX SGBD
Les acteurs les plus importants dans les SGBD commerciaux sont Oracle Corporation (Oracle),
IBM (DB2), Microsoft (SQL-Server), Sybase et Teradata.
À côté de ces produits, très chers, existent heureusement des systèmes libres et gratuits. Les plus
connus sont : MySQL, qui est bien adapté à la création de sites Web dynamiques, Firebird qui
atteint probablement les meilleures performances transactionnelles, PostgreSQL qui permet de
disposer d’une base mixte relationnelle-Objet, Ingres qui est bien adapté aux besoins des
entreprises et Cloudspace qui s’interface bien avec Java.
MCD
La conception d’une base de données doit passer par l’élaboration d’un Modèle Conceptuel des
Données (MCD). Le MCD donne une vue d’ensemble des données et des liens qui les
caractérisent. L’élaboration de ce modèle est une tâche complexe et essentielle qui conditionne la
pertinence, la robustesse et la durabilité de la base de données. Le MCD doit être juste pour
rendre compte correctement de la sémantique du domaine modélisé.
Sa structure doit être pensée pour permettre la réponse aux requêtes potentielles des applications
qui utiliseront la base de données. Le modèle doit être également complet pour supporter toutes
les données nécessaires. Il doit enfin être bien formé pour ne pas être la source d’incohérences et
de redondances au niveau des données.
Le formalisme le plus répandu pour la réalisation d’un MCD est le modèle entités-associations. Ce
modèle permet une description naturelle du monde réel à partir de concepts d’entité et
d’association (ou entité et relation). L’utilisation du terme association plutôt que relation bien que
juste permet de limiter la confusion avec les relations du modèle relationnel.
Le modèle entités-associations se veut universel et répond à l’objectif d’indépendance données-
programmes. Ce modèle a été repris et développé dans le cadre d’une méthode plus générale et
très répandue appelée « Merise ».
Aujourd’hui, les diagrammes de classes (UML : Unified Modeling language) constituent une
alternative aux modèles entités-associations. UML a été conçu pour une modélisation orientée
objet qui vise à rapprocher les données des traitements associés. Aussi, le pouvoir expressif d’un
diagramme de classes est bien supérieur à celui d’un modèle entités-associations. Hélas, si cette
expressivité est un avantage dans une perspective de modélisation objet, elle devient un
inconvénient pour modéliser une base de données relationnelle.
Le niveau conceptuel : le modèle conceptuel des données (MCD) décrit les entités du monde
réel, en terme d’objets, de propriétés et de relations, indépendamment de toute technique de
d’organisation et d’implantation des données. Ce modèle se concrétise par un schéma entités-
associations représentant la structure du système d’information, du point de vue des données.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:4/13
Le niveau logique : le modèle logique des données (MLD) précise le modèle conceptuel par des
choix organisationnels. Il s’agit d’une transcription (également appelée dérivation) du MCD dans
un formalisme adapté à une implémentation ultérieure, au niveau physique, sous forme de base
de données relationnelles. Les choix techniques d’implémentation (choix d’un SGBD) ne seront
effectués qu’au niveau suivant.
Le niveau physique : le modèle physique des données (MPD) permet d’établir la manière
concrète dont le système sera mis en place (SGBD retenu).
Question 1
MCD
Complétez le tableau ci-dessous en plaçant une croix dans la colonne « vrai » ou « faux »
selon les affirmations.
vrai faux
Un livre peut être emprunté par plusieurs abonnés
Un abonné peut emprunter plusieurs livres
Un même livre peut être emprunté plusieurs fois
Question 2
MCD
Complétez le tableau ci-dessous en plaçant une croix dans la colonne « vrai » ou « faux »
selon les affirmations.
vrai faux
Un livre peut être emprunté par plusieurs abonnés
Un abonné peut emprunter plusieurs livres
Un même livre peut être emprunté plusieurs fois
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:5/13
Question 3
Complétez le tableau ci-dessous en plaçant une croix dans la colonne « vrai » ou « faux ».
vrai faux
Un même livre peut être emprunté plusieurs fois
Un abonné peut emprunter plusieurs livres
Question 4
Situation 1 :
Une émission de télévision n’est diffusée que sur une chaîne, mais une chaîne diffuse
généralement plusieurs émissions. Une émission de télévision est caractérisée par un nom et une
chaîne par un nom et un numéro de canal.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:6/13
Situation 2 :
Une émission de télévision peut comporter des animateurs et un animateur peut animer plusieurs
émissions. Une émission de télévision est caractérisée par un nom et un animateur est caractérisé
par un nom et un prénom.
Situation 3 :
Placez-vous du point de vu d’un fournisseur de chaînes de télévision par Internet. Supposez
qu’une émission puisse être retransmise, mais pas le même jour. Comment mémoriser, pour
chaque jour, quel abonné a regardé quelle émission ? Une émission de télévision est caractérisée
par un nom et un abonné est caractérisé par une adresse IP qui joue le rôle d’identifiant, un nom
et un prénom.
MRD
Le modèle relationnel représente la base de données comme un ensemble de tables, sans
préjuger de la façon dont les informations sont stockées dans la machine. Les tables constituent la
structure logique du modèle relationnel. Au niveau physique, le système est libre d’utiliser
n’importe quelle technique de stockage dès lors qu’il est possible de relier ces structures à des
tables au niveau logique. Les tables représentent une abstraction de l’enregistrement physique
des données en mémoire. Le modèle relationnel peut être défini de la manière suivante :
- les données sont organisées sous forme de tables à deux dimensions, encore appelées
relations, dont les lignes sont appelées occurrence, n-uplet ou tuple en anglais ;
- les données sont manipulées par des opérateurs de l’algèble relationnelle ;
- l’état cohérent de la base est défini par un ensemble de contraintes d’intégrité.
Attribut : un attribut est un identifiant (un nom) décrivant une information stockée dans une base.
Exemples : l’âge d’une personne, le nom d’une personne, le numéro de sécurité sociale.
Domaine : le domaine d’un attribut est l’ensemble, fini ou infini, de ses valeurs possibles.
Exemples : l’attribut « numéro de sécurité sociale » a pour domaine l’ensemble des combinaisons
de quinze chiffres et « nom » a pour domaine l’ensemble des combinaisons de lettres (une
combinaison comme cette dernière est généralement appelée chaîne de caractères ou, plus
simplement, chaîne).
Relation : une relation est un sous-ensemble du produit cartésien de n domaines d’attributs (n>0).
Une relation est représentée sous la forme d’une table à deux dimensions dans laquelle les n
attributs correspondent aux titres des n colonnes.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:7/13
Schéma de relation : un schéma de relation précise le nom de la relation ainsi que la liste des
attributs avec leurs domaines.
Exemple :
PERSONNE
numSécu Nom Prénom
269065925647225 Durand Alice
168093458963255 Dupont Xavier
Clé candidate : une clé candidate d’une relation est un ensemble minimal des attributs de la
relation dont les valeurs identifient à coup sûr une occurrence.
La valeur d’une clé candidate est donc distincte pour toutes les tuples de la relation. La notion de
clé candidate est essentielle dans le modèle relationnel.
Toute relation a au moins une clé candidate et peut en avoir plusieurs. Ainsi, il ne peut jamais y
avoir deux tuples identiques au sein d’une relation. Les clés candidates d’une relation n’ont pas
forcément le même nombre d’attributs. Une clé candidate peut être formée d’un attribut arbitraire
qui n’a d’autre objectif que de servir de clé.
Clé primaire : la clé primaire d’une relation est une de ses clés candidates. Pour signaler la clé
primaire, ses attributs sont généralement soulignés.
Clé étrangère : une clé étrangère dans une relation est formée d’un ou plusieurs attributs qui
constituent une clé candidate dans une autre relation.
Attention, dans une relation, une clé étrangère ne constitue pas une clé candidate !
Schéma relationnel : un schéma relationnel est constitué par l’ensemble des schémas de relation
avec mention des clés étrangères.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:8/13
Le MCD
Le MRD
Idetudiant et idCours sont des clés étrangères qui font respectivement référence
aux schémas de relation ETUDIANT et COURS.
Question 5a
Question 5b
Question 5c
Donnez le MRD correct. Identifiez les clés primaires et précisez les clés étrangères de
chaque relation.
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:9/13
Question 6
Configurez le « proxy ».
Question 7
Vous allez créer les tables d’une base de données, remplir les tables avec des
données, puis vous interrogerez la base de données à l'aide de requêtes SQL.
Question 8
Le MRD
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:10/13
FILM
Question 9
Créez les tables dans la base de donnée « TP_BDD » selon le tableau précédent.
SELECT DATABASE(); C’est une pseudo-requête SQL (sans FROM) qui affiche le nom de la base
courante.
SELECT USER(); Idem, cette pseudo-requête affiche le nom de l’utilisateur.
courant.
SHOW DATABASES; Affiche la liste des bases de données.
SHOW TABLES; Affiche la liste des tables de la base courante.
SHOW COLUMNS FROM NomTable ; Affiche la description de la table NomTable.
Question 10
Insérez dans chaque table les quatre premières occurrences de l’exemple d’instance de
schéma relationnel donné page suivante.
INSERT INTO …
1ère année
Base de données Page:11/13
PERSONNE PROJECTION
idPer. nom prenom idCinema idFilm jour
01 Kidman Nicole JOUER 02 05 02/05/2018
02 Bettany Paul idActeur idFilm role 02 05 03/05/2018
03 Watson Emily 01 05 Grace 02 05 12/10/2019
04 Skarsgard Stellan 02 05 Tom Edison 02 04 07/05/2016
05 Travolta John 03 04 Bess 01 01 02/12/2015
06 L.Jackson Samuel 04 04 Jan 02 07 05/12/2019
07 Willis Bruce 05 03 Vincent Vega 01 04 11/03/2019
08 Irons Jeremy 06 03 Jules Winnfield 04 03 14/04/2005
09 Spader James 07 03 Butch Coolidge 03 06 08/04/2007
10 Hunter Holly 08 02 Beverly Mantle 02 02 15/01/2027
11 Arquette Rosanna 09 01 James Ballard 03 03 20/02/2018
12 Wayne John 10 01 Helen Remington 04 03 11/07/2019
13 Von Trier Lars 11 01 Gabrielle 01 06 05/02/2016
14 Tarantino Quentin 04 05 Chuck 02 04 08/09/2014
15 Cronenberg David 16 07 May Day 04 06 25/01/2015
16 Mazursky Paul 19 08 John Wilson 03 06 14/11/2016
17 Jones Grace 20 09 Jim Williams 01 02 12/02/2018
18 Glen John 20 10 Lester Burnham 02 08 07/03/2019
19 Eastwood Clint 02 01 25/04/2018
20 Spacey Kevin 02 03 15/09/2019
21 Mendes Sam 02 06 30/07/2017
22 Jolie Angelina 01 03 01/08/2018
02 09 02/12/2009
02 10 03/10/2012
02 11 02/03/2013
FILM
idFilm idRealisateur titre genre annee
01 15 Crash Drame 1996
02 15 Faux-Semblants Epouvante 1988
03 14 Pulp Fiction Policier 1994
04 13 Dogville Drame 2002
05 13 Breaking the waves Drame 1996
06 12 Alamo Western 1960
07 18 Dangereusement vôtre Espionnage 1985
08 19 Chasseur blanc, cœur noir Drame 1989
10 21 American Beauty Drame 1999
CINEMA
idCine. nom adresse
01 Cap Ciné 34300 Cap d’Agde
02 Gaumont Wilson 31000 Toulouse
03 Espace Ciné 93800 Epinay-sur-Seine
04 Ciné Part Dieu 69000 Lyon
1ère année
Base de données Page:12/13
Question 11
Donnez les requêtes permettant d’apporter une réponse aux questions ci-dessous.
Donnez les résultats obtenus par les requêtes (affichages console).
Si vous souhaitez vérifier vos requêtes : il vous faudra au préalable compléter les
tables selon l’exemple d’instance de schéma relationnel donné page précédente.
Vous pouvez aussi effectuer un chargement de masse en utilisant la commande :
LOAD DATA INFILE … permettant d’insérer dans une table un fichier *.txt.
https://www.it-connect.fr/importer-des-donnees-en-sql-avec-load-data-infile/
1-Quels sont les titres des films dont le genre est « Drame » ?
5-Quels sont les noms et prénoms des acteurs qui sont également réalisateurs ?
8-Quels sont les réalisateurs qui ont réalisé des films d’épouvante et des films dramatiques ?
9-Quels sont les acteurs qui n’ont pas joué dans des films dramatiques ?
10-Quels sont les titres des films ou Nicole Kidman a joué un rôle et qui ont été projetés au
cinéma « Cap Ciné » ?
11-Quels sont les acteurs qui n’ont pas joué dans des films dramatiques ?
12-Quels sont les acteurs qui ont joués dans des films projetés au cinéma « Cap Ciné » depuis
2019 ?
13-Quels sont les cinémas qui ont projeté tous les films ?
14-Quels sont les acteurs qu’il a été possible de voir dans tous les cinémas ?
LA JOINTURE
Il est préférable d’utiliser un opérateur de jointure normalisé SQL2 (mot clé JOIN) pour effectuer
une jointure. Les jointures faîtes dans la clause WHERE ne permettent pas de faire la distinction, de
prime abord, entre ce qui relève de la sélection et ce qui relève de la jointure puisque tout est
Travaux Pratiques
TP sur les bases de
données.doc
1ère année
Base de données Page:13/13
regroupé dans une seule clause (la clause WHERE). La lisibilité des requêtes est plus grande en
utilisant la syntaxe de l’opérateur JOIN qui permet d’isoler les conditions de sélections (clause
WHERE) de celles des jointures (clause JOIN), et qui permet également de cloisonner les conditions
de jointures entre chaque couple de tables. De plus, l’optimisation de la requête est souvent plus
pointue lorsque l’opérateur JOIN est utilisé.
Question 12
L’objectif est maintenant d’utiliser des requêtes avancées permettant de répondre aux problèmes
posés. Contrairement à la question 11, vous utiliserez la commande « JOIN » pour toutes les
jointures des requêtes.
Donnez les requêtes permettant d’apporter une réponse aux questions ci-dessous.
Donnez les résultats obtenus par les requêtes (affichages console).
1-Dressez la liste de toutes les interprétations, en précisant le nom et le prénom de l’acteur ainsi
que le rôle et le titre du film. Le résultat doit être trié par ordre alaphabétique des noms.
2-Dressez la liste des acteurs (nom et prénom) qui ont joué dans des drames en précisant le
nombre de films dramatiques dans lesquelles ils ont joué.
2-Dressez la liste des acteurs (nom et prénom) qui ont joué dans des drames en précisant le
nombre de films (dramatiques ou pas) dans lesquelles ils ont joué.