Vous êtes sur la page 1sur 65

Bases de données / SQL

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)

• L’utilisation de fichiers impose à l’utilisateur de connaître :


– le mode d’accès (séquentielle, indexée, …)
– la structure physique des enregistrements
– et la localisation
des fichiers qu’il utilise afin de pouvoir accéder aux informations dont il a besoin.

• Pour des applications nouvelles, l’utilisateur devra obligatoirement écrire de


nouveaux programmes et il pourra être amené à créer de nouveaux fichiers qui
contiendront peut-être des informations déjà présentes dans d’autres fichiers.

• Toute modification de la structure des enregistrements (ajout d’un champ par


exemple) entraîne la réécriture de tous les programmes qui manipulent ces
fichiers.
Les limites à l’utilisation des fichiers (2)

• De telles applications sont


– rigides,
– contraignantes
– longues et coûteuse à mettre en œuvre

• Les données associées sont :


– mal définies et mal désignées,
– redondantes
– peu accessibles de manière ponctuelle
– peu fiables
Les limites à l’utilisation des fichiers (3)

• 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.

• Les utilisateurs, quant à eux, ne veulent plus de systèmes d’information constitués


d’un ensemble de programmes inflexibles et de données inaccessibles à tout non
spécialiste; ils souhaitent des systèmes d’informations globaux, cohérents,
directement accessibles (sans qu’ils aient besoin soit d’écrire des programmes soit
de demander à un programmeur de les écrire pour eux) et des réponses
immédiates aux questions qu’ils posent.
Les limites à l’utilisation des fichiers (4)

• Redondance des données et incohérences


• Isolation des données et accessibilité
• Un accès aux données = un programme
• Environnement multi utilisateurs
• Sécurité et protection des données
Les limites à l’utilisation des fichiers (5)

• Source des difficultés avec les fichiers


– Le modèle des données est intégré dans les
programmes
– Absence de contrôle pour l’accès et la
manipulation des données
Notions de bases
Définition intuitive d’une BD (1)
• Définition intuitive : on peu considérer une Base de Données
(BD) comme une grande quantité de données (ou ensemble
d’informations), centralisées ou non, servant pour les besoins
d’une ou plusieurs applications, interrogeables et modifiables
par un groupe d’utilisateurs travaillant en parallèle.

• 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).

– (1) : Organisation et description de données


– (2) : Stockage sur disque
– (3) : Partage des données
– (4) : Confidentialité
– (5) : Performance
Système de gestion de base de
données
o Un système de gestion de base de données (SGBD) est un
logiciel qui permet de manipuler et de gérer les
informations contenues dans une base de données (ex:
MS Access, MySQL, SQL Server, Oracle, …)

o Il est essentiel de séparer la BD effective et le ou les


applications qui la gèrent.
SGBD (1)

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 est un intermédiaire entre les utilisateurs et les fichiers physiques

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)

• Pour les SGBD hiérarchiques et réseaux, les


programmes:
– ne sont pas indépendants de la structure
logique de la base
– doivent indiquer le chemin d'accès aux
données
– utilisent un langage complexe pour travailler
avec les données

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 ?

L'avantage majeur de l'utilisation de bases de données


est la possibilité de pouvoir être accédées par plusieurs
utilisateurs simultanément.
Comment ça marche ?
Comment ça marche ?

26
Comment ça marche ?

27
Types d'utilisateurs

• L'administrateur de la base est chargé :


– du contrôle de la base de données, en particulier,
permettre l'accès aux données aux applications
ou individus qui y ont droit
– de conserver de bonnes performances d'accès à
ces données
– des sauvegardes et des procédures de reprise
après les pannes

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

• Réalisation de la structure dans un SGBD


Implantation • Saisie des données 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

Schéma conceptuel (dans un modèle


de données de haut niveau)
Indépendant du
SGBD
Transformation dans
Un modèle supporté Modèle relationnel
Par un SGBD

Spécifique du Schéma conceptuel (dans un modèle


SGBD de données spécifique d’un SGBD)

Définition de la structure des


données de la base

Structure de la BD sur
ordinateur
Niveau de description d’une base

• Externe : modélisation des Vue Vue Vue


différentes visions de la base par externe externe externe

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

BASES DE DONNÉES ET SGBD


RELATIONNELS
Introduction
• En anglais: Entity-Relationship (ER)
• Modèle de données –> décrire la réalité perçue à travers
les données mises en jeu (indépendamment des
opérations que l’on effectuera ultérieurement dessus).
• But: fournir des outils et un cadre rigoureux pour
l’analyse des données et de leurs liaisons.
• Concepts de base: entité, association, attribut et valeur
(et type de valeur).

36
Exemple: la modélisation conceptuelle de
la publication des articles de journaux

• Optique: conception d’une base de données destinée à conserver


des descriptions d’articles parus dans les 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:

“Une entité est une chose concrète ou abstraite de la


réalité perçue à propos de laquelle on
veut conserver des informations. Une entité a une
existence autonome”.

38
Entité, attribut et valeur (2)

• Chaque entité possède des propriétés particulières


appelées attributs.
• Définition:
– “Un attribut est une caractéristique ou une qualité
d’une entité ou d’une association. Il peut prendre une
(ou plusieurs) valeur (s)”.
– “Une valeur est un symbole utilisé pour représenter
un fait élémentaire”.

39
Entité, attribut et valeur (3)
Exemple d’entité avec ses valeurs d’attribut

Nom = Ali
Prénom = ABD
e1 Adresse = Monastir

Date de naissance = 12 nov 1985

Les attributs peuvent être:


- atomiques. Ex: Prénom, nom, ...
- composés. Ex: Date de naissance
Jour Mois Année
- monovalué (une seule valeur pour une entité donnée).
Ex: Nom, Adresse, Date de naissance.
- multivalué (plusieurs valeurs pour une entité Donnée).
40
Ex: Prénom.
Association

• Une association entre entités est une association perçue


dans le réel entre deux ou plusieurs entités.

• Une association est dépourvue d’existence propre.

• Une commande est liée au client qui l’a passée ; il existe


donc une association entre cette commande et ce client.

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.

– Une association entre deux entités est appelée


association binaire.

– Une association entre trois entités est appelée


association ternaire.

– Une association entre n entités est appelée association


n-aire.
44
Association non binaire (1)

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.

Exemple 1: pour traduire le fait que Irène Curie est la fille


de Marie Curie on pourra utiliser une association A-POUR-
MERE entre les deux entités représentant ces personnes.
A-POUR-MERE
PERSONNE___________________PERSONNE

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:

L’association Appartient entre PROPRIETAIRE et VEHICULE a pour


cardinalités (0,n) du côté de l’entité VEHICULE et (1,n) du côté de
l’entité PROPRIETAIRE car certains véhicules sont abandonnés (0,n)
mais il faut posséder au moins un véhicule pour être propriétaire
(1,n).

Exemple d’association de type n : m

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

Vous aimerez peut-être aussi