0% ont trouvé ce document utile (0 vote)
23 vues5 pages

Conception d'une base de données CPI2

Transféré par

farahbelaali24
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues5 pages

Conception d'une base de données CPI2

Transféré par

farahbelaali24
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 PDF, TXT ou lisez en ligne sur Scribd

Conception d’une base de données relationnelle

Modèle E/R

Schéma relationnel :
Professeur(NumProf, NomProf, Salaire, Bureau)
Module(NumMod, NomMod, #NumProfRef) ;
NumProfRef : clé étrangère  Professeur(NumProf)
Etudiant(NumEt, Nom, Prenom, DateNaiss)
Inscrit(#NumEtu, #NumMod, Note) ;
NumEtu : clé étrangère  Etudiant(NumEtu)
NumMod : clé étrangère  Module(NumMod)

1
Schéma de Base de données : CPI2
DDL

Professeur
NumProf NomProf Salaire Bureau

Module
NumMod NomMod NumProfRef

Etudiant
NumEtu Nom Prenom DateNaiss

Inscrit
NumEtu NomMod Note

2
Base de données : CPI2
DML

Professeur
NumProf NomProf Salaire Bureau
1 MAHBOUB 30000 E306
2 YOUSSFI 20000 E404
3 EL YOUNOUSSSI 15000 E302

Module
NumMod NomMod NumProfRef
1 JAVA 2
2 Base de données 3
3 PHP 1
4 UML 2

Etudiant
NumEtu Nom Prenom DateNaiss
103 TAQI NOUHA 01/12/2003
106 NAJIB MAROUA 10/11/2003
108 MIFTAH Omar 02/01/2004
110 ETTALBI AYMANE 05/06/2003

Inscrit
NumEtu NumMod Note
103 3 15
103 2 16
108 2 12
108 1 10

3
PARTIE I - DDL : Requête SQL qui permet de créer le schéma de la base de données

 Création de la base de données :


CREATE DATABASE IF NOT EXISTS CPI2

 Création de la table professeur :


CREATE TABLE Professeur(
NumProf INTEGER,
NomProf VARCHAR(50),
Bureau VARCHAR(10),
Salaire FLOAT
);

 Pour créer la contrainte clé primaire sur la colonne "NumProf" alors que la table professeur
est déjà créée :
Alter TABLE professeur
ADD PRIMARY KEY(NumProf);

 Création de la table module :


CREATE TABLE Module(
NumMod INTEGER PRIMARY KEY,
NomMod VARCHAR(50),
NumProfRef Integer,
FOREIGN KEY (NumProfRef) REFERENCES professeur(NumProf)
);

 Création de la table etudiant :


CREATE TABLE Etudiant(
NumEtu INTEGER,
Nom VARCHAR(50),
Prenom VARCHAR(80),
DateNaiss DATE,
PRIMARY KEY(NumEtu)
);

 Création de la table inscrit


CREATE TABLE Inscrit(
NumEtu INTEGER,
NumMod Integer,
Note FLOAT,
FOREIGN KEY (NumEtu) REFERENCES Etudiant(NumEtu),
FOREIGN KEY (NumMod) REFERENCES module(NumMod)
);

4
 Ajouter la colonne "grade" dans la table professeur
ALTER TABLE professeur
ADD grade Varchar(20);

 Modifier le type de la colonne "grade"


ALTER TABLE professeur
MODIFY grade Varchar(3);

 Supprimer la colonne "grade" de la table professeur


ALTER TABLE professeur
DROP COLUMN grade;

PARTIE II - DML : Requête SQL qui permet d’ajouter des enregistrements dans la
base de données

 Insérer des enregistrements dans la base de données :


INSERT INTO professeur (NumProf, NomProf, Salaire, Bureau)
VALUES(1, "MAHBOUB", 30000, "E306"),
(2, "YOUSSFI", 20000, "E404"),
(3, "EL YOUNOUSSSI", 15000, "E302");

INSERT INTO Module


VALUES(1, "JAVA", 2),
(2, "Base de données", 3),
(3, "PHP", 1),
(4, "UML", 2);

INSERT INTO étudiant


VALUES(103, "TAQI", "NOUHA", "2003-12-01"),
(106, "NAJIB", "MAROUA", "2003-11-10"),
(108, "MIFTAH", "Omar", "2004-01-02"),
(110, "ETTALBI", "AYMANE", "2003-06-05");

INSERT INTO Inscrit


VALUES(103, 3, 15),
(103, 2, 16),
(108, 2, 12),
(108, 1, 10);

Vous aimerez peut-être aussi