Saturday, January 25, 2014

أساسيات قواعد البيانات أنواع البيانات SQL - Data Types

أساسيات قواعد البيانات أنواع البيانات

 SQL - Data Types

أنواع البيانات في قواعد البيانات

توجد العديدة من أنواع البيانات التي تتعامل معها SQL اس كيو ال وهذه أنواع البيانات هي التي تحفظ داخل الاعمدة في الجدوال فهي تحدد نوع البيانات الذي يجب أن يحتفظ فيها العمود

توجد ستة اصناف من أنواع البيانات.

  1. نوع بيانات من النوع الرقمي

نوع البيانات الرقميمنالى
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
smallint-32,76832,767
tinyint0255
bit01
decimal-10^38 +110^38 -1
numeric-10^38 +110^38 -1
money-922,337,203,685,477.5808+922,337,203,685,477.5807
smallmoney-214,748.3648+214,748.3647

نوع بيانات رقمي كسري

نوع البياناتمنالى
float-1.79E + 3081.79E + 308
real-3.40E + 383.40E + 38

نوع بيانات من نوع التاريخ

نوع بياناتمنالى
datetimeJan 1, 1753Dec 31, 9999
smalldatetimeJan 1, 1900Jun 6, 2079
dateStores a date like June 30, 1991
timeStores a time of day like 12:30 P.M.

نوع بيانات حرفي

نوع البياناتمنالى
charchar 8000 الاف حرف من نوع يونكودثابت
varcharvarchar8000 حرف متغير
varchar(max)varchar(max)231 حرف متغير يونكود
texttext2,147,483,647 عدد الحروف.

نوع بيانات نصي من نوع يونكود

نوع البياناتالوصف
nchar4,000  حرف ثابت
nvarchar4,000  حرف ولكن متغير
nvarchar(max)231 حرف يونكود
ntext 1,073,741,823 حرف يونكود

نوع بيانات ثنائي

نوع البياناتالوصف
binary 8,000 bytes بايت ثابت الحجم
varbinary 8,000 bytes.  بايث متغير الحجم
varbinary(max)231 bytes ( بايث
image 2,147,483,647 bytes. بايت متغير الحجم

أنواع مختلفة انواع البيانات

نوع البياناتالوصف
sql_variantتخزن اي نوع ماعدا
 text, ntext,  timestamp.
timestampتخزن الوقت والتاريخ بصيغة رقمية مميزة بحيث في كل مرة يتم تحديث فيه الصف
uniqueidentifierتخزن رقم تعريف مميز
 (GUID)
xmlتخزن ملف بيانات تشعبي من نوع
 xml
cursorمرجع  الموشر للكائن
tableتخزن نتائج الكتابة ليتم معالجتها لاحقا

Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
22/1/2014
No comments

Thursday, January 23, 2014

برمجة متقدمة سي شارب مصفوفة البت الثنائي C# - BitArray Class

 مصفوفة البت الثنائي C# - BitArray Class

مصفوفة البت الثنائية 

كلاس مصفوفة البت الثنائية تعالج محموعة من قيم من البت فهي تمثل قيمة منطقية أما 1 وتعني صحيح أو 0 وتعني خطأ.
 تستخدم مصفوفة البت عندما تريد تخزين عدد من البتات ولا تعرف العدد بالتحديد ويمكنك الوصول لعناصر  مصفوفة البت عن طريق الفهرس ويبدا الفهرس من 0 .

دول وخصائص مصفوفة البت الثنائية

خصائص مصفوفة البت الثنائية

خاصية مصفوفة البتاسم لوصف خاصية مصفوفة البت
Countتقراء عدد العناصر التي تحتويها مصفوفة البت
IsReadOnlyتقراء القيمة التي تسير اذا ماكانت مصفوفة البت الثنائية للقراءة فقط
Itemتقراء اوتكتب قيمة البت المحدد موقعه في مصفوفة البت الثنائية
Lengthتقراء اوتكتب طول مصفوفة البت الثنائية

دوال مصفوفة البت الثنائية

التسلسل وصف دوال مصفوفة البت الثنائية
1public BitArray And( BitArray value ); تقوم بتطبيق معامل
 bitwise AND
على العنصر الحالي في مصفوفةالبت
2public bool Get( int index ); تقوم بقراءة قيمة البت المحدد موقعه في مصفوفةالبت الثنائية
3public BitArray Not();تقوم بعكس قيم عناصر المصفوفة البت
4public BitArray Or( BitArray value ); تقوم بتطبيق معامل
 bitwise or
على العنصر الحالي في مصفوفةالبت  
5public void Set( int index, bool value ); كتابة البت في الموقع المحدد بالقيمة المحددة
6public void SetAll( bool value ); تقوم بكتابة مجموعة من البتات الى القيمة المحددة
7public BitArray Xor( BitArray value ); تقوم بتطبيق معامل
 bitwise eXclusive OR
على العنصر الحالي في مصفوفةالبت  

مثال على مصفوفة البت

using System;
using System.Collections;

namespace CollectionsApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            //creating two  bit arrays of size 8
            BitArray ba1 = new BitArray(8);
            BitArray ba2 = new BitArray(8);
            byte[] a = { 60 };
            byte[] b = { 13 };
            
            //storing the values 60, and 13 into the bit arrays
            ba1 = new BitArray(a);
            ba2 = new BitArray(b);

            //content of ba1
            Console.WriteLine("Bit array ba1: 60");
            for (int i = 0; i < ba1.Count; i++)
            {
                Console.Write("{0, -6} ", ba1[i]);
            }
            Console.WriteLine();
            
            //content of ba2
            Console.WriteLine("Bit array ba2: 13");
            for (int i = 0; i < ba2.Count; i++)
            {
                Console.Write("{0, -6} ", ba2[i]);
            }
            Console.WriteLine();
           
            
            BitArray ba3 = new BitArray(8);
            ba3 = ba1.And(ba2);

            //content of ba3
            Console.WriteLine("Bit array ba3 after AND operation: 12");
            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();

            ba3 = ba1.Or(ba2);
            //content of ba3
            Console.WriteLine("Bit array ba3 after OR operation: 61");
            for (int i = 0; i < ba3.Count; i++)
            {
                Console.Write("{0, -6} ", ba3[i]);
            }
            Console.WriteLine();
            
            Console.ReadKey();
        }
    }
}

ناتج مثال مصفوفة البت الثنائية

Bit array ba1: 60 
False False True True True True False False 
Bit array ba2: 13
True False True True False False False False 
Bit array ba3 after AND operation: 12
False False True True False False False False 
Bit array ba3 after OR operation: 61
True False True True False False False False 


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

No comments

Wednesday, January 22, 2014

برمجة متقدمة سي شارب الطابور الطوابير C# - Queue Class

الطابور الطوابير  C# - Queue Class

الطابور الطوابير

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

دوال والخصائص المستخدمة في الطوابير الطابور

الخاصيةوصف  خاصية الطوابير الطابور
Countقراءة عدد العناصر التي يحتويها الطابور او الطوابير

دوال المستخدمة في الطوابير او الطابور

التسلسلدوال الطوابير الطابور
1public virtual void Clear(); ازالة كل العناصر من الطابور
2public virtual bool Contains( object obj ); تحدد على العنصر يوجد في الطابور
3public virtual object Dequeue();ازالة وارجاع العنصر من بداية الطابور
4public virtual void Enqueue( object obj ); اضافة عنصر الى نهاية الطابور
5public virtual object[] ToArray();نسخ عناصر الطابور الى المصفوفة 
6public virtual void TrimToSize();كتابة سعة العناصر الفعلية في الطابور

مثال على الطابور الطوابير

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         Queue q = new Queue();

         q.Enqueue('A');
         q.Enqueue('M');
         q.Enqueue('G');
         q.Enqueue('W');
         
         Console.WriteLine("Current queue: ");
         foreach (char c in q)
            Console.Write(c + " ");
         Console.WriteLine();
         q.Enqueue('V');
         q.Enqueue('H');
         Console.WriteLine("Current queue: ");         
         foreach (char c in q)
            Console.Write(c + " ");
         Console.WriteLine();
         Console.WriteLine("Removing some values ");
         char ch = (char)q.Dequeue();
         Console.WriteLine("The removed value: {0}", ch);
         ch = (char)q.Dequeue();
         Console.WriteLine("The removed value: {0}", ch);
         Console.ReadKey();
      }
   }
}

ناتج مثال الطابور الطوابير

Current queue: 
A M G W 
Current queue: 
A M G W V H 
Removing values
The removed value: A
The removed value: M


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

No comments

Tuesday, January 21, 2014

برمجة متقدمة سي شارب المكدس المكدسات C# - Stack Class

سي شارب  المكدس المكدسات C# - Stack Class

المكدس أو المكدسات

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

خصائص ودوال المكدس

خاصية المكدسوصف لخصائص المكدس
Countتقوم بقراءة عدد العناصر التي يحتويها المكدس

دوال المكدس

التشلسلوصف دوال المكدس والاستخدام
1public virtual void Clear(); ازالة كل العناصر من المكدس
2public virtual bool Contains( object obj ); تحديد إذا ماكان العنصر في المكدس
3public virtual object Peek();تعيد قيمة العنصر الموجود في أعلى المكدس بدون حذف
4public virtual object Pop();تعيد قيمة العنصر الموجود في أعلى المكدس مع ازالته من المكدس
5public virtual void Push( object obj );اضافة عنصر الى اعلى المكدس
6public virtual object[] ToArray();نسخ المكدس الى مصفوفة

مثال المكدس

using System;
using System.Collections;

namespace CollectionsApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Stack st = new Stack();

            st.Push('A');
            st.Push('M');
            st.Push('G');
            st.Push('W');
            
            Console.WriteLine("Current stack: ");
            foreach (char c in st)
            {
                Console.Write(c + " ");
            }
            Console.WriteLine();
            
            st.Push('V');
            st.Push('H');
            Console.WriteLine("The next poppable value in stack: {0}", 
            st.Peek());
            Console.WriteLine("Current stack: ");           
            foreach (char c in st)
            {
               Console.Write(c + " ");
            }
            Console.WriteLine();

            Console.WriteLine("Removing values ");
            st.Pop();
            st.Pop();
            st.Pop();
            
            Console.WriteLine("Current stack: ");
            foreach (char c in st)
            {
               Console.Write(c + " "); 
            }
        }
    }
}

ناتج مثال المكدس

Current stack: 
W G M A
The next poppable value in stack: H
Current stack: 
H V W G M A
Removing values
Current stack: 
G M A





Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
21/1/2014
No comments