Fichiers et Bases de Données
Maha Sliti Maitre Assistante en Télécommunications
ISTIC 2018-2019
1
PLANNING
○Cours 1: Introduction aux bases de données
○Cours 2: Modèle Entité-Association (EA)
○Cours 3: Modèle Relationnel et passage EA-Relationnel
○Cours 4: Algèbre Relationnelle
○Cours 5: Langage SQL LDD-LMD
○Cours 6: Langage SQL LCD
2
3
VOUS ALLEZ APPRENDRE À:
○ Identifier le rôle des bases de données
○ Définir une base de données
○ Définir Définir le le système système de de gestion gestion des des bases bases de de données
○ Identifier les fonctionnalités d’un système de gestion des bases de données
4
INTRODUCTION
○1) Les informations dans l’entreprise
5
INTRODUCTION
○ 2) Où peut on trouver les informations?
6
INTRODUCTION
○ 3) Si les informations sont éparpillées….
7
SYSTÈME DE TRAITEMENT DE FICHIERS
○ Stockage des informations dans des fichiers …
○ Fichiers – – Stockage Stockage persistant persistant sur sur le le disque disque – « Gros » volume de données – Langage de programmation et SGF – Mono-utilisateur (en général)
8
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ une entreprise doit conserver un volume élevé d’information: · noms, adresses, salaire, adresse des fournisseurs, quantités, prix des items, bilan financier, etc.
○ Ces informations se retrouvent dans différents systèmes de traitement de fichiers. · – Système de gestion des stocks, système de
facturation, système de préparation de paie, programme de gestion de personnel, etc.
9
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Pour obtenir une information, l’employé doit déterminer le système à consulter → Perte de temps
○ De De plus, plus, certaines certaines informations informations sont sont souvent souvent conservées en plusieurs endroits. – Duplication de données – Gaspillage au niveau du volume de fichiers.
10
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Résumons le système décentralisé…
○ Principaux problèmes de ce système: – Redondance de certaines informations – Ne Ne peut peut répondre répondre rapidement rapidement aux aux demandes demandes d’information provenant de fichiers multiples. – Coûts élevés pour les modifications (plusieurs
systèmes)
11
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Avec le temps, il y aura… – Accroissement inutile de: → de l’ensemble des fichiers; → de la taille des fichiers; → des des temps temps d’accès. d’accès. – Code développé par différents programmeurs et
écrits dans différents langages. – Formats de fichiers différents – Inconsistance des données – Lourd à supporter
12
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Redondance et inconsistance des données – Informations identiques répliquées dans
plusieurs fichiers. – Ex: Institution financière → Adresse Adresse et et téléphone téléphone d’un d’un employé employé
▪ dans le fichier du système de paie
▪ dans le fichier de gestion du personnel
– Accroissement inutile : → de la taille des fichiers; → des temps d’accès.
13
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
– Risque d’inconsistance des données si le
changement d’adresse ne s’effectue pas dans les deux fichiers.
○ ○ Difficulté Difficulté d’accès d’accès aux aux données données – Il faut un programme spécifique pour toute
nouvelle demande d’information. – Ex : Estimation pour l’augmentation de 10% sur
le prix des items vendus du mois dernier. – Le temps d’accès à une requête peut être très
long. 14
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Isolement des données – Les données sont stockées sous différents
formats. – Ex: CIN – – type type caractère caractère dans dans un un fichier fichier / / type type entier entier dans dans un autre fichier. →Grande difficulté d’écrire un programme d’accès
général à toute l’information.
15
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Multiplicité des mises à jour – Les traitements concurrents peuvent générer des
erreurs. – Ex: Mises à jour d’un compte en même temps
solde solde de de 400 400 – $ T1: dépôt de 300 , $ T2: retrait de 500 $ – si T1 avant T2 : 400$, 700$, 200$ OK – si T2 avant T1 : 400$, -100$, 200$ ERREUR!!!
→Nécessite un programme superviseur pour gérer
les transactions: Difficile, voir impossible. 16
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ Sécurité – La sécurité des données et les accès non-autorisés
ne sont pas garanties. – Ex: Le personnel ne devrait pas avoir accès au
programme programme de de paie. paie.
○ Intégrité des données – difficulté d’imposer des contraintes – Ex : Le solde ne doit jamais être inférieur à 0.
17
INCONVÉNIENTS DES SYSTÈME DE TRAITEMENT DE FICHIERS
○ 5) Limites des fichiers ☹ ☹
○ L’utilisation des fichiers soulève de très gros problèmes :
- Lourdeur d’accès aux données via un programme (la localisation physique des fichiers, le mode d’accès à ces fichiers. fichiers. …)
…)
- Manque de sécurité. Si tout programmeur peut accéder directement aux fichiers, il est impossible de garantir la sécurité et l’intégrité des données.
- Pas de contrôle de concurrence. Dans un environnement où plusieurs utilisateurs accèdent aux mêmes fichiers, des problèmes de concurrence d’accès se posent. 18
DÉFINITION D’UNE BASE DE DONNÉES
○ Solution : une banque de données commune, entièrement centralisée
○ Base de données ➢ ➢ Un Un seul seul exemplaire exemplaire de de chaque chaque élément élément de de données ➢ Tous les utilisateurs ont accès aux données en ne communiquant qu’avec la base (sans intermédiaire). ➢ Mesures de protection pour l’information confidentielle ➢ La complexité du stockage ne doit pas être apparente à l’utilisateur.
19
DÉFINITION D’UNE BASE DE DONNÉES
20
DÉFINITION D’UNE BASE DE DONNÉES
○ Exemple 1 : – Organisation : une bibliothèque – Données : les livres, les emprunts, les
emprunteurs
○ Exemple 2 : – Organisation : une Université – Données : les étudiants, les enseignants, les
cours, etc.
21
DÉFINITION D’UNE BASE DE DONNÉES
22
DE QUOI A–T–ON BESOIN POUR UTILISER UNE BASE DE DONNÉES?
23
QU’EST CE QU’UN SGBD
24
QU’EST CE QU’UN SGBD
– Dans une grande masse de données
(pouvant atteindre plusieurs milliards d’octets)
– – Partagée Partagée par par de de multiples multiples utilisateurs utilisateurs
25
EXEMPLES DE SGBD
○ Microsoft Access
○ Oracle
○ ○ SQL SQL Server Server
○ My SQL
○ PostgreSQL
○ …. 26
UN SGBD DOIT PERMETTRE À L’UTILISATEUR DE:
○ Créer une base données
○ Insérer les données
○ Extraire des données
○ Mettre à jour des données
27
OBJECTIFS DES SGBD
○ Description des données : définition de la structure de la base, description des objets du monde réels perçus avec leurs caractéristiques grâce à un Langage de Description de Données (LDD)
– – Plus Plus besoin besoin de de travailler travailler directement directement sur sur les les fichiers fichiers physiques (tels qu’ils sont enregistrés sur disque).
– Un SGBD nous permet de décrire les données et les
liens entre elles d’une façon logique sans se soucier du comment cela va se faire physiquement dans les fichiers.
28
OBJECTIFS DES SGBD
○ Accès aux données :
– L’accès aux données (insertion, mise à jour, interrogation) se fait par l’intermédiaire l’intermédiaire d’un d’un Langage Langage de
de Manipulation de Données (LMD).
– S.Q.L (Structured Query Language) est le Langage standard de manipulation de Base de données relationnelles
29
OBJECTIFS DES SGBD
○ Non redondance des données :
– Le SGBD doit permettre d’éviter la duplication
d’informations qui, outre la perte de place mémoire, mémoire, demande demande des des moyens moyens humains humains importants pour saisir et maintenir à jour plusieurs fois les mêmes données.
– Afin d’éviter ces problèmes, chaque donnée ne
doit être présente qu’une seule fois dans la base.
30
OBJECTIFS DES SGBD
○ Cohérence des données :
– Les données sont soumises à un certain nombre
de contraintes d’intégrité qui définissent un état cohérent cohérent de de la la base. base.
– Le SGBD veille à ce que toutes les contraintes
soient vérifiées à chaque insertion, suppression, ou modification d’une donnée.
31
OBJECTIFS DES SGBD
○ Cohérence des données :
– Exemple de contraintes d’integrités: l’âge d’une personne supérieur à zéro, salaire supérieur à zéro, zéro, etc. etc.
– Les contraintes d’intégrité sont décrites dans le
Langage de Description de Données (LDD).
32
OBJECTIFS DES SGBD
○ Administration centralisée des données:
– Le SGBD doit offrir aux administrateurs des
données des outils de vérification de cohérence des des données, données, de de sauvegarde sauvegarde ou ou de de réplication…. réplication….
– L’administration est centralisée et est réservée à
un très petit groupe de personnes (Administrateurs) pour des raisons évidentes de sécurité.
33
OBJECTIFS DES SGBD
○ Partage des données :
– Il s’agit de permettre à plusieurs utilisateurs d’accéder aux mêmes données au même moment de manière transparente.
– Le SGBD inclut un mécanisme de contrôle de la concurrence basé sur des techniques de verrouillage des données (pour éviter par exemple qu’on puisse lire une information qu’on est en train de mettre à jour)
– Notion de transaction: Une action ou une suite d’actions demandée par un seul utilisateur ou programme d’application, qui lit ou met a jour le contenu de la base de données. 34
OBJECTIFS DES SGBD
○ Sécurité des données :
– Les données sont protégées contre les accès non autorisés. – Tous les utilisateurs ne peuvent pas tout faire sur toutes
les les données. données. – Notion de groupes d’utilisateurs. – Notion d’autorisation (lecture, écriture, exécution). – Granularité des autorisations : base de données, table,
colonne, etc – Possibilité d’accorder ou de supprimer des droits.
35
OBJECTIFS DES SGBD
○ Résistance aux pannes :
– Que se passe-t-il si une panne survient au milieu d’une modification, si certains fichiers contenant les les données données deviennent deviennent illisibles illisibles ? ?
– Il faut pouvoir récupérer une base dans un état « sain ». Ainsi, après une panne intervenant au milieu d’une modification deux solutions sont possibles : soit récupérer les données dans l’état dans lequel elles étaient avant la modification, soit terminer l’opération interrompue.
36
ARCHITECTURE D’UN SGBD
○ Basée sur une architecture Client-Serveur : – Les données sur le serveur de base de données
seront partagées entre N clients
– – Les Les clients clients accèdent accèdent à à ce ce serveur serveur via via des des interfaces graphiques ou des applications clientes
– Les clients et les serveurs communiquent par des
requêtes suivie par des réponses
37
ARCHITECTURE D’UN SGBD
38
ARCHITECTURE D’UN SGBD: ARCHITECTURE ANSI-SPARC
○ Pour assurer les objectifs d’un SGBD (surtout les deux premiers), trois niveaux de description des données ont été définis par la norme ANSI-SPARC. ANSI-SPARC.
39
ARCHITECTURE D’UN SGBD: ARCHITECTURE ANSI-SPARC
40
ARCHITECTURE D’UN SGBD: ARCHITECTURE ANSI-SPARC
○ Couche Externe :
– Permet le dialogue avec les utilisateurs
– Fournit Fournit des des vues vues associées associées à à chaque chaque groupe groupe d’utilisateurs et description pour chaque utilisateur de sa propre perception ou vue sur les données.
41
ARCHITECTURE D’UN SGBD: ARCHITECTURE ANSI-SPARC
– Couche Logique :
→ Description de la structure globale des données qui existent dans la base, description de leurs propriétés propriétés (relations (relations qui qui existent existent entre entre elles)
elles)
→ Sans soucis d’implémentation physique ni de la façon dont chaque groupe de travail voudra s’en servir.
→ Permet aussi le contrôle global (Contrôles de confidentialité, concurrence…) 42
ARCHITECTURE D’UN SGBD: ARCHITECTURE ANSI-SPARC
○ Couche Interne :
– Description du stockage des données sur des
supports physiques, gestion des structures de mémorisation mémorisation (fichiers) (fichiers) et et d’accès d’accès (gestion (gestion des des clés, …)
43
MODÈLES DE SGBD
○ Historiquement, les modèles des bases de données ont été définis comme suit, dans l’ordre chronologique : ➢ Modèle hiérarchique (structure de données «
arbre arbre ») ») ➢ Modèle réseau (structure de données « graphe
») ➢ Modèle relationnel (structure de données «
tableau de n-uplets ») ➢ Modèle objet (structure de données « classes,
attributs, méthodes ») 44
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD hiérarchiques :
modèle père-fils structure d’arbres: les données sont classées hiérarchiquement, selon une arborescence descendante.
Les noeuds représentent les données et les arêtes
représentent les liens entre ces données langage navigationnel (rechercher le père, faire une
opération sur tous les fils…) Exemple : IMS
45
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD hiérarchiques :
46
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD hiérarchiques :
Problèmes :
– Le défaut principal de cette représentation provient du fait que le point d’accès à l’information est bien unique (c’est la racine racine de de l’arbre l’arbre hiérarchique). hiérarchique). Cela Cela entraîne entraîne que que toute toute recherche de donnée demande le parcours de toute, ou au moins partie, de la hiérarchie, en passant par la racine.
– La suppression d’un nœud entraîne la disparition des
descendants
– la représentation arborescente ne décrit pas toujours la
réalité.
47
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD hiérarchiques :
Problèmes :
➢ Exemple : ❑ Modèle Modèle hiérarchique hiérarchique : : un un module module d’enseignement d’enseignement n’appartient qu’à un seul diplôme ❑ Modèle « réel » : un module d’enseignement peut
être validé dans plusieurs « diplômes ».
48
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD réseaux :
structure de graphes langage navigationnel Exemples : IDMS, IIDS, SOCRATE Création Création de de chemins chemins d’accès d’accès multiples multiples à à une une même même donnée. ☺ Ce modèle est en mesure de lever de nombreuses
difficultés du modèle hiérarchique grâce à la possibilité d’établir des liaisons de type n-m en définissant des associations entre tous les types d’enregistrements.
49
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD réseau:
☹ Pour retrouver une donnée dans une telle
modélisation, il faut connaître le chemin d’accès (les (les liens), liens), ceci ceci rend rend encore encore les les programmes programmes dépendants de la structure de données. ☹ Cela en fait un modèle complexe dont l’extraction
de données est difficile.
50
PREMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS
○ SGBD réseau:
51
DEUXIÈME GÉNÉRATION : MODÈLE RELATIONNEL
○ Modèle mathématique de base : présence d’une algèbre (algèbre relationnel)
○ La manipulation de ces données se fait selon la théorie théorie mathématique mathématique des des ensembles. ensembles.
○ Structure de tableaux: les données sont enregistrées dans des tableaux à deux dimensions (lignes appelées enregistrements ou tuples et colonnes appelées champs).
52
DEUXIÈME GÉNÉRATION : MODÈLE RELATIONNEL
○ Exemples : Oracle, Focus, Ingres, Sybase, DB2, MySQL, Postgres
○ les les plus plus utilisés utilisés actuellement actuellement
○ Avantage : indépendance logique / physique
53
TROISIÈME GÉNÉRATION : MODÈLES PLUS COMPLEXES
○ SGBD déductifs :
modèle logique organisation de données sous forme de table (ou autres) et exploitation à l’aide d’un langage logique. Un SGBD déductif est un système qui comporte des possibilités possibilités pour pour définir définir des des règles règles qui qui peuvent peuvent déduire ou inférer des informations à partir de faits stockés dans une base de données. Dans un système de gestion de bases de données déductif, un langage déclaratif est utilisé pour spécifier des règles. Un mécanisme d’inférence (ou mécanisme de déduction) peut alors déduire de nouveaux faits à partir de la base de données en interprétant les règles.
54
TROISIÈME GÉNÉRATION : MODÈLES PLUS COMPLEXES
○ SGBD à objets (ou orientés objets ; SGBDOO) :
les données sont stockées sous forme d’objets, c’est-à-
dire de structures appelées classes présentant des données membres. modèle à objets inspiré des langages de
programmation programmation à à objets objets tels tels que que Java, Java, C++,… C++,… utilisation de l’encapsulation, l’héritage, le
polymorphisme, l’agrégation et la composition Exemples : O2, GEMSTONE, IRIS, FastObjects
55
RÉSUMÉ SUR LES MODÈLES
56
télécharger gratuitement introduction aux bases de données