Mise en place d’un environnement simple de base de données sous Sql Server 2000
Accueil > Articles > Serveurs
|
|
|
 |

57186 1254/301
|
Mise en place d’un environnement simple de base de données sous Sql Server
2000
La mise en place d’un environnement comprend plusieurs
étapes :
-
La création d’une base de données ; - La création de tables exemples ; - L’insertion d’enregistrements ; - L’interrogation des tables (récupération des
enregistrements).
Elle s’effectuera de deux manières :
- Par l’utilisation de l’outil Enterprise Manager,
- Par le langage Transact-SQL
Mise en place de l’environnement par Enterprise Manager
Enterprise Manager est un outil permettant une gestion centralisée de Sql
Server. Il est intégré à la console MMC (Microsoft Management Console).
L’accès à l’outil Enterprise Manager se fait par le menu Démarrer, Programmes,
Microsoft Sql Server, Enterprise Manager.
Création de la base de données
Ouvrez Enterprise Manager.
Développez le groupe 'Microsoft SQL Server' en cliquant sur le signe '+'.
Un groupe SQL Server permet de faciliter la gestion des bases
de données, en regroupant les serveurs ayant les mêmes besoins en terme d’administration et de ressources.
Développez le serveur qui possédera la nouvelle base de données. Dans notre exemple, il se nomme ‘Server’.
Sur le dossier ‘Bases de données’, faites un clic droit,‘Nouvelle base de données’.

Dans l’onglet Général, indiquez le nom de la nouvelle base de données. Nous l’appellerons ‘labo_base’.

Dans l’onglet ‘Fichiers de données’, indiquez le nom du (ou des) fichiers de données.
Un fichier de données permet de stocker les objets et les données de la base de données, tels que des tables,
des vues, des procédures, etc.
Nous créons deux fichiers de données.
Le premier se nomme ‘fichier de données primaire’ et appartient au groupe de fichiers primaire. Le groupe primaire contient tous les
objets systèmes et les informations nécessaires au démarrage de la base.
Le deuxième fichier de données est optionnel, il s’appelle ‘fichier de données secondaire’.Il
est créé dans un nouveau groupe de fichiers ‘labo_baseG’. La création de nouveaux groupes de fichiers facilite l’administration des fichiers de données
et des objets. Cela permet ensuite par exemple de créer une table et de l’affecter à un groupe de fichiers précis.
Le fichier de données primaire possède une extension .mdf, tandis que le fichier de données secondaire a une extension
.ndf.

Les options des fichiers de données :
Pour éviter d’avoir des fichiers de données pleins et que l’enregistrement de nouvelles données ne devienne impossible, on laisse les
options par défaut : pas de taille limite pour le fichier de données et croissance automatique de celui-ci.
L’onglet ‘Journal des transactions’ permet de configurer les fichier journaux. Ces
fichiers enregistrent toutes les transactions de la base.
Nous choisissons de laisser les paramètres par défaut :
un seul fichier journal qui a une croissance automatique. L’extension d’un
fichier journal est .ldf.

Vous pouvez maintenant cliquer sur le bouton ‘OK’. La base de données est créée.
La configuration de la base pourra être modifiée en faisant un clic droit sur la base, puis ‘Propriétés’, et en naviguant dans les
différents onglets.
Création des tables
Nous allons créer deux tables : ‘table_service’ et ‘table_employé’.
Chaque table contiendra une clé primaire et la table ‘employé’ contiendra une clé étrangère vers la clé primaire de la table
‘table_service’.
Dans Enterprise Manager, développez la nouvelle base que l’on vient de créer et faites un clic droit sur l’élément ‘tables’. Il
contient actuellement les tables systèmes nécessaires à l’exécution et la maintenance de la base. Cliquez sur ‘Nouvelle table…’.

Configuration de la table ‘table_service’
Indiquez le nom des colonnes, à savoir ‘ID_service’ et ‘nom_service’ dans la zone ‘nom de la colonne’.
Le champ ‘ID_service’ est de type int (entier sur 4 octets) et le champ ‘nom_service’ est de type char, sur 20 positions.
Aucun champ ne doit être nul.
Pour créer une clé primaire, positionnez le curseur sur la ligne correspondant à ‘ID_service’ et cliquez sur la clé
, qui se trouve dans le menu.
Le champ ‘ID_service’ doit posséder une valeur unique : sélectionnez ‘oui’ dans le zone ‘compteur’, avec un début à la valeur 1 et un
incrément de 1. Cela signifie que la colonne commence à la valeur 1 et s’auto incrémente de 1 à chaque nouvel enregistrement.

Configuration de la table ‘table_employé’
Il faut réaliser les mêmes opération que précédemment.
La table est constituée de cinq champs :
- ‘ID_employe’, de type int et de longueur 4, clé primaire, incrémentation avec un pas de 1 ;
- ‘nom_employe’ de type char et de longueur 20 ;
- ‘prenom_employe’ de type char et de longueur 20 ;
- ‘date_employe’ de type datetime et de longueur 8, la date d’embauche peut être nulle ;
- ‘ID_service_emp’ de type int et de longueur 4 ;

Configuration de la clé étrangère :
- Cliquez sur le bouton ‘Gérer les contraintes…’ dans le menu (bouton le plus à droite), puis sur l’onglet ‘Relations’.
- Cliquez sur le bouton ‘Nouveau’.
- Dans la zone ‘Table de clé primaire’, sélectionnez la table contenant la clé primaire. Dans notre exemple, il s’agit de la table ‘table_service’.
- Dans la zone ‘Table de clé externe’, sélectionnez l’autre table ‘table_employe’, qui contient la clé étrangère.
- Indiquez ensuite dans chaque cas, le nom du champ faisant référence à la clé primaire et à la clé étrangère.

Cliquez sur le bouton ‘Fermer’ et enregistrez les modifications sur la table.
Les deux tables ‘table_service’ et ‘table_employe’ sont maintenant créées.
Insertion d’enregistrements dans les deux tables
Maintenant que les deux tables sont créées, nous allons insérer des enregistrements dans chacune des tables.
Création d’enregistrements pour la table ‘table_service’
Faites un clic droit sur le nom de la table, puis ‘Ouvrir une table’ et cliquez sur ‘Requête’.

Par défaut, cette rubrique permet de réaliser des requêtes de
sélection de données. Comme notre but est d’insérer des enregistrements, nous
devons modifier le type de requête, pour que celle-ci devienne une requête
d’insertion.
Pour cela, cliquez sur le bouton , puis sélectionnez ‘Insérer dans’.

Il est maintenant possible de réaliser des insertions.
Dans la grille, dans la première colonne, sélectionner le champ ‘nom_service’ et créer la nouvelle valeur ‘informatique’ pour ce champ. Il est inutile de donner
une valeur à la colonne ‘ID_service’ puisque nous l’avons créée comme étant une clé primaire qui s’auto-incrémente à chaque nouvel enregistrement.
Le volet SQL nous permet de visualiser la correspondance en langage SQL.
Cliquez ensuite sur le bouton .
Il permet d’exécuter la requête d’insertion de l’enregistrement.

Faites de même (sélection de la colonne ‘nom_service’) pour insérer d’autres noms de service comme le service commercial ou le service
comptabilité puis cliquez sur le bouton .
Création d’enregistrements pour la table ‘table_employe’
Réalisez les mêmes manipulations que précédemment, par exemple pour enregistrer un nouvel employé :
- Clic droit sur la table ‘table_employe’, puis ‘Ouvrir une table’ et cliquez sur ‘Requête’ ;
- Cliquez sur le bouton , puis sélectionnez ‘Insérer dans’ ;
Réalisez les manipulations comme l’image suivante et cliquez sur le bouton .

Les deux tables ‘table_service’ et ‘table_employe’ possèdent maintenant des enregistrements.
Interrogation des tables (récupération des enregistrements)
Nous allons maintenant vérifier que nos enregistrements sont effectivement créés dans la base.
Pour vérifier cela, dans Enterprise Manager, sur chacune des deux tables, faites un clic droit sur le nom d’une des deux tables,
puis ‘Ouvrir une table’ et cliquez sur ‘Renvoyer toutes les lignes’.
Les enregistrements préalablement créés doivent apparaître en résultat, les tables possèdent donc bien des enregistrements.
Mise en place de l’environnement par le langage Transact-SQL
Définition du langage Transact-SQL
Autrement appelé T-SQL, il s’agit d’une amélioration du langage SQL. Il permet entre autre de créer des procédures stockées ou de
réaliser des expressions conditionnelles (IF..ELSE, WHILE, …).
L’exécution du langage T-SQL peut se faire avec l’analyseur de requêtes SQL.
Cet analyseur permet de vérifier et d’exécuter des requêtes écrites en T-SQL.
Démarrage de l’analyseur de requêtes SQL
L’accès à l’analyseur de requêtes SQL se fait par le menu Démarrer, Programmes, Microsoft Sql Server, Analyseur de requêtes.
A son démarrage, la fenêtre suivante peut apparaître :

Dans la liste déroulante, choisir le nom du serveur où se trouve la base de données correspondant au script que l’on va exécuter, puis
indiquer un nom d’utilisateur ayant les privilèges pour exécuter l’ensemble des requêtes à réaliser.
La fenêtre de l’analyseur de requêtes SQL apparaît alors (voir l’image ci-dessous).
La fenêtre centrale contient le texte des (futures) requêtes qui seront exécutées.

Le bouton permet d’analyser la syntaxe pour vérifier les erreurs de syntaxe.
Le bouton permet d’exécuter la requête.
Création de la base de données
Il faut donc écrire un script qui sera exécuté dans l’analyseur de requêtes, le voici. Il correspond exactement au paramétrage
réalisé lors de la création de la base de données par l’outil Enterprise Manager.
|
/* script : création de la base de données
labo_base */
CREATE DATABASE labo_base
---nom de la base ON
(NAME = labo_base_DataFile01,
--- nom du fichier primaire
FILENAME = 'C:\Program
Files\MicrosoftSQLServer\
MSSQL\data\labo_base_DataFile01_Data.MDF' ,
--- emplacement du chemin
SIZE =
1MB,
--- espace alloué au fichier
FILEGROWTH = 10%),
--- croissance automatique de 10%
FILEGROUP
labo_baseG
--- nouveau groupe de fichiers pour le fichier secondaire
(NAME =
labo_base_DataFile02, -
-- nom du fichier secondaire
FILENAME = 'C:\Program Files\Microsoft SQLServer\
MSSQL\data\labo_base_DataFile02_Data.NDF',
SIZE = 1MB,
LOG ON
(NAME =
labo_base_Log,
--- nom du fichier journal
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\labo_base_Log.LDF' ,
SIZE = 1MB,
FILEGROWTH = 10%) |
Après avoir écrit ce script dans l’analyseur de requête SQL, il faut l’exécuter. Pour cela, cliquez sur le bouton . S’il n’y aucune erreur de syntaxe, la base
de données est créée.
La création de tables
Les deux tables ‘table_service’ et ‘table_employé’ sont créées, mais cette fois-ci à l’aide d’une requête T-SQL.
Elles possèdent les mêmes caractéristiques que précédemment :
- chaque table contiendra une clé primaire ; - la table ‘employé’ contiendra une clé étrangère vers la clé
primaire de la table ‘table_service’
Voici le script à exécuter dans l’analyseur de requêtes. Les types de données et le nom des colonnes sont
identiques à la première méthode (par Enterprise Manager).
|
/* script de création des 2 tables ‘table_service’ et ‘table_employe’ */
USE labo_base
--- nom de la base de données stockant les modifications GO
CREATE TABLE table_service
---nom de la table
(
ID_service int IDENTITY (1, 1) NOT NULL ,
nom_service char(20) NOT NULL,
CONSTRAINT PK_table_service PRIMARY KEY (ID_service) ---clé primaire
GO
CREATE TABLE table_employe
(
ID_employe int IDENTITY (1, 1) NOT NULL,
nom_employe char (20) NOT NULL ,
prenom_employe char (20) NOT NULL ,
date_embauche datetime NULL ,
ID_service_emp int NOT NULL ,
CONSTRAINT PK_table_employe PRIMARY
KEY(ID_service_emp) , ---clé primaire
CONSTRAINT
FK_table_employe_table_service FOREIGN KEY (ID_service_emp) REFERENCES table_service
(ID_service) ---clé étrangère
)
GO |
La propriété IDENTITY génère des valeurs automatiques
(début à la valeur 1, incrément de 1). Elle assure une identification
unique.
Le mot-clé GO marque la fin d’une instruction et
l’exécute.
Pour vérifier la présence de ces
deux nouvelles tables, dans l’explorateur de l’analyseur, étendez la base de
données puis ouvrez le dossier ‘Tables utilisateur’. Elles doivent apparaître
(un petit rafraîchissement ---touche F5--- peut être nécessaire).
Insertion d’enregistrements dans les deux tables
Maintenant que les deux tables sont créées, nous allons
insérer des enregistrements dans chacune des tables, identiques à ceux de la
méthode Enterprise Manager.
Création d’enregistrements
pour la table ‘table_service’
|
/* script de création des enregistrements de la table 'table_service' */ USE labo_base
GO
insert into
table_service(nom_service)
--- insertion nouvelle valeur
values ('informatique')
GO
insert into table_service(nom_service)
values ('commercial')
GO
insert into table_service(nom_service)
values ('comptabilité')
GO |
Cliquez sur le bouton
pour vérifier la syntaxe puis sur le bouton .
Création d’enregistrements pour la table ‘table_employe’
|
/* script de création des enregistrements de la table 'table_employe' */
USE labo_base
GO
insert into table_employe(nom_employe,
prenom_employe,date_embauche, ID_service_emp
--- insertion nouvelle
valeur
values ('Robert', ‘Jean’, 10/05/2000, 1)
GO |
Cliquez sur le bouton pour exécuter la requête.
On peut noter qu’il n’est pas nécessaire d’indiquer les valeurs des clés primaires puisqu’elles sont créées automatiquement, les champs
étant de type IDENTITY.
Interrogation des tables (récupération des enregistrements)
Pour récupérer des données, nous allons effectuer une instruction SELECT.
Voici le script à exécuter pour sélectionner les données de chacune des tables :
|
/* sélection des enregistrements des deux tables */
USE labo_base
GO
Select * from ‘table_service’
--- sélection pour la table
‘table_service’
GO
Select * from ‘table_employe’
GO |
Les enregistrements apparaissent sous forme de grille, dans la fenêtre des résultats.
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|