الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في ال Insert أو في المفاتيح؟؟؟ أفيدوني

بدأه star5 في 20 مارس 2008 · 4 رد · 705 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة في انشاء جداولي

لدي 3 جداول الأول هو الجدول الأساسي(موظف) الذي ((يرث منه)) الجدولين الآخرين (موظف مؤقت)(موظف دائم) فكرت بهذه الطريقة لمنع تكرار المعطيات اي بحثت عن ما هو مشترك بين الجدويلين و وضعته في جدول اساسي ثم ما تبقى من حقول غير مشتركة بقيت في كل جدول على حدا ...هكذا هي الفكرة لا ادري ان كانت صحيحة أم لا

المشكلة لدي انه في الجدول الاساسي لدي حقل هو

primary key

و اريده أن يكون هو ايضا

prmary key

في الجدولين الاخرين اي عند اضافة ريكورد على الجدول الاساسي اريد ان اضيف هذا الريكورد على أحد هذين الجدولين حسب نوع الموظف

المشكلة عند تصميم الداتا بيس و ربط الجداول الربط بين جدول الموظف و جدول الموظف المؤقت أو الموظف الأساسي العلاقة هنا هي 1-1 و ليس

forign key-primary key

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

#2

اتمنى أحد يعطيني رأيه

و شكرا مقدما

#3

no body wants to help me??????? :S

#4

السلام عليكم

أنا لست متخصصاً في SQL server و لكن من معرفتي العامة في قواعد البيانات يمكن أن أقول :

بشكل عام الطريقة التي ذكرتها صحيحة على أن تكون المفاتيح الرئيسية في الجدولين الثانويين هي نفس المفتاح الرئيسي في الجدول الرئيسي (كما ذكرت)

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

Emp (id, field1, field2, ...)
id : primary key

EmpTemp (id, field3, field4, ...)
id : primary key
id : foreign key (reference: Emp(id))

EmpPer(id, field5, field6, ...)
id : primary key
id : foreign key (reference: Emp(id))

تم تعديل هذه المشاركة بواسطة أبو خالد السوري في 21 مارس 2008 في 00:38

أبو خالد السوري

#5

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

مواضيع مشابهة