SQL, ilişkisel veri tabanı yönetim sistemleri çeşitlerinden biridir.
Peki ilişkisel veri tabanı ne demek. İlişkisel veri tabanı, organize edilmiş verilerin tablolarda saklanması ve bu tablolar arasında kurulan ilişkilerle oluşan sistemin genel adıdır.
SQL ortamında tablolarımız satır ve sütunlardan oluşur, üzerinde verileri saklayabilir, ekleyebilir, silebilir ve güncelleyebiliriz. Her satır aynı sütunlara(kolonlara) yani alanlara sahiptir. Tablo üzerindeki her bir satıra ise kayıt diyoruz. Tablolardaki satırlar bizlere kayıtlarla ilgili bilgiler vermektedir.
Aşağıdaki görselde tabloda bulunan First Name alanında her kayıt için kişilerin isimleri bulunmaktadır.
Peki ilişkisel veri tabanı ne demek. İlişkisel veri tabanı, organize edilmiş verilerin tablolarda saklanması ve bu tablolar arasında kurulan ilişkilerle oluşan sistemin genel adıdır.
SQL ortamında tablolarımız satır ve sütunlardan oluşur, üzerinde verileri saklayabilir, ekleyebilir, silebilir ve güncelleyebiliriz. Her satır aynı sütunlara(kolonlara) yani alanlara sahiptir. Tablo üzerindeki her bir satıra ise kayıt diyoruz. Tablolardaki satırlar bizlere kayıtlarla ilgili bilgiler vermektedir.
Aşağıdaki görselde tabloda bulunan First Name alanında her kayıt için kişilerin isimleri bulunmaktadır.
Northwind veri tabanının ilişkisel sistemini aşağıdaki görselde bulabilirsiniz.
Aşağıdaki görselde birçok veri tek tabloda tutulmuş olup hem personel hem de müşteriye ait bilgileri tek bir tabloda görmekteyiz.
Yukarıdaki tablomuz bir mağazada satılan ürünlerin hangi personel tarafından kime satıldığının bilgisini içermektedir. Bu tablo her ne kadar normal gözükse de doğru değildir. Eksiklerle başlayalım:
- Personel Adı Tekrar Etmekte....
Normalizasyon
Veri tabanı oluştururken tabloların doğru tasarlanması önemlidir. Her tablo birbiriyle alakalı özellikleri içermelidir ve mümkün olduğunca bir işi yapmalıdır. Tıpkı metotlarda olduğu gibi. Yukarıdaki örnekte bir tabloda hem müşteri bilgileri hem aldığı personel bilgileri tutulmaktadır. Olması gereken ise iki farklı tabloda bu bilgileri tutup daha sonra bu tablolar arasında ilişki oluşturmaktır. Buna normalizasyon denir.
Primary Key
Tablolara girilen her kayıt birbirinden farklıdır. Her biri için ayrı işlemler yapılmaktadır. Ancak yukarıdaki yapı bunun için sağlıklı değildir. Mesela Ahmet Sarı isimli kişi farklı zamanlarda farklı iki ürün almış olsun. Ve biz bu kayıtlara ulaşmak isteyelim. İşimiz zorlaşacaktır. Benzer olaylar personel içinde geçerlidir. Olayı bir kademe daha zorlaştıralım ve farklı Ahmet Sarı’ların olduğunu düşünelim. Bu iki ayrı kişi aynı ürünü almış olsun. Biz kayıta ulaşmak istediğimizde hangisinin doğru kişi olduğunu nasıl anlarız. Sonuç: Kaos. Bu yüzden her bir kayıt kendine has bir numaraya sahip olmalıdır. Buna primary key denmektedir. İlişkisel veritabanınında tablolar arası ilişkiler kurulması açısından kritik bir görevi de bulunuyor. Primary key, benzersiz ve biribirinden farklı değerler alır. Aşağıda, birinci tabloda gözümüze yeni bir alan(personel_id) çarpıyor. Bu alan iki tablo arasında ilişki kurmamız için eklenmesi gereken bir alan. Bir sonraki yazıda geniş şekilde açıklayacağım. Yeni tablolarımızı görelim:
İlişki (Relation)
Tabloları böldük ve anahtarları atadık. Bunda sonra yapmamız gereken işlem tablolar arasında bağ kurmak ve birbirine bağlamaktır. Bu işleme ilişki diyoruz. Tablolar arasında ilişki kurarak birden fazla tabloya aynı anda ulaşıp, üzerlerinde işlem yapma imkanı buluyoruz. İlişki kurarken doğru alanlar arasında kurmaya dikkat etmeliyiz. Örneğimiz üzerinden gidersek birinci tablomuza müşteri ikinci tablomuza da personel tablosu diyelim. İlişki kurabilmek için id’leri kullanacağız. Bir sonraki yazıda ilişki türlerini işlediğimizde bu konu tamamen anlaşılacaktır. Şimdi ilişki kurulan tabloları görelim:
Foreign Key
Tablolar arası ilişkiler kurulurken birinci tablodaki primary key’i ikinci tabloda ki başka bir primary key‘e bağlıyoruz. İşte bu ikinci key’e foreign key diyoruz.
Hiç yorum yok:
Yorum Gönder