Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque

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 rela…


This content originally appeared on DEV Community and was authored by nuha

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
Image description

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 !


This content originally appeared on DEV Community and was authored by nuha


Print Share Comment Cite Upload Translate Updates
APA

nuha | Sciencx (2024-07-21T16:30:56+00:00) Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque. Retrieved from https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/

MLA
" » Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque." nuha | Sciencx - Sunday July 21, 2024, https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/
HARVARD
nuha | Sciencx Sunday July 21, 2024 » Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque., viewed ,<https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/>
VANCOUVER
nuha | Sciencx - » Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/
CHICAGO
" » Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque." nuha | Sciencx - Accessed . https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/
IEEE
" » Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque." nuha | Sciencx [Online]. Available: https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/. [Accessed: ]
rf:citation
» Ma Première Expérience avec SQL Server et T-SQL : Création d’une Base de Données pour une Bibliothèque | nuha | Sciencx | https://www.scien.cx/2024/07/21/ma-premiere-experience-avec-sql-server-et-t-sql-creation-dune-base-de-donnees-pour-une-bibliotheque/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.