Le TP cherche à simuler le fonctionnement de ce groupe hospitalier en utilisant le principe des Bases de données réparties.

Dimension: px
Commencer à balayer dès la page:

Download "Le TP cherche à simuler le fonctionnement de ce groupe hospitalier en utilisant le principe des Bases de données réparties."

Transcription

1 Base de données Avancée (BDA) 2012/2013, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Thème : Implémentation d une BD Répartie : Liens, vue matérialisé, snapshot, intégrité révérencielle et déclencheur A/ Présentation I. Base de données distribuées hôpitaux Le groupe Hospitalier d une grande ville de Normandie est le plus grand Etablissement de Santé non universitaire de France. Il possède près de 2000 lits pour satisfaire plus de hospitalisations et consultations par an. Le groupe est segmenté en huit sites répartis dans la région havraise afin de répondre à la demande des patients potentiels. Le TP cherche à simuler le fonctionnement de ce groupe hospitalier en utilisant le principe des Bases de données réparties. Fonctionnement général du groupement : Chaque hôpital gère ses propres services et son propre personnel. L'hôpital central, quant à lui, gère la liste des hôpitaux et la liste des patients des différents hôpitaux du groupement. Dans cette simulation, on a choisi de n'utiliser que deux sites : site 1 : l hôpital central, site 2 : un hôpital. D'autres sites représentant les autres hôpitaux pourront être ajoutés si l on le souhaite. II. Modèle conceptuel et règles de gestion Pour simuler la gestion de ce groupement d'hôpitaux, nous disposons donc de deux sites : le premier représentant l'hôpital central qui gère les données relatives à son personnel et la liste des patients de tous les autres sites affiliés. Le second site représente un hôpital qui, lui, administre que les données relatives à son personnel. La liste des hôpitaux est également centralisée à l'hôpital central avec la liste des patients pour pouvoir être accessible à tout moment et à partir de n'importe quel site du groupe. Cette centralisation est nécessaire car les établissements hospitaliers ne peuvent se permettent d'avoir des données erronées (non mises à jour) sous prétexte que ces données ne sont pas centralisées. En effet, un patient peut être transféré très rapidement d'un site à un autre à la suite d'une complication dans une opération, par exemple. Le personnel soignant de l'hôpital recevant le patient doit être mis au courant de toutes les informations nécessaires sur l'opération qui vient d'être effectuée dans l'autre hôpital. Donc, toutes les données relatives au patient sont centralisées pour ces raisons. Par contre, en ce qui concerne les données touchant le personnel soignant, administratif et technique, elles doivent être distribuées sur les différents sites. Effectivement, ces données n'ont pas de caractère critique, il n'y a pas de vie en jeu. De plus, la distribution, site à site, permet une plus grande rapidité de traitement et une meilleure gestion. Règles de gestion : Un hôpital ne peut être créé, mis à jour ou supprimé que par l'hôpital central. En effet, la liste des hôpitaux est centralisée. L'hôpital garde ainsi la "main" sur ce qui ce fait dans les autres hôpitaux. Chaque hôpital peut modifier ses tables de personnel, ils en ont de ce fait l'entière responsabilité. Les autres hôpitaux, y compris l'hôpital central, ne peuvent que lire les tables. Ils n'ont, en aucun cas, l'autorisation de les modifier. En revanche, les données centralisées relatives aux patients peuvent être modifiées par tous les sites pour les raisons décrites ci-dessus Principe : Chaque hôpital gère son propre personnel et ses propres services. L'hôpital central, quant à lui, gère la liste des patients des différents hôpitaux du groupement et la liste des hôpitaux. En effet, les patients ne sont pas obligés d'aller toujours dans le même hôpital car, généralement, les différents sites d un groupe hospitalier n exercent que certaines spécialités (la maternité, la chirurgie, les urgences, ). Il faut donc un organisme qui s'occupe de gérer la liste de tous les patients des hôpitaux. Ainsi, le patient, peut aller dans n'importe quel hôpital du groupement et sera toujours "connu" par un même numéro de dossier. 1

2 III. Modèle relationnel distribué Site 1 : hopital central Site 2 hopital IV. Accès physique aux bases de données Figure 1 : Modèle concepuel de la BDD hôpitaux La base de données du site 1 est implémenté sur le SGBD oraadm, tendis que la base de données du site 2 est implémenté sur le SGBD oraedu. B/ Travail à faire Exercice 1. Sur le site 1, créer et peupler les tables de la base de données "Hôpital Central" (voir annexe 1 ) Exercice 2. Sur le site 2, créer et peupler les tables de la base de données " Hôpital " (voir annexe 2) Exercice 3. Création des liens 3.1/ Créer un lien de la base de données du site 2 vers la base de données du site 1 : Create database link central connect to alain identified by elcaro using 'oraadm'; Ce lien crée une référence sur la base distante située sur le site 1. Il utilise différents paramètres de connexion : un nom d'utilisateur ("alain") et un mot de passe ("elcaro"). La création du lien peut se faire grâce à l'alias de base de 2

3 données "oraadm" Ce lien a pour fonction principale d'avoir un accès aux tables de la base distante du site 1. "alain" est un utilisateur oracle de la base du site 1, sa création peut se faire par la commande suivante : create user alain identified by elcaro; Les droits de connexion et de création de tables peuvent être donnés à alain par la commande suivante : grant connect, resource to alain; 3.2/ Utiliser le lien précédent pour insérer une ligne dans la table personne à partir du site / Créer un lien de la base de données du site 1 vers la base de données du site 2 : Create database link hopit connect to 'oraedu'; identified by mot_passe using Ce lien crée une référence sur la base distante située sur le site 2. Il utilise plusieurs paramètres de connexion : un nom d'utilisateur (" ") et un mot de passe ("mot_passe"). " " est un utilisateur oracle de la base du site 2 et qui a les droits d utiliser les tables de ce site. 3.4/ Utiliser le lien précédent pour insérer une ligne dans la table personnel à partir du site 1. Exercice 4. Création de synonymes. Ces synonymes ont pour intérêt de rendre l'utilisation des tables distantes complètement transparente comme si toute la base était centralisée. Ils permettent aussi une simplification d'écriture lors de l'utilisation d'une table distante. En effet, on est plus obligés d'utiliser l'écriture "nomtable@lien". La transparence est assurée en remplaçant les noms globaux d'objets par des noms logiques. 4.1/ Créer les synonymes permettant aux utilisateurs du site 2 d avoir un accès simplifié aux objets du site 1. Indications : create synonym Personne for Personne@central; create synonym Hopital for Hopital@central; create synonym Integre for Integre@central; create synonym Patient for Patient@central; create synonym Externe for Externe@central, create synonym Hospitalise for Hospitalise@central; 4.2/ Idem, créer les synonymes permettant aux utilisateurs du site 1 d avoir un accès simplifié aux objets du site 2. Indications : create synonym personnel for personnel@hopit; create synonym medecin create synonym infermiere create synonym rattache create synonym affectation create synonym sevice Tester les synonymes précédent avec au moins deux requêtes significatives avec jointure sur chaque site. Exemples : (sur le site 2) select * from personne; select nom, date_entrée from personne pe, patient pa where pe.numsecu = pa. numsecu; Exercice 5. Création des déclencheurs pour préserver l'intégrité des données inter-site 6.1 Réaliser un déclencheur supprimepersonne qui permet de vérifier avant de supprimer un enregistrement dans la table Personne, que le numéro numsecu (clef primaire de la table Personne) de 3

4 l'enregistrement concerné n'est référencé par aucune table distante (dans aucune table Personnel des bases représentant un hôpital). create or replace trigger supprimepersonne before delete on Personne for each row declare excep exception; numsecudistant number; begin numsecudistant:=0; -- compte le nombre de NumSecu dans la table distante select count(numsecu)into numsecudistant from where numsecu=:old.numsecu; if(numsecudistant!= 0) then raise excep; end if; exception when excep then raise_application_error(-20009,'suppression impossible! NumSecu référencé dans une table distante'); end 6.2 Réaliser un déclencheur supprimehopital : Ce déclencheur permet de vérifier, avant de supprimer un enregistrement dans la table Hopital, que le numéro numhopital (clef primaire de la table Hopital) de l'enregistrement concerné n'est référencé par la table distante Service. Ce déclencheur est très utile car il permet d'assurer la cohérence des données entre les différentes tables de l'application et de préserver l'intégrité des données. Instructions SQL : create or replace trigger supprimehopital before delete on Hopital for each row declare excep exception; numhopitaldistant number; begin numhopitaldistant:=0; -- compte le nombre de NumHopital dans la table distante select count(numhopital) into numhopitaldistant from service@hopit where numhopital=:old.numhopital; if(numhopitaldistant!= 0) then raise excep; end if; exception when excep then raise_application_error(-20009,'suppression impossible! NumHopital référencé dans une table distante'); end ; / 6.3 Réaliser un déclencheur TService : Ce déclencheur permet de vérifier, avant de supprimer un enregistrement dans la table Service, que le numéro numservice (clef primaire de la table Service) de l'enregistrement concerné n'est pas référencé par la table distante Integre. Aussi, ce trigger a pour objectif de vérifier, avant l'insertion ou la modification d'un enregistrement dans la table Service, que le numéro NumHopital existe bien dans la table distante Hopital. Pour réaliser cela, le trigger compte le nombre de tuples dans la table distante Hopital qui référencient le NumHopital concerné par l'insertion ou la modification d'un enregistrement dans la table locale Service. Si ce nombre est différent de 1, alors une exception est générée car l'utilisateur essaye d'insérer ou de modifier un tuple ayant une valeur de NumHopital inconnue. Ce déclencheur est d'une grande utilité car il permet d'assurer la cohérence des données entre les différentes tables de l'application et de préserver l'intégrité des données de l'application. Instructions SQL : create or replace trigger TService 4

5 before delete or update or insert on Service for each row declare excep exception; numservicedistant number; nbtuples number; begin numservicedistant:=0; nbtuples:=0; if deleting then -- compte le nombre de NumService dans la table distante select count(numservice) into numservicedistant from where numservice=:old.numservice; if(numservicedistant!= 0) then raise excep; end if; end if; if inserting or updating then -- compte le nombre de tuples distants correspondants select count(*) into nbtuples from where numhopital=:new.numhopital; if(nbtuples!= 1) then raise excep; end if; end if; exception when excep then raise_application_error(-20009,'violation de contrainte!'); end ; / 6.4 Réaliser un déclencheur inserepersonnel Ce trigger permet de vérifier, avant l'insertion ou la modification d'un enregistrement dans la table Personnel, que le numéro NumSecu existe bien dans la table distante Personne. Pour ce faire, le trigger compte le nombre de tuples dans la table distante Personne qui référencient le NumSecu concerné par l'insertion ou la modification d'un enregistrement dans la table locale Personnel. Si ce nombre n'est pas égal à 1, alors une exception est lancée car l'utilisateur tente d'insérer ou de modifier un tuple ayant une valeur de NumSecu inconnue. Le rôle de ce trigger est très important car il permet, comme tous les triggers précédents, d'assurer la cohérence des données entre les différentes tables de l'application. Instructions SQL : create or replace trigger inserepersonnel before insert or update on Personnel for each row declare excep exception; nbtuples number; begin nbtuples:=0; select count(*) into nbtuples from Personne@central where numsecu=:new.numsecu; if(nbtuples!= 1) then raise excep; end if; exception when excep then raise_application_error(-20009,'impossible, violation de contrainte'); end ; / 6.5 Réaliser un déclencheur insereintegre Ce déclencheur permet de vérifier, avant l'insertion ou la modification d'un tuple dans la table Integre, que le numéro NumService est bien présent dans la table distante Service. Pour ce faire, le trigger compte le nombre de tuples dans la table distante Service qui référencient le NumService concerné par l'insertion ou la modification d'un enregistrement dans la table locale Integre. Si ce nombre n'est pas égal à 1, alors une exception est lancée car l'utilisateur tente d'insérer ou de modifier un tuple ayant une valeur de NumService inconnue. Le rôle de ce déclencheur est très important car il permet, comme les triggers précédents, de préserver l'intégrité des données de l'application. create or replace trigger insereintegre before insert or update on Integre for each row... Exercice 6. Tester les déclencheurs 5

6 7.1/ Sur le site 2, représentant un hôpital. essaye d'insérer un membre du personnel qui n'est pas référencé dans la table Personne de la base distante de l'hôpital central.(sur le site 1) insert into Personnel values (4006, ' ', 1400, null, to_date('07/01/01', 'DD/MM/YY')); 7.2/ Interpreter le message d erreur. ERROR at line 1: ORA-20009: Impossible, violation de contrainte... Une erreur a bien été générée par le déclencheur InserePersonnel. 7.3/ Remplacer la requete précedent par une requête d'insertion bien écrite (avec un NumSecu correct) : insert into Personnel values (4006, ' ', 1400, null,, to_date('07/02/07', 'DD/MM/YY')); 7.4/ Sur le site 1, représentant un hôpital central. esaye de supprimer un hôpital qui est référencé dans la table Service de la base distante de l'hôpital du site 2. delete from Hopital where numhopital=1; Commenter? 7.5/ Remplacer la requête précédente par une requête de suppression correcte (l'hôpital numéro 2 ne contient plus de services) delete from Hopital where numhopital=2; 7.6/ Sur le site 2, représentant un hôpital. essaye d'insérer un nouveau service qui n'est pas référencé dans la table Hôpital de la base distante de l'hôpital central. 7.7/ Insérer maintenant un nouveau service valable. Exercice 7. Vues globales on suppose maintenant que l hôpital central possède un petit service hospitalier que a la même structure que le service du site / Sur le site 1, créer les tables nécessaires pour cette gestion supplémentaire et les peupler. 8.1/ Créer une vue vueemployes permettant d accéder aux employés de deux sites Cette vue fait l union de la nouvelle table personnel du site 1 et la table personnel du site 2. Elle permet d'afficher la totalité des informations concernant un membre du personnel d'un hôpital alors que les informations ne sont pas sur le même site. Utiliser la commande union 8.2/ Tester la vue précédente : select * from vueemployes Exercice 8. Requêtes multi sites 9.1/ Réaliser une requête permettant d affiche nom prénom des infirmières avec le nom de service et l hôpital d attachement. 9.1/ Réaliser une requête permettant d'afficher les noms, prénoms et numéros de Sécu des patients hospitalisés dans le service chirurgie de tous les hôpitaux. 9.2/ Réaliser une requête permettant d'afficher les noms, prénoms des médecins attachés au service chirurgie. 6

7 *9.3/ Compter le nombre de patients par service entre début 1998 et fin 2001 Exercice 9. Réplication des données avec les vues matérialisées 10.1/ Sur le site 1, effacer le synonyme personnel puis créer une vue matérialisée permettant d avoir une copie en local de la table distante personnel Indications : Drop sysnonym personnel ; create materialized view personnel refresh complete start with sysdate next sysdate + 1 as select * from personnel@hopit; 10.2/ Tester la replication précédente Indication Sur le site 1: select * from personnel ; Sur le site 2: select * from personnel ; Insert into personnel values(4010, ' ', 1200,null,to_date('20/02/07', Sur le site 1: select * from personnel ; Votre commentaire? 10.3/ Modifier le vue précédente pour que le rafraîchissement se fasse chaque minute Indications : DROP MATERIALIZED VIEW personnel; Puis remplaçant dans la vue personnel 1 par 1/(24*60) 10.4/ Refaire maintenant un teste similaire à 10.2 (attendre une minute puis select * from personnel ;) 10.5/ Sur le site 1 tester la vue vueemployes réaliser par la question 7.1 Remarquer qu avant personnel est un synonyme correspondant à un accès à distance de la table personnel du site 2. Maintenant personnel est table correspondant à une réplication (ou un copie dure) de la table personnel sur le site / Sur le site 1 réaliser une réplication de la table distante medecin et de la table infermiere. 10.7/ Sur site 2 réaliser réplication de la table personne. Quel est la fréquence de rafraîchissement? Chaque heure ou chaque jour ou une fois par semaine, justifier votre choix. Exercice 10. Réplication des données avec les SNAPSHOT Remplacer la vue matérialisée de la question 10.1 par un snapshot (appelé aussi cliché ou image). DROP MATERIALIZED VIEW personnel; create snapshot personnel refresh complete start with sysdate next sysdate + 1 as select * from personnel@hopit; Tester. 7

8 Annexe1 : Création des tables de "HopitalCentral" Script disponible sur Table Personne create table Personne ( numsecu char(15) primary key, -- numéro de sécurité sociale nom varchar2(20) not null, prenom varchar2(20) not null, adresse varchar2(100) not null, telephone number(10) ); - Table Patient create table Patient (numdossier number(10) primary key, -- numéro de dossier numsecu char(15) references Personne(numSecu), -- numéro de sécurité sociale nummutuelle number(10), -- numéro de mutuelle datecreation date not null -- date de création du dossier pour ce patient ); - Table Externe create table Externe (numadmission number(10) primary key, -- numéro d'admission numdossier number(10) references Patient(numDossier), dateadmission date not null -- date où le patient a été soigné en externe ); - Table Hospitalise create table Hospitalise (numhospitalisation number(10) primary key, numdossier number(10) references Patient(numDossier), dateentree date not null, -- date d'entrée du patient datesortie date -- date de sortie ); -- Table Hopital create table Hopital (numhopital number primary key, -- numéro de l'hôpital nomhopital varchar2(30), -- nom de l'hôpital adresse varchar2(100) -- adresse de l'hôpital); - Table Integre create table Integre (numhospitalisation number(10) references Hospitalise(numHospitalisation), numservice number(2), -- numéro de service distant type_conditionnement varchar2(3), -- type de conditionnement du patient prix number, -- coût de l'hospitalisation dateintegration date, -- date d'intégration du service primary key(numhospitalisation, numservice) ); Insert into Personne values( ' ', 'Brennetot','Alain','13 rue des nenuphars LANQUETOT', ) ; Insert into Personne values( ' ','Lefevre','Alexandre','184 rue liberation GAINNEVILLE', ) ; Insert into Personne values( ' ','Dupont','Ghislaine', '38 Cours de la republique 76600,LE HAVRE', ) ; Insert into Personne values( ' ','Durant','Therese','66 rue Coty LE HAVRE', ) ; Insert into Personne values( ' ','Martin','Paul','32 rue Lesueur LE HAVRE', ) ; Insert into Personne values( ' ','Mabuse','Raymond','15 rue du Bel Air HARFLEUR', ) ; Insert into Personne values( ' ','Deschamps','Marcel','Place de la mairie BOLBEC', ) ; Insert into Personne values( ' ','Marchand','Bernard', '147 rue Ernest Renan LE HAVRE', ) ; Insert into Personne values( ' ','Enstein','Frank','19 rue Bougainville LE HAVRE', ) ; Insert into Personne values( ' ','Bouchard','Renee','56 rue Delavigne LE HAVRE', ) ; Insert into patient values( , ' ', , to_date('30/09/98', Insert into patient values( , ' ', , to_date('15/10/99', Insert into patient values( , ' ', , to_date('04/02/01', Insert into externe values( , , to_date('07/01/99', Insert into hospitalise values( , , to_date('30/09/98', 'DD/MM/YY'), to_date('06/10/98', Insert into hospitalise values( , , to_date('17/12/98', 'DD/MM/YY'), to_date('15/01/99', Insert into hospitalise values( , , to_date('15/10/99', 'DD/MM/YY'), to_date('23/10/99', Insert into hospitalise values( , , to_date('04/02/01', 'DD/MM/YY'), to_date('12/02/01', Insert into hopital values(1, 'Hopital Flaubert', '55 rue Gustave Flaubert LE HAVRE') ; Insert into hopital values(2, 'Hopital Pierre Janet', '47 rue Tourneville LE HAVRE') ; Insert into hopital values(3, 'Hopital Monod', '29 Pierre Mendes France MONTIVILLIERS') ; Insert into integre values( , 10, 'AMB', 120, to_date('30/09/98', Insert into integre values( , 11, 'AMB', 75, to_date('01/10/98', Insert into integre values( , 10, 'AMB', 100, to_date('17/12/98', Insert into integre values( , 11, 'AMB', 115, to_date('04/02/01', 8

9 Annexe 2 : Création des tables de la base de données Hôpital du site 2: Script disponible sur drop table Affectation; drop table Rattache; drop table Service; drop table Administratif; drop table Infirmiere; drop table Medecin; drop table Personnel; create table Personnel (nummatricule number(4) primary key, -- numéro de matricule de l'employé numsecu char(15), salaire number not null, grade varchar2(10), dateembauche date not null ); create table Medecin (numagrement number(3) primary key, -- identifiant représentant son numéro d'agrément nummatricule number(4) references Personnel(numMatricule), -- numéro de matricule specialite varchar2(20) not null -- spécialité exercée par le médecin ); create table Infirmiere ( numinfirmiere number(3) primary key, nummatricule number(4) references Personnel(numMatricule), -- numéro de matricule typecontrat varchar2(20) not null ); create table Administratif ( numadministratif number(3) primary key, nummatricule number(4) references Personnel(numMatricule), poste varchar2(20) not null, -- poste occupé qualification varchar2(20) not null, typecontrat varchar2(20) not null ); create table Service ( numservice number(2) primary key, nomservice varchar2(20) not null, tel number(10), -- numéro de téléphone nblits number, -- nombre de lits dans le service numhopital number -- numéro de l'hôpital distant ); create table Rattache ( numagrement number(3) references Medecin(numAgrement), -- numéro d'agrément numservice number(2) references Service(numService), -- numéro de service primary key(numagrement, numservice) ); create table Affectation ( numinfirmiere number(3) references Infirmiere(numInfirmiere), numservice number(2) references Service(numService), primary key(numinfirmiere, numservice) ); Insert into personnel values(4000, ' ', 1200,null,to_date('01/01/01', Insert into personnel values(4001, ' ', 1200,null,to_date('02/01/01', Insert into personnel values(4002, ' ', 1200,null,to_date('03/01/01', Insert into personnel values(4003, ' ', 1200,null,to_date('04/01/01', Insert into personnel values(4004, ' ', 1700,null,to_date('05/01/01', Insert into personnel values(4005, ' ', 1700,null,to_date('06/01/01', Insert into medecin values(300, 4004, 'neuro-chirurgie') ; Insert into medecin values(301, 4005, 'chirurgie esthetique') ; Insert into infirmiere values( 310, 4003, 'CDI') ; Insert into infirmiere values( 311, 4002, 'CDD') ; Insert into service values(10,'chirurgie', ,50,1); Insert into service values(11,'reanimation', ,35,1); Insert into service values(12,'pediatrie', ,40,1); Insert into rattache values(300, 10) ; Insert into rattache values(301, 11) ; Insert into affectation values(310, 10); Insert into affectation values(311, 11); 9

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

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Intégrité des données

Intégrité des données . Contraintes d intégrité : Définition et objectif Intégrité des données Définition des contraintes Vérification des contraintes Contrainte d'intégrité : propriété sémantique que doivent respecter les

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données II Objets avancés dans les bases de données OBJECTIFS 2.1. NOTIONS 2.1.1.

Plus en détail

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

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007 Bases de Données Réparties Concepts et Techniques Matthieu Exbrayat ULP Strasbourg - Décembre 2007 1 Définition Une base de données répartie (distribuée) est une base de données logique dont les données

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

Bases de Données Réparties

Bases de Données Réparties Bases de Données Réparties Architecture Mise en œuvre Duplication et Réplication Michel Tuffery BDR : Définition Ensemble de bases de données gérées par des sites différents et apparaissant à l utilisateur

Plus en détail

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

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

Master Exploration Informatique des données DataWareHouse

Master Exploration Informatique des données DataWareHouse Master Exploration Informatique des données DataWareHouse Binôme Ahmed BENSI Enseignant tahar ARIB SOMMAIRE I. Conception...1 1. Contexte des contrats...1 2. Contexte des factures...1 II. Modèle physique...2

Plus en détail

Intégrité sémantique dans les bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles Intégrité sémantique dans les bases de données relationnelles 1 - Intégrité sémantique Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU Ecole Polytechnique Universitaire de Marseille Fev. 2013

Plus en détail

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

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

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

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

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

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

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Base de données II Module 3b

Base de données II Module 3b Base de données II Module 3b Bases de données répliquées Environnement Oracle et SQL Server Eddy.Meylan@hegne.ch E. Meylan/ 17/12/2003 Informaticien de Gestion HES / Bases de données II module 3b 1 Plan

Plus en détail

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

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

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

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

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

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

Plus en détail

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre

Plus en détail

Département Génie Informatique

Département Génie Informatique Département Génie Informatique BD51 : Business Intelligence & Data Warehouse Projet Rédacteur : Christian FISCHER Automne 2011 Sujet : Développer un système décisionnel pour la gestion des ventes par magasin

Plus en détail

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer Bases de Données Réparties Définition Architectures Outils d interface SGBD Réplication SGBD répartis hétérogènes BD réparties Principe : BD locales, accès locaux rapides accès aux autres SGBD du réseau

Plus en détail

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ;

I/ Présentation. On considère une BD CIRQUE dont le schema conceptuel : PERSONNEL _CIRQUE (NOM, ROLE) ; Université du Havre, UFR Sciences, Master Prof. Info.,, TP1, 22/11/2013, SIRES3(BDD Enseignants : Nakechbandi M Thème : Implémentation d une BD Répartie L objectif du TP est d implémenter une base de données

Plus en détail

Introduction au PL/SQL Oracle. Alexandre Meslé

Introduction au PL/SQL Oracle. Alexandre Meslé Introduction au PLSQL Oracle Alexandre Meslé 17 octobre 2011 Table des matières 1 Notes de cours 3 1.1 Introduction au PLSQL............................................ 3 1.1.1 PLSQL.................................................

Plus en détail

AGRÉGATION «ÉCONOMIE ET GESTION»

AGRÉGATION «ÉCONOMIE ET GESTION» AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

Systèmes de Gestion de Bases de Données

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête

Plus en détail

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

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1 TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER Sur Windows Contenu TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1 I-Installation d «Oracle Database Express Edition»...2 Etape 1 :

Plus en détail

Installation d'un serveur FTP géré par une base de données MySQL

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

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

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

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

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de

Plus en détail

Corrigés détaillés des exercices

Corrigés détaillés des exercices Corrigés détaillés des exercices Diagramme des tables objet La figure suivante vous aidera dans la compréhension des manipulations des objets de la base. Client_type Client num nom adresse {telephone_vry}

Plus en détail

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 2013 SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 Table des matières Signalétique... 2 1 Les bases du SQL... 3 2 SQL server... 6 2 Références des exercices...21 DEHECQ Olivier

Plus en détail

INTEGRITE ET BD ACTIVES

INTEGRITE ET BD ACTIVES INTEGRITE ET BD ACTIVES 1. INTRODUCTION Un SGBD doit garantir la cohérence des données lors des mises à jour de la base. En effet, les données d'une base ne sont pas indépendantes, mais obéissent à des

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger

Plus en détail

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN Département Informatique Laboratoires de bases de données Laboratoire n 6 Programmation SQL par Danièle BAYERS et Louis SWINNEN Ce document est disponible sous licence Creative Commons indiquant qu il

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Bases de Données Avancées PL/SQL

Bases de Données Avancées PL/SQL 1/170 Bases de Données Avancées Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

BASES DE DONNEES TP POSTGRESQL

BASES DE DONNEES TP POSTGRESQL 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique IUP 2 ème année et Formation Continue BASES DE DONNEES TP POSTGRESQL Maude Manouvrier La reproduction de ce document par tout

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

Les déclencheurs. Version 1.0. Grégory CASANOVA

Les déclencheurs. Version 1.0. Grégory CASANOVA Les déclencheurs Version 1.0 Grégory CASANOVA 2 Les déclencheurs [09/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les déclencheurs du DML... 5 3.1 Introduction... 5 3.2 Création d un déclencheur

Plus en détail

Synchronisation Mysql (Replication)

Synchronisation Mysql (Replication) Synchronisation Mysql (Replication) [Petit avertissement : Bon, après relecture, je constate que c'est l'un des plus mauvais document que j'ai écrit. Mais bon, il est quand même utile ce torchon.] Nous

Plus en détail

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public. DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de

Plus en détail

Administration des bases de données

Administration des bases de données Administration des bases de données Mehdi Louizi 1 Pourquoi PL/SQL 2 Pourquoi PL/SQL? PL/SQL = PROCEDURAL LANGUAGE/SQL SQL est un langage non procédural Les traitements complexes sont parfois difficiles

Plus en détail

PROJET 1 : BASE DE DONNÉES REPARTIES

PROJET 1 : BASE DE DONNÉES REPARTIES PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties

Plus en détail

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale

Plus en détail

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

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

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)

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) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail