Plan
1ère partie : Bases de données
• Introduction aux bases de données et SGBD
• Limite des systèmes de stockage classiques
• Bases de données et SGBD relationnels
• Langages d’interrogation des bases de
données
• SGBD ACCESS
Plan
2ème partie : SQL
• Présentation de l’environnement SQL*Plus
• Langage de Manipulation des données
• Langage de Définition des données
• Langage de contrôle de données
• Mini projet
Des données ? Est ce important pour
vous ?
• Des relevés de banques, de cartes de crédit
• Des carnets d’adresses
• La consommation de téléphone
• Des inscriptions à des clubs, associations,
• Des papiers utiles
• Des horaires et disponibilités de transport
• Des programmes de télé
Des données ? Est ce important pour
vous ?
• Assurer l’accès aux données
• Assurer la sécurité de ces données
– Confidentialité
– Authentification
– Signature digitale
– Intégrité
• Le tout efficacement, rapidement, partout
etc…
Des données ? Est ce important pour
vous ?
• C’est important pour vous…
• C’est impératif pour les entreprises !
Le stockage / l’accès
Un point dans le temps
• 1950-1960
– Des fichiers séquentiels, du ‘batch’
• 1960 – 1970
– Le début des bases de données hiérarchiques
• 1970 – 1980
– La naissance du modèle relationnel
• Début des années 90
– Sql, l’aide à la décision
• Fin des années 90
– Croissance du volume des données, Internet, modèle multi
tiers
Les limites à l’utilisation des fichiers (1)
• La prise de décision est une part importante de la vie d’une société. Mais elle
nécessite d’être bien informé sur la situation et donc d’avoir des informations à
jour et disponibles immédiatement.
• Exemples d’application
– Horaires du train
– Annuaire électronique
– Catalogue électronique d’une bibliothèque
Notions de bases
Définition intuitive d’une BD (2)
• Définition ; une base de données est un ensemble
structuré de données (1) enregistrées sur des supports
accessibles par l’ordinateur (2) pour satisfaire
simultanément plusieurs utilisateurs (3) de manière
sélective (4) en un temps opportun (5).
Définition : Le logiciel qui permet d’interagir avec une BD est Système de Gestion
de Base de Données (SGBD)
SGBD BD
SGBD (2)
Un SGBD facilite
- la gestion de données, avec une représentation intuitive simple sous forme
de table par exemple
- la manipulation de données. On peut insérer, modifier les données et les
structures sans modifier les programmes qui manipulent la base de données
Base de données
Programme 1
Fichier 1
SGBD
Programme 2
Fichier 2
Fichier 3 Programme 3
Fonctions d’un SGBD
• Décrire les données qui seront stockées
• Manipuler ces données (ajouter, modifier, supprimer)
• Consulter les données et traiter les informations
obtenues (sélectionner, trier, calculer,...)
• Définir des contraintes d'intégrité sur les données
(contraintes de domaines, d'existence,... )
• Définir des protections d'accès (mdp, autorisations,...)
• Résoudre les problèmes d'accès multiples aux données
(contrôle de concurrence)
19
Types de SGBD
• SGBD hiérarchique :
– les données sont représentées dans la base sous
la forme d'un arbre
– la structure d'arbre utilise des pointeurs et
détermine le chemin d'accès aux données
• SGBD réseau :
– les données sont représentées dans la base sous
la forme d'un graphe quelconque
– la structure de graphe utilise des pointeurs et
détermine le chemin d'accès aux données
20
Types de SGBD (2)
21
A quoi cela sert-il ?
22
A quoi cela sert-il ?
Une base de données permet de mettre des données à la
disposition d'utilisateurs pour une consultation, une saisie ou
bien une mise à jour, tout en s'assurant des droits accordés à
ces derniers. Cela est d'autant plus utile que les données
informatiques sont de plus en plus nombreuses.
Une base de données peut être locale, c'est-à-dire utilisable
sur une machine par un utilisateur, ou bien répartie, c'est-à-
dire que les informations sont stockées sur des machines
distantes et accessibles par réseau.
23
A quoi cela sert-il ?
26
Comment ça marche ?
27
Types d'utilisateurs
28
• Le programmeur
– écrit des applications qui utilisent la base de
données
– il crée les tables et les structures associées (vues,
index,...) utilisées par ses applications
• L'utilisateur final
– n'a accès qu'aux données qui lui sont utiles en
interrogeant directement les tables ou vues sur
lesquelles l'administrateur lui a accordé des droits
29
Conception d’une BD
30
Cycle de vie d’une base de données
• Collection des informations de la base
Conception (nature et caractéristiques)
• Définition de la structure de la BD
• Recherche d’informations
Utilisation • Mise à jour de la BD
Les étapes de la conception d’une base de données
Monde réel
Modélisation
Modèle entité- association
Conceptuelle
Structure de la BD sur
ordinateur
Niveau de description d’une base
les utilisateurs
• Conceptuel : structure globale des
données de la base qui intègre
les différentes visions externes, conceptuel
sans se soucier des contraintes
(de performance ou autres) liées
à l’implantation
• Interne : manière dont la base est
implantée sur les ordinateurs
interne
33
Démarche de construction d’une BD
relationnelle
Interview Modélisation
Documents Entité association
Schéma logique en
Entité-Association
Transformation
en relationnel
Schéma conceptuel
en relationnel
Le modèle de données : Entité – Association
36
Exemple: la modélisation conceptuelle de
la publication des articles de journaux
• Réalité perçue:
(1) Un éditeur édite des journaux. Il est caractérisé par un nom et une
adresse.
(2) Un journal est édité par un éditeur et publie des articles dans ses
numéros. On conservera le nom du journal et le nom de son
rédacteur en chef.
(3) Un numéro de journal contient une collection d’articles.
(4) Chaque article paru dans un numéro est signé par un auteur. On
désire conserver le titre et un résumé de l’article ainsi que le nom
de son auteur.
(5) Les auteurs sont connus par leur nom, leur prénom, leur adresse et
leur date de naissance.
37
Entité, attribut et valeur (1)
Définition:
38
Entité, attribut et valeur (2)
39
Entité, attribut et valeur (3)
Exemple d’entité avec ses valeurs d’attribut
Nom = Ali
Prénom = ABD
e1 Adresse = Monastir
41
Association
Exemple
42
Propriétés d’une association :
a) Classe fonctionnelle d’une association
Cette propriété décrit le nombre maximum d’occurrences de l’entité B
pour chaque occurrence de l’entité A et inversement. On est ainsi amené
à définir trois classes fonctionnelles d’associations : un à plusieurs, un à
un et plusieurs à plusieurs.
- Association de type 1:1 (ou un-à-un) : si à une occurrence de l’entité E
peut correspondre par l'association A au plus une occurrence de l’entité F
et que, réciproquement à une occurrence de l’entité F ne peut
correspondre au plus qu'une occurrence de l’entité E.
- Association de type 1:n (ou un-à-plusieurs) : si à une occurrence de
l’entité E peut correspondre par l'association A plusieurs occurrences de
l’entité F mais à une occurrence de l’entité au plus une occurrence de
l’entité E.
- Association de type n:n (ou plusieurs-à-plusieurs) : si à une occurrence de
l’entité E peuvent correspondre plusieurs occurrences de l’entité F et
réciproquement.
43
Association
• Dimension d’une association : C’est le nombre d’entités
participant à une association.
Sur un exemple issu du cinéma, l’entité Projections est uniquement entourée d’associations
dont les cardinalités maximales sont 1 côté projections et n de l’autres côté. De plus, la donnée
d’un créneau, d’un film et d’une salle suffit à déterminer une projection unique. On peut donc la
remplacer par une association Projeter branchée aux trois entités salles, créneaux horaires et
45
films. On parle d’association ternaire.
Association non binaire (2)
La difficulté de concevoir une association ternaire (ou plus)
directement est d’établir les bonnes cardinalités. Il est donc conseillé
de passer par un schéma entités-associations dans le quel on ne trouve
que des associations binaires, puis de repérer les entités remplaçables
par des associations.
Contre-exemple: l’entité départs n’est pas remplaçable par une
association ternaire
46
Association non binaire (3)
• Une association peut être branchée à plus de trois entités.
• Il faut vérifier les cardinalités sur un schéma intermédiaire faisant
apparaître à la place une entité occupation et quatre associations
binaires.
Exemple d’association quaternaire ou 4-aire
47
Associations plurielles
• Deux même entités peuvent être plusieurs fois en associations.
• Dans l’exemple suivant issu d’une agence immobilière, une personne peut être
propriétaire, résider principalement ou résider secondairement dans un logement
géré par l’agence.
• Les logements qui ne sont pas gérés par l’agence ne figurent pas dans l’entité des
logements, ce qui explique certaines cardinalités 0 du schéma.
• Nous supposons également qu’un logement n’est détenu que par une seule
personne et que ce propriétaire figure obligatoirement dans l’entité des personnes
48
Association réflexive (1)
C’est une association d’une entité sur elle-même. En effet,
il est parfaitement possible d’établir une association entre
une entité et elle-même, définissant par là une
association cyclique.
49
Association réflexive (2)
Exemple 2:
Dans cet exemple, tout employé est dirigé par un autre employé (sauf
le directeur général) et un employé peut diriger plusieurs autres
employés,
50
ce qui explique les cardinalités sur le schéma.
Cardinalité
• La cardinalité d’une entité par rapport à une association
s’exprime par deux nombres appelés cardinalité minimale
et cardinalité maximale.
• La cardinalité minimale (égale à 0 ou 1) est le nombre de
fois minimum qu’une occurrence d’une entité participe
aux occurrences de l’association.
• La cardinalité maximale indique le nombre de fois
maximum qu’une occurrence de l’entité participe aux
occurrences de la relation.
51
Cardinalité
Remarque:
Le minimum m peut valoir 0, 1 ou un entier
strictement plus grand que 1. Le maximum M peut
valoir 1 ou une valeur n>1, n n’étant souvent pas
précisé de manière numérique, faute de
connaissance suffisante.
52
Cardinalité
Exemple:
53
Cardinalité
Contrainte d’Identité Fonctionnelle (CIF):
Quand on détermine, entre une association et une entité,
une cardinalité présentant les valeurs 0,1 ou 1,1,
l’association est particulière. On l'appellera alors Contrainte
d’identité fonctionnelle (CIF) : Cette association particulière
n’est en général pas nommée. Elle indique que l’une des
entités est totalement déterminée par la connaissance de
l’autre ; par exemple si on connaît une commande bien
précise, on connaît un client bien précis...
54
Identifiant
• Chaque individu d’une entité doit être identifiable de
manière unique.
• Toutes les entités doivent posséder un attribut sans
doublon (çàd ne prenant pas deux fois la même valeur).
• Un identifiant est toujours souligné dans l’entité
55
Diagramme Entité-Association
• Un diagramme Entité-Association (E/A) décrit la structure
d'ensemble d'une base de données en combinant les
objets graphiques suivants :
– des rectangles qui représentent des ensembles d'objets, c'est-à-
dire des entités concrètes ou abstraites (par exemple : lecteur,
ouvrage, compte bancaire, client...)
– des attributs relatifs aux entités (le nom, l'adresse, le titre, la
cote, numéro,...)
– des ellipses, qui représentent des associations ("a emprunté",
"possède le compte", "suit le cours de",...)
– des rôles qui relient les entités aux associations annotés par les
cardinalités.
• Dans
56 ce diagramme les identifiants sont soulignés.
Diagramme Entité-Association
Exemple 1 : Base de données commerciale
57
Diagramme Entité-Association
Exemple 2 : Base de données matrimoniale
58
Diagramme Entité-Association
Exemple 3 : Base de données d’enseignement
59
Généralisation et hiérarchie (1)
• Un ensemble d’entités E1 est un sous-ensemble de E2 si
toute occurrence de E1 est aussi une occurrence de E2.
L’ensemble d’entités E1 hérite des attributs de E2.
• Un ensemble d’entités E est une généralisation de E1, E2,
…En si chaque occurrence de E est seule entité E1, E2, ...,
En.
• Les ensembles E1, E2, ..., En sont des spécialisations de
l’ensemble d’entités E. Les ensembles d’entité E1, E2, … En
héritent des attributs de E et possèdent en outre des attributs
spécifiques qui expriment leur spécialisation.
• Notation "EST-UN" (IS A) : B "EST-UN" A si l’ensemble A
est une extension de B ou B un cas particulier de A.
60
Généralisation et hiérarchie (2)
61
Généralisation et hiérarchie (3)
62
Généralisation et hiérarchie (4)
63
Exemple
• Un avion a un numéro d'immatriculation, un type et une localisation (la ville de
l'aéroport d'attache de l'avion). Chaque type d'avion est décrit par son nom
(Boeing 747, Airbus A340 ...), son poids, sa capacité et son rayon d'action.
• Un technicien de la compagnie a un nom, un matricule, une adresse (la ville de
résidence), un numéro de téléphone, un salaire et est expert sur un ou plusieurs
types d'avion pendant une période donnée (date début et date fin).
• Un pilote est décrit par les mêmes attributs qu'un technicien. De plus il doit
passer un examen médical annuel.
• Chaque avion doit également passer un certain nombre de tests de bon
fonctionnement.
• Chaque test a un numéro qui l'identifie, un nom et une valeur minimale (un seuil
à atteindre). Nous souhaitons conserver la date et l'état de chacun des tests.
• Chaque vol est commandé par un seul pilote et concerne un seul avion. Un vol a
une ville de départ (ville_dep) une ville d'arrivée (ville_arr) et une heure de
départ (h_dep) une heure d'arrivée (h_arr)
64
65