PHPMyAdmin kullanarak MySQL veritabanı tabloları üzerinde ilişki kurmak için youtube üzerindeki videoyu izleyebilirsiniz. PHPMyAdmin Foreign Fey Oluşturma için aşağıdaki iki yöntemden birini tercih edebilirsiniz.
SQL KODSUZ ilişki oluşturmak için;
SQL KODLA ilişki oluşturmak için;
SQL kodu kullanarak oluşturmak isterseniz de yazının devamındaki SQL örnek komutlarını kullanarak tablolar arasında ilişki kurabilirsiniz.
Kod ile MySQL Tablolar Arasında İlişki Kurma
Adım 1: Tarayıcıya http://localhost/phpmyadmin yazıp PHPMyAdmin arayüzüne giriş yapalım. Sonraki aşamada SQL sekmesine tıklayarak aşağıdaki adımları gerçekleştiriyoruz.
Kodla tablolar arasında ilişki kurmak örnek bir tane test veritabanı oluşturdum. test veritabanını oluşturmak için aşağıdaki kodu kullanabilirsiniz.
1 2 3 |
CREATE DATABASE ornek; |
Adım 2: Veritabanı oluşturduktan sonra PHPMyAdmin arayüzünde veritabanı sağ tarafta görünecektir. ornek veritabanına tıkladıktan sonra yine SQL sekmesine tıklayıp aşağıdaki kod yazıyoruz. Sonraki aşamada sağ altta bulunan kaydet butonuna basarak SQL kodunun çalıştırılmasını sağlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
CREATE TABLE ogrenci ( ogrno int PRIMARY KEY, ad varchar(50) NOT NULL, soyad varchar(50) NOT NULL, sinifno int NOT NULL ); CREATE TABLE sinif ( sinifno int(11) AUTO_INCREMENT PRIMARY KEY, ad varchar(5) NOT NULL ); |
Adım 3: Artık tablolar oluşturuldu. Yine SQL sekmesine tıklayıp oluşturulan bu iki tablo arasında ilişkiyi kurmak için gerekli olan kodu yazıyoruz.
1 2 3 4 |
ALTER TABLE ogrenci ADD FOREIGN KEY (sinifno) REFERENCES Sinif(sinifno); |
Yukarıdaki kodu adım adım inceleyelim.
ALTER TABLE ogrenci: öğrenci tablosu üzerinde değişiklik yapılacağını söylüyoruz.
ADD FOREIGN KEY (sinifno) : sinifno alanı yabancı anahtar yapılacağı ifade ediliyor.
REFERENCES Sinif(sinifno); : REFERENCES ile sinif tablosundaki sinifno referans olacak kullanılacağı ifade ediliyor.
merhaba hocam bu konularda çok acemiyim bunun bilincide olarak bir şey soracam.
Öğrenci tablomuzu doldurunca ilişkili tablo otomatik mi doluyor.?
yoksa ilişkili tablo önceden mi dolduruyoruz.
bununla ilgili beni aydınlatırsanız sevinirim.