0% ont trouvé ce document utile (0 vote)
17 vues4 pages

Script SQL pour Gestion de Bibliothèque

Le document présente un script SQL complet pour créer et peupler plusieurs tables d'une base de données, incluant des abonnements, catégories, livres, périodiques, retours, auteurs, emprunts, bibliothèques et utilisateurs. Chaque table est définie avec ses colonnes et types de données, suivie d'instructions d'insertion pour ajouter des données. Les relations entre les tables sont également établies à l'aide de clés étrangères pour assurer l'intégrité des données.

Transféré par

zanakone1205
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues4 pages

Script SQL pour Gestion de Bibliothèque

Le document présente un script SQL complet pour créer et peupler plusieurs tables d'une base de données, incluant des abonnements, catégories, livres, périodiques, retours, auteurs, emprunts, bibliothèques et utilisateurs. Chaque table est définie avec ses colonnes et types de données, suivie d'instructions d'insertion pour ajouter des données. Les relations entre les tables sont également établies à l'aide de clés étrangères pour assurer l'intégrité des données.

Transféré par

zanakone1205
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Voici un script complet qui crée les tables, ajoute les contraintes de clés étrangères et insère

toutes les données en une seule fois. Je vais m'assurer que tout est intégré dans un flux
continu, en veillant à respecter les relations entre les tables tout en évitant les erreurs de
contraintes de clés étrangères.

-- Créer la table abonnements


CREATE TABLE abonnements (
id_ab INT PRIMARY KEY,
type_Abon VARCHAR(50),
date_de_debut_Abon DATE,
date_de_fin_Abon DATE,
date_expiration_Abon DATE,
prix VARCHAR(50),
Statut_Abon VARCHAR(50)
);

-- Insérer des données dans abonnements


INSERT INTO abonnements (id_ab, type_Abon, date_de_debut_Abon,
date_de_fin_Abon, date_expiration_Abon, prix, Statut_Abon)
VALUES
(1, 'Abonnement mensuel', '2024-01-01', '2024-01-31', '2024-02-01',
10.00, 'Actif'),
(2, 'Abonnement annuel', '2024-03-01', '2024-12-01', '2025-03-01',
100.00, 'Actif'),
(3, 'Abonnement trimestriel', '2024-04-01', '2024-06-30', '2024-07-01',
30.00, 'Expiré'),
(4, 'Abonnement mensuel', '2024-05-01', '2024-05-31', '2024-06-01',
12.50, 'Actif'),
(5, 'Abonnement annuel', '2024-06-01', '2024-12-01', '2025-06-01',
120.00, 'Suspendu');

-- Créer la table categories


CREATE TABLE categories (
id_ca INT PRIMARY KEY,
nom_de_la_cat VARCHAR(50),
livres_associés VARCHAR(50)
);

-- Insérer des données dans categories


INSERT INTO categories (id_ca, nom_de_la_cat, livres_associés)
VALUES
(1, 'Fiction', 25),
(2, 'Science-fiction', 18),
(3, 'Classique', 12),
(4, 'Aventure', 20),
(5, 'Philosophique', 10);

-- Créer la table livres


CREATE TABLE livres (
id_li INT PRIMARY KEY,
nom VARCHAR(50),
isbn VARCHAR(50),
genre VARCHAR(50),
Editeur VARCHAR(50),
type_li VARCHAR(50),
id_au INT,
id_ca INT,
prix VARCHAR(50),
Exemplaire VARCHAR(50),
statut VARCHAR(50)
);

-- Insérer des données dans livres


INSERT INTO livres (id_li, nom, isbn, genre, Editeur, type_li, id_au,
id_ca, prix, Exemplaire, statut)
VALUES
(1, 'Les Misérables', '978-2-07-041347-4', 'Roman historique',
'Gallimard', 'Broché', 1, 1, 19.99, 5, 'Disponible'),
(2, 'Harry Potter à l\'école des sorciers', '978-0-7475-3269-9',
'Fantasy', 'Bloomsbury', 'Relié', 2, 2, 22.50, 10, 'Emprunté'),
(3, '1984', '978-0-452-28423-4', 'Dystopie', 'Harcourt', 'Poche', 3, 3,
14.99, 7, 'Disponible'),
(4, 'Cien años de soledad', '978-0-06-088328-7', 'Réalisme magique',
'HarperCollins', 'Broché', 4, 4, 16.75, 3, 'Disponible'),
(5, 'Kafka sur le rivage', '978-2-07-040738-1', 'Fantastique', 'Seuil',
'Relié', 5, 5, 18.00, 2, 'En retard');

-- Créer la table periodique


CREATE TABLE periodique (
id_pe INT PRIMARY KEY,
titre VARCHAR(50),
frequence VARCHAR(50),
date_de_pub DATE,
date_de_fin DATE
);

-- Insérer des données dans periodique


INSERT INTO periodique (id_pe, titre, frequence, date_de_pub, date_de_fin)
VALUES
(1, 'Le Monde', 'Quotidien', '2024-01-01', '2024-12-31'),
(2, 'Science & Vie', 'Mensuel', '2024-01-01', '2024-12-31'),
(3, 'L\'Express', 'Hebdomadaire', '2024-01-04', '2024-12-31'),
(4, 'National Geographic', 'Mensuel', '2024-02-01', '2024-12-31'),
(5, 'Le Figaro', 'Quotidien', '2024-01-01', '2024-12-31');

-- Créer la table retours


CREATE TABLE retours (
id_re INT PRIMARY KEY,
date_de_retour VARCHAR(50),
etat_du_livre VARCHAR(50)
);

-- Insérer des données dans retours


INSERT INTO retours (id_re, date_de_retour, etat_du_livre)
VALUES
(1, '2024-02-01', 'Bon état'),
(2, '2024-02-15', 'Légèrement abîmé'),
(3, '2024-03-01', 'Très bon état'),
(4, '2024-03-05', 'Couverture déchirée'),
(5, '2024-03-10', 'Bon état');

-- Créer la table auteur


CREATE TABLE auteur (
id_au INT PRIMARY KEY,
nom VARCHAR(50),
Adresse VARCHAR(50),
pays VARCHAR(50),
id_li INT,
FOREIGN KEY (id_li) REFERENCES livres(id_li)
);
-- Insérer des données dans auteur
INSERT INTO auteur (id_au, nom, Adresse, pays, id_li)
VALUES
(1, 'Victor Hugo', '6 Place des Vosges, Paris', 'France', 1),
(2, 'J.K. Rowling', 'The Closes, Edinburgh, Scotland', 'Royaume-Uni',
2),
(3, 'George Orwell', '27B Canonbury Square, Londres', 'Royaume-Uni',
3),
(4, 'Gabriel García Márquez', 'Calle de la Castellana, Bogotá',
'Colombie', 4),
(5, 'Haruki Murakami', '1-1-1, Kamiyama-cho, Tokyo', 'Japon', 5);

-- Créer la table Emprunts


CREATE TABLE Emprunts (
id_em INT PRIMARY KEY,
date_Emprunt DATE,
date_Retour_prevue VARCHAR(50),
id_li INT,
id_ut INT,
id_ab INT,
id_re INT,
date_Retour_reelle VARCHAR(50),
statut VARCHAR(50),
FOREIGN KEY (id_li) REFERENCES livres(id_li),
FOREIGN KEY (id_ut) REFERENCES users(id_ut),
FOREIGN KEY (id_ab) REFERENCES abonnements(id_ab),
FOREIGN KEY (id_re) REFERENCES retours(id_re)
);

-- Créer la table Bibliotheque


CREATE TABLE Bibliotheque (
id_bi INT PRIMARY KEY,
nom VARCHAR(50),
adresse VARCHAR(50),
id_li INT,
ville VARCHAR(50),
id_ca INT,
FOREIGN KEY (id_li) REFERENCES livres(id_li),
FOREIGN KEY (id_ca) REFERENCES categories(id_ca)
);

-- Insérer des données dans Bibliotheque


INSERT INTO Bibliotheque (id_bi, nom, adresse, id_li, ville, id_ca)
VALUES
(1, 'Bibliothèque de Paris', '12 rue de la République, Paris', 1,
'Paris', 1),
(2, 'Bibliothèque Municipale de Lyon', '8 avenue des Halles, Lyon', 2,
'Lyon', 2),
(3, 'Bibliothèque de Marseille', '4 rue de l\'Opéra, Marseille', 3,
'Marseille', 3),
(4, 'Bibliothèque de Toulouse', '10 rue de la Gare, Toulouse', 4,
'Toulouse', 4),
(5, 'Bibliothèque Nationale de Lille', '22 avenue de la Liberté,
Lille', 5, 'Lille', 5);

-- Créer la table users


CREATE TABLE users (
id_ut INT PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(50),
Date_de_naissance DATE,
Adresse VARCHAR(50),
numero VARCHAR(50),
Email VARCHAR(50),
id_ab INT,
id_em INT,
date_Abonnement DATE,
date_inscription DATE,
FOREIGN KEY (id_ab) REFERENCES abonnements(id_ab),
FOREIGN KEY (id_em) REFERENCES Emprunts(id_em)
);

-- Insérer des données dans users

INSERT INTO users (id_ut, nom, prenom, Date_de_naissance, Adresse, numero, Email, id_ab, id_em,
date_Abonnement, date_inscription)

VALUES

(1, 'Dupont', 'Jean', '1985-05-10', '12 rue de la Liberté, Paris', '0601020304',


'[Link]@[Link]', 1, 1, '2024-01-01', '2024-01-10'),

(2, 'Martin', 'Claire', '1990-07-15', '34 avenue des Champs-Élysées, Paris', '0612345678',
'[Link]@[Link]', 2, 2, '2024-02-01', '2024-02-10'),

(3, 'Bernard', 'Pierre', '1980-03-20', '56 boulevard Saint-Germain, Paris', '0623456789',


'[Link]@[Link]', 3, 3, '2024-03-01', '2024-03-05'),

(4, 'Lemoine', 'Sophie', '1995-11-30', '78 rue de la République, Lyon', '0634567890',


'[Link]@[Link]', 4, 4, '2024-04-01', '2024-04-10'),

(5, 'Durand', 'Luc', '1988-09-25', '90 avenue de l\'Opéra, Marseille', '0645678901',


'[Link]@[Link]', 5, 5, '2024-05-01', '2024-05-07');

Vous aimerez peut-être aussi