Press "Enter" to skip to content

Temel Veri Tabanı Kavramları

Bedirhan Sağlam 0

T-SQL (Transact SQL)

T-SQL, Transact SQL adı verilen bir SQL dilidir. SQL dilinin Microsoft SQL Server üzerinde kullanılan sürümüdür. Daha iyi performans sağlaması için SQL dili üzerine eklentiler ve fonksiyonellikler eklenerek oluşturulmuştur. Veri tabanından bağımsız olarak, bir programlama dili aracılığıyla kullanıcıdan gelen T-SQL sorgularının sonuçları ilişkisel veri tabanı yönetim sistemi (RDBMS) tarafından oluşturularak kullanıcıya gönderilir. Bu şekilde kullanıcı, veri tabanı ile birebir uğraşmaksızın, sadece sorgular yazarak veri tabanı üzerinde işlemler yapabilir, veri tabanından gelen sonuçları program veya bir web sayfası üzerinde görüntüleyebilir.

T-SQL İfade Tipleri

T-SQL içerisinde 3 farklı ifade tipi bulunmaktadır.

  • Veri Tanımlama Dili (Data Definition Language)
  • Veri Kontrol Dili (Data Control Language)
  • Veri İşleme Dili (Data Manipulation Language) (Biz buna kısaca değineceğiz .)

 

Veri İşleme Dili (Data Manipulation Language – DML)

Veri işleme ifadeleri, veri tabanı üzerinde depolanan veriler üzerinde yapılması gereken işlemler için kullanılan ifadelerdir. Veri seçme/getirme, veri ekleme, veri güncelleme ve veri silme gibi işlemlerin yapılmasını sağlarlar. Toplam 4 adet veri işleme ifadesi bulunmaktadır.

  • SELECT
  • INSERT
  • UPDATE
  • DELETE

SELECT

  • SELECT tablolardan veri seçme/getirme işlemini gerçekleştirir
  • Bir tablo içerisindeki verilerin tamamını getirir veya belirli şartlara göre bir kısmını filtreleyerek seçme işlemlerini gerçekleştirir. Genel kullanım şekli aşağıdaki gibidir.SELECT SeçilecekAlan1, SeçilecekAlan2 ,… FROM TabloAdı

INSERT

  • Bir tablo içerisine yeni bir veri eklemek için kullanılır. Genel kullanımı aşağıdaki gibidir.

   INSERT INTO TabloAdı (VeriEklenecekAlan1, VeriEklenecekAlan2, …) VALUES (EklenecekDeğer1, EklenecekDeğer2, …)

UPDATE

  • Bir tablo içerisinde bulunan verilerin değiştirilmesi için kullanılır. Genel kullanımı aşağıdaki gibidir.
    UPDATE  TabloAdı Set GuncellenecekAlan1 = YeniVeri1, GuncellenecekAlan2 = YeniVeri2 WHERE Koşul veya koşullar

DELETE

  • Tablo içerisinde bulunan bir kaydı veya kayıtları silmek için kullanılır. Genel kullanım şekli aşağıdaki gibidir.
    DELETE FROM TabloAdı WHERE Koşul veya koşullar

 

TABLOLAR

  • Tablolar verilerin saklanmasını sağlayan, alanlar (sütun-column) ve satırlardan (row) oluşan birimlerdir. Tablo, ilişkisel veritabanlarında temel veri depolama nesnesidir ve bilgiler tablolarda saklanmaktadır.
  • Tablo içerisinde her satır bir kaydı temsil etmektedir. Alanlar ise kayıtlara ait özellikleri taşımaktadırlar.

  • Yukarıdaki şekilde 1 numara ile belirtilmiş kısım satır, 2 numara ile belirtilmiş kısım ise alan olarak adlandırılır.
  • 1. Satır (Row): Tabloda bulunan bir kayıt.
  • 2. Alan (Sütun-Column): Bir kayda ait özellik. Örneğin; Kayıtlı öğrencinin adı.
  • Tablolar tasarlanırken içerecekleri bilgi türlerine göre gruplandırılmalıdır.

 

Örnek

Bir üniversitenin veri tabanı Fakülte, Bölüm ve Öğrenci gibi tablolardan oluşabilir. Bölüm ve öğrenci bilgileri birbirinden farklı şeyler olduğu için, ayrı tablolarda tutulması hem veri bütünlüğü açısından, hem de veriye erişimin daha kolay ve hızlı olması açısından önemlidir. İsterseniz şimdi örnek olarak Bölüm ve Öğrenci tablolarını oluşturalım. Ardından da bu tabloların yapılarını ve içeriklerini inceleyelim.

Bolum Tablosu

BolumId BolumAd
101 Bilgisayar Mühendisliği
102 Bilgisayar Öğretmenliği
103 İç Mimarlık
104 Fizik

Ogrenci Tablosu

  • Bolum tablosu 2 alan (sütun) ve 4 satırdan (kayıt), Ogrenci tablosu ise 4 alan ve 4 satırdan oluşmaktadır. Bu şekilde birbirinden farklı içerikleri olan bölümler ve öğrenciler farklı iki tabloda depolanmış oldu.
  • Yine Ogrenci adlı tablodaki BolumId alanına dikkat edilecek olursa, öğrencinin hangi bölümde bulunduğu bilgisinin Bolum tablosundaki BolumId ile ilişkilendirilmiş olduğu görülebilir. (Buradaki 101, 102 şeklindeki ifadeler aslında Bolum tablosundaki Bilgisayar Mühendisliği, Bilgisayar Öğretmenliği gibi bölümleri temsil etmektedir.)
  • Bolum tablosunda BolumId ve BolumAd dışında, bölüm adresi, bölüm başkanı, bölümün bağlı olduğu fakülte gibi bilgileri de tuttuğumuzu varsayarsak, bu bilgileri öğrencilerin bilgileri ile aynı tabloda tutmak hem gereksiz yere verilerin tekrarlanmasına, hem de veri karışıklığına sebep olacaktı.
  • İlişki diyagramlarında bir tablo ile diğer tablo arasındaki ilişki aşağıdaki şekilde olduğu gibi belirtilir.

Tablo ve alan isimlendirilirken dikkat etmemiz gereken bazı hususlar vardır:

  • – Bir tablo içerisinde aynı isme sahip sadece bir alan bulunabilir.
  • – Tablo ve alan isimleri içerisinde rakam veya harfler dışındaki karakterlerin kullanılmaması tavsiye edilmektedir.
  • – İsimlerin rakam ile başlamaması tavsiye edilmektedir.

 

Anahtarlar (Keys)

Bir kayıt içerisinde farklılıkları ve nitelikleri gösteren belirleyicilere anahtarlar (keys) denir. Farklı içeriklere sahip olacak verileri farklı tablolarda depolayarak yapabileceğimiz birçok işi kolaylaştırabiliyorduk. Benzer şekilde, tablodaki kayıtları da birbirinden ayırt edebilmek için tablo içindeki alanlara belirli anahtarlar atayarak birçok işlemi kolaylaştırabilmekteyiz. Bir tablo içerisinde bulunabilecek anahtarlar, birincil anahtar (primary key), tekil anahtar (unique key), referans anahtar (foreign key) ve birleşik anahtardır. (composite key)

Birincil anahtar (Primary key):

Bir tablo içerisindeki satırları birbirinden ayırt eder. Birincil anahtar olan bir veri aynı tablo içerisinde tekrarlanamaz. Yine bu alandaki veri boş bırakılamaz, yani NULL değeri alamaz. Tek bir alan birincil anahtar olabileceği gibi bazı tablolarda birden fazla alanın birleşmesiyle birincil anahtar oluşabilir. (Bu aslında az sonra göreceğimiz birleşik anahtardır)

Tekil anahtar (Unique key):

Tablonun tekil anahtar olarak tanımlanmış bir alanına aynı değer sadece bir kez girilebilir. Birincil anahtardan farklı olarak, tabloda bu alana ait sadece bir kayıt NULL değeri alabilir. Birincil anahtar aynı zamanda tek anahtar olarak sayılabilir fakat tek anahtarlar birincil anahtar değildirler.

Referans anahtar (Foreign key):

Tablodaki bir veriyi başka tablodaki bir veri ile ilişkilendirir. İki tablo arasında yapılan bu ilişkilendirme ile referans anahtar olarak tanımlanmış alana sadece ilişkilendirdiği tablonun alanındaki veriler eklenebilir.

Birleşik anahtar (Composite Key):

Birden fazla alanın birleştirilmesiyle birincil anahtar görevini üstlenecek tanımlamalar yapılabilir. Bunlar birleşik anahtar olarak adlandırılır.

OgrenciID her öğrenci için tek ve belirleyici bir unsur olacağı için Ogrenci tablosunda birincil anahtar olarak belirlenmiştir. Yine EMail her öğrenci için tek olacağı için bu alan tablo için tekil anahtar olacaktır. Daha önceki örneğimizden hatırlayacağınız gibi BolumID, Bolum tablosunun BolumID alanı ile ilişkilendirilmişti. Ogrenci tablosunun bu alanına sadece Bolum tablosundaki değerleri alabilmektedir. Başka bir tablodaki anahtar ile ilişkilendirildiği için tablonun referans anahtarı olmuştur.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir