19 Kasım 2012

Oracle'da Primary Key ve Foreign Key Oluşturma

Merhaba arkadaşlar;

Oracle'da nasıl tablo oluşturulur ve de nasıl primary key ile foreign key tanımlarız?" sorusunu kısa ve basitçe anlatacağım.

Örneğin bir site düşünün ve doğal olarak da içinde yaşayan insanları. Bloklar için bir tablo oluşturalım. Primary key olarak bir blok id tanımlayacağız:

CREATE TABLE Block(
BlockID number,
BlockName nvarchar2(50),
CONSTRAINT BlockID_pk PRIMARY KEY (BlockID));

Burada kısıtlayıcının (constraint) adı BlockID_pk ve de primary key'in adı da BlockID olacak şekilde bir tablo oluşturmuş olduk.


Şimdi dairelerin tablosunu oluşturalım:

CREATE TABLE Flat(
FlatID number,
BlockID number,
FlatNo number,
CONSTRAINT FlatID_pk PRIMARY KEY (FlatID),
CONSTRAINT fk_BlockID FOREIGN KEY (BlockID) REFERENCES Block(BlockID));

Burada kısıtlayıcı adı fk_BlockID ve de foreign key sütunu adı BlockID. Bu foreign key, Block isimli tablodan BlockID sütununu referans alıyor.


Şimdi sitede yaşayan insanların tablosunu oluşturalım:

CREATE TABLE People(
PersonID number,
Name nvarchar2(50),
Surname nvarchar2(50),
email nvarchar2(50),
Telephone number,
FlatID number,
CONSTRAINT PersonID_pk PRIMARY KEY (PersonID),
CONSTRAINT fk_FlatID FOREIGN KEY (FlatID) REFERENCES Flat(FlatID));

Böylelikle birbirine bağlı 3 tablo oluşturmuş olduk. Block tablosunun primary key'i Flat tablosunda foreign key, Flat tablosunun primary key'i People tablosunun foreign key'i oldu.

Bu örneğimin yardımcı olabileceğini düşündüm, sizlerle paylaşmak istedim arkadaşlar.
Kolay gelsin...


1 yorum: