Offres Optimales Microsoft
Bienvenue sur le Laboratoire SUPINFO des technologies Microsoft !
Nous sommes étudiants et travaillons sur des centaines de projets sur les technologies Microsoft.
Nous préparons la migration de ce portail vers les technologies SharePoint 2010.
L'équipe du Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

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

0,2/5

Mauvais


63080
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.




En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft