Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter...

44
Bases de donn ´ ees : de quoi parlons-nous ? Syst ` eme de Gestion de Bases de Donn ´ ees Mod ´ elisation des donn ´ ees Mise en oeuvre des SGBDs Bases de Donn ´ ees Relationnelles ecile Capponi – R ´ emi Eyraud [email protected] Universit ´ e d’Aix-Marseille L3 Informatique

Transcript of Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter...

Page 1: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Bases de Donnees Relationnelles

Cecile Capponi – Remi [email protected]

Universite d’Aix-Marseille

L3 Informatique

Page 2: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Organisation

Organisation de l’UE

• Cours : tous les lundis• TD et TP (sous Oracle) : lundis• Au debut de chaque cours : parfois une petite evaluation (QCM 10mn).• Derniere seance de TP : une evaluation TP.• Evaluation (examen E , TP) : max( (2E+TP)/3 ; E )• Tous les supports sur Ametice

Page 3: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Organisation de l’UE (cont’d)

Plan du cours• Vaste introduction• Le modele relationnel• Le langage SQL• Complements

Page 4: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Plan

Bases de donnees : de quoi parlons-nous ?

Systeme de Gestion de Bases de Donnees

Modelisation des donnees

Mise en oeuvre des SGBDs

Page 5: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Ou trouver des bases de donnees ?Partout (ou presque)

• Medecine• Biologie• Astronomie• Geographie• Administrations• Commerce et marketing• Production et gestion des stocks• Audiovisuel, arts• Tourisme, loisirs

Internet 2.0

Gestion des donnees personnelles

• Agenda• Repertoire• Bibliotheque

Page 6: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Qu’est-ce qu’une base de donnees ?

DefinitionUne base de donnees regroupe, au sein d’un stockage informatique de hautniveau, un ensemble de donnees de facon suffisamment organisees pourque ces donnees puissent etre facilement :

• retrouvees,• interrogees,• enrichies,• mises a jour,• supprimees,• comparees.

sans perturber la cohesion de l’ensemble.

Importance de la structure de l’ensembleL’organisation structuree de l’ensemble de donnees explicite sa cohesion.

Page 7: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Plus fort qu’un fichier excel !

Plus expressif que des tableaux.

Page 8: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Exemples et contre-exemples

Guess

1. Toute source de donnees

2. Un fichier texte

3. Un ensemble de fichiers texte

4. Un site internet quelconque

5. Le web dans son ensemble

6. Un repertoire de telephone

7. L’ensemble des informations utilisees par la SNCF pour le commerce debillets de train

8. La gestion des abonnes d’une bibliotheque

Page 9: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Les usagers des bases de donneesLes usagers interactifs

• Une personne quelconque, qui n’est pas toujours consciente qu’elleutilise une base de donnees.

• Une personne qui visualise des donnees via une interface conviviale(consultation d’horaires, consultation d’un catalogue de bibliotheque,achat en ligne d’un velo, etc.)

Les programmeurs d’applications

• Construisent les interfaces destinees aux usagers interactifs• Specialistes de langages informatiques propres a la manipulation et au

rendu de donnees (SQL, SPARQL, etc.)• Developpeur Web

Les administrateurs• (Definissent) maintiennent et securisent la base de donnees• Possedent plus de droits sur la base• Une competence recherchee

Page 10: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Types de bases de donnees

Les Bases de donnees personnelles : 10 a 100 KoUn repertoire telephonique, une CDtheque, etc.

Les Bases de donnees professionnelles : 100 Ko a 100 GoLes donnees clients d’une PME, le catalogue produits d’une pharmacie, lesdonnees administratives des patients d’un hopital, etc.

Les tres grandes Bases de donnees : plus de 100 GoLes donnees des voyages SNCF (1.5 To en 2006), qui s’appuient surd’autres bases de donnees.

Page 11: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Plan

Bases de donnees : de quoi parlons-nous ?

Systeme de Gestion de Bases de Donnees

Modelisation des donnees

Mise en oeuvre des SGBDs

Page 12: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Qu’est-ce qu’un Systeme de Gestion de Bases de Donnees ?Le SGBD Oracle est a une base de donnees, ce que Word est a un fichier.doc

Objectif

• Logiciel pour simplifier la tache de tous les usagers.• Aider au developpement et a l’exploitation des Bases de Donnees

CaracteristiquesLangage(s) specifique(s) pour :

• definition, programmation, et acces a la base de donnees ;• controle et securite des bases de donnees ;• optimisation des acces aux bases de donnees

Un logiciel de gestion

• Gestion des couches physiques et logiques• Outre les outils indispensables, modules supplementaires (generateurs

de rapports, utilitaires statistiques, interface web, outils de fouille, etc.)• Il existe plusieurs SGBDs...

Page 13: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Historique des SGBDs

Comment stocker les informations d’Apollo (1950-1960) ?

• Approche basee sur des fichiers• Fichiers relies par des pointeurs• Le programme gere les fichiers

• Structure du stockage visible• Dependance donnee - programme• Redondance des donnees :

problemes de maintenance• Lenteur

Page 14: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Historique des SGBDs

La pre-histoire (1960-1970)

• Approche navigationnelle (Bachman)• A base de fichiers geres par des arborescences de pointeurs

• Redondance limitee• Parcours toujours depuis racine, un record a la fois : encore couteux• Premiers vrais SGBD : approche toujours utilisee (IDS2, IMS2,

PHOLAS)

Page 15: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Historique des SGBDs (cont’d)

La revolution (1970) : le modele relationnel

• Publication de A Relational Model of Data for LargeShared Data Banks, juin 1970, par Edgar FrankCodd d’IBM

• Idees qui ont permis a Oracle Corporation de secreer (Larry Elisson), IBM n’ayant pas reagi

• Premier SGBD : 1980• Idee majeure : Independance des donnees

Succes du modele relationnel• Simplicite des concepts de base• Cadre theorique simple• Fonde sur un modele des donnees (donc respect de l’integrite)• Approche declarative de haut niveau (SQL)• SGBDs performants• Portabilite des bases et des applications

Page 16: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Historique des SGBDs (cont’d)

Inconvenients du modele relationnel• Types de donnees predefinis (non adapte aux donnees complexes)• Modelisation conceptuelle assez pauvre• Trop grande separation donnees / procedures• Theorie relationnelle non entierement exploitee (e.g. : contraintes

d’integrite)• Grand ecart entre SQL et langages de programmation• Non adapte a la fouille de donnees

SGBDs relationnelsLa plupart des SGBDs utilises sont relationnels :

• Oracle (1979)• PostgreSQL (1985)• Microsoft SQL Server (1989)• Microsoft Access (1992)• MySQL (1995)

Page 17: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Historique des SGBDs (cont’d)

L’ere post-revolutionnaire : les evolutions• Pour des applications de plus en plus complexes

1. Approches orientees-objet2. Approches par documents semi-structures (echanges de donnees)

• Pour prendre en consideration les idees de l’intelligence artificielle1. Bases de donnees deductives2. Outils de fouille de donnees3. Business Intelligence

• Absence de standards, absence de theorie unifiee• Avenir de no-sql ?

Page 18: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Plan

Bases de donnees : de quoi parlons-nous ?

Systeme de Gestion de Bases de Donnees

Modelisation des donnees

Mise en oeuvre des SGBDs

Page 19: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Modeliser pour structurer le reel

Separer description et manipulation des donneesNorme ANSI-SPARC

Description specification des structures des donnees, et de leurs types

Manipulation operation d’interrogation, d’insertion, de mise a jour, desuppression, etc.

ExempleLivres d’une bibliotheque

Description annee de la premiere edition, auteur(s), titre, editeur, langueoriginale, [traducteur], etc.

Manipulation ajouter livre, rechercher un livre a partir de son titre,emprunter un livre, etc.

Page 20: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Description des donneesDefinitionDonnees = ensembles d’entites relies par des associationsAssociations = ensembles de liens

Exemple : base de donnees cinematographiqueDonnees = ensemble des films, ensemble des acteurs, ensemble des liensentre les films et les acteurs

Decrire les donnees = definir tous ces ensembles via leurs proprietes(caracteristiques).

Notions essentielles• Type de donnees : construction informatique specifiant un ensemble de

valeurs (donnees) et les operations manipulant ces valeurs• Instance : une donnee particuliere appartenant a un type specifie,

munie d’un identifiant.• Modele de description specification d’un ensemble de types de

donnees.• Schema mise en oeuvre d’un modele de description a l’aide d’un

Langage de Description des Donnees (LDD souvent algebrique).

Page 21: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Exemples de description de donnees

Le type EntierLe type Entier, muni des operations standards de l’arithmetique, est un typede donnees elementaires.La valeur 12 est une valeur de ce type.La specification age=12 est une donnee.

Le type FilmLe type Film, a comme proprietes (caracteristiques) : titre,realisateur, langues, acteurs, duree, annee, etc. Il est munid’operations internes comme traduire. C’est un type compose.

Une instance de FilmLe film dont les proprietes sont ’Usual Suspects’, ’Bryan Singer’,[’anglais’, ’francais’], [’Byrne’, ’Spacey’, ’DelToro’], 108, 1994 est une instance du type Film dont l’identifiantpourrait etre le produit cartesien de chaque propriete nommee.

Page 22: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Niveaux d’abstraction d’un modele de donnees

Les trois niveaux de l’ANSI-SPARCPour faciliter construction, maintenance et evolution des bases de donnees :specification de la facon dont on passe de la vision de chaque utilisateurjusqu’a la representation en machine

schema interne – schema conceptuel – schemas externes

Page 23: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Le niveau conceptuelNiveau le plus importantDetaille avant la realisation de la base, car il conditionne

• les autres niveaux (vues des usagers exterieurs, et dev. dans le SGBD),• la qualite de la base,• la coherence des donnees a venir

Niveau conceptuel et modelisation du domaine

• Correspond a l’explication et la description semantique des concepts etrelations du domaine modelise

• Independant du SGBD, il reflete une realite coherente du domaine etdes acteurs de ce domaine

Couverture du niveau conceptuel

• Reference aux concepts elementaires (duree d’un film = entier positif quicorrespond au nombre de minutes)

• Definition des types composes : regroupement des proprietes nommeesd’un ensemble d’objet.

• Specification des regles qui doivent etre respectees (ex. un acteur doitobligatoirement avoir tourne dans un film)

Page 24: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Le niveau conceptuel (cont’d)

Exemples de types composes et d’association

FILM(titre, annee, duree, nbPrix, realisateur)ACTEUR(nom, prenom, dateNaissance, genre)

CASTING(FILM, ACTEUR, personnage)

Types et instancesLe niveau conceptuel ne specifie pas les instances de types oud’associations, mais on les imagine...

F 1(’La vie est belle’, 1998, 117, 6,’Roberto Benigni’)

A 1(’Benigni’, ’Roberto’, 1952 ’M’)A 2(’Braschi’, ’Nicoletta’, 1960, ’F’)

C 1(F 1, A 1, ’Guido Orefice’)C 2(F 1, A 2, ’Dora’)

Page 25: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Le niveau interne (ou physique)

Il derive du niveau conceptuel

• Niveau le plus proche de l’implantation• Concerne la facon dont les donnees sont stockees• Partiellement lie au choix du SGBD

Couverture du niveau interne• Les fichiers contenant les donnees• Les articles de ces fichiers (longueur, mode de placement, etc.)• Le mode d’acces a ces articles (pointeur, index, etc.)

Page 26: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Le niveau externe

Il depend du niveau conceptuelIndependant du niveau interne, chaque niveau externe :

• specifie des vues differentes associees aux differents groupesd’utilisateurs,

• specifie ses droits d’acces

Plusieurs niveaux externes possibles

• Exemple de la base SNCF : vues differentes (DRH, controleurs,conducteurs, usagers, etc.)

• Base cinematographique :

Page 27: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Grossierement a la FNAC...

SAVproduits

mp3paiement

carte_fidelitépromotionscodes_barres

prixHT

stock

magasinsemployés

publicités

concert

contrats

forum

ordinateursphoto

congésclients

ventes

fournisseursphoto

web

clients

clients

chef de rayon

clients fidèles

caissier

directeur magasin

interne conceptuel externe

Page 28: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Le modele entite-relationObjectifPour realiser un schema conceptuel, le modele E-R permet de decrirevisuellement les types composes (les entites) et les liens qu’ils entretiennent(les relations).

Notions principales

• Agregation : construction d’un objet complexe a l’aide d’objets pluselementaires

• Distinction entre agregations de donnees elementaires (ce qui composele type FILM), et relations entre entites (la relation CASTING).

• Entite = agregation d’attributs elementaires• Une relation peut s’etablir entre des entites, et posseder des attributs.

Page 29: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Plan

Bases de donnees : de quoi parlons-nous ?

Systeme de Gestion de Bases de Donnees

Modelisation des donnees

Mise en oeuvre des SGBDs

Page 30: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Caracteristiques des SGBDsIndependance programmes / donneesGestion des donnees en respectant l’independance des programmes auxdonnees, tant aux niveaux logique que physique.

• Niveau physique = les aspects materiels de stockage et d’acces• Niveau logique = les aspects fonctionnels d’organisation, de

recuperation, et de manipulation.

Independance physique

• Si modification du schema interne, les programmes d’applications nesont pas modifies (ajout de fichier, suppression d’index, etc.)

• Modifier les proprietes de stockage ne doit pas alterer le schemaconceptuel

• Quid de l’inverse ? Non.

Independance logique

• Si modification d’un schema externe, les autres schemas externes et leschema conceptuel ne doivent pas etre touches

• Quid de l’inverse ? Partiellement.

Page 31: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Manipulation a l’aide d’un langage NON-procedural

Le Quoi plutot que le Comment, HTML versus Java

Garantir l’independance

• Un usager voit les donnees independamment de leur implementation enmachine

• Consultation des donnee affranchie du schema interne• Le moyen physique d’acceder et de mettre a jour les donnees est la

probleme du SGBD, pas du programmeur

Langages de tres haut niveau

• Pour s’adresser a la base de donnees via entites nommees, relationsnommees, et proprietes nommees

• Base sur l’algebre et la logique du premier ordre• Plusieurs classes selon usager

Page 32: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Administration des donnees

Cycle de vie d’une base de donnees

1. Description (trois niveaux)

2. Creation

3. Evolution (des trois niveaux), schema et donnees

Faciliter la gestionNecessite d’outils d’administration, aide a la gestion de la coherence

Coherence des donneesLe SGBD doit veiller a cette coherence, sur la base de ce que leprogrammeur a exprime declarativement – via contraintes d’integrite etdeclencheurs.

• Respect des proprietes elementaires (la duree d’un film est positive, lenom d’un acteur ne doit pas etre inconnu alors qu’on accepte que ladate d’un film le soit, etc.)

• La modification ou la suppression de donnees peut alterer les autres(enlever un acteur de la base doit mener a enlever toutes les donneesde casting qui impliquaient cet acteur)

Page 33: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Efficacite des acces aux donnees

Mesures• debit (nombre de transactions elementaires par seconde)• temps de reponse (temps moyen pour une requete type)

Objectifs des SGBDs : etre bons !

• Les petites requetes ne doivent pas attendre la fin des grandes,• Probleme : acces disque (10 ms), solutions inspirees des systemes

d’exploitation (ex. tampon en memoire vive)• Autre probleme : langages de haut niveau.

Page 34: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Partage et securite des donnees

Acces concurrentsLes donnees (une ressource) sont accessibles simultanement par plusieursusagers (toute type d’usager, lecture et ecriture).

La notion de transactionUne transaction est un programme consultant ou modifiant une base dedonnees, dont l’execution est indivisible.

• Exemple : reservation d’un billet de train (acces simultane au memesiege)

• Deux transactions concurrentes ne doivent pas etre emmelees pourassurer la coherence : on reserve pour Paul de Nantes puis pourJacques de Nancy (sans que cela ne se voit...)

Securite des donnees• Restauration a l’identique apres une panne (transaction interrompue ?)• Gestion des droits d’acces

Page 35: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Fonctionnalites des SGBDs

Quelques exemples de fonctionnalites pour atteindre les objectifs.• Langage de description des donnees• langage de modification des donnees• Langage d’interrogation des donnees• Fonctions de transformation des donnees• Fonctions de gestion de l’integrite

Page 36: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Description des donnees

Reservee aux administrateurs (et concepteurs) : comment sont structureeset rangees les donnees (schema conceptuel et ce qui en decoule)

Un langage dedie

• LDD algebrique (type LDD de SQL)• 3 niveaux de langages (interne a externe)• Assistance graphique• Controle d’integrite par le SGBD a chaque transaction

Exemple

CREATE TABLE Film ( titre TEXT, annee DATE,duree INTEGER, nbPrix INTEGER,realisateur VARCHAR) ;

CREATE INDEX idxFilmAnnee ON Film (annee) ;

Integrite : avant que la table Film soit creee : il ne doit pas y avoir une tableFilm deja existante (sinon, message d’erreur du SGBD)

Page 37: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Interrogation des donnees (requetes)

Une fonctionnalite majeure des SGBDs

Quels sont les trains au depart de Marseille et arrivant a Lille, le 25 octobre2015 a partir de 12h, ayant des places disponibles en deuxieme classe ?

Un langage assertionnel dedieIndications pour retrouver les donnees par leur contenu, en fonction de ladescription (schema conceptuel) et de ce qui est accessible dans le schemaexterne.

Notion de qualification

• Propre a SQL, c’est une expression logique impliquant des criteressimples.

• Pour comparer les donnees entre elles, ou avec des valeurs donnees

Notion de navigationDes operateurs utiles pour parcourir les relations entre entites : la navigationpermet de construire des requetes complexes.

Page 38: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Interrogation des donnees (requetes) (cont’d)

Page 39: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Interrogation des donnees (requetes) (cont’d)

Page 40: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Interrogation des donnees (requetes) (cont’d)

Exemple (SQL)Selection des films ayant ete realises apres 1997

SELECT titreFROM FilmWHERE annee > TO_DATE(’1997’, yyyy) ;

Autre exemple (SQL, avec resultat IMDB)Selection du nombre de prix que chaque film (indique par son titre et le nb depris obtenus) a obtenu, a condition que le titre contienne le mot suspect, etque le film ait ete realise apres 1990.

SELECT titre, nbPrixFROM FilmWHERE titre LIKE ’%suspect%’ AND annee > 1990 ;

’The usual suspects’ 18’Prime suspect’ 5’Suspect down’ NULL

Page 41: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Ajout, modification et suppression de donnees

Un langage dedie

• partie du LMD (modif donnees), et partie du LDD (modif description)• Ajout, modification et suppression en toute coherence : importance de

specifier (lors de la description de la base), les contraintes a respecter• Criteres de modification, de suppression• Lors d’une suppression : consequences en cascade a prevoir (si

possible des la description de la base)

ExemplesAjout d’un champ dans la table Acteur, puis ajout des initiales pour chaqueacteur :ALTER TABLE Acteur ADD (initiales VARCHAR) ;UPDATE TABLE ActeurSET initiales = FIRST(nom)+.+first(PRENOM)+’.’ ;Ajout d’un filmINSERT INTO Film (’Into the wild’, TO DATE(’2008’, yyyy),147, 0, ’Penn’) ;Suppression de donneesDELETE FROM Casting WHERE personnage = ’Popeye’ ;

Page 42: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Transformation de donnees

interne ⇔ conceptuel =⇔ externeRegles de correspondances definies par concepteur

Page 43: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Gestion de l’integrite

Fonctionnalite importante des SGBDs

Explicitation des regles de coherence

• Le concepteur exprime les regles a l’aide du langage dedie• Le SGBDs garantit le respect de ces regles

Differents types de contraintes

• Chaque instance d’entite est munie d’un identifiant uniqueContrainte de cle primaire

• Une relation associe deux entitesContrainte referentielle

• Les valeurs des attributs d’entites doivent appartenir a un ensembleprecise (sous-ensemble d’un type de donnees)

Contrainte de domaine

Page 44: Bases de Donnees Relationnelles´ - lis-lab.fr...Les trois niveaux de l’ANSI-SPARC Pour faciliter construction, maintenance et evolution des bases de donn´ ees :´ specification

Bases de donnees : de quoi parlons-nous ? Systeme de Gestion de Bases de Donnees Modelisation des donnees Mise en oeuvre des SGBDs

Bibliographie indicative

Quelques livres

• Bases de donnees, par J.L. Hainaut, Dunod (2009)• Bases de donnees relationnelles, par C. Christment et al.,

Hermes-Lavoisier (2008)• Algebre relationnelle, par M. Clouse, Eni, 2008.

Sur internet• http://sql.developpez.com/

• http://oracle.developpez.com/faq/

•http://www.oracle.com/technetwork/indexes/documentation/index.html

•http://www.oracle.com/pls/db112/homepage?remark=tahiti