Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique



Documents pareils
XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail

Les bases de données

I4 : Bases de Données

Bases de données relationnelles

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

Bases de données avancées Introduction

Le Langage SQL version Oracle

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

OpenPaaS Le réseau social d'entreprise

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

Bases de Données. Plan

Création et Gestion des tables

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

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

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

XML et Bases de données. Les bases de données XML natives.

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

Information utiles. webpage : Google+ : digiusto/

Langage SQL : créer et interroger une base

CREATION WEB DYNAMIQUE

Master I Génie Logiciel

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

TP Contraintes - Triggers

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de Données Avancées

Compétences Business Objects

Le Langage De Description De Données(LDD)

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

1. Base de données SQLite

1 Position du problème

A QUOI SERVENT LES BASES DE DONNÉES?

Objectifs du TP : Initiation à Access

CHAPITRE 1 ARCHITECTURE

Cours Base de données relationnelles. M. Boughanem, IUP STRI

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

2 Serveurs OLAP et introduction au Data Mining

Introduction aux Bases de Données Relationnelles Conclusion - 1

Le langage SQL Rappels

1 Introduction et installation

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Du 10 Fév. au 14 Mars 2014

IFT3030 Base de données. Chapitre 1 Introduction

Cours Bases de données

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

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

Bases de données cours 1

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

Séance 1 Introduction aux bases de données

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

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Modélisation de bases de données : Le modèle relationnel

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

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

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

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

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

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

Rappel sur les bases de données

SQL Server 2012 et SQL Server 2014

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

Structure fonctionnelle d un SGBD

1/ Présentation de SQL Server :

UML et les Bases de Données

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

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

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

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

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

Bases de Données Relationnelles. Le Modèle Relationnel

Bases de données - Modèle relationnel

Introduction aux SGBDR

Encryptions, compression et partitionnement des données

BIRT (Business Intelligence and Reporting Tools)

Java DataBaseConnectivity

I. MySQL : Serveur et SGBD

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Bases de Données et Internet

Systèmes d information et bases de données (niveau 1)

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

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

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Table des matières. Avant-propos

A QUOI SERVENT LES BASES DE DONNÉES?

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

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

TP Bases de données réparties

Les bases de données Page 1 / 8

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

Bases de données Outils de gestion

CATALOGUE FORMATIONS DOMAINE Bases de données

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

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Bases de données élémentaires Maude Manouvrier

Transcription:

Les requêtes Oracle XML DB Du modèle relationnelle au modèle Hiérarchique

Sommaire Rappel des modèles Le modèle relationnel Le modèle hiérarchique Leurs différences Oracle XML DB Les types de XMLType Les requêtes sur le XMLType Et pour l avenir

Rappel des modèles Relationnel et hiérarchique

Rappel des modèles Un modèle définis la gestion des données Exemples Modèle relationnel Modèle hiérarchique Modèle objet Modèle déductif Modèle réseaux.

Le modèle relationnel Système de table (Attributs / Tuples) Algèbre relationnel (théorie des ensembles) la notion de domaine la notion de produit cartésien Application : BDD

Le modèle hiérarchique Système d arborescence descendante un point d entrée un ordre de lecture Hiérarchie du modèle 1 2 3 Application : première BDD, XML

Hiérarchique vs. Relationnel Cours etudiant 0..* 1..* cours Dep1 (étudiants) Dep2 (professeur) notes Dep1a (notes)

Oracle XML DB Passage du modèle hiérarchique au relationnel

XMLType Depuis la version 9i d'oracle, un nouveau type de données appelé XMLType a fait son apparition. Il possède un certain nombre de fonctions permettant de créer, extraire et indexer des données XML stockées dans le SGBD Oracle. Depuis la11g, Oracle propose 3 types de stockages avec XML Type : CLOB (8, 8i, 9i, 10g, 11g) : stockage du fichier XML «brut» Object Relational (9i, 10g, 11g) : stockage du shéma XML Binary XML (11g) : stockage binaire, solution à mi-chemin entre le LOB et Object Relational On définis le type de stockage XML à la création de la table contenant le XML

XMLType

XMLType - CLOB CLOB : Character Large Object Permet de stocker des chaines de caractéres (donc du XML) jusqu à 4 Go. L'utilisation des CLOB en SQL est très simple. L'insertion et la récupération d'un CLOB en SQL ne sont en rien différentes d'une colonne de type standard. create table xml_test ( id_clob NUMBER(5) PRIMARY KEY, texte CLOB ); INSERT INTO xml_test VALUES (1,'Hello World'); INSERT INTO xml_test VALUES (2,rpad('*',32000,'*')); SELECT * FROM xml_test; ID_CLOB TEXTE ---------------------------------------------------------------------------------------------- 1 Hello World 2 *************************************************************

XMLType - CLOB Commande création d un XMLType en CLOB CREATE TABLE xml_test ( identifiant NUMBER(5) PRIMARY KEY, Nom VARCHAR2(64) NOY NULL, Doc_xml XMLType ) XMLType Doc_xml STORE AS CLOB INSERT INTO xml_test VALUES ( 1, doc xml 1, XMLType('<?xml version="1.0"?> <cours> <étudiant id= 10 > <nom>dupont</nom> <note>10</note> </étudiant> </cours>' ) );

XMLType - Object Relational objet structuré Génère un objet structuré grâce au schéma XML CREATE TABLE xml_test ( id NUMBER(5) PRIMARY KEY, Doc_xml XMLTYPE ) XMLTYPE Doc_xml STORE AS OBJECT RELATIONAL XMLSCHEMA http://localhost/monschema.xsd ELEMENT «cours»; Certains caractères non significatifs ne sont pas stockés (saut de ligne, espaces de fin,etc.). Nécessite moins d'espace de stockage. Permet de manipuler le XML.

XMLType - Object Relational <schema targetnamespace=http://loacalohost/monschema.xsd xmlns:cmd=http://localhost/monschema.xsd xmlns="http://www.w3.org/2001/xmlschema"> <complextype name="cours"> <sequence> <element name="etudiant"> <complextype> <sequence> <element name="nom"> <simpletype> <restriction base="string"> <maxlength value="255"/> </restriction> </simpletype> </element> <element name="note" type="float"/> </sequence> </complextype> </element> </sequence> </complextype> </schema>'; INSERT INTO xml_test VALUES ( 1, doc xml 1, XMLType('<?xml version="1.0"?> <cours> <étudiant id= 10 > <nom>dupont</nom> <note>10</note> </étudiant> </cours>' ) );

XMLType - Binary XML Utilisation d une structure de donnée binaire dédié au XML (plus efficace que le CLOB) Utilisation d un schéma non obligatoire mais possible. Permet de manipuler le XML. CREATE TABLE xml_test ( id NUMBER(5) PRIMARY KEY, Doc_xml XMLTYPE ) XMLTYPE Doc_xml STORE AS BINARY XML

Les différents XMLType

Les requêtes sur le XMLType Le SQL/XML

Le SQL/XML Un certain nombre de sociétés se sont réunies durant l année 2000 pour standardiser des extensions XML au langage SQL. SQL/XML introduit des types de données XML et ajoute un certain nombre de fonctions à SQL de telle façon qu il soit possible de construire des éléments et des attributs XML à partir de données relationnelles. Le SQL/XML comprend : Type de donnée XMLType Fonctions d extraction XPath Intégration de fonctionnalités XQuery à SQL

Fonctions d extraction XPath ExtractValue reçoit en argument une instance XMLType et une expression XPath et retourne la valeur scalaire des nœuds sélectionnés ExtractXML SELECT extractvalue(doc_xml, '/cours/etudiant/note') as note" FROM xml_test reçoit en argument une instance XMLType et une expression XPath et retourne une instance XML représentant les nœuds sélectionnés Note ----------------------- 10 2 19 15 SELECT extractxml(doc_xml, '/cours/etudiant/note') as note" FROM xml_test Note ----------------------- <note>10</note> <note>2</note> <note>19</note>

Une alternative aux fonctions Xpath Des fonctions propres à oracle Fonction Rôle XMLAgg prend en argument une collection de fragments et retourne un document XML agrégé ; XMLConcat XMLElement reçoit en argument une série d instances XMLType correspondant aux valeurs d une colonne pour les lignes d une table et retourne les instances concaténées ; prend en argument un nom d élément, une collection d attributs optionnels, un contenu d élément et retourne une instance XMLType ; XMLForest convertit la suite de ses argument en XML et retourne un fragment XML concaténation des arguments convertis ; XMLColAttVal converti une valeur de colonne en XML ; XMLSequence transforme une suite de lignes référencées par un curseur en séquence XML ; XMLTransform applique une feuille de style XSL à une instance XMLType et retourne une instance XMLType ;

Intégration de fonctionnalités XQuery à SQL La fonction XMLQuery Permet d'utiliser les résultats obtenus pour créer un nouveau XML select xmlquery ( FROM xml_test; '<nouvelelement>{$note}</nouvelelement>' PASSING extractvalue(doc_xml, '/cours/etudiant/note') as note" RETURNING CONTENT ) <nouvelelement>10</nouvelelement> <nouvelelement>19</nouvelelement> <nouvelelement>2</nouvelelement>

Conclusion Une technologie jeune et encore peu utilisée. En constante évolution. Abordant de nombreuses notions xml: xpath, xquery, schema XML... Très peu documentées dû à la technologie propriétaire.