●Damien BRÉMONT : –Administrateur Systèmes et Réseaux au CNRS ●Ingénieur CNAM III-SI en devenir –Gestion du parc du LPTHE ●Physique Théorique et des Hautes ÉnergiesLaboratoire de ●120 Linux Fedora Core, 10 Mac OS X, 1 Windows –Enseignant vacataire à l'IUT de Saint Malo ●Cours de Base de données de 1ère année ●Cours de Linux en licence professionnelle
Avant-propos
●cours est distribué sous la licence GNUCe FDL (Free Documentation Licence), ●Il peut être librement copié, modifié, distribué, tant que l'intégralité de cette licence est respectée. –La GNU FDL est disponible sur http://www.gnu.org/licenses/fdl.html
1.Historique et concepts 2.Modélisation Conceptuelle des Données 3.Théorie de la normalisation 4.Passage au modèle relationnel 5.Stockage Physique 6.Modèle Relationnel 7.SQL 8.Contraintes et Intégrité 9.Transactions 10.Les bases de données pour un ASR
Introduction et concepts
Définition
●de Données : (BDD - Data Base)Base –Structure de données permettant de recevoir, de stocker, et de fournir à la demande, des données à de multiples utilisateurs indépendants
Introduction
●Constats : –Les activités humaines génèrent de plus en plus de données –Les données ont souvent la même structure –On veut un accès facile à ces données –Tout le monde veut y accéder
Définition
●Système de Gestion de Bases de Données –(SGBD Data Base Management System) –Ensemble de logiciels supportant un modèle de données et permettant de mettre en oeuvre une BDD assurant : ●La description et la gestion des données ●La cohérence des données ●Gestion des accès concurrents ●La gestion des droits utilisateurs ●Retour à un état cohérent en cas d'incident
Objectifs d'un SGBD
●Indépendance logique des programmes ●Indépendance physique des programmes ●Manipulation par langages non procéduraux ●Facilité d'administration ●Efficacité des accès
Architecture fonctionnelle
Outils SGBD et non SGBD
Analyseur de requêtes SQL Contrôle Optimiseur Vis-à-vis DD de requêtes Noyau SGBD Exécution des requêtes
BD
Organisation SGBD
●SGBD externe –Interprétation syntaxique des requêtes –Présentation des données ●SGBD interne –Traitement des requêtes –Gestion des objets ●Gestionnaire de fichiers
L'approche client-serveur
Client Application cliente
Interface de programmation Interface de communication Protocole de transport
SQL Réseau Données
Serveur SGBD
Interface serveur Interface de communication Protocole de transport
Historique SGBD
●Années 60 : fichiers reliés par des pointeurs –Séparation description des données/langage d'accès –SGBD de type réseaux ou hiérarchiques ●CODASYL ●Années 70 - 80 : modélisation, SQL –Objectif : représenter le réel –Visent à faciliter l'accès aux données ●Oracle, Sybase, DB2, Ingres
Le marché des SGBD
●SGBD 2004 : 14,9 Milliards de $Marché +8,3% en 2005 ●Parts de marché : Éditeur Produit 2004 2005 IBM DB2 / Informix 30,60% 34,00% Oracle Oracle 41,30% 33,30% Microsoft SQL Server 13,40% 19,00% Sybase Sybase 3,10% 3,70% NCR Teradata NCR Teradata 3,10% 3,14% Total 91,50% 93,14%
Source IDC (2004), Data Base developpement survey (2005)
Historique SGBD
●Années 80 : BDD Objets, réparties –Représenter le plus fidèlement le réel –Répondre aux nouveaux besoins nés de l'Internet et du multimédia ●ObjectStore, O2, Intersystem Caché
Les SGBD libres
●Très forte croissance du nombre d'installation –32 % des SGBD installés ●Produits arrivés à maturité ●Très utilisés dans les applications orientées web
Plan du cours
1.Historique et concepts 2.Modélisation Conceptuelle des Données 3.Théorie de la normalisation 4.Passage au modèle relationnel 5.Stockage Physique 6.Modèle Relationnel 7.SQL 8.Contraintes et Intégrité 9.Transactions 10.Les bases de données pour un ASR
La modélisation conceptuelle des données (MCD) ●Objectif final : Modéliser le monde réel ●Objectifs MCD –Représenter de manière structurée, synthétique et fidèle les données du système dinformation indépendamment de son implantation physique. –Construire le référentiel du projet –Documenter le système dinformation
La modélisation conceptuelle des données (MCD)
La MCD
●Démarche : –sur le discours (parlé ou écrit) desCentrée utilisateurs en langueNaturelle ●Importance du MCD : –Sert à l'évaluation des coûts –Une erreur peut avoir des conséquences lourdes sur le projet
La modélisation conceptuelle des données (MCD) ●Exemple de MCD –Le modèle Entité-Relation ou Entité-Association –Proposé en 1976 par P. Chen –Normalisé en 1988 par l'ANSI
Entité
●Objet ayant un existence dans le monde réel et clairement identifiable Client Commande Fournisseur
Produit Année Date Livraison budgétaire
Règles de construction
●Le modèle E/R comprend : –Des entités –Des relations ou associations –Des propriétés ou attributs –Des contraintes
Relation ou association
●Association entre entités précisant un événement du réel –Exemple de relation binaire : Cardinalités
Client1,1n,0PassCommande e
Association Pattes
Relation particulières
●Relation n-aires
●Relation récursive
Mariage
1,1 Concluent 0,10,1 HommeFemme
Personne0,1 Mari Se marie 0,1 Femme
Cardinalités / occurrences
●Occurrence –Nombre d'apparition dans une relation ●Synonyme : ligne, tuple, enregistrement ●Cardinalités –Nombre de fois minimum et maximum d'une occurrence dans une relation
Entité faible
●Entité n'existant que si l'entité maître existe
Salarié
0,n A 1,1 Enfant
Exemple de cardinalités
●Cardinalité min : 0/1, Cardinalité max : 1/n Employé Facture Facture Fournisseur
1,1 1,1 1,1 1,n Est affecté Porte sur Porte sur Fournit 1,1 0,1 0,n 0,n Poste Commande Commande Produit
●Les cardinalités doivent être vérifiées à tout instant
●Combinaison minimale de propriétés permettant d'identifier une occurrence de manière unique dans une relation –Clé simpleClient NumClient Clé simple Nom Adresse
●Naturelle(le nom d'un employé) ●Composée –Numéro de sécurité sociale –=>Peut alors être considérée globale ou concaténée ●Artificiellet)en(uNCmil
Caractéristiques d'une clé
●Univaluée ●Discriminante ●Stable ●Minimale
Clé candidate
●Un individu peut posséder une ou plusieurs clés distinctes appelées clés candidates Employé NumEmp Clé primaire NumSecuSoc Clé candidate Adresse ●La clé retenue est nommée clé primaire
Contraintes inter relations
●Types de contraintes –Domaines ●Inclusion I ●Simultanées SEntité 1 ●Exclusion X –Représentation ●Partielle P ●Totale T
Entité 2
Relation A ? Relation B
Entité 3
Notation
●Deux façons de représenter une entité –Textuelle ●ETUDIANT(NUM_ETU, NOM, PRENOM) –Graphique ETUDIANT _ NUM ETU NOM PRENOM Dans tous les cas les clés sont soulignées
Contraintes inter relations exemples Equipe recherche Est-dans
Enseignant
ITEnseignant chercheur Vacataires
TravailleEntreprise
Les sous types
●Permet de faire apparaître une notion de spécialisation Personne Matricule Nom
1.Historique et concepts 2.Modélisation Conceptuelle des Données 3.Théorie de la normalisation 4.Passage au modèle relationnel 5.Stockage Physique 6.Modèle Relationnel 7.SQL 8.Contraintes et Intégrité 9.Transactions 10.Les bases de données pour un ASR
La théorie de la normalisation
Les dépendances fonctionnelle
●On dit qu'un attribut (ou groupe d'attribut) Y est dépendant fonctionnellement d'un autre X –Si à une valeur de X est associée une valeur de Y ●Exemple de DF –VOITURE(nv, couleur, marque, puissance, modèle) ●>-vneurcoul ●modèle -> marque ●modèle -> puissance ●(puissance et marque) -> modèle
Lathéoriedelanormalisa
●Objectif : permet de définir une méthode de conception de "bonnes" tables : ●Sans redondances ●une bonne sémantique entre les donnéesAvec ●Sans valeurs nulles
t
=>S'appuie sur la notion de dépendances fonctionnelle entre attributs
Type de DF
●Réflexivité : l'ensemble d'attribut Y est inclus dans X –alors X -> Y ●Augmentation : Si X détermine Y, les deux ensembles peuvent être enrichis par un troisième Z –si X -> Y –alors XZ=> YZ ●Transitivité : –si X->Y et Y->Z –alors X -> Z