Document Details

karim7

Uploaded by karim7

المعهد العالي للعلوم الإدارية المتقدمة والحاسبات

2024

DR. Hany Hamdy Hussien

Tags

database sql server database management computer science

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

Use Quizgecko on...
Browser
Browser