La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Info Bases de données avancées

Présentations similaires


Présentation au sujet: "Info Bases de données avancées"— Transcription de la présentation:

1 Info 409 - Bases de données avancées
Université Libanaise Faculté des Sciences – Section I Master 1 Informatique Info Bases de données avancées Semestre: 2 Année Universitaire: 2013/ Crédits: 5 Dr. Antoun Yaacoub

2 A faire decanat Créer une troisième base fanar hadath fanar
connect connect

3 Utiliser SQL developer

4 Utiliser SQL developer

5 Utiliser SQL developer

6 A faire decanat hadath fanar
CREATE TABLE EtudiantHadath( Etudiant_id number(5) PRIMARY KEY, nom VARCHAR2(20), ville VARCHAR2(20) ); commit; CREATE TABLE EtudiantFanar( Etudiant_id number(5) PRIMARY KEY, nom VARCHAR2(20), ville VARCHAR2(20) ); commit;

7 Peupler les 2 bases en utilisant les deux fichiers joints
etudiant_hadath.sql etudiant_fanar.sql

8 Création d’un database link Créer des Synonymes
Depuis Fanar CREATE PUBLIC DATABASE LINK lienBD_hadath CONNECT TO c##userHadath IDENTIFIED BY passHadath USING ‘Hadath.’; CREATE PUBLIC SYNONYM EtudiantHadath FOR Depuis Hadath CREATE PUBLIC DATABASE LINK lienBD_Fanar CONNECT TO c##userFanar IDENTIFIED BY passFanar USING ‘Fanar.’; CREATE PUBLIC SYNONYM EtudiantFanar FOR

9 Transparence à la Fragmentation
Vues Procédures

10 Restreindre les accès à une BD
Tout le monde ne peut pas VOIR et FAIRE n’importe quoi. de la vision VIEW RESTRICTION des actions GRANT

11 Restriction des accès Sous-Schéma ou schéma externe
Administrateur de la base de données Utilisateur 2 Utilisateur 1

12 L’objet Vue Une vue est une table virtuelle
Aucune implémentation physique des données La définition d’une vue est enregistrée dans le Dictionnaire des Données A chaque appel d’une vue: Le SGBD réactive sa construction à partir du Dictionnaire des Données Vue mono-table Créée à partir d’une table Vue multi-tables Créée par une jointure en forme relationnelle Attention aux modifications sur les vues !

13 Utilisation d’une vue Simplification des requêtes pour les non spécialistes Création de résultats intermédiaires pour des requêtes complexes Présentation différente de la base de données: Schéma externe Mise en place de la confidentialité

14 Créer une vue Création d’une vue faisant l’union des tables étudiants.
CREATE VIEW Etudiants AS (SELECT * FROM EtudiantHadath) UNION (SELECT * FROM EtudiantFanar); commit; Tester la requête suivante: Select count(*) from Etudiants where ville in (‘baabda’,’mkalles’);

15 Créer une procédure stockée
Ecriture d’une procédure stockée qui insère un nouvel étudiant. CREATE OR REPLACE PROCEDURE c##userHadath.INSERERETUDIANT (cetudiant IN NUMBER, cnom IN VARCHAR, cville IN VARCHAR) AS BEGIN IF (cville = 'laylake') THEN INSERT INTO EtudiantHadath VALUES (cetudiant, cnom, cville); ELSIF (cville = 'dekwaneh') THEN INSERT INTO EtudiantFanar VALUES (cetudiant, cnom, cville); ELSE DBMS_OUTPUT.PUT_LINE('La ville de etudiant est non connue!'); END IF; COMMIT; END; / Pour exécuter une procédure EXECUTE insereretudiant(501,'Ali','laylake'); EXECUTE insereretudiant(501,'Ali','dekwaneh'); set serveroutput on; EXECUTE insereretudiant(501,'Ali','msharafieh'); Vérifier vos insertions

16 Réplication des données
COPY SNAPSHOT MATERIALIZED VIEW

17 les données ne peuvent pas être mises à jour
COPY Répliquer régulièrement les données sur le serveur local au moyen de la commande COPY de SQL*Plus. COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE}  destination_table [(column, column, column, ...)] USING query database = Exemple COPY FROM – TO – CREATE EtudiantdeFanar (etudiant_id, nom, ville) - USING SELECT * FROM EtudiantFanar; les données ne peuvent pas être mises à jour

18 hadath fanar CREATE SNAPSHOT LOG ON EtudiantFanar; commit;
drop public synonym EtudiantFanar; CREATE SNAPSHOT EtudiantFanar REFRESH FAST START with SysDate NEXT SysDate+7 AS SELECT * FROM select count(*) from EtudiantFanar;

19 SNAPSHOT Cette option utilise des snapshots pour répliquer les données depuis une source maître vers plusieurs cibles. Les snapshots peuvent être en lecture seule (ang. read-only) ou mis à jour (ang. updateable). Avant de créer un snapshot, il faut d’abord créer un lien vers la base de données source. Deux types de snapshots peuvent être crées : simples et complexes. Un snapshot simple ne contient pas de clause distinct, group by, connect by, de jointure multitables ou d’opérations set.

20 SNAPSHOT Le snapshot suivant est défini de façon à extraire les données maîtres et renouveler l’opération 7 jours plus tard. CREATE SNAPSHOT EtudiantFanar REFRESH FAST START with SysDate NEXT SysDate+7 AS SELECT * FROM

21 SNAPSHOT Un REFRESH FAST utilise un snapshot log, pour actualiser le snapshot. Ce fichier se trouve sur le même site que la table maître. Dans le snapshot log, sont stockées les modifications intervenues sur la table maître. Ainsi, pour chaque mise à jour, seules les modifications qui sont envoyées, et non l’ensemble des données. Par contre, un REFRESH COMPLETE est obligatoire pour les snapshots complexes. Le snapshot log est à créer avant le snapshot: CREATE SNAPSHOT LOG ON EtudiantFanar; Notons que, les snapshots en mise à jour peuvent engendrer des conflits. Un déclencheur (ang. trigger) sauve les mises à jour opérées sur le snapshot et les transmet au site maître au moment du rafraîchissement du snapshot.

22 MATERIALIZED VIEW

23 Multimaster Replication

24 Read-Only Materialized View Replication

25 Updatable Materialized View Replication

26 Multimaster and Materialized View Hybrid Configurations

27 Materialized View Connected to a Single Master Site

28 Read-Only Materialized Views
hadath fanar DROP MATERIALIZED VIEW EtudiantFanar; CREATE MATERIALIZED VIEW EtudiantFanar AS SELECT * FROM SELECT count(*) from EtudiantFanar; INSERT into EtudiantFanar values (503,'Michel','Faraya');

29 Politique et méthodes de rafraichissement
ON COMMIT ON DEMAND (il faut appeler une des procédures dans DBMS_MVIEW ) NEVER SPECIFY (spécifier des dates) Méthodes COMPLETE REFRESH FAST REFRESH (il faut créer un materialized view logs) FORCE REFRESH (appliquer FAST si c’est possible, sinon appliquer COMPLETE)

30 Politique et méthodes de rafraichissement
Essayer des créer des vues matérialisées et des materialized view logs en utilisant SQL developer.


Télécharger ppt "Info Bases de données avancées"

Présentations similaires


Annonces Google