MySql Primary Key Auto Increment ve Foreing Key

Değerli dostlarım merhabalar, Mysql veritabanımızda tablo oluşturman dan önce bilmemiz gereken iki konu var. bunlardan biri Primary Key bir diğeri ise Auto Increment.

Auto Increment anmlamı; otomatik artış demektir. Primary Key ; ise benzersiz kimlik demek. Şimdi biraz detaylı irdeleyelim. Bir tablo üzerinden şu şekilde örnek verelim, adı ve soy adı olan bir tablo oluşturup kayıtlarımıza otomatik artan benzer bir kimlik yani ID tanımlayalım.

CREATE TABLE tbl_kisiler(
    ID int NOT NULL AUTO_INCREMENT,
    ISIM varchar(255) NOT NULL,
    SOYISIM varchar(255),
    PRIMARY KEY (ID)
);

Yukarıda ID stünumuzda Auto Increment ve Primary Key özelliği tanımladık. Böylelikle tablomuza ekleyeceğimiz kaydın benzersiz bir ID değeri olacaktır. Bu ID ilerleyen zamanda verilerimizi silmek yada güncellemek için bize lazım olacaktır.

Şu ID değer sahip olan kaydı sil ve ya güncelle şeklinde.

NOT NULL ise bu kolon boş geçilemez anlamına gelmektedir. Yani bir kayıt eklediğimizde kolonumuza Not Null özelliği verdiğimizde bu kolona kayıt girilmediği taktirde kayıt işlemi başarısız olacaktır.

Foreing key ; yabancı anahtar anlamına gelmektedir. İki tabloyu birbirine bağlamak için kullanılır. Örnek bir Sql kodu ile açıklayalım.

CREATE TABLE tbl_Sipraisler(
    SiparisID int NOT NULL,
    SiparisNumarasi int NOT NULL,
    PersonelID int,
    PRIMARY KEY (SiparisID ),
    FOREIGN KEY (PersonelID ) REFERENCES tbl_personeller(PersonelID)
);

Siparişler adında ana bir tablomuz var. Bu tablomuza yan olarak ise Personeller tablomuz mevcut. Bu iki tablonun ID ile eşleştireceğiz. Eşleştireceğimiz ID yi Foreing Key olarak tanımlıyoruz.

Peki Primary Key olarak tanımlasak ne olur? Aslında değişen hiçbir şey olmayacaktır.

Diğer derste görüşmek üzere.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Shares