Vous êtes sur la page 1sur 42

1.

LE LANGAGE SQL
PARTIE DDL

Contacter nous sur:

Follow us on: Instagram


Like and subscribe to: Facebook page
Subscribe to: YouTube Channel

@zeekzone_hz Zeek Zone – SQL Zeek Zone


Plan
• Chapitre 1 Introduction générale
• Chapitre 2 Le modèle E/A

Les lies vers les autres PDF


• Chapitre 3 Le modèle relationnel
• Chapitre 4 Présentation des données
• Chapitre 5 L’algèbre relationnelle
• Chapitre 6 Le langage SQL

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Chapitre 1
Introduction générale

I. Notions intuitives
II. Objectifs et avantages des SGBD
III. L’architecture ANSI/SPARC
IV. Notion de modélisation des données
V. Survol des différents modèles de
données
VI. Bref historique,
principaux SGBD commercialisés

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


I- Notions intuitives

• Base de données
Ensemble structuré de données apparentées qui
modélisent un univers réel.
Une BD est faite pour enregistrer des faits, des
opérations au sein d'un organisme
(administration, banque, université, hôpital, ...).
Les BD ont une place essentielle dans l'informatique


@zeekzone_hz Zeek Zone – Base de données Zeek Zone
Système de Gestion de Base de Données
(SGBD)
DATA BASE MANAGEMENT SYSTEM
(DBMS)

Système qui permet de gérer une BD partagée par


plusieurs utilisateurs simultanément

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


@zeekzone_hz Zeek Zone – Base de données Zeek Zone
@zeekzone_hz Zeek Zone – Base de données Zeek Zone
La multiplication des fichiers entraînait la
redondance des données, ce qui rendait difficile
les mises à jour.
D'où l'idée d'intégration et de partage des
données

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


II- Objectifs et avantages des SGBD

• Que doit permettre un SGBD ?


a- Décrire les données
indépendamment des applications (de manière
intrinsèque)
⇒ langage de définition des données
DATA DEFINITION LANGUAGE (DDL)

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


b- Manipuler les données

Interroger et mettre à jour les données sans


préciser d'algorithme d'accès  dire QUOI sans
dire COMMENT langage de requêtes déclaratif

ex.:
quels sont les noms des produits de prix < 100 Dhs ?
⇒ langage de manipulation des données
DATA MANIPULATION LANGUAGE (DML)

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


c- Contrôler les données

Intégrité: vérification de contraintes d'intégrité

ex.: le salaire doit être compris entre 400 Dhs et


20000 Dhs?

Confidentialité: contrôle des droits d'accès,


autorisation

⇒ langage de contrôle des données


DATA CONTROL LANGUAGE (DCL)
@zeekzone_hz Zeek Zone – Base de données Zeek Zone
d- Partage
une BD est partagée entre plusieurs
utilisateurs en même temps
⇒ contrôle des accès concurrents
notion de transaction
L'exécution d'une transaction doit préserver
la cohérence de la BD

e- Sécurité
reprise après panne, journalisation

f- Performances d'accès
index (hashage, arbres balancés ...)
@zeekzone_hz Zeek Zone – Base de données Zeek Zone
g- Indépendance physique
Pouvoir modifier les structures de stockage ou
les index sans que cela ait de répercussion au
niveau des applications
Les disques, les méthodes d’accès, les modes
de placement, le codage des données ne sont
pas apparents

h- Indépendance logique
Permettre aux différentes applications d’avoir
des vues différentes des mêmes données
Permettre au DBA de modifier le schéma
logique sans que cela ait de répercussion au
niveau des applications
III- L’architecture ANSI/SPARC
Le niveau externe
Le concept de vue permet d'obtenir l'indépendance
logique
La modification du schéma logique n’entraîne pas la
modification des applications (une modification des vues
est cependant nécessaire)
Chaque vue correspond à la perception d’une partie des
données, mais aussi des données qui peuvent être
synthétisées à partir des informations représentées dans
la BD (par ex. statistiques)

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Le niveau conceptuel
il contient la description des données et des
contraintes d’intégrité (Dictionnaire de Données)
le schéma logique découle d’une activité de
Modélisation

Le niveau interne
il correspond aux structures de stockage et aux
moyens d’accés (index)

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Pour résumer :
Les fonctions des SGBD
• DEFINITION DES DONNEES
⇒ Langage de définition des données (DDL)
(conforme à un modèle de données)
• MANIPULATION DES DONNEES
Interrogation
Mise à jour
insertion, suppression, modification
⇒ Langage de manipulation des données (DML)
(langage de requête déclaratif)
• CONTRÔLE DES DONNEES
Contraintes d'intégrité
Contrôle des droits d'accès
Gestion de transactions
⇒ Langage de contrôle des données (DCL)
IV Notion de modélisation des données

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Le modèle Entité-Association
(MCD)

EA en français, ER en anglais (pour Entity


Relationship):

Formalisme retenu par l'ISO pour décrire l'aspect


conceptuel des données à l’aide d’entités et
d’associations

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Le concept d’entité
Représentation d’un objet matériel ou immatériel,
d’utilité pour l’application et ayant une existence
propre.

Exemple:
• un employé,
• un projet,
• un étudiant…

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


• Les entités peuvent être regroupées en types
d’entités

Par exemple, on peut considérer que tous les projets


particuliers sont des instances du type d’entité
générique PROJET.

Alors l’employé nommé PFE X est une instance ou


occurrence de l’entité PROJET.
@zeekzone_hz Zeek Zone – Base de données Zeek Zone
Les propriétés:
Données élémentaires relatives à une entité

Par exemple, un numéro d’employé, une date de début de


projet

• On ne considère que les propriétés qui intéressent un


contexte particulier (pertinentes);

• Les propriétés d’une entité sont également appelées


Des attributs, ou des caractéristiques de cette entité

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


L’identifiant
Propriété ou groupe de propriétés qui sert à identifier une
entité.
L’identifiant d’une entité est choisi par l’analyste de
façon à ce que deux occurrences de cette entité ne
puissent pas avoir le même identifiant.

Par exemple, le numéro d’employé sera l’identifiant de


l’entité EMPLOYE. EMLOYE
Numéro
Nom
Prénom

@zeekzone_hz Zeek Zone – Base de données Zeek Zone
L’association
Représentation d’un lien entre deux entités ou plus.

Une association peut avoir des propriétés particulières.

Par exemple, la date d’emprunt d’un livre.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Les cardinalités
La cardinalité d’une association pour une entité constituante
est constituée d’une borne minimale et d’une borne maximale :
• Minimale : nombre minimum de fois qu’une occurrence de
l’entité participe aux occurrences de l’association,
généralement 0 ou 1
• Maximale : nombre maximum de fois qu’une
occurrence de l’entité participe aux occurrences de
l’association, généralement 1 ou n

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


• La cardinalité 0,3 indique qu’un adhérent peut être
associé à 0, 1, 2 ou 3 livres, c’est à dire qu’il peut
emprunter au maximun 3 livres.
• A l’inverse un livre peut être emprunté par un seul
adhérent, ou peut ne pas être emprunté.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Lien fonctionnel 1:n

Une instance de A ne peut être associée qu'à une seule


instance de B.
Par exemple :

Un employé ne peut travailler que dans un département

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Lien hiérarchique n:1

Une instance de A peut être associée à plusieurs


instances de B
Inverse d'un lien 1:n

Un département emploie généralement plusieurs


employés

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Lien maillé n:m

Une instance de A peut être associée à plusieurs instances


de B et inversement
Par exemple:

De ce schéma, on déduit qu’un employé peut participer à


plusieurs projets.
@zeekzone_hz Zeek Zone – Base de données Zeek Zone
Diagramme Entité Association

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Propriétés
Une propriété n’existe que pour décrire des entités ou des
associations (elle n’a pas de signification propre)
Une propriété admet une valeur simple (atomique)
Exemples :
L’âge d’une personne
La quantité d’un article dans une facture
Le prix d’un produit

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Entités et types d’entités
• Une entité représente un objet concret ou abstrait du monde
réel
• Exemples :
• Une personne
• Un client
• Un produit
• Un type d’entités définit un ensemble particulier d’entités.
• Chaque entité appartient à un type d’entités
• Les entités forment des occurrences de leurs types

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Règles de définition des types d’entités
• Il existe 3 principales règles qui doivent être respectées
lors de la définition d’un type d’entités

• La règle d’identification (Identifiant)


• La règle de pertinence des propriétés
• La règle de non répétitivité des propriétés

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


La règle d’identification
• Chaque entité doit disposer d’un sous-ensemble de
propriétés qui permettent de l’identifier de façon unique.
• Cet ensemble de propriétés est appelé : clé ou identifiant.
• Deux entités ne peuvent pas avoir la même valeur pour la
clé.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


La règle d’identification : Exemple

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Les différentes sortes de clé
• Naturelle : c’est une propriété qui fait partie de l’entité
• Exemple : Dans le type d’entités qui décrit des pays, le nom du pays peut
jouer le rôle de clé naturelle.
• Artificielle : c’est une propriété créée spécialement pour jouer
le rôle de clé.
• Exemple : le numéro d’un produit, le numéro d’un employé,… etc.
• Composite : formée de plusieurs propriétés ou une
concaténation de plusieurs propriétés.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Les différentes sortes de clé
• Exemple :
• Le nom et prénom des employés (si nous sommes sûrs que deux
employés ne peuvent pas avoir le même nom et le même prénom)
• Le code CIN
• Le numéro CNE.
• … Etc.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Les associations et types d’associations
• Une association décrit un lien sémantique entre des
entités du monde réel.
• Un type d’association décrit les caractéristiques d’un
ensemble particulier d’associations.
• Un type d’association peut être binaire ( relie deux types
d’entités) ou n-aires (relie n types d’entités).
• Une association peut être décrite par des propriétés mais
ne dispose pas de clé.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Exemple
Tennis : joue et gagne

Déterminer les cardinalités des relations jouer et gagner dans le cas d'un
tournoi.

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


Exercice 2: Consultation médical
On vous donne le MCD représentant des visites dans un centre médical.

1- Un patient peut-il effectuer plusieurs consultations ?


2- Un médecin peut-il recevoir plusieurs patients dans la même consultation?
3- Peut-on prescrire plusieurs médicaments dans une même consultation ?
4- Deux médecins différents peuvent-ils prescrire le même médicament ?

@zeekzone_hz Zeek Zone – Base de données Zeek Zone


solution :
1- Un patient peut-il effectuer plusieurs consultations ?
En effet, la cardinalité 1,n indique qu'il peut en prendre plusieurs.

2- Un médecin peut-il recevoir plusieurs patients dans la même consultation ?


Non, les cardinalités 1,1 de part et d'autre de l'entité consultation indique qu'une
consultation ne peut avoir qu'un seul et unique patient avec un seul et unique
médecin.

3- Peut-on prescrire plusieurs médicaments dans une même consultation ?


Oui, les cardinalité 0,n entre la consultation et le médicament précisent qu'à une
consultation donnée, on peut prescrire aucun, un ou plusieurs médicaments.

4- Deux médecins différents peuvent-ils prescrire le même médicament ?


Bien sur, un patient peut prendre plusieurs consultations (cardinalités 0,n) avec des
médecins différents (pas de contrainte entre le patient et le médecin qui traduirait un
médecin référent !)

@zeekzone_hz Zeek Zone – Base de données Zeek Zone

Vous aimerez peut-être aussi