Основы (асослар)


Объектлардан умумий тарзда фойдаланиш



Download 0,95 Mb.
bet52/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   48   49   50   51   52   53   54   55   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

Объектлардан умумий тарзда фойдаланиш


Кўпинча ҳақиқий дунё объектлари Rational объектига қараганда каттароқ ва мураккаброқдир. Қуйидаги объект турини қараймиз:
CREATE TYPE Address AS OBJECT (
street_address VARCHAR2(35),
city VARCHAR2(15),
state CHAR(2),
zip_code INTEGER
);

CREATE TYPE Person AS OBJECT (


first_name VARCHAR2(15),
last_name VARCHAR2(15),
birthday DATE,
home_address Address, -- ичма-ич жойлашган объект тури
phone_number VARCHAR2(15),
ss_number INTEGER,
...
);

Address объекти туртта атрибутдан иборат ва Person объекти эса ундан ҳам кўп атрибутларга эга бўлиб, улардан бири Address туридаги объектдир. Объект катта бўлса, уни бир қисмдастурдан иккинчи қисмдастурга кўчириш самарасиз бўлади. Шу сабабли объектлардан умумий тарзда фойдаланиш фойдалироқ бўлади. Бу ишни амалга ошириш учун объект ўзининг идентификаторига эга бўлиши лозим. Объектдан умумий тарзда фойдаланиш учун сиз унга ҳаволани (қисқача refs, references сўзидан) ишлатасиз. Ref бу объектга кўрсаткичдир. Объектдан умумий тарзда фойдаланишнинг иккита муҳим ижобий томони мавжуд. Биринчиси – берилганлар заруриятсиз репликация қилинмайди. Иккинчиси – умумий тарзда фойдаланиши лозим бўлган объект қиймати ўзгартирилганда, ўзгартириш фақат бир жойда амалга оширилади ва ихтиёрий ҳавола ўзгартирилган қийматларни очиб ўқиши мумкин.


Қуйидаги мисолда биз умумий тарзда фойдаланиладиган объект ижобий томонларидан бирини Home объект турини аниқлаб ва сўнг ушбу турдаги объект нусхаларидан таркиб топган жадвални очиш орқали намойиш этамиз:
CREATE TYPE Home AS OBJECT (
address VARCHAR2(35),
owner VARCHAR2(25),
age INTEGER,
style VARCHAR(15),
floor plan BLOB,
price REAL(9,2),
...
);
...
CREATE TABLE homes OF Home;

Refs-дан фойдаланиш


Person турдаги объектда бир хил уй адресига эга бўлган одамларни моделлаштириш мумкин. Объект кўрсатгичини ўз ичига олган атрибутни эълон қилиш учун REF –дан фойдаланасиз:
CREATE TYPE Person AS OBJECT (
first_name VARCHAR2(10),
last_name VARCHAR2(15),
birthday DATE,
home_address REF Home, /* оила аъзолари умумий адрес учун фойдаланишлари мумкин */
phone_number VARCHAR2(15),
ss_number INTEGER,
mother REF Person, /* оила аъзолари бир-бирига ҳавола қилиши мумкин */
father REF Person,
...
);

Notice how references from persons to homes and between persons model real-world relationships.


Сиз refs-ни ўзгарувчи, параметр, майдон ёки атрибут тарзида ишлатишингиз мумкин. Refs –ни SQL жумлаларида киритиш ёки чиқариш ўзгарувчилари сифатида ҳам фойдаланишингиз мумкин. Аммо refs йўналиши бўйлаб мурожаат қилиб бўлмайди. Агар x.attribute, ифодада x ref бўлса, PL/SQL, ҳавола этилаётган объектни сақлаётган жадвалга ўтолмайди. Масалан қуйидаги қиймат бериш қоидага хилоф:
DECLARE
p_ref REF Person;
phone_no VARCHAR2(15);
BEGIN
phone_no := p_ref.phone_number; -- нотўғри

Буни ўрнига сиз объектга киришингиз учун DEREF операторидан фойдаланишингиз лозим .



Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   48   49   50   51   52   53   54   55   ...   58




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish