الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ممكن تساعدوني في تحليل سناريو :شركة لإيجار المعدات

Featured Replies

بتاريخ:

السلام عليكم

راح ارفق لكم نسخة من السناريو والمطلوب اظها الجداول entity with attributs include the primary key and forign key

ومطلوب بعد : ER diagram between entites

هي عبارة عن شركة لإيجار المعدات لزبائن واسترجاعها للشركة وايضا بيع المعدات المستعملة للزبون

وفي نظري الجداول:
customer
order
Equipment
purches

ارجوكم ارجوكم ساعدوني في حل هذا ال Assignment

البحث مطلوب بعد اسبوعين

:P شكرا لكم
أختكم sunfoor

post-73851-1243239256_thumb.jpg

  • الردود 34
  • المشاهدات 6.4k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

الصور المنشورة

بتاريخ:

وعليكم السلام ورحمة الله

اليك الفكرة الاساسية لاعداد الرسم المقترح للERD

يمكنك مراجعتها والتعديل عليها حسب دراستك للموضوع

Equipment_Rental_pdm_image3.jpg

Equipment_Rental_er_image3.jpg

بتاريخ:
  • كاتب الموضوع

:P جزاك الله ألف خير أخوي أمجد

ما قصرت ..

 

شكرا.

بتاريخ:
  • كاتب الموضوع

معليش اخوي أمجد راح أتعبك معاي :P

ياريت لو تشرح لي طبيعة العلاقات بين الجداول بمعنى مثلا ليش العلاقة بين جدولي Equipment_typ & Equipment one to many

ونفس الشيء بالنسبة لبقية الجداول .

لاحظت وجود علامة o.n بين الجداول ذات العلاقة one to one ما فهمتها أول مره أشوفها ؟؟ لأننا لسه ما اخذناها ياريت لو تشرحها لي .


سؤال أخير في Assingment Number B thay want documentation demonstrating صراحة ما فهمت ويش المطلوب بالضبط ممكن توضح لي أكثر مع اعطاء مثال :P

واخيرا شكرا جزيلا لك

attache file

Your sister sunfoor

A.doc

بتاريخ:

السلام عليكم

تتكون رسمة ال erd من هذه ال entities

- العملاء Customer
- الموظفين Employee
- رموز المعدات Equipment_Type
- المعدات Equipment
- بيانات الحجز Equipment_Reservation
- بيانات التأجير Rental_Equipment
- العملاء عليهم استحقاقات Customer_History
- بيانات البيع الرئيسية Sales
- بيانات البيع التفصيلية وتشمل المعدات المباعة Sales_Equipements

تم افتراض ان سيتم تسجيل بيانات الحجز من العميل اولا قبل اجراء عملية التأجير
تم افتراض ان عملية الحجز الواحدة ستكون لمعدة واحدة وليس اكثر من معدة فى نفس عملية الحجز

الخط الصغير الطولى .. يعنى اجباري
الدائرة الصغيرة على الخط ... تعنى اختياري
0,n هذه علاقة many to many وتم تفسيمها الى علاقتين كل منهما one : many
العلاقات كالتالى
العميل مع الحجز 1:m
- العميل يمكن ان يقوم بعملية حجز واحدة او أكثر .
- لا توجد عملية حجز بدون وجود عميل .

المعدة مع الحجز 1:m
- الحجز يجب ان يكون مرتبط برقم معده
- المعده يمكن ان يتم حجزها اكثر من مرة (فى عمليات حجز مستقلة )

الموظف مع الحجز 1:m
-هذا افتراض انه يجب تسجيل رقم الموظف الذى قام باجراء عملية الحجز
- الحجز يجب ان يتم من خلال موظف .
- الموظف يمكن ان يسجل اكثر من عملية حجز .

الحجز مع التأجير 1:1
- يمكن ان تتم عملية الحجز ولا تستكمل بعملية تأجير فعلي
- لا يوجد تأجير بدون حجز .

العملاء مع المبالغ المستحقة 1 :m
العميل يمكن ان يكون عليه استحقاق واحد أو أكثر
المبالغ المستحقة يجب ان تكون مرتبطه بعميل

التأجير مع المبالغ المستحقة 1:1
المبالغ المستحقة تكون مرتبطة بوجود عملية تأجير
التأجير قد لا يؤدي االى وجود مبالغ مستحقة

الموظف مع التأجير 1 :m
عملية التأجير يجب ان تتم من خلال موظف
الموظف قد يسجل أكثر من عملية تأجير

نوع المعدة مع المعدة
- المعدة يجب ان يكون لها نوع معدة
- نوع المعدة يمكن ان يرتبط بمعدة واحدة او اكثر

البيع والمعدة m:m
يتم تقسيمها الى علاقتين
البيع الرئيسى مع المعدات المباعة فى امر البيع 1:m
المعدات مع المعدات المباعة 1:m

ملحوظة : تم تعديل فى الرسم السابق للعلاقات الخاصة entity Customer_History بالمبالغ المستحقة

المطلوب الثاني ... يتم عرض أعمدة كل جدول .. ويكون كل جدول على شكل افقى .. مع تحديد المفتاح الرئيسىPK والمفتاح الاجنبي fk
مع رسم الخطوط الرابطه بين أعمدة الجداول التى بينها علاقة

مع تطبيق قواعد النورماليزاشين normalization وهل هى تحقق المستوى الثالث3NF ام لا ( يوجد مشاركات بالمنتدى عن كيفية التعامل مع ال Normalization )

وايضا تحديد ال functional dependence

إضغط هنا :كتاب عن Normalization

والله الموفق

بتاريخ:
  • كاتب الموضوع

شكرا اخوي امجد ...

بتاريخ:
  • كاتب الموضوع

:P مساء الخير أخوي أمجد

 

بالنسبة للتحليل الي عملته عندي شوية اسئلة :

 

1- ليش عملت العمود Rental_charge في الجدولين : Rental_Equipment & Equipment

 

2- There is attribute called inspectio_status in Rental_Equipment Entity and Equipment_status in the Equipment Entity

bott are CHAR (1) size

what should i write into this attribues

يعني شو هو الحرف الي لازم ندخله في هذان العمودان عند تدخيل البيانات - ياريت لو تعطيني مثال لبيانات كاملة في جميع الجداول لعمليةواحدة كمثال فقط

 

أخوي أمجد الله ممكن تشرح لي القصة كلها (case study) لأني ما فاهمة وشوي متلخبطة ومش مستوعبه الحكاية كلها :P

لأني اريد اعرف كيف تتم معاملة التأجير واسترجاع المعدة وفي حالة التأخير شو لازم نعمل وايضا عملية البيع!!؟؟ :P

 

الله يخليك ساعدني لأن المدرسة راح تسألنا :P

 

أختك : sunfoor

بتاريخ:

السلام عليكم ورحمة الله

- سعر الايجار يتم تسجيله فى جدول بيانات المعدة ... حيث يحتوى على السعر الحالى للايجار
بمعنى ان سعر الايجار قد يحدث عليه تغيير او تحديث بعد فترة زمنية ... فستكون احدث معلومه عن السعر فى هذا الجدول

- ايضا وجود السعر فى جدول الايجار هو عملية الاحتفاظ بالسعر عند تنفيذ عقد الايجار ( لان هناك احتمال بان يكون سعر الايجار مختلف من وقت الى اخر ) ..

-Inspection_Status عمود يتم تسجيل فى حالة فحص المعدة عند ارجاعها من العميل
هل هى حالتها سليمة - تالفة كليا - تالفة جزئيا - ... اى احتمالات اخرى
وبناء على هذا العمود سيتم تقدير مبلغ Monies_Kept الذى لن يتم ارجاعه للعميل مقابل اصلاح التلفيات فى المعدة

- Equipment_Status عمود يحتوى حالة المعدة مثل مؤجرة - تالفة - مباعة - سليمة - .... اى احتمالات اخرى

ويمكن كتابة حرف واحد او رقم واحد فى الحقل مثل
1 = سليم 2=تالف 3=مباع
----------------------------------

ممكن تشرح لي القصة كلها


مهام الحالة ستكون كالتالي :
بيانات الرموز المستخدمة فى النظام
- تسجيل بيانات رموز المعدات .

البيانات الاساسية تشمل :
- البيانات الاساسية للعملاء .
- البيانات الاساسية للموظفين .
- البيانات الاساسية للمعدات .

بيانات الحركة transactions
- تسجيل بيانات الحجز . ( بافتراض انه يجب اجراء حجز للمعدة قبل اتمام عملية التأجير ) وبافتراض ان الحجز يتم لمعده واحده فقط
- تسجيل بيانات الايجار وتشمل :
- البيانات الاساسية لعملية الايجار .(Rental_ID - Rental_Date- Reservation_NO- Check_Out_Date- Rental_Period- Due_Date- Deposit_Amount- Employee_ID - Rental_Charge)

- بيانات ارجاع المعده وحالتها ( Return_Date - Return_Time- Late_Fee_Charge - Inspection_Status- Monies_Kept- Reason

- بيانات المبالغ المستحقة على العملاء فى حالة وجود تأخير او تلفCustomer_History

- تسجيل بيانات بيع المعدة او المعدات
يتم التسجيل فى الجدولين الرئيسى والتفصيلي فى شاشة واحدة
بافتراض ان يمكن ان يتم بيع اكثر من معده للمشتري فى عملية بيع واحدة
عند تسجيل البيع يتم تعديل حالة المعدة Equipment_Status فى جدول المعدات انها مباعة
بتاريخ:

كفيت ووفيت يا اخي امجد
جعله الله في ميزان حسناتك

ابو عمر

بتاريخ:
  • كاتب الموضوع

مشكور أخوي أمجد بارك الله فيك

بس عندي سؤال صغير :P ما هو الفرق بين : Chck-out-date and Due_date ??

معليش :P

شكرا جزيلا لك

بتاريخ:

السلام عليكم ورحمة الله

فى جدول الايجار يوجد اربعة تواريخ

تاريخ تحرير عقد الايجار Rental_Date
التاريخ الفعلي لخروج المعده Check_out_date
التاريخ المفترض لرجوع المعده due_date
التاريخ الفعلي لرجوع المعده return_date

بتاريخ:
  • كاتب الموضوع

ألحين فهمت ..

مشكور اخوي امجد ما قصرت

راح ابدأ ان شاء الله بانشاء الجداول وتدخيل بعض البيانات الحقيقة

اكيد راح ارجع لك :P :P

بتاريخ:
  • كاتب الموضوع

الملف ما يفتح عندي
!!!!!!!!!!!!!!!!!!!!!!!!!

بتاريخ:

بعد فك ضغط الملف

يظهر اسم الملف ونوعه sql

يمكن فتح الملف باستخدام ال notepad

اوامر الdrop للجداول الموجودة فى اعلى الملف تستخدم عند الرغبة فى انشاء الجداول معا مرة اخرى
ولكن مع اول مرة ستعطى خطأ ... لعدم وجود هذه الجداول من قبل
يمكنك حذفها من الملف فى المرة الاولى لانشاء الجداول

بتاريخ:
  • كاتب الموضوع

:P يعطيك ألف عافية أخوي أمجد ...بارك الله فيك

 

عندي سؤال : ليش أعمل drop constraint FK_customer_reference_customer نفس الشيء مع كل الجداول ؟

 

سؤال أخر : ليش نعمل drop table customer cascade constraint ??

بتاريخ:
  • كاتب الموضوع

:P أخي الكريم أمجد

 

اخوي أمجد ممكن تسدي لي معروفا :P تشرح لي ال Normalaisation

 

ارجوك ارجوك لأني ما فاهمة وما قادرة استوعب من المدرسة هي ما تعرف توصل المعلومة بشكل مبسط وواضح :P

 

راح اعطيك مثال ارجوك ساعدني

 

Shipping( shipname , shipType,voyage, port,date) table

 

hint : Date is the date the ship arrives in the given port

 

functional dependencies :

shipName -->shipType

 

Voyageid ----> shipName,cargo

 

ShipNmae ,Date ---> Voyageid,port

 

Find:

identify the candidate key

normalize to 2NF

normalize to 3NF

normalize to BCNF

 

and Explain for me the functional dependecy??

 

please :P

بتاريخ:
  • كاتب الموضوع

اخي الكريم أمجد ليش ما ترد على سؤالي :angry: :)

على راحتك خلاص انسى السؤال!!!

انا فقط عندي سؤال صغير بس في جدول sales_equipment ما المقصود بالعمود No_of_equipment
هل مقصود فيه عدد المعدات التي تم بيعها ؟

سؤال أخر اريد اعمل 2 trigger يخص نفس الموضوع انا كتبتهم في ورقة واريد أخذ رأيك فيهم قبل التطبيق
على فكرة انا ما جربت أطبق trigger كيف نعمل Run for trigger ??

بتاريخ:

السلام عليكم ورحمة الله

على راحتك خلاص انسى السؤال!!!


شكرا


3NF
shipName , shipType
Voyageid , cargo
ShipNmae ,Date, Voyageid,port

BCNF
shipName , shipType
Voyageid , cargo
shipName , Voyageid
Voyageid ,port,Date



-----------------

No_of_equipment
كنت افترضت انه سيتم البيع حسب نوع المعدة ... وبالتالى يمكن بيع عدد من نفس نوع المعدة فى عملية البيع الواحدة
ولكن يمكنك استبعاد هذا العمود من الجدول ... لان عملية البيع تتم للمعدة حسب ال ID الخاص بها

----------
لانشاء تريجير على الجدول ... يوجد مشاركات عديده فى قسم sql - pl-sql
اليك هذا الدرس

إضغط هنا : الدرس الثاني عشر: انشاء التريجر على قاعدة البيانات, ضمن سلسلة دروس كيف تبدأ في تعلم الأوراكل

-----------
اليك مرفقات عن الnormalization باللغة العربية

ArabicSummaryaboutNormalization.rar

بتاريخ:
  • كاتب الموضوع

شكرا جزيلا أخوي أمجد على الرد :)

إن شاء الله خير ...

بالنسبة لعدد المعدات المباعة ممكن تفيدني في عمل query of all equipment has been sold
راح أضيف عمود جديد في جدول sales وهو status حالة المعدة هل for sale or Sold
the trigger is if i add a new data in the sales table the coulm will be changed to "Sold" otherwise it "for sale" word

شو رأيك ؟

بتاريخ:

السلام عليكم

يوجد عمود equipment status فى جدول equipment

فى حالة تسجيل insert سجل جديد لبيع معدة فى الجدول التفصيلي للمعدات المباعة sales equipments
يتم تغيير حالة المعدة equipment status فى جدول equipment الى "مباعة" "S"

وفى حالة الغاء السجل delete ايضا ... للمعدة المباعة ... يتم تغيير حالة المعدة الى "موجوده" C" " بدلا من مباعة

فلمطلوب وضع شرطين فى حالتى insert , delete داخل التريجير الذى يتعامل مع جدول الsales_equipments

drop trigger EQUIPMENT_SOLED
/
create or replace trigger EQUIPMENT_SOLED AFTER INSERT OR UPDATE OR DELETE on SALES_EQUIPEMENTS
FOR EACH ROW
BEGIN IF INSERTING THEN
UPDATE equipment
SET equipment_status = 'S'
WHERE equipment_id = :NEW.equipment_id;
ELSIF DELETING THEN
UPDATE equipment
SET equipment_status = 'C'
WHERE equipment_id = :OLD.equipment_id;
END IF;
END;
/



توجد مشاركات كثيرة فى المنتديات عن استخدام ال Database Trigger
اليك ملف يشرح الDatabase Trigger

Trigger_db.rar

بتاريخ:
  • كاتب الموضوع

جزاك الله خير أخوي أمجد .... :)
ممتاز..

راح أكتب لك الفكرة الثانية الي اريد أعملها في second trigger

وهي كلما ما نضيف data في جدول الحجوزات لطلب استأجار معدة يحصل update in Equipment table
and add 1 for the Rental_count

Create or replace Trigger count_Tg
After insert on Reservation
for each row
Begin update Equipment
set Rental_count=Rental_count+1
where EquipmentID = :New.equipmentID
if (No_data_found)
insert into Equipment values( :New.equipmentID,1);
End;

بتاريخ:
  • كاتب الموضوع

شو رأيك أخي الكريم :)






اسمح لي ........

بتاريخ:

السلام عليكم

يوجد لدينا جدولين الاول : للحجز والثاني : للايجار بعد الحجز

وبالتالى يفضل تعديل الامر تعديل رقم عدد مرات الايجار ... ليتعامل مع جدول الايجار الفعلي اي عند انشاء سجل فى جدول الايجار ...
لانه ممكن ان يكون هناك اجراء لعملية حجز معدة ولا تنتهي بالايجار ...

لماذا اضفت الشرط
if (No_data_found)
مع جدول ال Equipment
insert into Equipment
لسبب : ان هذا الجدول هو جدول المعدات ويجب ان تكون المعده مسجله من قبل ان تتم عملية ايجار او حجز له
اى ان سجل المعده موجود ضمن سجلات المعدات .... لانه لن يمكن التعامل مع رقم المعدة فى جدول الحجوزات او البيع من دون وجوده مسبقا فى جدول المعدات ..

بتاريخ:
  • كاتب الموضوع

وعليكم السلام اخي أمجد

انا اخترت جدول equipment لأنه يحتوي على العمود rental_count بينما جدول الإيجار لا يحتوي على هذا العمود.

طيب اذا لغين سطر if _no_data_found هل تنتهي عملية التريجر عند ادخال البيانات ؟

تم تعديل بواسطة sunfoor

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.