Vincent Augusto 2010-2011



Documents pareils
Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

16H Cours / 18H TD / 20H TP

1 Introduction et installation

Bases de données relationnelles

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Introduction au Système de Gestion de Base de Données et aux Base de Données

Cours Bases de données

Rappel sur les bases de données

Le langage SQL Rappels

Cours Base de données relationnelles. M. Boughanem, IUP STRI

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Le Langage SQL version Oracle

Langage SQL : créer et interroger une base

Bases de Données. Plan

Les bases de données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Introduction aux Bases de Données

Présentation du module Base de données spatio-temporelles

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Information utiles. webpage : Google+ : digiusto/

Bases de données et sites WEB Licence d informatique LI345

CREATION WEB DYNAMIQUE

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

SQL Historique

Bases de données avancées Introduction

Bases de Données relationnelles et leurs systèmes de Gestion

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Conception des bases de données : Modèle Entité-Association

Bases de données cours 1

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Bases de données relationnelles & SQL

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Bases de données Outils de gestion

INTRODUCTION : Données structurées et accès simplifié

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Bases de Données Avancées

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Systèmes de Gestion de Bases de Données

Bases de données Cours 1 : Généralités sur les bases de données

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Modélisation de bases de données : Le modèle relationnel

TP Bases de données réparties

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Notes de cours : bases de données distribuées et repliquées

1 Modélisation d une base de données pour une société de bourse

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

PHP 5. La base de données MySql. A. Belaïd 1

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Le langage SQL (première partie) c Olivier Caron

PROJET 1 : BASE DE DONNÉES REPARTIES

Modélisation des données

Base de Données et Langage SQL

MODE OPERATOIRE OPENOFFICE BASE

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Cours Bases de données 2ème année IUT

Introduction aux Bases de Données Relationnelles Conclusion - 1

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Implémentation des SGBD

Le Langage De Description De Données(LDD)

Évaluation et implémentation des langages

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

FileMaker 13. Guide de référence SQL

A QUOI SERVENT LES BASES DE DONNÉES?

Méthode d analyse Merise

Architectures d'intégration de données

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

BTS/CGO P10 SYSTEME INFORMATION Année

Chapitre 1 : Introduction aux bases de données

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Nom de l application

Introduction aux Bases de Données

Groupe Eyrolles, 2004 ISBN :

Devenez un véritable développeur web en 3 mois!

UML et les Bases de Données

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Systèmes d information et bases de données (niveau 1)

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Réplication des données

OpenPaaS Le réseau social d'entreprise

IFT3030 Base de données. Chapitre 1 Introduction

Cours SQL. Base du langage SQL et des bases de données

UE 8 Systèmes d information de gestion Le programme

Mise en œuvre des serveurs d application

Conception d une base de données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de données - Modèle relationnel

Transcription:

le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73

le des Un 2/73 1 2 3 4 le 5 6 7 8 Un

le des Un 3/73 Contenu du cours : Techniques pour l analyse et la modélisation de : Entité/Association ; ; le. Langage de définition/manipulation des :. Aperçu de méthodes de modélisation : MERISE, UML. Sécurité et intégrité des. Objectifs : Comprendre l utilité et le fonctionnement des modèles conceptuels et s. Savoir utiliser un et connaître le langage. Faire le lien avec les techniques de modélisation et de simulation.

Base de le des Base de : Collection de structurées, enregistrée sur la mémoire externe, accessible simultanément par plusieurs utilisateurs. Une base de doit être : indépendente d applications particulières ; cohérente ; de redondance minimale ; accessible simultanément par plusieurs utilisateurs. Un 4/73

le des Un 5/73 Système de Gestion de Base de Données : Logiciel (ou ensemble de logiciels) capable d assurer la création et l utilisation des bases de. Une doit assurer : la définition des bases et des objets contenus ; la manipulation des ; la confidentialité ; l intégrité ; la sécurité. Utilisation d un modèle de : Représentation abstraite de l information et éventuellement des opérateurs de manipulation de l information (, hiérarchique, orienté objet).

le des Un 6/73 1 2 3 4 le 5 6 7 8 Un

le des Ce modèle propose des concepts permettant de décrire un ensemble de relatives à un domaine défini afin de les intégrer ensuite dans une BD. Création d un Conceptuel de Données (MCD). Entité : Ensemble d objets réels ou abstraits, ayant chacun une existance propre, partageant un ensemble de propriétés communes et présentant un intérêt pour l entreprise. Distinction entre classe d entités (l ensemble) et ses occurrences (éléments de l ensemble). Exemples : personnes, produits, idées, documents, etc. Un 7/73

le des : Association entre deux entités au moins. s unaire (entre une entité et elle-même), binaire, ou n-aire. Exemple : relation fait partie de entre une infirmière et un service. Attributs : Caractéristiques descriptives d une entité ou d une relation. Type de Valeur de l attribut. Exemple : nom, prénom, âge d un patient. Un 8/73

le des Un 9/73 Identifiant ou clé : Identifiant et cardinalité Attribut permettant d identifier de manière unique chaque occurrence d une classe d entités ou de relations. L identifiant d une relation est l union des identifiants des entités qu elle met en relation. Si une entité est identifiable par plusieurs identifiants, l un d eux est choisi comme clé primaire. Cardinalités : Caractérisation des types de relations (fonctionnalité). Représentation au moyen de deux valeurs (C min, C max ) : 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).

le Exemple de MCD : le bloc opératoire La cadre-infirmière du bloc doit connaitre pour chaque patient son nom, son prénom et sa pathologie. Chaque patient est opéré par un certain chirurgien dans une certain salle opératoire à une certaine date. Chaque patient suit un traitement médical particulier. des Un 10/73

Exemple de MCD : le bloc opératoire le des Un 11/73 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

le des Un 12/73 1 2 3 4 le 5 6 7 8 Un

le des Un 13/73 Intérêt du modèle : Utilisation facile des schémas de (forme tabulaire). Rigueur des concepts permettant l utilisation des outils mathématiques et algorithmiques. adéquat au niveau conceptuel : indépendance physique-logique. Offre des LMD (langages de manipulation de ) non-procéduraux. Création d un Logique de Données nel (MLD nel).

le des Un 14/73 Définitions Attribut : Un attribut A i est un identificateur (un nom) décrivant une information stockée dans une base. Domaine : Le domaine D i d un attribut est l ensemble de ses valeurs admissibles. : Une relation est un sous-ensemble du produit cartésien de n > 0 domaines d attributs. Elle peut être représenté sous la forme d un tableau dans lequel les n attributs sont les titres des n colonnes. Schéma de relation : Soit la relation r : R(A 1 : D 1, A 2 : D 2,..., A n : D n ).

Représentation le des Entité : Patient nom prenom datenaissance sous forme tabulaire : Schéma de relation : Patient(nom : chaine, prenom : chaine, datenaissance : date) Attributs : nom, prenom, datenaissance Patient nom prenom datenaissance Duss Jean-Claude 16/04/1952 Leblanc Juste 08/12/1947 Perrin François 16/08/1934 Un 15/73

le des Un 16/73 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 non nulles. Minimalité : aucun attribut composant K ne peut être enlevé sans perdre la propriété d unicité. Contrainte d intégrité : Propriété devant être vraie sur toutes les extensions du schéma de la relation : CI de domaine : contrôle syntaxique et sémantique des valeurs 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 la clé primaire d une autre relation.

le des Un 17/73 Définitions Clé étrangère d une relation : Groupe d attributs qui apparaît comme clé primaire dans une autre relation. Exemple : Patient nom prenom datenaissance idtraitement Duss Jean-Claude 16/04/1952 2 Leblanc Juste 08/12/1947 5 Perrin François 16/08/1934 42 totalement : Un est dit totalement lorsqu il assure les trois CI et lorsqu il fournit une interface d interrogation ayant la puissance du langage algébrique.

le des Un 18/73 Règles de passage du MCD au MLDR : MCD MLDR 1 Les entités du MCD deviennent des relations, leurs propriétés deviennent des attributs. L identifiant de l entité devient la clé primaire. 2 Une association de type 1 :N disparaît : l identifiant d une entité 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. La clé primaire de R est obtenue en concaténant les identifiants des entités qui participent à l association R. Les propriétés de l association R deviennent des attributs de R.

Exercice le des Construire les MCD et MLDR correspondants à la description suivante : L objectif consiste à construire le MCD d un aéroport. Les pilotes (identifiant, nom, années d expérience) sont affectés à des vols. Un vol est identifié par un identifiant chiffré, une ville de départ, une ville d arrivée, une heure de départ et une heure d arrivée. Un avion est réquisitionné pour chaque vol, identifié par un identifiant chiffré, un nom, une capacité et une localisation. Un 19/73

le des Un 20/73 1 2 3 4 le 5 6 7 8 Un

le des Langage algébrique : Collection d opérations formelles qui agissent sur des relations pour produire d autres relations. basé sur la théorie des ensemble : utilisation d opérateurs classiques de manipulation des ensemble (union, intersection, différence, produit cartésien). Introduction d opérateurs propres aux bases de. Un 21/73

le des Un 22/73 Opérations de base Soient 2 relations R 1 et R 2 de même schéma. Union (opérateur d extension) Opération binaire portant sur R 1 et R 2 produisant une relation R 3 de même schéma ayant pour t-uples ceux appartenant à R 1 et R 2. R 3 = R 1 R 2. Différence (opérateur de restriction) Opération binaire portant sur R 1 et R 2 produisant une relation R 3 de même schéma ayant pour t-uples ceux appartenant à R 1 mais pas à R 2. R 3 = R 1 R 2. Soient 2 relations R 1 et R 2 de schémas quelconques. Produit cartésien Opération binaire portant sur R 1 et R 2 produisant une relation R 3 ayant pour schéma la concaténation des attributs de R 1 et R 2 et pour t-uples les combinaisons des relations opérandes. R 3 = R 1 R 2.

le des Un 23/73 Opérations les Projection Opération unaire portant sur R 1 qui produit une relation R 2 en enlevant du schéma de R 1 tous les attributs non mentionnés en opérande et en éliminant les t-uples en double. R 2 = Π Ai,A j,a k (R 1 ). Patient nom prenom datenaissance Duss Jean-Claude 16/04/1952 Leblanc Juste 08/12/1947 Perrin François 16/08/1934 R 2 = {P[nom, prenom] Patient(P)} SELECT nom, prenom FROM Patient nom Duss Leblanc Perrin prenom Jean-Claude Juste François

le des Un 24/73 Opérations les Sélection Opération unaire portant sur R 1 qui produit une relation R 2 de même schéma ayant pour t-uples ceux vérifiant la condition donnée en opérande. σ cond (R 1 ) = R 2. Patient nom prenom datenaissance Duss Jean-Claude 16/04/1952 Leblanc Juste 08/12/1947 Perrin François 16/08/1934 Duss Jean-Marie 19/04/1956 R 2 = {P[nom, prenom] Patient(P) (P[nom] = Duss )} SELECT nom, prenom FROM Patient WHERE nom= Duss nom prenom datenaissance Duss Jean-Claude 16/04/1952 Duss Jean-Marie 19/04/1956

le des Un 25/73 Opérations les Jointure Opération binaire portant sur R 1 et R 2 consistant à rapprocher les t-uples des 2 relations selon un critère C pour former une relation R 3 qui contient l ensemble des t-uples du produit cartésien R 1 R 2 vérifiant le critère C. R 3 = R 1 R 2. Patient nom prenom Duss Jean-Claude Leblanc Juste Perrin François Traitement id nom 1 Duss 2 Leblanc 3 Pommier R 3 = {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 1 Leblanc 2

Exercice le des Répondre aux questions suivantes grâce à l algèbre le : 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 les airbus? Un 26/73

le des Un 27/73 1 2 3 4 le 5 6 7 8 Un

le des Un 28/73 (Structured Query Language : Créé par IBM en 1979 pour System R. Langage hybride, combinaison de l algèbre le et du calcul. Langage déclaratif, non-procédural. Permet l interrogation d une base de. Langage normalisé : LID : Langage d Intégration des Données (sélection). LMD : Langage de des Données. LDD : Langage de Définition des Données (ajout, suppression). LCD : Langage de Contrôle des Données et des utilisateurs.

Recherche le des SELECT [ALL DISTINCT] chaine de sélection FROM nom de table [SYNONYME] [WHERE condition] Paramètres : La chaine de sélection est la liste des colonnes sur lesquelles on fait une projection. La clause FROM précise la table sur laquelle la recherche est faite. La clause WHERE précise une condition pour critère de sélection. Un 29/73

Recherche : exemples (1/2) le des Obtenir le nom et le prénom de tous les patients SELECT nom,prenom FROM Patient Obtenir l ensemble des informations relatives aux traitements SELECT * FROM Traitement Lister les noms des patients de plus de 30 ans SELECT nom FROM Patient WHERE age>30 Un 30/73

Recherche : exemples (2/2) le des Obtenir les traitements dont la posologie est 1 fois par jour ou 2 fois par jour SELECT * FROM Traitement WHERE posologie= 1 fois par jour OR posologie= 2 fois par jour Obtenir le nom des patients ayant entre 20 et 30 ans et commençant par A SELECT nom FROM Patient WHERE age BETWEEN 20 AND 30 AND nom LIKE A% Un 31/73

le des Un 32/73 Recherche avec jointure SELECT [ALL DISTINCT] chaine de sélection FROM liste de tables [WHERE condition] Quels sont les noms des patients opérés dans la salle 1 : SELECT nom FROM Patient,SalleOperatoire WHERE SalleOperatoire.id=1 (sélection) AND SalleOperatoire.id=Patient.idSO (jointure) Quels sont les noms des patients dont la posologie du traitement est 1 fois par jour : SELECT nom FROM Patient,Traitement WHERE Traitement.posologie= 1 fois par jour (sélection) AND Patient.nom=Traitement.nomPatient (jointure)

Expressions le des 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) Un 33/73

le des Un 34/73 SELECT [ALL DISTINCT] chaine de sélection FROM liste de tables [WHERE condition] [ORDER BY liste de colonnes [ASC DESC]] (mise en forme) ou [GROUP BY liste de colonnes [HAVING condition]] (moyen de trouver un résultat) Clauses : ORDER BY : tri par ordre croissant ou décroissant. GROUP BY : réarrange la table en groupes de à 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.

le des Sous-requête indépendante : IN : insertion d une requête interne. Condition ALL/ANY : Possible quand la sous-requête retourne un ensemble de valeurs. ALL : l évaluation de la comparaison est vraie pour toutes les valeurs obtenues dans une colonne sélectionnée. ANY : l évaluation de la comparaison est vraie pour au moins une valeur du résultat de la sous-requête. Un 35/73

Ajout de le des Un 36/73 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 PatientBis SELECT * FROM Patient WHERE age>80

Modification de le des UPDATE nom de table SET liste de colonnes valeur [WHERE condition] Modification de l âge d un patient : UPDATE Patient SET age=age-2 WHERE nom= Duss Un 37/73

Suppression de le des Un 38/73 DELETE FROM nom de table [WHERE condition] Supprimer tous les patients dont la pathologie est AVC : DELETE FROM Patient WHERE pathologie= AVC Supprimer tous les patients dont l opération a lieu dans la salle de type A : DELETE FROM Patient WHERE idsalle IN (SELECT id FROM SalleOperatoire WHERE type= A )

le des Un 39/73 Création Création de relations CREATE TABLE nom de la table (éléments de la table) Création de bases de Permet le re définitions de domaines, de relations, 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 la base de par une requête. CREATE VIEW nom de la vue (éléments de la table) AS (spécification de la requête)

le des Un 40/73 Exercice le : Traduire en les requêtes de l exercice précédent. Écrire les requêtes 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 airbus sachant que l on ne retiendra que ceux de capacité supérieure aux boeing. 7 Quels sont les numéros des pilotes qui conduisent un airbus?

le des Un 41/73 1 2 3 4 le 5 6 7 8 Un

Contrôle de concurrence et des défaillances le des Objectif d un : Permettre à plusieurs utilisateurs de travailler en parallèle en donnant à 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. Un 42/73

le des Un 43/73 Contrat de cohérence transactionnel Transaction : Script décrivant des opérations (Lecture/Écriture) sur les objets du SI. Propriétés d une transaction : A Atomicité : une transaction est soit validée, soit abandonnée. C Cohérence : une transaction préserve la cohérence des objets qu elle manipule (ressort de l utilisateur). I Isolation : les effets d une transaction sont invisibles aux transactions concurrentes. D Durabilité : les effets d une transaction validée sont permanents. Un SI est dit transactionnel s il assure les propriétés A, I et D.

Confidentialité le des Assurer la confidentialité des : Contrôler les flux de (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 sur des objets. Un 44/73

Cohérence le des Assurer la cohérence des : 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 pour affirmer qu elles sont cohérentes. Base de cohérente : Base de donnée dont l ensemble des CI est respecté. Un 45/73

Isolation le des Un 46/73 Transaction : Unité de traitement séquentiel executée pour le compte d un usager qui, appliqué à une BD cohérente, restitue une BD cohérente. Action élémentaire : Lecture ou écriture de, manipulation de. Problèmes soulevés par les accès concurrents aux : Soient deux transactions T 1 et T 2 : T 1 : Lire A ; A A + 1 ; Ecrire A ; Lire B ; B B + 1 ; Ecrire B ; T 2 : Lire A ; Afficher A ; Lire B ; Afficher B ; Que se passe-t-il si ces transactions sont exécutées simultanément?

Problème 1 : mise à jour perdue le des T 1 T 2 Lire A a 1 A = 10 Lire A a 2 a 2 + 1 a 2 Ecrire a 2 A a 1 + 1 a 1 Ecrire a 1 A A = 11 Dépendence Écriture/Écriture Un 47/73

le des Un 48/73 Problème 2 : lecture impropre T 1 T 2 Lire A a 1 A = 10 a 1 + 1 a 1 Ecrire a 1 A A = 11 Lire A a 2 Afficher a 2 A = 11 Lire B b 2 Afficher b 2 B = 10 Lire B b 1 B = 10 b 1 + 1 b 1 Ecrire b 1 B B = 11 CI : A = B Dépendence Écriture/Lecture

Contrôle des accès concurrents le des Un 49/73 Contrôleur : Le contrôleur (scheduler) du est chargé de contrôler l 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 attendre les transactions qui veulent exécuter des opérations conflictuelles sur un même granule. Ne laisse s exécuter simultanément que des opérations compatibles.

Verouillage de le des Verrou : Marque posée par une transaction sur le granule qu elle désire lire 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. Un 50/73

Verouillage : exemple le des Un 51/73 T 1 T 2 Lock (A, X ) Lire A a 1 a 1 + 1 a 1 Lock (A, X ) Ecrire a 1 A Unlock (A) (attente) (attente) Lire A a 2 a 2 + 2 a 2 Ecrire a 2 A Unlock (A) Mise à jour non perdue

Intégrité face aux pannes le des Garantie des propriétés de durabilité (D) et d atomicité (A). Assurer la cohérence de la BD en dépit des pannes logicielles ou matérielles. Types de pannes : Défaillance logicielle : erreur de programme, abandon de transaction, redémarrage de l application. Défaillance machine : redémarrage du système. Un 52/73

le des Un 53/73 Mécanismes de reprise sur panne Deux utilitaires sont proposés par le : Journal des transactions : fichier sauvegardé sur mémoire secondaire contenant les informations nécessaires à la reprise (valeurs des et modifications effectuées). Points de reprise : sauvegarde complète de la BD et du journal à intervalles réguliers.... Problème : Quelle politique de sauvegarde? à quelle fréquence? avec ou sans journal? quelle quantité de travail est-on prêt à perdre?

le des Un 54/73 1 2 3 4 le 5 6 7 8 Un

le des Système de Gestion de Bases de Données : Logiciel capable d assurer la création et l utilisation des bases de. Fonction assurées : définition des bases de et des objets contenus ; manipulation des ; intégrité ; confidentialité ; sécurité. Un 55/73

le des Un 56/73 Définition et manipulation Définition des : Via un langage de description des (LDD) ou une interface graphique. Description de la nature des 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 ou un groupe de programmes. des : Assurer la communication entre la BD et les clients (utilisateurs ou programmes) : recherche, création, modification, suppression. Via un langage de manipulation des (LMD), une interface graphique ou un langage hôte (C, C++, Java). Via une interface web.

le des Un 57/73 Intégrité des : Intégrité et confidentialité Assurer la qualité des 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 : Assurée par le biais de mots de passe et de privilèges d 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.

Sécurité et des accès le des Sécurité de fonctionnement : Permettre la remise rapide de la base en état opérationnel lors d un incident matériel ou logiciel. Assurée par le dédoublement (réplication) ou la journalisation et ré-exécution automatique. Gestion des accès concurrents : Assurer la cohérence des en cas des accès simultanés sur une même donnée. Verrouillage en cas de modification. Permission d accès multiple en lecture. Un 58/73

le des Un 59/73 Implémentation physique des Il existe une grande indépendance entre la couche abstraite que constitue le et la couche physique que sont le ou les fichiers constituant une base de. Il n existe pas d ordre spécifique pour les tables dans une base ou pour les colonnes dans une table, même si le en donne l apparence. Types de : fichier : utilisent un service de fichiers associés à un protocole de réseau afin d accéder aux. client/serveur : utilisent une application centralisée dite serveur de.

Schéma d utilisation de (1/3) le des Un 60/73

Schéma d utilisation de (2/3) le des Un 61/73

Schéma d utilisation de (3/3) le des Un 62/73

le des Un 63/73 1 2 3 4 le 5 6 7 8 Un

le des Caché en quelques mots : Développé et commercialisé par InterSystems. Base de objet-le très répandue dans le milieu hospitalier. Avantages : fiabilité, flexibilité, simplicité, faible administration. API serveur personnalisable. Services web en natif. Framework de développement web 2.0 en natif. Un 64/73

le des Un 65/73 Fusion des accès Objet et nel : Caché est une base de le () et une base de donnée orientée objet. Toutes les sont accessibles en ou en objet. Définition Objet Class Patient { property name as %String ; property age as %Integer ; } Dictionnaire de Un seul jeu de Définition CREATE TABLE Patient ( name varchar(50), age integer )

s et objet le des : avec extensions objet (syntaxes simplifiées). Accessible avec ODBC, JDBC et ADO.Net. objet : Héritage multiple, spécialisation, polymorphisme. Langage de script spécifique (Caché Object Script). Un 66/73

le des Caractéristiques : Plateforme intégrée côté serveur serveur d applications ; accès natif Objet ou sans mapping Objet-nel ou nel-objet. Un 67/73

Architecture le des Un 68/73

Projection Objets le Génération des proxies de ses classes dans différents langages cibles. Disponible pour C++, Java, etc. des Un 69/73

le des Un 70/73 Applications Principales applications par ordre d importance : Systèmes d Informations Hospitaliers et laboratoires pharmaceutiques : 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...

le des Un 71/73 Implantations dans les hôpitaux franç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...

le des Un 72/73 Application aux systèmes hospitaliers Confidentialité et sécurisation des 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 simples. Mise en place de formulaires et/ou d applications web (ASP, PHP). Personnalisation des interfaces de saisie en fonction de l utilisateur.

le des Un 73/73 Application aux systèmes hospitaliers Maintenance, mise à jour et sauvegarde Maintenance de la base de 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 tiers. Récupération et conversion de sans risque de pertes. Cohabitation avec les méthodes de de actuelles ou inamovibles.