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

UN
Uni24h
0 lượt tải
74
0

Nội dung tài liệu

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.

Bình luận (0)

Đăng nhập để tham gia bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!