معرفی Large Objects (LOBs)

در این قسمت از آموزش برنامه نویسی اوراکل پس از آشنایی کامل با Collections قصد داریم یخش جدیدی به نام Large Objects را شروع کنیم و در این قسمت آموزش معرفی Large Objects (LOBs) را یاد بگیریم.

امروزه بیشتر وب سایت ها شامل محتوی چند رسانه ای multimedia هستند و به نسبت دیتابیس ها بایستی اطلاعاتی از قبیل موزیک و ویدیو را ذخیره کنند. در نسخه های قدیمی نرم افزار دیتابیس اوراکل و تا نسخه ۸ شما بایستی داده های با حجم بسیار بالا بصورت کراکتری character را در data type به نام LONG ذخیره کنید و داده های با حجم بسیار بالا بصورت باینری Binary را در data type به نام های LONG RAW و یا RAW ذخیره کنید.

از دیتابیس اوراکل نسخه ۸ به بعد یک نوع داده ای data type جدیدی به نام LOBs معرفی شد که این LOBs برای ذخیره داده های باینری binary data ، داده های کراکتری character data و آدرس هایی که قایل ارجاع داده می شود references to files مورد استفاده قرار میگیرد که این داده های باینری binary data می تواند شامل تصاویر، موزیک و ویدیو و documents و فایل های اجرای executables و … باشد که به نسبت نوع داده ای LOBs می تواند تا ظرفیت داده های ۱۲۸ ترابایت ذخیره اطلاعات داشته باشد که این حجم یستگی به نوع تنظیمات اولیه در دیتابیس database configuration دارد.

انواع Large Object

ما در دیتابیس اوراکل ۴ مدل نوع داده ای LOB داریم:

  • CLOB : که مخفف نوع داده ای character LOB می باشد که برای ذخیره داده های کراکتری character مورد استفاده قرار می گیرد.
  • NCLOB : که مخفف نوع داده ای National Character Set LOB می باشد که برای ذخیره داده های کراکتری غیر از زبان انگلیسی multi-byte character مورد استفاده قرار می گیرد.
  • BLOB : که مخفف نوع داده ای binary LOB می باشد که برای ذخیره داده های باینری binary مورد استفاده قرار می گیرد.
  • BFILE : که مخفف نوع داده ای binary FILE می باشد که برای ذخیره یک اشاره به فایل pointer به فایل مورد استفاده قرار میگیرد که این فایل می تواند یک hard disk , CD, DVD, Blu-ray Disc, HD-DVD یا هر نوع دستگاه device در دسترس می باشد و به دیتابیس متصل می باشد. این فایل ها به خودی خود در دیتابیس ذخیره نمی شود و در واقع یک لینکی به دیتابیس دارند و با دیتابیس ارتباط دارد و این لینک ارتباط در دیتابیس ذخیره می شودو فقط یک pointer به فایل می باشد.

در دیتابیس اوراکل نسخه ۸ به قبل شما فقط میتوانستید انتخاب و ذخیره کنید داده های با حجم بالا را در نوع داده ای LONG و LONG RAW ذخیره کنید. نوع داده ای LOB مزیت های زیادی نسبت به داده های اعلام شده دارد که به شرح ذیل می باشد:

  • یک LOB می تواند حداکثر تا ۱۲ ترابایت داده را ذخیره کند که این وابسته به تنظیمات configuration در دیتابیس دارد و این حجم داده خیلی بیشتر داده هایی می باشد که در نوع داده ای LONG یا LONG RAW می باشد . این دو data type حداکثر حجم داده های که ذخیره می کند تا ۲ گیگابایت gigabytes می باشد.
  • یک جدول می تواند شامل چندین ستون از نوع داده ای LOB باشد اما از نوع داده ای LONG یا LONG RAW فقط و فقط یک ستون در یک جدول می تواند داشته باشد.
  • داده های LOB را می توانید بصورت تصادفی random مرتب شده است اما در داده های نوع داده ای LONG یا LONG RAW شما یه داده های فقط به صورت متوالی و پی در پی دسترسی دارید.

یک نوع داده ای LOB شامل دو بخش اصلی می باشد.

  • LOB locator : که مشخص کننده یک اشاره گر pointer آدرس و محل location یک داده های از نوع داده ای LOB می باشد.
  • LOB data : مشخص کننده ی داده هایی از کراکتر character یا byte در نوع داده ای LOB می باشد.

بستگی دارد به این که شما چه مقدار داده ای ذخیره می کند در یک CLOB ، NCLOB و یا ستون BLOB داده های می تواند به دو صورن داخلی inside و یا خارجی outside در جداول ذخیره می شود. اگر داده های کمنر از ۴ کیلوبایت باشد داده ها در همان جدول به صورت داخلی ذخیره می شود اما در غیر اینصورت داده های بصورت بیرونی outside در جدول ذخیره می شود که به این نوع ذخیره داده از ستون با نوع داده ای BFILE استفاده می شود که در داخل جدول فقط locator محل و آدرس pointer ذخیره می شود که این pointer اشاره به داده های خارجی external file در داخل سیستم دارد.

ایجاد جداولی دارای ستون Large Objects

برای مثال و شروع کار ما سه نوع جدول داریم :

  • جدولی به نام clob_content که دارای ستونی با نوع داده ای CLOB به نام clob_column می باشد.
  • جدولی به نام blob_content که دارای ستونی با نوع داده ای BLOB به نام blob_column می باشد.
  • جدولی به نام bfile_content که دارای ستونی با نوع داده ای BFILE به نام bfile_column می باشد.
یرنامه نویسی اوراکل

اطلاعات بیشتر در مورد LOBs

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

*

code

فوتر سایت