Kodokon kodokon.com

النموذج العلائقي: الجداول والصفوف والأعمدة

اكتشف كيف تنظّم قاعدة البيانات المعلومات في جداول، وأنشئ أول جدول لك في SQLite.

8 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

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

SQL
CREATE TABLE books (
  id INTEGER PRIMARY KEY,
  title TEXT,
  author TEXT,
  genre TEXT,
  year INTEGER,
  price REAL
);
جدولنا التجريبي: مكتبة صغيرة

لنحلّل هذا الاستعلام. ينشئ CREATE TABLE books جدولًا باسم books. وداخل القوسين، يُصرِّح كل سطر بعمود: اسمه، ثم نوعه، أي فئة البيانات التي يقبلها. في SQLite، الأنواع الرئيسية هي INTEGER (عدد صحيح)، وREAL (عدد عشري)، وTEXT (نص) وBLOB (بيانات ثنائية مثل صورة). ويُكتب غياب القيمة NULL. وأخيرًا، يعيّن PRIMARY KEY المفتاح الأساسي: وهو عمود تحدّد قيمته كل صف بشكل فريد، مثل رقم ملف.

SQL
INSERT INTO books (id, title, author, genre, year, price)
VALUES
(1, 'Dune', 'Herbert', 'sf', 1965, 9.9),
(2, 'Fondation', 'Asimov', 'sf', 1951, 8.5),
(3, '1984', 'Orwell', 'sf', 1949, 7.2),
(4, 'Croc-Blanc', 'London', 'aventure', 1906, 5.5),
(5, 'Les Robots', 'Asimov', 'sf', 1950, 7.9),
(6, 'Deux ans de vacances', 'Verne', 'aventure', 1888, 6.9),
(7, 'Le Petit Prince', 'Saint-Exupery', 'conte', 1943, 6.5);
انسخ هذه الكتلة والصقها مباشرة بعد CREATE TABLE

يضيف استعلام INSERT INTO صفوفًا إلى الجدول: وسنتناوله بالتفصيل في الدرس الأخير. لاحظ أن القيم النصية تُحاط بـ علامات اقتباس مفردة ('Dune')، لا بعلامات اقتباس مزدوجة أبدًا. والآن لنتحقق من أن كل شيء في مكانه باستعلام قراءة: SELECT.

SQL
SELECT * FROM books;
النجمة * تعني "كل الأعمدة"

من المفترض أن ترى 7 صفوف و6 أعمدة: أولى قواعد بياناتك تعمل. احتفظ بسكربت CREATE TABLE + INSERT من هذا الدرس في مكان آمن: فكل درس تالٍ يعتمد على جدول books نفسه. وإذا أغلقت متصفحك أو طرفيتك، فما عليك سوى تنفيذه من جديد لتبدأ من النقطة نفسها.

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. في الجدول، ماذا يمثّل الصف؟
    • خاصية، مثل العنوان أو السعر
    • عنصرًا كاملًا، مثل كتاب بعينه
    • نوع بيانات عمود
  2. أيّ نوع في SQLite يناسب تخزين سعر مثل 6.5؟
    • INTEGER
    • TEXT
    • REAL
    • BLOB
  3. ما الغرض من عبارة PRIMARY KEY على عمود id؟
    • ترتيب الصفوف تلقائيًا ترتيبًا أبجديًا
    • تحديد كل صف بشكل فريد
    • منع الأعداد السالبة