سواء كان لديك مساحة قاعدة بيانات صغيرة مجانية أو موقع ويب كبير للتجارة الإلكترونية، فمن الضروري جدًا أن تقوم قاعدة البيانات بتصميم هيكل الجدول بشكل معقول والاستفادة الكاملة من المساحة. وهذا يتطلب منا أن يكون لدينا فهم كامل وتطبيق معقول لأنواع البيانات الشائعة في أنظمة قواعد البيانات. أدناه سنقدم لك بعض الخبرة والتجربة، على أمل أن نساعدك على التفكير بشكل أكثر عقلانية عند بناء قاعدة بيانات.
1. نوع الرقم
تنقسم الأنواع الرقمية إلى ثلاث فئات وفقًا لطريقة تصنيفي: الأنواع الصحيحة، والأنواع العشرية، والأنواع الرقمية.
ما أسميه "الفئات الرقمية" يشير إلى DECIMAL وNUMERIC، وهما من نفس النوع. وهو ليس نوعًا رقميًا بشكل صارم، لأنه في الواقع يخزن الأرقام على شكل سلاسل؛ كل رقم من قيمته (بما في ذلك العلامة العشرية) يشغل بايتًا واحدًا من مساحة التخزين، لذلك يستهلك هذا النوع مساحة كبيرة للمقارنة. ومع ذلك، فإن إحدى مزاياها البارزة هي أن الأرقام العشرية ثابتة ولن "تشوه" أثناء العمليات، لذا فهي مناسبة أكثر لحقول مثل "السعر" و"المبلغ" التي لا تتطلب دقة عالية ولكنها تتطلب دقة عالية جدًا. دقة.
النوع العشري، أي نوع رقم الفاصلة العائمة، له نوعان، FLOAT وDOUBLE، اعتمادًا على الدقة. ميزتها هي الدقة. يمكن أن تمثل FLOAT الكسور العشرية بقيم مطلقة صغيرة جدًا، صغيرة مثل 1.17E-38 (0.000...0117، هناك 37 صفرًا بعد العلامة العشرية)، بينما يمكن أن تمثل DOUBLE قيمًا مطلقة صغيرة. تقريبًا 2.22E-308 (0.000...0222، 307 أصفار بعد العلامة العشرية) كعلامة عشرية. مساحة التخزين التي يشغلها النوع FLOAT والنوع المزدوج هي 4 بايت و8 بايت على التوالي. إذا كنت بحاجة إلى استخدام الحقول العشرية وكانت الدقة ليست عالية، بالطبع استخدم FLOAT. لكن بصراحة، كيف يمكن لبياناتنا "المدنية" أن تتطلب مثل هذه الدقة العالية، ولم أستخدم هذين النوعين حتى الآن - ولم أواجه أي حالات مناسبة لاستخدامهما؟
النوع الأكثر استخدامًا، والأكثر استحقاقًا للحساب الدقيق، هو النوع الصحيح. من TINYINT، الذي يشغل بايت واحد فقط من مساحة التخزين، إلى BIGINT، الذي يشغل 8 بايت، يجب مراعاة اختيار نوع "كافي" ويشغل أصغر مساحة تخزين عند تصميم قاعدة البيانات. تشغل TINYINT وSMALLINT وMEDIUMINT وINT وBIGINT مساحة تخزين تبلغ 1 بايت و2 بايت و3 بايت و4 بايت و8 بايت على التوالي. أما بالنسبة للأعداد الصحيحة غير الموقعة، فإن الحد الأقصى للأعداد الصحيحة التي يمكن أن تمثلها هذه الأنواع هو 255 و65535 و16777215. و 4294967295 و 18446744073709551615. إذا تم استخدامه لحفظ عمر المستخدم (على سبيل المثال، ليس من المستحسن حفظ العمر في قاعدة البيانات)، فإن TINYINT يكفي؛ في "Zongheng" لـ Jiucheng، يكون SMALLINT كافيًا لكل قيمة مهارة إذا كنت تريد استخدام Make حقل IDENTIFY الخاص بـ AUTO_INCREMENT في الجدول الذي لن يتجاوز بالتأكيد 16.000.000 صف، بالطبع، استخدم MEDIUMINT بدلاً من INT. تخيل أن كل صف يحفظ 16.000.000 صفًا يمكن أن يوفر أكثر من 10 ميغابايت.