Nothing Special   »   [go: up one dir, main page]

Cours BDD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 38

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 :

Vous aimerez peut-être aussi