2012-2014
PERRICHON Cynthia
A1
BTS SIO option SLAM
SGBD & Base de données
p. 1
Le SGBD
p. 2
p. 4
p. 9
p. 13
p. 16
p. 17
p. 19
p. 21
p. 24
p. 28
p. 29
p. 44
p. 45
SGBD & Base de données
La M2L désire améliorer la gestion des réservations des salles. Cela nécessite une refonte complète
de leur technique de gestion actuelle.
A chaque étage des bâtiments de bureaux se trouve une petite salle de réunion que les ligues
utilisent sans réservation. L’ensemble des autres salles ressources sont accessibles sur réservation,
en journée comme en soirée.
Différents services peuvent être demandés en parallèle à la réservation : aménagement particulier,
fourniture d’eau, de café etc. Ces services sont pour la plupart payants.
Certaines salles sont disponibles à la réservation et d’autre à inscription libre proposée par le CROSL
ou par les stages organisés par les ligues. Et certaines sont réservées uniquement pour l’assemblée
générale.
Les salles sont accessibles :
 En journée : 7h-16h
 En soirée : jusqu’à 24h
Un système de digicode permet d’entrer dans les locaux en dehors des heures d’ouverture des
bureaux.
Avec toutes ces informations et quelques autres complémentaires, la M2L nous a demandé de créer
une base de données qui permettrait de gérer les réservations à travers une application qui sera
développée ultérieurement.
Lors d’une visite sur le site de réservation, il devra être possible de consulter l’ensemble des
caractéristiques des salles.
Afin de pouvoir contrôler les données ainsi que les différents utilisateurs, le besoin d'un système de
gestion dédié à la gestion des données s'est vite fait ressentir.
Les Systèmes de Gestion de Bases de Données (SGBD) remplacent les anciennes organisations où les
données, regroupées en fichiers, restaient liées à une application particulière.
SGBD & Base de données
Page 1 sur 45
SGBD : Système Gestion de Base de Données
Un SGBD est un logiciel qui permet de créer et de gérer des bases de données.
Ensemble de logiciels qui :
 supporte les concepts de base d‘un modèle de données
(Hiérarchique, réseau, relationnel…)
 permet la mise en œuvre (la définition) de la base de données.
 Permet la manipulation des informations contenues dans les bases de données
Un SGBD est un logiciel qui permet de créer et de gérer des bases de données.
Plus précisément, un SGBD permet de:
 décrire
 mémoriser
 manipuler (à l’aide de requêtes)
 traiter (des ensembles de données, tout en assurant leur :
 sécurité
 confidentialité
 intégrité (justesse)
alors qu’un grand nombre d’utilisateurs variés interagit avec des données.

Le SGBD peut se décomposer en trois
sous-systèmes :
 le système de gestion de fichiers :
il permet le stockage des informations sur un
support physique
 le SGBD interne :
il gère l'ordonnancement des informations
 le SGBD externe :
il représente l'interface avec l'utilisateur
SGBD & Base de données
Page 2 sur 45
Les principaux SGBD:















Oracle
SQL Server,
DB2
Access,
MySQL
IBM DB2
Borland Paradox
Filemaker
Ingres
Interbase
Microsoft SQL server
Microsoft Access
Sybase
PostgreSQL
SQL Server 11
SGBD & Base de données
Page 3 sur 45
Que doit–on comprendre et savoir utiliser pour travailler avec un
SGBD ?
 La définition du schéma de données
 Les opérations sur les données : recherche, mise à jour,…
 L’optimisation des performances, par les réglages de
l’organisation physique des données ou par des règles
d’écriture des accès aux données
 Le partage des données entre plusieurs utilisateurs, grâce au
mécanisme de transaction
1. Tableau comparatif :
SQL Server (Microsoft)
Version actuelle
Disponibilité
Licence
Prix
Site de l’éditeur
SQL Server Express 2012
Windows
GPL
Gratuit
www.microsoft.com/france/sql
 SQL Server propose un langage procédural facile et un langage SQL proche du standard. Son
administration est simplifiée grâce à de nombreux assistants. Le SQL est assez complet et
permet notamment de faire des requêtes imbriquées. SQL qui
est d’ailleurs facilement portable à Sybase.
 S’agissant d’une solution Microsoft, le serveur est disponible
uniquement sur Plate-forme Windows, ce qui peut être limitatif
à long terme.
 De plus, l'imbrication de composants Microsoft permet de simplifier la réalisation des
applications, mais augmente l'insécurité, même si des correctifs sont régulièrement mis à
disposition.
 SQL Server est un bon choix pour des bases de données de moyenne taille. A relever
l'existence Express 2012, une version gratuite de SQL Server, mais optimisée pour l'utilisation
de 5 connexions concurrentes et bridées aux bases de données jusqu'à 10 Go.
SGBD & Base de données
Page 4 sur 45
MySQL (MySQL AB)
Version actuelle
Disponibilité
Licence
Prix
Site de l’éditeur
5.6.10
Linux, Windows, Mac OSX et Unix
GPL et Commerciale
Gratuit (GPL) et Commerciale (440€/licence)
http://www.mysql.fr
 MySQL est une solution très courante en hébergement public, grâce à sa très bonne
intégration dans l'environnement Apache/PHP et une bonne rapidité. Il est très stable, même
avec un grand nombre d'enregistrements.
 Un des avantages est qu’il y a une énorme communauté
d'utilisateurs, ce qui en facilite le support en cas de problèmes, de plus
MySQL est gratuit.
 MySQL sera un très bon choix pour une utilisation en relation avec
PHP avec des requêtes simples, mais il manque cruellement de fonctions par
rapport aux autres SGBD.
 Du point de vue des performances MySQL est relativement rapide et supporte bien la charge.
Ceci s'explique par le fait que MySQL est un SGBD qui a été conçu à l'origine pour être
performant sur des serveurs web, donc destiné aux applications web, dont le critère principal
est la rapidité.
 MySQL n'en reste pas moins un SGBD fort d'une capacité de montée en charge
particulièrement performante. Il est recommandé pour le support d'applications tolérant les
pannes, tels que des sites Web ou des bases de contacts par exemple.
SGBD & Base de données
Page 5 sur 45
PostgreSQL (PostgreSQL Global Development Group)
Version actuelle
Disponibilité
Licence
Prix
Site de l’éditeur
9.2.3
Linux, Unix, MacOS X et Windows
GPL
Gratuit
http://www.postgresql.org
 PostgreSQL est un très bon SGBD, fiable et relativement performant, tout en restant simple
d'utilisation. PostgreSQL supporte la majorité du standard SQL et possède en plus un certain
nombre d'extensions.
 Il fournit les fonctions nécessaires pour garantir l'intégrité
des données (transactions, procédures stockées, clefs
étrangères, etc.). PostgreSQL est très performant pour
des applications moyennes ou avec un volume de
données assez important, mais plutôt destiné à Linux.
 PostgreSQL est gratuit et est un très bon choix pour gérer des bases de données de taille
moyenne.
SGBD & Base de données
Page 6 sur 45
SQL Server
Express 2012
Avantages
- Administration aisée
Inconvénients
- Disponible seulement sur Windows
- Une des bases les plus performantes sous
Windows
- Mono-plateforme (MS Windows)
- Services Web
- Depuis la version 2005, plus de
prise directe sur les tables système
(remplacées par de vues système)
- Support XML
- Supporte les 4 niveaux d’isolation
transactionnelle de la norme SQL
- Il peut être plus « coûteux » de
parcourir les pages d’index que
d’analyser la table dans son
intégralité.
- Compression des données
MySQL
- OpenSource et gratuit
- Pas de java, orientation C#
- Ne convient pas pour de grosses
bases de données
- Simple d’installation et d’utilisation
- sécurité moyenne
- Fonctionnel rapidement
- bonne intégration dans
l’environnement Apache/PHP
- pas de sauvegarde à chaud
- peu de richesse fonctionnelle
- Service Web
PostgreSQL
- OpenSource et gratuit
- Fiable et relativement performant, tout
en restant simple d'utilisation
- la modification du fichier de
sécurité pg_hba.conf nécessite un
reboot pour être prise en compte
- Sauvegardes peu évoluées
-
- Supporte la majorité du standard SQL-92
et possède en plus un certain nombre
d'extensions (Java, Ruby, PL-SQL).
- Très riche fonctionnellement, notions
d'héritage de tables, multitude de modules
- Supporte les bases de moyenne
importance
- Pas de services Web
- Pas d'ordonnanceur intégré
- Simple d'utilisation et d'administration
- Pas de vue matérialisée
- Héritage de tables
- Pas de requêtes récursives
- Solutions de réplication pas encore
totalement packagées
SGBD & Base de données
Page 7 sur 45
Conclusion
M2L a besoin d’un gros SGBD pour pouvoir gérer ses réservations de salles. Tout en sachant que ce
seront des réservations sur de longues périodes.
Nous avons besoin de plusieurs tables avec plusieurs champs.
Par conséquent, il faut un SGBD qui a la capacité de contenir des données importantes sur le long
terme.
C’est pour cela que j’ai choisi SQL Server Express 2012 pour M2L. En effet, ce SGBD est un gros
système de gestion qui a la particularité d’être gratuit.
Il offre 10 Go de mémoire avec 1 go de ram. Pour remplir un SGBD de cette taille, il faudrait une
dizaine d’années. Il offre une fonction de compression de données qui permettrait à la M2L de
garder des archives de réservations.
L’administration de ce serveur est facilement accessible aux salariés de M2L. Il est doté de nombreux
assistants permettant une bonne gestion.
Ce SGBD fonctionne sous le système d’exploitation Windows 8.
Pour son installation, la M2L aura besoin d’acheter un ordinateur de bureau assez puissant avec le
système d’exploitation requis. Mais tout cela est détaillé plus bas dans ce dossier.
SGBD & Base de données
Page 8 sur 45
2. Taille du SGBD
Il y a plusieurs points que nous devons étudier, notamment :
 Le nombre de connexion/jour
 Le nombre d’enregistrement par table (volume d’une
table)
 Taille maximum d’un enregistrement par table
Le nombre de connexion/jour

Pour le nombre de connexion du personnel, la M2l possède 26 salariés responsables des
réservations. Sachant que dans les 26 salariés, tous ne se connecteront pas tous les jours, ce
qui permet une diminution du nombre de connexion par jours pour le personnel.

Pour le nombre de connexion à l’extérieur, il faut savoir que toute personne ne se
connectera pas 10 fois par jours. On peut donc écarter les jeunes qui n’iront que peu
souvent, ce qui diminue le nombre de connexion.

Cependant il y 24 ligues, mais seul 1 ou 2 personnes se connecteront par jours ce qui nous
fait approximativement environ 51 connexions.
J’en déduis donc qu’il y aura moins de 100 connexions par jours.
Le nombre d’enregistrement par table
Pour calculer le nombre d’enregistrement par table, il suffit d’additionner toutes les « longueurs »
défini par attribut (ex : nom char 15). Cela permettra d’avoir approximativement le nombre
d’enregistrement par table. Mais cela ne sera qu’un chiffre approximatif.
1 enregistrement rempli tous les champs pour une personne => 1 réservation
SGBD & Base de données
Page 9 sur 45
Calcul Calcul
Nom des Tables
Batiment
Total
(en octets)
Int(4) + varchar(20) + varchar(20)
44
Services
Int(4) + varchar(15) +numeric(6)
25
Tarif
Int(4) + varchar(15)+numeric(6)
25
Equipement
Int(4)+ varchar(30)
34
Type_salle
Int(4)+ varchar(20)
24
Type_periodicite
Int(4)+ varchar(20)
24
Status
Int(4)+ varchar(20)
24
Organisme
Int(4)+ varchar(20) + varchar(20) + varchar(20) + Int(4)
68
Utilisateurs
Int(4)+ varchar(20)+ varchar(50)+
varchar(20)+char(5)+numeric(10)+numeric(10)+
varchar(30)+ Int(4)
Int(4)+datetime(20)+datetime(20)+ varchar(50)+
varchar(50)+ varchar(25)+bit(2)+ Int(4) + Int(4) + Int(4) +
Int(4) + Int(4)
Int(4)+ varchar(20)+numeric(5)+numeric(5)+ Int(4)+
Int(4)+ Int(4)
153
Reservations
Salles
TOTAL (en octets)
191
46
658
Taille maximum d’un enregistrement par table
Pour calculer la taille maximum d’un enregistrement par table, j’ai pris soin d’utiliser une formule.
FORMULE : Volume d’une table = nb d’enregistrement sur le nb de temps que l’on veut garder les
données. (période) x la taille de l’enregistrement
Exemple : imaginons 300 personnes qui s’inscrivent sur 1 mois x 500 = le volume d’une table
SGBD & Base de données
Page 10 sur 45
3. Le coût
Pour pouvoir utiliser le SGBD choisi (SQL Server Express 2012), des caractéristiques minimales sont
requises :
 6 Go d’espaces disque disponible
 1 Go ram pour express mais il vaut mieux avoir 4 go pour garantir une bonne performance
avec l’augmentation de la taille de la base
 Vitesse du processeur : 2,0 GHz ou plus
 Processeur x64 : AMD Opteron, AMD Athlon 64, Intel Xeon avec prise en charge Intel EM64T
Intel Pentium IV avec prise en charge EM64T
 Processeur x86 : compatible Pentium III ou supérieur
 Un os : Windows 8 (j’ai essayé Windows 7 mais ce n’était pas « assez récent » pour installé le
serveur)
Par conséquent, avoir choisi SQL Server Express 2012 engendre certains coûts (419 €) :
 Un ordinateur avec les caractéristiques minimales citées ci-dessus
 Os Windows 8 et sa licence
Comme ordinateur, j’ai décidé de prendre un des ordinateurs que j’avais choisi et comparé dans le
PPE précédent. Il s’agit de l’Optiplex 3010 de DELL (Dans le tableau, tout est compris dans le prix) :
Ordinateurs
Dell
Exigences
Photo
Nom
Dell OptiPlex™ 3010
Coût
419 €
RAM/Mémoire
Jusqu’à 8 Go de mémoire / Disque Dur SATA III 500Go
Processeur
Intel® Core™ i3
Système d’exploitation
Windows 8 64bits
Caractéristique de l’écran
Ecran plat large et standard numérique destiné aux entreprises
SAV
Sécurité
SGBD & Base de données
Garantie matérielle limitée, service standard de 3 ans avec
intervention sur site après le diagnostic à distance, option de
service et d’assistance de 4 et 5 ans
Protection des données Dell, prise en charge de l’emplacement
antivol du châssis, mot de passe de configuration/BIOS, KACE
Security, Dell Secure Works
Page 11 sur 45
4. Sécurité
Au niveau de la sécurité, plusieurs choses peuvent être proposées à la M2L. Tout d'abord, je peux
proposer un système d'identifiant et de mot de passe par base de données. Le compte "sa" (super
administrateur) serait laissé à l'administrateur réseau ou le gérant de la base de données. Bien
entendu, le système d'identifiant/mot de passe serait basé sur un mot de passe fort.
Pour ce qui concerne la sauvegarde et le nettoyage de base, ce n'est plus vraiment utile. Aujourd'hui,
la technologie nous permet de ne pas être obligé de nettoyer la base de données tous les 3 mois.
Mais si cette fonction est demandée par la M2L, il est possible de mettre en place des "jobs" (taches)
qui seront exécuter tous les soirs, ce qui permettra de faire des backups et des nettoyages.
Un backup est une copie des fichiers qui a pour but de remettre le système dans l'état avant qu'il ne
soit infecté ou qu'il ne redémarre plus etc...
Après, on peut pousser les choses encore plus loin en parlant de mirroring. Le principe est qu'une
machine se réplique sur une autre machine et ce, automatiquement. En utilisant le service broker, on
peut gérer la répartition de charges pour que le serveur le plus rapide réponde en premier. Le but
c'est que si un serveur tombe ou est endommagé, l'autre serveur prend le relais (et les deux serveurs
sont constamment à jour).
Par contre, ce système engendrera des coûts, c'est-à-dire qu'il faudrait un ordinateur par machine
pour que ce soit un système efficace. Ce qui, en remontant plus haut dans le ppe, reviendra à peu
près à 419€ x 2, ce qui fait 838€ pour la mise en place de ce système.
SGBD & Base de données
Page 12 sur 45
 Le modèle conceptuel des données (MCD) a pour
but d'écrire les données qui seront utilisées par le
système d'information.
Il s'agit donc d'une représentation des données,
facilement compréhensible, permettant de décrire
le système d'information à l'aide d'entités.
 Le MCD vise à conceptualiser l’application.
 Il met en jeu des d’entités et des associations
 L’entité : un objet d’intérêt dans le problème qu’on cherche à modéliser
 Chaque entité comporte des attributs (ou propriétés) c’est à dire des
caractéristiques (date de naissance, couleur, nom, capitale,
population,
Superficie...).
 Il peut exister 0 à n occurrences d’une entité
Remarque :
 Indépendance logique : Une modification du schéma conceptuel ne doit pas entraîner la
modification des programmes; une modification de certains schémas externes est utile dans
ce cas.
SGBD & Base de données
Page 13 sur 45
1. Entités et classe d’entité
 Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le
système que l'on désire décrire.
On appelle classe d'entité un ensemble composé d'entités de même
type, dont la définition est la même. Une entité est une instanciation
de la classe. Chaque entité est composée de propriétés, données
élémentaires permettant de la décrire.
Les classes d'entités sont représentées par un rectangle. Ce rectangle est
séparé en deux champs :


le champ du haut contient le libellé (abréviation de l'écriture). Chaque classe d'entité
correspond un et un seul libellé, et réciproquement
le champ du bas contient la liste des propriétés de la classe d'entité
2. Relation et classes de relation
 Une relation (ou association) représente les liens sémantiques qui peuvent exister entre
plusieurs entités.
Une classe de relation peut lier plus de deux
classes d'entité.
Il existe plusieurs dénominations des classes de
relation selon le nombre d'intervenants :
1.
2.
3.
4.
Relation récursive (ou réflexive) relie la même classe d'entité
Relation binaire relie deux classes d'entité
Relation ternaire relie trois classes d'entité
Relation n-aire relie n classes d'entité
 La cardinalité indique le nombre minimum (0 ou 1) et maximum (1 ou n)
de fois où l’occurrence d’une entité peut participer à une association.
 Une cardinalité 1.N signifie que chaque entité appartenant à une classe d'entité participe au
moins une fois à la relation.
 Une cardinalité 0.N signifie que chaque entité appartenant à une classe d'entité ne participe
pas forcément à la relation.
Remarque :
Les classes de relations sont représentées par des hexagones ou ellipses, dont l'intitulé décrit le type
de relation qui relie les classes d'entité.
SGBD & Base de données
Page 14 sur 45
5. Les identifiants
 Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une
et une seule entité.
L'identifiant est une propriété particulière d'un objet telle qu'il n'existe pas deux occurrences
de cet objet pour lesquelles cette propriété pourrait prendre une même valeur
 Les attributs d'une classe d'entité permettant de désigner de façon unique chaque instance
de cette entité sont appelés identifiants absolus.
Remarque :
Les attributs peuvent avoir des types permettant de mieux les décrire:
D
An
BL
T
DT
N
S
I
Date
Caractères de longueur n
Booléen
Temps
Date Temps
Nombre
Smallint (entier court)
Integer entier
6. Les règles de normalisation :
1. Première forme normale : chaque entité ́e doit posséder un identifiant qui caractérise ses
individus de manière unique.
2. Deuxième forme normale: l’identifiant peut être composée de plusieurs attributs mais les
autres attributs de l’entité é doivent être dépendant de l’identifiant en entier (et non pas une
partie de cet identifiant).
3. Troisième forme normale (importante) : les attributs d’une entité doivent dépendre
directement de son identifiant.
SGBD & Base de données
Page 15 sur 45
 Le MPD (Modèle physique de données) est un raffinement qui vise à produire un MLD pour
un SGBD spécifique.
 Le schéma décrit également la correspondance
entre structures logiques de données et structures
physiques.
Le choix des structures de stockage est fait en tenant
compte de l’utilisation qui sera faite des données
(fréquence d’utilisation, sélectivité, etc.) de façon à
optimiser les accès à la base.
Remarque:
 Indépendance physique : La modification de l’organisation physique des données ne doit pas
entraîner des modifications dans les programmes accédant à ces données.
Quelques règles :
1. A chaque entité correspond une table.
2.
Si la relation est de type 1:1, les entités ont la même clef.
3. Dans le cas d’une relation 1:n, la clef de l’entité côté 0, n /1,n migre vers la
table côté 0,1/1,1 et devient une clef étrangère (Foreign Key).
4. Dans le cas d’une association n:m entre une table A et une table B, une
nouvelle table C est créée. Dans C, les clefs primaires de A et B sont des clefs étrangères.
SGBD & Base de données
Page 16 sur 45
Le Modèle Conceptuel de Données (MCD)
SGBD & Base de données
Page 17 sur 45
Le Modèle Physique de Données (MPD)
SGBD & Base de données
Page 18 sur 45
III-
Une base de données est un ensemble organisé d'informations,
mémorisées sur un support informatique.
 Structure de données permettant de :
 Recevoir
 Stocker
 Fournir
à la demande des données à de multiples utilisateurs indépendants.
 Une base de données permet de mettre des données à la disposition d'utilisateurs pour une
consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces
derniers.

Une base de données peut être :
 Locale (utilisable sur une machine par un utilisateur).
 Répartie (les informations sont stockées sur des machines distantes et accessibles
par réseau).
L'avantage majeur de l'utilisation de bases de données est la possibilité de pouvoir être
accédées par plusieurs utilisateurs simultanément.
SGBD & Base de données
Page 19 sur 45
1. Les différentes structures de BD
 Les concepts de base :
Domaine : ensemble de valeurs caractérisé par un nom.
Table / relation : tableau à 2 dimensions : lignes et colonnes
Clé candidate : attribut ou ensemble d’attributs dont la
connaissance des valeurs permet d’identifier de façon
unique chaque ligne de la table.
Clé primaire : Il y a une clé primaire par table, choisie parmi
les clés candidates.
Clé étrangère : attribut ou ensemble d’attributs d’une table
qui correspond à une clé primaire d’une autre table. Une
table peut contenir plusieurs clés étrangères.
Valeur nulle : valeur conventionnelle qui doit représenter une information inconnue ou non
existante.
2. Les contraintes
Contrainte d’intégrité : Prédicat qui doit
vérifier un sous ensemble de la base de
données afin que l’on puisse considérer la
base de données comme cohérente.
Contrainte de domaine contrôle syntaxique
et sémantique d’une donnée, en faisant
référence au type de définition du
domaine.
Contrainte déclarative contrainte imposée
sur des attributs (valeur nul, valeur par défaut, clé primaire, validité des valeurs …)
Contrainte référentielle la valeur d’un attribut d’une table existe comme valeur
de clé primaire dans une autre table
(Clé étrangère -> clé primaire).
Contrainte d’entité Toute table possède une clé primaire.
Toute colonne participant à la clé primaire doit être non nulle.
SGBD & Base de données
Page 20 sur 45
Create table Batiment(
B_ID integer not null,
B_Nom varchar (20) not null,
B_emplacement varchar(20),
Constraint PK_batiment Primary key (B_ID)
);
Create table Services(
S_ID integer not null,
S_Nom varchar(15) not null,
S_Prix numeric not null,
Constraint PK_services Primary key (S_ID)
);
Create table Tarif(
T_ID integer not null,
T_Nom varchar(15) not null,
T_Prix numeric not null,
Constraint PK_tarif Primary key (T_ID)
);
Create table Equipement(
E_ID integer not null,
E_Nom varchar (30),
Constraint PK_equipement Primary key (E_ID)
);
Create table Type_salle(
TS_ID integer not null,
TS_Nom varchar (20) not null,
Constraint PK_type_salle Primary key (TS_ID)
);
Create table Type_periodicite(
TP_ID integer not null,
TP_Nom varchar (20) not null,
Constraint PK_type_periodicite Primary key (TP_ID)
);
Create table Status(
ST_ID integer not null,
ST_Nom varchar (20) not null,
Constraint PK_status Primary key (ST_ID)
);
SGBD & Base de données
Page 21 sur 45
Create table Organisme(
O_ID integer not null,
O_Nom varchar (20) not null,
O_Reservations_Salle varchar (20),
O_Reservations_Amphi varchar (20),
O_Tarif integer not null,
Constraint PK_organisme Primary key (O_ID),
Constraint FK_organisme Foreign key (O_Tarif) references Tarif(T_ID)
);
Create table Utilisateurs(
U_ID integer not null,
U_Nom varchar (20) not null,
U_Rue varchar(50) not null,
U_Ville varchar (20)not null,
U_CP char(5)not null,
U_Telephone numeric not null,
U_Fax numeric,
U_Email varchar(30) not null,
U_Organisme integer not null,
Constraint PK_utilisateurs Primary key (U_ID),
Constraint FK_utilisateurs Foreign key (U_organisme) references organisme(O_ID)
);
Create table Reservations(
R_ID integer not null,
R_Debut datetime not null,
R_Duree datetime not null,
R_Resume varchar(50),
R_Description varchar(50),
R_Mise_A_Jour varchar(25),
R_Periodicite bit,
R_Type integer not null,
R_Status Integer not null,
R_Utilisateur integer not null,
R_Salle integer not null,
R_Service integer not null,
Constraint PK_Reservations Primary key (R_ID),
Constraint FK_Reservations_Type_Periodicite Foreign key (R_Type) references
Type_periodicite(TP_ID),
Constraint FK_Reservations_Status Foreign key (R_Status) references Status(ST_ID),
Constraint FK_Reservations_Utilisateur Foreign key (R_Utilisateur) references
Utilisateurs(U_ID),
Constraint FK_Reservations_Service Foreign key (R_Service) references Services(S_ID)
);
SGBD & Base de données
Page 22 sur 45
Create table Salles(
SA_ID integer not null,
SA_Nom varchar (20) not null,
SA_Surface numeric,
SA_Capacite numeric,
SA_Equipement integer not null,
SA_Type integer not null,
SA_Batiment integer not null,
Constraint PK_salles Primary key (SA_ID),
Constraint FK_salles_Type_salle Foreign key (SA_Type) references Type_salle(TS_ID),
Constraint FK_salles_Batiment Foreign key (SA_Batiment) references Batiment(B_ID),
Constraint FK_salles_Equipement Foreign key (SA_Equipement) references
Equipement(E_ID)
);
SGBD & Base de données
Page 23 sur 45
Voici maintenant quelques requêtes dans la base de données :
SGBD & Base de données
Page 24 sur 45
SGBD & Base de données
Page 25 sur 45
SGBD & Base de données
Page 26 sur 45
SGBD & Base de données
Page 27 sur 45
Apres avoir réfléchis aux différents besoins de la M2L, j’ai élaboré́ plusieurs schémas (MCD & MPD),
ainsi qu’une base de données adapté aux différents champs désirés par M2L pour ses réservations.
Pour les schémas et la base de données, j’ai étudier tous les champs possibles pour renseigner aux
mieux les données personnelles et utiles pour les réservations ainsi que pour les ligues et les
personnes de l’extérieurs lors de leurs inscriptions.
J’ai pris soin de prendre en compte tous les aspects de la sécurité́ et de la sauvegarde pour être plus
efficace pour la M2L.
En ce qui concerne le SGBD, j’ai essayé pour le mieux de trouver le plus avantageux, rapide, efficace,
complet et peu couteux, avec une grande capacité́ (gros SGBD).
J’ai donc pensé à un gros SGBD pour que la M2L puisse avoir des archives de ses réservations sur une
longue période ainsi qu’une plus grande capacité́ de stockage. Chaque élément a été́ réfléchi en
fonction de la M2L.
Pour fournir un travail complet et sérieux, j’ai effectué un jeu d’essai pour m’assurer du bon
fonctionnement de la solution avant de la proposer. Cela permettra à la M2L de gérer plus
efficacement ses réservations par rapport à sa technique de gestion actuelle.
SGBD & Base de données
Page 28 sur 45
SI3 Exploitation de données, chapitre 1b -introduction au S.G.B.D Cour de
Madame Roels Carina
SGBD & Base de données
Page 29 sur 45
SGBD & Base de données
Page 30 sur 45
SGBD & Base de données
Page 31 sur 45
SGBD & Base de données
Page 32 sur 45
SGBD & Base de données
Page 33 sur 45
http://www.commentcamarche.net/contents/merise/mcd.php3
Modèle conceptuel des données
Le modèle conceptuel des données (MCD) a pour but d'écrire de façon formelle les données qui
seront utilisées par le système d'information. Il s'agit donc d'une représentation des données,
facilement compréhensible, permettant de décrire le système d'information à l'aide d'entités.
Entités et classe d'entité
Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système
que l'on désire décrire.
On appelle classe d'entité un ensemble composé d'entités de même type, c'est-à-dire dont la
définition est la même. Le classement des entités au sein d'une classe s'appelle classification (ou
abstraction). Une entité est une instanciation de la classe. Chaque entité est composée de
propriétés, données élémentaires permettant de la décrire.
Prenons par exemple une Ford Fiesta, une Renault Laguna et une Peugeot 306. Il
s'agit de 3 entités faisant partie d'une classe d'entité que l'on pourrait appeler
voiture. La Ford Fiesta est donc une instanciation de la classe voiture. Chaque
entité peut posséder les propriétés couleur, année et modèle.
Les classes d'entités sont représentées par un rectangle. Ce rectangle est séparé
en deux champs :


le champ du haut contient le libellé. Ce libellé est généralement une
abréviation pour une raison de simplification de l'écriture. Il s'agit par
contre de vérifier qu'à chaque classe d'entité correspond un et un seul libellé, et
réciproquement
le champ du bas contient la liste des propriétés de la classe d'entité
Relations et classes de relation
Une relation (appelée aussi parfois association) représente les liens sémantiques qui peuvent exister
entre plusieurs entités. Une classe de relation contient donc toutes les relations de même type (qui
relient donc des entités appartenant à des mêmes classes d'entité). Une classe de relation peut lier
plus de deux classes d'entité. Voici les dénominations des classes de relation selon le nombre
d'intervenants :




une classe de relation récursive (ou réflexive) relie la même classe d'entité
une classe de relation binaire relie deux classes d'entité
une classe de relation ternaire relie trois classes d'entité
une classe de relation n-aire relie n classes d'entité
SGBD & Base de données
Page 34 sur 45
Les classes de relations sont représentées par des hexagones (parfois des ellipses) dont l'intitulé
décrit le type de relation qui relie les classes d'entité (généralement un verbe). On définit pour
chaque classe de relation un identificateur de la forme Ri permettant de désigner de façon unique la
classe de relation à laquelle il est associé.
On peut éventuellement ajouter des propriétés aux classes de relation.
La cardinalité
Les cardinalités permettent de caractériser le lien qui existe entre une entité et la relation à laquelle
elle est reliée. La cardinalité d'une relation est composée d'un couple comportant une borne
maximale et une borne minimale, intervalle dans lequel la cardinalité d'une entité peut prendre sa
valeur :


la borne minimale (généralement 0 ou 1) décrit le nombre minimum de fois qu'une entité
peut participer à une relation
la borne maximale (généralement 1 ou n) décrit le nombre maximum de fois qu'une entité
peut participer à une relation
Une cardinalité 1.N signifie que chaque entité appartenant à une classe d'entité participe au moins
une fois à la relation.
Une cardinalité 0.N signifie que chaque entité appartenant à une classe d'entité ne participe pas
forcément à la relation.
SGBD & Base de données
Page 35 sur 45
Les identifiants
Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et une
seule entité. La définition originale est la suivante :
L'identifiant est une propriété particulière d'un objet telle
Qu’il n'existe pas deux occurrences de cet objet pour lesquelles cette propriété
pourrait prendre une même valeur.
Les attributs d'une classe d'entité permettant de désigner de façon unique chaque instance de cette
entité sont appelés identifiants absolus.
Le modèle conceptuel des données propose de faire précéder d'un # les identifiants (parfois de les
souligner).
Ainsi, chaque classe d'entité doit posséder au moins un attribut identifiant, et l'ensemble de ses
attributs identifiants doivent être renseignés à la création de l'entité.
SGBD & Base de données
Page 36 sur 45
ftp://ftp2.developpez.be/developps/sgbd/ConceptionBD.pdf
SGBD & Base de données
Page 37 sur 45
http://stephanie.laporte.pagesperso -orange.fr/Pdf/BD.pdf
SGBD & Base de données
Page 38 sur 45
SGBD & Base de données
Page 39 sur 45
http://www.commentcamarche.net/contents/bdd/bddintro.php3
SGBD & Base de données
Page 40 sur 45
http://biologie.univ-mrs.fr/upload/p245/coursSQL3.DP.pdf
SGBD & Base de données
Page 41 sur 45
SGBD & Base de données
Page 42 sur 45
SGBD & Base de données
Page 43 sur 45
1.
2.
3.
4.
5.
6.
SI3 Exploitation de données, chapitre 1b-introduction au S.G.B.D Cour de Madame Roels Carina
http://www.commentcamarche.net/contents/merise/mcd.php3
ftp://ftp2.developpez.be/developps/sgbd/ConceptionBD.pdf
http://stephanie.laporte.pagesperso-orange.fr/Pdf/BD.pdf
http://www.commentcamarche.net/contents/bdd/bddintro.php3
http://biologie.univ-mrs.fr/upload/p245/coursSQL3.DP.pdf
SGBD & Base de données
Page 44 sur 45
SGBD & Base de données
Page 45 sur 45