Kuri_YJ yazdı:...Bir tabloya en fazla bir adet PK tanımlayabilirsiniz ama dediğim gibi bir PK içinde birden fazla alan olabilir...
Selam,
Siz böyle bir cümle demiştiniz yani bir tablo içerisinde farklı alanlar olmak üzere iki veya daha fazla PK olabilir diye (eğer yanlış bir sonuç çıkartmamamışsam

)
ikincisi eğer böyle bir şey yoksa resimdeki gibi bir duruma IBExpert neden izin veriyor yada ne amaçlı kullanılabilir?
İkinci bir husus istedikleriniz sanırım aşağıdakiler eğer yanlış anlamadıysam...
TBL_MUSTERI adında Master Tablo;
Kod: Tümünü seç
/******************************************************************************/
/**** Generated by IBExpert 27.07.2006 14:59:56 ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES WIN1254;
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE TABLE TBL_MUSTERI (
SIRANO SAYI NOT NULL /* SAYI = INTEGER */,
MUSTERIKODU KARAKTER NOT NULL /* KARAKTER = VARCHAR(20) */,
ADI KARAKTER /* KARAKTER = VARCHAR(20) */,
SOYADI KARAKTER /* KARAKTER = VARCHAR(20) */,
TPLMBORCU PARA /* PARA = DOUBLE PRECISION */
);
/******************************************************************************/
/**** Unique Constraints ****/
/******************************************************************************/
ALTER TABLE TBL_MUSTERI ADD CONSTRAINT UNQ1_TBL_MUSTERI UNIQUE (MUSTERIKODU)
USING INDEX UNQ_MUSTERIKODU;
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE TBL_MUSTERI ADD CONSTRAINT PK_TBL_MUSTERI PRIMARY KEY (SIRANO, MUSTERIKODU);
/******************************************************************************/
/**** Privileges ****/
/******************************************************************************/
TBL_SIPARIS adında Detay Tablo;
Kod: Tümünü seç
/******************************************************************************/
/**** Generated by IBExpert 27.07.2006 15:07:07 ****/
/******************************************************************************/
SET SQL DIALECT 3;
SET NAMES WIN1254;
/******************************************************************************/
/**** Tables ****/
/******************************************************************************/
CREATE TABLE TBL_SIPARIS (
SIRANO SAYI NOT NULL /* SAYI = INTEGER */,
MUSTERIKODU KARAKTER /* KARAKTER = VARCHAR(20) */,
TARIH TARIH /* TARIH = DATE */,
URUNISMI KARAKTER /* KARAKTER = VARCHAR(20) */,
BORCU PARA /* PARA = DOUBLE PRECISION */,
ODEME PARA /* PARA = DOUBLE PRECISION */
);
/******************************************************************************/
/**** Primary Keys ****/
/******************************************************************************/
ALTER TABLE TBL_SIPARIS ADD CONSTRAINT PK_TBL_SIPARIS PRIMARY KEY (SIRANO);
/******************************************************************************/
/**** Foreign Keys ****/
/******************************************************************************/
ALTER TABLE TBL_SIPARIS ADD CONSTRAINT FK_TBL_SIPARIS_1 FOREIGN KEY (MUSTERIKODU) REFERENCES TBL_MUSTERI (MUSTERIKODU) ON DELETE CASCADE ON UPDATE CASCADE
USING INDEX FK_MUSTERI_SIPARIS;
/******************************************************************************/
/**** Privileges ****/
/******************************************************************************/
Burada bunu kabul edebilmesi için dediğim gibi master tablodaki PK2 olan musterikodu ksımını ayrıca UNIQUE alan olarak tanımlamak zorunda kaldım.
Teşekkürler kolay gelsin...
"Bilgisizlerin geçtikleri mevkiye yaptığı fenalığı, yüzlerce aslan bir araya gelse yapamaz" MEVLANA