Rôle d’une base de données
PRENDRE
DECISIONS
Qu’est-ce qu’une personne a besoin avant de prendre des décisions?
Rôle d’une base de données
Avant de prendre une / des décision (s), une personne a besoin des informations, des connaissances, …
Rôle d’une base de données
Où, trouve-t-on des informations?
Rôle d’une base de données
Si les informations sont éparpillées?
Risques:
Erreurs
oublie,
…
Solutions
Centraliser les informations
Organiser les informations
Une banque de données commune, entièrement centralisée: Bases de données
Bases de données
Une base de données est:
Un ensemble structuré de données apparentées qui modélise un univers réel
Une collection de données stockées dans des fichiers et accessibles à la demande pour
plusieurs utilisateurs et des besoins divers.
Les BD ont une place essentielle dans l'informatique
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
Aujourd’hui, il existe plusieurs catégories principales de BD :
Relationnelles
Hiérarchiques
orientées réseau
orientées objet
orientées documents
Nous allons étudier dans ce cours les BD relationnelles.
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
Masquer les aspects de stockage.
Indépendance logique
Indépendance physique
Gérer efficacement les données.
Faciliter l'extraction et l'ajout d'information.
Optimiser les traitements de l’information.
Assurer la sécurité des données.
Éviter les conflits lors d’exploitation partagée.
Système de Gestion de Base de Données
(SGBD)
On distingue trois niveaux dans un SGBD :
Le niveau physique (interne) : façon dont les données sont stockées sur un support physique.
Le niveau logique : définition et gestion de l’ordonnancement des informations (MCD,
MLD).
Le niveau externe : interface avec l’utilisateur (vues, outils de saisie, états).
Système de Gestion de Base de Données
(SGBD)
Exemples de SGBD:
Microsoft Access
Oracle
SQL Server
MySQL
PostgreSQL
Nous allons étudier dans ce cours MySQL
Système de Gestion de Base de Données
(SGBD)
Pour manipuler les données, le serveur propose un langage d’interrogation.
Le plus répandu est SQL : interrogation, mise à jour, contraintes sur la base, droits d’accès...
Résumé
Pourquoi utiliser une base de données?
Différence entre fichier et base de donnée?
A quoi sert un SGBD?
Quel est l’interêt d’utiliser un SGBD?
SQL(Structured Query Language)
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)
Ce langage permet l’accès aux données et se compose de quatre sous-ensembles
Le Langage de Définition de Données : LDD (Data Definition Language DDL) : Ce langage
permet la définition et la mise à jour de la structure de la base de données (tables, attributs,
vues, index, ...).
Le Langage d’Interrogation de Données : LID : Ce langage permet de rechercher des
informations utiles en interrogeant la base de données. Certains considèrent ce langage comme
étant une partie du LMD.
Le Langage de Manipulation de Données : LMD (Data Manipulation Langage DML) : Ce
langage permet de manipuler les données de la base et de les mettre à jour.
Le Langage de Contrôle de Données : LCD (Data Control Langage DCL) : Ce langage
permet de définir les droits d’accès pour les différents utilisateurs de la base de données, donc
il permet de gérer la sécurité de la base et de confirmer et d’annuler les transactions.
SQL(Structured Query Language)
SQL est un langage permettant de:
Créer la structure de la base de données et de ses table
Exécuter les tâches de base de la gestion des données, telle que l’insertion, la modification et
la suppression de données des tables
Effectuer des requêtes simples ou complexe.
SQL : Expression des contraintes
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 :