مشروع نظام مبيعات متكامل قاعدة بيانات
مشروع قاعدة بيانات لشركة ابداع الماضي لتجارة الاقمشة والجلديات هو عبارة عن مشروع نظام مبيعات هدفه تطبيق ما تمت دراسته في مقرر قواعد البيانات 1 النظري والعملي معا.تم تصميم قاعدة البيانات هذه لنظام حقيقي في ارض الواقع لم يكن بتلك السهولة ولكن كان الله مدبر لكل شيء
تم العمل على هذا المشروع في فريق حيث تعلمنا الكثير من المهارات سواء مهارات تنتمي الى هذا مقرر او مهارات ثانوية مثل العمل في فريق و تقسيم العمل و الاتفاق على نهج معين اثناء العمل من اجل سهولة فهم كل شخص في الفريق ما قام بإنجازه صديقة وما يجب عليه ان يفعله.
تم انجاز مشروع نظام إدارة المبيعات وفقا لخطوات معينة كانت كالتالي:
الخطوة الأولى : تحليل نظام المبيعات القديم للمؤسسة
تحليل النظام القديم للمؤسسة والذي هو عبارة عن نظام منشاء سابقا حيث تم المناقشة على كيف يدور نظام التعامل في المحل وماهي المشاكل التي يواجهونها وذلك بسبب اننا لم نصادفمحل يستخدم النظام الورقي فلذالك قمنا بالتواصل مع احد الموظفين في شركة ابداع الماضي ومناقشته حتى توضحت لنا الرؤيه فلم يعطونا معلومات كافية والسبب انه من اجل الحماية او ما شابه ذلك بعد ذلك قمنا بتحديد المتطلبات للنظام
المتطلبات:
- يجب أن تدون المبيعات في فواتير المبيعات بحيث أن كل فاتورة تدون فيها عملية بيع واحدة أو أكثر وتبين في فاتورة المبيعات رقم الفاتور ،( (key attributeونوع الفاتورة، والخصم، والتاريخ. ويجب أن كل عملية بيع تدون في فاتورة واحدة. ويبين في المبيعات رقم العملية key )، (attributeوالكمية، ويستنتج الإجمالي.
- يجب أن مندوب المبيعات يصدر فاتورة مبيعات واحدة أو أكثر، ويمكن أن فاتورة المبيعات تصدر من مندوب المبيعات. ويعرف في مندوب المبيعات رقم المندوب ،( (key attribute واسم المندوب، ورقم هاتف أو أكثر وساعات استخدام السيارة.
- يجب أن لكل عميل فاتورة مبيعات واحدة أو أكثر، وفاتورة المبيعات الواحدة يمتلكها عميل واحد
- فقط. ويعرف في العميل اسم العميل ) ، (key attributeواسم العميل، وعنوان العميل )المدينة،
- الشارع)، التواصل (رقم هاتف، موقع نت، بريد الكتروني).
- -يجب أن كل عملية بيع يتم فيها بيع صنف واحد فقط، ويمكن أن يباع الصنف بعملية بيع أو أكثر. ويبين في الصنف رقم الصنف (key attribute)واسم الصنف، ووحدة القياس، وسعر الوحدة.
- الصنف الواحد يسوقه مندوب مبيعات واحد أو أكثر، والمندوب الواحد يسوق صنف أو أكثر.
- الصنف الواحد يسحب من مخزن واحد أو أكثر، والمخزن الواحد يسحب منه صنف أو أكثر. ويبين في المخزن رقم المخزن ، ( (key attribute وعنوان المخزن، ويستنتج حالة المخزون.
- يجب أن تدون المشتريات في فواتير المشتريات بحيث أن كل فاتورة تدون فيها عملية شراء واحدة أو أكثر. وتبين في فاتورة المشتريات رقم الفاتورة ، (key attribute ) ونوع الفاتورة، وخصومات الموردين، والتاريخ، والملاحظات. ويجب أن كل عملية شراء تدون في فاتورة واحدة. ويبين في المشتريات رقم العملية ،( key attribute) والكمية، ويستنتج الإجمالي.
- يجب أن كل عملية شراء تحتوي صنف واحد فقط، وكل صنف يحتوى بعملية شراء واحدة أو أكثر.
- يجب أن كل مشترى يخزن في مخزن واحد أو أكثر، والمخزن يخزن فيه من عملية شراء أو أكثر.
- يجب أن كل مشترى أن تورد من مورد أو أكثر، المورد يورد مشترا أو أكثر. ويعرف في المورد
- رقم المورد ،( (key attributeواسم المورد، والعنوان )المدينة، الشارع)، ورقم هاتف أو أكثر، وموقع نت، وبريد إلكتروني
الخطوة الثانية : رسم مخطط الكيانات والعلاقات ERD لنظام المبيعات
الخطوة الثالثة : تحويل مخطط نظام المبيعاتERD الى مخطط mapping schema
بعد ان انتهينا من انشاء مخطط الكيانات والعلاقات erd لنظام المبيعات ومراجعته قمنا بتحويله الى مخطط قاعدة البيانات او ما يسمى بمخطط سكيما mapping schema.الخطوة الرابعة : تحويل mapping schema الى جداول في الحاسوب لتنفيذ نظام المبيعات
الجداول قد تكون ليست مرتبة بنفس ال ترتيب وقت الانشاء
أوامر انشاء الجداول لنظام المبيعات
1- إنشاء جدول ال customers
1
2
3
4
5
6
7
8
9 | create table customers ( customer_id number primary key, customer_name varchar2(30) not null, city_add varchar2(10), street_add varchar2(20), phone_no number not null, wep_site varchar2(30), email varchar2(30) ); |
2- انشاء
جدول salesmen
1
2
3
4
5 | create table salesmen ( salesman_id number primary key, salesman_name varchar2(30) not null, car_work_hour number ); |
3- انشاء
جدول suppliers
1
2
3
4
5
6
7
8
9 | create table suppliers ( supplier_id number primary key, supplier_name varchar2(30) not null, city_add varchar2(20), street_add varchar2(10), wep_site varchar2(30), email varchar2(30) ); |
4- انشاء جدول stocks
1
2
3
4
5 | create table stocks ( stock_id number primary key, stock_add varchar2(30) not null, ); |
5- إنشاء جدول items
1
2
3
4
5
6
7 | create table items ( item_id number primary key, item_name varchar2(20) not null, unit_price number not null, measure_unit varchar2(10) ); |
6- إنشاء جدول pbills
1
2
3
4
5
6 | create table pbills) pbill_id number primary key, pbill_type varchar2(10) not null, supplier_discount number, pbill_date number not null, notes varchar2(50)); |
7- إنشاء جدول sbills
1
2
3
4
5
6
7
8
9 | create table sbills ( sbill_id number primary key, sbill_type varchar2(10) not null, sbill_date number not null, discount number, customer_id number references customers(customer_id) on delete cascade, salesman_id number references salesmen(salesman_id) on delete cascade, notes varchar2(50)); |
8- إنشاء جدول Purchases
1
2
3
4
5
6
7 | create table purchases ( purchase_id number primary key, qty number not null, pbill_id number references pbills(pbill_id) on delete cascade, item_id number references items(item_id) on delete cascade ); |
9- إنشاء جدول Sales
1
2
3
4
5
6
7 | create table sales ( sale_id number primary key, qty number not null, sbill_id number references sbills(sbill_id) on delete cascade, item_id number references items(item_id) on delete cascade ); |
10-
إنشاء جدول pull
1
2
3
4
5 | create table pull ( item_id number references items(item_id) on delete cascade, stock_id number references stocks(stock_id) on delete cascade, constraint pk primary key(item_id,stock_id)); |
11-
إنشاء جدول marketing
1
2
3
4
5
6 | create table marketing ( item_id number references items(item_id) on delete cascade, salesman_id number references salesmen(salesman_id) on delete cascade, constraint pk1 primary key(item_id,salesman_id) ); |
12-
إنشاء جدول store
1
2
3
4
5
6 | create table store ( stock_id number references stocks(stock_id) on delete cascade, purchase_id number references purchases(purchase_id) on delete cascade, constraint pk2 primary key(stock_id,purchase_id) ); |
13-
إنشاء جدول supply
1
2
3
4
5
6 | create table supply ( supplier_id number references suppliers(supplier_id) on delete cascade, purchase_id number references purchases(purchase_id) on delete cascade, constraint pk3 primary key(supplier_id,purchase_id) ); |
14-
إنشاء جدول Sphones
1
2
3
4
5
6 | create table sphones ( supplier_id number references suppliers(supplier_id) on delete cascade, supplier_phone number not null, constraint pk4 primary key(supplier_id,supplier_phone) ); |
15-
إنشاء جدول
Sdphones
1
2
3
4
5
6 | create table sdphones ( salesman_id number references salesmen(salesman_id) on delete cascade, salesman_phone number not null, constraint pk5 primary key(salesman_id,salesman_phone) ); |
الخطوة الخامسة : تمثيل قواميس الجداول في قاعدة البيانات لنظام المبيعات
customers
Number | Name | description | Type | Type of constraint | use |
---|---|---|---|---|---|
1-
|
رقم العميل |
Number(3) |
PRIMARY KEY |
customers, sbills |
|
2-
|
اسم
العميل |
Varchar2(30) |
|
customers |
|
3-
|
العنوان المدينة |
Varchar2 |
|
customers |
|
4-
|
العنوان
الشارع |
Varchar2 |
|
customers |
|
5-
|
رقم هاتف العميل |
Number |
Not Null |
customers |
|
6-
|
موقع
انترنت |
Varchar2 |
|
customers |
|
7-
|
الايميل |
Varchar2 |
|
customers |
Salesmen
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم البائع |
Number |
Primary Key |
Salesmen, Sphones, marketing, sbills |
|
2-
|
اسم البائع |
Varchar2 |
Not Null |
Salesmen |
|
3-
|
عدد ساعات
استخدام السيارة |
Number |
|
Salesmen |
SUPPLIERS
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم المورد |
Number |
Primary
Key |
Suppliers, Supply, Sphones |
|
2-
|
اسم المورد |
Varchar2 |
Not Null |
Suppliers |
|
3-
|
العنوان مدينة |
Varchar2 |
|
Suppliers |
|
4-
|
العنوان شارع |
Varchar2 |
|
Suppliers |
|
5-
|
موفع انترنت |
Varchar2 |
|
Suppliers |
|
6-
|
الايميل |
Varchar2 |
|
Suppliers |
Stocks
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم المخزن |
Number |
Primary Key |
Stocks, Pull, store |
|
2-
|
عنوان المخزن |
Varchar2 |
|
Stocks |
Items
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم الصنف |
Number |
Primary Key |
Items, Pull, Sales, Marketing, purchases |
|
2-
|
اسم الصنف |
Varchar2 |
Not Null |
Items |
|
3-
|
سعر الوحدة |
Number |
Not Null |
Items |
|
4-
|
وحدة القياس |
Varchar2 |
|
Items |
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم فاتورة المشتريات |
Number |
Primary Key |
Pbills, purchases |
|
2-
|
نوع الفاتورة |
Varchar2 |
Not Null |
Pbills |
|
3-
|
خصم المورد |
Number |
|
Pbills |
|
4-
|
تاريخ الفاتورة |
Number |
Not Null |
Pbills |
|
5-
|
ملاحظات |
Varchar2 |
|
Pbills |
SBILLS
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
SBILL_ID |
رقم فاتورة
المبيعات |
NUMBER |
Primary key |
Sbills, Sales, |
2-
|
SBILL_TYPE |
نوع الفاتورة |
VARCHAR2 |
|
Sbills |
3-
|
SBILL_DATE |
تاريخ
الفاتورة |
DATE |
|
Sbills |
4-
|
DISCOUNT |
الخصم |
NUMBER |
|
Sbills |
5-
|
CUSTOMER_ID |
رقم العميل |
NUMBER |
FOREIGN KEY |
Sbills, Customers |
6-
|
SALESMAN_ID |
رقم المندوب |
NUMBER |
FOREIGN KEY |
Sbills, Salesmen, Sphones, marketing, |
7-
|
NOTES |
ملاحظات |
VARCHAR2 |
|
Sbills |
PURCHASES
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
PURCHASE_ID |
رقم عملية الشراء |
NUMBER |
PRIMARY KEY |
Purchases, Store, supply |
2-
|
QTY |
الكمية |
NUMBER |
|
Purchases |
3-
|
PBILL_ID |
رقم الفاتورة |
NUMBER |
FOREIGN KEY |
Purchases, Pbills |
4-
|
ITEM_ID |
رقم الصنف |
NUMBER |
FOREIGN KEY |
Purchases, items |
SALES
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم عملية البيع |
Number |
PRIMARY KEY |
Sales |
|
2-
|
الكمية |
Number |
|
Sales |
|
3-
|
رقم فاتورة الشراء |
Number |
FOREIGN KEY. |
Sales, Sbills |
|
4-
|
رقم الصنف |
Number |
FOREIGN KEY |
Sales, Items |
PULL
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
ITEM_ID |
رقم الصنف |
NUMBER |
FOREIGN KEY |
Items, Pull, Sales, Marketing, purchases |
2-
|
STOCK_ID |
رقم المخزن |
NUMBER |
FOREIGN KEY |
Stocks, Pull, store |
MARKETING
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
ITEM_ID |
رقم الصنف |
NUMBER |
FOREIGN KEY |
Items, Pull, Sales, Marketing, purchases |
2-
|
SALESMAN_ID |
رقم مندوب المبيعات |
NUMBER |
FOREIGN KEY |
Salesmen, Sphones, marketing, sbills |
STORE
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
STOCK_ID |
رقم المخزن |
NUMBER |
FOREIGN KEY |
Stocks, Pull, store |
2-
|
PURCHACE_ID |
رقم عملية الشراء |
NUMBER |
FOREIGN KEY |
Purchases, Store, supply |
SUPPLY
Number |
Name |
description |
Type |
Type of constraint |
Use |
1-
|
رقم المورد |
Number |
FOREIGN KEY |
Suppliers, Supply, Sphones |
|
2-
|
رقم عملية الشراء |
Number |
FOREIGN KEY |
Purchases, Store, supply |
SDPHONES
Number |
Name |
Description |
Type |
Type of constraint |
Use |
1-
|
رقم المندوب |
Number |
FOREIGN KEY |
Salesmen, Sphones, marketing, sbills |
|
2-
|
هاتف المورد |
Number |
Primary KEY |
Sdphones. |
SPHONES
Number |
Name |
description |
Type |
Type of constraint |
Use |
1-
|
رقم المورد |
Number |
FOREIGN KEY |
Suppliers, Supply, Sphones |
|
2-
|
هاتف المورد |
Number |
PRIMARY KEY |
Sphones |
الى هنا نكون قد انتهينا من تخطيط وتصميم وتنفيذ مشروع مشروع نظام مبيعات متكامل قاعدة البيانات
فين التصميم
ردحذفلا يوجد تصميم نوافذ اخي الكريم هذا مجرد المخطط و الجداول
حذفاين تكملة المشروع
ردحذفهذا كان مشروع خاص بقواعد بيانات وهو تصميم وتحليل قاعدة البيانات لمؤسسة ولا يوجد اي برنامج لربطه بقاعدة البيانات
حذف