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

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

إنشاء بنية الجدول

للبدء ، افتح المفضلة لديك محرر النص. لا يتطلب إنشاء مخطط قاعدة بيانات أكثر من ملف نصي عادي. تتكون قاعدة البيانات من عدة جداول ، كل منها يتكون من أعمدة ، ويتم استخدام بناء جملة CREATE TABLE لإنشاء جدول واحد. إليك مثال أساسي:


إنشاء مستخدمي الجدول (
معرف INT NOT NULL ،
غير نشط TINY INT NOT NULL ،
full_name VAR CHAR (100) ليس NULL ،
البريد الإلكتروني VARCHAR (100) NOT NULL
);

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

استخدم أنواع الأعمدة الصحيحة

كما هو موضح أعلاه ، يتم فصل الأعمدة التي سيتألف منها الجدول بفاصلات. يتكون تعريف كل عمود من الأجزاء الثلاثة نفسها:

instagram viewer
COL_NAME TYPE [OPTIONS]

اسم العمود ، متبوعًا بنوع العمود ، ثم أي معلمات اختيارية. سوف ندخل في المعلمات الاختيارية لاحقًا ، ولكن مع التركيز على نوع العمود ، يسرد أدناه أنواع الأعمدة الأكثر استخدامًا المتاحة:

بالنسبة لجميع النوايا ، فإن أنواع الأعمدة أعلاه هي كل ما تحتاجه لكتابة مخططات قاعدة بيانات mySQL جيدة الإنشاء.

تحديد خيارات العمود

عند تحديد الأعمدة ، هناك أيضًا خيارات متنوعة يمكنك تحديدها. يوجد أدناه مثال آخر على اصنع جدول بيان:


إنشاء مستخدمي الجدول (
معرف INT NULL PRIMARY KEY AUTO_INCREMENT ،
اسم المستخدم VARCHAR (100) ليس فريدًا من نوعه ،
الحالة ENUM ("نشط" ، "غير نشط") ليست NULL افتراضي "نشطة" ،
الرصيد العشري (8،2) غير الافتراضي 0 ،
تاريخ_الميلاد DATETIME ،
تم إنشاؤه في TIMESTAMP ليست NULL DEFAULT CURRENT_TIMESTAMP
);

قد يبدو ما ورد أعلاه شاقًا بعض الشيء ، لكن لا تقلق ، إنه بسيط للغاية. هنا ما يحدث في البيان أعلاه:

  • يجب عليك دائمًا استخدام NOT NULL في جميع الأعمدة الممكنة للمساعدة في سرعة الجدول وأدائه. هذا ببساطة يحدد العمود لا يمكن تركه فارغًا / فارغًا عند إدراج صف.
  • حاول دائمًا الحفاظ على حجم العمود صغيرًا بقدر الإمكان بشكل واقعي ، حيث يساعد ذلك في تحسين السرعة والأداء.
  • ال بطاقة تعريف العمود هو عدد صحيح ، وهو أيضًا المفتاح الأساسي للجدول مما يعني أنه فريد ، وسيزداد بمقدار واحد في كل مرة يتم فيها إدراج سجل. يجب استخدام هذا بشكل عام في جميع الجداول التي تقوم بإنشائها بحيث يمكنك بسهولة الرجوع إلى أي صف واحد داخل الجدول.
  • ال الحالة العمود هو ENUM ويجب أن يكون له قيمة "نشط" أو "غير نشط". إذا لم يتم تحديد قيمة ، فسيبدأ الصف الجديد بحالة "نشط".
  • ال الرصيد يبدأ العمود عند 0 لكل صف جديد ، وهو مبلغ تم تنسيقه بنقطتين عشريتين.
  • ال تاريخ الولادة العمود هو مجرد تاريخ ولكنه يسمح أيضًا بقيمة فارغة لأن تاريخ الميلاد قد لا يكون معروفًا عند الإنشاء.
  • آخر ، أنشئت في العمود هو TIMESTAMP ويتم تعيينه افتراضيًا على الوقت الحالي الذي تم فيه إدراج الصف.

ما ورد أعلاه هو مثال على جدول قاعدة بيانات منظم بشكل جيد ، ويجب استخدامه كمثال للمضي قدمًا.

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

هذا مثال:


إنشاء مستخدمي الجدول (
معرف INT NULL PRIMARY KEY AUTO_INCREMENT ،
اسم المستخدم VARCHAR (100) ليس فريدًا من نوعه ،
full_name VARCHAR (100) ليس NULL ،
تم إنشاؤه في TIMESTAMP ليست NULL DEFAULT CURRENT_TIMESTAMP
) المحرك = InnoDB ؛
إنشاء أوامر الجدول (
معرف INT NULL PRIMARY KEY AUTO_INCREMENT ،
معرف المستخدم INT NOT NULL ،
المبلغ العشري (8،2) غير فارغ ،
product_name VARCHAR (200) ليس NULL ،
مفتاح خارجي (معرف المستخدم) مراجع المستخدمين (معرف) عند حذف الحالة
) المحرك = InnoDB ؛

ستلاحظ جملة FOREIGN KEY باعتبارها السطر الأخير. يوضح هذا السطر ببساطة أن هذا الجدول يحتوي على صفوف فرعية مرتبطة بامتداد معرف المستخدم العمود إلى الصف الأصل ، وهو ملف بطاقة تعريف عمود المستخدمين طاولة. ما يعنيه هذا هو أنه في أي وقت يتم فيه حذف صف من ملف المستخدمين table ، ستحذف mySQL تلقائيًا جميع الصفوف المقابلة من ملف الطلب #٪ s الجدول يساعد في ضمان التكامل الهيكلي داخل قاعدة البيانات الخاصة بك.

لاحظ أيضًا أن المحرك = InnoDB في نهاية البيان أعلاه. على الرغم من أن InnoDB هو الآن نوع جدول mySQL الافتراضي ، إلا أنه لم يكن دائمًا ، لذا يجب إضافته فقط للبقاء في الجانب الآمن ، حيث يعمل التتالي فقط مع جداول InnoDB.

صمم بكل ثقة

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

مع وجود مخططك في مكانه الصحيح ، تأكد من معرفتك بكيفية استخدامه مع هؤلاء أوامر SQL الأساسية.

بريد الالكتروني
كيفية الاستعلام عن جداول قاعدة بيانات متعددة في وقت واحد باستخدام عمليات انضمام SQL

تعرف على كيفية استخدام عمليات الانضمام إلى SQL لتبسيط الاستعلامات وتوفير الوقت وجعلك تشعر بأنك مستخدم قوي في SQL.

مواضيع ذات صلة
  • غير محدد
عن المؤلف
مات ديزاك (18 مقالة منشورة)المزيد من Matt Dizak

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية الخاصة بنا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.