بتاريخ: 8 أغسطس 200520 سنة comment_44034 الاخوة الاعزاء: تحية طيبة وبعد ........هذه بعض الحالات التي لم أفمهما عن الconstarints والتي أتمنى ان تجيبوا عليها وبكل فاعلية ونشاط وفي جميع تفاصيلها، لحاجتي الماسة لها ، ويا ريت مع الامثلة وبالعربي ........، وهذه هي الحالات :-# DISABLE NOVALIDATE#DISABLE VALIDATE # ENABLE NOVALIDATE # ENABLE VALIDATEوهذه الحلات أيضاً خاصة في CONSTARINT CHCECKING وهي كالآتي:# NONDEFERRED# DEFERRED# INITIALLY IMMEDIATE # INITAILLY DEFERREDوأخيراً أتمنى منكم عدم التقصير في الشرح ، وكلي أملٌ في ذلك ولكم مني جزيل الشكر والامتنانوالسلام عليكم تقديم بلاغ
بتاريخ: 8 أغسطس 200520 سنة comment_44057 الاخ الكريمهذه الحالات بسيطة وهي # DISABLE NOVALIDATE#DISABLE VALIDATE # ENABLE NOVALIDATE # ENABLE VALIDATE # NOVALIDATE هذه الخاصية تستخدم في تعطيل constraint من نوع NOVALIDATEوهذه الخاصية عندما يتم حذف primary key من جدول او لم يتم وضع مفتاح اساسي او تريد وضع unique على جدول فيه تكرار في البيانات ويكون البيانات كثيرة فبهذه الخاصية تستطيع ان يغض النظر عن التكرار ويبدا التشييك من بداية تعيين المفتاح الاساسي مثلااما validate فهي العكس تماما وهي انك تريد عند وضع مفتاح اساسي ان يشييك هل يوجد تكرار ام لا مع ملاحظة ان هذه الحالة لا تستطيع ان تنشئ primary key ولو وجد حالة تكرار واحدةوبالنسبة الى disable & enable فهي تعطيل او تشغيل constraint على اساس ان constraint موجود# NONDEFERRED# DEFERRED# INITIALLY IMMEDIATE # INITAILLY DEFERRED NONDEFERRED وهي تستخدم لتأجيل عملية التشييك على البيانات سواء في حالة انشاء المفتاح الاساسي على جدول موجود فيه بياناتDEFERRED وهي النوع في قاعدة البيانات يعني مسمىIMMEDIATE وهي عكس NONDEFERRED اي التشييك بشكل مباشروبصراحة ليست لدي معلومات اكثر عن هذه الخاصية بالذات ولكن اظن انها لها دور اساسي في حال انشاء primary keyهذه امثلة ALTER TABLE table_name CONSTRAINT constraint_name INITIALLY DEFERRED NOVALIDATE ALTER TABLE table_name CONSTRAINT constraint_name NOVALIDATE مع التحية تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة كاتب الموضوع comment_44115 الاخ العزيز : شكراً لك على الشرح؟ لكنه ليس وافي ، ويا ريت من له أي معلومات أخرى أن يفيدني وشكراً تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة comment_44144 أخى نور على نورلنفترض أنك قمت بإنشاء جدول وأدخلت فيه عشر سجلات ثم بعد ذلك رغبت فى إنشاء قيد من أى نوع على أحد أعمدتهعند إنشاء هذا القيد فإن :الإختيار ENABLE VALIDATE : يعنى أن القيد سيتم عمل violation checking له أى التحقق من عدم إنتهاكه عند إصدار أى جملة DML وذلك فى العشرة سجلات الموجودة بالفعل ولأى سجل آخر سيتم إدخاله أو التعديل على سجل موجود أو حذفه ( أى سيتم فحص كل سجلات السابق منها لإنشاء القيد والتالى له) وغير مسموح للبيانات التى تنتهك القيد بالإدخال.الإختيار ENABLE NOVALIDATE : يعنى أنه سيتم التحقق من عدم إنتهاك القيد عند إصدار جمل DML الجديدة فقط دون فحص البيانات الموجودة فى السجلات قبل إنشاء القيد طالما لم يتم عمل جملة DML عليها ويفضل إستخدام هذا النوع من القيود فى ال data warehouse .الإختيار DISABLE VALIDATE : يسمح للبيانات التى تنتهك القيد بالإدخال لكن يتم إسقاط أى فهرس موجود على القيد طالما كان القيد على الوضع الإفتراضى (NOT DEFFERED) وسوف أشرحه .. كما لايسمح بعمل أى تعديل على مواصفات الأعمدة كأن تغير طول سلسلة أحرف العمود من نوع VARCHAR2 من 20 إلى 50 مثلا .الإختيار DISABLE NOVALIDATE : معناه أن الجدول بتاعك سلطه ومسموح للبيانات التى تنتهك القيد بالإدخال فأنت عطلت عمل القيد وأمرت بالسماح بعمل تعديل على العمود .لاحظ هنا إذا تحولت من الوضع DISABLED بنوعيه إلى الوضع ENABLE VALIDATE :سيتم فحص البيانات كلها ويتم عمل LOCK للجدول وإذا كنت تعمل LOAD على هذا الجدول فإنه سيتعطل قليلا لحين إنتهاء الCHECK وكذلك لو كان القيد من نوعه UNIQUE أو PRIMARY KEY فإن ذلك معناه أنه ستم إنشاء فهرس بشكل أوتوماتيكى ..أما ال IMMEDIATE(NON-DEFFERED) CONSTRAINT : فهو القيد الذى يتم التحقق من إنتهاكه بمجرد إنتهاء جملة الDML دون إنتظار عمل COMMIT فيتم عمل ROLLBACK فورا لأى بيانات تنتهك القيد .أما ال DEFFERED CONSTRAINT : فينتظر لكى يتم التحقق منه عند عمل COMMIT لل TRANSACTION كلها فيتم حينئذ عمل ROLLBACK لل TRANSACTION كلها .أخيرا فإن الوضع الإفتراضى لأى قيد أن يكون :ENABLE VALIDATE NON-DEFFERED تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة كاتب الموضوع comment_44154 الاخ العزيز وليد : شكراً جزيلاً لكم على الشرح الرائع والوافي . ولكن منكم التوضيح بال( البيانات التي تنتهك القيد )وشكراً جزيلاً لكم تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة comment_44156 الشكر مردود ..إنتهاك القيد Violation يعنى مخالفة البيانات التى يتم إدخالها أو تعديلها للقيد الموضوع على الحقل بمعنى لو كان نوع القيد unique فمعناه أنك لن تستطيع تكرار نفس القيمة فى نفس الحقل فلا يمكن أن يكون لديك موظفان فى حقل رقم الموظف تحت رقم 223 وكذلك لو كان القيد من نوع primary key فإنك لا تستطيع ترك الحقل فارغا عند إدخال سجل جديد وهكذا ... تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة comment_44164 مشكور يا اخ Walid Azmyولو تمعنت يا اخ نور على نور بشرحي لوصلت 90% من الذي تريدعلى كلن الهدف هو توصيل وتوضيح المعلومة تقديم بلاغ
بتاريخ: 9 أغسطس 200520 سنة كاتب الموضوع comment_44177 الاخوة: Walid Azmy و admin05 شكراً جزيلاً لكم تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.