PLAN DU COURS Rappel sur SGBD : définitions, modèles Fondements théoriques du modèle relationnel Concepts pour la définition et l intégrité des données langage SQL Concepts pour la manipulation des données langage SQL Systèmes d information et méthodes de conception Conception d une base de données relationnelle Normalisation du schéma relationnel Transactions et Accès concurrents Triggers, langage procédural PL/SQL Langage de programmation et SQL Notions d Organisation et d architecture interne dans les SGBD Introduction aux fonctions d administration Année 2010-2011 1
Définition AFNOR d une Base de données = structure de données permettant de recevoir, de stocker, et de fournir à la demande, des données à de multiples utilisateurs indépendants Année 2010-2011 2
Base de données = ensemble structuré de données partagées entre plusieurs applications, dans lequel les structures de données exploitées représentent aussi bien les données du monde réel que les associations entre ces données Année 2010-2011 3
Système de Gestion de Base de Données (SGBD) = Ensemble de composants logiciels permettant la mise en oeuvre de bases de données dans le respect d un modèle de structuration logique des données. Cet ensemble doit pour cela répondre à un ensemble défini d objectifs en implémentant les différentes fonctionnalités correspondantes. Année 2010-2011 4
Principaux objectifs d un SGBD indépendance dans la définition des données du monde réel, par rapport aux structures physiques de stockage partage, qui peut être simultané, des données entre plusieurs applications indépendance logique des visions propres à chaque application non redondance des données cohérence des données sécurité des données Année 2010-2011 5
Principales fonctionnalités d un SGBD description et gestion des données selon le modèle implémenté gestion du partage des données : concurrence d accès, intégrité des données, vues utilisateurs gestion de la confidentialité : droit d accès, autorisation d accès gestion de la sécurité des données : prévention, reprise mise à disposition d outils d aide pour : la création, l exploitation, l audit, l analyse des performances Année 2010-2011 6
Architecture ANSI/X3/SPARC d un SGBD 3 + 1 niveaux de description des données niveau conceptuel structuration sémantique des données du monde réel indépendamment des contraintes d implantation sur une machine niveau interne structure de stockage des données (organisation et mode d accès physiques) niveau externe Visions spécifiques aux utilisateurs niveau logique Prolongement du niveau conceptuel avec prise en compte des contraintes imposées par le SGBD en terme d organisation logique et d accès logique aux données Année 2010-2011 7
SYSTEMES DE GESTION DE BASES DE DONNEES ARCHITECTURE ANSI/X3/SPARC Année 2010-2011 8
Modèle logique de données Approche «système» La base de données est vue comme un ensemble de fichiers reliés par des pointeurs modèle CODASYL (Conference on Data Systems Language) 3 concepts de base : - concept de donnée ou atome = attribut élémentaire ou data item (champ). - concept de type d enregistrement = record = article : produit cartésien de data item ; défini comme unité d échange entre la base de données et les applications - concept de lien fonctionnel = set type : lien entre deux types d enregistrement, l owner et le member ; c est un lien de type père -> fils Année 2010-2011 9
Modèle logique de données modèle CODASYL (Conference on Data Systems Language) Année 2010-2011 10
Modèle logique de données Approche «système» Les deux modèles ci-dessous, hiérarchique et réseau, s appuient sur le modèle CODASYL modèle hiérarchique ne permet de représenter qu un seul type d association : père-fils (représentation du monde réel sous forme d un arbre); Exemple : IMS (IBM) modèle réseau permet la représentation de tous types d associations (représentation du monde réel sous forme d un graphe) Exemple : IDS.II (Bull) Année 2010-2011 11
Modèle logique de données modèle hiérarchique : exemple Base vinicole représentant : les vins, les buveurs de vins, les quantités de vin consommées par les buveurs à différentes dates, les producteurs de vins, les commandes passées par les buveurs aux producteurs Année 2010-2011 12
Modèle logique de données modèle réseau : exemple Base vinicole représentant : les vins, les buveurs de vins, les quantités de vin consommées par les buveurs à différentes dates, les producteurs de vins, les commandes passées par les buveurs aux producteurs Année 2010-2011 13
Modèle logique de données Approche «formelle» aucune référence n est faite à un modèle physique de stockage modèle RELATIONNEL permet, en s appuyant sur une théorie mathématique élaborée, de représenter de façon simple, sous forme de table aussi bien les objets du monde réel, que les associations entre ces objets modèle OBJET s appuie sur le concept d objet qui permet d associer dans une même structure les données et les traitements, et qui permet de gérer entre autres les concepts d héritage, de généralisation/spécialisation Année 2010-2011 14
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Selon CODD Structures pour définir les données Composantes d un modèle de données Opérateurs pour manipuler les données Règles d Intégrité pour traduire les contraintes liées à la définition des données par les structures du modèle Année 2010-2011 15
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations ENSEMBLE = collection d objets possédant tous une propriété P E = { e i / P(e i ) } Année 2010-2011 16
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations OPERATIONS SUR LES ENSEMBLES Union Soit E = { ei / P(ei) }, soit F = { ei / Q(ei) }, E F = { ei / P(ei) Q(ei) } x E F si et seulement si x E ou x F Intersection Soit E = { ei / P(ei) }, soit F = { ei / Q(ei) }, E F = { ei / P(ei) Q(ei) } x E F si et seulement si x E et x F Année 2010-2011 17
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations OPERATIONS SUR LES ENSEMBLES Différence Soit E = { ei / P(ei) }, soit A = { ei / Q(ei) } et A E, soit B = { ei / R(ei) } et B E, A - B = { ei / Q(ei) R(ei) } x A - B si et seulement si x A et x B Produit Cartésien Soit E = { ei / P(ei) }, soit F = { ei / Q(ei) }, E x F = { (x,y) / P(x) Q(y) } (x,y) E x F si et seulement si x E et y F Année 2010-2011 18
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations RELATIONS BINAIRES Soient deux ensembles E et F, une relation binaire R entre des éléments de E et des éléments de F, est un sous-ensemble G de ExF. On dit que x est en relation avec y et on note R (x,y) ssi (x,y) G E x F Année 2010-2011 19
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations RELATIONS GENERALISÉES Définition du produit cartésien de n ensembles Soit E 1, E 2,,E n, n ensembles définis par E k = { x / P k (x) } Π E k = E 1 x E 2 x E 3 x... x E n = { (x 1,x 2,.,x n ) / P K (x K ) } (x 1,x 2,.,x n ) Π E k si et seulement si x K E k On considère un produit cartésien de n ensembles et on se donne une partie G de ce produit cartésien: G E k, on définit ainsi une relation n- aire sur les ensembles Ek. On notera R (x 1,x 2,.,x n ) si et seulement si (x 1,x 2,.,x n ) G Π E k Année 2010-2011 20
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Eléments de théorie des ensembles et relations OPERATIONS SUR LES RELATIONS une relation est un ensemble, donc toutes les opérations sur les ensembles s y appliquent. RELATION versus PREDICAT Une proposition est une assertion qui est soit vraie soit fausse mais pas les deux. Un prédicat est une assertion portant sur des variables qui est soit vraie, soit fausse (mais pas les deux) selon les valeurs affectées aux variables. Une relation peut être définie par un prédicat. Année 2010-2011 21
MODELE RELATIONNEL : RAPPEL DES FONDEMENTS THEORIQUES Modèle Relationnel de Codd versus théorie des ensembles Structures Relation + sémantique du monde réel modélisé Opérateur Opérateurs sur les ensembles, opérateurs sur les relations Règles d Intégrité Règles garantissant l intégrité des données dans une modélisation relationnelle Année 2010-2011 22
SGBDR actuels SGBD Relationnel Objet (SGBDRO) Principe Modèle Relationnel + Intégration de quelques concepts OBJET : -Types utilisateur -Encapsulation -Héritage -Objets complexes PostgreSql SGBDRO libre Mise en œuvre de la quasi-totalité du modèle relationnel Apport objet : classes, héritage, types, fonctions. Oracle SGBDRO commercial Mise en œuvre de la quasi-totalité du modèle relationnel Apport objet : classes, héritage, types, fonctions Nombreux utilitaires d administration et d audit Année 2010-2011 23