کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

معرفی و آموزش مفاهیم object و object type در پایگاه داده ی ORACLE

معرفی و آموزش مفاهیم object و object type در پایگاه داده ی ORACLE

object type در ORACLE عبارت است از نوع داده هایی که توسط خود کاربر تعریف می شوند و امکان مدل سازی موجودیت های پیچیده ی واقعی همچون سفارشات و خرید مشتریان به صورت موجودیت های واحد " object " را در پایگاه داده فراهم می آورند.
تکنولوژی object اراکل یک لایه ی انتزاعی (abstraction layer) است که مبتنی بر تکنولوژی relational (رابطه ای) پایگاه داده ی مزبور می باشد. Object type های جدید را می توان از هر database type توکار دیگر و یا هر object type، object reference و collection type دیگری که قبلا تعریف شده، مشتق کرده یا ساخت. Meta-data های type های تعریف شده توسط کاربر، در یک schema که در دسترس رابط های SQL، PL/SQL، Java و یا هر رابط (interface) منتشر شده ی دیگری قرار دارد، ذخیره می گردد.
Object type ها و دیگر قابلیت های مربوطه ی شی گرایی همچون آرایه های با طول متغیر و جداول تودرتو (nested table)، روش های سطح بالاتری برای سازمان دهی و دسترسی به اطلاعات در پایگاه داده فراهم می نمایند. با این وجود زیر لایه ی object، داده ها همچنان در ستون ها و جداول ذخیره می شوندو نیز شما می توانید با داده ها به مثابه ی مجودیت های واقعی – مشتری ها و سفارشات خرید و غیره برخورد کرده و از آن ها استفاده کنید. بجای اینکه در زمان query گرفتن و پرس و جو از پایگاه داده به سطر و ستون فکر کنید، می تواند مشتری را انتخاب کرده و مورد پرس و جو قرار دهید.
برای نمونه در جدول از آدرسی استفاده می کنیم که متشکل است از شماره ی خیابان (streetno)، محلیت (locality) ، شهر(city) ، شماره شناسایى شخصى (pin) و کشور (country). برای این اطلاعات ستون های به صورت جداگانه در جدول ایجاد می کنیم.


Create table emp (empno number(5),‎ 

        ‎              Name varchar2(20),‎ 

        ‎              Sal number(10,2),‎ 

        ‎              Streetno varchar2(20),‎ 

        ‎              Locality varchar2(20),‎ 

        ‎              City varchar2(20),‎ 

        ‎              Pin varchar2(7),‎ 

        ‎              Country varchar2(20));‎ 

        Create table customers (custcode number(5),‎ 

        ‎              Name varchar2(20),‎ 

        ‎              Bal number(10,2),‎ 

        ‎              Streetno varchar2(20),‎ 

        ‎              Locality varchar2(20),‎ 

        ‎              City varchar2(20),‎ 

        ‎              Pin varchar2(7),‎ 

        ‎               Country varchar2(20));‎

بجای اینکه بارها و بارها در هر جدول ستون آدرس را تعریف کنیم، می توانیم یک نوع داده ی address تعریف کرده، سپس نوع داده ی user-defined )تعریف شده توسط کاربر( را در تمامی جداول بکار ببریم.


نحوه ی تعریف نوع شی (Object Type)

مثال زیر یک object type تعریف می کند.


Create type address as object (‎


        ‎              Streetno varchar2(20),‎


        ‎              Locality varchar2(20),‎


        ‎              City varchar2(20),‎


        ‎              Pin varchar2(7),‎


        ‎               Country varchar2(20));‎

حال می توانیم این نوع داده را به هنگام تعریف جداول emp و customer بدین صورت بکار ببریم.


Create table emp (empno number(5),‎


        ‎              Name varchar2(20),‎


        ‎              Sal number(10,2),‎


        ‎              Emp_addr address);‎

درج سطر در جدول با استفاده از object datatype (نوع داده شی)

به منظور درج record جدید در جدول emp، باید دستور زیر را مورد استفاده قرار دهید.


Insert into emp values (101,’Sami’,2000,‎


        ‎  address(‘A.C.Gaurds Road’,‎


        ‎           ’A.C.Gaurds’,’Hyd’,’500004’,’India’);

جهت بروز رسانی فیلد شهر کارکن شماره ی 101 باید دستور update را بکار ببرید.


Update emp e set e.emp_addr.city=’Bombay’ ‎


        ‎       where e.empno=101;‎

برای انتخاب سطر از جدول emp باید دستور زیر را اجرا کنید.


Select * from emp;‎

به منظور انتخاب فقط اسم و شهر مربوط به فیلد empno باید دستور زیر تایپ کرد.


Select e.empno, e.name, e.emp_addr.city from emp e;‎

ایجاد شی با استفاده از member function (توابع عضو)

همچنین می توانید یک شی را با استفاده از تابع عضو که در شی تعریف شده باشد، ایجاد کرد.
برای مثال، دستور زیر با استفاده از توابع عضو یک شی جدید ایجاد می کند.


create type stud as object (‎


        ‎          maths number(3),‎


        ‎          phy   number(3),‎


        ‎          chem  number(3),‎


        ‎          member function tot return number,‎


        ‎          member function result return varchar2);‎

توجه داشته باشید که باید MEMBER FUNCTION (تابع عضو) را درون OBJECT BODY (بدنه ی شی) تعریف کنید. مثال زیر object body، شی STUD را بوجود می آورد.


create type body stud as (‎


        ‎     member function tot return number is


        begin


        ‎     return(maths+phy+chem);‎


        end;‎


        ‎     member function result return varchar2 is


        ‎              t number(3);‎


        ‎          begin


        ‎              t:=maths+phy+chem;‎


        ‎              if maths < 35 or phy < 35 or chem < 35 then


        ‎                   return(‘Fail’);‎


        ‎              elsif t < 150 then


        ‎                   return(‘Third’);‎


        ‎              elsif t >= 150 and t <= 180 then


        ‎                   return(‘Second’);‎


        ‎              else


        ‎                   return (‘First’);‎

        ‎              end if;‎


        ‎          end;‎

        end;‎

حال می توانید این شی را در تعریف جدول student بکار ببرید.


Create table students (rollno number(5),‎


        ‎              Name varchar2(20),‎


        ‎              Marks stud);

به منظور وارد کردن سطر جدید در جدول students، کافی است دستور زیر را اجرا کنید.


Insert into students values (101,’Sami’,stud(99,88,98));‎

به منظور مشاهده ی سطرهای جدول نام برده، دستور زیر را تایپ کنید.


select s.rollno,s.name,s.marks.maths,s.marks.phy,‎


s.marks.chem,s.marks.tot(),s.marks.result()‎


from students s;‎

Varray- آرایه های با اندازه ی متغیر

آرایه تعدادی متغیر از یک نوع داده و تحت یک نام می‌باشد. هر یک از متغیرهای درون آرایه با یک شماره که به آن «اندیس» می ‌گوییم از یکدیگر جدا می‌ شوند. متغیرهای درون آرایه را «عناصر یا المان های آرایه» می ‌نامند که همگی توانایی و قابلیت نگهداری تنها یک نوع داده را در بازه ی زمانی مشخص دارند.
تعداد المان های موجود در یک آرایه در واقع نشانگر حجم یا اندازه ی آرایه می باشد. Oracle این قابلیت را به آرایه می دهد که دارای اندازه ی متغیر باشند، بهمین خاطر این دست از آرایه ها، آرایه های با اندازه ی متغیر یا به انگلیسی varrays اطلاق می گردند. دقت داشته باشید که لازم است به هنگام تعریف یا اعلان نوع آرایه، حداکثر اندازه ی (max size) آن را نیز مشخص کنید.
مثال زیر نوع آرایه را تعریف می کند.


CREATE TYPE phones AS VARRAY(10) OF varchar2(10);‎

حال به منظور استفاده از این آرایه در جدول، دستور زیر را تایپ می کنیم.


Create table suppliers (supcode number(5),‎


        ‎              Company varchar2(20),‎


        ‎              ph   phones);‎

برای درج سطر نیز دستور زیر را اجرا می کنیم.


insert into suppliers values (101,’Interface Computers’,‎


        ‎          Phones(‘64199705’,’55136663’));‎


        insert into suppliers values (102,’Western Engg. Corp’,‎


        ‎          Phones(‘23203945’,’23203749’,’9396577727’));‎

برای انتخاب سطر


Select * from suppliers;‎

بازیابی اطلاعات درباره ی اشیا

به منظور مشاهده ی اشیا موجود در schema ی خود، کافی است دستور زیر را اجرا کنید.


select * from user_types; 
1394/07/27 5516 1299
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...