Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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.
Présentations similaires
© 2025 SlidePlayer.fr Inc.
All rights reserved.