Ce guide vous expliquera comment initialiser une base de données SQL Server. Il couvrira la création d'un code de base pour cela. Vous pouvez trouver le code source de ce tuto à la fin du guide.
En tant que passionné de bases de données relationnelles, principalement avec MySQL, j'ai écrit des applications en utilisant MySQL (à la fois sur Visual Basic et avec php). Aujourd'hui, je me lance un nouveau défi : apprendre SQL Server pour créer des applications. Dans ce tutoriel, vous découvrirez les bases d'une base de données T-SQL et apprendrez à écrire des triggers avec SQL Server. Nous allons créer une application de base de données simple pour gérer une bibliothèque et les emprunts, ainsi que concevoir des procédures stockées, des triggers et des vues. Vous serez guidé à travers les opérations CRUD pour une meilleure compréhension.
introduction:
SQL Server est un système de gestion de base de données relationnelle développé par Microsoft. Dans cet article, nous allons explorer les bases de SQL Server en utilisant T-SQL (Transact-SQL), un langage de programmation qui étend SQL avec des fonctionnalités supplémentaires. Nous allons créer une base de données pour une bibliothèque, y insérer des données, et effectuer diverses opérations de gestion des données.
Présentation de l'outil nécessaire : SQL Server Management Studio (SSMS)
Pour commencer à travailler avec SQL Server et T-SQL, il est essentiel d'avoir SQL Server Management Studio (SSMS). C'est un environnement intégré pour la gestion de l'infrastructure SQL Server
Création de la Base de Données et des Tables
Pour ce projet, j'ai créé une base de données simple appelée Biblio pour gérer les informations d'une bibliothèque. L'objectif était de mettre en place les tables nécessaires pour stocker les données sur les auteurs, les livres, les inscrits et les emprunts. Ensuite, j'ai rempli ces tables avec des données et j'ai réalisé plusieurs opérations pour gérer ces données, telles que les mises à jour et les suppressions.
J'ai commencé par créer les tables suivantes :
auteur : pour stocker les informations sur les auteurs.
livre : pour stocker les informations sur les livres.
inscrit : pour stocker les informations sur les personnes inscrites à la bibliothèque.
emprunt : pour enregistrer les emprunts de livres par les inscrits.
Voici le code T-SQL que j'ai utilisé pour créer ces tables :
CREATE DATABASE Biblio;
CREATE TABLE auteur (
IDauteur INT PRIMARY KEY IDENTITY,
nom VARCHAR(100),
prenom VARCHAR(100),
naissance DATE
);
CREATE TABLE livre (
IDlivre INT PRIMARY KEY IDENTITY,
titre VARCHAR(200),
genre VARCHAR(50),
IDauteur INT FOREIGN KEY REFERENCES auteur(IDauteur)
);
CREATE TABLE inscrit (
IDinscrit INT PRIMARY KEY IDENTITY,
nom VARCHAR(100),
prenom VARCHAR(100),
dateinscription DATE
);
CREATE TABLE emprunt (
IDemprunt INT PRIMARY KEY IDENTITY,
IDinscrit INT FOREIGN KEY REFERENCES inscrit(IDinscrit),
IDlivre INT FOREIGN KEY REFERENCES livre(IDlivre),
dateemprunt DATE,
dateretour DATE
);
Insertion de Données
Nous allons maintenant insérer des données dans nos tables.
Données pour les auteurs
INSERT INTO auteur (nom, prenom, naissance) VALUES
('Oster', 'Jean-Philippe', '1980-06-15'),
('Nothomb', 'Amélie', '1966-07-13'),
('Musso', 'Guillaume', '1974-06-06'),
('Levy', 'Marc', '1961-10-16'),
('Slimani', 'Leïla', '1981-10-03');
GO
Données pour les livres
INSERT INTO livre (titre, genre, IDauteur) VALUES
('Empreinte de lange', 'Roman', 1),
('Hygiène de l’assassin', 'Roman', 2),
('La Fille de Brooklyn', 'Thriller', 3),
('Et si c’était vrai', 'Roman', 4),
('Chanson douce', 'Roman', 5);
GO
Données pour les inscrits
INSERT INTO inscrit (nom, prenom, dateinscription) VALUES
('El Amrani', 'Omar', '2024-01-15'),
('Bennani', 'Sara', '2024-02-20'),
('Fassi', 'Youssef', '2024-03-05'),
('Lahlou', 'Imane', '2024-04-10'),
('Alaoui', 'Rachid', '2024-05-15'),
('El Mansouri', 'Nadia', '2024-06-20'),
('El Idrissi', 'Khalid', '2024-07-25');
GO
Simples Requêtes pour vérifier
SELECT * FROM auteur;
GO
SELECT * FROM livre;
GO
SELECT * FROM inscrit;
GO
Pour la Gestion des Emprunts
Nous allons maintenant gérer les emprunts de livres.
Insertion des emprunts
INSERT INTO emprunt (IDinscrit, IDlivre, dateemprunt, dateretour) VALUES
(1, 1, '2024-06-01', '2024-06-15'),
(2, 2, '2024-06-05', '2024-06-20'),
(3, 3, '2024-06-10', '2024-06-25'),
(4, 4, '2024-06-15', '2024-06-30'),
(5, 5, '2024-06-20', '2024-07-05'),
-- Plus d'exemples...
(7, 3, '2024-09-30', '2024-10-15'),
(1, 4, '2024-10-01', '2024-10-16'),
(2, 5, '2024-10-05', '2024-10-20');
GO
Sélection des livres actuellement empruntés
SELECT titre, dateretour
FROM livre L
JOIN emprunt E ON L.IDlivre = E.IDlivre
WHERE E.dateretour IS NULL;
GO
Mise à Jour et Suppression de Données
pour le reste des opérations CRUD:
- Mise à jour d'un emprunt
UPDATE emprunt
SET dateretour = '2024-08-15'
WHERE IDemprunt = 10;
GO
SELECT * FROM emprunt;
GO
- Suppression d'un inscrit
DELETE FROM inscrit
WHERE IDinscrit = 44;
GO
Création de Vues
Pour simplifier l'accès à certaines informations, j'ai créé des vues et des procédures stockées. Voici un exemple de vue pour afficher les livres actuellement empruntés :
CREATE VIEW currbook AS
SELECT E.IDemprunt,
I.IDinscrit, I.nom, I.prenom,
L.IDlivre, L.titre, L.genre,
E.dateemprunt, E.dateretour
FROM emprunt E
JOIN inscrit I ON E.IDinscrit = I.IDinscrit
JOIN livre L ON E.IDlivre = L.IDlivre
WHERE E.dateretour > GETDATE();
GO
-- Utilisation de la vue
SELECT * FROM currbook;
GO
Création de Procédures Stockées
première procédure AJTinscrit pour Ajouter un nouvel inscrit
CREATE PROCEDURE AJTinscrit
@nom VARCHAR(100),
@prenom VARCHAR(100),
@dateinscription DATE
AS
BEGIN
INSERT INTO inscrit(nom, prenom, dateinscription)
VALUES (@nom, @prenom, @dateinscription);
END;
GO
-- Exécution de la procédure
EXEC AJTinscrit @nom = 'ech', @prenom = 'nouha', @dateinscription = '2024-07-18';
GO
-- Vérification
SELECT * FROM inscrit;
GO
2ème procédure AJTemprunt pour ajouter des nouveaux emprunts
CREATE PROCEDURE AJTemprunt
@IDinscrit INT,
@IDlivre INT,
@dateemprunt DATE
AS
BEGIN
INSERT INTO emprunt (IDinscrit, IDlivre, dateemprunt)
VALUES (@IDinscrit, @IDlivre, @dateemprunt);
END;
GO
-- Exécution de la procédure
EXEC AJTemprunt @IDinscrit = 7, @IDlivre = 2, @dateemprunt = '2024-07-18';
GO
3ème procédure : RTNlivre
pour mettre à jour les dates de retour des livres.
CREATE PROCEDURE RTNlivre
@IDemprunt INT,
@dateretour DATE
AS
BEGIN
UPDATE emprunt
SET dateretour = @dateretour
WHERE IDemprunt = @IDemprunt;
END;
GO
Conclusion et Prochaines Étapes
Ce fut une expérience enrichissante de travailler avec SQL Server et T-SQL. Je suis excitée de continuer à explorer ces technologies et de vous montrer comment j'implémenterai cette base de données dans une application réelle.
Je prévois de publier une deuxième partie de cet article dans les prochains jours, où je vous expliquerai comment créer des déclencheurs et indexes et aussi comment intégrer cette base de données dans une application. Restez à l'écoute pour plus de détails !
N'hésitez pas à partager vos commentaires ou questions ci-dessous. Merci de votre lecture !
Top comments (0)