introduction aux bases de données

1/1
100%

Fichiers et Bases de Données Maha Sliti Maitre Assistante en Télécommunications ISTIC 2018-2019 1 P LANNING ○ 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 V OUS 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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 D E QUOI A - T - ON BESOIN POUR UTILISER UNE BASE DE DONNÉES ? 23 Q U ’ EST CE QU ’ UN SGBD 24 Q U ’ 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 E XEMPLES 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD 38 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE ANSI-SPARC 40 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 S GBD ○ 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 P REMIÈ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 4 5 P REMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS ○ SGBD hiérarchiques : 46 P REMIÈ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é. 4 7 P REMIÈ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 P REMIÈ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. 4 9 P REMIÈ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 P REMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS ○ SGBD réseau: 51 D EUXIÈ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). 5 2 D EUXIÈ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 5 3 T ROISIÈ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. 5 4 T ROISIÈ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 5 6 télécharger gratuitement introduction aux bases de données

Page 1 sur 1Lecteur de document UniversityLib

introduction aux bases de données

Informatique · notes

Voir tous les documents en bases de données

Fichiers et Bases de Données Maha Sliti Maitre Assistante en Télécommunications ISTIC 2018-2019 1 P LANNING ○ 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 V OUS 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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 I NCONVÉ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 D E QUOI A - T - ON BESOIN POUR UTILISER UNE BASE DE DONNÉES ? 23 Q U ’ EST CE QU ’ UN SGBD 24 Q U ’ 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 E XEMPLES 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 O BJECTIFS 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 A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD 38 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE ANSI-SPARC 40 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 A RCHITECTURE D ’ UN SGBD: A RCHITECTURE 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 S GBD ○ 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 P REMIÈ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 4 5 P REMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS ○ SGBD hiérarchiques : 46 P REMIÈ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é. 4 7 P REMIÈ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 P REMIÈ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. 4 9 P REMIÈ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 P REMIÈRE GÉNÉRATION : MODÈLES NAVIGATIONNELS ○ SGBD réseau: 51 D EUXIÈ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). 5 2 D EUXIÈ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 5 3 T ROISIÈ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. 5 4 T ROISIÈ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 5 6 télécharger gratuitement introduction aux bases de données