Veri Tabanı Yönetim Sistemleri Hafta 2
ALTER İfadesi Daha önceden oluşturulmuş veri tabanı nesnesinin özelliğini değiştirmek için kullanılır. Yapılmak istenen değişiklik parametre olarak verilir.
Kullanım Şekilleri ALTER TABLE tablo ADD sutun_adi özellikler ALTER TABLE tablo DROP COLUMN sutun_adi ALTER TABLE tablo MODIFY sütun_adi özellikler ALTER TABLE tablo ALTER COLUMN sütun_adi özellikler
Mevcut Bir Tabloya Kolon Ekleme Tabloya Alan(kolon) eklemek için ALTER TABLE komutuna ADD sözcüğü eklenmelidir. Örnek : Öğrenci tablosunun içerisine öğrencinin yaş bilgilerini de eklemek istiyorsak; ALTER TABLE ogrenci ADD yas INT NOT NULL; Örnek : ALTER TABLE ogrenci ADD baba_adi CHAR(15); Öğrenci tablosuna baba_adi diye char tipinde bir kolon ekler.
Mevcut Alan Üzerinde Değişiklik Yapmak Mevcut bir kolon üzerinde değişiklik yapma, değişken uzunluklu bir veri tipine sahip olan kolonun genişliğini arttırma ile sınırlıdır. Bu anlamda, kolon genişliğini azaltma ya da veri tipini değiştirme mümkündür. Bu işlem için ALTER TABLE komutuna MODIFY deyiminin eklenmesi ile gerçekleştirilir.
Örnek: ALTER TABLE ogrenci MODIFY adi CHAR(15); Öğrenci tablosundaki adı alanının veri uzunluğunu 15 olarak değiştirir.
Alan tipini değiştirmek için, ALTER TABLE komutuna ALTER COLUMN deyiminin eklenmesi gerekir.
Örnek Kullanımlar Örnek: ALTER TABLE ogrenci ALTER COLUMN adi INT; Öğrenci tablosundaki adi alanının veri tipini int olarak değiştirir. Örnek: ALTER TABLE ogrenci ALTER COLUMN notu FLOAT; Öğrenci tablosundaki notu alanının veri tipini float olarak değiştirir. Örnek: ALTER TABLE ogrenci ALTER COLUMN cins BIT; Öğrenci tablosundaki cins kolonunun veri tipini bit olarak değiştirir.
Örnek Kullanımlar Örnek: ALTER TABLE ogrenci ADD UNIQUE (ogr_no) Var olan öğrenci tablosuna ogr_no sütununa UNIQUE özellik eklemektedir. Örnek: ALTER TABLE ogrenci ADD CONSTRAINT uc_de UNIQUE (ogr_no,ad) Var olan öğrenci tablosu için ogr_no ve ad sütunlarına unique özelliğini ekler.
Örnek Kullanımlar Örnek: ALTER TABLE ogrenci ADD PRIMARY KEY(ogr_no) Var olan ogr_no sütununa primary key özelliğini ekler. Örnek: ALTER TABLE ogrenci ADD FOREING KEY (bolum) REFERENCES bolumler(bolum) Var olan öğrenci tablosu için bolum sütununa bolumler tablosunun bölüm sütununu referans kullanacak şekilde foreign key özelliğini ekler.
Örnek Kullanımlar Örnek: ALTER TABLE ogrenci ADD CHECK (ogr_no >120000) Var olan ogrenci tablosu için ogr_no sütnuna 120000 den büyük olması kısıtı eklenir.
DROP İfadesi Veri tabanı içerisinde var olan bir nesnenin veya veri tabanının kendisinin silinmesi için kullanılır. DROP TABLE tablo_adi DROP DATABASE veritabanı_adi
Veri silmek için kullanılan veritabanı ifadesi TRUNCATE TABLE dır. Bu ifade nesneyi değil tablodaki tüm kayıtları siler. TRUNCATE TABLE tablo_adi Not: Delete ile truncate farkı: Kayıt başlangıcı truncate de sıfırlanır. Ayrıca truncate de sildikten sonra daha fazla yer açılır.
VERİ İŞLEME DİLİ(DML) SELECT INSERT UPDATE DELETE
SELECT İfadesi SELECT sütunlar FROM tablo_adi Select * from Ogrenci Select oNo,oAdi from Ogrenci Select Ogrenci.oAdi, Ders.dersAdi from Ogrenci,Ders
Select ifadesi ile yapılan sorgulamalarda belirli bir koşula bağlı kayıtların seçilmesi isteniyorsa tablo adından sonra WHERE ifadesi ile koşul belirtilebilir. WHERE ifadesinde belirtilen koşul ifadeleri karşılaştırma operatörleri (<,> <=,>=,NOT) kullanılarak oluşturulur. Örneğin no>10 kullanılırsa no sütununun değeri 10 dan büyük olan kayıtların seçilmesi anlamına gelecektir.
WHERE ifadesinde belirtilen koşul sayısı birden fazla ise koşulları birbirine bağlamak için AND veya OR operatörleri kullanılır. IN ifadesi ile bir veri kümesi içeren bilgilerin seçilmesi için koşul ifadeleri ve LIKE ifadesi joker karakter içerek koşul ifadeleri yazılabilir.
% karakteri bir veya birden fazla karakter _ karakteri tek karakter anlamına gelir. WHERE ad IN (‘Ali’ ,’Mustafa’) WHERE ad LIKE(‘A%’) baş harfi A %A% A harfi geçen değerler A_ iki karakterden oluşan ve ilk karakteri A
INSERT İfadesi Bir tabloya veri girişi (ya da veri yüklenmesi) işlemi için, SQL’de mevcut komut INSERT INTO / VALUES komutudur. Örnek : insert into bolum values(536,'Yapı-Resim'); insert into unvan values(1,'Prof.Dr.');
insert into memleket values(23,'Elazıg',424)
UPDATE İfadesi Tablo üzerinde güncelleme yapmak için UPDATE komut kullanılır. UPDATE komutunu, koşullu ya da koşulsuz olarak kullanmak mümkündür. Koşul belirtilmediği zaman değişiklik tüm tablo için geçerlidir. UPDATE tablo_ismi SET sütun1=deger, sütun2=deger,… WHERE koşul
Örnek: UPDATE ogrenci SET donem=2 WHERE donem=1 1.dönemdeki tüm öğrencileri 2.döneme atadı.
Örnek: UPDATE ogrenci SET ort=50 WHERE ort<50 AND ort>45; sorgusunun işlevi; Notu 45 ile 50 arasında olan öğrencilerin notlarını 50 yapar.
Örnek: Optik kodu 222 olan dersin final notlarını %10 artıran güncelleştirme; update notlar set final=final*1.1 where op_kod=222
DELETE İfadesi Tablo içerisindeki kayıtların tamamını veya belirli bir koşula uyanları silmek için kullanılır. Where ifadesinin kullanımı select ve update deki ile aynıdır. Örnek: DELETE FROM ogrenci WHERE og_no=172; sorgusunun işlevi: Numarası 172 olan kaydı siler.
Örnek : Adı bilgisinde «ey» geçen öğrenci kayıtlarının silinmesi için gerekli sorgu: DELETE FROM ogrenci WHERE adi LIKE ’%ey%’ Örnek: DELETE FROM ogrenci WHERE notu<50; sorgusunun işlevi; Notu 50’dan küçük olan kayıtları siler.
Uygulamalar-ogrenci veritabanında 1-Öğrenci tablosunda adı a harfi ile başlayan öğrenci numaralarını listeleyen sorguyu yazınız. 2-İsminde ikinci harfi A dördüncü harfi B olan öğrencilerin bilgilerini veren sorguyu yazınız. 3-Optik kodu 421 ve 433 olan derslerden notları açıklanan öğrencilerin numarasını bulan sorguyu yazınız. (Okul projesi) (in ile yapınız) 4-Optik kodu 222 olan dersin final notlarını %10 artıran güncelleştirmeyi yapınız. 5-Öğrenci tablosunun içerisine öğrencinin TC no bilgilerini de eklemek için gerekli sorguyu yazınız. 6-Adı Feyza olan öğrencinin sınıfını 1 olarak güncelleyiniz. 7-Hocalar tablosundaki Engin Avcı hocanın ünvanını 2 olarak güncelleyiniz. 8-Vize ve final ortalaması(bagıl ort. göre) 49 ‘dan büyük olan öğrencilerin no larını listeleyiniz. 9-Optik kodu 326 olan SQL dersini VTYS olarak güncelleyiniz. 10-Öğrenci tablosuna no su 599 ,adi Ayse, soyadi Güney ,doğum tarihi 11.03.1990 olan öğrenciyi ekleyiniz.
Uygulamalar-ogrenci veritabanında 11-Öğrenci tablosuna öğrencilerin TC numaralarını tutmak için gerekli alani ekleyiniz. 12-Memleket tablosunda tel_kod alanının tekil olması için gerekli kısıtı ekleyiniz. 5- Öğrenci tablosunun içerisine öğrencinin TC no bilgilerini de eklemek için gerekli sorguyu yazınız. 13-Bölüm tablosuna 600 bolum koduna sahip Yazılım Müh. Bölümünü ekleyiniz 14-Dersler tablosundaki ders_adi alanının tipini char(15) olarak değiştiriniz. 15-Dersler tablosunda pratik kredisi 2 olan derslerin kredisini 3 olarak güncelleyiniz. 16-Notlar tablosunda bütünlemesi 18 den küçük notları 0 olacak şekilde güncelleyiniz. 17-Öğrenci tablosunda bölüm kodu 536 olan ve sınıfı 2 olan öğrencileri 3. sınıfa atayınız. 18-Unvan tablosunda içinde Dr. Geçen ünvanları listeleyiniz. 19-Öğrenci tablosundan adının içinde «la» geçen öğrencilerin adları ile memleket tablosunda içinde çan geçen memleketlerin adlarını listeleyiniz.(Tek sorgu) 20-Soyadinda ilk harfi K üçüncü harfi R olan ünvanını 3 olarak güncelleyiniz.