Veritabani bir kuruma ait verileri bir
yapi çerçevesinde saklandigi yazilim
olarak nitelendirebilir.Veritabani kelimesinin Ingilizce karsiligi
“DATABASE”.Bir okul,ögretmen ve ögrencilere ait kimlik bilgilerin veritabaninda
saklayabilir bununla ilgili birçok örnek verilebilir.
Veritabanin
Avantajlari :Bilgileri kagit ve kalem gibi araçlar ile saklanabilseydi suan veritabani
diye bir sey olmazdi.Veritabanlari,bize son derece güvenilir ortamlar
sunmaktadir veritabanlari ile saklanan bilgileri kaybetme riskini SQL Server ve
Oracle gibi büyük yedekleme çözümleri ile bu sorunlar büyük ölçüde azaltir.
Veritabanindaki
Bilgileri sadece yetkili kisilerin
girmesini saglamak mümkündür.
Popüler
Veritabanlari
Acces:Microsoft’un Office paketi içerisinde
sundugu veritabani yazilimidir.Dosyalarini son derece tasinabilir olmasi ve
Office lisansi disinda hiçbir lisans ücreti olmamasi,Access’i küçük ve orta
çapli projelerde oldukça cazip hale getiriyor. Buna karsilik,büyük ölçekli
kurumsal projelerde ihtiyaç duyulacak özelliklerin büyük bir kismina sahip
degildi;Bu yüzden sirketler tarafindan pek tercih edilmemektedir.
Mysql: Linux’un sahip oldugu ve Access’e
rakip oldugu kabul edilen Mysql gittikçe gelisen özellikleriyle
birlikte,Access’den daha güçlü oldugu söylemek mümkündür.
Kaynak kodunun açik olmasi ve kisisel
kullanim için herhangi bir lisans ya da ücrete tabii olmamasi veritabani
kullanicilari için cazip hale gelmektedir.
SQL
Server: 2000 yilinda
piyasaya sürülen versiyonunda hertürlü özellige yer verilmistir.SQL Server
piyasada oldukça yaygin olarak kullanilmaktadir.Express Edition, Enterprise
Edition ,Personal Edition gibi farkli lisanslara sahip oldugu için herkes ve
her keseye uygun SQL Server bulmak mümkündür.
Oracle: “En büyükler tarafindan tercih edilen
en büyük veritabani” diye tanimlayabiliriz .Oracle; Linux,Windows,Unix gibi
farkli platformlarda çalisabilmektedir.yalniz Oracle kullanabilmek için
konusunda uzman ve ne yaptigini bilen bir veritabani yöneticisiyle çalismak
gerekmektedir.kullanimi SQL Server katar kolay degildir bunun ciddi teknik
tecrübe gerekmektedir.
Bir
Veritabani Yapisi:
TABLO:Tablolar,ihtiyaçlar dogrultusunda
kullanicilar veya programcilar tarafindan kullanabilir.
Simdide ürünlere ait örnek bir tablo görelim
Ad |
Görsel |
Bos CD |
Cd jpg |
A4 Kagidi |
Kagit jpg |
Bos DVD |
Cd jpg |
HP Laptop |
Hp jpg |
Toshiba Laptop |
Toshiba jpg |
Programcilik Mantigi |
Program.jpg |
Nokia 6260 |
6260.jpg |
Siemens SX1 |
Sx1.jpg |
Veritabani mantigi çerçevesinde ;tablo
en önemli fonksiyonu,verileri birbirinden ayirmasidir.Örnegimizde ürün
tablosuna bakarak ihtiyacim olan bilgilere ulasabiliriz.yani “Hangi Cep
Telefonlari Satiyoruz” sorusunun cevabini alabiliriz.
ALAN
(Sütün):Tablolarin en
önemli fonksiyonun nesne tiplerini birbirinden ayirmak ve standarizide etmek
oldugunu açiklamistik.alanlarin en önemli fonksiyonu ise,belli bir tablodaki
bilgileri birbirinden ayirmak ve standardize etmektedir.
Allanlarin ikinci faydasi ise, belli
bir sütuna girilecek verilerin standardizasyonunu saglamasidir.Benzer bir
mantikla,alanlarin bize sagladigi diger fayda;sirket çalisanlarina ait
ad,soyad,dogum günü maas gibi bilgilere ulasabiliriz.
KAYIT(Satir):Bir tablo içerisinde bulunan her bir
kayit adi verilmektedir PERSONEL tablosunda Mehmet Çelik,Selçuk Çaliskan,Mehmet
Özkan gibi kisilere ait birer kayit bulunmaktadir.
Ad |
Soyad |
Selçuk |
Çaliskan |
Mehmet |
Özkan |
Ahmet |
Çelik |
Bir veri tablosunda sonsuz kayit
yapilabilir Pratikte kayit sayisi, veritabanini çalistigi bilgisayarlarin disk
alani ile sinirlidir.
GELISMIS
KAVRAMLAR
Primary
Key:Herhangi bir
kurumda çalisan ad ve soyadlari ayni
olan iki kisiyi veya birbirine benzeyen verileri ayirmak için numara verilir
böylece herhangi bir islem sirasinda zorluk çekilmez bu verilen numaraya
Primary Key denir.
ILISKI
(Relation):Iliski
Veritabani adinda basli basina bir teori vardir.büyük bir kurumda kayit sayisi
oldukça fazladir ve ayrintilar üzerinde yanlis bir islem yapmak büyük sorunlar
çikarabilir bu yüzden dogru model kurmayi yapmaliyiz.
Veritabani mantigi söyle der:”Her bir
nesne tipi için ayri tablo yapmayi dogru bulur ve uygular.
1 |
Mehmet |
Özkan |
01.11.1965 |
|
2 |
Ahmet |
Altin |
03.04.1983 |
|
3 |
Ercan |
Iyi |
04.05.1960 |
|
4 |
Ayhan |
Eser |
07.08.1975 |
|
5 |
Selçuk |
Çaliskan |
19.12.1983 |
|
6 |
Mehmet |
Durmaz |
12.18.1978 |
|
7 |
Mahmut |
Basel |
02.03.1963 |
PERSONEL Tablosuna bakarak istenilen
bilgilere ulasabilir. Iki farkli tablo arasindaki baglanti; tablolardan
birine,digerinin Primary Key’i eklenerek saglanir.
Foreign
Key
PERSONEL tablosundaki DEPARTMAN_ID
sütunu,bir baska tablonun Primary Key’ine referans oldugu için Foreign Key diye
adlandirabiliriz.
Normalizasyon
Bir veritabanin derli toplu bir hale
getirme sürecine normalizasyon denir.normalizasyon çalismalari çerçevesinde
;bir veritabani,genel veritabani prensiplerine uygun hale getirilir.
Veritabani
Tasarimi
Haberler: Web sitemizde haberleri
yayinlamak istiyoruz böyle bir durumda ilk yapmamiz gereken sey gereken
bilgilerin bir listesini çikarmaliyiz. Bu bilgileri saklayacak bir tablo
yapmamiz gerekir. Sunu da unutmadan belirtmek isterim ki böyle büyük tablolarda
ilk yapmamiz gereken Primary Key olusturmak.
Id |
baslik |
metin |
1 |
Web Sitemiz Açildi |
Yeni web sitemiz açildi.Ziyaretiniz
için tessekürler |
2 |
Cd de indirim |
Cd reyonunda %50 indirim var. |
$ |
Önceki bölümü incelendigi zaman
kisileri karistirmamak için Primary Key vermistik Haber basliginda ise ID adli
bir Primary Key verdik bu sekilde istenilen haber karistirilmadan girilmis
oldu.simdi de bizden haberlerin hangi tarihe ait oldugu ve haberin kisa bir
özeti istediginde eski tablomuza yeni iki tablo eklemek gerekir.
Id |
baslik |
tarih |
metin |
görüntü |
özet |
1 |
Websitemiz açildi |
06.06.2005 |
Yeni web sitemiz |
1 |
Yeni web si |
2 |
Yeni indirim |
12.02.2005 |
Bütün ürünlerde in |
2 |
Bütün ürünl |
3 |
Yine zam yaptik |
04.03.2006 |
Bütün ürünlere za |
3
|
Bütün ürünl |
Bütün istekler ve sorunlar çözüldü
sanirim Veritabani mantigi için uygun bir is oldu.
Müsteri Bilgileri
Bizden alisveris yapan müsterilerin
ad,soyad,dogum tarihi,yas,sifre ve kullanici adi gibi bilgileri
saklayabilecegimiz bir yapi olusturmamizi istiyorlar.ilk adim olarak müsteri
gibi bir tablo olusturalim daha sonra müsteri bilgilerin girelim bizden
istenilmese de mutlaka Primary Keyi olusturmak zorundayiz ileride
karsilasacagimiz sorunlari önleyecegiz.daha sonra her grup için bir tablo
olusturmak ve sonuçta büyük bilgi tablosu olusacak.
Id |
e-mail |
ad |
soyad |
Dogum |
k.adi |
Sifre |
1 |
Selcuk |
Çaliskan |
19.12.1983 |
Ameta |
2dor789yl |
|
2 |
Ayhan |
Eser |
14.06.1971 |
Aeser |
1eat76890 |
|
3 |
Mehmet |
Özkan |
08.07.1960 |
Mozkan |
115igdt87 |
|
4 |
Ali |
Gönen |
16.11.1985 |
Kaz |
Ati56e709+ |
|
5 |
Merve |
Çag |
15.12.1984 |
Dilber |
Mrve1984o |
|
6 |
Tugçe |
Deniz |
01.03.1984 |
Çagla |
Tgçe657rn |
Kurumsal
Adres Defteri
Yaptigimiz tabloyla ilgili basimizdaki
müdürümüz bize kayitlarla ilgili bir soru sordu mesela 8 numarali kaydin
adi,soyadi ve çalistigi birimi ve telefon numarasini istiyorum dedi bu durumda yaptigimiz tablodan
8 numaraya bakarak bulabiliriz.Ama müdürümüz çalisan firmalarin ve baska illere
gidenlerin de kayitlarinin da bulunmasini istiyor Veritabani mantigi
prensiplerinden biride “Farkli nesne tiplerini farkli tablolara yerlestir
”der.Simdi de bir firma tablosu yapmamiz gerekecek ama bu tabloda bitis ve baslangiç
tarihi olacak çünkü bunlarda tarih tipinde alanlaridir.
Id |
Firma id |
Adres |
Baslangic |
Bitis |
Telefon |
Faks |
1 |
1 |
Dikmen/ANKARA |
01.02.2004 |
31.12.2004 |
03124824878 |
03128764321 |
2 |
2 |
Tuzla/ISTANBUL |
01.02.2004 |
31.12.2004 |
02164671458 |
02122223344 |
3 |
3 |
Çalli/ANTALYA |
01.02.2004 |
31.12.2004 |
02423454117 |
024243651321 |
4 |
4 |
Sincan/ANKARA |
01.02.2004 |
31.12.2004 |
03124846721 |
03124786594 |
5 |
1 |
Meltem/ANTALYA |
01.02.2004 |
31.12.2004 |
0242465789 |
02424356753 |
3 numarali firma 1 Haziran 2005
tarihinde baska bir yere tasinmis simdi adres degisikligi yapmamiz gerekiyor. Bu
islem iki basamakta yapacagiz ilk önce firmanin geçerli olan adresinin 31 Mayis
2005 tarihi ile sinirli tutacagiz,daha sonra bu firma için 1 Haziran 2005
itibariyle geçerli olan yeni bir kayit yaratmak bu sekilde firmanin adresi
degistirilmis oldu.
Kullanici
Ayarlari
Yapmis oldugumuz veritabani
çalismalarinda bir yanlislik oldu ve ziyaretçilerimiz bunu giderilmesini istedi
mesela örnek olarak ziyaretçilerimizin arka plan rengi bazilari ile uyumsuzluk
yaratmis o halde her ziyaretçimizin kendi arka plan rengini seçip
saklayabilecegimiz bir yapi hazirlamamiz gerekiyor. Elimizdeki tablo zaten var bu tabloya BGCOLOR
diye bir alan eklememiz lazim.
Id |
Ülke
id |
Ad |
Soyad |
Email |
Dogum |
Kullanici |
Sifre |
Bgcolor |
1 |
TR |
Ali |
Çinar |
01.02.1985 |
Sap |
190rph |
00cccc |
|
2 |
TR |
Isa |
Pak |
12.10.1986 |
Peace |
435odi |
C00cc |
|
3 |
TR |
Ayse |
Seker |
03.09.1964 |
Egsoz |
Tak876 |
Cooff0 |
|
4 |
TR |
Yilmaz |
Tek |
06.08.1976 |
Ameta |
Ate87i |
Ffffff00 |
|
5 |
TR |
Didem |
Parlak |
09.06.1987 |
Yavru |
Mln981 |
Cc00ff |
|
6 |
TR |
Veysel |
Savas |
14.11.1983 |
Volki |
Lyk906 |
Fffc00 |
|
7 |
TR |
Tuna |
Çalis |
15.08.1942 |
lider |
Fb1907 |
Ffccc0 |
Özlü
Sözler
Id |
metin |
1 |
Kisi kendinden bilir isi |
2 |
Kargaya yavrusu sahan gibi gözükür |
3 |
Kirpi yavrusunu pamugum diye sever |
4 |
Öldürmeyen darbe güçlendirir |
Anket
Siteye bazi anketler eklemek
istiyoruz,bu anketlere verilen cevaplarinda düzenli bir sekilde saklanmasini
istiyorum.Ilk önce yapmamiz gereken isleri iki baslik altinda
toplamaliyiz.Anket sorulari ve cevap seçenekleri ve müsterilerin verdigi
cevaplar.Sitede ilk önce sorular,soru bazinda cevaplar,müsteri bazinda cevaplar
seklinde daha ayrintili olarak toplayabiliriz.Sorular için ilk önce id numarali soru tablosu yapilir.simdi ikinci
basamakta ise soru bazinda belirsiz sayida cevap tablosu yapilir eger 3 cevap
seçenekli sorular olacak denilse 3 tane yeni alan eklemek gerekecek ama bu
çözüm olmayacak bu yüzden ANKET CEVAP diye bir tablo olusturarak bu sorunu
halledebiliriz.Bir tabloda zaten yer alan bir bilgiyi bir diger tabloda
tekrarlamak ,veri tutarsizligina yol açabilir.
Satis
Katalogu
Isyerimizin sattigi ürünlerin
isimlerini ve fotograflarini merkezi sunucuda ttmak istiyorum bunun yani sira
ürünün fiyatini,hangi tarihte satildigini ve son olarak ürünün hangi gruba
girdigini de görmek güzel olacak.Ilk is olarak liste yapmak yani ürünün adi,fotografi,fiyati,ürün
grubu ve grup bazinda adi.Simdi içinde AD&ID numarali id’ye iki alan ve
fotografi ekleyecegiz ama direk fotograf gösterme olmayacagi ihtimalini
degerlendirirsek isim olarak tabloya ekleyecegiz ve bütün yükü programciya
yükleyecegiz.
Id |
baslangic |
Bitis |
ürün_id |
fiyat |
1 |
01.03.2004 |
28.02.2005 |
1 |
1 |
2 |
01.03.2004 |
28.02.2005 |
2 |
50 |
3 |
01.03.2004 |
28.02.2005 |
3 |
100 |
4 |
01.03.2004 |
28.02.2005 |
4 |
1200 |
5 |
01.03.2004 |
28.02.2005 |
5 |
896 |
6 |
01.03.2004 |
28.02.2005 |
6 |
450 |
Simdide her bir ürünü bir ürün grubuna
baglamam görevi var.URUN tablosuna GRUP_ID seklinde bir alan eklemektedir simdi
de URUNGRUP ve URUN hiyerasik bir sekilde görmek gerekir.Bilgisayarlar:HP
Laptop,Toshiba Laptop,Casper Masaüstü Bilgisayarlar,Cep Telefonlari:Nokia
6260,siemens SX1,Sarf Malzemeleri:Bos Cd,A4 Kagit,Bos DVD vb.Bir agaç yapisini
düz bir veritabani tablosunda saklamanin yolu,ilgili tabloda UST_ ID seklinde
bir alan yaratip,bu alanda her bir
kaydin bagli bulundugu kaydin ID’sini yazmaktan geçer.
Siparis
Bir siparisi hangi müsteri hangi
tarihte vermis ve kaç adet istedigini veritabaninda saklamak gerekecek.bu gibi
durumlarda ilk önce süzgeci elimize alarak liste yapariz daha sonra
SIPARIS_BASLIK adi altinda bir tablo yapmak gerekir.Her bir siparise ID
numarasi vermek yeterli olacak.Simdi ise, bir sipariste kaç çesit ürün oldugunu
bilmek imkansiz bu sorunu tablomuza sütün eklemekle çözemeyecegimize göre
SIPARIS_KALEM adi altinda yeni bir tablo yaparak sorunu halletmis olacagiz ve böylece
siparis bazinda hangi üründen kaç tane siparis edilmis olduguna ait
bilgiler elde edilir.
Teslimatlar
Müsterilerimizin siparislerini
biriktirilen bir yapi ve her bir teslimatin hangi müsteriye hangi tarih de ve
bu teslimatin hangi siparis kalemiyle yapildigini veritabaninda
saklamak.Buradaki önemli nokta :Bir müsterinin farkli tarihlerde verdigi farkli
siparisler,tek bir teslimat içerisinde postanabiliyor Simdi ilk olarak yapmamiz
gereken sey bir liste olusturmak:teslimat tarihi,müsteri,notlari ve siparis
kalemi ilk olarak TESLIMAT_BASLIK adi altinda bir tablo olusturmak bu tablonun
MUSTERI ID alanin MUSTERI tablosunun ID alanina refere edildigini söylemek
gerekir.
Çoklu
Dil Destegi
Web sitemize Dünyanin dört bir
yanindan ziyaretçi gelmekte bu yüzden sitemizdeki ifadeleri
Türkçe,Ingilizce, Almanca ve Rusça olarak yayinlanmasini saglamaliyiz. ilk önce
yapilacak is olarak elimizdeki ürünleri listelemeliyiz. Bunlar: Diller,Metinler
daha öncesinde ülke diye bir tablomuz vardi bu tabloda ülke kodlari ve isimleri
yer aliyordu buna ek olarak yeni bir tablo ile dil kodu yaparak karisikligi
önleyebiliriz.metin bazinda iilk is olarak WEBICERIK_TANIM seklinde bir tablo
yapmak içine ID ve ACIKLAMA seklinde iki alan eklemek.Simdi sirada ;hos
geldiniz mesaji,kullanici adi,sifre gibi içerikleri olusturdugumuz dört dilde
de saklanacagi bir yapi olusturmak.
WEBICERIK_TANIM tablosuna TR,EN,DE,RUS isimlerinde dört yeni alan
olusturmak.Ileride yeni diller eklemek istersek eger tablomuzu sisirmek yerine
yeni bir Metin tablosu yapmak olacak.
Id |
Tanim_id |
Ülke_id |
Metin |
1 |
1 |
TR |
Sitemize hos geldiniz! |
2 |
2 |
UK |
Welcome to our Website |
3 |
3 |
DE |
Benutzamme |
4 |
4 |
TR |
Yapim sürecindedir |
5 |
5 |
UK |
Our profile |
Organizasyon
Agaci
Simdiye kadar yapmis oldugumuz web
sitesinde birde ilk olarak yönetici kadrosunu tepeden en alt seviyeye kadar bir
Organizasyon Agaci olusturmak ve sitemizde yayinlamak.Burada
PERSONAL,DEPARTMAN_ID tablolarindan yardim alacagiz.Ilk is olarak süzgecimiz
elimizi alarak bir liste olusturmak ve Organizasyon birimlerini agaç yapisi
seklinde saklamak daha sonra Personel bazinda organizasyon birim atamasi
yapmak.her personel tek bir id numarasina sahip olacagi için PERSONEL
tablosunun içine POZISYON_ID alanini ekleyerek bu sorun da halledilebilir.
SQL
Açilimi Structured Query Language olan SQL;temelde tablolarimizda yatan
verdileri düzgün bir sekilde çekip görüntülemek için kullanilir ve tablo
yaratmak veya tablo alanlarini modifiye etmek
amaciyla da kullanilir.SQL dilini
dogru kullandiklari takdirde ,bir dolu karisik ve tehlikeli algoritma yazmak
yerine isin zor kismini veritabanina yikabilir ve gelen verileri diledikleri
gibi kullanirlar.Bu dilin tanimi yerine veritabaninda yatan bilgilere ulasma ve
bilgileri modifiye etmek amaciyla kullanilan bir komut kümesi denilebilir.
Veri
Okuma Örnekleri
Veri okuma da elbette bir yol vardir
yapilacak ilk is yaptigimiz tablodaki bütün kayitlari bakarak istedigimiz
isleri yapabiliriz ,.Mesela çalistigimiz yerdeki müdürümüz personel listesini
istedigi zaman PERSONEL tablosundaki bütün kayitlari listelemektir SQL dilinde
bir tablodan kayit çekmek için SELECT
komutudur. Personelin
ad,soyad,maas bilgilerin gerektiginde yine SELECT komutunu kullanarak yapariz.bütün
personelin listesin isim sirasina göre istenildiginde ilk is olarak listeyi
isim sirasina göre dizmek SQL sorgularinda siralama islemleri ORDER komutu
ile yapilir
SELECT
FROM PERSONEL
ORDER BY ad;
Bu komutla bütün personel siralanir. ORDER komutu listeleri herhangi bir alan bazinda artan ve
azalan sekilde siralayabiliriz. Bu seferde ad, soyadi ve maas listesini ters
olarak istenildiginde ilk olarak komutlari yazariz
SELECT ad; soyad,maas
FROM personel
ORDER BY ad DESC ,maas
Burada listeyi birden fazla alani baz
alani siralayabiliriz, bazi alanlari artan ve azalan olarak siralariz son
olarak bir sorgu içerisinde bir yandan alan isimlerini diger yandan da siralama
ölçütlerini belirtmek mümkündür. SQL
sorgularinda ,bütün metin degerleri tirnak içerisinde yazilir.Bir sorgu içerisinde kosul eklemenin WHERE komutuyla yapilabilir.
Personelde ismi Mehmet veya Dilek
olanlarin listesini çikarilmasi istenildiginde ilk is olarak PERSONEL tablosunu
AD alanini Mehmet ve Dilek kayitlari çekmek
SELECT
FROM personel
WHERE ad = ‘Mehmet’ OR ad =
‘DILEK’
OR komutuyla farkli alanlarin degerlerini
bir arada ifade edebiliriz.
AND ve OR komutlari .tek bir sorgu
içerisinde bir arada kullanabilir.
Sorgu kosullari,parantezler
yardimiyla mantik gruplarina
ayrilabilir.
LIKE komutu da gibi anlamina gelir.
“1 Kasim 1978 tarihinde dogmus bütün
çalisanlarin ad,soyad ve dogum günü bilgileri istendiginde
SELECT
FROM personel
WHERE dogum =11/01/1978;
Bir SQL sorgusunda tarih ifade etmek
gerekirse Tarih formati aa/gg/yyyy formatinda uygun bir biçimde yazilir,Tarih
alanlari arasindaki ayraç olarak /karakteri kullanilir.
SQL sorgusunda arasindaki degerleri
göstermek için BETWEEN komutunu kullaniriz.
Bir sorgu içerisinde ,alanlarindaki
degerleri matematik islemleri yapilabilir ve islem sonuçlarini ayri bir sütun
olarak görebiliriz.Mesela birden fazla örnek oldugu zaman birden çok örnek oldugu zaman birden çok OR kullanmaktansa IN(……….) kullanarak bitirilir.çalistigimiz kurumda kaç kisinin
çalistigini ögrenmek istenildiginde tek tek saymak yerine COUNT komutunu kullanarak hepsini birden listeleyebiliriz.
SELECT
count’(*) AS toplam
FROM
personel
Bu sorguyu çalistirdigimizda birçok isi biranda
yapabiliriz.GROUP
BY komutu kayit sayma islemini diledigimiz alan bazinda
yapabiliriz.Kurumumuzda çalisan personele gelecek ay kaç YTL maas verecegimizi
ögrenmek için SUM komutunu yazarak toplayabiliriz.Belli
bir alandaki degerleri toplamak için SUM
komutu
kullanilir.Veritabanindan dönecek kayitlari filtrelemek için WHERE komutu kullanilir.Ayrica bu komut hazir tablolarin hazir
alanlarinda bulunan degerleri filtrelemek içinde kullanilir.Her bir departmana
ortalama kaç YTL ödeyecegiz hesaplamak için her zamankinden farkli bir komutu
yazarak bulabiliriz AVG komutu ortalama isine yarayacak.
SELECT departman_id ,AVG(maas) AS ortalama
FROM personel
GROUP BY
departman_id;
ROUND komutu hesaplardaki küsuratlari yuvarlamaya
yarayacak.Bir tablodaki en büyük ve en küçük degerler MAX ve MIN komutlariyla elde edilebilir.bir soru
içerisinde;alanlar arasinda matematik islemi yaptirmak mümkündür.18 id’li
personelimizin özlük bilgilerini görmek
istenildiginde iki ayri sorgu kullanilacaktir ama SQL bunu tek bir komut da
yapma imkani veriyor.Birden fazla ID’ si olan ve birden fazla kaydi eklenmis
olan kisileri tek bir liste haline dönüstürmek için DISTINCT
komutu ile yapilir.
SELECT
DISTINCT musteri_id
FROM
siparis_baslik
IN ve EXISTS komutlari genelde birbirinin yerini
alabilir; dolayisiyla,NOT IN
ve NOT EXISTS komutlari da birbirinin yerini
alabilir.
Mesela iki farkli sorgu islemi
elimizde bunu tek sorgu halinde dönüstürmemiz isteniyor aslinda çok uzun gibi
görünen bu islemi UNION komutun
kullanarak tek bir liste haline dönüstürebiliriz.
Bu komutun dikkat edilecek yani komut içeriklerinin ayni olmasi gerekir.
Hesaplanarak üretilen bir komuta karsi
koymak için HAVING komutudur. Ayrica bu komut listelerde
GROUP BY
komutundan sonra gelir. Veritabaninda
bir komutu silmek için DROP
TABLE komutunu kullanabiliriz.