veritabanı

2 students

Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
18
SQL SORGU DİLİ
SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart
programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya
Visual Basic programları içerisinde kullanılması mümkündür.
SQL Komutları
CREATE TABLE :Yeni bir tablonun, alanlarının ve indekslerinin yaratılmasını
sağlar.
CREATE INDEX :Belirlenen bir tablo için (index) yaratılmasını sağlar.
DROP TABLE :Belirtilen tablonun ve dizinlerin veri tabanından silinmesini sağlar.
ALTER TABLE :Tabloya yeni alanların ilavesini veya alan tanımlarının
değiştirilmesini sağlar.
Tablolarda yer alan verilerin nasıl seçileceğini, yeni kayıtların girilmesi, güncelleştirme ve
kayıtların silinmesi sağlamak üzere DML komutları kullanılır. Bu komutların bazıları aşağıda
özetlenmiştir.
SELECT :Belirlenen bir ölçüte göre tablo içerisindeki kayıtların seçilmesini sağlar.
INSERT :Tablo içinde yer alan kayıtlara bir yenisinin eklemesini sağlar.
UPDATE :Tablonun belirlenen bir kaydının alanlarını güncelleştirmek için kullanılır.
DELETE :Tablodan belirlenen kayıtların silinmesine neden olur.
SQL programları içinde yukarıda belirtilen komutlar tek başına kullanılmaz. Komutların
işlevlerini yerine getirmek üzere bazı yardımcı deyimlerden yararlanılır. Aşağıda bu deyimlerden
bazıları özetlenmiştir.
FROM :Sorgulamanın hangi tablodan yapılacağını tanımlar.
WHERE :Sorgulama esnasında kullanılacak kıstası tanımlar.
GROUP BY :Kayıtları belirlenen alana göre gruplar.
HAVING :Her bir grubun uyması gereken ölçütü tanımlar.
CONSTRAINT :Dizin tanımlamasını ve bir diğer tablo ile ilişki kurulmasını sağlar.
SQL İşleçleri
SQL bir dil olduğuna göre, doğal olarak bazı işleçlerinin kullanılmasına olanak sağlamalıdır.
SQL ile kullanılacak mantıksal ve karşılaştırma işleçleri AND, OR, ve NOT biçimindedir.
AND :Seçme işleminin iki ayrı ölçütün birlikte gerçekleşmesi durumunda yapılacaktır.
OR :Ölçütlerden biri gerçekleştiğinde belirtilen seçme işlemi yapılacaktır.
NOT :Ölçütün gerçekleşmemesi durumunda yapılacak seçme işlemini tanımlar.
Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.
< Belirlenen değerden küçük olanı belirler.
<= Belirlenen değerden küçük ve eşit olanı seçer.
> Belirlenen değerden büyük olanı seçer.
>= Belirlenen değerden büyük ve eşit olanı seçer.
<> Belirlenen değer eşit olmayanları tanımlar.
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
19
BETWEEN İki değer arasındaki değerleri belirler.
LIKE Belirlenen iki kalıba uygun olanları tanımlar.
IN Bir veri tabanı içindeki kayıtları belirler.
SQL Fonksiyonları
Sorgulamanın yaratılması esnasında, bazı fonksiyonlar kullanılır. Bunlardan bazıları aşağıda
özetlenmiştir.
AVG :Belirlenen bir alan içindeki verilerin ortalamasını hesaplar.
COUNT :Seçilen kayıtların sayılmasını sağlar.
SUM :Belirlenen alandaki verilerin toplamının sağlar.
MAX :Belirlen alandaki en büyük değeri bulur.
MIN :Belirlenen alandaki en küçük değeri bulur.
Bir Tablonun Yaratılması
Veri tabanı üzerinde her türlü bilgiyi tablolar halinde tutuluyor. Bir tablonun yaratılması için
CREATE TABLE komutundan yararlanılır.
CREATE TABLE Tablo adı(alan isimleri ve türleri)
Bu tanımla birlikte, bir veya birden fazla dizin alanının tanımlanmasını sağlamak üzre
CONSTRAINT deyimi kullanılır.
Access programı üzerinde SQL tablosu yaratabilmek için öncelikle SORGULAR seçilmeli ve
daha sonra Tasarım Görünümünde Sorgu Oluştur seçilmelidir.
Ekrana aşağıdaki ekran görüntüsü gelir.
Tabloyu Göster menüsünden Kapat seçildiğinde SQL yazısı aşağıdaki menüde görüldüğü gibi
ekrana gelir.
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
20
Bu menüden SQL seçildikten sonra SQL komutları kullanılabilmektedir.
Örnek: Ogrenciler isimli tabloyu yaratmak üzere hazırlanacak SQL ifadesi aşağıda gösterildiği
biçimde olabilir. Daha sonra ana menüdeki aşağıdaki çalıştır düğmesine basıldığında tablo
oluşturulur.
Tablonun Yok Edilmesi
Yukarıda açıklandığı gibi tablo yaratıldığı gibi yaratılan tabloları da veritabanından silmekte
olanaklıdır. Bunun için DROP komutundan yararlanılır.
DROP TABLE Tablo Adı;
Yeni Alan Ekleme veya Silme
Tablo yaratıldıktan sonra, bu tabloya yeni alan eklemek istenebilir. Buna karşılık var olan bir
alanın çıkarılması istenebilir. Böyle durumda ALTER TABLE komutundan yararlanılır.
ALTER TABLE Tablo adı ADD COLUMN alan adı Yeni alan ilave edilir.
ALTER TABLE Tablo adı DROP COLUMN alan adı Var olan alan yokedilir.
ALTER TABLE Tablo adı ADD CONSTRAINT dizin adı Yeni dizin ekleme
ALTER TABLE Tablo adı DROP CONSTRAINT dizin adı Dizin silme
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
21
ALTER TABLE Ogrenciler ADD CONSTRAINT Soyadı
Sorgu İşlemleri
SQL komutları yardımı ile sorgu işlemlerini gerçekleştirmek istensin. Tablolardan verilerin
seçilerek istenildiği biçimde görüntülenmesini sağlamak üzere SELECT komutu kullanılır.
SELECT alan isimleri
FROM tablo adı IN veri tabanı
WHERE araştırma koşulu
HAVING grup kıstası
ORDER BY alan kıstası
Örnek: Ogrenciler isimli tablonun içeriğini tümüyle görüntülemek istiyoruz. SELECT deyimi
şöyle kullanılır.
SELECT Ogrenciler.* FROM Ogrenciler;
Sadece Soyadı Metan olan öğrencileri görüntülemek istendiğinde; SELECT komutu aşağıda
olduğu gibi düzenlenir.
Çalıştır düğmesine basıldığında aşağıdaki sonuç elde edilir.
Bu kez de görüntü üzerinde öğrencilerin bölüm kodu yerine, bölüm adının yer alması istenirse,
aşağıdaki gibi Bolumler isimli yeni bir tablo yaratılır.
Bölüm adları ise Bolumler isimli tablonun içinde yer alıyor. O halde yeni sorgu iki ayrı tablo
içerecektir. Birden fazla tablo içeren sorgularda, her bir alanın hangi tabloya ait olduğunu
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
22
belirtmek gerekiyor. Bunun için tablo ismi ardından nokta işareti konur ve onun da ardından alan
ismi kaydedilir. Örneğin, Bolumler tablosunun BolumAdı isimli alanın kullanmak için
Bolumler.BolumAdı biçiminde yazılır.
Yukarıdaki SQL ifadesinde SELECT komutu ile birlikte INNER JOIN biçiminde bir deyim daha
kullanıldı. Bu deyim birbiriyle ilişkili iki tablo arasında, bu ilişkiyi sağlayan alana göre kayıtların
birleştirilmesini sağlar. Yani Ogrenciler isimli tablonun BolumKodu isimli alanı ile Bolumler
tablosunun BolumKodu isimli alanları arasında bir ilişki vardır. Bu ilişkiye dayalı olarak,
Ogrenciler tablosunun her bir kayıtının BolumKodu isimli alanındaki her bir değerin karşılığı
Bolumler tablosunda aranılacak; bulunduğu takdirde sorgu sonucunda aşağıda oldugu gibi
görüntülenecektir.
Sorgu sonuçlarını belirli bir alana göre sıralayarak da elde edilir. Örneğin, Ogrenciler
tablosundaki kayıtları GirisYili isimli alana göre sıralı olarak elde etmek üzere SQL ifadesi
aşağıdaki gibi yazılmalıdır.
SQL ifadesi program çalıştırıldığında aşağıdaki sonuç görüntü ekran gelir.
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
23
Güncelleştirme
Kayıtların bazı alanlarını güncelleştirmek mümkün olmaktadır. SQL’in güncelleştirme komutu
UPDATE’dir. Bu komutun gösterimi;
UPDATE tablo adı
SET alanın yeni değeri
WHERE kıstas
Tanım içerisinde SET deyimi kullanılmaktadır. Bu deyim, tablonun güncelleştirilecek alanını
tanımlıyor.
Örnek: Ogrkredi isimli tablo içinde yer alan kayıtlarda, KrediMiktari isimli alanda yer alan
değerlerden %0,5 kesinti yaparak sonucu yine aynı alan üzerinde kaydetmek istensin. Yaratılan
Ogrkredi isimli tablonun verileri aşağıda görülmektedir.
Aşağıdaki tabloda yazılan SQL deyimleri ile program çalıştırılır.
Daha sonra Ogrkredi isimli tablo açıldığında istenen işlemlerin gerçekleştirildiği görülür.
Kayıt Silme
Bir veya daha fazla sayıda tablo içinde yer alan kayıtları, bir ölçüte bağlı olarak silmek olasıdır.
Bunun için DELETE komutundan yararlanılır.
DELETE alan isimleri
FROM tablo adı
WHERE kıstas
Veri Tabanı Yönetimi Doç.Dr. M.Ümit GÜMÜŞAY
24
Örnek: Ogrenciler isimli tablo içinde yer alan tüm kayıtları silmek istiyoruz bunu için aşağıdaki
ifade kullanılır.
DELETE * FROM Ogrenciler
Aynı tablo içinde bir seçme yaparak silme işlemini yerine getirebiliriz. Örneğin sadece bölüm
kodu 100 olanları silmek üzere aşağıdaki ifade tanımlanır;
DELETE Ogrenciler.BolumKodu,
FROM Ogrenciler
WHERE Ogrenciler.BolumKodu=100
SQL ifadesi yazıldığında gereken işlemler yapılır.

Instructor

admin

Free

Bir cevap yazın