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

مقال يقدم تصور منظم لأنواع البيانات في SQL سيتم تناول أنواع البيانات في Oracle، وMySQL، وMicrosoft SQL Server، وMicrosoft Access...

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

تعتبر أنواع البيانات في SQL من العناصر الأساسية التي تُبنى عليها بنية قواعد البيانات، إذ تحدد طبيعة القيم التي يمكن تخزينها في الأعمدة، وطريقة معالجتها، وحجمها، وسلوكها أثناء العمليات المختلفة مثل المقارنة والحساب والفهرسة. الاختيار غير الدقيق لنوع البيانات لا ينعكس فقط على صحة البيانات، بل يؤثر مباشرة في الأداء، واستهلاك الموارد، وقابلية التوسع والصيانة.

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

نقدم في هذا المقال تصور منظم لأنواع البيانات في SQL، بدءًا بتوضيح مفهومها العام ودورها في تصميم الجداول، ثم الانتقال إلى استعراض الفروقات العملية بين أشهر أنظمة إدارة قواعد البيانات. سيتم تناول أنواع البيانات في Oracle، وMySQL، وMicrosoft SQL Server، وMicrosoft Access، مع التركيز على الخصائص المميزة لكل نظام،  بما يساعد على فهم أعمق عند العمل في بيئات متعددة أو عند ترحيل قواعد البيانات بين الأنظمة المختلفة....

في هذا المقال نتعرف على:



ما هي أنواع بيانات في SQL؟

يشير نوع بيانات في SQL إلى نوع البيانات التي يمكن تخزينها في عمود ضمن جدول في قاعدة البيانات العلائقية. في العمود، يمكن للمستخدم تخزين بيانات رقمية، أو نصية، أو ثنائية (Binary data)، وما إلى ذلك، وذلك بتحديد أنواع البيانات. على سبيل المثال: بيانات عددية (أرقام )، أو بيانات نصية أو أن تكون البيانات عبارة عن التاريخ والوقت (Date and Time) وهكذا.

فعند إنشاء جدول في قاعدة البيانات، لابد من أن نعرف الأعمدة للجدول حيث يُحدد عمود جدول قاعدة البيانات نوع البيانات، بينما تُملأ صفوف الجدول البيانات فيه. و لتعريف عمود الجدول نحتاج إلى تحديد السمتين التاليتين:

  • اسم العمود.
  • نوع بيانات العمود.

مما يعني أن أنواع البيانات في لغة SQL تُعرَّف أثناء إنشاء جدول في قاعدة البيانات. فعند إنشاء جدول بالإضافة إلى اسم العمود يجب تحديد أنوع البيانات لكل عمود وحجمها.

على سبيل المثال، إذا أردت تخزين اسم الطالب في عمود، فمثلاً يكون اسم العمود مثل student_name، ونوع بياناته char (100)، مما يعني أنه يستطيع تخزين نص لا يتجاوز 100حرفًا.

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

وتتوافر في SQL ثلاثة أنواع رئيسية من البيانات ولأي نظام إدارة قواعد بيانات علائقية، وهي :

  • بيانات نصية String.
  • بيانات رقمية Numeric.
  • تاريخ ووقت Date and Time.

يُوفر نوع البيانات إرشاداتٍ للغة SQL لفهم البيانات المتوقعة في كل عمود، وبالتالي يمنع المستخدم من إدخال أي بيانات غير متوقعة أو غير صالحة. على سبيل المثال، إذا أردنا أن يخزن عمودٌ ما قيمًا عددية صحيحة فقط، فيمكننا تحديد نوع بياناته كـ INT. ستُظهر SQL خطأً إذا تم إدخال أي قيمة أخرى غير عدد صحيح في هذا العمود.

تدعم أنظمة إدارة قواعد البيانات العلائقية المختلفة (المزيد عن انواع قواعد البيانات في مقال مقدمة في قواعد البيانات) أنواع بيانات مختلفة لتعريف جداولها. فيما يأتي سنتناول بالتفصيل أنواع بيانات SQL المختلفة المتوفرة في أنظمة قواعد بيانات MySQL وOracle وMS SQL Server وMS Access.



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

أنواع البيانات (Data Types) في Oracle SQL هي حجر الأساس لتصميم أي قاعدة بيانات، حيث تحدد طبيعة المعلومات التي يمكن تخزينها في كل عمود. توفر أوراكل مجموعة واسعة من الأنواع لتناسب النصوص، الأرقام، التواريخ، والملفات الكبيرة.

فيما يلي تصنيف لأهم أنواع البيانات المتوفرة في Oracle:

1. الأنواع النصية (Character Data Types)

تستخدم لتخزين النصوص، الأسماء، والرموز.

  • CHAR(size): يُستخدم للنصوص ثابتة الطول ( طول مُحدد مسبقًا). إذا قمت بتخزين نص أصغر من الحجم المحدد، سيقوم أوراكل بإضافة مسافات فارغة لتكملة الطول.حيث يمكن تخزين ما يصل إلى 2000 بايت
  • VARCHAR(SIZE) و VARCHAR2(size): النوع الأكثر شيوعاً، يُستخدم لتخزين النصوص متغيرة الطول. الحد الأقصى له هو 4000 بايت (أو 32,767 بايت في النسخ الحديثة إذا تم تفعيل خاصية الـ Extended).
  • NVARCHAR2 و NCHAR: تُستخدم لتخزين النصوص التي تعتمد على ترميز Unicode، وهي مثالية لدعم اللغات المتعددة بشكل دولي.

2. الأنواع الرقمية (Number Data Types)

تستخدم لتخزين الأعداد الصحيحة والكسرية.

  • NUMBER(p, s): النوع الشامل للأرقام ويحتوي على الدقة p والمقياس s.
    • p (Precision): تتراوح الدقة p من 1 إلى 38.
    • s (Scale): عدد الأرقام بعد الفاصلة العشرية ويتراوح المقياس s من -84 إلى 127.
  • FLOAT: نوع فرعي من NUMBER يُستخدم للأرقام ذات الفاصلة العائمة التي تتطلب دقة متغيرة (. تتراوح الدقة p من 1 إلى 126).
  • BINARY_FLOAT: يُستخدم للدقة الثنائية (32 بت). يتطلب 5 بايت، بما في ذلك بايت الطول.
  • BINARY_DOUBLE: يُستخدم للدقة الثنائية المزدوجة (64 بت). يتطلب 9 بايت، بما في ذلك بايت الطول.

3. أنواع التاريخ والوقت (Datetime Data Types)

تُستخدم لتخزين المواعيد واللحظات الزمنية.

  • DATE: يخزن التاريخ والوقت (بالثانية). يشمل اليوم، الشهر، السنة، الساعة، الدقيقة، والثانية.
  • TIMESTAMP: مشابه لـ DATE ولكنه أكثر دقة، حيث يمكنه تخزين أجزاء من الثانية (كسور الثواني).
  • TIMESTAMP WITH TIME ZONE: يخزن الوقت مع مراعاة المنطقة الزمنية، وهو مهم جداً في التطبيقات العالمية.

4. الأنواع الكبيرة (LOB - Large Objects)

تُستخدم لتخزين البيانات الضخمة التي لا يمكن وضعها في الأنواع العادية (مثل الصور أو المقالات الطويلة).

  • CLOB (Character Large Object): لتخزين النصوص الضخمة (مثل محتوى كتاب)، أي لبيانات الأحرف أحادية البايت. يصل حجمه إلى 4GB.
  • BLOB (Binary Large Object): لتخزين البيانات الثنائية (غير المهيكلة) مثل الصور، الفيديو، والملفات الصوتية، يصل حجمه إلى 4GB.
  • BFILE: لتخزين ملفات ثنائية توجد خارج قاعدة البيانات (في نظام ملفات التشغيل)، يصل حجمه إلى 4GB.
  • NCLOB : يُستخدم نوع البيانات NCLOB لتحديد بيانات النصوص التي تعتمد على ترميز (NCHAR) Unicode أحادية البايت أو متعددة البايت ذات الطول الثابت، يصل حجمه إلى 4GB.

5. أنواع أخرى مهمة

  • LONG: نوع قديم لتخزين النصوص الطويلة (يُنصح باستخدام CLOB بدلاً منه الآن).
  • RAW: لتخزين البيانات الثنائية الصغيرة (حتى 2000 بايت).أي البيانات الثنائية الخام ذات الطول المتغير يصل حجمه إلى 2000 بايت لكل صف، يجب تحديد الحد الأقصى لحجمه.
  • ROWID: معرف فريد لكل سجل في قاعدة البيانات، يمثل العنوان الفيزيائي للسجل على القرص.
  • LONG RAW: يُستخدم نوع البيانات LONG RAW لتحديد البيانات الثنائية الخام (0,1) ذات الطول المتغير. يصل حجمه إلى 2GB لكل صف.

توفر Oracle مجموعة غنية ودقيقة من أنواع بيانات SQL تُمكّن من التعامل مع البيانات النصية والرقمية والزمنية والمعقدة بكفاءة عالية. فهم خصائص هذه الأنواع وحدودها يُعد عاملًا حاسمًا في تصميم الجداول بشكل صحيح، وتحقيق أفضل أداء ممكن، خاصة في الأنظمة الكبيرة التي تتطلب موثوقية ودقة عالية في إدارة البيانات.



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

في قاعدة بيانات MySQL تتوفر ثلاثة أنواع رئيسية من البيانات: نصوص، وأرقام وتاريخ ووقت. وتختلف أنواع البيانات في MySQL قليلاً عن أوراكل، حيث توفر MySQL خيارات أكثر تخصصاً لبعض أنواع الأرقام والنصوص، مما يجعلها مرنة للغاية في إدارة المساحة التخزينية. فيما يلي قائمة بأهم أنواع البيانات في MySQL مقسمة حسب طبيعتها:

1. الأنواع النصية (String Types)

  • VARCHAR(size): نصوص متغيرة الطول (الأكثر استخداماً) يمكن أن تحتوي على حروف وأرقام ورموز خاصة. يحدد مُعامل الحجم الحد الأقصى لطول السلسلة بالأحرف، الحد الأقصى يصل إلى 65,535 حرفاً.
  • CHAR(size): نصوص ثابتة الطول يمكن أن تحتوي على أحرف وأرقام ورموز خاصة. يحدد مُعامل الحجم طول العمود بالأحرف، والذي يتراوح بين 0 - 255 حرفًا، الحجم الافتراضي هو 1. سريع جداً للأكواد ثابتة الطول مثل رموز الدول ISO.
  • TEXT(size): يخزن نصوص بطول متغير. يمكن لهذا النوع من البيانات تخزين ما يصل إلى 2GB من البيانات النصية. ويستخدم لتخزين المقالات أو الأوصاف الطويلة. يتفرع منه (MEDIUMTEXT و LONGTEXT).
    • MEDIUMTEXT : يمكن أن يمثل نص بطول أقصى يبلغ 16,777,215 حرفًا.
    • LONGTEXT: يمكن أن يمثل نص يحتوي بطول أقصى يبلغ 4,294,967,295 حرفًا.
  • TINYTEXT: يخزن نصوص بحد أقصى 255 حرفًا.
  • ENUM: قائمة من الخيارات المحددة مسبقاً (مثل: 'Male', 'Female'). لا يسمح بإدخال قيمة خارج القائمة. ويمكن إدراج ما يصل إلى 65535 قيمة في قائمة ENUM. إذا تم إدخال قيمة غير موجودة في القائمة، فسيتم إدراج قيمة فارغة. يتم ترتيب القيم حسب ترتيب إدخالها. ENUM(val1, val2, val3, ...).
  • SET: قائمة من الخيارات المحددة مسبقاً يمكن أن تحتوي على صفر أو أكثر من القيم، يمكن إدراج ما يصل إلى 64 قيمة في قائمة SET. SET(val1, val2, val3, ...).

2. الأنواع الرقمية (Numeric Types)

تتميز MySQL بتوفير أحجام مختلفة للأرقام الصحيحة لتوفير المساحة:

  • INT (أو INTEGER): النوع القياسي للأعداد الصحيحة حيث يخزن عدد صحيح عادي الحجم، يمكن أن يكون موجب أو سالب. فيمكن تحديد عرض يصل إلى 11 رقمًا.
  • TINYINT: للأرقام الصغيرة جداً حيث يخزن عدد صحيح صغير جدًا، يمكن أن يكون موجبًا أو سالبًا. فيمكن أن يكون موجبًا أو سالبًا. يمكن تحديد عرض يصل إلى 4 أرقام. (مثل الحالات 0 و 1، أو الأعمار).
  • MEDIUMINT: عدد صحيح متوسط الحجم، يمكن أن يكون موجبًا أو سالبًا. فيمكن تحديد عرض يصل إلى 9 أرقام.
  • BIGINT: للأرقام الضخمة جداً حيث يخزن عدد صحيح كبير، يمكن أن يكون موجبًا أو سالبًا. فيمكن تحديد عرض يصل إلى 20 رقمًا.(مثل معرفات التغريدات أو الأرقام التسلسلية العالمية).
  • DECIMAL(p, s): للأرقام العشرية الدقيقة (يستخدم غالباً في البيانات المالية والعملات).
  • FLOAT & DOUBLE: للأرقام ذات الفاصلة العائمة (الحسابات العلمية). يمكن أن تصل دقة الأرقام العشرية إلى 24 منزلة في FLOAT. بينما يمكن أن تصل دقة الأرقام العشرية إلى 53 منزلة في DOUBLE.

3. أنواع التاريخ والوقت (Date and Time)

  • DATE: لتخزين التاريخ فقط بصيغة YYYY-MM-DD.
  • DATETIME: لتخزين التاريخ والوقت معاً بصيغة YYYY-MM-DD HH:MM:SS
  • TIMESTAMP: مشابه لـ DATETIME ولكنه مرتبط بالمنطقة الزمنية للخادم، وغالباً ما يُستخدم لتسجيل وقت إنشاء السجل تلقائياً.
  • TIME: لتخزين الوقت فقط.
  • YEAR: لتخزين السنة (بصيغة 4 أرقام).

4. الأنواع الثنائية والكبيرة (Binary & Large Objects)

  • BLOB(size): لتخزين البيانات الثنائية مثل الصور والملفات. يُمثل هذا النوع كائنات BLOB (كائنات ثنائية كبيرة- Binary Large Objects). يحتوي على ما يصل إلى 65,535 بايت من البيانات.
  • TINYBLOB: يُمثل هذا النوع (BLOBs) صغيرة الحجم حيث الحد الأقصى لطولها 255 بايت.
  • MEDIUMBLOB: يُمثل هذا النوع كائنات BLOB متوسطة الحجم حيث يستوعب ما يصل إلى 16,777,215 بايت من البيانات.
  • LONGBLOB: يُمثل هذا النوع كائنات BLOB كبيرة الحجم حيث يستوعب ما يصل إلى 4,294,967,295 بايت من البيانات.
  • BINARY & VARBINARY: مشابهة لـ CHAR و VARCHAR ولكنها تخزن بيانات ثنائية بدلاً من نصوص.
    • BINARY(size): يعادل CHAR يخزن بيانات ثنائية بعرض ثابت حيث يُحدد مُعامل الحجم طول العمود بالبايت، الحجم الافتراضي هو 1.
    • VARBINARY(size) يُعادل VARCHAR، ولكنه يُخزّن سلاسل بايت ثنائية بعرض ثابت. يُحدد مُعامل الحجم الحد الأقصى لطول العمود بالبايت.

5. نوع البيانات JSON (ميزة قوية في MySQL)

JSON: تسمح MySQL بتخزين مستندات JSON كاملة داخل عمود واحد، مع إمكانية البحث داخل هذه المستندات بكفاءة عالية، مما يجمع بين مزايا قواعد البيانات SQL و NoSQL.

مقارنة سريعة مع أمثلة استخدام بين أهم الأنواع في  MySQL:

النوع مثال ملاحظة
INT معرفات (IDs) حجمه 4 بايت
VARCHAR أسماء، إيميلات يوفر مساحة تخزينية
DATETIME مواعيد العمليات يغطي نطاق زمني واسع
DECIMAL مبالغ مالية دقة عالية جداً
JSON بيانات مرنة يدعم البحث والتحقق

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



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

يوفر نظام Microsoft SQL Server مجموعة غنية ومتنوعة من أنواع البيانات التي تلبي احتياجات الشركات الكبرى، وتتميز بوجود أنواع مخصصة للبيانات المالية والجغرافية بشكل دقيق. فيما يلي تقسيم لأنواع البيانات في MS SQL Server:

1. الأنواع الرقمية (Numeric Types)

تنقسم في SQL Server إلى أرقام صحيحة وأرقام دقيقة:

الأرقام الصحيحة:
  • BIGINT: للأرقام الضخمة جداً (8 بايت).
  • INT: النوع القياسي للأعداد الصحيحة (4 بايت).
  • SMALLINT: للأرقام المتوسطة (2 بايت).
  • TINYINT: للأرقام الصغيرة من 0 إلى 255 (1 بايت).
  • BIT: لتخزين القيم المنطقية (0 أو 1)، وغالباً ما يُستخدم كـ Boolean.
الأرقام المالية والعشرية:
  • DECIMAL / NUMERIC: لتخزين الأرقام بدقة ثابتة (مثالي للحسابات الحساسة).
  • MONEY / SMALLMONEY: أنواع مخصصة لتخزين القيم النقدية والعملات.
  • FLOAT / REAL : لتخزين الأعداد العشرية ذات الدقة العالية.

2. الأنواع النصية (Character Strings)

يفرق SQL Server بشكل واضح بين النصوص العادية ونصوص Unicode (التي تدعم لغات مثل العربية):

نصوص عادية (Non-Unicode):
  • CHAR(n): نص بطول ثابت حيث يكون الحد الأقصى لحجم هذا النوع من البيانات هو 8000 حرف.
  • VARCHAR(n): نص بطول متغير ويكون الحد الأقصى لحجم هذا النوع من البيانات هو 8000 حرف.
  • VARCHAR(MAX) / TEXT : لتخزين نصوص ضخمة بطول متغير جداً تصل إلى 2GB.
نصوص Unicode (تدعم العربية):
  • NCHAR(n): طول ثابت يدعم كافة اللغات ويبلغ الحد الأقصى لحجم هذا النوع من البيانات 4000 حرف.
  • NVARCHAR(n): طول متغير ويبلغ الحد الأقصى لحجم هذا النوع من البيانات 4000 حرف. و يدعم كافة اللغات (الأكثر استخداماً في العالم العربي).
  • NVARCHAR(MAX): للنصوص الضخمة التي تحتوي على لغات متنوعة.
  • NTEX: يخزن Unicode بطول متغير. يمكن لهذا النوع من البيانات تخزين ما يصل إلى 2GB من البيانات النصية.

الفرق بين VARCHAR و NVARCHAR من حيث المساحة التخزينية والأداء

وجه المقارنة VARCHAR NVARCHAR
الترميز يستخدم ASCII أو Code Page محددة. يستخدم Unicode (ترميز عالمي).
المساحة كل حرف يستهلك 1 بايت. كل حرف يستهلك 2 بايت
دعم اللغات يدعم الإنجليزية واللغات اللاتينية بشكل أساسي. يدعم جميع اللغات (العربية، الصينية، اليابانية، إلخ).
السعة القصوى حتى 8,000 حرف (أو 2GB مع MAX). حتى 4,000 حرف (أو 2GB مع MAX).

3. التاريخ والوقت (Date and Time)

  • DATE: تاريخ فقط (YYYY-MM-DD).
  • TIME: وقت فقط.
  • DATETIME: النوع التقليدي (تاريخ ووقت).
  • DATETIME2: النسخة الحديثة والأكثر دقة من النوع السابق (نطاق تاريخ أوسع ودقة أعلى في أجزاء الثانية).
  • DATETIMEOFFSET: لتخزين التاريخ والوقت مع مراعاة فرق التوقيت العالمي (Time Zone).

4. الأنواع الثنائية والكبيرة (Binary)

  • BINARY:يخزن بيانات ثنائية (binary string ) بطول ثابت.
  • VARBINARY(n): لتخزين البيانات الثنائية متغيرة الطول.
  • VARBINARY(MAX): يُستخدم لتخزين الصور، الملفات، أو المستندات داخل قاعدة البيانات (بديل لنوع IMAGE القديم).

5. أنواع بيانات خاصة ومتطورة

يتميز SQL Server ببعض الأنواع التي قد لا تجدها في أنظمة أخرى بنفس الكفاءة:

  • XML: لتخزين بيانات بتنسيق XML مع إمكانية التحقق منها والاستعلام داخلها.
  • UNIQUEIDENTIFIER: لتخزين قيم GUID (مثل: 6F9619FF-8B86-D011-B42D-00C04FC964FF).
  • GEOMETRY / GEOGRAPHY: لتخزين البيانات الجغرافية والإحداثيات (الخرائط).
  • HIERARCHYID: لتمثيل العلاقات الهرمية (مثل الهيكل التنظيمي للموظفين).

أمثلة استخدام

النوع في SQL Server المثال
NVARCHAR(100) اسم شخص بالعربي
DECIMAL(10, 2) أو MONEY سعر منتج
BIT حالة (نشط / غير نشط)
VARBINARY(MAX) صورة أو ملف PDF
VARCHAR(255) رابط خارجي أو إيميل

يوفر MS SQL Server أنواع بيانات متقدمة ودقيقة تلبي متطلبات الأنظمة المؤسسية والتطبيقات ذات الأحجام الكبيرة. الفهم الجيد لهذه الأنواع واستخدامها بالشكل الصحيح يساعد على تحسين الأداء، وضمان تكامل البيانات، والاستفادة القصوى من إمكانات محرك قاعدة البيانات.



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

يعتبر نظام Microsoft Access مختلفاً قليلاً عن الأنظمة السابقة (مثل SQL Server أو Oracle)، حيث يركز على سهولة الاستخدام في بيئة سطح المكتب. تنقسم أنواع البيانات فيه إلى ما يراه المستخدم في واجهة التصميم (Design View) وما يقابلها من مسميات عند كتابة أوامر SQL. فيما يلي قائمة بأنواع البيانات المتوفرة في MS Access:

1. الأنواع النصية (Text Types)

  • نص مختصر (Short Text): كان يُسمى سابقاً "Text". يُستخدم لتخزين النصوص القصيرة (أسماء، عناوين) حتى 255 حرفاً.
  • نص طويل (Long Text): كان يُسمى سابقاً "Memo". يُستخدم لتخزين كميات ضخمة من النصوص والفقرات تصل إلى 1GB.

2. الأنواع الرقمية (Numeric Types)

في Access، يتم اختيار نوع "Number" ثم تحديد "حجم الحقل" (Field Size) من الخصائص:

  • Byte: للأرقام الصغيرة جداً (0 إلى 255).
  • Integer: للأعداد الصحيحة (من -32,768 إلى 32,767).
  • Long Integer: النوع الافتراضي للأرقام الصحيحة الكبيرة (وهو المستخدم غالباً للمفاتيح الأساسية).
  • Single / Double: للأرقام العشرية (الفاصلة العائمة).
  • Decimal: للأرقام التي تتطلب دقة عالية جداً.
  • Large Number: (في النسخ الحديثة) يدعم أرقاماً ضخمة جداً تتوافق مع BIGINT في SQL Server.

3. التاريخ والوقت (Date/Time)

  • تاريخ/وقت (Date/Time): لتخزين التواريخ والأوقات للأعوام من 100 إلى 9999 م.
  • تاريخ/وقت ممتد (Date/Time Extended): نوع أحدث يوفر دقة أكبر ونطاقاً زمنياً أوسع.

4. أنواع خاصة بـ Access

يتميز Access بأنواع بيانات تسهل بناء التطبيقات مباشرة مثل :

  • ترقيم تلقائي (AutoNumber): يقوم بإنشاء رقم فريد تلقائياً لكل سجل جديد (يُستخدم كـ Primary Key).
  • نعم/لا (Yes/No): لتخزين القيم المنطقية (صح True /خطأ False).
  • عملة (Currency): مخصص للبيانات المالية لمنع أخطاء التقريب أثناء الحسابات.
  • كائن OLE: لتخزين الصور أو مستندات Word/Excel (يُفضل حالياً استخدام "مرفق").
  • مرفق (Attachment): لتخزين ملفات متعددة (صور، PDF) داخل الحقل الواحد بشكل مضغوط.
  • ارتباط تشعبي (Hyperlink): لتخزين روابط المواقع الإلكترونية أو عناوين البريد.

فيما يلي مقارنة واجهة Access مقابل أوامر SQL فإذا كنا نكتب كود SQL داخل Access (مثل أمر CREATE TABLE)، فسنستخدم هذه المسميات :

في واجهة Access (UI) في كود SQL (Access) ملاحظات
نص مختصر (Short Text) TEXT(n) أو VARCHAR(n) n هو الطول
نص طويل (Long Text) MEMO أو LONGTEXT للنصوص الكبيرة
نعم/لا BIT قيم منطقية
تاريخ/وقت DATETIME التاريخ والوقت
رقم (Long Integer) INT أو INTEGER الأرقام الصحيحة
ترقيم تلقائي COUNTER يزداد تلقائياً

ملاحظة هامة: عند استخدام Access كواجهة أمامية مرتبطة بـ SQL Server، يجب الحذر لأن أنواع البيانات قد تحتاج إلى "خريطة تحويل" (Mapping) لضمان عدم فقدان البيانات. حيث تتيح خريطة تحويل البيانات (Data Mapping) لأكسس عند الربط  أن يقوم بتحويل أنواع بيانات SQL Server إلى ما يقابلها لديه. لنرى كيف تبدو العلاقة:

نوع البيانات في SQL Server كيف يظهر في MS Access
BIGINT Large Number (في النسخ الحديثة)
BIT Yes/No
DATETIME2 Date/Time Extended
NVARCHAR(MAX) Long Text (Memo)
DECIMAL / MONEY Currency
UNIQUEIDENTIFIER Replication ID (GUID)

ربط جداول MS Access بقاعدة بيانات SQL Server هو أحد أفضل الحلول التي تجمع بين سهولة واجهة أكسس وقوة تخزين وحماية SQL Server.و تسمى هذه العملية بـ Linked Tables.

تعتمد قواعد بيانات MS Access على أنواع بيانات مبسطة ومباشرة تناسب التطبيقات الصغيرة والمتوسطة. الاختيار الصحيح لنوع البيانات يسهّل تصميم الجداول، ويحسّن تنظيم البيانات، ويقلل من الأخطاء أثناء الإدخال والمعالجة داخل بيئة Access.



في ختام هذا المقال، يتضح أن أنواع البيانات في SQL ليست مجرد تصنيفات شكلية، بل تمثل أساسًا تقنيًا يؤثر في دقة تخزين البيانات، وسلامة المعالجة، وكفاءة الأداء عبر مختلف أنظمة إدارة قواعد البيانات. ورغم وجود مفاهيم مشتركة بين Oracle وMySQL وMS SQL Server وMS Access، إلا أن الاختلافات في التنفيذ والدعم والقيود تجعل فهم هذه الفروق أمرًا ضروريًا عند التصميم أو التطوير أو الترحيل بين الأنظمة.

إرسال تعليق

فضلاً اترك تعليق
موافقة ملفات تعريف الارتباط
لتحسين تجربتك… يستخدم موقعنا ملفات تعريف الارتباط (Cookies)
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.