Use the Dictionary
يحتوى ال Dictionary على جميع الجداول وال view ومكونات الداتا بيز كلها تخزن فيه ونستطيع التعرف عليها من خلاله
ولاستعراض محتويات ال Dictionary نكتب
شيفره برمجيه :
Select * from Dictionary;
عند تنفيذ هذا الكود سنجد كميه كبيره جدا من البيانات قد تم عرضها وهى مكونات الداتا بيز
وطبعا لن نحتاج كل هذه البيانات ولكن ما يهمنا بعض الجداول الموجوده فى ال Dictionary ومنها
1 / جدول يسمى user_objects
وهو جدول يتم من خلاله على اسماء عناصر الداتا بيز ونوعها فكل عنصر نقوم باشاؤه او كان موجودا من قبل نجد اسمه ونوعه
فمثلا لو انشانا جدول باسم emp
سنجد ان هذا الجدول اسمه موجود فى user_objects ومكتوب نوعه وهو table وتاريخ انشاؤه وهل هو متاح ام لا
ولمعرفة مكونات جدول user_objects نكتب
Desc user_objects
سنجد ان الناتج كما يلى
----------------
شيفره برمجيه :
OBJECT_NAME
SUBOBJECT_NAME
OBJECT_ID
DATA_OBJECT_ID
OBJECT_TYPE
CREATED
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY
كل ما يهمنا جدا من هذه المكونات هو object_name وهذه نجد بها اسماء كل مكونات الداتا بيز من tables – view –index-synonyms-and sequences
وثانى شئ مهم هو object_type بعد ان عرفنا الاسم لابد ان نعرف هل هذا الاسم خاص بجدول او باى شئ بالظبط وهذا نعرفه من هذا العمود حيث يكتب فيه نوع كل عنصر tables – view –index - synonyms- sequences
مثال
شيفره برمجيه :
Select object_name,object_type from user_objects;
عند تنفيذ هذا الكود سيتم عرض اسم كل مكون من مكونات الداتا بيز ونوعه
-------------------
شيفره برمجيه :
REGIONS
TABLE
REG_ID_PK
INDEX
COUNTRIES
TABLE
COUNTRY_C_ID_PK
INDEX
LOCATIONS
TABLE
LOC_ID_PK
INDEX
LOC_CITY_IX
INDEX
هذا جزء من الناتج ونلاحظ انه موجود الاسم وتحته نوعه
مثال اخر
شيفره برمجيه :
Select *from user_objects
Where object_name='EMPLOYEES'
هنا فى هذا الكود استعرضنا كل شئ عن جدول EMPLOYEES من الجدول USER_OBJECTS
ونلاحظ اننا نكتب اسماء المكونات فى الكود بالحروف الكبيره كما فعلت انا مع EMPLOYEES
شيفره برمجيه :
SELECT object_name, object_type, created, status
FROM user_objects
ORDER BY object_type;
هنا استعرضت اسماء العناصر ونوعها وتاريخ انشاؤها وحالتها من حيث متاحه او لا وطلبت ترتيبها حسب النوع
الجدول الثانى المهم فى ال DICTIONARY هو
USER_TABLES
وهو يتم فيه التعرف على كل شئ يخص الجداول من حيث الاسماء وخلافه ولمعرفة مكونات جدول USER_TABLES
نكتب
شيفره برمجيه :
DESC USER_TABLES
ولو اردنا التعرف على اسماء الجداول الموجوده بالاسكيمه كلها نكتب
شيفره برمجيه :
SELECT TABLE_NAME FROM USER_TABLES;
عند تنفيذ الكود سنجد انه عرض جميع اسماء الجداول الموجوده
الجدول الثالث
USER_TAB_COLUMNS
وهو جدول يعطى معلومات عن الجدول والاعمده المكونه له
شيفره برمجيه :
DUSER_TAB_COLUMNSESC
مثال على استخدام جدول USER_TAB_COLUMNS
شيفره برمجيه :
SELECT column_name, data_type, data_length,
FROM user_tab_columns
WHERE table_name = 'EMPLOYEES';
هنا استعرضنا اسماء الاعمده ونوع الداتا بها وطول كل عمود فى جدول EMPLOYEES
الجدول الرابع
USER_CONSTRAINTS
وواضح من اسمه انه يم تخزين كل ما يخص القيود فيه من حيث اسم القيد ونوعه واسماء الجداول وتستطيع التعرف على باقى مكونات الجدول من خلال الكود
شيفره برمجيه :
DESC USER_CONSTRAINTS
مثال
شيفره برمجيه :
SELECT constraint_name, constraint_type
FROM user_constraints
WHERE table_name = 'EMPLOYEES';
هنا فى هذا الكود استعرضنا اسماء ال CONSTRAINTS ونوعها الموجوده فى جدول EMPLOYEES ونلاحظ فى عمود
CONSTRAINT_TYPE لا يكتب اسم القيد وانما يكتب الحرف الاول منه فقط
الجدول الخامس
USER_CONS_COLUMNS
وهذا الجدول يتم عرض العمود و اسم القيد الموجود واسم الجدول والمستخدم
شيفره برمجيه :
DESC USER_CONS_COLUMNS
مثال على الستخدام
شيفره برمجيه :
SELECT constraint_name, column_name
FROM user_cons_columns
WHERE table_name = 'EMPLOYEES';
هنا استعرضنا اسم ال CONSTRAINT واسم العمود فى جدول EMPLOYEES اى تعرفنا على اعمده جدول EMPLOYEES وتعرفنا على القيود الموجوده على هذه الاعمده
الجدول السادس
USER_VIEWS
وهذا الجدول يعرض اسم ال VIEW الموجود بالداتا بيز ويعرض ايضا الكود الخاص بتكوين الVIEW وطول التكست الموجود بها الكود
شيفره برمجيه :
DESC USER_VIEWS
مثال
شيفره برمجيه :
SELECT text FROM user_views
WHERE view_name = 'EMP_DETAILS_VIEW';
هذا الكود يساعدنا على التعرف على تكوين اى VIEW موجوده لانه عند تنفيذه سيعرض الكود المستخدم فى تكوين ال VIEW
شيفره برمجيه :
SELECT VIEW_NAME FROM USER_VIEWS;
هنا نتعرف على اسماء ال VIEWS الموجوده
الجدول السابع
USER_SEQUENCES
وهو يساعدنا فى التعرف على كل شئ عن ال SEQUENCES الموجوده فى الاسكيمه
شيفره برمجيه :
DESC USER_ SEQUENCES
مثال
شيفره برمجيه :
SELECT sequence_name, min_value, max_value,
increment_by, last_number
FROM user_sequences;
هنا استعرضنا اسم ال SEQUENCES واقل قيمه لها واعلى قيمه والكقدار الذى تتحرك به فى كل خطوه واخر رقم بال SEQUENCES
الجدول الثامن
USER_SYNONYMS
ومن اسمه واضح بانه يعرض كل شئ عن ال SYNONYMS
شيفره برمجيه :
DESC SYNONYMS
مثال
شيفره برمجيه :
SELECT *
FROM user_synonyms;
هنا استعرضنا كل شئ فى الجدول
درس اليوم يحتاج الى فهم وظيفة كل جدول ومحتوياته ولمعرفة ذلك نستخدم امر DESC لنعرف تكوين كل جدول والتدريب على استخدام هذه الجداول
ارجوا ان اكون وفقت فى شرحه فهو درس يحتاج لحفظ اكثر من شرح يحتاج لحفظ اسماء الجداول ومن الاسم سنستطيع التعرف على فائدة الجدول