Syst emes d’information et bases de donn...

Preview:

Citation preview

  • Systèmesd’informationet bases de

    données

    V. Augusto

    1/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Systèmes d’information et bases de données

    Vincent Augusto

    École Nationale Supérieure des Mines de Saint-Étienne

    2010-2011

  • Systèmesd’informationet bases de

    données

    V. Augusto

    2/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    3/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Contenu du cours :

    • Techniques pour l’analyse et la modélisation de données :• Modèle Entité/Association ;• Modèle relationnel ;• Algèbre relationnelle.

    • Langage de définition/manipulation des données : SQL.• Aperçu de méthodes de modélisation : MERISE, UML.• Sécurité et intégrité des données.

    Objectifs :

    • Comprendre l’utilité et le fonctionnement des modèlesconceptuels et relationnels.

    • Savoir utiliser un SGBD et connâıtre le langage SQL.• Faire le lien avec les techniques de modélisation et de

    simulation.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    4/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Base de données

    Base de données :Collection de données structurées, enregistrée sur la mémoireexterne, accessible simultanément par plusieurs utilisateurs.

    Une base de données doit être :

    • indépendente d’applications particulières ;• cohérente ;• de redondance minimale ;• accessible simultanément par plusieurs utilisateurs.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    5/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    SGBD

    Système de Gestion de Base de Données :

    Logiciel (ou ensemble de logiciels) capable d’assurer la créationet l’utilisation des bases de données.

    Une SGBD doit assurer :

    • la définition des bases et des � objets � contenus ;• la manipulation des données ;• la confidentialité ;• l’intégrité ;• la sécurité.

    Utilisation d’un modèle de données :Représentation abstraite de l’information et éventuellement desopérateurs de manipulation de l’information (relationnel,hiérarchique, orienté objet).

  • Systèmesd’informationet bases de

    données

    V. Augusto

    6/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    7/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Ce modèle propose des concepts permettant de décrire unensemble de données relatives à un domaine défini afin de lesintégrer ensuite dans une BD.⇒ Création d’un Modèle Conceptuel de Données (MCD).

    Entité :

    • Ensemble d’objets réels ou abstraits, ayant chacun uneexistance propre, partageant un ensemble de propriétéscommunes et présentant un intérêt pour l’entreprise.

    • Distinction entre classe d’entités (l’ensemble) et sesoccurrences (éléments de l’ensemble).

    • Exemples : personnes, produits, idées, documents, etc.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    8/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Relation :

    • Association entre deux entités au moins.• Relations unaire (entre une entité et elle-même), binaire,

    ou n-aire.

    • Exemple : relation fait partie de entre une infirmière et unservice.

    Attributs :

    • Caractéristiques descriptives d’une entité ou d’une relation.• Type de données 6= Valeur de l’attribut.• Exemple : nom, prénom, âge d’un patient.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    9/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Identifiant et cardinalité

    Identifiant ou clé :

    • Attribut permettant d’identifier de manière unique chaqueoccurrence d’une classe d’entités ou de relations.

    • L’identifiant d’une relation est l’union des identifiants desentités qu’elle met en relation.

    • Si une entité est identifiable par plusieurs identifiants, l’und’eux est choisi comme clé primaire.

    Cardinalités :

    • Caractérisation des types de relations (fonctionnalité).• Représentation au moyen de deux valeurs (Cmin,Cmax) :

    • 1 : 1 pour les correspondances bijectives ;• 1 : n pour les correspondances de type parent-enfants ;• n : 1 pour les correspondances surjectives ;• m : n pour les correspondances de type croisé (produit

    cartésien).

  • Systèmesd’informationet bases de

    données

    V. Augusto

    10/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Exemple de MCD : le blocopératoire

    • La cadre-infirmière du bloc doit connaitre pour chaquepatient son nom, son prénom et sa pathologie.

    • Chaque patient est opéré par un certain chirurgien dansune certain salle opératoire à une certaine date.

    • Chaque patient suit un traitement médical particulier.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    11/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Exemple de MCD : le blocopératoire

    Associations :

    • Subit une intervention de type 1 :N• � dans une salle opératoire sont opérés plusieurs patients �• � un patient n’est opéré que dans une seule salle

    opératoire �

    • Est opéré par de type N :M• � chaque patient peut être opéré par plusieurs

    chirurgiens �• � chaque chirurgien peut opérer plusieurs patients �

    • Suit un traitement de type 1 :N• � un patient peut suivre plusieurs traitements �• � un traitement n’est pris que par un seul patient �

  • Systèmesd’informationet bases de

    données

    V. Augusto

    12/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    13/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Intérêt du modèle relationnel :

    • Utilisation facile des schémas de données (formetabulaire).

    • Rigueur des concepts permettant l’utilisation des outilsmathématiques et algorithmiques.

    • Modèle adéquat au niveau conceptuel : indépendancephysique-logique.

    • Offre des LMD (langages de manipulation de données)non-procéduraux.

    ⇒ Création d’un Modèle Logique de Données Relationnel(MLD Relationnel).

  • Systèmesd’informationet bases de

    données

    V. Augusto

    14/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Définitions

    Attribut :Un attribut Ai est un identificateur (un nom) décrivant uneinformation stockée dans une base.

    Domaine :Le domaine Di d’un attribut est l’ensemble de ses valeursadmissibles.

    Relation :Une relation est un sous-ensemble du produit cartésien den > 0 domaines d’attributs. Elle peut être représenté sous laforme d’un tableau dans lequel les n attributs sont les titres desn colonnes.

    Schéma de relation :Soit la relation r : R(A1 : D1,A2 : D2, . . . ,An : Dn).

  • Systèmesd’informationet bases de

    données

    V. Augusto

    15/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Représentation

    Entité :

    Patientnom

    prenomdateNaissance

    Schéma de relation :Patient(nom : chaine, prenom :chaine, dateNaissance : date)

    Attributs :nom, prenom, dateNaissance

    Relation sous forme tabulaire :

    Patient nom prenom dateNaissanceDuss Jean-Claude 16/04/1952Leblanc Juste 08/12/1947Perrin François 16/08/1934

  • Systèmesd’informationet bases de

    données

    V. Augusto

    16/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Définitions

    Clé primaire d’une relation :

    Une clé primaire est un ensemble d’attributs K vérifiant :

    • Unicité : les valeurs des clés primaires sont uniques et nonnulles.

    • Minimalité : aucun attribut composant K ne peut êtreenlevé sans perdre la propriété d’unicité.

    Contrainte d’intégrité :

    Propriété devant être vraie sur toutes les extensions du schémade la relation :

    • CI de domaine : contrôle syntaxique et sémantique desvaleurs associées aux attributs.

    • CI d’entité : concerne les valeurs de la clé primaire(unicité, minimalité).

    • CI de référence : la valeur d’un groupe d’attributs est laclé primaire d’une autre relation.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    17/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Définitions

    Clé étrangère d’une relation :

    Groupe d’attributs qui apparâıt comme clé primaire dans uneautre relation.

    Exemple :

    Patient nom prenom dateNaissance idTraitementDuss Jean-Claude 16/04/1952 2Leblanc Juste 08/12/1947 5Perrin François 16/08/1934 42

    SGBD totalement relationnel :Un SGBD est dit � totalement relationnel � lorsqu’il assure lestrois CI et lorsqu’il fournit une interface d’interrogation ayant lapuissance du langage algébrique.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    18/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    MCD → MLDR

    Règles de passage du MCD au MLDR :

    1 Les entités du MCD deviennent des relations, leurspropriétés deviennent des attributs. L’identifiant de l’entitédevient la clé primaire.

    2 Une association de type 1 :N disparâıt : l’identifiant d’uneentité est incorporé dans la relation correspondant àl’autre entité (si l’association est porteuse de propriétés,elles migrent également).

    3 Une association de type N :M devient une relation R. Laclé primaire de R est obtenue en concaténant lesidentifiants des entités qui participent à l’association R.Les propriétés de l’association R deviennent des attributsde R.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    19/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Exercice

    Construire les MCD et MLDR correspondants à ladescription suivante :

    L’objectif consiste à construire le MCD d’un aéroport. Lespilotes (identifiant, nom, années d’expérience) sont affectés àdes vols. Un vol est identifié par un identifiant chiffré, une villede départ, une ville d’arrivée, une heure de départ et une heured’arrivée. Un avion est réquisitionné pour chaque vol, identifiépar un identifiant chiffré, un nom, une capacité et unelocalisation.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    20/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    21/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Langage algébrique :

    • Collection d’opérations formelles qui agissent sur desrelations pour produire d’autres relations.

    • Modèle relationnel basé sur la théorie des ensemble :utilisation d’opérateurs classiques de manipulation desensemble (union, intersection, différence, produitcartésien).

    • Introduction d’opérateurs propres aux bases de données.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    22/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Opérations de baseSoient 2 relations R1 et R2 de même schéma.

    Union (opérateur d’extension)

    Opération binaire portant sur R1 et R2 produisant une relationR3 de même schéma ayant pour t-uples ceux appartenant à R1et R2. R3 = R1 ∪ R2.

    Différence (opérateur de restriction)

    Opération binaire portant sur R1 et R2 produisant une relationR3 de même schéma ayant pour t-uples ceux appartenant à R1mais pas à R2. R3 = R1 − R2.Soient 2 relations R1 et R2 de schémas quelconques.

    Produit cartésienOpération binaire portant sur R1 et R2 produisant une relationR3 ayant pour schéma la concaténation des attributs de R1 etR2 et pour t-uples les combinaisons des relations opérandes.R3 = R1 × R2.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    23/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Opérations relationnelles

    Projection

    Opération unaire portant sur R1 qui produit une relation R2 enenlevant du schéma de R1 tous les attributs non mentionnés enopérande et en éliminant les t-uples en double.R2 = ΠAi ,Aj ,Ak (R1).

    Patient nom prenom dateNaissanceDuss Jean-Claude 16/04/1952Leblanc Juste 08/12/1947Perrin François 16/08/1934

    R2 = {P[nom, prenom]|Patient(P)}SELECT nom, prenom FROM Patient

    nom prenom

    Duss Jean-ClaudeLeblanc JustePerrin François

  • Systèmesd’informationet bases de

    données

    V. Augusto

    24/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Opérations relationnelles

    SélectionOpération unaire portant sur R1 qui produit une relation R2 demême schéma ayant pour t-uples ceux vérifiant la conditiondonnée en opérande. σcond(R1) = R2.

    Patient nom prenom dateNaissanceDuss Jean-Claude 16/04/1952Leblanc Juste 08/12/1947Perrin François 16/08/1934Duss Jean-Marie 19/04/1956

    R2 = {P[nom, prenom]|Patient(P) ∧ (P[nom] =′ Duss ′)}SELECT nom, prenom FROM Patient WHERE nom=’Duss’

    nom prenom dateNaissance

    Duss Jean-Claude 16/04/1952Duss Jean-Marie 19/04/1956

  • Systèmesd’informationet bases de

    données

    V. Augusto

    25/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Opérations relationnelles

    JointureOpération binaire portant sur R1 et R2 consistant à rapprocherles t-uples des 2 relations selon un critère C pour former unerelation R3 qui contient l’ensemble des t-uples du produitcartésien R1 × R2 vérifiant le critère C . R3 = R1 1 R2.

    Patient nom prenomDuss Jean-ClaudeLeblanc JustePerrin François

    Traitement id nom1 Duss2 Leblanc3 Pommier

    R3 = {P[nom],T [id ]|Patient(P) ∧Traitement(T ) ∧ (P[nom] =T [nom])}SELECT Patient.nom, Traitement.id FROM Patient,Traitement WHERE Patient.nom=Traitement.nom

    nom idTraitement

    Duss 1Leblanc 2

  • Systèmesd’informationet bases de

    données

    V. Augusto

    26/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Exercice

    Répondre aux questions suivantes grâce à l’algèbrerelationnelle :

    1 Quels sont les numéros des pilotes qui conduisent un vol ?

    2 Quels sont les numéros et capacités des avions nommés� Airbus � ?

    3 Donner pour chaque vol son numéro et le nom du pilote.

    4 Quels sont les noms des pilotes qui conduisent tous lesairbus ?

  • Systèmesd’informationet bases de

    données

    V. Augusto

    27/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    28/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    SQL (Structured Query Language :

    • Créé par IBM en 1979 pour � System R �.• Langage hybride, combinaison de l’algèbre relationnelle et

    du calcul relationnel.

    • Langage � déclaratif �, non-procédural.• Permet l’interrogation d’une base de données.

    Langage normalisé :

    • LID : Langage d’Intégration des Données (sélection).• LMD : Langage de Manipulation des Données.• LDD : Langage de Définition des Données (ajout,

    suppression).

    • LCD : Langage de Contrôle des Données et desutilisateurs.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    29/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Recherche

    SELECT [ALL|DISTINCT] chaine de sélectionFROM nom de table [SYNONYME][WHERE condition]

    Paramètres :

    • La chaine de sélection est la liste des colonnes surlesquelles on fait une projection.

    • La clause FROM précise la table sur laquelle la rechercheest faite.

    • La clause WHERE précise une condition pour critère desélection.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    30/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Recherche : exemples (1/2)

    Obtenir le nom et le prénom de tous les patients

    SELECT nom,prenomFROM Patient

    Obtenir l’ensemble des informations relatives auxtraitementsSELECT *FROM Traitement

    Lister les noms des patients de plus de 30 ans

    SELECT nomFROM PatientWHERE age>30

  • Systèmesd’informationet bases de

    données

    V. Augusto

    31/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Recherche : exemples (2/2)

    Obtenir les traitements dont la posologie est ’1 fois parjour’ ou ’2 fois par jour’

    SELECT *FROM TraitementWHERE posologie=’1 fois par jour’ OR posologie=’2 fois parjour’

    Obtenir le nom des patients ayant entre 20 et 30 ans etcommençant par ’A’

    SELECT nomFROM PatientWHERE age BETWEEN 20 AND 30 AND nom LIKE ’A%’

  • Systèmesd’informationet bases de

    données

    V. Augusto

    32/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Recherche avec jointure

    SELECT [ALL|DISTINCT] chaine de sélectionFROM liste de tables[WHERE condition]

    Quels sont les noms des patients opérés dans la salle 1 :

    SELECT nomFROM Patient,SalleOperatoireWHERE SalleOperatoire.id=1 (sélection)AND SalleOperatoire.id=Patient.idSO (jointure)

    Quels sont les noms des patients dont la posologie dutraitement est ’1 fois par jour’ :

    SELECT nomFROM Patient,TraitementWHERE Traitement.posologie=’1 fois par jour’ (sélection)AND Patient.nom=Traitement.nomPatient (jointure)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    33/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Expressions SQL

    Fonctions de calcul

    • COUNT (*) compte le nombre d’éléments d’une sélection.• SUM|AVG|MIN|MAX (*) permettent le calcul de sommes,

    de moyennes, de minimum et de maximum.

    Expressions caractères

    • UPPER (expression)• LOWER (expression)• SUBSTRING (expression FROM debut FOR longueur)• POSITION (expression 1 IN expression 2)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    34/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Tri et groupement de lignes

    SELECT [ALL|DISTINCT] chaine de sélectionFROM liste de tables[WHERE condition][ORDER BY liste de colonnes [ASC|DESC]] (mise en forme)ou[GROUP BY liste de colonnes [HAVING condition]] (moyen detrouver un résultat)

    Clauses :

    • ORDER BY : tri par ordre croissant ou décroissant.• GROUP BY : réarrange la table en groupes de lignes à

    raison d’un groupe pour chaque valeur différente associéeà la liste de colonnes.

    • HAVING : premet de spécifier une condition qui seraévaluée pour chaque groupe.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    35/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Sélections imbriquées

    Sous-requête indépendante :

    • IN : insertion d’une requête interne.

    Condition ALL/ANY :

    Possible quand la sous-requête retourne un ensemble devaleurs.

    • ALL : l’évaluation de la comparaison est vraie pour toutesles valeurs obtenues dans une colonne sélectionnée.

    • ANY : l’évaluation de la comparaison est vraie pour aumoins une valeur du résultat de la sous-requête.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    36/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Ajout de données

    INSERT INTO nom de table [(liste de colonnes)]VALUES (liste de valeurs) | expression de sélection

    Ajout d’un patient dans la base :

    INSERT INTO Patient (nom,prenom,dateNaissance)VALUES (’Bono’,’Jean’,’01/03/1970’)

    Ajout d’une partie des patients dans une autre table :

    INSERT INTO PatientBisSELECT *FROM PatientWHERE age>80

  • Systèmesd’informationet bases de

    données

    V. Augusto

    37/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Modification de données

    UPDATE nom de tableSET liste de colonnes valeur[WHERE condition]

    Modification de l’âge d’un patient :

    UPDATE PatientSET age=age-2WHERE nom=’Duss’

  • Systèmesd’informationet bases de

    données

    V. Augusto

    38/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Suppression de données

    DELETE FROM nom de table[WHERE condition]

    Supprimer tous les patients dont la pathologie est ’AVC’ :

    DELETE FROM PatientWHERE pathologie=’AVC’

    Supprimer tous les patients dont l’opération a lieu dans lasalle de type A :

    DELETE FROM PatientWHERE idSalle IN (SELECT id FROM SalleOperatoireWHERE type=’A’)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    39/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Création

    Création de relationsCREATE TABLE nom de la table (éléments de la table)

    Création de bases de donnéesPermet le regroupement de définitions de domaines, derelations, de contraintes, de vues, de privilèges se rapportant àune même application.CREATE SCHEMA nom de la base [liste d’éléments]

    Définition de vues :Table virtuelle, dynamique, calculée à partir des relations de labase de données par une requête.CREATE VIEW nom de la vue (éléments de la table)AS (spécification de la requête)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    40/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Exercice

    Algèbre relationnelle → SQL :Traduire en SQL les requêtes de l’exercice précédent.

    Écrire les requêtes SQL suivantes :

    1 Quel est le nom du pilote le plus expérimenté ?

    2 Lister par ordre alphabétique le nom des pilotes.

    3 Indiquer le nombre de vols au départ de chaque ville.

    4 Indiquer le nombre de vols au départ de chaque ville,assurés par au moins deux pilotes différents.

    5 Indiquer les numéros des pilotes qui conduisent des airbus.

    6 Indiquer les numéros et la capacité des avions airbussachant que l’on ne retiendra que ceux de capacitésupérieure aux boeing.

    7 Quels sont les numéros des pilotes qui conduisent unairbus ?

  • Systèmesd’informationet bases de

    données

    V. Augusto

    41/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    42/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Contrôle de concurrence et gestiondes défaillances

    Objectif d’un SGBD :

    Permettre à plusieurs utilisateurs de travailler en parallèle endonnant à chacun l’illusion de travailler seul.

    Conséquence :

    Mise en œuvre de protocoles permettant :

    • de synchroniser les traitements concurrents ;• d’annulerou de compléter les effets partiels des activités

    interrompues par les défaillances.

    → Protocoles transactionnels.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    43/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Contrat de cohérencetransactionnel

    Transaction :Script décrivant des opérations (Lecture/Écriture) sur les objetsdu SI.

    Propriétés d’une transaction :

    A Atomicité : une transaction est soit validée, soitabandonnée.

    C Cohérence : une transaction préserve la cohérence desobjets qu’elle manipule (ressort de l’utilisateur).

    I Isolation : les effets d’une transaction sont invisibles auxtransactions concurrentes.

    D Durabilité : les effets d’une transaction validée sontpermanents.

    Un SI est dit transactionnel s’il assure les propriétés A, I et D.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    44/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Confidentialité

    Assurer la confidentialité des données :

    • Contrôler les flux de données (déclencheurs, cryptage).→ Interdire l’accès à certaines colonnes/enregistrements.

    • Contrôler les autorisations d’accès.→ Accorder ou retirer des privilèges à des sujets ou surdes objets.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    45/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Cohérence

    Assurer la cohérence des données :Contrôle sémantique assuré par les contraintes d’intégrité :

    • CI structurelles (CI de domaine, d’entité, de référence).• CI applicatives : conditions que doit vérifier un

    sous-ensemble d’information pour affirmer qu’elles sontcohérentes.

    Base de données cohérente :Base de donnée dont l’ensemble des CI est respecté.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    46/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Isolation

    Transaction :Unité de traitement séquentiel executée pour le compte d’unusager qui, appliqué à une BD cohérente, restitue une BDcohérente.

    Action élémentaire :Lecture ou écriture de données, manipulation de données.

    Problèmes soulevés par les accès concurrents aux données :

    Soient deux transactions T1 et T2 :T1 : Lire A ; A← A + 1 ; Ecrire A ; Lire B ; B ← B + 1 ; Ecrire B ;T2 : Lire A ; Afficher A ; Lire B ; Afficher B ;

    Que se passe-t-il si ces transactions sont exécutéessimultanément ?

  • Systèmesd’informationet bases de

    données

    V. Augusto

    47/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Problème 1 : mise à jour perdue

    T1 T2

    Lire A→ a1 A = 10Lire A→ a2a2 + 1→ a2Ecrire a2 → A

    a1 + 1→ a1Ecrire a1 → A A = 11

    Dépendence Écriture/Écriture

  • Systèmesd’informationet bases de

    données

    V. Augusto

    48/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Problème 2 : lecture impropreT1 T2

    Lire A→ a1 A = 10a1 + 1→ a1

    Ecrire a1 → A A = 11Lire A→ a2Afficher a2 A = 11Lire B → b2Afficher b2 B = 10

    Lire B → b1 B = 10b1 + 1→ b1

    Ecrire b1 → B B = 11

    CI : A = B

    Dépendence Écriture/Lecture

  • Systèmesd’informationet bases de

    données

    V. Augusto

    49/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Contrôle des accès concurrents

    Contrôleur :Le contrôleur (scheduler) du SGBD est chargé de contrôlerl’accès des transactions à certaines parties de la BD.

    Granule :Unité de la BD dont l’accès est contrôlé par le contrôleur(enregistrement, fichier).

    Principe de résolution des accès concurrents :

    Éviter la génération d’exécutions incorrectes en faisant attendreles transactions qui veulent exécuter des opérationsconflictuelles sur un même granule.→ Ne laisse s’exécuter simultanément que des opérationscompatibles.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    50/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Verouillage de données

    Verrou :Marque posée par une transaction sur le granule qu’elle désirelire ou écrire afin d’en limiter ou d’en interdire l’accès.

    Mode de vérouillage :

    • Exclusif (X) : tout autre accès au granule est interdit.• Partagé (S) : consultation possible (lecture) mais MAJ

    impossible.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    51/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Verouillage : exemple

    T1 T2

    Lock (A,X )Lire A→ a1a1 + 1→ a1 Lock (A,X )

    Ecrire a1 → A (attente)Unlock (A) (attente)

    Lire A→ a2a2 + 2→ a2Ecrire a2 → AUnlock (A)

    Mise à jour non perdue

  • Systèmesd’informationet bases de

    données

    V. Augusto

    52/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Intégrité face aux pannes

    • Garantie des propriétés de durabilité (D) et d’atomicité(A).

    • Assurer la cohérence de la BD en dépit des panneslogicielles ou matérielles.

    Types de pannes :

    • Défaillance logicielle : erreur de programme, abandon detransaction, redémarrage de l’application.

    • Défaillance machine : redémarrage du système.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    53/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Mécanismes de reprise sur panne

    Deux utilitaires sont proposés par le SGBD :

    • Journal des transactions : fichier sauvegardé sur mémoiresecondaire contenant les informations nécessaires à lareprise (valeurs des données et modifications effectuées).

    • Points de reprise : sauvegarde complète de la BD et dujournal à intervalles réguliers.� yyy � yyy . . .

    Problème :Quelle politique de sauvegarde ?

    • à quelle fréquence ?• avec ou sans journal ?• quelle quantité de travail est-on prêt à perdre ?

  • Systèmesd’informationet bases de

    données

    V. Augusto

    54/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    55/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Système de Gestion de Bases de Données :

    • Logiciel capable d’assurer la création et l’utilisation desbases de données.

    • Fonction assurées :• définition des bases de données et des

    � objets � contenus ;• manipulation des données ;• intégrité ;• confidentialité ;• sécurité.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    56/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Définition et manipulationDéfinition des données :

    • Via un langage de description des données (LDD) ou uneinterface graphique.

    • Description de la nature des données et de leurs liens logiques.

    • Schéma d’une base = sa description en LDD.

    • Sous-schéma d’une base = partie visible par un programme ouun groupe de programmes.

    Manipulation des données :

    • Assurer la communication entre la BD et les clients (utilisateursou programmes) : recherche, création, modification, suppression.

    • Via un langage de manipulation des données (LMD), uneinterface graphique ou un langage hôte (C, C++, Java).

    • Via une interface web.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    57/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Intégrité et confidentialité

    Intégrité des données :

    • Assurer la qualité des données enregistrées.• Assurer les CI spécifiées lors de la création de la base.• Assurer les CI spécifiées seulement au niveau logique et

    assurées par la programmation.

    Confidentialité des données :

    • Assurée par le biais de mots de passe et de privilègesd’accès.

    • Assurée aussi par l’utilisation des sous-schémas de BD.• Nécessaire dans le cas d’accès de plusieurs utilisateurs à la

    base.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    58/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Sécurité et gestion des accès

    Sécurité de fonctionnement :

    • Permettre la remise rapide de la base en état opérationnellors d’un incident matériel ou logiciel.

    • Assurée par le dédoublement (réplication) ou lajournalisation et ré-exécution automatique.

    Gestion des accès concurrents :

    • Assurer la cohérence des données en cas des accèssimultanés sur une même donnée.

    • → Verrouillage en cas de modification.• → Permission d’accès multiple en lecture.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    59/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Implémentation physique desSGBD

    • Il existe une grande indépendance entre la coucheabstraite que constitue le SGBD et la couche physique quesont le ou les fichiers constituant une base de données.

    • Il n’existe pas d’ordre spécifique pour les tables dans unebase ou pour les colonnes dans une table, même si leSGBD en donne l’apparence.

    Types de SGBD :

    • SGBD fichier : utilisent un service de fichiers associés àun protocole de réseau afin d’accéder aux données.

    • SGBD client/serveur : utilisent une applicationcentralisée dite serveur de données.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    60/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Schéma d’utilisation de SGBD(1/3)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    61/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Schéma d’utilisation de SGBD(2/3)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    62/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Schéma d’utilisation de SGBD(3/3)

  • Systèmesd’informationet bases de

    données

    V. Augusto

    63/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    1 Présentation

    2 Modèle Entité-Relation

    3 Modèle relationnel

    4 Algèbre relationnelle

    5 SQL

    6 Contrôle et gestion

    7 SGBD

    8 Un SGBD hospitalier : CACHÉ

  • Systèmesd’informationet bases de

    données

    V. Augusto

    64/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Caché en quelques mots :

    • Développé et commercialisé par InterSystems.• Base de données objet-relationnelle très répandue dans le

    milieu hospitalier.

    • Avantages : fiabilité, flexibilité, simplicité, faibleadministration.

    • API serveur personnalisable.• Services web en natif.• Framework de développement web 2.0 en natif.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    65/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Présentation

    Fusion des accès Objet et Relationnel :

    • Caché est une base de données relationnelle (SQL) et unebase de donnée orientée objet.

    • Toutes les données sont accessibles en SQL ou en objet.

    Définition ObjetClass Patient {property name as %String ;property age as %Integer ;}

    Définition SQLCREATE TABLE Patient (name varchar(50),age integer)

    ⇒ Dictionnaire de donnéesUn seul jeu de données

  • Systèmesd’informationet bases de

    données

    V. Augusto

    66/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Modèles relationnel et objet

    Modèle relationnel :

    • SQL avec extensions objet (syntaxes simplifiées).• Accessible avec ODBC, JDBC et ADO.Net.

    Modèle objet :

    • Héritage multiple, spécialisation, polymorphisme.• Langage de script spécifique (Caché Object Script).

  • Systèmesd’informationet bases de

    données

    V. Augusto

    67/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Plateforme intégrée côté serveur

    Caractéristiques :

    • serveur d’applications ;• accès natif Objet ou

    SQL sans mappingObjet-Relationnel ouRelationnel-Objet.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    68/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Architecture

  • Systèmesd’informationet bases de

    données

    V. Augusto

    69/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Projection Objets

    • Génération des proxies de ses classes dans différentslangages cibles.

    • Disponible pour C++, Java, etc.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    70/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Applications

    Principales applications par ordre d’importance :

    • Systèmes d’Informations Hospitaliers et laboratoirespharmaceutiques :

    • 60 % des hôpitaux dans le monde ;• 10 plus grands hôpitaux US ;• 70 % des laboratoires d’analyses ;• 60 % des fournisseurs majeurs d’applications Santé.

    • Administrations• Finance/Assurance• Bibliothèques• Gestion hôtelière• Fret Aérien• Industrie...

  • Systèmesd’informationet bases de

    données

    V. Augusto

    71/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Implantations dans les hôpitauxfrançais

    • CHU de Nantes• CHU de Nice• CH d’Arras• CH de Roubaix• Groupe Hospitalier Saint Vincent de Strasbourg• CH de Toulon• CH de Hyères• CH de Guingamp• CH de Lannion• CH de Saint Brieuc• CH de Quimper• CH de Selestat• CH de Digne• Maternité Régionale Adolphe Pinard• CH de la Côte Basque...

  • Systèmesd’informationet bases de

    données

    V. Augusto

    72/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Application aux systèmeshospitaliers

    Confidentialité et sécurisation des données

    • Informatisation du dossier médical du patient.• Accès restreint selon l’utilisateur (droits et privilèges).• Gestion des accès concurrentiel (verrou).

    Simplicité d’administration et faible coût de possession

    • Interfaces de gestion simples.• Mise en place de formulaires et/ou d’applications web

    (ASP, PHP).

    • Personnalisation des interfaces de saisie en fonction del’utilisateur.

  • Systèmesd’informationet bases de

    données

    V. Augusto

    73/73

    Présentation

    ModèleEntité-Relation

    Modèlerelationnel

    Algèbrerelationnelle

    SQL

    Interrogation

    Tri etgroupement delignes

    Sélectionsimbriquées

    Manipulationdes données

    Definition dedonnées

    Contrôle etgestion

    SGBD

    Un SGBDhospitalier :CACHÉ

    Application aux systèmeshospitaliers

    Maintenance, mise à jour et sauvegarde

    • Maintenance de la base de données en temps réel.• Solutions de sauvegarde (logicielles et matérielles).• Accès concurrentiel permettant mises à jour sans risque

    d’incohérence.

    Portabilité

    • Capacité d’adaptation à un SGBD tiers.• Récupération et conversion de données sans risque de

    pertes.

    • Cohabitation avec les méthodes de gestion de donnéesactuelles ou inamovibles.

    PrésentationModèle Entité-RelationModèle relationnelAlgèbre relationnelleSQLInterrogationTri et groupement de lignesSélections imbriquéesManipulation des donnéesDefinition de données

    Contrôle et gestionSGBDUn SGBD hospitalier : CACHÉ

Recommended