الانتقال إلى المحتوى

سؤال عن البريماري كيي


Syrian Oracle

Recommended Posts

[size="2"] 

CREATE TABLE T1

(

F1 NUMBER(10),

F2 NUMBER(10),

CONSTRAINT PK_T1 PRIMARY KEY(F1,F2)

)

/

CREATE TABLE T2

(

F1 NUMBER(10),

F2 NUMBER(10),

CONSTRAINT FK_T2_T1 FOREIGN KEY(F1,F2) REFERENCES T1(F1,F2) ON DELETE CASCADE

)

/

[/size]



بس بصراحة لو كنت مكانك لم أجعل جدول الـ PK يحتوي علي مفتاح مركب ... لكنني سأصنع هذا الجدول بمفتاح رأيسي واحد فقط لا غير ... وأجعلة مرقم ترقيم تلقائي ... ومن ثم إدراج حقلين آخرين يأخزون سمة الـ Unique المركبة وكذلك Not Null كما يلي :

CREATE TABLE T1
(
 T1_ID   NUMBER(10),
 F1		NUMBER(10) NOT NULL,
 F2		NUMBER(10) NOT NULL,
 CONSTRAINT PK_T1 PRIMARY KEY(T1_ID),
 CONSTRAINT UQ_T1_F1_F2 UNIQUE(F1,F2)
)
/



أو

CREATE TABLE T1
(
 T1_ID   NUMBER(10),
 F1		NUMBER(10) NOT NULL,
 F2		NUMBER(10) NOT NULL,
 CONSTRAINT PK_T1 PRIMARY KEY(T1_ID)
)
/
CREATE UNIQUE INDEX IN_UQ_T1_F1_F2 ON T1(F1,F2)
/




وبعد كدة أخلي الـ PK مرقم ترقيم تلقائي من خلال إنشاء الـ Trigger المناسب بحيث أن يكون بعيد كل البعد عن عبث أي مستخدم ... حيث أن الـ PK جزء هام جداً في بناء هيكل القاعدة






بالتوفيق


رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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