Information Technology "IT" - level 4
500 subscribers
688 photos
40 videos
834 files
170 links
رابط قناة المراجع والملخصات والنماذج والمحاضرات
@Al_Adeeb_Group
Download Telegram
خالص الشكر لمجموعة الأديب
تم تأجيل الأمتحانات حتى يوم الأربعاء 9/23.

بالتوفيق للجميع
*تنبيه هام جداً*
✏️✏️✏️✏️✏️✏️✏️✏️✏️✏️

*معمارية حاسوب نظري د/ بشير المقالح*

*في مكتبة التوحيد*

*أ / أكرم لقمان*

✏️✏️✏️✏️✏️✏️✏️✏️✏️✏️

*بالتوفيق للجميع*
Database 2 (نضري) تابع

* قوعد الاسقاط
اي اجراء او عمليه يتم على البيانات في جدول معين يمكن اسقاطها لتتم ايضا على مكان تكرارها في جدول اخر
باستخدام الصيغ التاليه
when Events
After Events
Before Events
مثال على ذلك
SQL>Before deleting from dept :
delete all emp
when e.deptno = d.deptno ;

في المثال السابق اي عمليه حذف سوف تحدث على جدول الادارات يتم اسقاطها للحذف بحيث تنفذ على جدول الموظفين

* قوانين التعديل
وهي مشابهه لقوانين الحذف حيث يتم استخدام اجراءات مشابهه للتاكد من اي تعديل يحصل على بيانات جدول يتم التاكد من البيانات المتكرره بالجداول الاخرى
مثال على ذلك

SQL>Before Updating dept :
Update all emp
where e.deptno = d.deptno ;

* كمال القيم التي تتعلق بالمعنى وسلامتها
هو مايكون شرطا متعلقا بمعنى في بيئه قد لايصلح ولايعطي نفس المدلول في بيئه اخرى مثال على ذلك
1- في احدى الموسسات لايجوز ان يزيد راتب الموظف عن راتب مديره .
2- لايجوز ان تزيد ايام العطل والاجازات عن 15 يوما في الشهر الواحد .
3- سن التقاعد يبداء بسن 60 عاما للاناث و65 للذكور .
ومخالفه اي شرط من هذه الشروط يعتبر اخلالا بشروط سلامه قاعده البيانات وكمالها .
* الشروط الملزمه Assertions
وهي عباره عن شروط تصاغ بتعليمات معينه نرغب ان نلزم قاعده البيانات باتباعها دائما . ومن عيوب هذه الشروط انها قد تؤدي الى ابطاء النظام عند التطبيق ايضا وجود عدد كبير من القوانين
مثال على ذلك
تعريف قانون ملزم بحيث يكون راتب موظف في قسم ما اكبر من راتب مديره على فرض وجود جدول الموظفين يحتوي على الموظفين والموظفين والمديرين بالاضافه لوجود جدول الدائره لحصر سجلات الموظف والمدير اللذين يعملان في نفس الدائره

SQL> Assert Salary_Constraint on Employees :
cheek (Not Exists (select * from employees E , employees M , department D where E.salary>M.salary and E.dno=D.dno
and E.Mgssno=M.ssno) );
امثله الملزمه
Creat Domain stuno as char(5)
substr(stuno. 1.1)="S"
and is numerice (substr(stuno. 2.4))
else
Display " stuno domain rule violated"
Reject;
end;

في المثال السابق انشاء مجال للقيم للعمود stuno حرفي مكون من خمس خانات .
بعد ذلك شرط ان يدخل المستخدم الحرف الاول "S"
ثانيا ان يكون رقمي is numerice هذه الداله تعمل على الفحص مااذا كان رقمي ام لا. وداخل الشرط الداله substr التي تعمل على قص السلسله النصيه من المتغير الثاني2 بمقدار اربع خانات4
بمعنى اخر على المستخدم لقاعده البيانات ان يدخل الحرف الاول "S" وان يكون مابعد حرف "S" رقمي بمقدار اربع خانات اكثر من ذلك يخل بشروط سلامه المجال .
بحيث يتم توجيه المستخدم لكيفيه ادخال البيانات ولايكون المجال عرضه للانتهاك.
في حال حدث انتهاك لاي من الشروط السابقه يتم عرض الرساله
"stuno domain rule violated"
بانه تم انتهاك قواعد المجال
والامر Reject لرفض عمليه ادخال البيانات بمعنى اخر لايتم ادخال اي من البيانات السابقه.
مثال ٨-٧
create table customers (
cno char(5) not null,
cname char(30),
cstatus integer ,
city char(20));
primary key (cno) ;

create table branch (
brno char(5) not null,
bname char(20),
city char(30));
primary key (brno) ;

create table account (
accno char(5) not null,
acctype char(10),
primary key (accno) ;

create table ownership (
cno char(5) not null,
brno char(5) not null,
accno char(5) not null,
balance integer) ;
primary key (cno,brno,accno)

Foreign key (cno) Refrence customers on delete No Action on update CASCADE;

Foreign key (brno) Refrence branch on delete No Action on update CASCADE;

في المثال السابق انشاء جدول العملاء customers وجدول الفروعbranch وجدول الحسابaccount وجدول خاص بالعميل ( صاحب الحساب ownership )
وبعد ذلك تعريف مفتاح رئيسي مركب مكون من عده مفاتيح رئيسيه يتم من خلاله تحديد العميل بشكل صحيح composite key
وبعد ذلك عمليه الربط بين الجداول .
المفتاح الاجنبي الذي في جدول ownership يشير الى جدول customers بحيث اذا حدث عمليه حذف انتهى الموضوع اما اذا حدث تعديل او تغيير لابد ان يكون هذا التعديل متعاقب ، بمعنى اذا حدث تعديل على نقل الفرع في جدولownership من ااضروري ان ينعكس على نقل الفرع في جدول الفروع.
CASCAD
اي تحديث او تعديل يتم على جدول مرتبط بجداول اخرى هذا التحديث او التعديل ينعكس على الجداول الاخرى من اجل الحصول على توافقيه بين البيانات في قاعده البيانات .