Info Bases de données avancées

Slides:



Advertisements
Présentations similaires
Les Systèmes de Gestion de Bases de Données (SGBD) PL-SQL.
Advertisements

Créer une base de données MySQL Et création de tables, enregistrements, interaction avec PHP.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
L’utilisation des bases de données
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
OPTIMISATION DE BASE DE DONNEES ORACLE
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
MySQL 5 Chapitre 2 M. Person. MySql 5 - Chapitre II 2 Mysql5 - Sécurité et maintenance Création des utilisateurs Backup et restauration.
Les bases de données Séance 8 Jointures.
Types de données composites
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Cours n°2 Implémentation et exploitation
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Gestion de la concurrence avec Entity Framework Développement d’application avec base de données Chapitre 23 Hugo St-Louis – Automne 2015.
RAPPEL SUR LES BASES DE DONNÉES, LE SQL 1 er trimestre V1.0 06/01/2015.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
SQL-MAJ, vues - 1 UPMC - UFR 919 Ingéniérie - Cours Bases de données (BD-LI341) SQL : création et mises-à-jour de schémas et de données ● Commandes de.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Chapitre 3: SQL-ORACLE. Concepts de SQL SQL est un langage d’interrogation de base de données relationnelles pour  Définir les données (LDD)  Interroger.
Les Bases de données Définition Architecture d’un SGBD
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
ملخص Initiation à la sgbdr
Bases de données multimédia
Structured Query Language SQL DDL
Initiation aux bases de données et à la programmation événementielle
LE LANGAGE DE REQUETES SQL
Langage de manipulation de données (LMD)
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Structured Query Language
Généralité sur les bases de données
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
1 Présentation projet Base de Données & Langage SQL Bakary DIABY, Insa Rouen Promo. MS-ESD 16/17.
SQL LID – INTERROGATIN DES DONNEES
Introduction BD TABLES ET DONNÉES champs OU données, types de données
SQL LMD FICHE 4.6.
Manipulation D’Une Base De Données
Langage d’interrogation des Données LID
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
10 Copyright © 2004, Oracle. Tous droits réservés. Créer d'autres objets de schéma.
Préface. Préface-3 Profil Avant de commencer Avant de commencer ce cours, vous devez savoir utiliser une interface graphique. Vous devez en outre être.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
D Copyright © 2004, Oracle. Tous droits réservés. Utiliser SQL*Plus.
Remarque : Un nombre ou une lettre en gras fait référence à un chapitre entier ou à une annexe entière. A Affichage des dates par défaut 02-06, Ajouter.
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
Info Bases de données avancées
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
 C’est quoi Laravel ?  Installer Laravel 5 avec Composer  Structure des Fichiers  Créer une page d’authentification  Comment faire le Routing dans.
COURS ADMINISTRATION DE BASES DE DONNÉES IMPORT/EXPORT Karim LABIDI ISET Ch
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Bases de données Singleton pour la connexion
Transcription de la présentation:

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

A faire decanat Créer une troisième base fanar hadath fanar connect c##userHadath/passHadath@hadath; connect c##userFanar/passFanar@fanar;

Utiliser SQL developer

Utiliser SQL developer

Utiliser SQL developer

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;

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

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 EtudiantHadath@lienBD_Hadath; Depuis Hadath CREATE PUBLIC DATABASE LINK lienBD_Fanar CONNECT TO c##userFanar IDENTIFIED BY passFanar USING ‘Fanar.’; CREATE PUBLIC SYNONYM EtudiantFanar FOR EtudiantFanar@lienBD_Fanar;

Transparence à la Fragmentation Vues Procédures

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

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

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 !

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é

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’);

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

Réplication des données COPY SNAPSHOT MATERIALIZED VIEW

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 = username[/password]@connect_identifier Exemple COPY FROM c##userFanar/passFanar@fanarDB – TO c##userHadath/passHadath@hadathDB – CREATE EtudiantdeFanar (etudiant_id, nom, ville) - USING SELECT * FROM EtudiantFanar; les données ne peuvent pas être mises à jour

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 EtudiantFanar@lienBD_Fanar; select count(*) from EtudiantFanar;

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.

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 EtudiantFanar@lienBD_Fanar;

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.

MATERIALIZED VIEW

Multimaster Replication

Read-Only Materialized View Replication

Updatable Materialized View Replication

Multimaster and Materialized View Hybrid Configurations

Materialized View Connected to a Single Master Site

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

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)

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