Relational Object (6) - Mô hình quan hệ-đối tượng (Tiếng Pháp)

UN
Uni24h
0 Downloads
74
0

Inhalt des Dokuments

Seite 2

Motivations : Faiblesses du relationnel (1) z Structure de données trop simple: z relation: tuple, 1FN, identifiant: valeur z Objets complexes, Non-1FN, identifiant d'objet z Pas d’intégration des opérations avec les données : z pas de méthodes z pas d’encapsulation 2

Seite 3

Motivations : Faiblesses du relationnel (2) z Pas de possibilité de référencer directement un objet composant (pointeur) par l’intermédiaire d’un oid z jointures sur identifiants de tables z Pas de gestion des fonctions spécifiques à certaines données z spatial, multimédia, z très peu adaptable à ce type de données 3

Seite 4

Modèle Objet z Objet (structure) complexe z Identité d’objet z Composition z Hiérarchie de généralisation et héritage z Collections z Encapsulation 4

Seite 5

Solutions possibles z Étendre le relationnel z Oracle z PostGrès z Informix z Inventer de nouveaux SGBD: Orientés objets z O2, z Versant, … 5

Seite 6

Modèle de données SQL3 z Objets possédant une valeur et un identifiant d’objet système (oid) z Types de données utilisateur TAD avec des méthodes z Attributs complexes et/ou multi-valués dans les tables (collections) z Pouvoir établir des liens de composition entre tables via les oid z Héritage 6

Seite 7

Exemple : table Personne nom {prénoms} Date naissance {voitures} … prénom modèle année no Duran Pierre 16-05-1963 2ch 1975 128 Paul Mégane 1998 371 Jacques Piona Marie 29-02-1944 Twingo 1999 17 Jeanne 7

Seite 8

Le modèle relationnel objet d’Oracle 9i z Concepts NF2 : structure complexe avec collection, Plus z Possibilité de référencer les données (simili oid), z Programmation incluse dans le SGBD avec les méthodes (langage : PL/SQL), ⇒ Moins de jointure, références directes, ⇒ Meilleures performances ! (en théorie) z pas d’héritage dans v. 8i z héritage dans v. 9i 8

Seite 9

Concrètement z 3 extensions par rapport au modèle relationnel : z Les TAD (Types abstraits de données), zTypes complexes ƒ Composés, ƒ Collections zRéférences, zMéthodes. z Les oids z L'héritage 9

Seite 10

PLAN z I - Les TAD: différentes catégories de Types z II - Création de tables à partir des types z III - Définition d'attributs référence z IV – Manipulation et interrogation 10

Seite 12

I – Les TAD z En relationnel: types prédéfinis z CHAR, VARCHAR, NUMBER, DATE, … z En relationnel – objet : nouveaux types définis par utilisateurs z ordre CREATE TYPE … z Plusieurs catégories de TYPES: z de type OBJET z de type COLLECTION zVARRAY zNested Table 12 I - TAD

Seite 13

Types de "type OBJET" z Objets complexes z Informations incluses dans un type: z nom: identification de l'objet (unique dans le schéma) z attributs z méthodes: fonctions ou procédures écrites en PL/SQL ou Java et stockées dans la BD ou en C et stockées à l'extérieur de la BD 13 I – TAD - Objet

Seite 14

Create TYPE as OBJECT, syntaxe z CREATE [OR REPLACE] TYPE type_name AS OBJECT ( att1 DATATYPE, att2 DATATYPE, … attn DATATYPE , [définition méthode]) / -- Remarque : après la création d’un TAD et uniquement dans ce cas, ‘/’ remplace le ‘;’ pour terminer un ordre SQL 14 I – TAD - Objet

Seite 15

Exemple z CREATE TYPE Person AS OBJECT ( name VARCHAR2(30), phone VARCHAR2(20) ); z CREATE TYPE LineItem AS OBJECT ( item_name VARCHAR2(30), quantity NUMBER, unit_price NUMBER(12,2) ); 15 I – TAD - Objet

Seite 16

CREATE TYPE Person AS OBJECT ( Utilisation name VARCHAR2(30), phone VARCHAR2(20) ); z Les types objet peuvent être utilisés comme z domaine de valeur d'une colonne d'une table zCreate table Contacts ( contact Person, date DATE) z domaine de valeur d'un attribut d'un autre type défini par l'utilisateur zCreate type Contacts (contact Person, date DATE) z domaine de relation zcreate table LesPersonnes of Person ƒ chaque ligne de la table LesPersonnes: type Person 16 I – TAD - Objet

Seite 17

Types de "type COLLECTION" z Type Tableau et type TABLE z VARRAY et NESTED TABLE z Permettent de créer des attributs multi-valués z Ils ont des constructeurs de même nom que le nom du type z NOM_TYPE ( val1, val2, …, valn) 17 I – TAD - Collection

Seite 18

VARRAYs z Tableau à une dimension i.e. ensemble ordonné d'éléments de même type z Tableau de taille variable (variable-array) z Syntaxe: z CREATE [ OR REPLACE ] TYPE nom_type AS VARRAY (nb_max) of nom_type2 z Définit un type tableau nommé nom_type de maximum nb_max éléments de type nom_type2 z nom_type2 peut être n'importe quel type oracle ou créé par l'utilisateur 18 I – TAD - Varray

Seite 19

Exemple z CREATE TYPE Tprices AS VARRAY(10) OF NUMBER(12,2); z Le type VARRAY nommé TPRICES ne peut pas posséder plus de 10 éléments, z Chaque élément est de type NUMBER(12,2). z Create table Product ( nb Number, price TPrice) 19 I – TAD - Varray

Seite 20

CREATE TYPE Telephones Utilisation AS VARRAY(3) OF NUMBER(10); z Les types VARRAYs peuvent être utilisés comme z domaine de valeur d'une colonne d'une table z Create table Personne ( nom VARCHAR(20), telephone TELEPHONES) z domaine de valeur d'un attribut d'un autre type défini par l'utilisateur z Create type Personne ( nom VARCHAR(20), telephone TELEPHONES) z Aussi dans une autre collection (collection de collection) 20 I – TAD - Varray

Die ersten 20 Seiten werden angezeigt. Laden Sie das Dokument herunter, um alles zu sehen.

Kommentare (0)

Anmelden um an der Diskussion teilzunehmen

Noch keine Kommentare. Seien Sie der Erste!