Oracle Data Dictionary يكي از اجزاي مهم سيستم با مديريت بانك اطلاعاتي اراكل مي باشد و شامل تمامي اطلاعات در مورد ساختارها و اشياء پايگاه داده مانند جداول ، ستون ها ، كاربران و فايل هاي داده و …
داده هاي ذخيره شده در data dictionary سپس meta data ناميده مي شود . گرچه data dictionary در اختيار مدير بانك اطلاعاتي است ، data dictionary منبع باارزشي از اطلاعات است كه شامل دو سطح است : سطح داخلي شامل تمامي جداول پايه كه توسط اجزاء نرم افزار DBMS مورد استفادخ قرار مي گيرد و معمولا توسط كاربران قابل دسترس نيست سطح خارجي ، view هاي زيادي را بر روي جداول پايه جهت دسترسي به اطلاعات در مورد اشياء و شرح كاملي از ساختار جداول را ايجاد مي كند .
3-1 جداول Data Dictionary
نصب بانك اطلاعاتي اراكل هميشه شامل ايجاد سه كاربر استاندارد اراكل مي باشد :
• Sys : مالك همة جداول و view هاي ، data dictionary مي باشد . اين كاربر داراي بالاترين حق امتياز براي مديريت اشياء و ساختار بانك اطلاعاتي اراكل مانند ايجاد كاربران جديد است .
• System : مالك جداولي است كه توسط ابزار مختلف مانند اشكال SQL * و SQL * Report و … مورد استفاده قرار مي گيرند .
اين كاربر داراي حق دسترسي در سطح پايين تري نسبت به sys است .
• Public : يك كاربر مصنوعي در بانك اطلاعاتي اراكل مي باشد . همة امتيازات بصورت خودكار براي اين كاربر در نظر گرفته شده و همة كاربران بانك اطلاعاتي آنرا مي شناسند .
جداول و view هاي data dictionary اطلاعات زير را در مورد موارد فراهم مي كند .
• كاربران و حق دسترسيشان
• جداول و ستون هاي جداول و نوع دادةشان و قيود جامعيت و شاخص ها
• آماري در مورد جداول و شاخص هايي كه توسط بهينه ساز استفاده شده اند .
• پذيرش حق امتياز براي اشياء بانك اطلاعاتي
• ساختار حافظة بانك اطلاعاتي
دستور SQL ي select * from DICT [ IONARY ] تمامي جداول و view هايي از data dictionary را كه در دسترس كاربر هستند را نشان مي دهد . اطلاعاتي شامل نام و توضيح كوتاهي در مورد جداول و view را انتخاب مي كند قبل از صادر كردن اين دستور تعاريف ستون هاي DICT [ IONARY ] را توسط format اختصاص دهيد .
پرسش
select * from TAB ;
نام تمامي جداول شخصي كاربر ( كسي كه اين دستور را صادر كرده است ) را بازيابي مي كند .
پرسش
select * from COL
تمام اطلاعات ستون هاي جداول شخصي را برگشت مي دهد .
هر پرسش SQL ي به دستيابي هاي داخلي مختلفي براي جداول و view هاي data dictionary خودش شامل جداول است .اراكل مي خواهد كه دستورات SQL ي زيادي را براي كنترل دستورات SQL ي صادر شده توسط كاربر كه صحيح و قابل اجرا هستند را كنترل مي كند .
مثال : پرسش SQL ي
select * from EMP
where SAL > 2000 ;
پرسش بالا نياز به بررسي هاي زير را دارد : آيا
1- جدول EMP موجود است .
2- كاربر حق دسترسي به اين جدول را دارد .
3- ستون SAL براي اين جدول تعريف شده است و …
3-2 Data Dictionary Views
سطح خارجي data dictionary به كاربران حق دسترسي به اطلاعات كاربران ديگر را فراهم مي كند . اين سطح view هاي زيادي ( در اراكل 7 تقريبا 540 تا ) كه نشان دهندة ( يك بخش از ) داده هايي از جدول پايه از نوع خواندني و قابل درك را فراهم مي كند . اين view ها مي تواند در پرسش هاي SQL ي مانند جداول عادي بكار رود .
view هايي كه data dictionary فراهم مي كند به سه دسته تقسيم مي شوند : USER , ALL , DBA .
نام هرگروه پيشوندي براي نام view است براي تعدادي view , synonym , هاي وابسته اي وجود دارد كه در داخل كروشه ها مشخص شده است .
USER_ : تاپل ها در view ي ، USER شامل اطلاعاتي دربارة اشياء شخصي توسط شرحي براي انجام پرسش SQL ( كاربر فعلي )
• USER_TABLES : همة جداول با نام و تعداد ستون هايشان و اطلاعاتي در مورد ذخيره سازي آنها و اطلاعات آماري و … (TABS )
• USER_CATALOG : جداول ، view ها و synonym ها ( CAT )
• USER_COL_COMMENTS : توضيحات بر روي ستون ها
• USER_CONSTRAINTS : تعريف قيود براي جداول
• USER INDEXES : تمامي اطلاعات در مورد خلق شاخص ها بر روي جداول ( IND )
• USER_OBJECTS : تمامي اشياء بانك اطلاعاتي كاربر فعلي ( OBJ )
• USER_TAB_COLUMNS : ستون هاي جداول و view هاي شخصي كاربر ( COLS )
• USER_TAB_COMMENTS : توضيحات بر روي جداول و view ها
• USER_TRIGGERS : تريگرهاي تعريف شده توسط كاربران
• USER_USERS : اطلاعاتي دربارة كاربر فعلي
• USER_VIEWS : view هاي تعريف شده توسط كاربران
• ALL_ : سطر ها در view هاي ALL شامل سطرهايي از view هاي user و اطلاعاتي دربارة اشيائي كه براي كاربر فعلي قابل دسترس هستند . ساختار اين view ها مشابه ساختار view هاي USER است .
• ALL_CATALOG : نام و نوع تمامي جداول در دسترس و view ها و synonym ها .
• ALL_TABLES : نام جداول شخصي در دسترس
• ALL_OBJECTS : نوع و نام اشياء بانك اطلاعاتي در دسترس
• ALL_TRIGGERS : ………
• ALL_USERS : ………
• ALL_VIEWS : ………
• DBA_ : view هي DBA شامل اطلاعاتي دربارة اشياء بانك اطلاعاتي صرف نظر از view هاي شخصي مي باشد .
• DBA_TABLES : جداول تمامي كاربران در بانك اطلاعاتي
• DBA_CATALOG : جداول و view ها و synonym هاي تعريف شده بر روي جداول .
• DBA_OBJECTS : اشياء تمامي كاربران
• DBA_DATA_FILES : اطلاعاتي در مورد فايلهاي داده
• DBA_USERS : اطلاعاتي دربارة تمامي كاربراني كه بانك اطلاعاتي آنها را مي شناسد .
در ادرس زیر هم اطلاعاتی در این مورد هست
http://pnu-club.com/pnu.thread21111.html
موفق باشید