Thursday, January 2, 2014

اساسيات قواعد البيانات - مفاهيم نظم إدارة قواعد البيانات العلائقية Database Basic SQL - RDBMS Concepts

مفاهيم نظم إدارة  قواعد البيانات العلائقية
 Database Basic SQL - RDBMS Concepts 

ماهي نظم إدارة قواعد البيانات العلائقية ؟

نظم إدارة قواعد البيانات العلائقية عبارة عن برمجيات تستخدم لادارة قواعد البيانات وإجراء كافة العمليات عليها بدء من انشاء قواعد البيانات وكذا إنشاء الجداول والسجلات والتعديل والحذف ومنح وسحب الصلاحيات إلى أخره.توجد العديد من نظم إدارة قواعد البيانات العلائقية من أشهرها نورد التالي:-
  1. نظم إدارة قواعد البيانات العلائقية الخاص باوراكل Oracle
  2. نظم إدارة قواعد البيانات العلائقية الخاص بميكروسوفت سيرفر MSSQL
  3. نظم إدارة قواعد البيانات العلائقية الخاص ب MySQL
  4. نظم إدارة قواعد البيانات العلائقية الخاص ب الاكسس Access
  5. نظم إدارة قواعد البيانات العلائقية الخاص IBM DB2
ان اختصار  نظم إدارة قواعد البيانات العلائقي RDBMS  هو مختصر للجملة الانجليزية  Relational Database Management System وهي تعني نظم إدارة قواعد البيانات العلائقية.

ماهو الجدول Table ؟

البيانات يتم تخزينها في نظم إدارة قواعد البيانات العلائقية في قواعد بيانات وبالتحديد في كائنات الجداول. فالجدول عبارة عن مجموعة متكاملة من البيانات ذات العلاقة وتتكون من أعمدة columns و صفوف rows. ويجب عليك التذكر دوما باالجدول هو ابسط صورة يتم تخزين البيانات فيه في قاعدة البيانات. الجدول التالي هو جدول الزبائن.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

ماهو الحقل field ؟

ايتم تقسيم الجدول الي كينونات صغيرة تسمى بالحقول وهي جمع حقل.وهنا فان الحقول في مثالنا السابق جدول الزبائن يتكون من الحقول التالية.
  1. حقل ID.
  2. حقل NAME.
  3. حقل AGE.
  4. حقل Salary.
  5. حقل ADDRESS.

ماهو السجل Record؟

السجل عبارة عن صف من البيانات وبحيث كل صف يتكون من كل المدخلات الشخصية الموجودة في الجدول ويوجد في مثالنا السابق 7 صفوف أو سجلات.مثال نعرض السجل الاول اوالصف الاول.

+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
+----+----------+-----+-----------+----------+

ماهو العمود Column ؟

العمود هو عبارة عن كينونة عمودية في الجدول  فعلى سبيل  المثال العنوان في مثالتا التالي ال ADDRESS يمثل عمود العنوان  في الجدول.

ماهي القيمة الفارغة NULL؟

القيمة الفارغة في الجدول تظهر كأنها فراغ في قيمة غير مسند اي شيء المسافة والصفر هي قيم غير فارغة فهى تحجز مكان في الذاكرة. 
يمكنك الاطلاع على القيم الفارغة في سي شارب والقيم الفارغة في  بي اتش بي.

ماهي القيود Constraints في ال اس كيو ال SQL؟

القيود هي قواعد تقيد البيانات في الاعمدة التي في الجداول وهي تحد نوع البيانات التي يجب ان تكون داخل الاعمدة.وهي توكد الوثوقية والدقة داخل قواعد البيانات.
يمكن أن تكون القيود على مستوى الجدول او مستوى  العمود.

ماهي أنواع القيود Constraints في ال اس كيو ال SQL؟

  1. قيود القيمة ليست فارغة NOT NULL Constraint. وهي لا تسمح بترك الحقل فارغا بدون قيمة.
  2. قيود القيمة الافتراضية DEFAULT Constraint. وهي تقوم بوضع القيمة الافتراضية للحقول التي لم يضع فيها المستخدم قيم.
  3. قيود القيم المميزة UNIQUE Constraint.وهي لا تسمح بتكرار البيانات داخل الاعمدة.
  4. قيود المفتاح الرئيسي للجدول PRIMARY Key.وهي لا تسمح بتكرار البيانات داخل الاعمدة كما انه يكون مفتاح رئيسي يمكن عمل ربط علاقات مع جداول اخرى بالربط مع المفتاح الاجنبي.
  5. قيود المفتاح الاجنبي FOREIGN Key.المفتاح الاجنبي هو مفتاح رئيسي لجدوال اخر يستخدم في ربط العلاقات.
  6. قيود فحص القيم CHECK Constraint. قيد يفحص قيمة البيانات المدخل للجدولة اذا قابلت الشرط المعطى يتم حفظها مالم يتم رفضها مثل ان لا يزيد العمر عن 130 عام.
  7. قيود الفهرس INDEX. يستخدم الفهرس لاستعادة البيانات بسرعة كبيرة.

تكامل أو سلامة البيانات Data Integrity:


تكامل البيانات يعني سلامتها  وخلوها من الاخطاء ويوجد عدة تصنيفات من تكامل البيانات نوردها.
  1. تكامل أوسلامة  الكينونات Entity Integrity :وتعنى لا توجد سجلات مكررة.
  2. تكامل أو سلامة المجال Domain Integrity: وهي فرض او قيود على شكل ونوع البيانات المدخلة.
  3. تكامل أو سلامة البيانات المرجعية Referential integrity. لايمكن حذف الصفوف بينما تستخدم من قبل سجلات أخرى.
  4. تكامل أو سلامة المعرفة من قبل المستخدم User-Defined Integrity. وهي قيود معرفة من قبل المستخدم لضمان سلامة البيانات المدخلة من قبل المستخدمين وهي بخلاف الثلاثة أنواع السابقة.

المعيارية قواعد البيانات Database Normalization:

ماهي معيارية البيانات:

معيارية البيانات هي عملية تنظيم البيانات بكفاءة داخل قاعدة البيانات.وهناك سببان لعملية المعيارية.

  1. معيارية البيانات تمنع تكرار البيانات في الجدوال الغير ضروري.
  2. معيارية البيانات تؤكد استقلالية البيانات.
ومن خلال هذان الهدفان الرئيسين فان معيارية البيانات تقلل المساحة المستهلكة من قاعدة البيانات وتؤكد على ان البيانات مخزنة بصورة منطقية .المعيارية تتكون من عدة خطوات بحيث تساعدك على انشاء تركيب جيد لقاعدة البيانات.توجد خطوات من تطبيع معيارية البيانات وهي ثلاثة خطوات يمكنك الذهاب للخطوة الرابعة او حتى الخامسة ولكن فان ثلاثة خطوات من تطبيع  معيارية البيانات كافية.

Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
Al alami st
Gaza -jabaliaGaza Strip
Palestine
Marital Status: Single 
DOB: 05/10/1984
3/1/2014

No comments

برمجة متقدمة سي شارب - الفهرسة C# - Indexers

برمجة متقدمة سي شارب - الفهرسة C# - Indexers

ماهي الفهرسة Indexers؟

 الفهارس Indexers تسمح للكائنات لتفهرس مثل المصفوفات. عندما يتم تعريف الفئة (الكلاس) ك  الفهرسة Indexers فانها تسلك سلوك المصفوفات الافتراضية virtual. وعندها يمكن الوصول للفهرس باستخدام مشغل المصفوفة([]).

الصيغة العامة ل الفهرسة Indexers


element-type this[int index] 
{
   // موصل القراءة.
   get 
   {
      // يعود بالقيمة حسب الفهرس المعطى
   }

   // موصل الكتابة.
   set 
   {
      // يتم اسناد القيم حسب الفهرس المعطى
   }
}


استخدام  الفهرسة Indexers

التصريح عن الفهرسة أو المفهرسات يشبه التصريح عن الخصائص بخاصتين القراءة والكتابة get,set.ولكن الخصائص تعيد وتكتب للمتغيرات بينما المفهرسات فأنها تعيد مجموعة قيم من مثيلات الكائن . بمعنى انها يجزء الكائن لعدة مجموعات بيانات صغير ويفهرس كل مجموعة.
يتم تعريف الخصائص عن طريق تسميتها. بينما المفهرسات يتم عن طريق الكلمة المحجوزة this.

مثال المفهرسات أو  الفهرسة Indexers

using System;
namespace IndexerApplication
{
   class IndexedNames
   {
      private string[] namelist = new string[size];
      static public int size = 10;
      public IndexedNames()
      {
         for (int i = 0; i < size; i++)
         namelist[i] = "N. A.";
      }
      public string this[int index]
      {
         get
         {
            string tmp;

            if( index >= 0 && index <= size-1 )
            {
               tmp = namelist[index];
            }
            else
            {
               tmp = "";
            }

            return ( tmp );
         }
         set
         {
            if( index >= 0 && index <= size-1 )
            {
               namelist[index] = value;
            }
         }
      }

      static void Main(string[] args)
      {
         IndexedNames names = new IndexedNames();
         names[0] = "Zara";
         names[1] = "Riz";
         names[2] = "Nuha";
         names[3] = "Asif";
         names[4] = "Davinder";
         names[5] = "Sunil";
         names[6] = "Rubic";
         for ( int i = 0; i < IndexedNames.size; i++ )
         {
            Console.WriteLine(names[i]);
         }
         Console.ReadKey();
      }
   }
}

ناتج المثال المفهرسات أو  الفهرسة Indexers

Zara
Riz
Nuha
Asif
Davinder
Sunil
Rubic
N. A.
N. A.
N. A.


الحمل الزائد OverLoad المفهرسات أو  الفهرسة Indexers

يمكن  ان يمرر للمفهرسات العديد من الباراميترات بحيث يتم استدعاء المفهرسة حسب الباراميترات الممررة لها.

مثال الحمل الزائد overload  المفهرسات أو  الفهرسة Indexers


using System;
namespace IndexerApplication
{
   class IndexedNames
   {
      private string[] namelist = new string[size];
      static public int size = 10;
      public IndexedNames()
      {
         for (int i = 0; i < size; i++)
         {
          namelist[i] = "N. A.";
         }
      }
      public string this[int index]
      {
         get
         {
            string tmp;

            if( index >= 0 && index <= size-1 )
            {
               tmp = namelist[index];
            }
            else
            {
               tmp = "";
            }

            return ( tmp );
         }
         set
         {
            if( index >= 0 && index <= size-1 )
            {
               namelist[index] = value;
            }
         }
      }
      public int this[string name]
      {
         get
         {
            int index = 0;
            while(index < size)
            {
               if (namelist[index] == name)
               {
                return index;
               }
               index++;
            }
            return index;
         }

      }

      static void Main(string[] args)
      {
         IndexedNames names = new IndexedNames();
         names[0] = "Zara";
         names[1] = "Riz";
         names[2] = "Nuha";
         names[3] = "Asif";
         names[4] = "Davinder";
         names[5] = "Sunil";
         names[6] = "Rubic";
         //using the first indexer with int parameter
         for (int i = 0; i < IndexedNames.size; i++)
         {
            Console.WriteLine(names[i]);
         }
         //using the second indexer with the string parameter
         Console.WriteLine(names["Nuha"]);
         Console.ReadKey();
      }
   }
}

ناتج الحمل الزائد overload  المفهرسات أو  الفهرسة Indexers


Zara
Riz
Nuha
Asif
Davinder
Sunil
Rubic
N. A.
N. A.
N. A.
2






Ahmed Ata Almahallawi
 Freelancer
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
2/1/2014

No comments

Wednesday, January 1, 2014

اساسيات قواعد البيانات نظرة عامة على قواعد البيانات Database Basic SQL Overview

اساسيات قواعد البيانات نظرة عامة على قواعد البيانات  Database Basic SQL Overview

ماهي لغة الاستعلام البنيوية أو التركيبية SQL ؟

لغة ال SQL (اس كيو ال) هي اختصار ل Structured Query Language وتعني لغة الاستعلام التركيبية أو البنيوية .فهذا اختصار ل SQL فهي لغة حاسوبية لتخزين ومعالجة البيانات المخزنة في قواعد البيانات العلائقية.

فال SQL هي لغة مقياسية أي موحدة من قبل أنظمة إدارة قواعد البيانات العلائقية.فال SQL في الاوركل Oracle هي نقس SQL التي في MSSQL وهي نفس SQL في الاكسس  وهي نفس SQL في MySQL وفي أي نظام إدارة قواعد البيانات أخرى. فالتعليمات موحدة وكلها موحدة حسب مقياس المعهد الامريكي القومي للمقاييس ANSI.

ماهي الفائدة من استخدام  SQL؟

  1. تسمح ال SQL للمستخدمين للوصول للبيانات عبر أنظمة إدارة قواعد البيانات.
  2. تسمح ال SQL للمستخدمين بوصف البيانات.
  3. تسمح ال SQL بتعريف البيانات ومعالجتها.
  4. يمكن تضمين ال SQL مع أي لغة برمجية باستخدام المكتبات والمديولات.
  5. تسمح ال SQL للمستخدم بانشاء وحذف قواعد البيانات وكذلك الجداول.
  6. تسمح ال SQL بعرض الاجراءات والدوال المخزنة في قواعد البيانات.
  7. تسمح ال SQL للمستخدم بوضع القيود والاذونات على الجداول والعرض View.

كيف يتم معالجة SQL؟

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

اساسيات قواعد البيانات نظرة عامة على قواعد البيانات  Database Basic SQL Overview
معمارية SQL.

أوامر SQL.

توجد العديد من أوامر SQL.سنورد الأوامر ال SQL  المقياسية المعتمدة  وهي .
CREATE, SELECT, INSERT, UPDATE, DELETE ,DROP
وهذه الاوامر يمكن أن تصنف الي الاقسام التالية. 

DDL - Data Definition Language:

وهي الاوامر التي تستخدم من أجل تعريف البنية مثل انشاء أو تعديل أوحذف الجداول او الكائنات الاخرى مثل القوادح والدوال الى أخره
الامرالوصف
CREATEانشاء الجداول او الكائنات الاخرى مثل القوادح والدوال الى أخره
ALTERتعديل الجداول او الكائنات الاخرى مثل القوادح والدوال الى أخره
DROPحذف الجداول او الكائنات الاخرى مثل القوادح والدوال الى أخره

DML - Data Manipulation Language:

وهي أوامر تستخدم لمعالجة البيانات في قواعد البيانات.
الامرالوصف
INSERTانشاء سجل
UPDATEتعديل سجل
DELETEحذف سجل


DCL - Data Control Language:

وهي أوامر للتحكم في الصلاحيات على الجداول أو قواعد البيانات.
الامرالوصف
GRANTمنح صلاحية للمستخدم
REVOKEسحب صلاحية من مستخدم منحت له صلاحية مسبقة


DQL - Data Query Language:

وهي أوامر للاستعلام من الجداول
الامرالوصف
SELECTارجاع سجل او أكثر من جدول او عدة جداول

Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
Gaza -jabaliaGaza Strip
Palestine
Marital Status: Single 
DOB: 05/10/1984
1/1/2014
No comments