• Aucun résultat trouvé

II : Création de la Base de Données

N/A
N/A
Protected

Academic year: 2022

Partager "II : Création de la Base de Données"

Copied!
13
0
0

Texte intégral

(1)

I : Introduction :

II : Création de la Base de Données

:

Lancer Easy Php

Ouvrir MySql (Administration/PhpMyAdmin) Onglet SQL Exécuter une réquête.

Pour créer une base de données : CREATE DATABASE NOM_BASE Pour supprimer une base de données : DROP DATABASE NOM_BASE

Chapitre IV: Langage SQL

(2)

III : Création d’une Table:

Les Types de données :

Entier : INT(N) : un entier de n chiffres max (unsigned : Entier non signé =positif) Réel : Decimal (N,M) un réel de N chiffres max dont M sont après la virgule Float, Double, Real

Caractère ; char

Chaîne de caractères : varchar (N) avec N est le nombre max de caractères Date : Date

Heure : Time

Date et heure : Datetime

(3)

Les contraintes :

Application N°1 :

1) Créer la BD Gestion_Formation

2) Créer les tables de la base ainsi que les relations entre elles.

(4)

---Table Participant--- CREATE TABLE PARTICIPANT (

CODE_P VARCHAR (4) PRIMARY KEY, NOM_P VARCHAR(20) NOT NULL, PRENOM_P VARCHAR(20) NOT NULL, DATE_NAISS DATE NOT NULL,

ADRESSE VARCHAR (50) NOT NULL, TEL_P INT(8),

NIVEAU VARCHAR (20));

---Table Module--- CREATE TABLE MODULE(

CODE_MOD VARCHAR (4),

LIBELLE_MOD VARCHAR(20) NOT NULL, COEFFICIENT_MOD REAL,

PRIMARY KEY(CODE_MOD) )

---Table Inscription--- CREATE TABLE INSCRIPTION(

CODE_P VARCHAR (4) REFERENCES PARTICIPANT (CODE_P), CODE_MOD VARCHAR (4) REFERENCES MODULE (CODE_MOD), NOTE DECIMAL (4,2) DEFAULT 0 CHECK (NOTE >=0),

PRIMARY KEY(CODE_P,CODE_MOD)) ---Table Enseignant--- CREATE TABLE ENSEIGNANT(

CODE_ENS VARCHAR (4) ,

NOM_ENS VARCHAR(20) NOT NULL, PRENOM_ENS VARCHAR(20) NOT NULL, TEL_ENS INT(8) NOT NULL,

SPECIALITE VARCHAR (20) NOT NULL,

(5)

CODE_MOD VARCHAR (4) REFERENCES MODULE(CODE_MOD) ON DELETE CASCADE ,

PRIMARY KEY (CODE_ENS));

Application N°2 :

1) Créer la BD Gestion_Stage

2) Créer les tables de la base ainsi que les relations entre elles.

Schéma de la base de données Gestion_Stage : Etudiant (NumET, NomET, Institut)

Entreprise (NumEps, NomEps, AdresseEps)

Stage (NumStage, Sujet, Service, Date, Duree, #NumET, #NumEps) ---Table Etudiant---

CREATE TABLE ETUDIANT (

NUM_ET INT (5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_ET VARCHAR (20) NOT NULL,

INSTITUT VARCHAR (40) NOT NULL)

---Table Entreprise--- CREATE TABLE ENTRPRISE(

(6)

NUM_EPS INT (5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_EPS VARCHAR (20) NOT NULL,

ADRESSE_EPS VARCHAR (40) NOT NULL) ---Table Stage--- CREATE TABLE STAGE(

NUM_STG INT (5) UNSIGNED AUTO_INCREMENT, SUJET VARCHAR (20) NOT NULL,

SERVICE VARCHAR (30) NOT NULL, DATE DATE NOT NULL,

DUREE INT (3),

NUM_ET INT(5) REFERENCES ETUDIANT(NUM_ET) ON DELETE CASCADE, NUM_EPS INT (5) REFERENCES ENTREPRISE(NUM_EPS) ON DELETE CASCADE , PRIMARY KEY (NUM_STG))

Application N°3 :

On souhaite créer une base de données ″ Gestion des projets ″ pour une entreprise.

Le schéma relationnel d’une telle base est :

Employé (Num_Emp, Nom_Emp, Prenom_Emp, Adr_Emp, Tel_Emp, grade, #Num_serv) Service (Num_serv, Nom_serv, responsable, Tel_serv)

Projet (Num_pr, Nom_pr, date_deb, date_fin, #Num_serv).

Créer la base de données ″Gestion_Projet″ ainsi que les tables et les relation entre elles.

CREATE DATABASE GESTION_PROJET ---Table Service---

CREATE TABLE SERVICE (

NUM_SERV INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_SERV VARCHAR (20) NOT NULL,

RESPONSABLE VARCHAR (20) NOT NULL, TEL_SERV INT(4) NOT NULL UNIQUE );

---Table Employé--- CREATE TABLE EMPLOYE(

(7)

NUM_EMP INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_EMP VARCHAR (20) NOT NULL,

PRENOM_EMP VARCHAR (20) NOT NULL, ADR_EMP VARCHAR (50) NOT NULL, TEL_EMP INT(8),

GRADE CHAR NOT NULL,

NUM_SERV INT(5) REFERENCES SERVICE(NUM_SERV) ON DELETE CASCADE);

---Table Projet--- CREATE TABLE PROJET(

NUM_PR INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, NOM_PR VARCHAR (20) NOT NULL,

DATE_DEB DATE NOT NULL,

DATE_FIN DATE NOT NULL CHECK (DATE_FIN > DATE_DEB),

NUM_SERV INT(5) REFERENCES SERVICE(NUM_SERV) ON DELETE CASCADE);

Application N°4 :

On souhaite créer une base de données ″ Gestion d’une bibliothèque″. Le schéma relationnel d’une telle base est :

Abonné (Num_Ab, Nom_Ab, Prenom_Ab, adr_Ab, Tel_Ab) Auteur (Num_Aut, Nom_Aut, Adr_Aut).

Livre (Num_Livre, Titre, Date_Edition, Nb_Exemplaire, #Num_Aut) Emprunt (Num_Ab, Num_Livre, Date_Emprunt, Date_Retour)

Créer la base de données ″Gestion_Bibliotheque″ ainsi que les tables et les relation entre elles.

CREATE DATABASE GESTION_BIBLIO ---Table Abonné---

CREATE TABLE ABONNE(

NUM_AB INT ( 4 ) UNSIGNED PRIMARY KEY , NOM_AB VARCHAR( 20 ) NOT NULL ,

PRENOM_AB VARCHAR( 20 ) NOT NULL , ADR_AB VARCHAR( 50 ) NOT NULL , TEL_AB INT( 8 ) );

---Table Auteur---

(8)

CREATE TABLE AUTEUR(

NUM_AUT INT( 4 ) UNSIGNED PRIMARY KEY , NOM_AUT VARCHAR( 20 ) NOT NULL ,

ADR_AUT VARCHAR( 50 ) NOT NULL) ---Table Livre---

CREATE TABLE LIVRE (

NUM_LIVRE INT (4) UNSIGNED PRIMARY KEY, TITRE VARCHAR (30) NOT NULL,

DATE_EDITION DATE NOT NULL,

NB_EXEMPLAIRE INT (4) NOT NULL DEFAULT 0 CHECK (NB_EXEMPLAIRE >= 0), NUM_AUT INT (5) NOT NULL REFERENCES AUTEUR (NUM_AUT) ON DELETE CASCADE)

---Table Emprunt--- CREATE TABLE EMPRUNT (

NUM_AB INT (4) UNSIGNED REFERENCES ABONNE (NUM_AB) ON DELETE CASCADE, NUM_LIVRE INT (4) UNSIGNED REFERENCES LIVRE (NUM_LIVRE) ON DELETE

CASCADE,

DATE_EMPRUNT DATE NOT NULL,

DATE_RETOUR DATE NOT NULL CHECK (DATE_RETOUR >= DATE_EMPRUNT), PRIMARY KEY (NUM_AB,NUM_LIVRE))

(9)

IV : Modification de la structure d’une Table:

Toutes les modifications seront faites sur la base de données

Gestion_Formation 1- L’Ajout d’une colonne :

Exemple : Ajouter le champ Email pour la table PARTICIPANT

ALTER TABLE PARTICIPANT ADD COLUMN (EMAIL VARCHAR (50) ) 2- Modification d’une colonne

Elargir la taille du champ EMAIL et le rendre not null :

ALTER TABLE PARTICIPANT MODIFY EMAIL VARCHAR (80) NOT NULL

3- Suppression d’une colonne

(10)

ALTER TABLE PARTICIPANT DROP COLUMN EMAIL 4- L’Ajout de contraintes d’intégrités :

Supposons que la table PARTICIPANT a été créée sans clé primaire

ALTER TABLE PARTICIPANT ADD PRIMARY KEY (CODE_P) 5- Suppression de contraintes d’intégrités :

ALTER TABLE PARTICIPANT DROP PRIMARY KEY V : Suppression d’une Table:

DROP TABLE NOM_TABLE Exemple :

DROP TABLE PARTICIPANT

S’il ya une dépendance avec une autre table, il est recommandé de les supprimer avant de supprimer la table. C’est le cas par exemple s’il ya des clés étrangères.

LES REQUETES SQL

A/ Insertion des données : (BD : Gestion_Formation)

Pour remplir toutes les colonnes (l’ordre des colonnes est très important) :

INSERT INTO NOM_TABLE VALUES (‘valeur 1’, ‘valeur 2’, …,‘valeur n’)

Pour remplir quelques colonnes (dans ce cas l’ordre des colonnes n’est pas important) :

INSERT INTO NOM_TABLE (Colonne1, colonne2,colonnes 3) VALUES (‘valeur 1’, ‘valeur 2’,‘valeur 3’)

Les champs de type VARCHAR doivent être entre guillemets (‘’).

(11)

Insérer les champs suivants :

TABLE PARTICIPANT

INSERT INTO PARTICIPANT VALUES (‘P001’, ‘BEN ALI’, ‘ALI’, ‘1990-01-01’, ‘TUNIS’, 98111111, ‘BTS’)

INSERT INTO PARTICIPANT VALUES ('P002', 'BEN AHMED', 'MOUHAMED', '1998-02-28', 'SFAX', 22123456, 'BTP')

INSERT INTO PARTICIPANT VALUES ('P003', 'LOUMI', 'SARRA', '1991-03-15', 'BIZERTE', 50456789, 'BTP')

INSERT INTO PARTICIPANT (CODE_P, NOM_P, PRENOM_P,DATE_NAISS,ADRESSE) VALUES ('P004', 'MANSOURI', 'HAJER', '1992-12-27', 'NABEUL')

INSERT INTO PARTICIPANT VALUES (‘P005’, ‘TOUNSI’, ‘LOBNA’, ‘1990-11-13’, ‘SFAX’, 21334455, ‘BTS’)

(12)

INSERT INTO PARTICIPANT VALUES (‘P006’, ‘BEN SALAH’, ‘NADER’, ‘1992-09-25’,

‘TUNIS’, 52 556 677, ‘BTP’)

TABLE MODULE

INSERT INTO MODULE VALUES ('M001','ALGO',4) INSERT INTO MODULE VALUES ('M002','BD',3)

INSERT INTO MODULE VALUES ('M003',INTERNET,2) INSERT INTO MODULE VALUES ('M004','RESEAU',2) INSERT INTO MODULE VALUES ('M005',’TIC’,1) TABLE ENSEIGNANT

INSERT INTO ENSEIGNANT VALUES ‘E001’, HAMDI’, SAMI’, 8989898, SECURITE’,

‘M004’)

INSERT INTO ENSEIGNANT VALUES ('E002','KHEMILI','MEHER',20202020,'DEV','M001') INSERT INTO ENSEIGNANT VALUES ('E003', 'MEHOUACHI', 'RIADH',50505050, ’SGBD', 'M002')

INSERT INTO ENSEIGNANT VALUES ('E004', ’NAFATI', ’HENDA’ ,96969696, 'MULTIMEDIA', 'M003')

INSERT INTO ENSEIGNANT VALUES ('E005','RIAHI','SAMIRA',22222222,'G_L','M001') INSERT INTO ENSEIGNANT VALUES ('E006','SEFI','SOFIENE',55555555,'SYST','M002') TABLE INSCRIPTION

INSERT INTO INSCRIPTION VALUES (‘P001’,’M001’,12) INSERT INTO INSCRIPTION VALUES (‘P001’,’M002’,13) INSERT INTO INSCRIPTION VALUES (‘P001’,’M003’,15) INSERT INTO INSCRIPTION VALUES (‘P001’,’M004’,7.5) INSERT INTO INSCRIPTION VALUES (‘P001’,’M005’,11) INSERT INTO INSCRIPTION VALUES (‘P002’,’M001’,10) INSERT INTO INSCRIPTION VALUES (‘P002’,’M002’,9) INSERT INTO INSCRIPTION VALUES (‘P002’,’M003’,6)

(13)

INSERT INTO INSCRIPTION VALUES (‘P002’,’M004’,12) INSERT INTO INSCRIPTION VALUES (‘P002’,’M005’,6) INSERT INTO INSCRIPTION VALUES (‘P003’,’M001’,14) INSERT INTO INSCRIPTION VALUES (‘P003’,’M002’,15) INSERT INTO INSCRIPTION VALUES (‘P003’,’M003’,12) INSERT INTO INSCRIPTION VALUES (‘P003’,’M004’,11) INSERT INTO INSCRIPTION VALUES (‘P003’,’M005’,9) INSERT INTO INSCRIPTION VALUES (‘P004’,’M001’,8) INSERT INTO INSCRIPTION VALUES (‘P004’,’M002’,7) INSERT INTO INSCRIPTION VALUES (‘P004’,’M003’,9) INSERT INTO INSCRIPTION VALUES (‘P004’,’M004’,8) INSERT INTO INSCRIPTION VALUES (‘P004’,’M005’,6) INSERT INTO INSCRIPTION VALUES (‘P005’,’M001’,12) INSERT INTO INSCRIPTION VALUES (‘P005’,’M002’,12) INSERT INTO INSCRIPTION VALUES (‘P005’,’M003’,15) INSERT INTO INSCRIPTION VALUES (‘P005’,’M004’,14) INSERT INTO INSCRIPTION VALUES (‘P005’,’M005’,11) INSERT INTO INSCRIPTION VALUES (‘P006’,’M001’,11) INSERT INTO INSCRIPTION VALUES (‘P006’,’M002’,7) INSERT INTO INSCRIPTION VALUES (‘P006’,’M003’,13) INSERT INTO INSCRIPTION VALUES (‘P006’,’M004’,12) INSERT INTO INSCRIPTION VALUES (‘P006’,’M005’,15)

Références

Documents relatifs

DEUG en DROIT EN ARABE MOHAMED EL AISSAOUI mohamed.elaissaoui10@ump.ac.ma DEUG en DROIT EN ARABE ABDELKARIM EL MASOUDI abdelkarim.elmasoudi@ump.ac.ma DEUG en DROIT EN ARABE

SELECT Client.noClient, nomClient, noTéléphone, noCommande FROM Client NATURAL JOIN Commande. La jointure avec NATURAL JOIN est faite sur les colonnes de même

event idevent INT title VARCHAR(50) content LONGTEXT place VARCHAR(50) start_at DATE finish_at DATE created_at DATETIME updated_at DATETIME security_statut

Write an email to the Secretary General of the United Nations requesting to join the.. “One Million Email Campaign” to eradicate illiteracy and poverty from

and “task priority hour.” The overall knowledge work hours in a particular workday can be split into two categories: one during which email is given the highest priority,

The theory was applied to Email a number of times, in particular for email classification based on the sender’s intent [1][2][6], focus detection of threaded email conversations [7],

In addition to explaining the reasons why a particular response led to an intervention, we would also like to be able to inform participants about what responses would be

Le site https://www.ip2location.com/free/email-tracer est intéressant, car il permet de copier directement le code source d’un mail afin de visualiser son trajet, et donc de voir