بتاريخ: 25 فبراير 200421 سنة comment_2120 في البداية احب ان اهنى الجميع بهذا الحس العالي بالمسؤولية..المشكلة كالتالي:الموظف يمكن ان يتكلم اكثر من واللغة يمكن ان يتحدث بها اكثر من موظف(many to many)....اي لدينا جدول للموظفين وليكن التالي: create table info(id number(5), lang_id number(1), constraint info_id_pk primary key(id)); و جدول اللغات كالتالي: create table lang(lang_id number(1), language varchar2(15), constraint lang_lang_id_pk primary key (lang_id)); لسؤال هو كالتالي :كيف يتم حل هذه المشكلة على صعيد ال SQL؟كيف يتم حل هذه المشكلة على صعيد ال FORM؟لقد قمت بانشاء جدول ثالث لفك العلاقة كالتالي: create table int(id number(5), lang_id number(1), constraint int_lang_id_fk foreign key(lang_id) references lang(lang_id)); فهل هذا صحيح؟و هل يجب اضافة TRIGGERS؟وما هو الITEM التي سنستخدمها في ال FORM لاظهار حقل اللغات؟و شكرا للجميع... تم تعديل 25 فبراير 200421 سنة بواسطة Oracle تقديم بلاغ
بتاريخ: 26 فبراير 200421 سنة comment_2127 اخي عصام في حال ان تكون معك meny to meny اكيد انته تحتاج الى جدول ثالث وسيط .جدول الموظفين : create table emp(emp_id number(5), emp_name varchar2(20), constraint info_id_pk primary key(emp_id)); جدول اللغات: create table lang(lang_id number(1), language varchar2(15), constraint lang_lang_id_pk primary key (lang_id)); الان الجدول الوسيط : create table emp_lang ( emp_id number(5) constraint fk_emp_lang_emp_id references emp(emp_id) ,lang_id number(1) constraint fk_emp_lang_lang_id references lang(lang_id) ,constraint pk_emp_lang_emp_id_lang_id primary key (emp_id,lang_id) ); في الجدول الوسيط يمكنك ان تحدد العلاقة بين الجدولين , وفي جدول الوسيط سوف يكون معك فقط ارقام اي رقم الموظف وارقام اللغات التي يجيدها .وفي الفورم ربما لا تحتاج ان تظهر الاسما مع الارقام , وهنا تحتاج لعمل 2 functions واحدة لارجاع الاسم واخرى لارجاع اللغة , ثم قم بعمل 2 display items وحد لعرض الاسم واخر لعرض اللغة . تقديم بلاغ
بتاريخ: 26 فبراير 200421 سنة comment_2131 الله يفتح عليك و على مشاركاتك و مجهودكربنا يوفقك أخ خالد تقديم بلاغ
بتاريخ: 26 فبراير 200421 سنة كاتب الموضوع comment_2169 شكرا جزيلا للمشاركين..اتصور ان المشكلة على المستوى التصميمي(sql) قد تم حلها ,الا ان المعضلة تكمن في التطبيق(forms),أي:لدينا اسم الموظف ولبكن ( x ومن نوع item text)و اسماء اللغات و لتكن (من نوع list item مثلا سيتم توليدها من جدول lang)فكيف سنتعامل مع حقل اللغات في حال اردنا اختيار(ادخال) لغتين للموظف xوايضا في حالة الاظهار(الاستعلام)... تقديم بلاغ
بتاريخ: 26 فبراير 200421 سنة comment_2188 في الفورم اعمل بلك للجدول الوسيط وليكن tabular styleلربط الموظف رقم 1 باكثر من لغةادخل في السجل الاول رقم الموظف 1 ثم اللغة وفي السجل الثاني ايضاً رقم 1 ثم لغة اخرىوهكذا تقديم بلاغ
بتاريخ: 2 مارس 200421 سنة كاتب الموضوع comment_2493 اعتذر عن التاخير,لانشغالي الكبير,هنا form بسيط يوضح الحل , و ذلك اعتمادا على كود الاخ خالد مع تعديل بسيط, كالتالي: create table emp1(emp_id number(5), emp_name varchar2(20), constraint info_id_pk primary key(emp_id)); جدول اللغات: create table lang(lang_id number(1), language varchar2(15), constraint lang_lang_id_pk primary key (lang_id)); الان الجدول الوسيط : create table emp_lang ( emp_id number(5) constraint fk_emp_lang_emp_id references emp1(emp_id) ,lang_id number(1) constraint fk_emp_lang_lang_id references lang(lang_id) ,constraint pk_emp_lang_emp_id_lang_id primary key (emp_id,lang_id) ); insert into lang values(1,'الروسية'); insert into lang values(2,'الانجليزية'); insert into lang values(3,'الالمانية'); insert into lang values(4,'الرومانية'); insert into lang values(5,'التشيكية'); insert into lang values(6,'الفرنسية'); insert into lang values(7,'الهندية'); commit; ;و الفورم: lang.zip تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.