SQL


SQL nedir ve SELECT ifadesi ile veriye erişim

Etiketler :
t-sql, sql, select, sorgu

Okunma Sayısı : 48  Yayınlanma Tarihi : 07.05.2008  Yayınlayan : Akın Bostancı

Puanla
Bu Makaleye 0 kişi puan vermiştir. Ortalama Puan: 0

Özet :
Veri tabanı ile bilgi alış verişi yapılmasını sağlayan bir dildir. Ancak SQL yalnız başına bir dil olarak algılanmamalıdır. Çünkü SQL, programlama dillerinin içine gömülen kodlar sayesinde çalışır.

1 - SQL NEDİR?

Programlama dillerinin İngilizcesidir. Birkaç İngilizce kelimeden oluşur. Veri tabanı sorgusu yapan dile aslında T-SQL (Transact SQL) denir. SQL denince program değil, programlama dillerinde kullanılan sorgulama ara dili akla gelmelidir. Veri tabanlarını görüntülemeye ve yönetmeye yarayan programlara ise "Veri tabanı yönetim sistemi (Database Management System)" denir.

Piyasada pek çok veri tabanı yönetim sistemi vardır. Bunlardan en çok bilinenleri
· Microsoft SQL Server
· Oracle
· My-Sql
· Microsoft Access
· Informix

Çeşitli programlama dilleri gibi, SQL de standart hale getirilmiştir. ANSI tarafından standart hale getirilmiş ANSI SQL, her bir veri tabanı yönetim sistemi tarafından desteklenmesi gereken bir standarttır.
Veri Tabanı (Database)

Günümüzde veri tabanı (database), neredeyse her alanda kullanılmaktadır. Adres defterinizden bir adresi araştırmanız bile bir veri tabanı sorgusudur. Arama motorları sayesinde ulaştığınız bilgiler de yine veri tabanları ile haberleşir.

Bilgi: Veri tabanı, verileri derli toplu olarak saklamaya yarayan dosya ve dosyalar kümesidir.
Bilgi: Yaygın olarak veri tabanı yazılımlarına hatalı bir kullanışla "veritabanı" adı kullanılır. Ancak o programlar veri tabanı değil, veri tabanı yönetim sistemleridir (Database Management System). Veri tabanları bu yazılımlar sayesinde de kullanılabilir.
Tablolar (Tables)

Veri tabanında bilgilerin saklandığı alt birimlere tablo denir. Bir veri tabanında pek çok bilgi saklanabilir. Ancak bunların belirli bir şekilde ayrılması gerekir. Örneğin bir okulun tüm öğrencilerinin ve tüm notlarının tek bir tablo içerisinde tutulması karmaşaya yol açacaktır. Bu durumda veriler tablolara ayrılır. Ve tablolar birbirleriyle ilişkilendirilir.

Bir veri tabanında aynı isimde iki tablo bulunamaz. Tabi ki farklı veri tabanlarında aynı isimde tablolar bulunabilir.

Bilgi: Veri tabanına ait tabloların özelliklerini ve yerleşim şekillerini içeren bilgiye şema (schema) denir.
Kolonlar ve Veri Türleri (Columns and Datatypes)

Veri tabanının tablolardan oluştuğunu belirtmiştik. Tablolar da kolonlardan oluşur. Kolonlar, her birinde aynı türden veri saklayan birimlerdir. Örneğin öğrenci bilgilerini saklayan bir tabloda, bir kolon öğrenci numarasını, bir kolon adını ve diğer bir kolon da soyadını tutar. Yani her bir özelleşmiş bilgi, bir kolonda saklanır.

Verileri ayrı ayrı kolonlarda tutmak da çok önemlidir. Örneğin aynı isime sahip öğrencilere ulaşmak istendiğinde, eğer ad ve soyad bilgisi aynı kolonda tutulmuşsa işlem karmaşıklaşacaktır. Ancak ad ve soyad ayrı ayrı kolonlarda tutulmuşsa, işlem oldukça kolay olacaktır.

Her bir kolonun, saklayacağı bilginin özelliğini belirten veri türü bulunmaktadır. Bu veri türü sayesinde o kolonda saklanacak bilgi sınırlanır. Örneğin sayısal ifadelerin yer alacağı bir kolona karakter girilmesinin yasaklanması gibi.

Bilgi: Veri tabanlarınsa saklanacak bilgilerin türlerini belirten veri türleri, farklı veri tabanı yönetim sistemlerinde farklı isimlere sahip olabilirler. İşte bu farklılık, veri tabanı uyumu konusunda uyumsuzluk oluşturan en temel konudur. Aslında temel veri türleri aynı isimle kullanılsa da, özel veri türleri oldukça farklıdır.
Satırlar (Rows)

Bir tablodaki bilgiler satırlarda saklanır. Her bir kayıt kendi sırasında tutulur. Yine Excel tablolarını gözünüzde canlandırırsanız, dikey kolonlar tabloların kolonlarına, yatay satırlar ise tabloların satırlarına karşılık geldiğini görürsünüz.

Bilgi: Bir satır, bir kayıt (record) demektir.
Tekil Anahtarlar (Primary Keys)

Her bir tabloda, tablonun özelliğini taşıyan özel bir veya birden fazla kolon bulundurmalıdır. Örneğin öğrenci tablosunda, öğrenci numarasını tutan kolon bu tablodaki tekil bilgiyi tutar. O zaman tasarım sırasında öğrenci numarasını tutan kolon, tekil anahtar olarak belirtilmelidir.

Tekil anahtar kullanarak aynı kolonda farklı satırlarda aynı bilginin girilmesi engellenmiş olur. Ve bu kolona veri girilmemesi gibi bir durum söz konusu olamaz. (NULL değer kabul edilmez.) Tekil anahtar olarak belirlenen kolonların değiştirlmemesi gerekir.

2 - Veriye Ulaşmak

Bir tablodan bir veya birden fazla kolona ait bilgiye ulaşabilmek için SELECT ifadesi kullanılır.
2.1 - SELECT İfadesi

SQL'in birkaç İngilizce kelimeden oluştuğunu belirtmiştik. Aslında bu kelimelere anahtar sözcük denir. Tablolardan bilgi almak için SELECT anahtar sözcüğü kullanılır.
Bilgi: Anahtar sözcük, diğer programlama dillerinde olduğu gibi SQL'de de "reserverd keywords" yani değişken adı olarak kullanılması yasaklanmış sözcüklerdir. Örneğin SELECT adında bir tablo veya kolon kullanmamak gerekir.
Bir tablodan veri almak için iki bilgiye ihtiyaç vardır: Hangi tablodan ve hangi kolondan alınacağı.

SELECT ifadesinin sözdizimi (sentax):
SELECT FROM

Örnek 2.1: Ürünler tablosunda bulunan tüm ürünlerin adının listesini almak isteyelim.
Sorgu 1:
SELECT ProductName
FROM Products;

Ürünler tablosundan urun_adi olarak isimlendirilmiş kolondaki bilgilere ulaşmak için SELECT sorgusu kullanıldı.

Bilgi: Bir sorgudan elde edilen bilgiler topluluğuna "sonuç kümesi" denir.
Sonuç kümesinde görüntülenen veriler, veri tabanına girilişe göre listelenmiştir. Yani bir sıralama söz konusu değildir. İleride sıralanmış bilgiyi elde edebileceğiz.

SQL ifadeleri, aralarında istenildiği kadar boşluk kullanılarak çalıştırılabilir.
SQL'de büyük harf küçük harf duyarlılığı, veri tabanı yönetim sistemine göre değişir.

Bir tablodan birden fazla kolona ait bilgi almak için kolon adları arasına virgül konulur.

Örnek 2.2: Ürünler tablosunda bulunan ürünlerin kodunu, adını ve fiyatlarını listelemek isteyelim.
Sorgu 2 :
SELECT ProductID, ProductName, UnitPrice
FROM Products;

Ürünler tablosundan almak istediğimiz kolonarı birbirinden virgül ile ayırdık.

Bir tabloya ait tüm kolonların bilgisini almak için ise * operatörü kullanılır.

Örnek 2.3: Ürünler tablosundaki tüm bilgileri görüntülemek isteyelim.
Sorgu 3:
SELECT *
FROM Products

Sorguda * operatörü kullanınca, tablodaki tüm kolonlar görüntülenir. Sıralanması ise tabloda bulunduğu gibidir

SQL Kategorisinden Son Makaleler

Makale ile ilgili Yorumlar

Bu makale hakkında henüz yorum yapılmamıştır...


Güvenlik Kodunuz

Yorum ekleyebilmeniz için üye olmanız gerekmektedir.
Üye iseniz üye girişi yapınız.. Üye değilseniz, üye olmak için tıklayınız