Cours BDD
Cours BDD
Cours BDD
PRENDRE
DECISIONS
Avant de prendre une / des décision (s), une personne a besoin des informations, des connaissances, …
Rôle d’une base de données
La base de données (BDD) est un système qui enregistre des informations.
Bases de données
Exemples de données :
Ensemble des informations relatives à une entreprise;
liste du personnel;
liste des clients;
liste des produits;
dossiers médicaux hospitaliers
Bases de données
Une base de données relationnelle est une base de données structurée suivant les principes de
l’algèbre relationnelle.
De façon informelle, on peut définir le modèle relationnel de la manière suivante :
Données sont organisées sous forme de tables à deux dimensions, encore appelées relations,
dont les lignes sont appelées tuples;
Données sont manipulées par des opérateurs de l’algèbre relationnelle ;
L’état cohérent de la base est défini par un ensemble de contraintes d’intégrité.
Système de Gestion de Base de Données
(SGBD)
Système informatique qui assure la gestion de l’ensemble des informations stockées dans une base
de données.
Système qui permet de gérer une BD partagée par plusieurs utilisateurs simultanément
Système de Gestion de Base de Données
(SGBD)
Un SGBD permet à l’Utilisateur de :
Créer une base de données
Insérer des données
Extraire des données
Mettre à jour les données
Interroger
Administrer
…
Objectifs SGBD
Le plus répandu est SQL : interrogation, mise à jour, contraintes sur la base, droits d’accès...
Résumé
SQL est:
Un langage non procédural, conçu par IBM dans les années 70.
Basée sur l’algèbre relationnelle (opérations ensemblistes et relationnelles).
Normalisé dès 1986,
Constitue le standard aux bases de données relationnelles
SQL(Structured Query Language)
Valeur NULL
Un attribut qui n’est pas renseigné, et donc vide, est dit contenir la valeur ‘NULL’. Cette
valeur n’est pas zéro, c’est une absence de valeur.
Contraintes d’intégrité
Une contrainte d’intégrité est une règle qui permet de contrôler la validité et la cohérence des
valeurs entrées dans les différentes tables de la base.
Elle peut être définie sous deux formes :
Dans les commandes de création des tables.
Au moment de la modification de la structure de la table
SQL : Expression des contraintes
Il existe des contraintes :
Sur un attribut : La contrainte porte sur un seul attribut. Elle suit la définition de l’attribut. Ces
contraintes sont :
NOT NULL : Spécifie que pour toute occurrence, l’attribut doit avoir une valeur (la saisie
de ce champ est obligatoire)
UNIQUE : Toutes les valeurs de l’attribut sont distinctes.
PRIMARY KEY : L’attribut est une clé primaire pour la table et elle peut être remplacée
par UNIQUE et NOT NULL.
REFERENCES table (attribut) : Il s’agit d’une contrainte d’intégrité fonctionnelle par
rapport à une clé ; chaque valeur de l’attribut doit exister dans la table dont l’attribut est
référencé. On utilise cette contrainte pour les clés étrangères.
CHECK: C’est une contrainte associée à une condition qui doit être vérifiée par toutes les
valeurs de l’attribut (domaine des valeurs de l’attribut).
SQL : Expression des contraintes
Il existe des contraintes :
Sur une table : La contrainte porte sur un ensemble d’attributs d’une même table, une virgule
sépare la définition d’une contrainte de table des définitions des attributs. Ces contraintes sont
UNIQUE (attri, attrj,...) : L’unicité porte sur le n-uplet des valeurs.
PRIMARY KEY (attri, attrj,...) : Clé primaire de la table (clé composée).
FOREIGN KEY (attri, attrj, ...) REFERENCES table (attrm, attrn, ...) [ON
DELETE CASCADE] : Désigne une clé étrangère sur plusieurs attributs.
L’option ON DELETE CASCADE indique que la suppression d’une ligne de la table de
référence va entraîner automatiquement la suppression des lignes référencées.
SQL : Le Langage de Définition des
Données: LDD
Définition des schémas de bases de données composées de tables et de vues
Création d’une table
SQL permet de créer des relations sous forme de tables et de définir lors de la
création des contraintes d’intégrité variées sur les attributs.
Une commande de création permet donc de préciser le nom de la table et de définir les
éléments de la table correspondant aux colonnes ou aux contraintes.
SQL : Le Langage de Définition des
Données: LDD
Définition des schémas de bases de données composées de tables et de vues
Création d’une table
Syntaxe:
SQL : Le Langage de Définition des
Données: LDD
Définition des schémas de bases de données composées de tables et de vues
Création d’une table
Exemple:
SQL : Le Langage de Définition des
Données: LDD
Définition des schémas de bases de données composées de tables et de vues
Création d’une table
Exemple:
SQL : Le Langage de Définition des
Données: LDD
Modification d’une table
La définition d’une table ou d’autres éléments du schéma dotés d’un nom peut être modifiée à
l’aide de la commande ALTER.
Ajouter une ou plusieurs colonnes
Syntaxe
SQL : Le Langage de Définition des
Données: LDD
Modification d’une table
Exemple
SQL : Le Langage de Définition des
Données: LDD
Modification d’une table
Modifier le type ou une autre propriété d’une colonne:
Syntaxe
Exemple:
SQL : Le Langage de Définition des
Données: LDD
Modification d’une table
Renommage une table:
Syntaxe
Exemple:
SQL : Le Langage de Définition des
Données: LDD
Modification d’une table
Suppressiond’une table:
Syntaxe
SQL : Le langage d’interrogation de
données: LID
La recherche d’information dans une base de données s’effectue à l’aide de la commande SQL
SELECT
SQL : Le langage d’interrogation de
données: LID
Remarque:
Le caractère *après SELECT indique que toutes les colonnes de la table doivent être prises en
compte.
L'option ALL(par défaut) permet de sélectionner l'ensemble des lignes satisfaisant à la
condition logique.
L'option DISTINCT permet de ne conserver que des lignes distinctes, en éliminant les
doublons.
La clause FROM: permet de spécifier la (ou les) table (s) à interroger.
La clause WHERE: réalise l’opération de restriction de l’algèbre relationnelle en filtrant les
lignes de la table qui répondent au critère de sélection.
Les clauses GROUPBY(grouper les résultats), HAVING (restriction avec condition) et
ORDERBY (tri des résultats par ordre croissant ou décroissant) sont facultatives
SQL : Le langage d’interrogation de
données: LID
Exemples:
SELECT NumAg, NomAg
FROM Agence
WHERE villeAg = ‘Tunis;
Permet de sélectionner les agences (numéro et nom) de la ville de Tunis.
SELECT AVG(solde)
FROM Compte;
Permet de déterminer la moyenne des soldes de tous les comptes
SQL(Structured Query Language)
SQL:
Une syntaxe simple
Un langage Déclaratif/Associatif
Un seul langage pour l’Interrogation, la Manipulation, la Définition et le Contrôle des données
SQL(Structured Query Language)
SELECT :
Toute l’interrogation se fait par la commande « SELECT »
Interrogations simples : relativement intuitive
select prenom, niveau
from personne;
Interrogation complexes :
puissantes mais demandent de la pratique!
SQL(Structured Query Language)
SELECT :
Toute l’interrogation se fait par la commande « SELECT »
Grammaire complète de la commande SELECT :