دليل المبتدئين لكتابة مخططات قاعدة بيانات mySQL

دليل المبتدئين لكتابة مخططات قاعدة بيانات mySQL

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





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





كيفية إصلاح أي فون عالق على شعار أبل

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

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






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

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

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

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



COL_NAME TYPE [OPTIONS]

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

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





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

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


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

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





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

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

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

هذا مثال:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

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

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

كيفية إيقاف ملاحظات الميكروفون على الكمبيوتر

صمم بكل ثقة

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

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

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

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

اقرأ التالي
مواضيع ذات صلة نبذة عن الكاتب مات ديزاك(18 مقالة منشورة) المزيد من Matt Dizak

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

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

انقر هنا للاشتراك