الجزء 2: تصميم قاعدة البيانات
مخطط قاعدة البيانات
فيما يلي مخطط قاعدة البيانات لنظام نقاط البيع (POS):
الجداول:
- categories:
id
(INT, Primary Key, Auto Increment)name
(VARCHAR)
- products:
id
(INT, Primary Key, Auto Increment)category_id
(INT, Foreign Key to categories.id)name
(VARCHAR)price
(DECIMAL)stock
(INT)
- customers:
id
(INT, Primary Key, Auto Increment)name
(VARCHAR)email
(VARCHAR)phone
(VARCHAR)address
(TEXT)
- sales:
id
(INT, Primary Key, Auto Increment)customer_id
(INT, Foreign Key to customers.id)sale_date
(DATETIME)total_amount
(DECIMAL)
- sale_items:
id
(INT, Primary Key, Auto Increment)sale_id
(INT, Foreign Key to sales.id)product_id
(INT, Foreign Key to products.id)quantity
(INT)unit_price
(DECIMAL)total_price
(DECIMAL)
إنشاء قاعدة البيانات
الوصول إلى phpMyAdmin
لتبدأ في إنشاء قاعدة البيانات، قم بالوصول إلى phpMyAdmin من خلال الانتقال إلى http://localhost/phpmyadmin/
.
إنشاء قاعدة البيانات
اتبع الخطوات التالية لإنشاء قاعدة البيانات:
- اضغط على “New” وقم بتسمية قاعدة البيانات
pos_system
. - اضغط على “Create”.
إنشاء الجداول
استخدم تبويب SQL في phpMyAdmin لتنفيذ السكربتات التالية لإنشاء الجداول المطلوبة:
-- إنشاء جدول الفئات (categories)
CREATE TABLE categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
-- إنشاء جدول المنتجات (products)
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
category_id INT NOT NULL,
name VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL,
stock INT NOT NULL,
FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE CASCADE
);
-- إنشاء جدول العملاء (customers)
CREATE TABLE customers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20),
address TEXT
);
-- إنشاء جدول المبيعات (sales)
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT NOT NULL,
sale_date DATETIME DEFAULT CURRENT_TIMESTAMP,
total_amount DECIMAL(10,2) NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);
-- إنشاء جدول عناصر المبيعات (sale_items)
CREATE TABLE sale_items (
id INT AUTO_INCREMENT PRIMARY KEY,
sale_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
unit_price DECIMAL(10,2) NOT NULL,
total_price DECIMAL(10,2) NOT NULL,
FOREIGN KEY (sale_id) REFERENCES sales(id) ON DELETE CASCADE,
FOREIGN KEY (product_id) REFERENCES products(id) ON DELETE CASCADE
);
عند تنفيذ هذه التعليمات البرمجية، سيتم إنشاء الجداول اللازمة لإدارة نظام نقاط البيع.
اترك تعليقاً