Plan du cours. Bases de données. Introduction. Bases de données. Exemple. Exemple 25/09/2020

Download (0)

Full text

(1)

Bases de données

Yann Loyer yann.loyer@uvsq.fr

Bases de données - Yann Loyer 2

Plan du cours

1. Introduction 2. Modèle relationnel

3. Langage de manipulation de données 4. Langage de définition de données 5. Bases de la conception de schémas 6. Développement d’interfaces 7. Problèmes

Bases de données - Yann Loyer 3

Introduction

Plan :

I.1) Bases de données

I.2) Systèmes de gestion de bases de données I.3) Niveaux d’abstractions

Bases de données - Yann Loyer 4

Bases de données

Une base de données est ensemble de données : – représentant une partie du monde réel

– stockées en mémoire secondaire – pouvant être interrogées et mises à jour

– servant de support à une ou plusieurs applications

Mais cela ne suffit pas à caractériser une base de données

Exemple

• Un ensemble de fichiers textes suffit

Comptes.txt

142; 3; compte chèque; 482 157; 56; compte chèque; 1580 345; 3; livret A; 800

Chaque ligne représente un compte bancaire

Exemple

• Un ensemble de fichiers textes suffit

Comptes.txt

142; 3; compte chèque; 482 157; 56; compte chèque; 1580 345; 3; livret A; 800

Les données représentent une partie du monde réel

(2)

Exemple

• Un ensemble de fichiers textes suffit

Comptes.txt

142; 3; compte chèque; 482 157; 56; compte chèque; 1580 345; 3; livret A; 800

Les données sont stockées en mémoire secondaire

Exemple

• Un ensemble de fichiers textes suffit

Comptes.txt

142; 3; compte chèque; 482 157; 56; compte chèque; 1580 345; 3; livret A; 800

Les données peuvent être interrogées et mises à jour

Exemple

• Un ensemble de fichiers textes suffit

Comptes.txt

142; 3; compte chèque; 482 157; 56; compte chèque; 1580 345; 3; livret A; 800

Les données peuvent servir dans plusieurs applications

Bases de données - Yann Loyer 10

Bases de données

Une collection de données est appelée base de données si:

format connu(défini au niveau du système et non uniquement au niveau des programmes utilisant les données) et défini par des méta-données(données décrivant des données)

Exemple

• Les données sont décrites par des données

NumCompte NumClient TypeCompte Solde

142 3 Compte chèque 482

157 56 Compte chèque 1580

345 3 Livret A 800

Par exemple, la méta-donnée « NumCompte » décrit

Bases de données

Une collection de données est appelée base de données si:

format connu(défini au niveau du système et non uniquement au niveau des programmes utilisant les données) et défini par des méta-données(données décrivant des données) – Données stockées, recherchées, modifiées uniquement par un

type spécial de programmes appelé système de gestion de bases de données

(3)

Exemples

• Oracle

• SQL Server

• Mysql

• PostgreSQL

• MongoDB

• etc.

Bases de données - Yann Loyer 14

Bases de données

Une collection de données est appelée base de données si:

format connu(défini au niveau du système et non uniquement au niveau des programmes utilisant les données) et défini par des méta-données(données décrivant des données) – Données stockées, recherchées, modifiées uniquement par un

type spécial de programmes appelé système de gestion de bases de données

– Données manipulées sous le contrôle de transactions (ensemble de règles formelles assurant l’intégrité des données)

Exemple

• Imaginons un programme de transfert bancaire

\* entrées/sorties *\

afficher(« quel compte souhaitez-vous débiter? »);

affecter la valeur dans la variable c1;

afficher(« quel compte souhaitez-vous créditer? »);

affecter la valeur dans la variable c2;

afficher(« quel montant souhaitez-vous transférer? »);

affecter la valeur dans la variable m;

\* écritures dans la base de données*\

solde(c1)=solde(c1)-m;

solde(c2)=solde(c2)+m;

Exemple

Imaginons que durant l’exécution se produit un incident

\* entrées/sorties *\

afficher(« quel compte souhaitez-vous débiter? »);

affecter la valeur dans la variable c1;

afficher(« quel compte souhaitez-vous créditer? »);

affecter la valeur dans la variable c2;

afficher(« quel montant souhaitez-vous transférer? »);

affecter la valeur dans la variable m;

\* écritures dans la base de données*\

solde(c1)=solde(c1)-m;

solde(c2)=solde(c2)+m;

panne, erreur, etc.

La somme d’argent m a disparue !

Bases de données - Yann Loyer 17

Système de gestion de bases de données (SGBD)

Un SGBD est un ensemble de logiciels-système permettant aux utilisateurs de:

– mettre en forme – sauvegarder,

– mettre à jour (modifier, insérer, supprimer) – rechercher

efficacement des données spécifique dans une très grande masse d’informations partagées entre plusieurs utilisateurs

Bases de données - Yann Loyer 18

Utilisation d’un SGBD

• Définition du schéma de la base (modèle Entité/Association, normalisation)

Client Numéro-client Nom Prénom Date de naissance

Compte Numéro-compte type solde

possède

(4)

Bases de données - Yann Loyer 19

Utilisation d’un SGBD

• Définition du schéma de la base (modèle Entité/Association, normalisation)

• schéma conceptuel (format des données et associations entre données)

Numéro-client Nom Prénom Date de naissance

Numéro-compte Type Solde Numéro-client

CLIENT

COMPTE

Bases de données - Yann Loyer 20

Utilisation d’un SGBD

• Définition du schéma de la base (modèle Entité/Association, normalisation)

• schéma conceptuel (format des données et associations entre données)

• schéma interne (correspondance entre les notions conceptuelles et celles liées à l’organisation physique des données – fichiers, index)

Numér o Nom Préno

m DN

1 n1

2 n2

3

4 5 6 7

4 6 2

1 3 5 7

Bases de données - Yann Loyer 21

Utilisation d’un SGBD

• Définition du schéma de la base (modèle Entité/Association, normalisation)

• schéma conceptuel (format des données et associations entre données)

• schéma interne (correspondance entre les notions conceptuelles et celles liées à l’organisation physique des données – fichiers, index)

• schémas externes (définition d’une vue pour chaque groupe d’utilisateur afin de d’administrer les droits d’accès)

Bases de données - Yann Loyer 22

Utilisation d’un SGBD

• Définition du schéma de la base (modèle Entité/Association, normalisation)

• schéma conceptuel (format des données et associations entre données)

• schéma interne (correspondance entre les notions conceptuelles et celles liées à l’organisation physique des données – fichiers, index)

• schémas externes (définition d’une vue pour chaque groupe d’utilisateur afin de d’administrer les droits d’accès)

• programmes d’application (code est constitué de commandes propres au SGBD intégrées dans un langage de

programmation s’exécutent en référençant les schémas externes

Fonctionnalités d’un SGBD (1)

• Gestion de données persistantes

• Gestion de grandes quantités de données

• Fiabilité des données

– Cohérence et contraintes d’intégrité – Sûreté du fonctionnement

• Notion de transaction atomique

• Techniques de sauvegarde et/ou de journalisation

• Procédures de reprise sur panne

Fonctionnalités d’un SGBD (2)

• Sécurité d’accès

– commandes d’autorisation

• Partage et accès concurrents – techniques de verrouillage

• Interrogation : langages de requêtes – déclaratifs et incomplets

⇒intégration du langage de requête et d’un langage de programmation

⇒dysfonctionnements (typage et traitement ensembliste)

(5)

Bases de données - Yann Loyer 25

Niveaux d’abstraction

• Plusieurs niveaux d’abstractions entre l’ordinateur (qui traite des bits) et l’utilisateur final (qui traite des concepts)

• Dans le domaine des BD, on en considère 3:

– Niveau interne – Niveau conceptuel – Niveau externe

Bases de données - Yann Loyer 26

Niveau interne

• Ensemble de fichiers et de structures utilisées pour permettre un accès efficace aux données (index)

• Appelé base de données physique

• Réside en mémoire auxiliaire

• Plusieurs BD physiques peuvent être gérées par le même SGBD

Bases de données - Yann Loyer 27

Niveau conceptuel (1)

Base de données conceptuelle: abstraction du monde réel

Langage de définition de données:

– fourni par le SGBD

– permet de définir la BD conceptuelle en terme de modèle de données

– permet de réaliser son implémentation au niveau physique

Bases de données - Yann Loyer 28

Niveau conceptuel (2)

Principaux modèles de données:

• Modèle hiérarchique – Structure de base: l’arbre

• Modèle réseau

– Structure de base: le graphe orienté

Modèle relationnel – Structure de base: la relation

• Émergence de nouveaux modèles – Modèle orienté-objets

Bases de données - Yann Loyer 29

Niveau conceptuel (3)

• BD conceptuelle: description d’un ensemble cohérent réunissant les informations pertinentes d’une entreprise

• Processus: ensemble de fichiers → BD

conceptuelle

– appelé intégration de données

– coordonné par une ou plusieurs personnes constituant l’administrateur de la base

Bases de données - Yann Loyer 30

Niveau externe (1)

• Appelé également Niveau des vues

• Vue: abstraction de la BD conceptuelle représentant une partie de ses informations

• La plupart des SGBD fournissent:

– un langage de définition de vues

– un langage de manipulation de vues

(6)

Bases de données - Yann Loyer 31

Niveau externe (exemple)

Numéro-client Nom Prénom Date de naissance

1 DUPONT JEAN 02/04/1980

2 DURAND JACQUES 03/01/2000

Nom Prénom Age

DUPONT JEAN 40

DURAND JACQUES 20

Table CLIENT

Vue V_CLIENT

La vue donne un accès limité aux données de la table.

Bases de données - Yann Loyer 32

Niveau externe (2)

• Construction de vues : processus inverse de l’intégration de données

• Avantage de l’intégration de données:

– vue globale des données de l’entreprise – meilleur contrôle de la cohérence – élimination des redondances – meilleur contrôle d’accès aux données – possibilité de faire des études statistiques plus

facilement – etc.

Bases de données - Yann Loyer 33

Vision globale d’une BD

Programme Programme d’application 1 d’application n Niveau vue 1 … vue n externe

Niveau BD conceptuelle Conceptuel

Niveau BD physique Interne

Bases de données - Yann Loyer 34

Atouts du modèle relationnel

• Le modèle relationnel est très populaire dans l’industrie car:

– conceptuellement simple (tout programmeur d’application peut aisément comprendre les concepts de base)

– fondements mathématiques (les aspects

opérationnels peuvent être prouvés et des

propositions testées)

Figure

Updating...

References

Related subjects :