Bases de données Jacques Le Maitre Université du Sud Toulon-Var Ce cours est mi

Bases de données Jacques Le Maitre Université du Sud Toulon-Var Ce cours est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France Bibliographie C. J. Date, Introduction aux bases de données, Vuibert, 2001. P. Delmal, SQL2 - SQL3 Applications à ORACLE, De Boeck Université, 2001. H. Garcia-Molina, J. D. Ullman, J. Widom, Database Systems: the Complete Book, Computer Science Press, 2002. G. Gardarin, Bases de données, Eyrolles, 2003. P. M. Lewis, A. Bernstein, M. Kifer, Databases and Transaction Processing. An Application-Oriented Approach, Addison-Wesley, 2002. J. Melton, A. R. Simon, SQL:1999 Understanding Relational Language Components, Morgan Kaufman Publishers, 2002. Jacques Le Maitre BD et SGBD 2 Jacques Le Maitre BD et SGBD 3 Table des matières Introduction Modèle entité-association Modèle relationnel Du modèle entité-association au modèle relationnel Algèbre relationnelle SQL Normalisation Organisation physique Résolution des requêtes Concurrence et reprise Introduction Qu’est ce qu’une base de données ? Une base de données (BD) est un ensemble d’informations archivées dans des mémoires accessibles à des ordinateurs en vue de permettre le traitement des diverses applications prévues pour elles. L’intérêt d’une BD est de regrouper les données communes à une application dans le but : d’éviter les redondances et les incohérences qu’entraînerait fatalement une approche où les données seraient réparties dans différents fichiers sans connexions entre eux, d’offrir des langages de haut niveau pour la définition et la manipulation des données, de partager les données entre plusieurs utilisateurs, de contrôler l’intégrité, la sécurité et la confidentialité des données, d’assurer l’indépendance entre les données et les traitements. Les bases de données sont gérées par des logiciels spécialisés appelés systèmes de gestion de bases de données (SGBD). Jacques Le Maitre BD et SGBD 5 Jacques Le Maitre BD et SGBD 6 Le modèle ANSI-SPARC ... Schéma externe ou vue Schéma externe ou vue Schéma externe ou vue niveau externe Schéma conceptuel niveau conceptuel ou logique Schéma interne niveau interne ou physique Jacques Le Maitre BD et SGBD 7 Schéma conceptuel Le schéma conceptuel est une représentation du monde réel auquel se rapporte la BD. Principaux concepts : entité (ou objet) : une personne, un livre propriété (ou attribut) : le titre d’un livre, l’adresse d’une personne association : entre une personne et le livre dont elle est l’auteur agrégat : une adresse composée d’une rue et d’un code postal collection : un ensemble de personnes, une liste de prénoms Jacques Le Maitre BD et SGBD 8 Principaux modèles conceptuels 1ère génération : hiérarchique (IMS d’IBM) réseau (DBTG CODASYL) 2e génération : relationnel entité-association 3e génération : modèle orienté objet modèle objet-relationnel UML 4e génération (les données du Web) XML Exemple Soit une BD décrivant les livres d’un bibliothèque et leurs auteurs. On suppose qu’un livre est identifié par sa cote et un auteur par son nom. On se place à l’instant où la bibliothèque contient : un seul livre, ayant la cote BD/46 et le titre « Les BD en BD », écrit par Jean Dupont né en 1960 et Pierre Durand né en 1953. Jacques Le Maitre BD et SGBD 9 Jacques Le Maitre BD et SGBD 10 Exemple en relationnel Schéma livre(cote: texte, titre: texte) auteur(nom: texte, prénom: texte, année_naissance: entier) écrire(cote: texte, nom: texte) Extension livre cote titre BD/46 Les BD en BD auteur nom prénom année_naissance Dupont Jean 1960 Durand Pierre 1953 écrire cote nom BD/46 Dupont BD/46 Durand Exemple en orienté objet  Schéma  classe livre attribut cote: texte attribut titre: texte attribut écrit_par: liste(auteur) classe auteur attribut nom: texte attribut prénom: texte attribut année_naissance: entier méthode age(): entier {année_courante - self->année_naissance} livres: ensemble(livre) auteurs: ensemble(auteur)  Instances  (l1, {cote = "BD/46", titre = "Les BD en BD", écrit_par = [a1,a2]}) (a1, {nom = "Dupont", prénom = "Jean", année_naissance = 1960}) (a2, {nom = "Durand", prénom = "Pierre", année_naissance = 1953})  Variables persistantes  livres = {l1} auteurs = {a1, a2} Jacques Le Maitre BD et SGBD 11 Jacques Le Maitre BD et SGBD 12 Exemple en XML (1)  <!ELEMENT bd (livres, personnes) <!ELEMENT livres (livre*)> <!ELEMENT livre (cote, titre, écrit_par*)> <!ELEMENT cote (#PCDATA)> <!ELEMENT titre (#PCDATA)> <!ELEMENT écrit_par EMPTY> <!ATTLIST écrit_par ref IDREF> <!ELEMENT auteurs (personne*)> <!ELEMENT auteur (nom, prénom, année_naissance)> <!ATTLIST auteur id ID> <!ELEMENT nom (#PCDATA)> <!ELEMENT prénom (#PCDATA)> <!ELEMENT année_naissance (#PCDATA)> Jacques Le Maitre BD et SGBD 13 Exemple en XML (2)  <bd> <livres> <livre> <cote>BD/46</cote> <titre>Les BD en BD</titre> <écrit_par ref="a1"/><écrit_par ref="a2"/> </livre> </livres> <auteurs> <auteur id="a1"> <nom>Dupont</nom> <prénom>Jean</prénom> <année_naissance>1960</année_naissance> </auteur> <auteur id="a2"> <nom>Durand</nom> <prénom>Pierre</prénom> <année_naissance>1953</année_naissance> </auteur> </auteurs> </bd> Schéma externe Un schéma externe représente la façon dont un utilisateur final ou un programme d’application voit la partie de la BD qui le concerne. Il existe en général plusieurs modèles externes pour une même BD. Le schéma conceptuel d’une BD peut être complexe : les schémas externes donnent aux utilisateurs une vision plus simple de ce schéma. Les schémas externes permettent aussi de protéger la BD contre des manipulations incorrectes ou non autorisées, en cachant certaines données à certains utilisateurs. Jacques Le Maitre BD et SGBD 14 Jacques Le Maitre BD et SGBD 15 Schéma interne Le schéma interne décrit l’organisation des données en mémoire secondaire (sur disque) et la façon d’y accéder. L’organisation choisie doit permettre : d’accéder le plus rapidement possible à un ensemble de données vérifiant certaines conditions, de créer, modifier ou supprimer des données avec une réorganisation minimale et une utilisation optimale de la place disponible. Jacques Le Maitre BD et SGBD 16 Architecture d’un SGBD On distingue 3 grands types d’architecture : architecture centralisée, architecture client-serveur, architecture trois-tiers. Jacques Le Maitre BD et SGBD 17 Architecture centralisée Application SGBD BD BD BD Jacques Le Maitre BD et SGBD 18 Architecture client-serveur réseau informatique serveur BD BD BD SGBD (partie serveur) client Application SGBD (partie client) Jacques Le Maitre BD et SGBD 19 Architecture trois tiers Serveur d’application Serveur Web (2) BD SGBD (3) Navigateur présentation Navigateur présentation (1) (Clients) Langage de bases de données C’est au travers d’un langage déclaratif sont réalisées la définition et la manipulation d’une BD. Le plus connu et le plus utilisé de ces langages est SQL. Modes d’utilisation : intégré dans un langage hôte (C, Java…), autonome. Jacques Le Maitre BD et SGBD 20 Jacques Le Maitre BD et SGBD 21 Exécution d’une requête réponse requête Analyse Optimisation Contrôles Exécution BD Contrôles Intégrité Les données stockées dans une BD doivent respecter un certain nombre de contraintes dites d’intégrité. Un SGBD doit assurer qu’elles sont toujours respectées. Confidentialité Un SGBD doit permettre d’interdire à certaines personnes de réaliser certaines opérations sur une partie ou sur toute la BD. Concurrence Plusieurs utilisateurs se partagent la même BD. Un SGBD doit gérer les conflits qui peuvent se produire lorsqu’ils manipulent simultanément les mêmes données de façon à ce que la BD ne soit pas mise dans un état incohérent. Reprise après panne Après une panne, qu’elle soit d’origine logicielle ou matérielle, un SGBD doit être capable de restaurer la BD dans un état cohérent, le même ou le plus proche de celui précédant la panne. Jacques Le Maitre BD et SGBD 22 Jacques Le Maitre BD et SGBD 23 Transactions Pour un SGBD l’unité de traitement est la transaction. Une transaction est un fragment de programme qui fait passer une BD d’un état cohérent à un autre état cohérent, par une suite d’actions élémentaires. Un exemple classique de transaction est l’opération qui transfère une somme S d’un compte bancaire A à un compte bancaire B : début transaction solde(A) = solde(A) - S solde(B) = solde(B) + S fin transaction Il est clair que cette opération ne doit pas être interrompue entre le débit de A et le crédit de B. Indépendance données-traitements L’indépendance données-traitements est indispensable pour pouvoir faire évoluer facilement l’organisation logique ou physique d’une BD ou bien l’architecture matérielle du SGBD qui la gère. L’indépendance données-traitements permet si elle est atteinte : de modifier l’organisation physique (par exemple ajouter un index pour un accès plus rapide) sans modifier le schéma conceptuel ou les programmes d’applications, de modifier le schéma conceptuel (par exemple ajouter un nouveau type d’entité ou d’association) sans modifier les programmes d’applications non concernés par cet modification. On parle aussi d’indépendance logique et d’indépendance physique. Jacques Le Maitre BD et SGBD 24 Qui intervient sur une BD ? L’administrateur (une personne ou une équipe) : Il définit le schéma conceptuel de la BD et le fait évoluer. Il fixe les paramètres de l’organisation physique de façon à optimiser les performances. Il gère les droits d’accès et les mécanismes de sécurité. Les programmeurs d’application : Ils définissent les schémas externes et construisent les programmes qui alimentent ou exploitent la BD en vue d’applications particulières. Ils utilisent pour cela le langage de bases de données du SGBD, éventuellement couplé avec un langage de programmation classique. Les utilisateurs finaux : Ils accèdent à la BD au travers des outils construits par les programmeurs d’applications ou pour les plus avertis au travers du langage uploads/Sante/ bdr-bd-pdf.pdf

  • 97
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 26, 2022
  • Catégorie Health / Santé
  • Langue French
  • Taille du fichier 2.3395MB