Dialogue avec la base de données

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

Download "Dialogue avec la base de données"

Transcription

1 Dialogue avec la base de données 2. Transactions et verrous Slide 1

2 Références Filière Bachelor of Science en informatique de gestion Domaine Technologies informatiques Module 633 Architectures distribuées Unité d enseignement Applications réseaux et services applicatifs Dialogue avec la base de données Slide 2

3 Objectifs Objectifs du module comprendre et mettre en œuvre les services applicatifs fondamentaux; développer, déployer et configurer des composants métiers sur un serveur d applications. Objectifs de l unité d enseignement «Dialogue avec la base de données» comprendre les différences entre l'architecture "serveur de fichiers" et "client/serveur"; maîtriser le principe du dialogue à sessions; comprendre la notion de concurrence; savoir manipuler des données à l'aide d'un langage hôte. Slide 3

4 Découpage de l unité d enseignement 1. Architecture client/serveur 2. Transactions et verrous 3. Manipulation des données avec un langage hôte Slide 4

5 Plan de la présentation Transactions Norme ISO Oracle 5 Slide 5

6 Transaction = Concept fondamental Toute application manipulant un grand ensemble de données, et exploitées dans un environnement multi-utilisateurs se doit d'être transactionnelle. 1 Transactions Sans système transactionnel, la base de données risque d être incohérente Rappel des missions du SII!! Disponibilité de l'information Pérennité de l'information Intégrité de l'information Confidentialité de l'information Traçabilité des opérations Slide 6

7 Définition d'une transaction Une transaction doit vérifier les propriétés (A) Atomicité (C) Consistance (I) Isolation (D) Durabilité Moyen mnémotechnique ACID 1 Transactions Slide 7

8 ACID - Atomicité L'ensemble des opérations d'une transaction apparaît comme une seule opération atomique Soit toutes les opérations sont validées ou toutes annulées (tout ou rien) exemple : débit/crédit 1 Transactions Slide 8

9 ACID Consistance (cohérence) L'exécution de la transaction fait passer la base de données d'un état consistant à un autre état consistant ceci en accord avec l ensemble de la base de données et de ses contraintes. Un état incohérent ne doit pas être possible! 1 Transactions Slide 9

10 ACID Isolation Chaque transaction est indépendante des autres transactions concurrentes. Semblable à une exécution en série des transactions. On parle de «sérialisation» des transactions. Les concurrences sont parfaitement contrôlées 1 Transactions Slide 10

11 ACID Durabilité C'est la persistance des mises à jour d'une transaction validée. Les effets d'une transaction validée sont durables et permanents, quelques soient les problèmes logiciels ou matériels, notamment après la fin de la transaction. 1 Transactions Slide 11

12 Principales utilisations des transactions Traitement des opérations sémantiquement liées Doit garantir le "tout ou rien" Exemple : débit crédit, Soit toutes les opérations sont validées soit annulées. Gestion des concurrences Acquisition de verrous sur les enregistrements traités, empêchant une utilisation malencontreuse des données. 1 Transactions Reprise sur pannes Utilisation du système transactionnel pour la reconstitution d'un état cohérent de la base au redémarrage d'un système après une panne, quel quesoitletypedepanne. Slide 12

13 Exemple de transaction comptable, état initial Num Libellé Cpt débit Ecritures comptables Cpt crédit Montant Ecriture passée Bla bla Compte 1010 ecriture libelle mouvement Solde Bla bla Compte 2302 ecriture libelle mouvement Solde Bla bla Slide 13

14 Exemple de transaction comptable, 3 écritures 3. Mise à jour du grand livre Num Libellé Cpt débit Ecritures comptables Cpt crédit Montant Ecriture passée Bla bla écriture dans compte débité 2. écriture dans compte crédité Compte 1010 ecriture libelle mouvement Solde Bla bla Compte 2302 ecriture libelle mouvement Solde Bla bla Slide 14

15 Exemple de transaction comptable, 3 écritures 3. Mise à jour du grand livre Num Libellé Cpt débit Ecritures comptables Cpt crédit Montant Ecriture passée Bla bla écriture dans compte débité 2. écriture dans compte crédité Compte 1010 ecriture libelle mouvement Solde Bla bla Bla bla Compte 2302 ecriture libelle mouvement Solde Bla bla Bla bla Slide 15

16 Exemple de transaction comptable, avec panne 3. Mise à jour du grand livre Num Libellé Cpt débit Ecritures comptables Cpt crédit Montant Ecriture passée Bla bla écriture dans compte débité BING 2. écriture dans compte crédité Compte 1010 ecriture libelle mouvement Solde Bla bla Bla bla Compte 2302 ecriture libelle mouvement Solde Bla bla Slide 16

17 Instructions de la transaction comptable L écriture comptable complète nécessite 3 instructions SQL INSERT INTO compte_1010( ) VALUES( ); INSERT INTO compte_2302( ) VALUES( ); UPDATE ecritures_comptables SET ecriture_passee = 1 WHERE num=12345; 1 Transactions Les 3 instructions constituent un ordre atomique, elles doivent être validées (ou annulées) ensemble! Slide 17

18 Commandes SQL pour les transactions COMMIT Validation de la transaction ROLLBACK Annulation de la transaction COMMIT ; 1 Etat cohérent de la base de données i Etat cohérent de la base de données j Transactions ROLLBACK ; Slide 18

19 Instructions de la transaction comptable Les trois instructions sont une seule transaction INSERT INTO compte_1010( ) VALUES( ); Transaction INSERT INTO compte_2302( ) VALUES( ); UPDATE ecritures_comptables SET ecriture_passee = 1 WHERE num=12345; COMMIT ; 1 Transactions C est à la fin de la transaction que la base de données est cohérente. A l intérieur de la transaction elle ne l est pas!! Slide 19

20 Début d'une transaction Il n'y a pas de commande pour définir explicitement le début d'une transaction sous Oracle. Le début d'une transaction est défini : par le début de la session; par la fin de la transaction précédente. 1 Transactions Slide 20

21 Fin d'une transaction L'exécution d'un COMMIT ou d'un ROLLBACK définit le point de synchronisation où la base de données est dans un état consistant. En fin de session, un COMMIT est automatiquement exécuté si la déconnexion se fait sans erreurs, sinon un ROLLBACK est exécuté. 1 Transactions Slide 21

22 Les schémas d Oracle <> CREATE SCHEMA Un schéma est un ensemble d objets Oracle (tables, vues, triggers, etc ) regroupés sous un même nom. Sous Oracle la notion de schéma est équivalente à la notion d utilisateur. Pour les puristes, un utilisateur n est pas un schéma mais possède un schéma avec son nom CREATE USER 1 Transactions Attention, la commande CREATE SCHEMA n a pas du tout la même utilité Slide 22

23 Création de plusieurs objets dans une transaction Oracle propose l instruction CREATE SCHEMA pour créer plusieurs objets (LDD) dans une transaction. Si l ensemble des instructions contenues dans CREATE SCHEMA sont correctes, elles seront toutes validées, sinon elles seront toutes annulées. L instruction CREATE SCHEMA ne peut comporter que des créations de tables, de vues et d affectation de privilèges sur des objets. 1 Transactions Slide 23

24 Création de plusieurs objets dans une transaction Syntaxe CREATE SCHEMA AUTHORIZATION schema [ create_table_statement create_view_statement grant_statement ]...; 1 Transactions Slide 24

25 Questions? 1 Transactions Slide 25

26 Travaux pratiques Série 2, exercice 1 Sur Cyberlearn 1 Transactions Slide 26

27 Plan de la présentation Transactions Norme ISO Oracle Slide 27

28 Gestion des concurrences L accès concurrent par plusieurs sessions à un objet partagé doit impérativement être contrôlé. Si le système ne gère pas la concurrence des accès, les données risquent de devenir incohérentes Missions du SII quels sont les problèmes potentiels? 1 Transactions Slide 28

29 Terminologie des problématiques Lecture inconsistante (dirty read) La lecture de données est fausse!! Lecture non répétitive (nonrepeatable read) Deux lectures successives de la même donnée retournent des valeurs différentes Lecture de lignes fantômes (phantom) Une lecture retourne une ligne qui n existe pas!! 1 Transactions Slide 29

30 Exemple de lecture inconsistante T1 T2 UPDATE enr SELECT enr ROLLBACK 1 Transactions Slide 30

31 Exemple de lecture non répétitive T1 T2 SELECT enr1 (consultation) SELECT enr2 (consultation) SELECT enr1 (pour mise a jour) UPDATE enr1 COMMIT; 1 Transactions Slide 31

32 Exemple de lignes fantômes T1 T2 SELECT enr1 (pour stat) SELECT enr2 Sommation SELECT enr3 Sommation DELETE enr3 1 Transactions SELECT enr5 Sommation SELECT enr6 Sommation Slide 32

33 Solution pour gérer correctement la concurrence Utiliser des verrous! 1 Transactions Slide 33

34 Verrous Protection active des données pendant la transaction, par acquisition de verrous sur les enregistrements traités. Dans la norme, les verrous sont automatiquement réalisés par le système, donc le programmeur ne doit pas bloquer et débloquer lui-même les enregistrements. C est une bonne nouvelle non?!? 1 Transactions Slide 34

35 Eléments clés des étudiants Une transaction doit respecter ACID! Si on est en multi-utilisateur et qu il n y a pas de transaction, il y a risque d incohérence. Selon la norme, le développeur n a rien à faire 1 Une transaction se termine soit par un commit, soit par un rollback. Transactions Slide 35

36 Plan de la présentation Transactions Norme ISO Oracle Slide 36

37 Typologie des verrous SQL2 Selon la norme Verrou partagé, shared lock utilisé pour lire 1 ou n enregistrements Verrou exclusif, exclusif lock utilisé pour modifier 1 ou n enregistrements Verrou global, global lock utilisé pour bloquer les enregistrements d une table catalogue_detail.htm?csnumber=38646 Slide 37

38 Verrou partagé (shared lock) Il est utilisé pour lire un enregistrement et est placé par un SELECT. Il permet un autre accès en verrou partagé sur le même enregistrement, mais pas d'acquérir un autre type de verrou. Oracle ne pose pas de verrous partagés par défaut!!! Slide 38

39 Verrou exclusif (exclusif lock) Il est utilisé pour modifier un enregistrement et est placé par les commandes INSERT,UPDATE et DELETE. Une fois le verrou posé, il interdit tout autre accès à l'enregistrement. Pas même en lecture. (verrou partagé) Slide 39

40 Verrou global (global lock) Il est utilisé pour modifier la structure d une table par les instruction CREATE, ALTER et DROP. Bloque la table entière!! L'ensemble de la table n'est plus accessible pour les autres transactions. Slide 40

41 Résumé des verrous implicites SQL 2 La norme SQL 2 spécifie les verrous implicites suivants: l instruction SELECT pose implicitement un verrou partagé; les instructions INSERT, UPDATE et DELETE posent implicitement un verrou exclusif. Le programmeur ne doit en principe pas verrouiller manuellement les tuples. C est néanmoins possible, particulièrement avec un verrou global. Slide 41

42 Relâchement des verrous C est les instructions COMMIT et ROLLBACK qui relâchent les verrous donc la fin de la transaction! L ensemble des verrous posé par les instructions d une transaction sont relâchés à la fin de la transaction. Il n existe pas d instruction explicite UNLOCK!! Slide 42

43 Des solutions à nos problèmes? Alors ces verrous donnent des solutions à nos problèmes?!? Lecture inconsistante Lecture non répétitive Lignes fantômes Slide 43

44 Solution de la lecture inconsistante T1 Verrou exclusif sur enr T2 En attente du relâchement du verrou UPDATE enr SELECT enr Verrou exclusif sur enr SELECT enr ROLLBACK Slide 44

45 Solution de la lecture non répétitive T1 Verrou partagé T2 SELECT enr1 (consultation) SELECT enr2 (consultation) Verrou partagé Attente verrou exclusif sur le verrou partagé UPDATE enr1 SELECT enr1 (pour mise a jour) UPDATE enr1 COMMIT; Verrou exclusif Verrou exclusif UPDATE enr1 COMMIT; Slide 45

46 Solution évitant les lignes fantômes T1 T2 SELECT enr1 (pour stat) SELECT enr2 Sommation SELECT enr3 Sommation SELECT enr5 Sommation SELECT enr6 Sommation COMMIT Attente verrou exclusif DELETE enr3 DELETE enr3 Slide 46

47 Problématiques engendrés par les verrous La pose de verrous résout les problèmes décrits, mais ont deux conséquences négatives: sérialisation des transactions provoque une attente pour la libération de la ressource; La contention (maintient) engendre une dégradation de performance globale du système. Le non possibilité de poser un verrou exclusif (pour modif) se nomme Famine ou live lock. le verrouillage de plusieurs ressources peut être bloquant Inter-verrouillage bloquant ou dead lock Slide 47

48 Dead lock T1 Verrou sur T1 UPDATE table 1 T2 Verrou sur T2 Attente sur verrou pour UPDATE table2; UPDATE table 2 UPDATE table 2 Attente sur verrou pour UPDATE table1; UPDATE table 1 Slide 48

49 Traitement du Dead lock Le Dead lock doit être détecté par le SGBD, car il ne peut l'être par le développeur. Sur détection du blocage, le système doit avertir l'utilisateur de la non possibilité de terminer la transaction. Le comportement du système en cas de dead lock est dépendant du produit utilisé. Annulation d'une transaction ou des deux transactions Message à l'utilisateur... Slide 49

50 Verrous explicites Certains cas de figures (dead lock) peuvent être évités par l utilisation de verrous explicites. La pose de verrous globaux risque d augmenter la contention sur les données et de provoque une forte dégradation des performances. Slide 50

51 Questions? Slide 51

52 Caractéristiques d'une transaction Une transaction est bornée Début implicite Fin explicite (COMMIT, ROLLBACK) Le mode de la transaction détermine les opérations possibles READ ONLY READ WRITE Niveau d'isolation de la transaction Slide 52

53 Niveaux d'isolation Le niveau d'isolation indique le comportement de la transaction par rapport aux autres transactions. Plus le niveau d'isolation est faible, plus les autres transactions peuvent agir sur les données concernées par la première. Slide 53

54 Niveaux d'isolation et comportement des verrous par défaut Selon la norme! READ UNCOMITED Les verrous ne sont pas maintenus entre les instructions. aucune isolation, toutes les erreurs possibles. READ COMMITTED Verrou exclusif maintenus jusqu'à la fin de la transaction. Les verrous partagés ne sont pas maintenus. prévient l'apparition de l'erreur de lecture inconsistante, autres erreurs possibles Slide 54

55 Niveaux d'isolations et comportement des verrous par défaut REPETABLE READ Les verrous partagés sont maintenus. Les verrous exclusifs ne sont pas maintenus erreur de lecture inconsistante et non répétitive impossible, erreur de lignes fantômes possibles. SERIALIZABLE Tous les verrous sont maintenus pas de problème possible Slide 55

56 Erreurs possibles avec niveaux d isolation Niveau d'isolation Lecture inconsistante Lecture non répétitive Ligne fantôme Read Possible Possible Possible uncomitted Read Impossible Possible Possible committed Repeatable Impossible Impossible Possible read Serializable impossible Impossible Impossible Slide 56

57 Mode de transaction sécurisé Mode : Read/Write Niveau : Serializable Toutes opérations en toute sécurité, mais performances diminuées. Possibilité d'abaisser explicitement le niveau d'isolation. Performance accrue Danger, problèmes possibles Slide 57

58 Modification des caractéristiques Au début de la transaction, on peut modifier ses caractéristiques, soit son mode ou son niveau d isolation. Exemple SET TRANSACTION READ ONLY ISOLATION LEVEL READ UNCOMMITTED ; Les nouvelles caractéristiques seront actives lors de toute la transaction et les valeurs par défaut seront reprises en fin de transaction. Slide 58

59 Contraintes et transaction Les contraintes déclaratives du schéma seront contrôlées soit après chaque ordre SQL soit en fin de transaction, à l exécution du COMMIT. Une contrainte peut donc être dans deux «états» IMMEDIATE Contrôlée après chaque ordre SQL DEFERRED Contrôlée en fin de transaction, à l exécution du COMMIT Slide 59

60 Déclaration de la contraintes Lors de sa déclaration, on donne à la contraintes deux attributs Si elle est «deferrable», Son état par défaut Syntaxe : <constraint_attributes> ::= [NOT]DEFERRABLE [INITIALLY DEFERRED INITIALLY IMMEDIATE] Exemple CONSTRAINT pk_table PRIMARY KEY DEFERRABLE INITIALLY IMMEDIATE ; Slide 60

61 Modification de la contrainte Au début d une transaction, on peut modifier l état de la contraintes si elle est définie DEFERRABLE. Syntaxe SET CONSTRAINTS {liste_contrainte ALL} {DEFERRED IMMEDIATE} Exemple SET CONSTRAINT pk_table DEFERRED ; L état défini par la clause INITIALY sera repris en fin de transaction (COMMIT) Slide 61

62 Questions? Slide 62

63 Eléments clés des étudiants Slide 63

64 Plan de la présentation Transactions Norme ISO Oracle Slide 64

65 Gestion de concurrence par Oracle Les niveaux supportés sont Read committed Serializable Pour des raisons de performance, le niveau d isolation par défaut d Oracle est Read Committed. La transaction peut-être mise serializable SET TRANSACTION ISOLATION LEVEL SERIALIZABLE ; Slide 65

66 Verrouillage avec Oracle Pour préserver la cohérence des données, Oracle implémente la notion de verrou. Verrouillage implicite Le moteur effectue automatiquement des verrous prédéfinis. Verrouillage explicite Contrôle manuel des mécanismes de verrouillages. Au niveau de la transaction Au niveau de l'instance (DBA) Slide 66

67 Verrouillage des données Oracle ne suit pas vraiment la norme mot à mot Ce n est pas le seul. Beaucoup utilisé : Mode lignes partagées (Row share) Mode lignes exclusives (Row exclusive) Mode table exclusive (Exclusive) Moins utilisé : Mode table partagée (Share) Mode partage exclusif de ligne (Share row exclusive) Slide 67

68 Verrouillage des données en mode read committed sur Oracle SELECT pas de verrou INSERT, UPDATE et DELEVE Les lignes manipulées par une commande d'écriture seront verrouillées, mode lignes exclusives (Row Exclusive), pendant la transaction. LDD Mode table exclusive (Exclusive) Slide 68

69 La lecture inconsistante sur Oracle T1 Verrou exclusif sur enr T2 Pas de verrou pas d attente! UPDATE enr SELECT enr ROLLBACK Slide 69

70 Verrouillage partagé de lignes Sous Oracle, l'instruction SELECT associé au niveau d'isolation READ COMMITTED ne garde pas les verrous. Lecture inconsistante possible!!! Dans ce mode d'isolation la clause FOR UPDATE permet de poser des verrous de lignes partagées (Row share) sur tous les tuples qui satisfont la clause WHERE. SELECT liste_selection FROM nom_table WHERE condition FOR UPDATE ; Slide 70

71 La lecture inconsistante sur Oracle T1 Verrou exclusif sur enr T2 En attente du relâchement du verrou UPDATE enr SELECT enr FOR UPDATE SELECT enr FOR UPDATE ROLLBACK Slide 71

72 La lecture inconsistante sur Oracle ou plus intelligent T1 T2 SELECT enr FOR UPDATE En attente! SELECT enr FOR UPDATE Ou UPDATE ROLLBACK Slide 72

73 Lecture consistante avec transaction en lecture seule De part le niveau d isolation par défaut, l'instruction SELECT ne pose pas de verrous implicites :!! Lecture inconsistante Possibilité de transaction en lecture seule SET TRANSACTION READ ONLY C est une lecture consistante sans verrous A utiliser pour les états et les calculs puisque cette transaction ne mettra pas les autres en attente. Slide 73

74 Lecture non répétitive sur Oracle T1 Pas de verrou T2 SELECT enr1 (consultation) SELECT enr2 (consultation) Pas de verrou Verrou exclusif UPDATE enr1 SELECT enr1 (pour mise a jour) Verrou exclusif Pas d attente! COMMIT; UPDATE enr1 COMMIT; Slide 74

75 Lecture non répétitive sur Oracle T1 Verrou partagé T2 SELECT enr1 FOR UPDATE (consultation) SELECT enr1 FOR UPDATE (pour mise a jour) UPDATE enr1 COMMIT; Verrou partagé SELECT enr2 FOR UPDATE (consultation) Verrou exclusif Attente verrou exclusif sur le verrou partagé UPDATE enr1 Verrou exclusif UPDATE enr1 COMMIT; Slide 75

76 Lignes fantômes sur Oracle T1 SELECT enr1 (pour stat) SELECT enr2 Sommation SELECT enr3 Sommation SELECT enr5 Sommation SELECT enr6 Sommation COMMIT Pas de verrou T2 Attente verrou exclusif DELETE enr3 COMMIT; Slide 76

77 Lignes fantômes sur Oracle T1 Verrous partagés T2 SELECT enr1 FOR UPDATE (pour stat) SELECT enr2 FOR UPDATE Sommation SELECT enr3 FOR UPDATE Sommation SELECT enr5 FOR UPDATE Sommation SELECT enr6 FOR UPDATE Sommation COMMIT Attente verrou exclusif DELETE enr3 DELETE enr3 Slide 77

78 Verrouillage explicite Avec Oracle, seul le verrouillage explicite sur une table pour la transaction est possible. Tous les tuples de la tables seront verrouillés Syntaxe : LOCK TABLE nom_table IN mode_verrouilage MODE ; Slide 78

79 Verrouillage explicite Le SELECT FOR UPDATE est un verrouillage explicite. Il en existe d autres types. Le verrouillage explicite sur une table pour la transaction est possible. Tous les tuples de la tables seront verrouillés Syntaxe : LOCK TABLE nom_table IN mode_verrouillage MODE ; Mode_verrouillage [ROW SHARE ROW EXCLUSIVE SHARE SHARE ROW EXCLUSIVE EXCLUSIVE] Slide 79

80 Verrouillage explicite ROW SHARE, RS Idem SELECT FOR UPDATE mais sur toute une table. ROW EXCLUSIVE, RX Idem INSERT, UPDATE et DELETE. SHARE, S Permet aux autres transactions exclusivement les SELECT, SELECT FOR UPDATE et les LOCK TABLE IN SHARE MODE et SHARE ROW MODE. SHARE ROW EXCLUSIVE, SRX Permet aux autres transactions exclusivement les SELECT, SELECT FOR UPDATE et les LOCK TABLE IN SHARE MODE. EXCLUSIVE, X Permet uniquement la lecture par les autres transactions. Slide 80

81 Récapitulation verrou sous Oracle Instruction Verrou Comptabilité RS RX S SRX X SELECT Aucun O O O O O INSERT RX O O N N N UPDATE RX O* O* N N N DELETE RX O* O* N N N SELECT FOR UPDATE RS O* O* O* O* N O* : Oui sauf si verrou incompatible attente Source cba-dernière mise : DEMAL, à jour : P. SQL2-SQL3 LOCK TABLE IN ROW SHARE MODE LOCK TABLE IN ROW EXCLUSIVE MODE LOCK TABLE IN SHARE MODE LOCK TABLE IN SHARE ROW EXCLUSIVE MODE LOCK TABLE IN EXCLUSIVE MODE RS O O O O N RX O O N N N S O N O N N SRX O N N N N X N N N N N Slide 81 81

82 Traitement du Dead Lock Le SGBD Oracle détecte bien les Dead Lock et son comportement est le suivant: 1. Détection du verrouillage bloquant 2. Avertissement par message de la transaction qui s est faite bloquée. ORA-00060: deadlock detected while waiting for resource 3. Le SGBD ne fait pas de ROLLBACK!! C est au client d annuler lui même la transaction. Ce comportement est très bien adapté au mode client-serveur, puisque il est aisé de réessayer la transaction une fois que l autre transaction aura relâché ses verrous. Slide 82

83 Verrouillage du dictionnaire Chaque instruction est une transaction. Chaque instruction termine la transaction en cours.!! Attention aux transactions comportant des instructions du LMD. Les verrous sur le dictionnaire sont implicites et peuvent êtres posés dans deux modes: Exclusif Suppression, modification d'une structure de table. Partagé Création de tables, vues, procédures et synonymes. Slide 83

84 Contraintes et transactions sur Oracle Les contraintes du schéma peuvent être contrôlées selon la norme. IMMEDIATE Contrôlée après chaque ordre SQL DEFERRED Contrôlée en fin de transaction, à l exécution du COMMIT Commande en début de transaction SET CONSTRAINTS {liste_contrainte ALL} {DEFERRED IMMEDIATE} ; Slide 84

85 Questions? Slide 85

86 Quizz 1 En read committed sur Oracle T1 UPDATE ELEVES SET nom = 'Mistelli' WHERE matricule = '32928'; T2 SELECT * FROM ELEVES WHERE matricule = 32928; COMMIT; Slide 86

87 Quizz 1 En read committed sur Oracle Quelle est la valeur que voit l utilisateur de T2? SELECT * FROM ELEVES WHERE matricule = 32928; 56% A. 'Mistelli' B. La T2 est en attente 17% 28% C. 'La valeur avant Mistelli' 'Mistelli' La T2 est en attente 'La valeur avant Mistelli' Slide 87

88 Quizz 2 Sur Oracle T1 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT * FROM ELEVES WHERE matricule = '32928'; T2 UPDATE ELEVES SET nom = 'Baudet' WHERE ELE_MATRICULE = '32928'; COMMIT; SELECT * FROM ELEVES WHERE matricule = '32928'; Slide 88

89 Quizz 2 Sur Oracle Quelle est la valeur sur T1 dans le dernier SELECT? 53% A. La T1 est en attente 32% B. Baudet 16% C. La valeur avant Baudet La T1 est en attente Baudet La valeur avant Baudet Slide 89

90 Quizz 3 Sur Oracle T1 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT * FROM ELEVES WHERE matricule = '32928'; T2 UPDATE ELEVES SET nom = 'Baudet' WHERE ELE_MATRICULE = '32928'; COMMIT; SELECT * FROM ELEVES WHERE matricule = '32928'; ROLLBACK; SELECT * FROM ELEVES WHERE matricule = '32928'; Slide 90

91 Quizz 3 Sur Oracle Quelle est la valeur sur T1 dans le dernier SELECT? 68% A. La T1 est en attente 32% B. Baudet C. La valeur avant Baudet La T1 est en attente 0% Baudet La valeur avant Baudet Slide 91

92 Eléments clés des étudiants Slide 92

93 Travaux pratiques Série 2, exercice 2 Sur Cyberlearn Slide 93

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

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

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

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

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

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

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

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 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

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

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

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

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

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

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

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

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

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

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

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

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

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

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

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

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

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

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K. Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique CHAPITRE 4 ADMINISTRATION ET TUNING DE BASES DE DONNÉES RESPONSABLE DR K. BOUKHALFA POLITIQUES DE CONTRÔLES

Plus en détail

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

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

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

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

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

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

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

UNION INTERCEPT SELECT WHERE JOINT FROM ACID

UNION INTERCEPT SELECT WHERE JOINT FROM ACID STOCKAGE TRANSACTION, SÉRIALISABILITÉ, NIVEAUX D'ISOLATION 1 BASE RELATIONNELLE Un serveur de données relationnel : Rend compte de la «réalité» sous forme de table Met en relation la perception logique

Plus en détail

IFT3030 Base de données. Chapitre 1 Introduction

IFT3030 Base de données. Chapitre 1 Introduction IFT3030 Chapitre 1 Introduction Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des objets

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

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

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

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

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

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

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Pour les débutants. langage de définition des données

Pour les débutants. langage de définition des données Pour les débutants SQL : langage de définition des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

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

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

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

Cours de Base de Données Cours n.12

Cours de Base de Données Cours n.12 Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - http://www.i3s.unice.fr/ edemaria/ UFR Sciences et Laboratoire I3S, CNRS 2013-2014 Université

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

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

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

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

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

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 Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

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

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

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR Système de Gestion de Bases de Données Relationnelles MySQL Youssef CHAHIR 1 PLAN Introduction Démarrer MySQL Syntaxe de MySQL Types des attributs Identificateurs Effectuer des requêtes Fonctions de MySQL

Plus en détail

Les BASES de DONNEES dans WampServer

Les BASES de DONNEES dans WampServer Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui

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

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

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

CHAPITRE 1 ARCHITECTURE

CHAPITRE 1 ARCHITECTURE 07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

Bases de données avancées Concurrence d'accès et reprise

Bases de données avancées Concurrence d'accès et reprise Bases de données avancées Concurrence d'accès et reprise Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan La notion de transaction Les problèmes de la concurrence Problèmes

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

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

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

Vincent Augusto 2010-2011

Vincent Augusto 2010-2011 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

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

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008 Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008 Version 1.0 Z Grégory CASANOVA 2 Les utilisateurs, les groupes et les rôles Sommaire 1 Introduction... 4 2 Gestion des accès serveur...

Plus en détail

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Utilisation de SQLite dans le logiciel CASSIS Plan Le contexte scientifique avec le logiciel CASSIS La problématique avec Mysql La solution

Plus en détail

MySQL / SQL EXEMPLES

MySQL / SQL EXEMPLES MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi

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

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

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

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

Réplication des données

Réplication des données Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance

Plus en détail