44
1 ا ا ا ﺟﺎﻣﻌﺔ اﻟﻨﻴﻠﻴﻦ ﻛﻠﻴﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮب وﺗﻘﺎﻧﺔ اﻟﻤﻌﻠﻮﻣﺎت ﻣﺎﺟﺴﺘﻴﺮ ﺗﻘﺎﻧﺔ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺠﻤﻮﻋﺔ اﻟﺜﺎﻧﻴﺔتد اوا روع روي اد ار راءم اظ اد ا إ: ﺻﻔﻴﻪ ﻧﺎﺟﺢ ﻧﻮري اﻟﺒﺪرياف : إ دﻛﺘﻮر ﻃﺎرق

مشروع قواعد البيانات

Embed Size (px)

DESCRIPTION

تحليل نظام البيع في شركة الخندقاوي التجاريه من وجهة نظر قواعد البيانات

Citation preview

Page 1: مشروع قواعد البيانات

1

ا ا ا

جامعة النيلين

كلية علوم الحاسوب وتقانة المعلومات

ماجستير تقانة المعلومات

المجموعة الثانية

روع واد ات

روي ادا ر راءم اظ

اد اإ :

صفيه ناجح نوري البدري

إاف :

دكتور طارق

Page 2: مشروع قواعد البيانات

2

أهمية تصميم قواعد البيانات :

إن عملية بناء قاعدة بيانات جيده ال يأيت بتلك السهولة ، إذ البد من بذل

والتصميم اجليد لقاعدة البيانات جهد كبري للحصول على قاعدة بيانات جيده .

التصميم السيء فسيؤدي إىل تكرار يسهل عملية إستخدام وإدارة هذه القاعده ، أما

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

ره البيانات إىل نتائج غري صحيحة عند طلب تلك البيانات من تلك القاعدة وهذه بدو

يؤدي إىل أن أي قرارات إدارية وكذلك أي ختطيط مستقبلي سيكون خاطئا إلعتماده

على معلومات غري صحيحة .

: Database Life Cycle (DBLC)دورة حياة قاعدة البيانات

إن عملية تطوير قاعدة البيانات متر مبجموعة من املراحل ، هذه املراحل املتتالية

تسمى بدورة حياة قاعدة البيانات ، وهذ املراحل أو دورة احلياة متر بصورة متزامنة

املعلومات . نظامحياة ضمن مراحل دورة

تتكون دورة حياة قاعدة البيانات من المراحل التالية :

وهي مرحلة فات والمتطلبات الخاصة بقاعدة البيانات : تحديد المواص -١

جزئية ضمن مجع مواصفات ومتطلبات نظام املعلومات يف مرحلة التحليل .

Page 3: مشروع قواعد البيانات

3

: Conceptual Databaseإعداد قاعدة البيانات األولية -٢

كينونة -وفيها يتم تصميم منوذج أويل للبيانات بواسطة خمططات عالقة

(ER-D) .

حتويل : Logical Databaseتصميم قاعدة البيانات المنطقية -٣

، إىل خمطط اإلسكيما (ER-D)قاعدة البيانات األولية ، أو خمطط

)Database Schema وذلك بإتباع قواعد التحويل ، (Mapping

Rules .

وذلك بتطبيق قواعد التطبيع تحسين قاعدة البيانات المنطقية : -٤

Normalization � دف إىل تقليل تكرارية البيانات ، من أجل اليت

رفع كفاءة قاعدة البيانات ما أمكن .

ويف هذه : Physical Databaseتنفيذ قاعدة البيانات الفيزيائية -٥

، وحيدد فيها بنية SQLبلغة املرحلة يتم كتابة أكواد إنشاء قاعدة البيانات

اجلداول ونوع بيانات احلقول واملفاتيح األساسية واألجنبية وباقي شروط

تصميم قاعدة البيانات ، مث تنفيذ ذلك ضمن نظام إدارة قاعدة البيانات

, Oracle , Access , Sqlserver، مثل ( DBMSمناسب

Mysql … etc. (

سابقة ، جند أن مرحلة التصميم تبدأ وإعتمادا على دورة حياة قاعدة البيانات ال

باملرحلة الثالثة من دورة حياة قاعدة البيانات .

Page 4: مشروع قواعد البيانات

4

عن الشركه : تعريفيةنبذه

تعترب شركة اخلندقاوي التجارية احملدودة إحدى كربيات الشركات السودانية

العامله يف جمال إسترياد وجتارة الوابورات الزراعية وطواحني الغالل واملولدات

الكهربائية ومعاصر الزيوت وعدات الورش واإلسبريات .

اليابان) وهي وكيال –اهلند –تقوم الشركه بإسترياد هذه اآلليات من (الصني

حصريا للعديد من املاركات التجارية ذات الشهرة الواسعه يف األسواق السودانية .

ذلك لتسهيل وصول تنتشر فروع الشركة يف واليات السودان األخرى و

خدمات الشركة وسلعها إىل يد املستهلك بسهولة ويسر .

جنوب مسجد فاروق، –شارع اجلمهورية –املركز الرئيسي للشركة يف اخلرطوم

وهلا العديد من الفروع يف أمدرمان ، الدامر ، شندي ، ربك ، األبيض ، نياال ،

املناقل ، القضارف .

أنشطتها :

يف جمال إسترياد وجتارة الوابورات الزراعية وطواحني الغالل تعمل الشركة -١

واملولدات الكهربائية ومعاصر الزيوت وعدات الورش واإلسبريات .

تقوم الشركة بإسترياد طلمبات املياه الزراعية من الصني واهلند . -٢

متتلك الشركة مصنع إلنتاج حجارة الطواحني ماركة أبوجا موسى -٣

. السودانية املعروفه

Page 5: مشروع قواعد البيانات

5

تعمل الشركه يف بضائع أخرى ذات إستخدامات حيوية يف احلياة اليومية. -٤

: أهدافها

تسهيل وصول السلعة إىل يد املستهلك بسهولة ويسر . -١

تلبية خدمات زبائنها بصورة سريعة . -٢

فتح فروع للشركة يف واليات السودان �دف تقدمي أفضل اخلدمات لكل -٣

عمالئها أين ماكانو .

Page 6: مشروع قواعد البيانات

6

وصف النظام :

: نظام البيع في المعارض

يقوم العميل أو الزبون بتحديد اإلضافه اليت حيتاج إليها ملوظف -١

املبيعات.

دفع قيمة اإلضافة اليت مت حتديدها وإستالم إيصال نقدي (فاتورة البيع). -٢

دفع املبلغ باخلزينه وإستالم نسخة من اإليصال والرجوع إىل موظف -٣

املبيعات .

موظف املبيعات بالتحقق من توقيع أمني اخلزينه . يقوم -٤

إستخراج إذن تسليم البضاعة من املخزن (صرفه) . -٥

إستالم البضاعة من املخزن . -٦

نظام دخول البضاعة إلى المخازن :

يستلم أمني املخزن بولستة الشحن به تفاصيل البضاعة . -١

لف توزيع البضائع داخل املخزن حسب احلجم والنوعيه ومراعاة ت -٢

البضاعه إذا كانت البضاعة قابلة للتلف بفعل العوامل املناخيه (حراره

الشمس ، أمطار وغريها ) .

يقوم أمني املخزن بتدوين اإلضافة بدفرت يسمى (بدفرت حركة املخزن) . -٣

التوقيع على اإلضافة اليت مت إستالمها يف بولستة الشحن . -٤

Page 7: مشروع قواعد البيانات

7

: )تحليل المتطلباتالبيانات (تحديد المواصفات والمتطلبات الخاصة بقاعدة

وهى مرحلة جزئية ضمن مجع مواصفات ومتطلبات نظام املعلومات

: تحليل األجهزة -١

تالثة وتكون باملواصفات التالية: clientالطرفيات

HP DX 2200 نوع اجلهاز

Intel Processor Core i3 , ٦ GHz : املعاجل

RAM ٣GB الذاكرة الرئيسية :

HDD 350 GB القرص الصلب:

DVD:RM:52 مشغل اإلقراص الصلبة:

MONITOR17" LCD الشاشة :

Page 8: مشروع قواعد البيانات

8

تحليل البرمجيات: -٢

-الربجميات املقرتحة هي:

علي مستوي اجلهاز windows server2003نظام التشغيل يكون -

يكون client إما علي مستوي االجهزه الطرفية serverالرئيسي املخدم

windows xp .

oracleنظام إدارة قواعد البيانات املستخدم يف معاجلة البيانات وختزينها هو -

10g.

تحليل الشبكات: -٣

. twisted pairشبكة حملية جنمية توصل بكابالت من النوع -

لربط األجهزة مع بعضها البعض. switchجهاز -

Page 9: مشروع قواعد البيانات

9

Conceptual Databaseإعداد قاعدة البيانات األولية

الموظف

یستلمصرفھ(إذن

تسلیم)

یستخرج

العمیل

یطلب

(یحدد

اإلضافھ

یستلم

یدفع

المبلغ

الخزینھ

یتأكد

من

یستلم

ویوقع

بولستة الشحن

(األصناف)

تخزن

المخزن

یستلم

المستلم

المورد

یورد

فاتورة المبیعات

1

1

M

M

M

1

M

1

1 1

1 1

M

1 1

MM

MM

Page 10: مشروع قواعد البيانات

10

Logical Databaseتصميم قاعدة البيانات المنطقية

Emp

Emp_id

Emp_name

Emp_address

Emp_phone

Emp_job

customer

customer_id

customer_name

customer_phone

customer_address

Company

Company_id

Company_name

Company_email

Company _Country

Item

Item_id

Item_name

Item_type_id

Company_id

Item_price

Item_max

Item_min

Stock

Incoming

Incoming_id

Item_type_id

Item_id

Incoming_detail_unit

Incoming_detail_qty

Incoming_detail_total

Incoming_detail_note

Supplier_id

receives

received_id

received_name

outgoing

outgoing_id

Item_type_id

Item_id

outgoing _detail_unit

outgoing _detail_qty

outgoing_detail_total

outgoing _detail_note

received_id

Stock

Stock_id

Stock_name

Emp_id

Invoices

Invoices _id

Item_type_id

Item_id

Invoices _detail_qty

Item_price

Incoming_detail_total

Incoming_detail_note

Customer_id

Supplier

Supplier_id

Supplier_name

Supplier_phone

Supplier_email

Supplier_address

Page 11: مشروع قواعد البيانات

11

(مراجعة النموذج Normalizationتحسين قاعدة البيانات المنطقية

المنطقي) :

يوجد تكرار يف هذه البيانات وكذلك بعض اجلداول غري مربوطه مع بقية اجلداول فيتم

على هذا املخطط ليكون مرتابط ومتكامل normalizationتطبيق قواعد ال

والتغيري يكون كالتايل :واليوجد به تكرار ،

Emp

Emp_id

Emp_name

Emp_address

Emp_phone

Job_id

job

job_id

job_name

Country

Country_id

Country_name

Company

Company_id

Company_name

Company_email

Country_id

Outgoing

Outgoing_id

Outgoing_date

Received_id

outgoing_detail

outgoing_id

Item_type_id

Item_id

outgoing _detail_unit

outgoing _detail_qty

outgoing_detail_total

outgoing _detail_note

Page 12: مشروع قواعد البيانات

12

Incoming

Incoming_id

Buy_no

Incoming_date

Supplier_id

Stock_id

Incoming_detail

Incoming_id

Item_type_id

Item_id

Incoming_detail_unit

Incoming_detail_qty

Incoming_detail_total

Incoming_detail_note

Invoices

Invoices_id

Invoices_date

Customer_id

Invoices_detail

Invoices _id

Item_type_id

Item_id

Invoices _detail_qty

Item_price

Incoming_detail_total

Incoming_detail_note

Item_type

Item_type_id

Item_type_name

Item

Item_id

Item_name

Item_type_id

Company_id

Item_price

Item_max

Item_min

Stock_id

Page 13: مشروع قواعد البيانات

13

Logical Databaseتصميم قاعدة البيانات المنطقية (بعد التعديل)

Emp

Emp_id

Emp_name

Emp_address

Emp_phone

Job_id

job

job_id

job_name

customer

customer_id

customer_name

customer_phone

customer_address

Country

Country_id

Country_name

Company

Company_id

Company_name

Company_email

Country_id

Item_type

Item_type_id

Item_type_name

Item

Item_id

Item_name

Item_type_id

Company_id

Item_price

Item_max

Item_min

Stock_id

Incoming

Incoming_id

Buy_no

Incoming_date

Supplier_id

Stock_id

Incoming_detail

Incoming_id

Item_type_id

Item_id

Incoming_detail_unit

Incoming_detail_qty

Incoming_detail_total

Incoming_detail_note

receives

received_id

received_name

Outgoing

Outgoing_id

Outgoing_date

Received_id

outgoing_detail

outgoing_id

Item_type_id

Item_id

outgoing _detail_unit

outgoing _detail_qty

outgoing_detail_total

outgoing _detail_note

Stock

Stock_id

Stock_name

Emp_id

Invoices

Invoices_id

Invoices_date

Customer_id Invoices_detail

Invoices _id

Item_type_id

Item_id

Invoices _detail_qty

Item_price

Incoming_detail_total

Incoming_detail_note

Supplier

Supplier_id

Supplier_name

Supplier_phone

Supplier_email

Supplier_address

Page 14: مشروع قواعد البيانات

14

Physical Databaseتنفيذ قاعدة البيانات الفيزيائية

jobجدول الوظيفه -١

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Job_id رقم الوظیفة

-- VARCHAR2 ٣٠ Job_name إسم الوظیفة

empجدول الموظف -٢

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Emp_id رقم الموظف

-- VARCHAR2 ٣٠ Emp_name إسم الموظف

-- VARCHAR2 ٣٠ Emp_address العنوان

-- VARCHAR2 ١٤ Emp_phone الهاتف

VARCHAR2 FK ١٠ Job_id رقم الوظیفة

customerجدول العميل -٣

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Customer_id رقم العمیل

-- VARCHAR2 ٣٠ Customer_name إسم العمیل

-- VARCHAR2 ١٤ Customer_phone الهاتف

-- VARCHAR2 ٣٠ Customer_address العنوان

countryجدول البلد -٤

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Country_id رقم البلد

Page 15: مشروع قواعد البيانات

15

-- VARCHAR2 ٣٠ Country_name إسم البلد

companyجدول الشركه المصنعه -٥

البرمجياإلسم اسم الحقل الخصائص نوع البیانات حجم الحقل

VARCHAR2 PK ١٠ Company_id رقم الشركه

-- VARCHAR2 ٣٠ Company_name إسم الشركه

-- VARCHAR2 ٣٠ Company_email البرید اإللكتروني

VARCHAR2 FK ١٠ Country_id البلد

item_typeجدول أنواع األصناف -٦

الحقل حجم اإلسم البرمجي اسم الحقل الخصائص نوع البیانات

VARCHAR2 PK ١٠ Item_type_id رقم نوع الصنف

-- VARCHAR2 ٣٠ Item_type_name إسم نوع الصنف

item جدول األصناف -٧

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Item_id رقم الصنف

-- VARCHAR2 ٣٠ Item_name إسم الصنف

VARCHAR2 FK ١٠ Item_type_id رقم نوع الصنف

VARCHAR2 FK ١٠ Company_id رقم الشركه المصنعه

-- VARCHAR2 ١٠ Item_price السعر

-- VARCHAR2 ١٠ Item_max الحد األعلى

-- VARCHAR2 ١٠ Item_min الحد األدنى

VARCHAR2 FK ١٠ Stock_id رقم المخزن

Page 16: مشروع قواعد البيانات

16

incomingجدول مستند اإلدخال -٨

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Incoming_id رقم مستند اإلدخال

-- VARCHAR2 ١٠ Buy_no رقم الشراء

-- Incoming_date -- VARCHAR2 تاریخ اإلدخال

VARCHAR2 FK ١٠ Supplier_id رقم المورد

VARCHAR2 FK ١٠ Stock_id المخزنرقم

incoming_detailجدول المواد المدخله في مستند اإلدخال -٩

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 FK ١٠ Incoming_id رقم مستند اإلدخال

VARCHAR2 FK ١٠ Item_type_id رقم نوع الصنف

VARCHAR2 FK ١٠ Item_id رقم الصنف

-- VARCHAR2 ٣٠ Incoming_detail_unit الوحده

-- VARCHAR2 ١٠ Incoming_detail_qty الكمیه المدخله

-- VARCHAR2 ١٠ Incoming_detail_total اإلجمالي

-- VARCHAR2 ٥٠ Incoming_detail_note مالحظات

receivesجدول المستلمين - ١٠

الحقلحجم اإلسم البرمجي اسم الحقل الخصائص نوع البیانات

VARCHAR2 PK ١٠ Received_id رقم المستلم

-- VARCHAR2 ٣٠ Received_name إسم المستلم

Page 17: مشروع قواعد البيانات

17

outgoingجدوإل مستند اإلخراج - ١١

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Outgoing_id رقم سند اإلخراج

-- Outgoing_date -- VARCHAR2 تاریخ اإلخراج

VARCHAR2 FK ١٠ Received_id رقم المستلم

outgoing_detailجدول البيانات المدخله في مستند اإلخراج - ١٢

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 FK ١٠ Outgoing_id رقم سند اإلخراج

VARCHAR2 FK ١٠ Item_type_id رقم نوع الصنف

VARCHAR2 FK ١٠ Item_id رقم الصنف

-- VARCHAR2 ٣٠ Outgoing__detail_unit الوحده

-- VARCHAR2 ١٠ Outgoing__detail_qty الكمیه

-- VARCHAR2 ١٠ Outgoing__detail_total اإلجمالي

-- VARCHAR2 ٥٠ Outgoing__detail_note مالحظات

stockجدول المخزن - ١٣

الحقلاسم الخصائص نوع البیانات حجم الحقل اإلسم البرمجي

VARCHAR2 PK ١٠ Stock_id رقم المخزن

-- VARCHAR2 ٣٠ Stock_name إسم المخزن

VARCHAR2 FK ١٠ Emp_id رقم الموظف

Page 18: مشروع قواعد البيانات

18

invoicesجدول فاتورة البيع - ١٤

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Invoices_id البیع رقم فاتورة

-- Invoices_date -- VARCHAR2 تاریخ فاتورة البیع

VARCHAR2 FK ١٠ Customer_id رقم العمیل الصادرة له

invoice_detailجدول المواد الصادرة في فاتورة البيع - ١٥

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 FK ١٠ Invoice_id البیعرقم فاتورة

VARCHAR2 FK ١٠ Item_type_id رقم نوع الصنف

VARCHAR2 FK ١٠ Item_id رقم الصنف

-- VARCHAR2 ١٠ Invoice_detail_qty الكمیه

VARCHAR2 FK ١٠ Item_price السعر

-- VARCHAR2 ١٠ Invoice_detail_total اإلجمالي

-- VARCHAR2 ٥٠ Invoice_detail_note مالحظات

supplierجدول الموردين - ١٦

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Supplier_id رقم المورد

-- VARCHAR2 ٣٠ Supplier_name إسم المورد

-- VARCHAR2 ١٤ Supplier_phone رقم الهاتف

-- VARCHAR2 ٣٠ Supplier_email البرید اإللكتروني

-- VARCHAR2 ٣٠ Supplier_address العنوان

Page 19: مشروع قواعد البيانات

19

Pyجدول الخزينه - ١٧

الخصائص نوع البیانات حجم الحقل اإلسم البرمجي اسم الحقل

VARCHAR2 PK ١٠ Py_Id رقم الخزینة

-- VARCHAR2 ١٠ Py_Type نوع الدفع

-- NUMBER ١٠ Paid المبلغ المدفوع

VARCHAR2 FK ١٠ Invoices_id فاتورة البیع

VARCHAR2 FK ١٠ Customer_id العمیل

VARCHAR2 FK ١٠ Emp_id الموظف

Page 20: مشروع قواعد البيانات

20

SQL Code (Create Tables) : CREATE TABLE job (job_id VARCHAR2(10) NOT NULL, job_name VARCHAR2(30), ADD CONSTRAINT job_id_pk PRIMARY KEY (job_id));

CREATE TABLE emp (emp_id VARCHAR2(10) NOT NULL, emp_name VARCHAR2(30), emp_address VARCHAR2(30), emp_phone VARCHAR2(14), job_id VARCHAR2(10), ADD CONSTRAINT emp_id_pk PRIMARY KEY (emp_id), ADD CONSTRAINT emp_job_id_fk FOREIGN KEY (job_id) REFERENCES job (job_id) ON DELETE CASCADE);

CREATE TABLE customer (customer_id VARCHAR2(10) NOT NULL, customer_name VARCHAR2(30), customer_phone VARCHAR2(14), customer_address VARCHAR2(30), ADD CONSTRAINT customer_id_pk PRIMARY KEY (customer_id));

CREATE TABLE country (country_id VARCHAR2(10) NOT NULL, country_name VARCHAR2(30), ADD CONSTRAINT country_id_pk PRIMARY KEY (country_id));

CREATE TABLE company (company_id VARCHAR2(10) NOT NULL, company_name VARCHAR2(30), company_email VARCHAR2(30), country_id VARCHAR2(10), ADD CONSTRAINT company_id_pk PRIMARY KEY (company_id),

Page 21: مشروع قواعد البيانات

21

ADD CONSTRAINT company_country_id_fk FOREIGN KEY (country_id) REFERENCES country (country_id) ON DELETE CASCADE);

CREATE TABLE item_type (item_type_id VARCHAR2(10) NOT NULL, item_type_name VARCHAR2(30), ADD CONSTRAINT item_type_id_pk PRIMARY KEY (item_type_id));

CREATE TABLE item (item_id VARCHAR2(10) NOT NULL, item_name VARCHAR2(30), item_type_id VARCHAR2(10), company_id VARCHAR2(10), item_price VARCHAR2(10), item_max VARCHAR2(10), item_min VARCHAR2(10), stock_id VARCHAR2(10), ADD CONSTRAINT item_id_pk PRIMARY KEY (item_id), ADD CONSTRAINT item_item_type_id_fk FOREIGN KEY (item_type_id) REFERENCES item_type (item_type_id) ON DELETE CASCADE, ADD CONSTRAINT item_company_id_fk FOREIGN KEY (company_id) REFERENCES company (company_id) ON DELETE CASCADE, ADD CONSTRAINT item_stock_id_fk FOREIGN KEY (stock_id) REFERENCES stock (stock_id) ON DELETE CASCADE);

CREATE TABLE incoming (incoming_id VARCHAR2(10) NOT NULL, buy_no VARCHAR2(10), incoming_date DATE, supplier_id VARCHAR2(10), stock_id VARCHAR2(10) ADD CONSTRAINT incoming_id_pk PRIMARY KEY (incoming_id), ADD CONSTRAINT incoming_supplier_id_fk FOREIGN KEY (supplier_id) REFERENCES supplier (supplier_id) ON DELETE CASCADE, ADD CONSTRAINT incoming_stock_id_fk FOREIGN KEY (stock_id)

Page 22: مشروع قواعد البيانات

22

REFERENCES stock (stock_id) ON DELETE CASCADE);

CREATE TABLE incoming_detail (incoming_id VARCHAR2(10), item_type_id VARCHAR2(10), item_id VARCHAR2(10), incoming_detail_unit VARCHAR2(30), incoming_detail_qty VARCHAR2(10), incoming_detail_total VARCHAR2(10), incoming_detail_note VARCHAR2(50), ADD CONSTRAINT incoming_detail_incoming_id_fk FOREIGN KEY (incoming_id) REFERENCES incoming (incoming_id) ON DELETE CASCADE, ADD CONSTRAINT incomin_detail_item_type_id_fk FOREIGN KEY (item_type_id) REFERENCES item_type (item_type_id) ON DELETE CASCADE, ADD CONSTRAINT incoming_detail_item_id_fk FOREIGN KEY (item_id) REFERENCES item (item_id) ON DELETE CASCADE);

CREATE TABLE receives (received_id VARCHAR2(10) NOT NULL, received_name VARCHAR2(30), ADD CONSTRAINT receives_id_pk PRIMARY KEY (received_id));

CREATE TABLE outgoing (outgoing_id VARCHAR2(10) NOT NULL, outgoing_date DATE, received_id VARCHAR2(10), ADD CONSTRAINT outgoing_id_pk PRIMARY KEY (outgoing_id), ADD CONSTRAINT outgoing_received_id_fk FOREIGN KEY (received_id) REFERENCES receives (received_id) ON DELETE CASCADE);

Page 23: مشروع قواعد البيانات

23

CREATE TABLE outgoing_detail (outgoing_id VARCHAR2(10), item_type_id VARCHAR2(10), item_id VARCHAR2(10), outgoing__detail_unit VARCHAR2(30), outgoing__detail_qty VARCHAR2(10), outgoing__detail_total VARCHAR2(10), outgoing__detail_note VARCHAR2(50), ADD CONSTRAINT outgoing_detail_outgoing_id_fk FOREIGN KEY (outgoing_id) REFERENCES outgoing (outgoing_id) ON DELETE CASCADE, ADD CONSTRAINT outgoin_detail_item_type_id_fk FOREIGN KEY (item_type_id) REFERENCES item_type (item_type_id) ON DELETE CASCADE, ADD CONSTRAINT outgoing_detail_item_id_fk FOREIGN KEY (item_id) REFERENCES item (item_id) ON DELETE CASCADE);

CREATE TABLE stock (stock_id VARCHAR2(10) NOT NULL, stock_name VARCHAR2(30), emp_id VARCHAR2(10), ADD CONSTRAINT stock_id_pk PRIMARY KEY (stock_id), ADD CONSTRAINT stock_emp_id_fk FOREIGN KEY (emp_id) REFERENCES emp (emp_id) ON DELETE CASCADE);

CREATE TABLE invoices (invoices_id VARCHAR2(10) NOT NULL, invoices_date DATE, customer_id VARCHAR2(10), ADD CONSTRAINT invoices_id_pk PRIMARY KEY (invoices_id), ADD CONSTRAINT invoices_customer_id_fk FOREIGN KEY (customer_id) REFERENCES customer (customer_id) ON DELETE CASCADE);

Page 24: مشروع قواعد البيانات

24

CREATE TABLE invoice_detail (invoice_id VARCHAR2(10), item_type_id VARCHAR2(10), item_id VARCHAR2(10), invoice_detail_qty VARCHAR2(10), item_price VARCHAR2(10), invoice_detail_total VARCHAR2(10), invoice_detail_note VARCHAR2(50), ADD CONSTRAINT invoice_detail_invoice_id_fk FOREIGN KEY (invoice_id) REFERENCES invoices (invoices_id) ON DELETE CASCADE, ADD CONSTRAINT invoice_detail_item_type_id_fk FOREIGN KEY (item_type_id) REFERENCES item_type (item_type_id) ON DELETE CASCADE, ADD CONSTRAINT invoice_detail_item_id_fk FOREIGN KEY (item_id) REFERENCES item (item_id) ON DELETE CASCADE, ADD CONSTRAINT invoice_detail_item_price_fk FOREIGN KEY (item_price) REFERENCES item (item_id) ON DELETE CASCADE);

CREATE TABLE supplier (supplier_id VARCHAR2(10) NOT NULL, supplier_name VARCHAR2(30), supplier_phone VARCHAR2(14), supplier_email VARCHAR2(30), supplier_address VARCHAR2(30), ADD CONSTRAINT supplier_id_pk PRIMARY KEY (supplier_id));

Page 25: مشروع قواعد البيانات

25

اإلستعالمات التي تلبي المتطلبات (التقارير) :

تقرير بفواتري البيع بتاريخ معني .١

Select *

From invouces

Where invouces_date='10-10-2012';

تقرير بفواتري البيع يف مدة زمنيه حمدده . .٢

Select *

From invouces

Where invouces_date between '1-10-2012' and

'1-10-2013';

تقرير بعدد فواتري املبيعات يف فرتة حمدده . .٣

Select count(*)

From invouces

Where invouces_date between '1-10-2012' and

Page 26: مشروع قواعد البيانات

26

'1-10-2013';

تقرير بفواتري البيع لعميل معني . .٤

Select customer_id, invouces_id, invouces_date

From invouces,customer

Where customer.customer_id =

invouces.customer_id;

. بلد املنشأو تقرير باألصناف اليت تستوردها الشركه والشركات املصنعه هلا .٥

Select item_id,company_id,country_id

From item,company,country

Where (item.company_id = company. company_id)

and (company. country_id= country. country_id);

أنواع األصناف اليت تستوردها الشركه .بتقرير .٦

Select item_type_id

From item_type;

Page 27: مشروع قواعد البيانات

27

تقرير باحلد األعلى واحلد األدىن لكل صنف . .٧

Select item_ name,item_max,item_min

From item;

باألصناف اليت وصلت للحد األدىن (األصناف اليت جيب الشراء منها) .تقرير .٨

Select item_ id, item_min

From item;

تقرير باألصناف حسب نوع معني . .٩

Select item_type_id,item_id

From item,item_type

Where item. item_type_id = item_type.

item_type_id

Group by item_type_name;

Page 28: مشروع قواعد البيانات

28

تقرير باألصناف اليت مت بيعها بتاريخ معني . .١٠

Select item_id,

From item

Where item_type_id ='1';

. حسب املخزن املوجوده فيهتقرير باألصناف املتوفره باملخزن .١١

Select item_id ,stock_id

From item,stock

Where (item. stock_id = stock. stock_id)

Group by stock_id;

تقرير بأحدث وأقدم فاتورة بيع . .١٢

SELECT MAX(invoices_date), MIN(invoices_date)

FROM invoices;

تقرير بكل املوظفني الذين يعملون يف الشركه . .١٣

Page 29: مشروع قواعد البيانات

29

SELECT emp_id,emp_name

FROM emp;

تقرير باملوردين الذين تتعامل معهم الشركه . .١٤

SELECT supplier_id, supplier_name

FROM supplier;

تقرير بكل العمالء الذين يتعاملون مع الشركة . .١٥

SELECT customer_id, customer_name

FROM customer;

ويمكن أن تضاف تقارير أخرى حسب حجة المؤسسة لها .

Page 30: مشروع قواعد البيانات

30

شاشات النظام :

شاشات نظام المبيعات لشركة الخندقاوي :

شاشة الدخول لنظام المبيعات - ١

Page 31: مشروع قواعد البيانات

31

الشاشة الرئيسة لنظام المبيعات - ٢

Page 32: مشروع قواعد البيانات

32

شاشة الشركات المصنعه - ٣

Page 33: مشروع قواعد البيانات

33

شاشة البلدان - ٤

Page 34: مشروع قواعد البيانات

34

شاشة العمالء - ٥

Page 35: مشروع قواعد البيانات

35

شاشة الموظفين - ٦

Page 36: مشروع قواعد البيانات

36

شاشة مستند اإلدخال وتفاصيله - ٧

Page 37: مشروع قواعد البيانات

37

شاشة األصناف - ٨

Page 38: مشروع قواعد البيانات

38

شاشة أنواع األصناف - ٩

Page 39: مشروع قواعد البيانات

39

شاشة الوظائف -١٠

Page 40: مشروع قواعد البيانات

40

شاشة مستند اإلخراج وتفاصليه -١١

Page 41: مشروع قواعد البيانات

41

شاشة المستلمين -١٢

Page 42: مشروع قواعد البيانات

42

شاشة المخازن -١٣

Page 43: مشروع قواعد البيانات

43

شاشة الموردين -١٤

Page 44: مشروع قواعد البيانات

44

شاشة فاتورة البيع وتفاصليها -١٥

تم بحمد اهللا