0% ont trouvé ce document utile (0 vote)
84 vues30 pages

Si BD Mip4 LDD

Transféré par

samrihanaa
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)
84 vues30 pages

Si BD Mip4 LDD

Transféré par

samrihanaa
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

Parcours MIP

S4

Faculté des Sciences et Techniques de Tanger


2022-2023

1
Introduction à SQL (LDD)
1. Introduction à SQL
2. Langage de définition des données (LDD)
3. Exemple d’application

3
1. Introduction à SQL

 SQL (Structured Query Language)

SQL (Structured Query Language) : C’est un langage de manipulation de


bases de données mis au point dans les années 70 par IBM. Il permet,
pour résumer, trois types de manipulations sur les bases de données :

•La définition et maintenance des tables :


Création, suppression, modification de la structure des tables.
•Les manipulations des bases de données :
Lecture, modification, suppression d'enregistrements.
•La gestion des droits d'accès aux tables :
Contrôle des données : droits d'accès, validation des modifications.

4
1. Introduction à SQL

 Rappel : étapes de réalisation d’une BD

MCD MLD MPD

MPD est un modèle de données découlant d’un modèle logique qui


spécifie les détail d’implémentation du modèle logique dans un SGBD,
Le MPD est implémenté grâce à un langage de définition de données.

 SQL (LDD) : langage de définition de données

Permet la création et la définition des tables, vues, attributs. Pour définir le


schéma de BD on a les commandes :

- Déclaration de tables, des vues


- Déclaration de contraintes d'intégrités (clé primaire, et clés étrangères)
- Déclaration des droits d'accès (Base de données avancée)
5
1. Introduction à SQL

Terminologie

Colonne
 Correspond à un attribut
 Parfois clé ou identificateur

Ligne
 Correspond à un enregistrement
 Possède tous les attributs

Valeur NULL
 Valeur inconnue
 Valeur non encore rentrée
 Valeur inapplicable

6
1. Introduction à SQL

Terminologie

 Clefs primaires (primary Keys)

 Il s’agit d’un identifiant unique à valeur obligatoire


 Dans une table une clef unique peut être créée à partir de
plusieurs attributs ou plusieurs identifiants
 Permet l’accès à une ligne d’une table

 Clefs étrangères(foreign keys)


 Se dit d’une clef qui est référencée dans une autre table
 exemple

COMMANDE(NUMCMD, NOM, #NUMCLI)

CLIENT(NUMCLI, NOMCLI)

7
1. Introduction à SQL

Langage de définition de schémas


 CREATE TABLE
ALTER
 DROP
 RENAME
 DESC

Langage de manipulation de données


 SELECT
 INSERT
 UPDATE
 DELETE

Langage de contrôle de données

8
2. Définition des schémas (LDD)

 Création de tables:

Syntaxe 1:
CREATE TABLE <nom table>
<colonne1> <format1> [option1],
<colonne2> <format2> [option2],

 Syntaxe 2:
CREATE TABLE <nom table> <colonne1><colonne2>…..as
<requête>

Format Type
Valeur numérique INT, INTEGR(x), NUMBER(x), NUMBER(x,y)
Chaine de caractère CHAR(n), VARCHAR(n)
Date DATE

9
2. Définition des schémas (LDD)

 Création de tables:
 Syntaxe 1:
CREATE TABLE <nom table>
<colonne1> <format1> [option1],
<colonne2> <format2> [option2],

 Syntaxe 2:
CREATE TABLE <nom table> <colonne1><colonne2>…..as
<requête>

option Signification
NOT NULL Obligation de donner une valeur
UNIQUE Interdit deux même valeurs pour une même colonne
PRIMARY KEY Clé primaire
REFERENCES <table>(col) Clé étrangère, établit une relation avec une autre table via sa clé
primaire
DEFAULT Définit une valeur par défaut
10
2. Définition des schémas (LDD)

 Définition de schéma de bas de données : Exemple


MCD

Editeurs Ouvrages
Correspondre
NumEditeur Numouvrage
Nom 0,n 0,1 Title
Prenom

MLD

Editeurs Ouvrages
NumEditeur Numouvrage
Nom Title
Prenom #NumEditeur

11
2. Définition des schémas (LDD)

Création de tables: exemple

CREATE TABLE EDITEURS


( NumEditeur NUMBER(5) PRIMARY KEY,
Nom CHAR(10) NOT NULL,
Prénom CHAR(10) );

CREATE TABLE OUVRAGES


( Numouvrage NUMBER(5) PRIMARY KEY,
Title CHAR(30),
NumEditeur NUMBER(5) REFERENCES EDITEURS(NumEditeur),
);

12
2. Définition des schémas (LDD)

 Modification de schéma : Alter table


 Ajout d’attributs : syntaxe

ALTER TABLE <nom_table>


ADD( <colonne1> <format1> [option1],
<colonne2> <format2> [option2], …. );

 Exemple
ALTER TABLE Auteurs ADD (Nationalité char(10) NOT NULL );

 Modification d’attributs : syntaxe


ALTER TABLE <nom table>
MODIFY <colonne1> …. <nouveau format>;

 Exemple
ALTER TABLE Auteurs MODIFY Nationalité char(100);

On ne peut pas diminuer la longueur d’une colonne contenant déjà des


valeurs.
13
2. Définition des schémas (LDD)

 DROP, RENAME TO, DESC

 Suppression d’une table :DROP TABLE


Exemple :
DROP TABLE nom_table;

 Renommer une table RENAME TO


Exemple:
ALTER TABLE nom_table RENAME TO nouveau_nom_table:

 Afficher le contenu d’une table : DESC


Exemple :
DESC nom_table;
3. Application

On considère le modèle Logique de données (MLD)


suivant:

Client(code_cli, nom, prenom, ville)


Commande(num_cmd, date, #code_cli)
Produit(code_art, designation, qte_st, pu)
contenu_commande(#num_cmd,#code_art, qte_cmd)
facture(num_fact, date_fact, #code_cli)
3. Application (TD5)

1. Créer la table client sans signaler que code_cli est une clé primaire ;
2. Modifier la table client pour que code_cli soit clé primaire ;
3. Ajouter le champ adresse à la table client
4. Modifier la taille de ce champ ;
5. Supprimer le champ adresse;
6. Créer la table commande en signalant que num_cmd est une clé primaire ;
7. Créer la table Produit en signalant que code_art est une clé primaire ;
8. Créer la table contenu_commande sans créer les relations;
9. Mettre en relation les tables Commande, Produit et Contenu_commande;
10. Ajouter la relation entre la table Client et la table Commande;
11. Créer la table facture(num_fact,date_fact,#code_cli)
12. Supprimer cette table de la base de données ;
3. Application (TD5)

1) Créer la table client sans signaler que code_cli est une clé primaire ;

• create
Table Client (Code_cli integer, Nom_cli char(40),
Prenom_cli char(50), ville char(60));
3. Application (TD5)

2) Modifier la table client pour que code_cli soit clé primaire ;

Alter Table Client add constraint Pk Primary Key(Code_cli);


3. Application (TD5)

3) Ajouter le champ adresse à la table client

Alter Table Client add adresse char(50);


3. Application (TD5)

4) Modifier la taille de champ adresse ;

Alter Table Client Alter column adresse char(70);


3. Application (TD5)

5) Supprimer le champ adresse;

Alter Table Client drop adresse;


3. Application (TD5)

6) Créer la table commande en signalant que num_cmd est une clé primaire ;

create Table Commande( num_cmd integer constraint pk


Primary Key, date_cmd Date, code_cli integer);
3. Application (TD5)

7) Créer la table Produit en signalant que code_art est une clé primaire ;

create Table Produit( code_art integer constraint pk Primary


Key, designation char( 100), qte_stck integer,pu float);
3. Application (TD5)

8) Créer la table contenu_commande sans créer les relations;

create Table Contenu_commande( num_cmd integer, code_art


integer, qte_cmd integer, constraint pk Primary Key(num_cmd,
code_art));
3. Application (TD5)

9) Mettre en relation les tables Commande, Produit et Contenu_commande (gestion


des clés étrangères);

Alter Table Contenu_commande add constraint fk1 Foreign


Key(num_cmd) references Commande(num_cmd), constraint fk2
Foreign Key(code_art) references Produit(code_art);
3. Application (TD5)

10) Ajouter la relation entre la table Client et la table Commande;

Entre la table Client et Commande : Alter Table


Commande add constraint
fk3 Foreign Key(code_cli) references Client(code_cli);
3. Application (TD5)

11) Créer la table facture(num_fact,date_fact,#code_cli)

Entre la table Facture et Client : Create Table


Facture (num_fac integer,
date_fact Date, code_cli integer, constraint fk4 Foreign key(code_cli)
references Client(code_cli));
3. Application (TD5)

12) Supprimer cette table de la base de données ;

Drop Table Facture;


Exercice d’application:

Nous considérons le schéma de base de données ci-dessous


MPD , Créer le code SQL (LDD) permettant de créer la
base de données :

29
Exercice d’application :

1. Créer la table categories telle que ID_CAT et NOM_CAT sont Non null.
2. Créer la table produits telle que ID_PROD, DESIGNATION, PRIX,
QUANTITE, PROMO sont Non null.
3. Ajouter la clé primaire de la table produits, puis la clé primaire de la
table catégories .
4. Ajouter une clé étrangère la table produits, référençant la clé primaire de
la table catégories .
5. Alimenter la table catégories .
6. Alimenter la table produits .
7. Supprimer la table categories .

30

Vous aimerez peut-être aussi