النتائج 1 إلى 3 من 3
الموضوع:

كيفية بناء قاعدة بيانات متماسكة لنظام متجر إلكتروني.

الزوار من محركات البحث: 17 المشاهدات : 126 الردود: 2
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    من أهل الدار
    مطورة برمجيات
    تاريخ التسجيل: February-2026
    الدولة: سوريا
    الجنس: أنثى
    المشاركات: 1,230 المواضيع: 54
    التقييم: 1358
    مزاجي: الحمدلله
    المهنة: مهتمة بالذكاء الاصطناعي
    أكلتي المفضلة: كبة باللبن
    آخر نشاط: منذ 11 ساعات

    كيفية بناء قاعدة بيانات متماسكة لنظام متجر إلكتروني. إضغط على مفتاح Ctrl+S لحفظ الصفحة على حاسوبك أو شاهد هذا الموضوع

    بناء قاعدة بيانات لمتجر إلكتروني هو تمرين ممتاز لفهم علاقات البيانات. لضمان نظام متماسك وقابل للتوسع، سنستخدم نموذج العلاقات (Relational Schema) الذي يعتمد على الجداول المرتبطة ببعضها.
    المكونات الأساسية لقاعدة بيانات المتجر (Entities)
    لبناء متجر بسيط، نحتاج إلى 5 جداول رئيسية على الأقل:
    1. جدول المستخدمين (Users)
    يحتوي على بيانات العملاء الأساسية.
    • user_id (مفتاح أساسي - PK)
    • full_name, email, password_hash, address
    2. جدول المنتجات (Products)
    يحتوي على تفاصيل السلع.
    • product_id (PK)
    • name, description, price, stock_quantity
    • category_id (مفتاح أجنبي - FK)
    3. جدول الطلبات (Orders)
    يسجل عملية الشراء (بدون تفاصيل المنتجات داخلها).
    • order_id (PK)
    • user_id (FK) - لربط الطلب بصاحبه.
    • order_date, total_amount, status (قيد التنفيذ، تم الشحن، إلخ).
    4. جدول تفاصيل الطلب (Order_Items)
    هذا الجدول هو "الجسر" (Bridge) لأن الطلب الواحد قد يحتوي على عدة منتجات.
    • order_item_id (PK)
    • order_id (FK)
    • product_id (FK)
    • quantity, unit_price
    5. جدول التصنيفات (Categories)
    • category_id (PK)
    • category_name
    مخطط العلاقات (ER Diagram)
    يوضح هذا المخطط كيف ترتبط الجداول ببعضها (علاقة رأس بأطراف One-to-Many):
    قواعد ذهبية لتصميم متماسك:
    1. الذرية (Atomicity): لا تضع أكثر من معلومة في حقل واحد (مثلاً: لا تضع رقم الهاتف والعنوان في حقل "بيانات التواصل"، افصلهما).
    2. تجنب التكرار (Normalization): بدلاً من كتابة اسم العميل في كل طلب، نكتفي بوضع رقم العميل user_id فقط.
    3. تجميد السعر (Price Snapshots): لاحظ أننا وضعنا unit_price في جدول "تفاصيل الطلب". لماذا؟ لأن سعر المنتج قد يتغير مستقبلاً في جدول المنتجات، لكننا نريد الاحتفاظ بالسعر الذي اشترى به العميل فعلياً وقت الطلب.
    4. الفهارس (Indexing): تأكد من عمل Index لحقل email في جدول المستخدمين، و order_date في جدول الطلبات لتسريع عمليات البحث.
    مثال لـ استعلام (SQL) لإنشاء جدول الطلبات:

    -- 1. إنشاء جدول التصنيفات
    CREATE TABLE Categories (
    category_id INT AUTO_INCREMENT PRIMARY KEY,
    category_name VARCHAR(100) NOT NULL
    );

    -- 2. إنشاء جدول المستخدمين
    CREATE TABLE Users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    full_name VARCHAR(150) NOT NULL,
    email VARCHAR(150) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    address TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    -- 3. إنشاء جدول المنتجات
    CREATE TABLE Products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    description TEXT,
    price DECIMAL(10, 2) NOT NULL,
    stock_quantity INT DEFAULT 0,
    category_id INT,
    FOREIGN KEY (category_id) REFERENCES Categories(category_id) ON DELETE SET NULL
    );

    -- 4. إنشاء جدول الطلبات
    CREATE TABLE Orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    total_amount DECIMAL(10, 2) NOT NULL,
    status ENUM('Pending', 'Shipped', 'Delivered', 'Cancelled') DEFAULT 'Pending',
    FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE
    );

    -- 5. إنشاء جدول تفاصيل الطلب (المنتجات داخل كل طلب)
    CREATE TABLE Order_Items (
    order_item_id INT AUTO_INCREMENT PRIMARY KEY,
    order_id INT,
    product_id INT,
    quantity INT NOT NULL,
    unit_price DECIMAL(10, 2) NOT NULL, -- السعر وقت الشراء
    FOREIGN KEY (order_id) REFERENCES Orders(order_id) ON DELETE CASCADE,
    FOREIGN KEY (product_id) REFERENCES Products(product_id)
    );

  2. #2
    من أهل الدار
    تاريخ التسجيل: July-2021
    الدولة: جمهورية الانبار
    الجنس: ذكر
    المشاركات: 7,037 المواضيع: 280
    صوتيات: 5 سوالف عراقية: 0
    التقييم: 9592
    مزاجي: عال العال
    أكلتي المفضلة: سمج
    موبايلي: سامسووووونج
    آخر نشاط: منذ 12 ساعات
    عساكم على القوة
    ​&&&&&&&&

  3. #3
    من أهل الدار
    مطورة برمجيات
    اقتباس المشاركة الأصلية كتبت بواسطة مجيدخلف غضيب مشاهدة المشاركة
    عساكم على القوة
    ​&&&&&&&&

تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال