Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Valeur
Le schéma d’une base de données relationnel est
l'ensemble des schémas des relations qui la
composent.
Valeurs Null : Dans certains cas la valeur d’un
attribut peut être inconnue ou inexistante, elle est
représenté par une valeur Null. La valeur Null (à
ne pas confondre avec 0) correspond à une
cellule vide dans une table.
Exemple: La date du début du mois hégire
prochain est inconnue aujourd’hui.
Clé Primaire
La clé d’une relation est le plus petit sous-
ensemble des attributs qui permet d’identifier
chaque ligne de manière unique.
Etudiant (CNE, Nom, Prénom)
Clé Etrangère
Un attribut A1 d’une relation R1 est une clé
étrangère de R1 s’il existe une relation R2
possédant une clé primaire K et que A1 a pour
domaine l’ensemble des valeurs de K.
On dit que A1 réfère à la relation R2
Contraintes d’intégrité
Le modèle relationnel impose les contraintes
structurelles suivantes:
• INTÉGRITÉ DE DOMAINE
• INTÉGRITÉ DE CLÉ
• INTÉGRITÉ RÉFÉRENCIELLE
INTÉGRITÉ DE DOMAINE
Les valeurs d'une colonne de relation doivent
appartenir au domaine correspondant.
INTÉGRITÉ DE CLÉ
Les valeurs de clés primaires doivent être :
• uniques
• non NULL
INTÉGRITÉ RÉFÉRENCIELLE
Les valeurs de clés étrangères sont soit 'Null' ou
des valeurs de la clé primaire auxquelles elles
font référence
Passage du modèle EA au modèle relationnel
1. Toute Entité devient une relation dont la clé
primaire est l'identifiant de l'Entité.
2. Une association binaire de fonctionnalité 1:n
disparaît, au profit d’une clé étrangère dans la
relation du côté de cardinalités 0,1 ou 1,1 qui
référence la clé primaire de l’autre table.
3. Une association binaire de fonctionnalité 1:1
disparaît, au profit d’une clé étrangère dans la
relation du côté de cardinalités 1,1.
4. Une association binaire de type n :m ou non
binaire devient une relation supplémentaire dont
la clé primaire est composée des clés étrangères.
Langage de Définition des Données
Le LDD permet de spécifier le schéma d’une
base de données relationnelle. Il correspond à
une partie de la norme SQL (structured query
language).
La définition du schéma d’une BDD se compose
de:
• la description des tables et de leur contenu
• La description des contraintes qui portent sur
les données de la base.
Création de la base de données
Plusieurs SGBDR offrent des interfaces
graphiques conviviales pour la création des bases
de données. Cependant dans plusieurs cas on a
besoin d’utiliser les instructions SQL.
Pour créer une base de données l’instruction est
la suivante:
CREATE DATABASE nomBDD;
Types SQL
Comme on l’a déjà vu, les attributs appartiennent
à des domaines qui indiquent les types de
données.
SQL propose un ensemble de types:
• Caractères fixes
CHAR(l) permet de stocker une chaîne de
caractères de longueur fixe égale à l , maximum
de 2000 Caractères.
• Caractères variables
VARCHAR(l) : permet de stocker une chaîne de
caractères de longueur variable ≤ l , maximum
de 4000 caractères.
• Entiers relatifs
Type Taille
INTEGER 4 octets
SMALLINT 2 octets
BIGINT 8 octets
• Flottants
Type Description Taille
FLOAT Flottants simple précision 4 octets
DOUBLE PRECISION Flottants double précision 8 octets
REAL Flottants simple précision 4 octets
• Date
DATE stocke les informations jour, mois et
année.
TIME stocke les informations heure, minute et
seconde.
DATETIME permet de combiner une date et un
horaire.
Création de Tables
La clause de création de table est:
CREATE TABLE nomTable (champ1 TypeChamp,
champ2 TypeChamp,…, champn
TypeChamp);
Exemple:
CREATE TABLE Etudiant (nom VARCHAR(20),
Prenom VARCHAR(20),
Adresse VARCHAR(100)
Niveau INTEGER)
Contraintes
Le contenu des tables doit respecter des contraintes
pour assurer l’intégrité de la base. Les contraintes
d’intégrité doivent être spécifiées lors de la création
de la table.
1. Si un attribut doit toujours avoir une valeur:
CREATE TABLE T1 ( C1 typeC NOT NULL);
2. Une clé est un ou plusieurs attributs qui
identifient de manière unique un tuple:
CREATE TABLE T1 ( C1 typeC1,
C2 typeC2,
C3 typeC3,
PRIMARY KEY (C1, C2));
Exemples:
• Déclaration de PK par contrainte de colonne
CREATE TABLE ETUDIANT
(CNE CHAR(10) PRIMARY KEY,
nom CHAR(20) NOT NULL,
prenom CHAR(20) NOT NULL,
adresse CHAR(4));
• Déclaration de PK par contrainte de table
CREATE TABLE appartement
(numAppart INTEGER,
Bloc INTEGER,
nbrChambres INTEGER,
PRIMARY KEY (numAppart, Bloc));
3. Si un attribut ou plusieurs à la fois
n’admettent pas de doublons:
CREATE TABLE T1 ( C1 typeC,
C2 typeC,
C3 typeC,
UNIQUE (C2,C3))
4. Si un attribut est clé étrangère qui fait
référence à un tuple d’une autre table
CREATE TABLE T1 ( C1 typeC,
C2 typeC,
C3 typeC,
FOREIGN KEY (C2) REFERENCES T2 )
une clé étrangère ne peut pas faire référence à la clé
primaire d’une autre table qui n’existe ou dont la clause
de création vient après. Parce que les clauses SQL sont
exécutés séquentiellement.
Exemple:
• CREATE TABLE option(
codeOpt INTEGER PRIMARY KEY,
nomOpt VARCHAR(20));
• CREATE TABLE etudiant(
CNE VARCHAR(10) PRIMARY KEY,
nom VARCHAR(20),
prenom VARCHAR(20),
codeOpt INTEGER,
FOREIGN KEY (codeOpt) REFERENCES option);
5. Lors de la destruction (la modification) d’une
ligne de la table référencée on peut soit remettre
à NULL soit appliquer la même modification:
CREATE TABLE T2 ( C1 typeC,
C2 typeC,
C3 typeC,
FOREIGN KEY (C2) REFERENCES T1
ON DELETE CASCADE
ON UPDATE CASCADE
ON DELETE NULL
ON UPDATE NULL)
Modification du schéma de la BDD
La création du schéma de la BDD est une étape
parmi d’autres dans le cycle de vie de la BDD.
On peut à tout moment être amené à ajouter de
nouvelles tables, à ajouter des attributs ou en
modifier la définition. La forme générale de la
clause qui permet de modifier une table est:
ALTER TABLE nomTable ACTION description
Le paramètre ACTION est à remplacer par l’une
des actions possibles ADD, MODIFY, DROP ou
CHANGE. description est la commande de
modification associé à ACTION.
Lors de la modification d’une table il faut
s’assurer que cette modification est compatible
avec le contenu de la table. Il faut respecter le
type de données, la taille de données, les
contraintes d’intégrité.
Modification des attributs
• Ajout d’un nouveau attribut
ALTER TABLE etudiant ADD niveau INTEGER;
Si la table etudiant contient des données la
colonne niveau contiendra des valeurs NULL
pour chaque ligne de données préexistante.
• Modifier un attribut
ALTER TABLE Notes MODIFY valNote FLOAT;
• Renommer un attribut
ALTER TABLE etudiant CHANGE Niveau Niv int;
• Supprimer un attribut
ALTER TABLE etudiant DROP Niveau;
Langage de manupilation des
données (SQL)
SQL est un langage qui permet d’interroger une
base de données sans se soucier de la représentation
interne (physique) des données, de leur localisation,
des chemins d’accès ou des algorithmes
nécessaires.
Il peut être utilisé d’une manière interactive via un
interpréteur ou être associé à un langage de
programmation. Ceci évite la manipulation explicite
des données comme avec un langage de
programmation classique.
Requêtes SQL
• Requête Sélection
La syntaxe de la requête de sélection est la
suivante:
SELECT attributs désirés
FROM une ou plusieurs tables
WHERE condition (sur les tuples de la
table)
Exemple :
SELECT codeN, valNote, CNE FROM Notes
WHERE (valNote>=14);
ou
SELECT * FROM Notes WHERE (valNote>=14);
Le * remplace tous les attributs de la relation Notes.
Renommage:
Les noms des attributs sont par défaut ceux
indiqués dans la clause SELECT, même quand il
y a des expressions complexes. Pour renommer
les attributs, on utilise le mot-clé AS.
SELECT valNote AS note, CNE AS
Code_National FROM Notes WHERE
(valNote>=14);
Concaténation:
Les attributs d’une relation peuvent être concaténés
à d’autres champs ou à des chaînes de caractères.
SELECT
CONCAT( nom, ' ', prenom) AS
nom_Complet,
ville
FROM
etudiants;
Calcul:
La clause SELECT permet aussi de créer des
attributs calculés grâce à des expressions.
SELECT CodeCommande,
CodeProduit,
prixUnitaire*Quantite AS Prix,
FROM detailCommande;
SQL est muni d’un ensemble de fonctions
mathématiques qu’on peut utiliser pour effectuer
certains calculs. Exemples:
• Valeur absolue ABS( Expression)
• Racine carée SQRT(Expression)
Trier:
Les valeurs des attributs de la relation résultante
d’une requête peuvent être triées en utilisant le
mot-clé ORDER BY:
SELECT *
FROM Notes
ORDER BY valNotes;
Enlever les doublons:
Le résultat d’une requête peut contenir des
doublons qu’on peut enlever grâce au mot-clé
DISTINCT.