Bases de données
I. Introduction
Hassan SAADAOUI
saadaoui.h@[Link] 1
Saadaoui.h@[Link] Base de données
Plan
Plan
I. Introduction aux Bases de Données
• Préliminaire
• Système de Gestion de Bases de Données
• Niveaux de représentation d'une Base de Données
• Principaux modèles de données
• Pincipales Architectures
II. Modèle Conceptuel de Données (MCD)
• Définitions
• Règles de construction et Normalisation
III. Modèle Relationnel
• Concepts de hase du modèle relationnel
• Passage du MCD au modèle relationnel
IV. Langage SQL
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
1. Information & Donnée
Définitions :
Information : c'est un élément de connaissance concernant
des faits, des sujets ou des éléments particuliers.
Donnée : représentation conventionnelle d’un élément de
connaissance que traite l’ordinateur.
Exemple :
Informations concernant un client : le nom, le prénom l'adresse, le
tel...
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
2. Besoins :
- Persistance de données.
- Quantité très importante de données à gérer.
- Cohérence de données, intégrité...
- Non redondance de données.
Organisation logique et physique des données
indépendamment des traitements.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
3. Historique
Historiquement, l’information a vu deux approches :
• Approche système de fichiers
• Approche base de données
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
➢ Approche système de fichiers :
• Utiliser un ensemble de fichiers de données.
• Définir les données en fonction des traitements (dépendance
données/programmes).
• Toute application a ses propres fichiers.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
Exemple : Pour gérer l'ensemble des données d'une entreprise, chaque service définit
ses fichiers en fonction de ses besoins.
• Fichier Client : service Gestion des clients
(Code_client, Nom_client, N°rue, ville)
• Fichier Commande: service Commercial
(N°commande, date_commande, total_commande, code_client, nom_client,,
adresse)
• Fichier Détail commande : service Commercial
(N°commande, N°ligne_commande, code_produit, Prix_unitaire,
Qté_commandée)
• Fichier Produit : service Gestion de stock
(Code_produit, libellé_produit, Prix_unitaire, Qté_en_stock)
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
Inconvénients:
•Redondance de données Risque d’incohérence de données
lors de la m.à.j des fichiers.
•Difficulté des traitements (consultation et m.à.j)
•Pas d’intégrité:
-On peut passer une commande d’un client qui n’existe pas
dans le fichier [Link]
-Total commande donnée calculée...
•Tout contrôle sur les valeurs des données doit être traité par les
programmes
•Manque de confidentialité...
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
I. Préliminaire
➢ Approche base de données :
•Date de 1963-63
•Représentation fidèle du monde réel.
•Intégration des données dans un seul fichier (la Base de Données).
•Indépendance données/programmes.
•Gestion d’une quantité importante de données.
•Organisation et gestion de la BD réalisées par un logiciel
spécifique.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
II. Base de données
1. Définition :
Une base de données (BD) est un ensemble structuré de
données peu redondantes que possible enregistrés
(stockées) sur des supports accessibles par l’ordinateur de
façon à être indépendantes des programmes qui les
utilisent.
Par exemple, dans une entreprise constituée de plusieurs
services (service commercial, service d'approvisionnement,
etc.), la BD sera partagée et utilisée par différents services
qui n’ont pas les mêmes besoins.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
II. Base de données
Remarque
Ne
: pas confondre Base de données et banque de données
Base de données
. :
•ensemble d'informations d'une entreprise ou administration
crée pour des besoins de gestion.
•données de natures différentes (relatives aux clients, produits,
employés...).
Banque de données :
•rassemble des informations relatives à un domaine
(économique, médical, géographique...) de mémo nature et de
même structure. Par exemple : banque de données documentaire.
•l'utilisateur ne connaît pas ce qu'il cherche (recherche au moyen
d'une clé...).
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
III. Système de gestion de Base de
données
1. Définition :
Le SGBD est un logiciel (ensemble de programmes) permettant
à un utilisateur d’interagir avec une base de données.
Le SGBD assure la création et l’exploitation des BD.
A titre d’exemple, il permet aux utilisateurs de créer une BD,
extraire, modifier ou supprimer des données...
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
III. Système de gestion de Base de
données
Le SGBD assure notamment l’interface entre la BD physique
et les programmes d’application (Pl, P2, P3...) qui réalisent
des accès, des traitements et des m.à.j.
Contrairement aux programmes utilisés avec les fichiers
classiques, on ne connaît pas l’implantation physique des
données.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
III. Système de gestion de Base de
données
2. Fonctions d'un SGBD :
•Intégration des données sans redondance
•Partage des données
•Intégrité des données
•Indépendance données/programmes
•Sécurité des données
•Confidentialité...
Saadaoui.h@[Link] Base de données
IV. Les différents niveaux de
représentation
d’une Base de Données
3 niveaux de représentation d’une base de données :
•le niveau interne (schéma physique)
•le niveau conceptuel (schéma conceptuel)
•le niveau externe (le schéma externe).
Saadaoui.h@[Link] Base de données
IV. Les différents niveaux de
représentation
d’une Base de Données
Niveau interne :
• Existence physique
• Comment les données sont stockées sur le disque dur
• Formats de stockage
Niveau conceptuel :
• Décrire d’une manière abstraite l’ensemble des données
• Organisation logique des données
• Élaboration d’un schéma conceptuel : modèle de données.
Niveau externe :
• Vision de tout ou partie du schéma conceptuel par un groupe d’utilisateurs
concerné par une application
• Sous-schéma conceptuel, mais il peut apporter plus d’informations.
Saadaoui.h@[Link] Base de données
IV. Les différents niveaux de
représentation
d’une Base de Données
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Modèle de données : description logique des données
et des relations qui les associent.
-Il existe plusieurs modèles de données :
•le modèle hiérarchique,
•le modèle réseau,
•le modèle relationnel
•et récemment le modèle objet.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Le modèle hiérarchique :
•Les données et les relations entre elles sont
représentées selon une arborescence ordonnée
descendante.
•Ce modèle utilise des pointeurs entre les différents
enregistrements. Il s'agit du premier modèle de
SGBD
•Les premiers systèmes datent des année 60.
Exemple IMS (pour Information Management
System) d'IBM.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Exemple
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Le modèle réseau modèle :
▪ Les enregistrements sont liés par des traits
formant un graphe.
▪ Offre plus de liaisons (associations) entre
les données.
▪ Normalisé par le groupe CODASYL :
Conference On Data Systems Languages en
1971
Exemple IDS : Integrated Data Store
▪ Formalisme du modèle réseau :
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Exemple
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Le modèle relationnel :
•Inventé par CODD à IBM en 1970.
•Repose sur le principe de relation (au
sens mathématique) entre les données
•Traduire le modèle Entité-Association
(modèle schématique) en un modèle réel.
•Données structurées en des tables.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Exemple
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
V. Les principaux modèles de données
Le modèle objet :
•Date des années 90 et repose sur le
concept d’objet.
•Chaque entité est représentée par un
objet.
•Représentation fidèle du monde réel.
•Standard ODMG-93 proposé par Object
Database Management Group.
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
VI. Principales Architectres
Architecture Client-Serveur
L'environnement client-serveur
désigne un mode de
communication à travers un
réseau entre machine client et
machine serveur : le client
envoie des requêtes ; le serveurs,
attendent les requêtes des clients
et y répondent.
27
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
VI. Principales Architectres
Inconvénients de l’architecture client/serveur
• Si trop de clients veulent communiquer avec le
serveur au même moment, ce dernier risque de
ne pas supporter la charge.
• Si le serveur n'est plus disponible, plus aucun des
clients ne fonctionne.
• Les coûts de mise en place et de maintenance
peuvent être élevés.
28
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
VI. Principales Architectres
Architecture Architecture trois-tiers
29
Saadaoui.h@[Link] Base de données
Introduction aux Bases de Données
VI. Principales Architectres
Architecture Architecture trois-tiers
Dans l'architecture à 3 niveaux (appelée architecture 3-tier), il
existe un niveau intermédiaire, c'est-à-dire que l'on a
généralement une architecture partagée entre :
• Un client, c'est-à-dire un ordinateur demandeur de
ressources, équipée d'une interface utilisateur (généralement
un navigateur web) chargée de la présentation
• Le serveur d'application (appelé également middleware),
chargé de fournir la ressource mais faisant appel à un autre
serveur
• Le serveur de données, fournissant au serveur d'application
les données dont il a besoin.
30
Saadaoui.h@[Link] Base de données