DB Lecture 12 PDF
Document Details
Uploaded by karim7
المعهد العالي للعلوم الإدارية المتقدمة والحاسبات
2024
DR. Hany Hamdy Hussien
Tags
Summary
These lecture notes cover database S12 for 2024, and are given by DR. Hany Hamdy Hussien. They cover topics such as database applications, types, definitions, and components, as well as advantages and disadvantages.
Full Transcript
Database S12 S12 قواعد بيانات 2024 By DR. Hany Hamdy Hussien Lecture 12 المراجعة النهائية 1 لماذا قواعد البيانات مستقلة التحكم فى التكرارو التناسق ضمان االمن و السالمة امكانية التوسع...
Database S12 S12 قواعد بيانات 2024 By DR. Hany Hamdy Hussien Lecture 12 المراجعة النهائية 1 لماذا قواعد البيانات مستقلة التحكم فى التكرارو التناسق ضمان االمن و السالمة امكانية التوسع دخول خاص صيانة افضل تزامن افضل 2 أنواع تطبيقات قواعد البيانات البيانات Traditional لقواعد التقليدية التطبيقات .1 Applications More البيانات Recent لقواعد الحديثة التطبيقات .2 Applications .1قواعد بيانات الوسائط المتعددة Multimedia Databases .2نظم المعلومات الجغرافية Geographic Information )Systems (GIS .3مخازن أو مستودعات البيانات Data Warehouses .4قواعد البيانات النشطة وأنظمة الوقت الحقيقي Real-time and Active Databases 3 تعريفات لقواعد البيانات هي مجموعة من عناصر البيانات المنطقية المرتبطة مع بعضها البعض بعالقة معينة ،وتتكون قاعدة البيانات من جداول (واحد أو أكثر).ويتكون الجدول أعمدة (حقول )) Fieldsومن صفوف (سجالت )) Record هي مجموعة مشتركة من البيانات المترابطة والمتجانسة منطقيا ،والتي صممت كي تلبي االحتياج المستمر للمعلومات لمنظمة معينه 4 مستوى البيانات فى قواعد البيانات Bits بت Characters حرف Fields حقل Records سجل Data files سجالت لها عالقة Databases (اعلى طبقةExample: ABC Company Address Book Mailing list, Employee list, Vendor list) 5 عيوب Disadvantages of Databases معقدة و صعبة و ووقت اطول تكلفة االنشاء و المعدات االضرار فى حالة وقوع القاعدة تكلفة التحويل التدريب 6 أنواع الملفات ملف تتابعي ملف عشوائي وتتم قراءة البيانات مباشرة عن طريق العنوان. ملف مفهرس ( خاص بقاعدة البيانات ) 7 انواع االنظمة لقواعد البيانات Manual File System.Aنظام الملفات اليدوية لتتبع البيانات نظمت لالستخدام ( كل بيان ملف )e.g. file per customer سهولة فى التركيب و الصعوبة فى ( تحديد البيانات /تجميع / تلخيص البيانات ) Computerized File System.Bنظام الملفات الحاسوبية الستيعاب نمو البيانات والمعلومات برامج مخصصة كتابة ،حذف ،تحديث البيانات استخراج وعرض البيانات في أشكال مختلفة 8 عيوب الملفات القديمة التكرار .1 التضارب .2 ضعف المشاركة .3 الحفاظ على التغيرات .4 التنسيقات الضعيفة .5 شكل السجل اليدوى .6 انتاجية اقل .7 ارتفاع تكلفة الصيانة .8 9 أهمية قواعد البيانات .1سرعة الوصول .2سهولة المعالجة ( التعديل – الحذف – االضافة ) .3سهولة االستعالم و الحفظ بشكل منسق ( هرمى ) .4سهولة التخزين .5سهولة الربط .6السرية الكاملة 10 مكونات نظام قاعدة البيانات المستخدمين /المبرمجين .1 االستعالم .2 نظام إدارة قاعدة البيانات DBMS .3 MS /MS SQL Server / DB2 (IBM) / Oracle / MySQL / PostgreSQL / Ingres / Access Informix / Power Builder القاعدة .4 Data definitions.1تعريفات البيانات Stored database.2قواعد البيانات المخزنة محرك قاعدة البيانات Database Engine الحذف ،اإلضافة ،البحث ،التعديل . 11 مميزات استخدام نظم ادارة قواعد البيانات ندرة التكرار و إمكانية التحكم في تكرار البيانات .1 امن و سرية البيانات عالية جدا .2 فرض القيود على المستخدمين الذين ليس لهم صالحيات معينة .3 توفير بيئة تخزين مناسبة و صعوبة فقد البيانات .4 السماح باستنباط معلومات من البيانات المتواجدة .5 توفير واجهات متعددة لتعامل المستخدم مع البيانات .6 تمثيل العالقات المعقدة بين البيانات بسهولة .7 تكامل البيانات بشكل عالي و متناسق. .8 12 مستخدمو قاعدة البيانات Data Users .Aالمستخدم غير المباشرworkers behind the scene .Iمديرو قاعدة البياناتdatabase administrators .IIمصممو قاعدة البياناتdatabase designers .IIIمطورو البرامج المساعدة .IVالمشغلون وأفراد الصيانة .Bالمستخدم المباشر a actors on the scenes .Iالمستخدمون النهائيونend –users (aالمستخدم النادرcasual user (bالمستخدم العاديnaive user .IIالمستخدم المركب sophisticated user 13 .IIIالمستخدم الوحيدstand-alone user مهام برنامج مدير قواعد البيانات إنشاء قاعدة بيانات جديدة وإدارة قواعد البيانات الحالية. .1 معالجة السجالت و استرجاعها .2 حماية البيانات ضد التخريب و من االشخاص الغير مرخص لهم .3 وضع نقاط إرشادية تستخدم في حالة االعطال .4 رصد الحركة على البيانات إحصائيا و تسجيل كل تعامل .5 وضع البيانات الهامة في مواقع افضل)(server .6 االحتفاظ بقاموس بيانات شامل أي بيانات عن البيانات ،و .7 المستخدمين ،و الصالحيات المتاحة لكل مستخدم 14 مهام مختص قواعد البيانات ضبط البيانات المخزنة في قواعد البيانات .1 اإلشراف على إصدار التقارير المطلوبة في النظام. .2 تحقيق أمن وسالمة البيانات و قواعد البيانات. .3 اإلشراف على إضافة بيانات جديدة وتحديث البيانات القديمة. .4 التحقق من عدم تكرارية البيانات. .5 التحقق من تكاملية البيانات .6 15 متى ال تستخدم قواعد البيانات .1إذا كانت تكلفة اإلعداد عالية بالنسبة لحجم المشروع .2إذا كانت قاعدة البيانات والتطبيقات بسيطة وسهلة .3إذا كان المشروع يحتاج لسرعة استجابة عالية جدا وبشكل ضروري .4إذا كان العمل ال يحتاج إلى بيئة ذات عدة مستخدمين 16 Database: Data Models تجريد هياكل البيانات المعقدة في العالم الحقيقي في تمثيل بسيط نسبيا (رسومية) صممت لتسهيل التفاعل بين المصمم ،مبرمج التطبيقات ،والمستخدم النهائي مكونات البنية االساسية : Entityالكيان .I Attributeالصفة .II Relationship.IIIالعالقة بين الكيانات Constraint.IVالقيود 17 Categories of data models انواع نماذج البيانات نماذج البيانات األوليةConceptual .1 ▪ طريقة المستخدم الستقبال البيانات ( مستوى اعلى ) ER Model نماذح البيانات المنطقية Logical .2 ▪ تحويل البيانات االولية الى relational database schema نماذج البيانات المادية Physical .3 ▪ تصف تفاصيل تخزين البيانات بصورة مادية ( مستوى منخفص) نماذج البيانات التنفيذية Implementation .4 ▪ مفهوم متوسط يقع ما بين السابق (مهمة مصمم القاعدة ) 18 Three-Schema Architecture المخطط الثالثى لقواعد البيانات یتكون مخطط قاعدة البیانات من ثالثة مستویات .Iالمخطط الداخلي Internal schema ▪ يصف البنية المادية ويستخدم نموذج البيانات الفيزيائي .IIالمخطط األولي أو المفاهيمي Conceptual schema ▪ يصف بنية التعريفات والقيود ويستخدم نموذج البيانات االولى .IIIالمخطط الخارجي External schemas ▪ يصف المشاهد او الواجهات يستخدم نموذج البيانات االولى 19 كتلوج نظام إدارة البيانات هو جزء من ال DBMS أي عن بنية الجدول ،مثل اسم الجدول ،أنواع البيانات فيه يخزن تعريفات البيانات )(data definitions ويطلق على هذا الكتالوج أكثر من تسمية بنية قاعدة البيانات تعريفات قاعدة البيانات مخطط السكيما يعتبر حجر األساس في تطوير قواعد البيانات الحديثة 20 Relational Model Approach نموذج الكينونة/العالقة ):(ERD نموذج عالي المستوي يقوم بعرض بناء البيانات عالية المستوى يستخدم أثناء مرحلة التصميم المفاهيمي للنموذج األولى Conceptual Model ينتج عن ذلك النموذج األولي لقاعدة البيانات نقوم بتصميم مخطط قاعدة البيانات database schema يتم تمثيل بناء البيانات والقيود المطلوبة عليها باستخدام إشكال رسومية 21 Entity-Relationship Diagram مكوناته الكيان أو الكينونة Entityوتمثل بمستطيل )كائن او شئ حقيقى( .1 وحدة الكيان ) (Entity Instanceمثيل للكائن او مجموعة من الكائنات .2 الشبيهة الصفة Attributeتصف الكائن .3 ▪ مجموعة بسيطة من الخصائص ولها عدة انواع منها : .Iبسيطة وتمثل بشكل بيضاوى .IIمتعددة القيم وتمثل بشكل بيضاوى مزودج .IIIمركبة وتمثل بربط االشكال البيضاوية ببعضها البعض .IVمشتقة وتمثل بشكل بيضاوى منقط العالقة Relationships .4 ▪ تمثل االرتباطات بين هذه الكيانات ▪ و تمثل بشكل معين و العالقة انواع : .Iعالقة واحد -الى-واحد )1:1 (one-to-one .IIعالقة واحد -الى-كثير )1:N (one-to-many .IIIعالقة كثير -الى-كثير )M:N (many-to-many 22 أنواع القيود على العالقات وقید العالقة ھو القید الذي یعتمد على طبیعة اشتراك كیانین في عالقة ما ویحدد نوع االشتراك Participation Constraintما إذا كان وجود الكیان یعتمد على كونه مرتبط بكیان آخر عن طریق العالقة أنواع قيود االشتراك .Aاشتراك كلي Total participationبرسم خط مزدوج .Bاشتراك جزئي Partial participationبرسم خط مفرد 23 الكيان الضعيف Weak Entity الكیانات التي ال تحتوي على صفات تمثل مفتاح لذاتھا لیس لدیه صفة مفتاح رئیسي یمیز بیاناته عن بعضھا البعض الكیان الضعیف یرتبط بكیان أخر معرف له عن طریق عالقة معرفة لھذا الكیان یرتبط بارتباط كلي مع العالقة المعرفة له یحتوي على مفتاح یسمي المفتاح الجزئي Partial key یتم تمثیل الكیان الضعیف والعالقة المعرفة له ،بخط مزدوج لألشكال المعرفة لھم في نموذج 24 25 مثال رقم 1 شركة تجاریة لدیھا مجموعة من االقسام لتنفیذ اعمال الشركة ولكل قسم) اسم القسم – رقم القسم – ھاتف القسم(.ولدي الشركة عدد من الموظفین الذین یعملون في االقسام المختلفة وبیاناتھم كاآلتي )اسم الموظف – الرقم -الوظیفى – العنوان – الراتب(.یتم تسجیل تاریخ عمل كل موظف في قسمه في سجل توظیف الموظفون. اقترح نموذج بیانات EDRلتمثیل بیانات ھذه الشركة. 26 Database Life Cycle دورة حياة قاعدة البيانات (DBLC) 27 دورة حياه قواعد البيانات تحديد المواصفات والمتطلبات الخاصة بقاعدة البيانات .1 ▪ مرحلة جزئية ضمن جمع مواصفات ومتطلبات نظام المعلومات إعداد قاعدة البيانات األولية Conceptual Database .2 ▪ تصميم نموذج اولي للبيانات بواسطة مخططات )( E-RD تصميم قاعدة البيانات المنطقية Logical Database .3 ▪ تحويل قاعدة البيانات األولية ،أو مخطط ERDإلى مخطط االسكيما DB Schema تحسين قاعدة البيانات المنطقية .4 ▪ بتطبيق قواعد تطبيع البيانات Normalization تنفيذ قاعدة البيانات الفيزيائية physical database .5 ▪ يتم استخدام نظام الدارة قواعد البيانات SQL Server 28 التحويل من ERDالى DB schema العالقة ( جدول السكيما ( relation .I ▪ هي عالقة رياضية ناتجة من تطبيق عملية الضرب بين مجموعتين ▪ جدول السكيما هو نفسه الجدول المستخدم عند تنفيذ قاعدة البيانات الفيزيائية الحقل field .II ▪ هو العمود columnالذي يشكل جزء من مكونات الجدول السجل record .III ▪ هو الصف rowالذي يمثل وحدة instanceمن وحدات الكيان المفتاح الرئيسي )primary key(PK .IV ▪ هو حقل في جدول يتميز بأن قيمه وحيدة في جميع صفوف الجدول المفتاح األجنبي ):foreign key(FK .V 29 ▪ هو حقل موجود في جدول وهو ال يمثل واحدة من صفاته خورازميات التحويل تحويل أنواع الكيانات العادية .1إنشاء جدول يتكون من الحقول التي تقابل صفات ذلك الكيان .2تحديد أحد مفاتيح الكيان وتسميته بالمفتاح الرئيسي primary key(PK). تحويل الكيانات الضعيفة .1إنشاء جدول يتكون من الحقول التي تقابل صفات ذلك الكيان .2إضافة المفتاح الرئيسي للكيان القوي الذي يتبعه ذلك الكيان الضعيف .3المفتاح الرئيسي PKللجدول الجديد عبارة عن مفتاح مركب .Aالمفتاح األجنبي FKباإلضافة إلى .Bالمفتاح الجزئي الخاص به). (Partial Key تحويل العالقات الثنائية من النوع ١:١ .Aبطريقة المفتاح األجنبي ،وفيه يتم إضافة المفتاح الرئيسي PKألحد الجدولين إلى الجدول اآلخر كمفتاح أجنبي FK تحويل العالقات الثنائية من النوع1:N .1إنشاء جدولين لتمثيل الكيانين المرتبطين .2إضافة المفتاح الرئيسي PKللجدول من جهة العالقة Nإلى الجدول اآلخر 30 المرتبط بالعالقة 1بغض النظر عن نوع قيد االشتراك خورازميات التحويل تحويل العالقات الثنائية من النوع :N:M .1يتم استحداث جدول جديد .2يكون الناتج من هذه العالقة ثالثة جداول بالعالقة المرتبطين الكيانين لتمثيل .3جدولين relationshipويضم الجدول الثالث حقلين كمفتاحين أجنبيين يمثالن المفتاحين الرئيسيين في الجدولين تحويل الصفات متعددة القيم .1إنشاء جدول جديد يضم الصفة المتعددة القيم كحقل .2يضاف إلى الجدول مفتاح أجنبي FKيكون ممثال للمفتاح الرئيسي في الجدول الناتج من الكيان الذي يحتوي على الصفة متعددة القيم. 31 SQL server intro أحد أفضل أنظمة خوادم قواعد البيانات نظام إدارة قواعد البيانات المركزيةServer SQL نظام األمان العالي الوظائف المعرفة مسبقا Procedures Stored تعتمد على نظام التشغيل It is platform dependent لها واجهة رسومية و اوامر It is both GUI and command based software بيدعم لغة االستعالم )It supports SQL (SEQUEL language بيدعم العمليات Transactions 32 استخدامات SQL Server .1النشاء قاعدة او اكتر من قاعدة بيانات .2لصيانة قواعد البيانات SQL Server Analysis .3امكانية تحليل البيانات )Services (SSAS .4النشاء التقارير SQL Server Reporting Services )(SSRS 33 SQL Server Components مكوناته لكل جهاز محطة عمل Workstation components على جهاز الخادم فقط لتقديم مجموعة من Server components الخدمات منها البرنامج SQL Server المسئول عن انشاء و التعامل مع القاعدة SQL Server Agent التكامل ( التعامل مع اكتر من مصدر للبيانات )SSIS SSAS SSRS SQL browser, SQL Server full text search 34 SQL server VS. MS Access Microsoft Access Microsoft SQL Server الميزة أكبر من 1تیرابایت ( 2 1024جیجابایت حجم قاعدة البيانات جیجا) 32,768 2,147,483,647 عدد الجداول 255مستخدم كحد أقصى غیر محدود عدد المستخدمين مدمج مع أمان Windowsتعتمد على مجموعة العمل األمان أو المبرمج 2000 غیر مدعومة أدوات تحليل البيانات مدعومة غیر مدعومة مدعومة النسخ االحتياطي تعتمد على المبرمج دعم كامل صالحيات المستخدمين 35 متى يستخدم برنامج Access .1لديك عدد قليل من المستخدمين. .2حجم البيانات لن يتجاوز 2جيجا. .3السهولة الشديدة في التعامل .4اذا اردت التوافق مع النسخ القديمة من Access.مثل Access 9xاو ماقبله. .5عدد العمليات Transactionsقليل. 36 متى يستخدم برنامج SQL Server .1إذا كان برنامجك يتعامل مع عدد كبير من المستخدمين. .2إذا كان برنامجك يحتاج لدمج قواعد بيانات فرعية بقاعدة رئيسية. .3إذا أردت نسبة أمان عالية جدا. .4إذا كان حجم البيانات كبير جدا. .5عدد العمليات كبير جدا. Stored المعرفة اإلجراءات استخدام .6إذا أردت Procedure 37 SQL Server Advantages مزايا و عيوب Stored Procedures.1اجراء مخزن ( اوامر او دالة ) Triggers.2نوع من انواع االجراءات التى تنفذ عند حدث معين Defaults.3القيم االفتراضية Rules.4قواعد User Defined Data Types.5انواع البيانات Views.6مشاهد Enterprise-level management software.7الشموليه Excellent Support Data Recovery.8استعادة البيانات عيوبه .1التكلفة .2دعم محدود 38 اصدارات SQL Server Enterprise Editionوهي أكبر وأقوى نسخة . Standard Editionوهي المستخدمة بكثرة. Developer Enterpriseنسخة مخصصة للمطورين نسخة مصغرة Windows CE Editionوهي تعمل على أنظمة Windows CEلألجهزة الكفية. Expressنسخة صغيرة و مجانية 39 Normalization intro مقدمة للتطبيع هوعملية تفكيك (تحليل /تجزئ ) تراكيب البيانات الكبيرة (الموجودة في عالقة واحدة عامة) الى تمثيل بسيط (عدة عالقات بسيطه) طبقا العتماد البيانات على بعضها البعض. التطبيع هى عملية تقسيم البيانات إلى مجموعة من العالقات: (التجانس -االعتمادية -خالية من التكرار) بالطبع فإن القضاء على التكرارية تماما أمر غير ممكن ،وما يتم دائما هو تقليل التكرارية ما أمكن قواعد التطبيع هي مجموعة المعايير المتبعة في تصميم قواعد البيانات هي خطوات لتجزئة العالقات relationsالجداول ،إلى عالقات 40 أصغر لماذا التطبيع .1لمعرفة وفهم المعنى الكامن في البيانات التي تحتويها قاعدة البيانات .2لمعرفة وفهم العالقات واإلعتماديات المتبادلة بين البيانات data redundancyوالتناقض .3لتقليل تكرارية البيانات الذي قد يحصل بينها . .4لحماية البيانات من المشاكل التي قد تطرأ عند معالجتها ،أي عند إجراء إدخال بيانات جديدة أو تعديل بيانات موجودة أو حذفها. 41 مزايا التطبيع .1تقليل تكرارية البيانات( تقليل مساحة التخزين ) .2تقليل التضارب inconsistencyالحاصل بين البيانات. .3تقليل تكلفة تحديث البيانات ومعالجتها. .4إلغاء العالقات التي من نوع many-to-manyوذلك بتحويلها إلى عالقات من نوعone-to-many .5زيادة وتطوير مرونة النظام 42 عيوب التطبيع االضطرار أحيانا إلى استخدام الفهارس التي تعقد عملية المعالجة وإن كانت ترفع من كفاءتها. زيادة تعقيدات النظام. تقليل كفاءة بعض أوامر استرجاع البيانات ،خاصة العالقات المعقدة بسبب هذه العيوب ،يتم في بعض األحيان ،تطبيق قواعد التطبيع العكسيةDemoralization 43 Functional Dependencies االعتماد الوظيفى هو اعتماد او ارتباط خاصية او مجموعة من الخصائص على خاصية او مجموعة اخرى من خصائص قاعدة البيانات هى صفة تفهم من معنى او مدلول الخصائص التي تشكل قاعدة البيانات وجود قيد بين صفتين two attributesعمودين ،أو بين مجموعتين من الصفات انواع االعتماد الوظيفى: .Aاالعتماد الجزئي .Bاالعتماد االنتقالي 44 االعتمادية الوظيفية الجزئية و االنتقالى االعتماد الجزئي للبيانات يقصد به اعتماد خاصية ما و مجموعة من الخصائص على خاصية او مجموعة اخرى من الخصائص في نفس الوقت الذي تعتمد فيه خاصية اخرى او مجموعة ثانية على خاصية او مجموعة مختلفة من الخصائص عندما يكون هناك عمود معتمد وظيفيا على مفتاح رئيسي مركب تعني أن العمود معتمد على جزء من الفتاح الرئيسي ،وليس كله االعتماد االنتقالي للبيانات يقصد به اعتماد خاصية ما او مجموعة ما من الخصائص على خاصية ما Aمثال في نفس الوقت الذي تعتمد فيه الخاصية Aعلى خاصية او مجموعة خصائص اخرى 45 قواعد التطبيع 1. اللغاء التكرار )1st Normal Form (1NF 2. لحذف االعتماد الجزئي )2nd Normal Form(2NF 3. لحذف االعتماد االنتقالي )3rd Normal Form(3NF 46 Database in SQL Server انواع قواعد البيانات تقسم قواعد البيانات في ال SQL Serverإلى نوعين : .Aقواعد بيانات النظام System Database Master.1تخزين كافة معلومات نظام المخدم كما تقوم بتخزين كافة حسابات المستخدمين وجميع اإلعدادات Msdb.2جدولة المهام jobsوتخزين operatorsأو ما يسمى بالمشغالت Model.3يعتمد خادم Sqlعلى قاعدة البيانات هذه في إنشاء قاعدة بيانات جديدة في كل مرة ( قالب ( temaplate Tempdbقاعدة بيانات تخزن قواعد بيانات مؤقتة .4 .Bقواعد بيانات المستخدمين 47 Database Creation : SQL Server خصائص القاعدة : انواع ملفات القاعدة Database File Primary البيانات االساسية.A )bh_data.mdf( )bh.ndf( Secondary البيانات الثانوية.B )bh_log.ldf( Log File السجالت.C 48 Data Types انواع البيانات تحتوى على اربع تقسيمات اساسية Numeric.Iالرقمية ) رقم عشرى – floatرقم صحيح II. (Int Data and Time.IIIتاريخ date.I String.IVالنصوص Char.I Varchar.II nchar.III Other.Vاخرى منطقى ( )bitيحمل قيمة واحدة فقط 0او 1 49 50 احداث داخل القاعدة لإلدخال البيانات بالجدول edit top 200 rows ▪ لعرض بيانات الجدول Select top 1000 rows ▪ لعرض جميع اوامر الجدول SQL Script table as ▪ ألنشاء indexيتم انشاء الفهرس على الجدول تلقائيا (عند انشاء مفتاح ▪ أساسي ) ألنشاء Database Diagramللعالقة بين الجداول new database ▪ diagram Schemasالمخططات لربط الصالحية المنشاة بالجدول في design ▪ 50 SQLمكونات الجدول داخل قاعدة البيانات 1. االعمدة او الحقول بداخل الجدول Columns 2. المفاتیح االساسیة و االجنبیة بداخل الجدول Keys 3. القیود الموجودة على الحقول Constraints 4. المحفزات ( امر یتم تنفیذه طبقا لحدوث حدث معین )Triggers 5. الفهارس ( هیاكل للجدول )Indexes 6. معلومات احصائیة على البیانات و كیفیة توزیعهاStatistics 51 القيود Constraints هي مجموعة من الشروط التي تفرض على جدول او حقل لضمان صحة البیانات المدخلة یمكن تحدیدها باستخدام جملة SQL عند انشاء CREATE TABLEاو TABLE ALTER قیود SQL Serverالمتاحة: Not Null.1العمود ال يخزن قيمه فارغة UNIQUE.2قيمه الحقل ال تتكرر PRIMARY KEY.3وهو خاصية فريدة للحقل بحيث ال يترك فارغا كما تسرع في استرجاع السجالت . FOREIGN KEY.4لضمان التكامل المرجعي للبيانات في جدول واحد لمطابقة القيم في جدول آخر . CHECK.5امكانية وضع شرط محدد لقيمة الحقل المدخل . 52 DEFAULT.6إلدراج قيمة افتراضية للعمود Trigger اجراء او حدث يتم تنفيذه طبقا ل ( اضافة – تحدیث -حذف ) للحافظ على سالمه البیانات فوائده .Iأحد المفاهيم التي تساعد في تحقيق سالمة البيانات Data Integrity .IIتقليل عمليات االتصال بالخادم SQL Server .IIIفصل الجزئيات الخاصة بقاعدة البيانات وعملها على SQL Serverعن الجزئيات الخاصة بلغة البرمجة أنواع المحفزات ( After Trigger.Aاالدخال – التعديل – الحذف ) الجدول فقط Instead of Trigger.Bقبل ( االدخال – التعديل – الحذف ) الجدول و View 53 INDEXES هو حقل أو مجموعة من الحقول التي يمكن استخدامها لتحديد عمليات محددة على السجالت حسب الصالحيات المحددة لها تشير الى السجالت الفعلية يحتوى الجدول على فهرس او اكثر من فهرس و يتم تخزينها في المفاتيح keys وظائفها ( عدم تكرار البيانات – سرعة البحث – استرجاع البيانات بكفاءة ) عيوبها (تزيد حجم القاعدة – البطء في االضافة ) 54 Views انشاء استعالم وهمى لعرض البيانات التي تم استيرادها من مجموعة من الحقول من جدول او اكثر تسهيل عملية تجميع البيانات من اكثر من جدول تحسين اداء القاعدة و حمايتها Schemasالمخططات یتم ربط الصالحیة المنشاة بالجدول فى design 55 احداث على القاعدة Action للتغیر اسم القاعدة R. click database rename (Closeلحذف القاعدة اذا كان هناك مستخدم واحد R. click database delete )نختارها اذا كان هناك اكثر من مستخدم existing Connections مع االخذ في االعتبار استحالة حذف قاعدة البیانات المستخدمة من اكثر من شخص حیث یلزم التوقف عن استخدام القاعدة قبل البدء في عملیة الحذف لنسخ قاعدة البیانات R.click database task detach ال یمكن نسخ الملفات السابقة اال في حالة قطع االتصال بالخادم لنسخ قاعدة البیانات R.click database task take offline لعمل نسخة احتیاطیة R.click database task backup كامل القاعدة Full التحديثات التي تمت فقط Differential الملف يحمل االمتداد .bak الستعادة النسخة R.click database task Restore الستیراد جدول من قاعدة بیانات R.click database task Import data 56 Intro to SQL اختصار Structured Query Languageوتعني لغة االستعالمات المرتبة تستعمل من أجل إجراء عمليات على قواعد البيانات بالنسبة لبرنامج Microsoft SQL Serverفهو يستعمل نسخة متطورة من SQLتسمى Transact SQLوهي تضم المهام التالية : .Aلغة لتعريف البيانات DDL Data Definition Language (انشاء – تعديل –حذف) كائنات .Bلغة لمعالجة البيانات DML Data Manipulation : ( Languageاختيار –تحديث – اضافة –حذف) سجالت .Cلغة للتحكم في البيانات DCL :وهي اختصار ل Data Control ( Languageتحكم ) مستخدمين 57 امن المعلومات عبار ة عن علم بأكمله يسعى لحماية المعلومات وتأمينها من كل ما يحف بها من مخاطر ،أو اعتداءات في البيئة اإللكترونية المحيطة بها بواسطة عدد من األدوات والوسائل الخاصة بذلك ،أو من خالل اتخاذ جملة من التدابير واإلجراءات للحد من الوصول العشوائي لها يعتمد على مجموعة من األنظمة الخاصة .1كأنظمة حماية نظم التشغيل، .2أنظمة حماية البرامج والتطبيقات، .3أنظمة حماية قواعد البيانات، 58 .4أنظمة حماية الولوج أو الدخول إلى األنظمة. وسائل حماية المعلومات توفير تأمين مادي ملموس على األجهزة والمعدات جميعها لحمايتها من .1 السرقة أو االنتهاك. استخدام مضادات الفيروسات الفعالة واستمرارية تحديثها دوريا لضمان .2 مواكبتها للتطورات والتصدي للفيروسات المستحدثة. استخدام أنظمة الكشف الخاصة باالختراق وتحديثها باستمرار. .3 خلق نظام مراقبة على الشبكة للكشف عن الثغرات ونقاط الضعف .4 التأمينية أوال بأول قبل وقوع المشكلة. االستمرارية في االحتفاظ بنسخ احتياطية للبيانات والمعلومات المتوفرة .5 على النظام. االعتماد على أنظمة قوية لغايات تشفير المعلومات المرسلة وحمايتها. .6 توفير مزود كهربائي لتفادي مشكلة انقطاع التيار الكهربائي. .7 59 العمل مليا على نشر الوعي األمني بين األفراد. .8 وسائل حماية المعلومات تفعيل خاصية جدران الحماية اإللكترونية Fire wallوذلك لتوفير .9 الحماية الالزمة لألجهزة والمعدات من االختراق. .10استخدام خاصية BitLockerإلخضاع البيانات الموجودة في الهارديسك للتشفير بشكل كامل. .11استخدام برنامج Private Tunnelلغايات تشفير البيانات ال ُمتناقلة عبر الشبكة العنكبوتية)(VPN HTTPS Everywhereلمستخدمي متصفح الجوجل .12استخدام كروم. .13وضع كلمة سر غير مألوفة لألفراد وأن تكون صعبة وتتألف من رموز وحروف وأرقام. 60 صالحيات قواعد البيانات db_ownerللمستخدم كامل الصالحيات على قاعدة البيانات بصفته المالك db_backupoperatorانشاء نسخة احتياطية backupللقاعدة db_datareaderقارئ لبيانات فقط db_datawriterصالحية التعديل والحذف db_ddladminله جميع الصالحيات المتعلقة ف DDL language db_denydatareaderال يستطيع القراءة والكتابة على القاعدة Sysadminالتحكم الكامل فى ،SQLوتعد هذه الصالحيات من القواعد Rolesفى SQL 61 للقاعدة و الجداول Sqlاوامر ألنشاء قواعد البيانات ; CREATE DATABASE MyDatabase لحذف قاعدة البيانات ; DROP DATABASE MyDatabase ألنشاء جدول ال يبدا اسم الجدول برقم او رمز ال تستخدم كلمات محجوزة بالبرنامج ]USE [bh47 ( CREATE TABLE MyTable ID INT, FullName VARCHAR(50), )BirthDate DATETIME 62 للقاعدة و الجداول Sqlاوامر لحذف الجدول ;DROP TABLE MyTable لتعديل الجدول بإضافة بعض الحقول ;ALTER TABLE MyTable ADD Age int 63 اوامر Sqlللقاعدة و الجداول خاصيات اإلدخال Constraints : مجموعة من االوامر للتحقق من سالمة البيانات المدخلة و منها NOT NULL.1لمنع ترك قيمة حقل معين فارغة ( CREATE TABLE MyTable )ID INT NOT NULL : IDENTITY.2للحقول الرقمية من اجل زيادتها تلقائيا )ID INT IDENTITY(1,1 الرقم يبدا من 1و معامل الزيادة ( 1غير قابل لإلدخال ) PRIMARY KEY.3لجعل الحقل رئيسي )ID INT PRIMARY KEY UNIQUE.4لجعل الحقل ال تتكرر ( مع السماح بالقيمة ( NULL )ID INT UNIQUE 64 للقاعدة و الجداولSql اوامر Constraints : خاصيات اإلدخال تحديد قيمة افتراضية للحقلDEFAULT.5 CREATE TABLE MyTable (MyColumn nvarchar(25) DEFAULT 'UnKnown') (fees int DEFAULT 4000 ) ) للتحقق من قيمة الحقل قبل ادخاله ( شرط معين لالدخالCHECK.6 CREATE TABLE Person( AGE INT CONSTRAINT C_Constraint CHECK (AGE BETWEEN 5 AND 60)) لحذف الخاصية او القيد ALTER TABLE Person DROP CONSTRAINT C_Constraint 65 المشاهد Views جداول وهمية اخف و اسرع من الجداول (ألنها ال تحتوى على البيانات ) تحتوى على االستعالم ( الذى يحدد الحقول و الجدول او الجداول) النشاء مشهد View CREATE VIEW View_Name AS Query بحيث View_Nameاسم المشهد CREATE VIEW stu_alex AS SELECT ID, Name, phone FROM ‘bh47.dbo.students10 WHERE [City]='alex لحذف مشهد معين DROP VIEW View_Name 66 INDEXES الهدف تسريع عملية جرد البيانات و لكن يعاب عليها البطئ فى عمليات االضافة و الحذف و التعديل للبيانات او السجالت ألن كل عملية تحديث تتسبب في إعادة إنشاء الفهرس ،لهذا وجب التقليل منها إنشاء الفهارس CREATE INDEX Index_Name )ON Table_Name (Column_Name Desc | Asc CREATE INDEX MyIndex )ON MyTable (ID Desc لحذف فهرس DROP INDEX MyIndex ON MyTable 67 معالجة البيانات تشمل عمليات االضافة و التعديل و الحذف التى تتم على الجداول الضافة سجل لجدول ما INSERT INTO MyTable )(ID, FullName VALUES )'(1, 'Khalid شكل اخر اذا تم التاكد من ترتيب الحقول INSERT INTO MyTable VALUES )'(1, 'Khalid إذا كان أحد الحقول يطبق الخاصية IDENTITYالتي تجعل الرقم يزداد تلقائيا ،فال ينبغي أن نضعه مع الحقول 68 معالجة البيانات امكانية نسخ السجالت من جدول الخر INSERT INTO MyTable2 (ID,FullName) SELECT ID,Fullname FROM MyTable1 امكانية نسخ سجالت من جدول قديم الخر جديد لحظة االنشاء SELECT * INTO NewTable FROM OldTable لحذف بيانات ( سجالت ) جدول DELETE FROM MyTable; مع امكانية اضافة شرط لعملية الحذف DELETE FROM Employee WHERE city= ‘alex'; 69 تعديل البيانات سوف يتم التعامل مع جدول الموظفين CREATE TABLE Employee (ID INT NOT NULL PRIMARY KEY, FullName NVARCHAR(40), Adress NVARCHAR(255), Age TINYINT) لتعديل بيانات كل السجالت بالجدول UPDATE Employee SET FullName='UnKnown', Adress=‘Alex’ مع امكانية تعديل سجل او اكثر طبقا لشرط معين UPDATE Employee SET FullName='UnKnown', Adress=‘alex’ WHERE ID=1 70 يساوى واحدID سوف يتم تعديل السجل الذى ال جرد البياناتSelect Select الشكل العام لكود SELECT Field1, Field2,... FROM TableName WHERE Condition حقول من جدول الموظفين القاطنين باالسكندرية3 المثال التالى سيظهر SELECT ID, FullName, Adress FROM Employee WHERE Adress=‘alex‘ * كما يمكن اظهار كافة حقول الجدول باستخدام SELECT * كما يمكن وضع اكثر من شرط SELECT * FROM Employee WHERE Adress=‘alex‘ And Age < 30 OR اوAnd كما يمكن اظهار اكثر من نتيجة للشرط باستخدام SELECT * FROM Employee WHERE Adress=‘alex‘ 71 OR Adress=‘Beheira ' جرد البياناتSelect امكانية تغيير اسماء الحقول عند العرض SELECT ID AS الرقم, FullName AS [ ]االسم الكامل, Adress AS العنوان, Age AS العمر FROM Employee + امكانية دمج قيم الحقول باستخدام عالمة SELECT FullName + ' Is From: ' + Adress as 'About this emplyee' From Employee 72 Selectجرد البيانات لجرد سجالت جدول مرتبة طبقا لحقل معين (تنازليا ) SELECT * FROM Employee ORDER BY Age DESC لجرد سجالت جدول مرتبة طبقا لحقل معين ( تصاعديا) SELECT * FROM Employee ORDER BY Age ASC الضافة اكثر من حقل للترتيب SELECT * FROM Employee ORDER BY Age, Adress 73 Functionالدوال مجموعة من االوامر التى تنجز شئ ما ( رياضى ) الدوال التجميعية Aggregate Functions : الدالة ( COUNTعدد سجالت الجدول ) SELECT COUNT(*) FROM Employee الدالة ( SUMاظهار مجموع قيم حقل رقمى ) SELECT SUM(age) FROM Employee الدالة ( AVGاظهار متوسط قيم حقل رقمى ) SELECT AVG(age) FROM Employee كما يمكن اظهار نفس النتيجة باستخدام العملية االتية SELECT SUM(age)/ COUNT(age) FROM Employee الدالة ( MINاظهار اصغر قيمه فى السجالت ) SELECT MIN(age) FROM Employee الدالة ( Maxاظهار اعلى قيمه فى السجالت ) SELECT Max(age) FROM Employee 74 Function الدوال GROUP BY : تجميع البيانات تستخدم مع احد الدوال لتجميع البيانات وفقا لحقل معين SELECT COUNT(Adress) as ‘ ' عدد سكان كل مدينة FROM Employee GROUP BY Adress SELECT age, COUNT(Age) as ' عدد الموظفين الذين لهم ' هذا السن FROM Employee GROUP BY Age المكانية وضع شروط للتجميعHAVING : شرط التجميع SELECT Adress, COUNT(Adress) FROM Employee GROUP BY Adress HAVING adress='alex‘ اظهار عدد الموظفين القاطنين فقط باالسكندرية SELECT age, COUNT(Age ) FROM Employee GROUP BY age HAVING COUNT(age)>4 75 العالقات بين الجداول االتحاد :() Unionعالقة تربط بين مجموعتين لهما نفس الحقول و تنتج مجموعة تضم كل عناصر المجموعتين الربط ( ) ( JOINبحث عن العناصر الموجودة بالجدولين ذات العالقة ) 76 quiz تتكون قاعدة البيانات من جداول (واحد أو أكثر).ويتكون الجدول من أعمدة .1 (حقول )) Fieldsومن صفوف (سجالت )) Recordصح من اسباب استخدام قواعد البيانات(مستقلة– االمن – التزامن– كل ما سبق ) .2 DBMSهو برنامج إلدارة والتحكم فى قاعدة البيانات صح .3 من مكونات انظمة قواعد البيانات(البيانات– البرانامج– االشخاص– كل ما سبق ) .4 Bitsهو اعلى مستوى للبيانات فى قواعد البيانات خطا .5 قواعد بيانات الوسائط المتعددة تعتبر من التطبيقات التقليدية لقواعد البيانات خطا .6 Data modelصممت لتسهيل التفاعل بين المصمم ،مبرمج التطبيقات، .7 والمستخدم النهائي صح من انواع الملفات (تتابعى– عشوائى – مفهرس– كل ما سبق ) .8 حماية البيانات ضد التخريب من مهام مختص القاعدة خطا .9 من انواع نماذج البيانات التى تستخدم (ERDاالولى– المنطقى– المادى– كل ما .10 سبق ) الحذف من وظائف محرك قاعدة البيانات صح .11 77 الكيان هو Entityوالتى تمثل بدائرة فى ERDخطا .12 quiz جدول السكيما هو نفسه الجدول المستخدم عند تنفيذ قاعدة البيانات الفيزيائية .1 صح يتم تصميم قاعدة البيانات المنطقية بـ .2 ( –Normalization – DB Schema –ERDكل ما سبق ) المفتاح الرئيسي هو حقل موجود في جدول وهو ال يمثل واحدة من صفاته خطا .3 تحويل العالقات الثنائية من النوع N:Mعن طريق استحداث جدول جديد صح .4 SQL serverيعتمد على نظام التشغيل صح .5 من اصدارات –Express –Standard –Enterprise(SQL Server .6 كل ما سبق ) يتم استخدام برنامج Accessاذا كان عدد العمليات Transactionsقليل .7 صح يعتبر Triggersمن مزايا SQL Serverصح .8 78 quiz Normalizationهوعملية تفكيك (تحليل /تجزئ ) تراكيب البيانات .1 الكبيرة (الموجودة في عالقة واحدة عامة) الى تمثيل بسيط صح لماذا التطبيع (لتقليل التكرار – لحماية البيانات– لفهم المعنى– كل ما سبق ) .2 من عيوب التطبيع تقليل كفاءة بعض أوامر استرجاع البيانات صح .3 يتم ازلة التكرار فى المرحلة الثانية من التطبيع خطا .4 قاعدة بيانات Masterتقوم بتخزين كافة معلومات نظام المخدم كما تقوم .5 بتخزين كافة حسابات المستخدمين وجميع اإلعدادات صح من انواع ملفات القاعدة ( –ldf –ndf –mdfكل ما سبق ) .6 Intمن البيانات الرقمية داخل SQL serverصح .7 Constraintsمن مكونات الجدول داخل SQL serverصح .8 New relationshipالنشاء عالقة داخل SQL serverخطا .9 79 Quiz من أنواع القيود التى تستخدم لضمان عدم وجود قيمة فارغة لحقل معين : .1 Not Null.1 UNIQUE.2 PRIMARY KEY.3 FOREIGN KEY.4 يتم استخدام FOREIGN KEYلضمان التكامل المرجعي للبيانات صح .2 يتم استخدام After Triggerعلى كال من Tableو Viewخطا .3 .4من وظائف (:Indexعدم تكرار البيانات – سرعة البحث – استرجاع البيانات بكفاءة – كل ما سبق ) 80 Quiz من انظمة امن المعلومات حماية : .1 (نظم التشغيل– التطبيقات– –DMLكل ما سبق ) تستخدم الدالة SUMاظهار مجموع قيم حقل رقمى صح .2 الصالحية db_datawriterصالحية للقراءة فقط خطا .3 .4يستخدم Fire wallكوسيلة لحماية المعلومات صح 81 ( ارتباط كلى )1:1مثال لعالقة رقم العنوان 1 1 التاریخ سجل طبي طالب رقم عنده االسم المستشفي طالب ( الرقم الجامعي – العنوان – االسم ) سجل طبي ( رقم السجل – التاريخ – المستشفي -الرقم الجامعى) 82 مثال للعالقة 1:N تاریخ العمل الراتب رقم العنوان 1 N الهاتف قسم موظف رقم یعمل االسم االسم موظف (رقم الموظف – االسم – العنوان – الراتب – رقم القسم – تاريخ العمل) قسم (رقم القسم – اسم القسم – رقم الهاتف) 83 مثال للعالقة M:N العام رقم العنوان n m الساعات مقرر التسجیل طالب رقم االسم االسم الشعبة طالب (رقم الطالب – اسم الطالب – العنوان) التسجيل (رقم الطالب -رقم المقرر – العام– الشعبة) مقرر (رقم المقرر – اسم المقرر – عدد الساعات) 84 مثال للصفة المتعددة القيم الرقم االسم شركة اسماء الفرع شركة ( رقم الشركة – االسم ) الفرع ( اسم الفرع -رقم الشركة) 85 86