Introduction aux bases de données

Page 1 sur 28Lecteur de document UniversityLib

Introduction aux bases de données

Programming, Databases, Software Engineering · course

Voir tous les documents en bases de données

Introduction aux bases de données

Mehdi HAJJI [email protected]

Conception BD – II2

Plan du cours

 Définitions  SGBD  Notion de données  Notion de modèle de données  Notion de schéma de données  Notion de langage de données  Notion d’administration de données  Conception d’une base de données

Introduction aux bases de données

-M. HAJJI-

2

Définitions  Base de données

 Une BD est un ensemble volumineux,  structuré et minimalement redondant de données,  reliées entre elles,  stockées sur supports numériques centralisés ou distribués,  servant pour les besoins d'une ou plusieurs applications,  interrogeables et modifiables par un ou plusieurs utilisateurs

travaillant potentiellement en parallèle.

 Exemple

 Une BD de gestion de l'activité d'une compagnie aérienne

concernant les voyageurs, les vols, les avions, le personnel, les réservations, etc.

 Une telle BD pourrait permettre la gestion des réservations, des disponibilités des avions en fonction des vols à effectuer, des affectations des personnels volants, etc.

Introduction aux bases de données

-M. HAJJI-

3

Définitions

 Banque de données

 Une banque de données est un ensemble, pas forcément structuré d’informations, généralement regroupées (sous forme de fichiers manuels ou informatiques, id sunt des "BASES de données")

 Aussi a-t-on l’habitude d’affirmer (même si ce n’est pas

directement lié à leur définition), qu’une BANQUE de données est composée de BASES de données (mais ce n’est pas tout à fait la réalité)

Introduction aux bases de données

-M. HAJJI-

4

SGBD

 Un SGBD est un logiciel qui prend en charge la

structuration, le stockage, la mise à jour et la maintenance d'une base de données.

 Il est l'unique interface entre les informaticiens et les données (définition des schémas, programmation des applications), ainsi qu'entre les utilisateurs et les données (consultation et mise à jour).

Introduction aux bases de données

-M. HAJJI-

5

SGBD

 Exemples:

 Oracle est un SGBD relationnel (et Relationnel-Objet dans ses

dernières versions) très reconnu pour les applications professionnelles.

 MySQL est un SGBD relationnel libre (licence GPL et commerciale),

simple d'accès et très utilisé pour la réalisation de sites Web dynamiques. Depuis la version 4 MySQL implémente la plupart des fonctions attendues d'un SGBD relationnel.

 PosgreSQL est un SGBD relationnel et relationnel-objet très puissant qui offre une alternative open-source aux solutions commerciales comme Oracle ou IBM.

 Access est un SGBD relationnel Microsoft, qui offre une interface conviviale permettant de concevoir rapidement des applications de petite envergure ou de réaliser des prototypes à moindre frais.

Introduction aux bases de données

-M. HAJJI-

6

SGBD  Avant l'avènement des SGBD, chaque application informatique

dans l'entreprise impliquait sa propre équipe de développement, ses propres supports physiques, ses propres fichiers, ses propres normes, ses propres langages, etc.  Conséquences: L'existence conjointe et croissante de ces applications indépendantes a des effets négatifs, tels que :  La multiplication des tâches de saisie, de développement et de

support informatique

 La redondance anarchique des informations dans les fichiers  L'incohérence des versions simultanées de fichiers  La non-portabilité des traitements en raison des différences dans les

formats et langages.

 La multiplication des coûts de développement et de maintenance des

applications.

Introduction aux bases de données

-M. HAJJI-

7

SGBD

 Problèmes humains et matériels.

 Coûts en personnels qualifiés et en formations  Remise des pouvoirs de décision entre les mains de spécialistes

informatiques

 Tout changement matériel ou logiciel a un impact sur les

applications

Publicité

 Tout changement de la structure des données nécessite de

modifier les programmes

Introduction aux bases de données

-M. HAJJI-

8

SGBD : Caractéristiques

 La conception d'un système d'information pour être

rationnelle à l'échelle d'une entreprise se doit d'adopter un certain nombre de principes, tels que :  Une description des données indépendante des traitements  Une maintenance de la cohérence de données  Le recours à des langages non procéduraux, interactifs et

structurants

 Dans ce cadre les SGBD se fixent les objectifs suivants :  Indépendance physique des données

 Le changement des modalités de stockage de l'information

(optimisation, réorganisation, segmentation, etc.) n'implique pas de changements des programmes.

Introduction aux bases de données

-M. HAJJI-

9

SGBD : Caractéristiques  Indépendance logique des données

 L'évolution de la structure d'une partie des données n'influe pas sur

l'ensemble des données.

 Manipulation des données par des non-informaticiens

 L'utilisateur n'a pas à savoir comment l'information est stockée et calculée par la machine, mais juste à pouvoir la rechercher et la mettre à jour à travers des IHM [Interface Homme Machine] ou des langages assertionnels simples.  Administration facilitée des données

 Le SGBD fournit un ensemble d'outils (dictionnaire de données,

audit, statistiques, etc.) pour améliorer les performances et optimiser les stockages.

 Optimisation de l'accès aux données

 Les temps de réponse et de débits globaux sont optimisés en

fonctions des questions posées à la BD.

Introduction aux bases de données

-M. HAJJI-

10

SGBD : Caractéristiques  Contrôle de cohérence (intégrité sémantique) des données  Le SGBD doit assurer à tout instant que les données

respectent les règles d'intégrité qui leurs sont imposées.

 Partageabilité des données

 Les données sont simultanément consultables et modifiables.

 Sécurité des données

 La confidentialité des données est assurée par des systèmes d'authentification, de droits d'accès, de cryptage des mots de passe, etc.

 Sûreté des données

 La persistance des données, même en cas de panne, est

assurée, grâce typiquement à des sauvegardes et des journaux qui gardent une trace persistante des opérations effectuées.

Introduction aux bases de données

-M. HAJJI-

11

Notion de données

 Type de données

 Ensemble d'objets qui possèdent des caractéristiques similaires

et manipulables par des opérations identiques.

 Exemple

 Entier = { 0, 1, 2, ... , N }  Véhicule = (immatriculation, marque, type, couleur)

 Donnée

 Elément effectif, réel, correspondant à une type de données.  Exemple

 L'entier 486  Le véhicule (460HP59, Renault, Megane, Jaune)

Introduction aux bases de données

-M. HAJJI-

12

Notion de modèle de données

 Ensemble de concepts et de règles de composition de ces concepts permettant de décrire des données (Gardarin, 1999).

 Un modèle est souvent représenté au moyen d'un

formalisme graphique permettant de décrire les données (ou plus précisément les types de données) et les relations entre les données.

 On distingue trois niveaux de modélisation pour les bases

de données :  Le modèle conceptuel

 Il permet de décrire le réel sans prendre en compte les contraintes

techniques.

Publicité

Introduction aux bases de données

-M. HAJJI-

13

Notion de modèle de données

 Le modèle logique

 Il permet de décrire une solution, en prenant une orientation informatique générale (type de SGBD typiquement), mais indépendamment de choix d'implémentation précis.

 Le modèle physique

 Il correspond aux choix techniques, en terme de SGBD choisi et de sa

mise en œuvre (programmation, optimisation, etc.).

Introduction aux bases de données

-M. HAJJI-

14

Notion de schéma de données

 Description, au moyen d'un langage formel, d'un ensemble

de données dans le contexte d'une BD.

 Un schéma permet de décrire la structure d'une base de données, en décrivant l'ensemble des types de données de la base. L'occurence d'une base de données est constituée de l'ensemble des données correspondant aux types du schéma de la base.

 Exemple de schéma de base de données

Etudiant (NumEtud, nom, ville) Module (NumMod, titre) Inscription (NumEtud, NumMod, date)

Introduction aux bases de données

-M. HAJJI-

15

Notion de schéma de données

 Exemple instance d’une base de données

Etudiant (172, 'Dupont', 'Lille') Etudiant (173, 'Durand', 'Paris') Etudiant (174, 'Martin', 'Orléans') Module(1, 'SGBD') Module(1, 'Systèmes d'exploitation') Inscription(172, 1, 2002) Inscription(172, 2, 2002) Inscription(173, 1, 2001) Inscription(174, 2, 2002)

Introduction aux bases de données

-M. HAJJI-

16

Notion de schéma de données  On distingue trois niveaux d'abstraction de schémas :  Le niveau conceptuel

 Il permet de décrire les entités et les associations du monde réel. Il s'agit du schéma global de la base de données, il en propose une vue canonique.

 Le niveau conceptuel correspond au modèle conceptuel.

 Le niveau externe (notion de vue)

 Il permet de décrire les entités et les associations du monde réel, mais vues d'un utilisateur ou d'un groupe d'utilisateurs particuliers (on parle d'ailleurs également de "vue" pour un schéma externe).  Il s'agit d'une restriction du schéma conceptuel orientée vers un usage précis. Il existe généralement plusieurs schémas externes pour un même schéma conceptuel.

 Le niveau externe correspond à un sous ensemble du modèle conceptuel restreint aux points de vue de certains utilisateurs.

Introduction aux bases de données

-M. HAJJI-

17

Notion de schéma de données

 Le niveau interne

 Il correspond à l'implémentation physique des entités et

associations dans les fichiers de la base.

 Le niveau interne correspond aux modèles logiques et

physiques.

Introduction aux bases de données

-M. HAJJI-

18

Notion de langage de données

 Langage informatique permettant de décrire et de

manipuler les schémas d'une BD d'une une manière assimilable par la machine.

 Un langage de données peut être décomposé en trois

sous langages :  Le Langage de Définition de Données

 Le LDD [Langage de Définition de Données] permet d'implémenter le schéma conceptuel (notion de table en SQL) et les schémas externes (notion de vue en SQL).

CREATE TABLE Etudiant ( NumEtu : integer, Nom : string, Ville : string)

Introduction aux bases de données

-M. HAJJI-

19

Notion de langage de données

 Le Langage de Contrôle de Données

 Le LCD [Langage de Contrôle de Données] permet d'implémenter

les droits que les utilisateurs ont sur les données et participe donc à la définition des schémas externes.

GRANT ALL PRIVILEGES ON Etudiant FOR 'Utilisateur'

Publicité

 Le Langage de Manipulation de Données

 Le LMD [Langage de Manipulation de Données] permet

l'interrogation et la mise à jour des données. C'est la partie du langage indispensable pour exploiter la BD et réaliser les applications.

SELECT Nom FROM Etudiant WHERE Ville = 'Compiègne'

Introduction aux bases de données

-M. HAJJI-

20

Notion d’administration de données Administrateur  Personne ou groupe de personnes responsables de la

définition des différents niveaux de schéma.

 On distingue un type d'administrateur par niveau de

schéma :  L'administrateur entreprise est en charge de la gestion du schéma conceptuel et des règles de contrôle des données.  L'administrateur de données est en charge de la gestion des schémas externes et de leur correspondance avec le schéma conceptuel.

 L'administrateur base de données est en charge de la gestion du schéma interne et de sa correspondance avec le schéma conceptuel.

Introduction aux bases de données

-M. HAJJI-

21

Notion d’administration de données Dictionnaire des données  Le dictionnaire de données d'un SGBD contient les informations relatives aux schémas et aux droits de toutes les bases de données existantes au sein de ce SGBD.

 Il s'agit d'un outil fondamental pour les administrateurs.  Les dictionnaires de données sont généralement

implémentés sous la forme d'une base de données particulière du SGBD, ce qui permet de gérer les données relatives aux bases de données de la même façon que les autres données de l'entreprise (i.e. dans une base de données).

Introduction aux bases de données

-M. HAJJI-

22

Conception d’une base de données

 Etapes de la conception d'une base de données 1. Analyse de la situation existante et des besoins 2. Création d'une série de modèles conceptuels (canonique et vues externes) qui permettent de représenter tous les aspects importants du problème

3. Traduction des modèles conceptuels en modèle logique et

4.

optimisation (normalisation) de ce modèle logique Implémentation d'une base de données dans un SGBD, à partir du modèle logique

Introduction aux bases de données

-M. HAJJI-

23

Conception d’une base de données

Introduction aux bases de données

-M. HAJJI-

24

Conception d’une base de données

 L'importance de l'étape d'analyse

 La première étape de la conception repose sur l'analyse de

l'existant et des besoins. De la qualité de la réalisation de cette première étape dépendra ensuite la pertinence de la base de données par rapports aux usages. Cette première étape est donc essentielle et doit être menée avec soins.

 Si la première étape est fondamentale dans le processus de conception, elle est aussi la plus délicate. En effet, tandis que des formalismes puissants existent pour la modalisation conceptuel puis pour la modélisation logique, la perception de l'existant et des besoins reste une étape qui repose essentiellement sur l'expertise d'analyse de l'ingénieur.

Introduction aux bases de données

-M. HAJJI-

25

Conception d’une base de données

 L'importance de l'étape de modélisation conceptuelle

 Le modèle conceptuel étant formel, il va permettre de passer d'une spécification en langage naturel, et donc soumise à interprétation, à une spécification non ambigüe. Le recours aux formalismes de modélisation tels que E-A ou UML est donc une aide fondamentale pour parvenir à une représentation qui ne sera plus liée à l'interprétation du lecteur.

 La traduction d'un cahier des charges spécifiant l'existant et les

besoins en modèle conceptuel reste néanmoins une étape délicate, qui va conditionner ensuite l'ensemble de l'implémentation informatique. En effet les étape suivantes sont plus mécaniques, dans la mesure où un modèle logique est déduit de façon systématique du modèle conceptuel et que l'implémentation logicielle est également réalisée par traduction directe du modèle logique.

Introduction aux bases de données

-M. HAJJI-

26

En résumé

Introduction aux bases de données

-M. HAJJI-

27

Merci…

Introduction aux bases de données

-M. HAJJI-

28