در این قسمت از آموزش برنامه نویسی اوراکل بعد از آشنایی با معرفی Collection Type قصد داریم آموزش استفاده از Collection Type را یاد بگیریم.

بعد از اینکه شما توانستید یک collection type ایجاد کنید از آن می توانید برای تعریف column ستون در یک جدول استفاده کنید. در این بخش یاد خواهید گرفت که به چه صورتی از طریق varray type و nested table type به تعریف و پیاده سازی ستون column در جدول بپردازید.

استفاده از یک Varray Type به تعریف و ایجاد یک Column در یک جدول

برای آموزش با یک مثال شروع می کنیم و در ابتدا یک جدولی به نام customers_with_varray ایجاد می کنیم که این جدول یکی از ستون هایش به نام addresses نوع داده ای data type آن از Varray Type که در آموزش قبلی ایجاد کرده ایم به نام t_varray_address استفاده می کند.

برنامه نویسی اوراکل

با توجه به ساختار بالا عناصر elements و مقادیری که در آرایه هستند به صورت مستقیم در داخل جدول ذخیره می شوند زمانی که سایز آرایه تقریبا برابر یا کمتر از ۴,۰۰۰ بایت باشد در غیر این صورت اگر سایز بیشتر از ۴,۰۰۰ بایت باشد در خارج از جدول ذخیره می شود.

زمانی که مقادیر و عناصر یک آرایه در جدول ذخیره می شود دسترسی به عناصر elements و مقادیر درجدول خیلی سربع تر از دسترسی به عناصر elements در آرایه می باشد.

استفاده از یک Nested Table Type به تعریف و ایجاد یک Column در یک جدول

برای آموزش با یک مثال شروع می کنیم و در ابتدا یک جدولی به نام customers_with_nested_table ایجاد می کنیم که این جدول یکی از ستون هایش به نام addresses نوع داده ای data type آن از nested table Type که در آموزش قبلی ایجاد کرده ایم به نام t_nested_table_address استفاده می کند.

برنامه نویسی اوراکل

شرط NESTED TABLE نشان می دهد که ستون مورد نظر که در نام آن درج شده است از آرایه nested table ایجاد شده است و استفاده می کند که در مثال بالا ستون addresses می باشد و شرط STORE مشخص کننده نام nested table می باشد که در مثال بالا آرایه nested_addresses می باشد.

شما به طور کاملا مستقل دسترسی به آرایه nested table ندارید و برای دسترسی باید از جدول ایجاد شده و استفاده از آرایه استفاده نمود.

گرفتن و نمایش اطلاعاتی از Collections

در ادامه آموزش استفاده از Collection Type در این یخش می توانید با استفاده از دستور DESCRIBE نمایشی از ساختار collections و آرایه هایی که توسط کاربر ایجاد شده است را کسب کنید به دست آورید.

گرفتن اطلاعاتی از آرایه Varray

شما در مثال زیر می توانید با استفاده دستور DESCRIBE آرایه به نام t_varray_address را با جزئیات آبجکت ها نمایش دهید و اطلاعاتی را در مورد Varray دریافت کنید.

برنامه نویسی اوراکل

در مثال بعدی آرایه ای به نام customers_with_varray را می توانید با استفاده از دستور DESCRIBE نمایش دهید.

برنامه نویسی اوراکل

همچنین شما می توانید از طریق ویوویی به نام user_varrays از آرایه هایی را توسط کاربر ایجاد شده است را نمایش دهید . این ویوو از ویووهای Data Dictionary در اوراکل می باشد.

نکته : شما می توانید به تمامی آرایه هایی که در دیتابس اوراکل ایجاد شده است را از طریق ویوویی به نام all_varrays دسترسی داشته باشید.

گرفتن اطلاعاتی از آرایه Nested Table

شما در مثال زیر می توانید با استفاده دستور DESCRIBE آرایه به نام t_nested_table_address را با جزئیات آبجکت ها نمایش دهید و اطلاعاتی را در مورد Nested Table دریافت کنید.

برنامه نویسی اوراکل

در مثال بعدی می توانید مشخصات جدول به نام customers_with_nested_table را با استفاده از دستور DESCRIBE نمایش دهید که از آرایه ای به نام t_nested_table_address ایجاد شده است.

برنامه نویسی اوراکل

همچنین شما می توانید از طریق ویوویی به نام user_nested_tables از آرایه هایی را توسط کاربر ایجاد شده است را نمایش دهید . این ویوو از ویووهای Data Dictionary در اوراکل می باشد.

برنامه نویسی اوراکل

نکته : شما می توانید به تمامی آرایه هایی که در دیتابس اوراکل ایجاد شده است را از طریق ویوویی به نام all_nested_tables دسترسی داشته باشید.

مطالب بیشتر در مورد کالکشن ها