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

كيفية عمل فورم فيها جدولين العلاقة بينهم M - N

Featured Replies

بتاريخ:

أنا عندى جدولين العلاقة بينهم many to many


لذا عملت جدول وسيط بينهم وفيه الpk بتاع كل جدول


أنا لما أجى أعمل فورم وأحاول أربط بينهم


مش عارف أعملها ازاى




أرجو ممن يتكرم عليا بكيفية شرح هذا وله جزيل الشكر

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

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


:mellow:

بتاريخ:

على حسب كلامك يكون الحل كالاتى
يتم عمل بلوك على الجدول الموجود به pk
ثم عمل بلوك لكل جدول من الاخرين بحيث يتم الربط على الشاشة عن طريق pk-fk
معكم ولكم نتواصل

بتاريخ:

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

يمكن تسجيل البيانات من خلال شاشتين
- الشاشة الأولى ... تحتوى بيانات الجدول الأساسى الأول
- الشاشة الثانية .... تحتوى بيانات الجدول الأساسي الثاني مع بيانات الجدول الوسيط وتكون master...details

قد يكون هناك اقتراحات اخرى ... من الأعضاء

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

أولا شكرا على الرد


ثانيا : المشكلة كلها فى كيفية الربط بين الجدولين


يعنى مثلا الجدولين a & b


والجدول الوسيط ab



أنا فى الفورم عملت بلوك a لوحده


وبعدين عملت بلوك b لوحده


لما عملت بلوك ab وحاولت انى اربط بين التلات جداول يعنى مثلا


a.pk=ab.pk and b.pk=ab.pk


معرفتش والسبب لازم أختار بلوك ماستر واحد فقط



أرجو شرح كيفية حلها

بتاريخ:

اخي الكريم : حسب المشاركة الاخيرة يمكنك وضع الجدول ab هو الماستر والجدولين a , b هما السليف.
ولكن كنت اتمنى لو وضعت الجداول التي لديك لنتمكن من المساعدة اكثر ,

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

السلام عليكم


انا غرضى انى اعمل كل بلوك على canvas مستقلة و window مستقلة ايضا


بس يكون البلوكين مرتبطين ببعض عشان تكامل البيانات


ومش عارف اعمل الجدول الوسيط ده على اى canvas فيهم ولا اعمله على canvas لوحده



عموما الملف فى المرفقات فيه الجداول اللى عاملها فى ال SQL



أرجو انى اكون عرفت اوصف سؤالى بطريقة صحيحة



[/center]



[center]create table producer
(
producer_id number(5) constraint producer_id_pk primary key,
AR_name varchar2(255),
En_name varchar2(255),
street_no number(5),
street_name varchar2(255),
city_name varchar2(255),
country_name varchar2(255),
ADDRESS VARCHAR2(255),
phone1 number(15),
phone2 number(15),
fax number (15),
email varchar2(255),
website varchar2(255),
producer_type varchar2(255)
);
--------------------------------------------------------
-- to compute address automatically
create or replace trigger producer_address
before insert or update on producer
for each row
begin
:NEW.ADDRESS:=(:new.street_no||' '||:new.street_name||' , '||:new.city_name||' , '||:new.country_name);
end;
-------------------------------------------------------------------------
insert into producer(producer_id ,AR_name ,En_name ,street_no ,street_name ,city_name ,
country_name ,phone1,phone2,fax ,email ,website ,producer_type ) values (
102,'ايفا فارم','evapharm',12,'mubark st.','nasr city','Egypt',0132720585,01001874924,
01235425463,'[email protected]','www.java2s.com','local');
------------------------------------------------------------------------------------------
create table supplier
(
sup_id number(5) primary key,
AR_name varchar2(255) constraint supp_ARNAME_uk unique,
EN_name varchar2(255) constraint supp_ENNAME_uk unique,
address varchar2(255),
phone1 number(15),
phone2 number(15),
fax number(15),
Email varchar2(255),
website varchar2(255)
);
---------------------------------------------------
INSERT INTO SUPPLIER VALUES (
74,'الضحى فارم','ELDOHA','',01358745236,54463528974,654312987523,'[email protected]',
'WWW.DOHA.COM');
--------------------------------------------------------------------------------------
CREATE TABLE producer_supplier
(
producer_id number(5),
sup_id number(5),
primary key(producer_id,sup_id));
-------------------------------------------------------------------------------------------
insert into producer_supplier values(102,74);
----------------------------------------------------[/center]

SQL CODE.txt

بتاريخ:

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

من استعراض الملف السابق يتضح ان هناك جدولين
الاول : بيانات المنتجين
الثاني : بيانات الموردين
الثالث : الربط بين المنتج والمورد

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

مجرد اقتراح

ملاحظة على الملف المرفق
لماذا تكتب امر لدمج العنوان address
وذلك لاعمدة موجودة فى الجدول وهي اسم الشارع واسم المدينة واسم الدولة
فهذا يعتبر تكرار للبيانات لا داعي له ... فيمكنك دمج هذه البيانات عند استدعائها من امرال select من الجدول

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

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

شكرا يابشمهندس أمجد على الاهتمام واعتذر عن التأخير فى الرد



طبعا فكرة الدمج فكرة جميلة وخصوصا تجنب تكرار البيانات والتعديل فيها



بس مش عارف هينفع فى الجدولين دول ولا ايه ؟



لأن العلاقة بين المورد والمنتج many to many


يعنى ممكن مُنتج يوزع لأكتر من مُورد وممكن مُورد يأخذ من أكتر من مُنتج


فبالتالى لازم يكون كل واحد فى جدول مُستقل ولازم أربط بينهم علشان تكامل البيانات



بالنسبة للملحوظات الأخرى سوف اعمل بها ان شاء الله



أهم حاجة دلوقتى ان ازاى اربط بين 2 بلوك فى فورم واحدة بينهم علاقة M - N

بتاريخ:

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

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

هناك اقتراح اخر فى التصميم ان تكون العلاقة ثلاثية بحيث يتم اضافة جدول المنتجات التى يتم توريدها من خلال مورد او اكثر من مورد وفى نفس الوقت هذه المنتجات يتم انتاجها عن طريق منتج او اكثر من منتج

وهنا تكون العلاقة بين المورد والمنتج والصنف
supplier - producer - product

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

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

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

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

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

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.