السلام عليكم ورحمة الله
حاليا أخذ كورس هندسة قواعد بيانات و لاحظت أن المدرس وضع numeric بدلا عن int في الTable فما الفروق بينهم وشكرا!
وعليكم السلام ورحمة الله وبركاته
INT (Integer)
NUMERIC
الاختلاف الرئيسي بين INT وNUMERIC هو نوع الأعداد التي يمكنهما تخزينها. بحيث INT مخصص للأعداد الصحيحة بينما NUMERIC مخصص للأعداد العشرية. تحتاج إلى اختيار النوع البياني الذي يتناسب مع نوع البيانات التي تنوي تخزينها في قاعدة البيانات الخاصة بك بناءً على متطلبات التطبيق والدقة المطلوبة.
لا يوجد فرق بين decimal و numeric في قواعد البيانات العلائقية، وهما اسمان لنفس نوع البيانات العددية، حيث يسمح لك هذان النوعان بتخزين الأعداد الصحيحة والأعداد العشرية.
ففي بعض قواعد البيانات، مثل MySQL و PostgreSQL، يكون decimal هو الاسم المفضل، بينما في قواعد بيانات أخرى، مثل Microsoft SQL Server، يكون numeric هو الاسم المفضل.
الفرق الوحيد بين decimal و numeric هو أن numeric هو الاسم الأحدث، وأصبح أكثر شيوعًا في السنوات الأخيرة.
هناك بعض الفروق البسيطة بينهما حيث أن
int (integer) هو النوع المعتاد للأرقام الصحيحة (أعداد صحيحة) مثل 1، 5، 15.
numeric هو نوع أعم يدعم أنواع البيانات العددية (numbers) بشكل عام. بما في ذلك:
يسمح numeric بتخزين أنواع أكثر مرونة من البيانات الرقمية. فهو أقوى وأشمل من int.
لكن إذا كانت البيانات أرقامًا صحيحة فقط، فإن int أفضل لأنه أخص وأضيق، مما يوفر مساحة تخزين.
INT و NUMERIC هما نوعان من أنواع البيانات العددية في قواعد البيانات العلائقية، والفرق الرئيسي بينهما هو أن INT مخصص للأعداد الصحيحة، بينما NUMERIC مخصص للأعداد العشرية.
مثال
لنفترض أننا نقوم بإنشاء جدول لمنتجات متجر إلكتروني ونريد تخزين السعر في هذا الجدول، والسعر هو رقم عشري، لذلك يجب علينا استخدام نوع بيانات NUMERIC.
CREATE TABLE products ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, price NUMERIC(10,2) NOT NULL, description TEXT, PRIMARY KEY (id) );
هنا نستخدم NUMERIC(10,2) لتخزين السعر ويسمح لنا هذا بتحديد أن السعر يجب أن يكون رقمًا عشريًا مع 10 أرقام إلى اليسار من الفاصلة العشرية و 2 رقمًا إلى اليمين منها.
أي يجب عليك اختيار نوع البيانات المناسب بناءًا على متطلبات التطبيق والدقة المطلوبة.
التعليقات