• 1
ihamza

أنواع البيانات فى SQL Server2005

سؤال

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

أنواع البيانات فى SQL Server2005

1-Int
وهى اختصار Integer والأرقم الصحيحة الممتدة من من 2^31- إلى 2^31-1 بمعنى أنه أحد الأرقام المحصورة بين (-2147483648 إلى 2147483647)
2-BigInt
إذا نظرنا إلى هذة الكلمة فسوف نجد أنها مكونة من جزئين وهما Big وتعنى كبير و Int وهى اختصار Integer و هو العدد الصحيح سواء كان سالبا أو كان موجبا إذن BigInt عدد صحيح كبير ولكن هو كبير لأى درجة ؟
هو عدد صحيح ممتد من 2^63- إلى 2^63-1 وبعبارة أخرى الأرقام المحصورة بين (-9223372036854775808 إلى 9223372036854775807)
وهذا الرقم الذى هو BigInt هو أقصى رقم يمكن التعامل معة داخل قاعدة البيانات وينصح فقط باستخدامة إذا كانت الأرقام التى تستخدمها تزيد على 2 مليار
3-Smallint
وهى small صغير وint و هى الأرقام فى المدى من 2^15- إلى 2^15-1 وبعبارة أخرى الأرقام المحصورة بين (-32768 إلى32767)
4-tinyint
و tiny تعنى صغير جدا وint و هى الأرقام فى المدى من (0 إلى255)
5-Binary
هو النظام الثنائى والمقصود بة هنا نظام العدد الثنائى الذى هو 0و1 ولكن فى الفترة الأخيرة تضائل استخدام Binary إلى درجة كبيرة وهو يستخدم عادة لتخزين ملفات الصيغ مثل Pdf أو doc و ملفات الصور وخلاف ذلك ولكن تخزين مثل هذة الأشياء غير مستحب داخل قاعدة البيانات لعدد من الأسباب منها الحجم الكبير الذى يستهلكة والبطء الذى يحدثة داخل وأسباب ومشاكل أخرى تحدث للعناصر المخزنة وكذلك لقاعدة البيانات لذلك عندما قمت بشرح مثال Currency Manager لم أقم بتخزين الصورة داخل قاعدة البيانات ولكننى قمت فقط بتخزين مسار الصورة لتلافى حدوث هذة التعقيدات لأنة إذا كان محتما علينا أننا سنقوم بتخزين الصورة فلماذا نقوم بتخزينها داخل قاعدة البيانات بالذات ونقوم بإجهادها طالما أننا نستطيع تخزينها فى مكان اخر خارج قاعدة البيانات وما ينطبق على Binary ينطبق على الأنواع التالية:
6-Image
7-Varbinary
8- (Varbinary(Max
9-Bit
ويعتبر أحد أنواع Binary ولكن هو Bit يعنى 0 أو 1 يعنى إما هذا أو ذاك قيمة واحدة فقط وهو مناسب جدا للقيم التى هى من نوع Yes/No التى هى Boolean وقد تكلمنا عنها سابقا ولكنها تحتاج لتعريف من قبل من مصمم قاعدة البيانات كأن يقوم بوضع
Yes=1 و No=0 ويمكن بنفس الطريقة استخدامة فى التنقل بين شىء مزدوج الخواص مثل On/Off أو +/- وما شابهها ولكنها تحتاج لتعريف هذا الأمر
-Char
وهى اختصار Character وتختصر إلى Char وتنطق شار و المقصود بها نص محدود الطول بمعنى أننا يجب وضع حد أقصى للحروف التى يتم كتابتها من خلال نوع Char وأنواعة هى
10-(char(x
و X هذة عدد الأحرف و إذا وضعنا X=10 فإننا يجب وضع عشرة أحرف إجباريا فماذا لو قمنا بكتابة 3 أحرف فقط فإنة يتم كتابة السبعة أحرف المتبقية فى صورة فراغات أى أن القيمة تصبح إجبارية 10 أحرف
11-(Varchar(x
وهو أكثرها شيوعا واستخداما فى قواعد البيانات و X هى عدد الأحرف وأقصى طول يسمح بة 1024 حرف ويختلف عن (Char(x فى أنة لا يشترط اتمام الرقم X إلى نهايتة بمعنى أنة لو كان هناك (char(10 فلا بد من وضع العشرة حروف فإذا لم تضعها فإنة سيقوم بإكمالها فى صورة فراغات ولكن لو كان هناك مثلا (varchar(50 فإنة لن يقوم بإكمال ذلك ولكنك فى الحقيقة لن تستطيع كتابة سوى 48 حرف فقط والسبب فى ذلك هو أن SQL server يقوم باستخدام 2 بايت bytes2 من الحجم ويستخدمها لتخزين طول النص
12-(Varchar(max
ويسمح بإضافة نص طويل جدا يصل طولة إلى( 2^31-1) حرف يعنى 2147483647 حرف تماما مما يعنى أنة سيستوعب حوالى 2.147.483.647 بايت أى ما يعادل 2 جيجا وهذا النوع من البيانات قد حل مكان Text فى SQL Server 2005 و Text موجودة أيضا فى خيارات أنواع البيانات ولكن لاخر مرة ولن تظهر فى SQL Server 2008
يوجد هناك نوع اخر من البيانات باعتقادى أننا لن نستخدمة كثيرا وهو National Character وهى لمن يستخدمون حروف لغات non-Unicode و الجدير بالذكر أنها تستخدم 2 بايت لكل حرف وهى:
13-(nchar(x
14-(nvarchar(x
15-ntext
ومثلها مثل text لن تظهر فى SQL Server بعد الان
16-(nvarchar(max
17-Datetime
و تسمح بالتعامل مع الفترة الزمنية الممتدة من يوم 1 يناير عام 1753 حتى يوم 31 ديسمبر عام 9999 وهى تعطى الزمن بدقة و معدل الخطاء قد يصل إلى 3.35 ميللى ثانية لذلك فإن يفضل وضعها فى وضع تزامن لتصحيح الفارق الزمنى
18- Smalldatetime
وتصلح للزمن مقدرا بالدقائق فى الفترة من ا يناير 1900 حتى 6 يونيو عام 2079
19- Timestamp
وهو زمن غير تلقائى ولا يرتبط بالنوعين السابقين من الأزمنة و هو يصلح للأزمنة الغير دورية وأبرز مثال يمكن ضربة على هذا النوع هو التأقيت Watching
20-(Decimal(P,S
و Decimal تعنى رقم يمكن أن يكون رقم عشرى ولكن ما معنى (P,S)
P=Percision و هو عدد الأرقام التى على اليسار من العلامة العشرية مثلا إذا كنت P=5 فإنة يمكن وضع خمسة أرقام مثل 9999
S=Scale وهو الرقم الذى على يمين العلامة العشرية
لتوضيح ذلك
(Decimal(5,2 يمكن أن يكون رقما بهذة الصورة 44.20 أو 45898.29 .....الخ
وهى فى الوضع الإفتراضى فى SQL Server موجودة بالصورة التالية(Decimal(18,0
21-(Nuemric(P,S
هى نفسها (Decimal(P,S
22-Money
وهو يستخدم لتخزين القيمة فى صورة (Decimal(16,4 والغرض من تخصيصها هو العملة أو النقدية والقيمة قد تكون موجبة أو سالبة ومحصورة بين (-9.22 تريليون و 9.22 تريليون)
23-Smallmoney
وينحصر مابين -215000 و 215000 مائتان وخمسة عشر ألفا لاغير
24- sql_variant
ونادرا ما تستخدم وهى تشبة varchar
25- uniqueidentifier
ويصلح لتخزين قيمة ID مثل قيمة Guide التى تعلمنا طريقة إنشأها فى الدرس الثانى من قواعد البيانات وهو كما رأينا فى تكوينة Hexdecimal ويتكون من الأرقام 0 و1 و2 ......9 والحروف a وb وc و d وe وf وهو يتكون من 32 حرف عبارة عن حروف من الحروف الستة المذكورة بالاشتراك مع العشرة ارقام المعروفة كما أنه يصلح ايضا لتخزين Autonumber الذى هو الترقيم التلقائى
26- XML
لتخزين البيانات من النوع XML ويمكنة أن يسع حتى 2 جيجا من البيانات
27- Float and Real
ويستخدمان لتخزين القيم التقريبية.

تم تعديل بواسطه ihamza
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

اكرمك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
On 8/31/2013 at 5:15 PM, KARIMSOFT said:

اكرمك الله

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .