الجمعة، 3 يناير 2014

اوركل 12c أكثر 17 مميزات هامة للمطورين 1/17


بسم الله الرحمن الرحيم
سؤال يتكرر كثيراً عند مبرمجي/ مطوري  قواعد البيانات، ما الميزات الجديد التي تحفزني للانتقال الى Oracle 12c بالرغم من أن نظامي مستقر ولا يوجد مشاكل ويؤدي ما علية من واجبات.


Oracle Database 12c

في هذة التدوينة، ان شاء الله سأتناول 17 ميزة جديدة تم اضافتها الى  Oracle 12c وخاصة بالمطورين. ففي هذة التدوينة سأوجه حديثي الى المطورين وليس مدراء قواعد البيانات.

في كل تدوينة سأتحدث عن أحد هذة الميزات 17 وذلك بشيئ من التفصيل.

إذاً أهلاً بك عزيزي مطور قواعد البيانات في هذة المقالة القصيرة التي تعطيك بعض المعلومات الهامة عن الامكانيات الهائلة لذلك العملاق القادم من شركة أوركل 12c. فلنبدأ على بركة الله 

Cascading Truncate

معظم Tables في قواعد البيانات مبنية على فكرة Master/Details، ومن المعروف انه عند بناء الTables يوجد خيار On Delete Cascade وفي هذا الخيار يتم حذف سجلات الأبناء في حال حذف سجل الأب الرئيسي.

لكن مهلاً ماذا لو أردنا استخدام Truncate لمسح بيانات الMaster Table، بالتأكيد لا يمكننا ذلك في النسخ السابقة وسوف يظهر لنا الخطأ التالي:

line 1: ORA-02266: توجد مفاتيح ربط فعالة تشير إلى المفاتيح الأساسية/الفريدة في الجدول
 ORA-02266: unique/primary keys in table referenced by enabled foreign keys 

لكن الاأمر الأن اختلف من 12c يمكنك أن تستخدم التالي:
truncate table cascade;
لكن يجب ان تكون معرف الخيار التالي:
Foreign Key  as ON DELETE  CASCADE


ALTER TABLE <Detail_Table> ADD CONSTRAINT <Const_name > FOREIGN KEY (<Col_name> ) REFERENCES <Master_table (<Col_name>)  > ON DELETE CASCADE
في حال عدم تفعيل هذا الخيار ستكون النتيجة كتالي:
ORA-14705: unique or primary keys referenced by enabled foreign keys in table

في التدوينة القادمة سأتحدث بإذن الله عن  Invisible Column.

فإلى ذلك الحين أتركم في حفظ الله ورعايته والسلام عليكم ورحمة الله وبركاته.


ليست هناك تعليقات: