الانتقال إلى المحتوى
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.

سؤال عن العلاقة One To Many

Featured Replies

بتاريخ:

السلام عليكم ....

هل توجد علاقة one to many اختياري ( optional ) من الجهتين ( الجدولين ) ؟ وكيف يمكن تمثيلها بأستخدام SQL في حالة وجودها ؟

بتاريخ:

وعليكم السلام ورحمه الله وبركاته
على ما اعتقد انه مدام موجود علاقه بين جدولين إذن فلابد من وجود بريمرى كى ومعنى ذلك انه لايصح ان يكون البريمرى كى نل فى احدى الجدولين لذلك اعتقد انه لا توجود علاقه اوبشنل من الطرفين
السلام عليكم ....

هل توجد علاقة one to many اختياري ( optional ) من الجهتين ( الجدولين ) ؟ وكيف يمكن تمثيلها بأستخدام SQL في حالة وجودها ؟


بتاريخ:

وعليكم السلام ورحمه الله وبركاته
على ما اعتقد انه مدام موجود علاقه بين جدولين إذن فلابد من وجود فورن كى ومعنى ذلك انه لايصح ان يكون فورن كى نل فى احدى الجدولين لذلك اعتقد انه لا توجود علاقه اوبشنل من الطرفين
السلام عليكم ....

هل توجد علاقة one to many اختياري ( optional ) من الجهتين ( الجدولين ) ؟ وكيف يمكن تمثيلها بأستخدام SQL في حالة وجودها ؟


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

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

اشكرك اخي العزيز ... لكن اتمنى ان ارى وجهة نظر الباقين لان بصراحة هاي الشغلة ( العلاقة ) مدوختني .

سلامي

بتاريخ:

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

من المفترض ان العلاقة بين الجدولين فى العلاقة One to many تكون منشأة على افتراضين
الأولى : انها علاقة مباشرة بين جدولين مثل العلاقة بين جدول الموظف وجدول الإدارات
وهذه العلاقة تفترض الآتي
- ان كل موظف يجب ان يكون لدية ادارة يتم تعينه فيها
- ان الإدارة يمكن ان يعمل بها موظف أو أكثر
وبالتالي العلاقة توضح ان الموظف يجب ان يعمل فى ادارة وبالتالى اصبحت علاقة التعيين فى ادارة ... اجباري

من الممكن (فرضا) طبقا ومتطلبات العمل فى المؤسسة ان يتم تسجيل البيانات الأساسية للموظف الجديد الذى لم يتم تعيينه رسميا بعد ... ان يتم تسجيلة بدون تحديد ادارة معينة له ... ففى هذه الحالة اصبحت العلاقة ... اختياري
ولن يتم تسجيل قيمة فى رمز ادارة الموظف الجديد وستكون null

الحالة الثانية التي ينتج عنها علاقتين one to many ولا يسمح فيها بعلاقة اختيارية
عندما يكون هناك علاقة بين جدولين many to many ويتم تقسيمها الى علاقتين بانشاء جدول وسيط .... وكلا العلاقتين هما one to many
مثل العلاقة بين بيانات الفاتورة وبيانات الاصناف داخل الفاتورة
erd.jpg

create table department 
(
  dept_id        	NUMBER           	not null,
  dept_name      	VARCHAR2(40),
  constraint PK_DEPARTMENT primary key (dept_id)
);

/*==============================================================*/
/* Table: employee                                        	*/
/*==============================================================*/
create table employee 
(
  emp_no         	NUMBER           	not null,
  dept_id        	NUMBER           	not null,
  emp_name       	VARCHAR2(50),
  constraint PK_EMPLOYEE primary key (emp_no)
);

alter table employee
  add constraint FK_EMPLOYEE_REFERENCE_DEPARTME foreign key (dept_id)
 	references department (dept_id);


*==============================================================*/
/* Table: invoice_detail                                  	*/
/*==============================================================*/
create table invoice_detail 
(
  invoice_no     	NUMBER           	not null,
  item_no        	NUMBER           	not null,
  item_qty       	NUMBER,
  item_price     	NUMBER,
  constraint PK_INVOICE_DETAIL primary key (invoice_no, item_no)
);

/*==============================================================*/
/* Table: invoice_master                                  	*/
/*==============================================================*/
create table invoice_master 
(
  invoice_no     	NUMBER           	not null,
  invoice_date   	NUMBER,
  constraint PK_INVOICE_MASTER primary key (invoice_no)
);

/*==============================================================*/
/* Table: item                                            	*/
/*==============================================================*/
create table item 
(
  item_no        	NUMBER           	not null,
  item_name      	VARCHAR2(40),
  constraint PK_ITEM primary key (item_no)
);

alter table invoice_detail
  add constraint FK_INVOICE__REFERENCE_INVOICE_ foreign key (invoice_no)
 	references invoice_master (invoice_no);

alter table invoice_detail
  add constraint FK_INVOICE__REFERENCE_ITEM foreign key (item_no)
 	references item (item_no);

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

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

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

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

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

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.