MS SQL Server Eğitimleri 11 – SQL Server 2017 Tablolar Arası İlişki Oluşturma

SQL Eğitimlerimize ilişkisel veri tabanı mantığının en önemli konusu tablolar arası ilişkileri oluşturma ile devam ediyoruz.

İlişkisel veri tabanının en önemli avantajı veri tekrarının önüne geçmesidir. 

Oluşturulmuş veri tabanlarının bakımı kolaydır.

Tek yerden silinen, güncellenen bir veride ilişkili olduğu tüm tablolarda silme ve güncelleme işlemini gerçekleştirebiliriz.

Bir senaryo düşünelim şimdi.

Bir kütüphanede satın alınan kitapların bir tablosu olsun, bir de alıcıların bilgilerinin olduğu bir tablomuz olsun. Şunu isteyelim satın alınan bir kitaptan o kitabın kimde olduğunu ve o kişinin bilgilerini listelemek.

Alıcı Tablomuzda

AlıcıNo

AlıcıAdı

AlıcıSoyadı

olsun.

S.A Kitaplar Tablosunda

KitapNo

KitapAdı

Kitap Yazarı

şeklinde olsun.

Biz buradan alınan bir kitabı kimin aldığını nasıl bilebiliriz. Bunu düşündüğümüzde eğer S.A Kitaplar tablosunda AlıcıNo’yu eklersek ve AlıcıNo’larla iki tablo arasında bir ilişki diagramı kurarsak işte tamda istediğimiz sonucu alabiliriz.

Şimdi bir önceki derslerimizde oluşturduğumuz RUBBLEBOX veri tabanı üzerindeki tablolar arası ilişkileri kuralım.

Step 1

Database Diagrams >> New Database Diagram

Step 2

Step 3

Hepsini seçiyoruz çünkü tümü arasında ilişki kuracağız.

Tablolarımız böyle gözükecek.

Şimdi ilişkilerimizi belirlemeye geldi sıra. Bu arada önemli olan işlerden biri veri tabanı tasarlama işinde yapılacak olan ilişkiler veri tabanı tasarımına başlamadan önce düşünülüp belki kağıt üzerinde ifade edilip ondan sonra işe koyulmalıdır. Bu daha verimli veri tabanları tasarlamamızı sağlayacaktır.

Şu anda adım adım gitme nedenim olayları anlatabilmektir.

Step 4

CUSTOMER >> ORDER

Siparişi verecek müşteri ile sipariş arasında bir bağlantı olmalı.

Bunun için ORDER Tablosuna CUSTOMERID kolonunu ekliyoruz.

Not: Burada çok önemli bir nokta var. İlişki kuracağımız iki kolonun tipi ve uzunluğu kesinlikle aynı olmalıdır. İlişki kurulan kolonlardan biri mutlaka Primary Key olmalıdır. 

Mouse ile ID kolonunu tutup CUSTOMERID kolonunun üzerine sürüklediğiniz de ilişkiyi kurmuş olursunuz.

 

Görüldüğü gibi artık CUSTOMER tablosundaki ID ile ORDER tablosundaki CUSTOMERID ile ilişkilendirdik. Böylece hangi siparişi hangi müşteri verdi ise o müşterinin bilgilerine erişebileceğiz.

1’e Sonsuz İlişki

İlişki türlerinden biri olan 1’e Sonsuz ilişki şunu ifade eder.

Bir müşteri sonsuz tane sipariş verebilir. Ama her siparişin 1 tane müşterisi vardır. Burada bu sebepten 1 e sonsuz ilişki oluşur.

Diğer tablolar arası ilişkileri de oluşturalım.

ORDERITEM >> ORDER && ORDERITEM >> PRODUCT

ORDERITEM Tablosu ile Hem ORDER hemde PRODUCT tablosu ile ilişkisini kuralım.

Yapmak istediğimiz işlem şu.

ORDERITEM Sipariş özellikleri tablomuzda ORDERID ile siparişin detaylarını görelim.

PRODUCTID ile de sipariş edilen ürünün özelliklerine erişelim istiyoruz.

Bunun için öncelikle ORDERITEM tablomuza ORDERID ve PRODUCTID kolonlarını ekleyelim.

 

 

PRODUCT >> SUPPLIER

Son olarak PRODUCT Tablosu ile SUPPLIER tablosu arasında bir ilişki kuracağız.

Yapmak istediğimiz işlem şu bir ürünü kimden tedarik ettiğimizi öğrenmek istiyoruz.

Bunun için PRODUCT tablosu SUPPLIERID kolonunu ekliyoruz.

 

Tüm ilişkileri oluşturduğumuza göre diagramı CTRL+S ile kaydedelim.

İsmini verip OK Diyoruz.

 

Böylece istediğimiz ilişkileri oluşturduk.

Bir sonraki yazımda görüşmek üzere.

Bir sonraki yazı için tıklayınız.