*

*

اليوم نبدأ في التعرف على أمر جديد فى برنامج الsql Server ألا وهو الAlter Command

*

متى يستخدم امر Alter Command؟
.
يستخدم هذا الأمر عندما تريد إضافه حقل أو أكثر أو حذف حقل أو تعديل حقل فى جدول داخل الداتا بيس، ولكن هذا الأمر له استخدمات أخرى سنتعرف عليها في الدروس القادمة إن شاء الله.
.
استخدام امر alter فى عملية اضافه New Column
للتوضيح اكثر تابع معى هذة الصورة
sql.L8.pic1
.
مثال للتطبيق
.
sql.L8.pic2
.
استخدام امر alter فى عملية حذفColumn
.
sql.L8.pic3
.
استخدام امر Alter فى عملية تعديلColumn
.
sql.L8.pic4

إلى هنا نكون أنهينا الدرس لهذا اليوم ..

*
*
بسم الله الرحمن الرحيم
نبدأ اليوم فى معرفة مفاهيم هامة جداً ألا وهى  Drop,Delete,Trunacate داخل برنامج
SQL SERVER
.
ونبدأ سويا فى التعرف على الفرق بين هذة الاوامر  مع زكر مثال لكل منه للتوضيح هذا الفرق فتابع معى
.
الأمر Drop 
 .
.
للتوضيح هذا المفهوم تابع معى هذة الصورة :
.

sql.L7.pic1

.
هنا الرجل يقوم بقطع الشجرة ولو تخيلنا ان الرجل هو الشخص الذى يكتب امر الDrop والشجرة الجدول او الداتا بيس فبالتالى تقوم بقطع أو حذف الجدول نهائيا  وهذا هو عمل امر Drop
.
نذهب الان الى برنامج Sql  ونطبق هذا الأمر
نحن لدينا داتا بيس Drop_Delete_Trunacate  بها ثلاث جداول وهى كالاتىDropTableوDeleteTableوTruncateTable
ونريد الان حذف الجدول DropTable وكذلك حذف قاعده البيانات والصورة توضح ذلك
.
sql.L7.pic2
.
وبعد التنفيذ وعمل refresh  يكون الناتج
.
sql.L7.pic3
.
والان نقوم بحذف قاعده البيانات
.
sql.L7.pic4
.
امر الDelete
.
sql.L7.pic5
.
توضيح :-
امرdelete يشبة عملية مسح رقم معين من داخل التليفون ويتم المسح عن طريق شرط معين او يمكنك بمسح جميع الارقام ولو تخيلنا ان التليفون عنا هو الجدول والارقام هنا البيانات التى بداخل الجدول اذن ستم المسح الارقام عن طريق شىء معين او يمكن مسح جميع الارقام
.
sql.L7.pic6
 .
ونذهب الى التطبيق الان
 فى البداية قمنا بادخال بعض البيانات وتم المعرفة بذلك وعملية الادخال كما موضحا بالشكل
.
sql.L7.pic7
.
نقوم الان بالتنفيذ الكود
.
sql.L7.pic8
.
الناتج
.
sql.L7.pic9
.
والان نقوم بحذف جميع البيانات من داخل الجدول
.
sql.L7.pic10
.
ويكون ناتج التنفيذ
.
sql.L7.pic11
.
   الأمرTruncate
.
sql.L7.pic12
.
للتوضيح
امر truncate   يشبة عملية مسح السبورة بعد شرح المدرس الدرس فيقوم بمسح كل الكتابات الموجوده بالسبورة وهذا يعنى انه مسح السبورة وهى بالتالى الجدول فى sql بدون ان يحدث اى شىء للسبورة وهذا باختصار شرح المفهوم
.
sql.L7.pic13
.
التطبيق الان :-
اولا قمنا بادخال بيانات فى جدول  TruncateTable وهى كالتالى
.
sql.L7.pic14
.
ونقوم بالتنفيذ الكود
.
.
ويكون شكل الجدول كالاتى
.
sql.L7.pic15

*

*

بسم الله الرحمن الرحيم

بعد أن تعلمنا كيفية إنشاء قاعدة بيانات وانشاء  الجداول بداخلها بالعلاقات، نبدا فى هذا الدرس: كيفية ادخال البيانات فى هذة الجداول ،

.

نقوم الان بفتح البرنامج وانشاء قاعده بيانات فارغه ولتكن Schools ونقوم باستخدام هذة القاعده للبدا فى انشاء الجداول بها

.

.بعد ذلك نقوم بانشاء جدول بداخلها وليكن جدول الطلاب  كما موضح بالصورة

.

sql0302

.

ونبدا الآن في كيفية إدخال البيانات داخل هذا الجدول

.
توجد طريقتين بالكود لادخال البيانات نتابع شرح هذة الطريقتين بالتفصيل كما بالصورة

.

sql0303

.

والطريقة الأولى هي كالاتى :

.

sql0304

.

ويكون ناتج التنفيذ كالاتى :

.

sql0305

.

ولمعرفة ناتج التنفيذ مؤقتا نعرف هذة الجملة

.
Select * from Student
وهنا تقوم بارجاع جميع بيانات الجدول (سنقوم بالتعرف عليها فيما بعد)

.

sql0306

.

نبدأ الان فى الطريقة الثانية

.

.
ويكون ناتج التنفيذ كالاتى :

.

sql0307

.
أخطاء شائعه فى عملية إدخال البيانات :-

.
1-تكرار قيمة ال primary key فمثلا لايجب ادخال قيمة للرقم الجلوس موجوده بالفعل .

.
2-فى الطريقة الثانية علية الترتيب تكون غير صحيحة فبالتالى يحدث خطا او يكون بيانات الادخال غير صحيحة .

.
3-كتابة اسماء الجداول او الحقول بطريقه خطأ يؤدي إلى أخطاء عديدة .

.
الصور القادمة توضح  هذه الأخطاء

.

sql0308
.
sql0309
.
sql0310

وهنا نكون قد أنهينا هذا الدرس ونستكمل الدرس القادم.

*

*

اليوم باذن الله سنقوم بتحويل Entity Relationship Modelالى قاعده بيانات  وجداول كاملة بالعلاقات  داخل بيئة ال Sql Server

.

نبدأ الآن واتبع معي الخطوات الآتية خطوة بخطوة 
.
- نقوم بفتح البرنامج Sql server 2008 R2 كما بالصورة
.

sql.L5.pic1


.

ثم نضغط على على زر connect ونفتح Sql Query جديدة ونحن تعلمنا ذلك سابقا
.
- نقوم بانشاء قاعده بيانات جدية ولتكن My project ونقوم باستخدامها كما بالصورة
.

sql.L5.pic2
.
ونقوم الآن بإنشاء الجداول الآتية بالترتيب :
.

  •  أولا جدول الموظفين (رقم الموظف-اسم الموظف-نوع -تاريخ التعيين -الراتب ).
  • ثانيا جدول الاقسام (رقم القسم -اسم القسم -عدد الموظفين ) .
  • ثالثا جدول المشاريع (رقم المشروع -اسم المشروع ) .
  • رابعا-جدول الادارة (رقم الادارة-رقم الموظف-رقم القسم ) .
  • خامسا-جدول الموظف-مشروع(رقم تسلسل-رقم الموظف-رقم المشروع-عدد الساعات)  .
.
وهذه الجداول قمنا باستخراجها من الدرس السابق

.
و إنشاء الجداول كالآتي:

.
جدول الموظفين :
.

sql.L5.pic3
.
جدول الاقسام :-
.
sql.L5.pic4

.

جدول المشاريع
.

sql.L5.pic5

.

جدول الإدارة
.

sql.L5.pic6

.

جدول الموظف- المشروع
.

sql.L5.pic8

.

وبعد إنشاء الجداول السابقة يأتى الدور الآن إلى إنشاء العلاقات بين هذه الجداول من داخل برنامج نتبع سوياً هذه الخطوات :
*
نذهب الى My project Database ثم نحتار  DataBase Diagram  كما بالشكل
.

sql.L5.pic9

.

بعد ذلك ستظهر نافذة ويطلب منا اختيار الجداول التى نريد أن نعمل لها علاقة مع بعضها كما بالصورة
.

sql.L5.pic11

.

وبعد اختيار الجداول تظهر هذة الشاشة  وبها الجداول المختارة
.

sql.L5.pic12

.

والآن نقوم بالربط بين الجداول وهذا سيتم كما كان فى الEntity Relationship Model الموضح فى الدرس السابق  ونأخذ مثال :
*
وليكن العلاقة بين جدول الموظف والمشروع وبالتالى معهم جدول  الموظف والمشروع  والصورة توضح العلاقه
.

sql.L5.pic13

.وستتم العلاقة كالآتي:

.
1- نختار الpriamry key من جدول الموظف ونعمل له سحب الى ان نصل للقيمة التى تساوية فى جدول الموظف- والمشروع والتى تسمى الFoiergn Key  وهى FKEMPno كما بالشكل  ثم نضغط OK
.

sql.L5.pic14

.

ويكون ناتج العلاقة كما بالصورة
.

sql.L5.pic15

.

وبالمثل بين جدول المشاريع وجدول الموظف-والمشروع وتكون ناتج العلاقة  النهائي كالاتى :
.

sql.L5.pic16

.

ونطبق باقى العلاقات بين الجداول ويكون الناتج النهائى لجميع العلاقات كما بالصورة
.

sql.L5.pic17
.
ثم نقوم بعمل حفظ لل Digram و نختار اسم للحفظ كما بالصورة
.
sql.L5.pic18
.

وهنا نكون قد أنهينا الدرس ونستكمل باذن الله الدرس القادم..

اليوم إن شاء الله سوف ندرس كيفية عمل نموذج العلاقات بين الجداول وسنتعرف سويا على أنواع العلاقات التي سنتعامل معها للربط بين الجداول ونبدأ الآن :

 

لابد فى البداية أن نعرف ما هو Entity Relationship Model 

*
هو أحد الأساليب الشائعة لوضع تصور لقاعدة البيانات العلائقية وهو يعتمد على الآتي :

*
1-تقسيم قاعدة البيانات إلى جداول مثل (جدول الموظف أو القسم أو جدول طلاب وجدول المرحلة والدرجات وغيره ).
2-كل جدول يحتوى على خصائص معينة تصف هذا الجدول مثل (الاسم والعنوان والسن والوظيفة ).

.
وتحديد العلاقة بين هذة الجداول والخصائص نستطيع أن نعبر عنه بما يسمى Entity Relationship Model

*

أهمية Entity Relationship Model؟
الأهمية الأكبر أنه يساعد على عمل قاعدة بيانات على أساس علمي صحيح وبالتالي يعتبر خطوة مهمة جداً قبل البدء فى إنشاء قاعدة البيانات .

*


والآن سنتعرف  على كيفية التفكير بطريقة صحيحة لإنشاء قاعدة بيانات :

.
سنأخذ مثال وليكن هذا المثال هو إنشاء لقاعدة بيانات للشركة

.
فى البداية يجب الجلوس مع الشخص المسؤول عن الشركة الذى يريد قاعده البيانات هذه ومعرفة متطلبات النظام وماذا يريد هو منها.
نفرض أن متطلبات الشركة كالآتى :-

.
1- الشركة مقسمة إلى أقسام وكل قسم له رقم يميزه عن القسم الآخر .
2- يوجد لكل قسم موظف يدير القسم ويجب أن نعرف متى بدأ العمل في هذا القسم .
3- القسم يمكن ان يكون له أكثر من مكان .
4- يجب أن يكون لدى بيانات جميع الموظفين كالاسم والسن وتاريخ التعين وغيره.
5- كل موظف يجب ان يعمل فى قسم واحد فقط كل موظف يعمل مشروع واحد على الاقل ومن المهم معرفة عدد ساعات العمل الاسبوعية التى يعملها كل موظف فى المشروع .
*
نبدأ الآن فى تحليل هذا الوصف اتبع معي هذه الخطوات :

.
الخطوة الأولى 
*تحديد الجداول والخصائص الموجودة فى الوصف السابق
1- يوجد لدي معلومات عن اسم الموظف ورقم الموظف فبالتالى سيكون لدي جدول الموظفين .
2- رقم المشروع وبالتالي اسم المشروع فسيكون لدي جدول اسمه المشاريع .
3- رقم القسم واسم القسم ومكانه ومعرفة عدد الموظفين في القسم فبالتالي سيكون لدي جدول اسمه الأقسام .
.

والآن نستنتج الجداول الآتية :

*
أولاً جدول الموظفين (رقم الموظف-اسم الموظف-نوع -تاريخ التعيين -الراتب ).

.
ثانيا جدول الاقسام (رقم القسم -اسم القسم -عدد الموظفين ).

.
ثالثا جدول المشاريع (رقم المشروع -اسم المشروع ).

.
رابعا-جدول الادارة (رقم الادارة-رقم الموظف-رقم القسم ).

.
خامسا-جدول الموظف-مشروع(رقم تسلسل-رقم الموظف-رقم المشروع-عدد الساعات) .

.
والآن نقوم بتحديد الprimary key وتعرفنا على هذا المفهوم فى الدرس السابق وهو عبارة عن خاصية لايمكن أن تتكرر وستكون عندنا المفاتيح الأساسية التي توجد تحتها خط .

*
الخطوة الثانية :
تحديد العلاقة بين كل جدول  والآخر
يتم تحديد ذلك عن طريق :-   1- نوع العلاقة       2- نوع المشاركة

.
أنواع العلاقات :-

.
1- one To one
وهي تتكون عندما يكون سجل field من الجدول الأول يرتبط بسجل من الجدول الثاني أو العكس .

.
2-One To Many
تتكون عندا يكون سجل Fieldsمن الجدول الاون بععده سجلات من الجدول الثانى وليس العكس .

.
3-Many To Many 
هى تتكون عندما يكون عدة سجلات من الجدول الأول يرتبط بعدة سجلات من الجدول الثاني وهذه العلاقة تعرف بالعلاقة الوهمية أى أنها لاتحدث بمفرها وعند حدوثها يتم تعريف جدول بين هذا الجدولين ويعرف هذا الجدول بالجدول الوسيط أى انها تتحول هذه غلى علاقتين من نوع one To many.

*

الآن جاء دور تعريف نوع المشاركة :

.
يقصد هنا أنه إذا كانت سجلات جدول معين مشتركة مع جدول آخر، هنا تصبح نوع المشاركة كلية أو ليست كل الحقول المشتركة في العالقة تصبح جزئية .

.
مثال هنا :
ان كل موظف يجب ان يكون له مشاركة للقسم اى لايوجد قسم بدون موظف يديرة  وهنا تكون علاقة كلية بينما  توجد ايضا علاقة جزئية للموظف اى ليس كل موظف سيدير قسم .

*

الآن نقوم بتحديد العلاقات فى قاعد بيانات الشركة وهي كالآتي :-

نأخد جدول الموظفين وجدول الأقسا م نحلل العلاقة سوياً :
-كل قسم يجب أن يعمل فيها عدد من الموظفين والموظف الواحد لا يعمل  فى اكثر من قسم كما لايوجد قسم لايعمل به موظف،و لايوجد موظف يعمل بدون قسم، فالآن نسأل ما نوع العلاقة هنا؟
هنا العلاقة من نوع One To many   بين جدول الموظف وجدول القسم  ونوع العلاقه هنا كلية
.

sqldata

.

نأخذ جدول الموظفين هنا ونعمل جدول آخر اسمه الإدارة لأنه فى الوصف هنا يريد أن موظف يدير القسم ومن الوصف ستكون العلاقة هنا One To One ونوع المشاركة كلية للقسم وجزئية للموظف

.

 

sqldatas

.

نأخد جدول الموظف مع جدول المشاريع ونحلل العلاقة سويا ً
.
يجب أن يعمل الموظف فى مشروع على الأقل، أي يمكنه أن يعمل فى عدة مشاريع كما لايوجد مشروع بدون موظف والمشروع الواحد يمكن أن يشتغل فيه أكثر من موظف فما نوع العلاقه الان ؟

.
هنا العلاقة Mant To Many كما تكون المشاركة هنا كلية

.

sqldata3

الخطوة الثالثة :-

تحويل هذا إلى مخطط العلاقة بين الجداول (ERD)
يتم رسم الجداول وخصائصه بشكل يوضح العلاقات بين هذه الجداول وسيكون ناتج العلاقات السابقة كالشكل التوضيحى الاتى

.

sqldata4

ملاحظه هامة

كل هذا يعتبر تفكير للمشكلة وعمل تحليل لهذه المشكلة بخطوات علمية وهنا نكون قد نهينا هذا الجزء والدرس القادم سوف نتعرف على كيفية تحويل هذه العلاقات والرسومات التوضيحة إلى قاعدة بيانات كاملة بالSql Server .

بسم الله الرحمن الرحيم

نبدأ اليوم سوياً للتعرف على كيفية انشاء قاعده بيانات داخل البرنامج Sql Server 2008 R2.
.
وتوجد طريقتان لانشاء قاعده البيانات والطريقتين هما:-
.
1- الانشاء عن طريق الكود.         2- الانشاء Wizerd
وسنتعرف سويا على الطريقتين معا
.
 فى البداية نبدا بفتح البرنامج كالاتى :-
ضغط على زر الstart ثم All program ثم  Microsoft SqlServer R2 2008ثم نختار  Sql server Mangement Studio
.
ويكون الناتج كالاتى :-
.

sql.L3.pic1 
  
.
وبعد كتابة الServername والضغط على زر الConnect تظهر شاشة برنامج الرئيسية ونتعرف عليها الان :
.
sql.L3.pic2

.

والان نضغط نضغط على new Query  تظهر الشاشه الاتية :-

.

sql.L3.pic3
 
.
الطريقة الاولى :-
الان نبدا فى التعرف على الSyntaxt لانشاء قاعده بيانات جديده
 Create DataBase Database name
.
نكتب كود الاتى مع وضع اسم الداتا بيس المراد انشائها  ولتكن
  Create Database   Test
.
sql.L3.pic4
.
والصورة السابقة توضح الجزء السابق
.
وبعد إنشاء قاعده البيانات يجب علينا الان ان نستخدم هذة القاعده  ونفعل ذلك عن طريق الكود التالى
Use Test
.
والطريقة الثانية :-
 بعد بفتح البرنامج نضغط كليك يمين لفولدر الداتا بيس ونختار new Database
بعد ذلك نححد اسم الداتا بيس ونضغط ok والصورتين توضح الخطوات
 
sql.L3.pic5
.
.
sql.L3.pic6
 
 
والآن نبدأ بانشاء جداول داخل الداتا بيس 
الصيغه العامة:
.
  General formula
     create table Tablename
)
  Fieldname1  Datatype ,
Fieldname2   Datatype ,
Fieldname3   Datatype ,
Fieldname4   Datatype ,
.
.
.
.
Fieldnamen   Datatype ,
(
والان نبدا فى التعرف على  الDatatype بالتفصيل :-
- النوع Int : المشهور يأخذ أرقام صحيحة سالب أو موجب وبيكون بين – 2,147,483,648 حتي 2,147,483,647
حجمه 4 بايت .
*
- النوع Bigint : مثل النوع النوع Int لكن حجمه أكبر ويقبل من – 9,223,372,036,854,775,808 حتى 9,223,372,036,854,775,807
*
- النوع Smallint : الحفيد مثل أبيه Int يقبل كما نعرف من – 32,768 حتى الرقم 32,767
*
- النوع Tinyint : يقبل من 0 حتى 255 حجمه 1 بايت .
*
- النوع Char : يعني حرف ، وهو عبارة عن نوع يجعل حقل البيانات يتقبل عدد معين من الحروف من 1 إلى 8000 حرف
*
- النوع Money : تخصصه التعامل مع الأموال يقبل من – 922,337,203,685,477.5808 حتى 922,337,203,685,477.5807
حجمه 8 بايت – بجانب انك ممكن تضع رمز العملة بجانبه – دولار – جنيه
الأرقام العشرية فيه تكون حتى 4 خانات فقط .
*
- النوع Smallmoney : مثل النوع Money لكن يقبل من – 214,748.3648 حتى 214,748.3647
حجمه 4 بايت .
*
- النوع Datetime : تقوم بتخزين التاريخ فيه والوقت – يقبل من تاريخ الأول من يناير 1753 حتى 31 ديسمبر 9999 يخزن الساعة والدقيقة والثانية والملي ثانية بالصورة الآتية 00:00:00:000
حجمه مساحة 8 بايت
*
- النوع Smalldatetime : مثل النوع لكن يقبل من تاريخ الأول من يناير 1900 حتى 6 يونية 2079
يخزن الساعة والدقيقة فقط
حجمه 4 بايت
*
- النوع Binary : من اسمه نستخدمه لتخزين البيانات بصورة Binary كما قلنا من قبل مثل الملتيميديا ( صورة – صوت – فيديو )
حجمه ثابت يقبل حتى 8000 بايت
*
- النوع Varbinary : مثل النوع Binary لكن حجمه غير ثابت يكون حجمه حسب البيانات التى فيه وشرحنا هذا في الأول يقبل حتى 8000 بايت .
*
- (Varbinary(max : مثل النوع لكن يأخذ عدد البايت 8000 وحجمه يكون حسب ما تم تخزينه فقط .
*
- النوع Bit : قيمته أما 1 أو صفر
*
- النوع Nchar : يأخذ حروف ولكن حروف من النوع Unicode أي يمكن تخزين كل اللغات وليست اللغة الإنجليزية فقط وهو يتحمل من 1 إلى 4000 حرف حيث الحرف فيه يأخذ مكان حرفين من النوع char
القيمة الافتراضية لعدد الحروف التي يضعها اصدار 2005 هى 10 حروف
*
- النوع Varchar : يأخذ من 1 إلى 8000 حرف – لكن حجمه بخلاف الأنواع السابقة غير ثابت حيث يكون حجمه حسب عدد الحروف التي فيها – بمعنى أنه لا يحجز مساحة للحروف الغير موجودة بعكس Char وأقصى عدد يأخذه هو العدد الذى وضعته له – النوع (Varchar(max : مثل Varchar يأخذ 8000 حرف حيث يكون حجمه حسب عدد الحروف التي فيه .
*
- النوع Nvarchar : نفس : مثل Varchar لكن ياخد حروف Unicode ولذلك هو يقبل 4000 حرف فقط لان كما قلنا في النوع Nchar الحرف فيه بحرفين بسبب Unicode بحرفين .
*
- النوع (Nvarchar(max : مثل النوع (Varchar(max لكن بيأخذ حروف Unicode وأيضاً هو يقبل 4000 حرف فقط لان كما قلنا الحرف بحرفين .
*
- النوع Text : وهو يأخذ عدد حروف حتى 2 جيجا بايت
لكن من الخطأ فعل ذلك – فتخزين مثل هذا الحجم داخل خلية حقل واحد مع الاستخدام سيكون هناك بطئ فى القراءة
لكنه مهم في حالة لو عدد الحروف سيتعدى 8000 حرف .
*
- النوع Ntext : مثل النوع Text لكن يخزن الحروف كــــ Unicode
طبعاً طالما هيكون Unicode والحرف بحرفين إذن سيكون حجمه أقصاه 1 جيجا
*
- النوع Image : مثل النوع Text لكن نظام التخزين بيكون Binary طبعاً نحن نستخدمه مع الصور وملفات الصوف وخلافه من أمور المالتميديا
*
- النوع Decimal : يقبل الأرقام العشرية من – 0.00000000000000000000000000000000000001 حتى الرقم 10,000,000,000,000,000,000,000,000,000
*
- النوع Numeric : مثل النوع Decimal بالضبط
*
- النوع Float : يقبل الأعداد الحقيقية – دقيق جداً
يأخذ من – 1.79 أس 308 حتي 1.79 أس 308 – بقوة 15 رقم عشري – حجمه 8 بايت .
*
- النوع Real : مثل النوع Float لكن ياخذ من – 3.40 أس 38 إلى الرقم 3.40 أس 38 – بقوة 7 أرقام عشرية
حجمه 4 بايت .
 *
وبعد شرح DataType
نبدأ الآن فى إنشاء جدول وليكن الجدول الطلاب وهذا الجدول يتكون من (رقم الجلوس -اسم الطالب-تاريخ ميلاده)
 *
ويكون التطبيق هذا الجدول كما هو موضح بالصورة
.
sql.L3.pic8


*

 


بعد انشاء الجدول يجب علينا ان نححد مفتاح لهذا الجدول وهذا المفتاح يجب ان يكون ذو قيمة لاتكرر وذلك المفتاح يسمى  Primary key
فما هو الprimary key؟
.
هى عبارة عن مفتاح  يضمن لك عدم تكرار البيانات في ذلك الحقل Fields ولايقبل  القيمة  الفارغه ويتم  تعريف الجدول بوجود المفتاح الاساسى كالاتى
.
create table Tablename
)
     Fieldname1  Datatype primary key ,
Fieldname2   Datatype ,
Fieldname3   Datatype ,
Fieldname4   Datatype ,
.
.
.
.
Fieldnamen   Datatype ,
(
 .
ويكون ناتج التنفيذ كالاتى :-
.
Create table Student

)
,StudentId  int primary key

,( Studentname  nvarchar(50

StudentDate DateTime

                             (
.
للتوضيح تابع الصورة
.
sql.L3.pic9
 

وهنا نكون انهينا هذا الدرس وانتظرونى فى الدرس القادم ان شاء الله..

*

*

 

في درس اليوم سنعرف كيفية عمل setup لبرنامج Sql server 2008  بدون أي مشاكل، وللحصول على ذلك اتبع الخطوات الآتية مع العلم أن الخطوات مشروحة بالصور والكتابة ..

*

أولا :-نقوم بتنزيل البرنامج من الرابط الآتي :-http://mediafire.com/?9whdw7q7sr1j8lm وبعد عملية التنزيل اتبع الآتي :
*
نقوم بفتح البرنامج ونضغط على الSQLEXPRAdv_86_ENU كما بالصورة :
*
sql.L2.pic1
*
ننتظر حتى تتم عملية استخراج الملفات من داخل البرنامج
*
sql.L2.pic2
*
بعد ماتتم عملية استخراج الملفات تظهر نافذة التسطيب كما بالشكل :
*
sql.L2.pic3
*
هذه النافذة تحتوي على معلومات إضافية للتخطيط لعملية التثبيت.
اضغط على Installation على اليسار:
*
sql.L2.pic4
*
اضغط : New Installation or add features to an existing installation ستظهر النافذة التالية :
*
sql.L2.pic5
*
ثم بعد ذلك نضغط على زر OK وبعد الضغط ستظهر نافذة تتطلب منك رقم المنتج أو ستكون النسخة للتجريب
بعد وضع رقم المنتج او اختيار نسخة تجربية ستظهر النافذة التالية :
*
sql.L2.pic6
*
نقبل اتفاقية الترخيص ونضغط على زر التالى ستظهر هذه النافذة ويتم بها بعض العمليات التسطيب :
*
sql.L2.pic7
*
كما يقوم برنامج التثبيت بالتأكد من وجود جميع متطلبات عملية تثبيت البرنامج و يجب أن تمر جميع هذه القواعد بدون أي مشاكل حتى يتم السماح بالاستمرار وبعد التاكد من عملية التسطيب بدون مشاكل ستظهر النافذة التالية :
*
sql.L2.pic8
*
في هذه النافذة  نختار الخيار الأول و اضغط التالي ( الخيار الثاني متعلق بشيربوينت في حال احتجت إليه )
*
sql.L2.pic9
*
في هذه النافذة يتم تحديد العناصر المراد تثبيتها من SQL Server و هنا يمكنكم اختيار أي عنصر تريدونه و قمت باختيار الكل لأغراض الشرح. ( في نسخة Express معظم هذه العناصر لن يكون متوفراً )
كما يتم اختيار المجلدات التي سيتم تنزيل البرنامج عليها.
*
sql.L2.pic10
*
هنا يتم التأكد من توافق العناصر المراد تثبيتها مع البيئة التي يعمل عليها برنامج التثبيت.
*
sql.L2.pic12
*
هنا يتم تحديد ال Instance المراد تثبيته و هو إما أن يكون Default ( و يكون اسمه عندئذ MSSQLSERVER ) أو أن يتم تحديد الاسم المراد لل Instance , و هذا الخيار يفيد عند الحاجة إلى تثبيت عدة نسخ SQL Server على نفس الجهاز حيث يمكن استخدام ال Default لنسخة واحدة و الباقي يجب أن تكون Named Instances.
في حالة نسخة ال Express فإن الاسم الافتراضي لها سيكون:SQLEXPRESS
*
sql.L2.pic13
*
وهنا فى هذة النافذة يعمل البرنامج على التاكد من وجود مساحه كافية على الهارد ديسك ام لا؟
*
sql.L2.pic14
*
وعند ظهور هذه الشاشه علينا أن تنوقف قليلا ونفهم ماذا تحتوى هذه الشاشه :-
.
تحتوى الشاشه على بعض المصطلحات فعلينا ان نعرف هذة المصطلحات وهى كالتالى:-
.
SQL Server يعمل باستخدام عدة خدمات Services كل لها وظيفتها:
.
SQL Server Database Engine هي الخدمة الرئيسية و التي تعتبر محرك قاعدة البيانات
SQL Server Agent هي الخدمة المستخدمة لجدولة المهام في SQL Server
SQL Server Analysis Services تفيد في مهام تحليل البيانات OLAP
SQL Server Reporting Services تفيد لاستخدام التقارير
SQL Server Integration Services تفيد في مهام “تحويل” البيانات بين أشكال مختلفة.
Full Text تستخدم في عمليات البحث ضمن النصوص
SQL Server Browser تفيد في حالة استخدام Named Instances
.
هنا يجب تحديد الحساب الذي ستعملمن خلاله هذة الخدمة  او الموصى به هو استخدام اسم مستخدم موجود على شبكة الدومين بصلاحيات عادية و لكن لأغراض التجارب يمكن استخدام Local System و هو يعني المدير على النظام.
اضغط على الزر  use the same account for all SQL Server Services
*
sql.L2.pic15
*
اختر NT Authority\System ثم موافق
اضغط  Collation Tab
*
sql.L2.pic16
*
هذه الصفحة تحدد ال Collation و هو يفيد في وصف طريقة ترتيب الرموز لكل لغة و التشفير الذي سيستخدم لتخزين البيانات التي لا تستخدم Unicode.
*
sql.L2.pic17
*
هنا يتم تحديد طريقة الولوج إلى قاعدة البيانات باستخدام الطريقتين التاليتين:
.
Windows Authentication Mode  حيث يتم التثبت من الهوية باستخدام مستخدم ويندوز نفسه و هي تمتاز بعدم الحاجة إلى إدخال كلمة المرور بل يتم الاعتماد على ويندوز في التثبت من ذلك.
Mixed Mode و يتم استخدام الطريقة الأولى بالاضافة إلى الطريقة التقليدية باستخدام اسم المستخدم/كلمة المرور و اسم المستخدم الافتراضي الذي يستخدمه SQL Server و لها صلاحيات المدير هو:  System Administrator
.
إذا تم اختيار Mixed Mode فيجب تحديد كلمة المرور الخاصة به.
في الأسفل يجب تحديد اسم مستخدم ويندوز على الأقل له صلاحيات المدير.
*
sql.L2.pic18
*
هنا يتم تحديد اسم مستخدم ويندوز لتكون له صلاحية المدير على خدمة الSQL Server Analysis Services
*
sql.L2.pic19
*
هنا يتم تحديد اعدادات SQL Server Reporting Services و سنتركها حالياً على الاعدادات الافتراضية.
*
sql.L2.pic20
*
هنا يمكن تفعيل الخيار الموجود من أجل مساعدة ميكروسوفت و ذلك عن طريق ارسال رسائل الخطأ
*
sql.L2.pic21
*
هنا يتم التأكد أخيراً أن كل الأمور على مايرام قبل البدء بعملية التثبيت.
*
sql.L2.pic22
*
ثم يتم عرض كل التفاصيل التي تم اختيارها في الصفحات السابقة كتأكيد أخير قبل البدء.ثم اضغط Install لتبدأ عملية التثبيت.
وعند الانتهاء من عملية الثبيت تظهر نافذة توضح نجاح العملية إذا حدثت بعض المشاكل فسيتم ذكر ذلك و يمكن الضغط على اللينك الموجود في الصفحة لمعرفة تفاصيل الخطأ
*
sql.L2.pic23
 *
وبعد ذلك نذهب الى قائمة start نقوم بفتح البرنامج كما يلي:
*
sql.L2.pic24
 *
sql.L2.pic24
 *
وبعد الضغط على زر connect تظهر الشاشه الرئيسية كما بالشكل
*
sql.L2.pic25
*
وبهذا نكون انهينا عملية تسطيب البرنامج وفى الدرس القادم نبدا سويا كيفية التعامل مع هذا البرنامج .

 

*
*
اليوم نبدأ سلسلة تعلم لغه الSQL من الصفر إلى الاحتراف، وقبل البدء والتعمق في هذة اللغة فعلينا ’ن نجيب بعض الأسئلة لكي نبدأ بفهم هذه اللغة  ..
*
فما هي الـ SQL ؟
.
أولا: هي اختصار لكلمة Structured Query Language
ثانيا: هي لغة غير إجرائية  أي لا يوجد بها If , Select  case , Loop , for Next
ثالثا :  SQL لغة قياسية  ANS
 *
ماذا يعني أن لغة SQL هي لغة قياسية ANSI ؟
 .
ANSI هي اختصار لـ (American National Standards Institute) ، اعتمد هذا المعهد لغة الـSQL لجعلها قياسية في التعامل مع جميع قواعد البيانات .

*

رابعا : نقوم عن طريق هذه اللغة بتحديد العمليات التي نريد أن ننفذها علي قواعد البيانات و تتولي DBMS تنفيذ هذه العمليات.
*
ماهى DBMS  ؟
.
هى اختصار ل    Data Base Management system  اى نظم ادارة قواعد البيانات وبقصد بها البرامج التى تستطيع التعامل مع قواعد البيانات مثل    MS Access, MS SQL Server, DB2, Informix, Oracle, Sybase, MySQL, PostgerSQL
 *
ما الذي سوف استفيده من تعلم SQL   ؟
.
إدارة قواعد بياناتك بصورة أفضل , أقوى  و بشكل احترافي.
*
 قواعد لغه SQL :
.
1-SQL   لا تفرق بین الحروف الكبیرة والصغیرة
SQL-2 لا تهتم بالمسافات البیضاء
*
و إن كان أطلق علي هذه التقنية ( لغة ) باستخدام اللفظ المفرد إلا إنها تتضمن داخلها لغتان لكل منها وظائف محددة تقوم بها تختتلف عن الأخرى تماما.
اذا ذكرت قواعد البيانات  انصرف الذهن مباشرة إلي الجداول   إذ أن الجداول هي الكائن الأول و الرئيسي في قواعد البيانات  ثم تليه باقي الكائنات المكونة لهيكل قواعد البيانات.
.
إذا نظرنا إلى قواعد البيانات   نجد أنها تتكون من جزئين  رئيسين :
.
(1)  هيكل قاعدة البيانات Structure : و هي مجموعة الكائنات المكون للقاعدة مثل الجداول و الإستعلامات.
(2)  البيانات Data التي يتعامل معها المستخدم بالاضافة و الحذف و التعديل.
*
والآن نذهب إلى معرفة جزئي لغة الإستعلام و هما :
.

 1-لغة معالجة البيانات (DML)  Data Manipulation Language

 .
يقصد بـ ” توصيف ” البيانات تعريف هيكل قاعدة البيانات Structure التي سوف يتم تصميمها  أي أن هذه اللغة مسئولة عن إنشاء و حذف و تعديل قواعد البيانات و كائناتها مثل الجداول و الإستعلامات.

.

 و العلاقات و الفهارس داخل الجدول و تحديد الصلاحيات لمستخدمي قواعد البيانات يستخدم لذلك مجموعة أوامر منها ( CREATE , DROP, ALTER , GRANT ) .
.
2-لغة تعريف البيانات (DDL ) Data Definition Language   
 .

 

 تنقسم هذه اللغة إلي نوعين من الإستعلام و هما :

.

1- استعلامات التحديد   Selection Query
.
2- الإستعلامات الإجرائية Action Query
.
Selection Query : خاص باستخراج البيانات من الجدول حسب الشرط أو الشروط المطلوبة.
.
Action Query    :  خاص بعمليات ( إضافة – حذف – تعديل ) البيانات بالجدول أو الجداول.
.
Selection Query: Select
.
Action Query: Insert – Update – Delete
 .
وبهذه المقدمة السريعة نكون أنهينا الدرس الأول  ونبدأ الدرس القادم فى كيفية التعامل مع لغه Sql عن طريق برنامج MS SQL Server 2008 R2