You are on page 1of 7

BLM 6

VER TABANI YNETM SSTEMLER I Alako BURMA

6. SQL VER LEME DL


SQL insanlarn veritaban sistemleri ile konumasn salayan popler bir
dildir. Bu dil tm veritaban programlarnda kullanlabilmektedir. Bu dil sayesinde, bir
veritabanndan kaytlar alnabilir, deitirilebilir ya da yeni kaytlar eklenebilir. SQL bir
dildir; ancak bir programlama dili deildir. Program gelitirme aamasnda SQL den
faydalanlr, ancak tek bana bu i iin yeterli deildir. PHP, Asp, Visual Basic,
Delphi, C, c++ gibi bir ok programlama dili SQL komutlarn desteklemektedirler.
Yani bir program gelitirme aamasnda; SQL komutlarn bilmek gerekmektedir ama
SQL tek bana bir programlama dili olmad iin ayrca bir programlama diline de
ihtiya duyulmaktadr.
1983 l yllarda IBM laboratuarlarnda yaplan almalarda SQL (Structural
Query Language) standartlar tanmlanm ve ardndan 1987 de ISO ardndan da
ANSI tarafndan bir standart olarak kabul edilmitir. Daha sonra, bu standartlar
erevesinde bir ok veritaban ynetim sistemleri gelitirilmitir. Bunlardan belli
ballar, Oracle, Sybase, MS SQL Server, Informix ve MySQL dir. Bu VTYS lerin
ilerin daha kolay yrmesi iin kendi adlarna standart dilden uzaklaan taraflar
vardr. Ancak genel ilemlerde kullanlan dil tm veri taban programlar iin de
ortaktr ve bu SQL dir. VTYSde saklanan veriler SQL komutlar ile insanlarn istekleri
erevesinde iler ve yeniden ekillendirilir.

6.1. SQL Nedir?

Alm Structured Query Language yani Yapsal Sorgulama Dili olan SQL,
veritaban ilemleri ile ilgili komutlardan oluan bir dildir. Bu dil ile veri taban
zerinde; veritabannn kendisini oluturmak, tablo, indeks, kullanc oluturmak gibi
komutlar ve kayt ekleme, silme, dzeltme gibi ilemler yaplabilir. SQL dilindeki
komutlar Pascal, C, Visual Basic, Delphi ve benzeri dillerdeki fonsiyon ve prosedr
oluturarak bir program yazmaktan biraz farkldr. Yani kullanc SQL kullanrken
fonksiyon ve prosedr yazamaz. Yine SQL kullanmnda artl ifadeler ve dallanmalar
bulunmaz. Yani kullanc dier programlama dillerindeki f, Case, next, do gibi ifadeler
kullanamaz. artl ifadeler, dngler, karlatrmalar SQL de bulunmaz.
SQLde kullanlamayan procedr, fonksiyon, artl ifadeler, dngler ve
karlatrmalarn eksikliini giderebilmek iin; Oracle PL/SQL (Programming
Language/SQL), MS SQLServer ve Sybase de T-SQL dilini gelitirilmitir. Oracle
tarafndan kullanlan PL/SQL komutlar ile T-SQL bir ok noktada hemen hemen
ayndr ve SQLde kullanlamayan procedr, fonksiyon, artl ifadeler, dngler ve
karlatrmalar kullanlabilmektedir, PL/SQL ve T-SQL if,case,for..next gibi
programlama iin gereken ilemleri kullanmay olanakl klar.

43
VER TABANI YNETM SSTEMLER I Alako BURMA

Grld gibi SQL karar yaplar, dngler ve benzeri gibi bir programlama
diline zg yetilerden yoksundur. Ancak bir ok VTYS'de bu yetiler Transact-SQL
veya PL/SQL gibi dil tanmlar ile bir noktaya kadar desteklenmitir.
Verilerin hacmi arttka daha gelimi VTYS'lere ihtiya duyulur.
PL/SQL ve T-SQL sadece ierisinde SQL komutlar kullanlabilen bir dildir.
Yani SQLin yapsn deitirmemitir. Komut modunda yazlan bir SQL cmlesi alnp
PL/SQL ve T-SQL bloklar arasna yazlabilir. Veri taban programlar tm
uygulamalarda SQL kullanmay esas almtr. Kullanc veri taban rnlerini
kullanarak yapt tm ilemlerin arkasnda SQL komutlarn altrr. SQLin
veritaban ilemleri iin kullanlan komutlar 5 kategoride toplanabilir:
Veri sorgulama komutlar
Tabloya veri ekleme,deitirme ve silme komutlar
Veritaban nesneleri oluturma,deitirme ve silme komutlar
Veritabanna ve veritaban nesnelerine eriimi kontrol etme komutlar
Veritabannn tutarlln ve btnln koruma komutlar

SQL(Structred Query Language) ile bir ok yerde kastedilen ey, ANSI 'nin
1992 ylnda yaynlad standarttr. Ancak SQL bir programlama dili deildir. Bir
kullanc arayz tanmlayamaz ya da bir dosya ynetimi yapamaz. Temelde 3 alt
ifade grubundan oluur.
1. Veri Tanmlama Dili : (Data Defination Language = DDL) : Bu gruptaki
komutlar kullanlarak, tablo, trigger, view gibi veritaban nesneleri tanmlanr.
temel ifade, CREATE ile bir nesne tanmlanr, ALTER ile nesne stnde deiiklik
yaplr ve DROP ifadesi ile bir nesne silinebilir.
2. Veri leme Dili : (Data Manuplation Language = DML) : Veri stnde
dzenlemeler yaplr. Bu alt dil bir tabloya veri ekleme(INSERT), silme(DELETE) ve
gncelleme(UPDATE) yapmann yan sra verileri semek ve raporlamak iin
SELECT ifadesi ve SELECT ifadesi ile birlikte kullanlan, INTO, FROM, WHERE,
LIKE, GROUP BY, ORDER BY, HAVING... gibi ok yan ifade vardr. Bu ifadelere ait
rnekleri bir ok yerde bulmak mmkndr.
3. Veri Kontrol Dili : Temel 2 ifadeden oluur. VTYS'de tanml Roller ve
kullanclar iin ifade ve nesne kullanma izni tanmlar. Eriim(GRANT) ve eriim
kaldrma(REVOKE) ifadeleri ile bu haklar ayarlanr. Oracle, SQL Server 2000 gibi
VTYS'lerinde bunlara ek olarak eriim engelleme(DENY) ifadesi de yer almaktadr.

6.2. Veri Taban Programlarnda ve SQL de Deiken Tanmlama

SQL de tablo adlar, alan(field), veritaban dosyas, indeks vb. isimler


deiken isimleridir. Genel deiken isimlendirme kurallar burada da geerlidir.
1. Deiken isimleri,harf ile balamak zorundadr.
2. Deiken isimleri,harf,rakamlar ve _ dan olumak zorundadr.

44
VER TABANI YNETM SSTEMLER I Alako BURMA

3. Deiken isimlerinde Trke noktal harflerin (,,,,,,,,,,,) ilerde


dil problemi yaanmamas asndan kullanlmamas gerekir.
4. Komut olarak ayrlm kelimeler deiken ad olamazlar (select, like, not, or,
delete, update vs.)
5. SQL byk-kk harf duyarl deildir.
6. Deiken isimlerinde boluk yer alamaz.

Deiken isimlendirme notasyonlar:


1. Deve notasyonu : degiskenAdi eklinde yazlr.
2. Alt izgi notasyonu : degisken_adi eklinde yazlr.
Veritaban programlamada, byk-kk harf duyarll olmadndan
genellikle alt izgi notasyonu kullanlr ve deiken adlar kk harf olarak verilir.
Ancak bu bir kural olmayp sadece okunurluu artrmak iin programclarn bir ou
tarafndan tercih edilen bir yoldur.
NULL mu, boluk mu? Bir kayt iin, alanlardan biri hi girilmedii iin bo
olabilir veya bilgisayardaki space tuunun karl ASCII deeri girilmi olabilir.
Space (ASCII-32 karakteri) tuuna baslarak elde edilmi boluk ile daha hibir bilgi
girilmemi olan boluk bilgisayar dilinde birbirinden farkldr. Daha nce hibir ey
girilmemi alan iin NULL terimi kullanlr.

6.3. SQL Program altrlmas ve Yazm Kurallar

SQL programn altrabilmek iin bilgisayara veri taban program ve daha


sonra bu veritaban ile balant salayacak zel olarak bir SQL program
yklenmelidir. Oracle, Sybase gibi byk veri taban programlar client / Server
(istemci / Sunucu) yapda altklar iin server zerine yklenen veritaban
programlarndan baka kiisel almalar iin zel PC programlar da vardr.
Veritaban program yklenirken SQL i de ykleme seenekleri vardr. Bilgisayara
buradan veri taban program ile SQL program ayn anda yklenebilir. Genelde
izlenen metot budur.
Bu ders notu kapsamnda rnekler ORACLE veri tabannda hazrlanm ve
SQL Oracle veri taban ile kullanlmtr. Bilgisayara Personel Oracle 8 ve SQL
yklenmitir. Buradaki 8 rakam veri tabannn versiyon numarasdr. Oracle u anda
11. versiyonunu piyasaya srmtr. Ders notlar kapsamnda Oracle 8 ile
alacaz. Veritabannn balatlmas ve SQL i renmek asndan pek bir
deiiklik olmayan bu versiyon kullanlmtr. Oracle programnn bilgisayara
yklenme ileminden sonra programlar ksmnda iki adet alt seenek oluur. Bunlar :
1. Oracle8 Personel Edition ve onun alt seenekleri : Burada veritaban ve
ynetimi ilemleri yaplabilir. Veri tabannn balatlmas, durdurulmas,
yedeinin alnmas, veri tabanndaki bozulmalarn dzeltilmesi, veri taban
ynetim ekran gibi.

45
VER TABANI YNETM SSTEMLER I Alako BURMA

ekil 6.3.1. Oracle8 Personel Edition Ekran

2. Oracle for Windows95 ve onun alt seenekleri : Burada veritabanna farkl


metotlarla balanmak iin gereken ayarlamalarn yaplabilecei programlar,
yardm dosyalar ve SQL ile ilgili programlar bulunur. SQL Plus 8.0 program
SQL yazmak iin kullanacamz program olacaktr. 8.0 programn
versiyonudur. SQL ile almaya balanmadan nce veritaban 1.seenekten
balatlmaldr.

ekil 6.3.2. Oracle for Windows95 Ekran

SQL almak iin Bu ekrandan SQL Plus 8.0 altrldnda ekrana

46
VER TABANI YNETM SSTEMLER I Alako BURMA

ekil 6.3.3. SQL Plus 8.0 Balang Ekran

Bu ekranda ilgili alanlara ait bilgiler yazldktan sonra OK tuuna basldnda


SQL alma ekran karmza gelir. Artk Veri tabanna balant salanmtr ve SQL
cmlecikleri yazlarak altrlabilir. Bu alanlara nelerin yazlaca Veri Taban
Yneticisi tarafndan ayarlanmaktadr.

ekil 6.3.4. SQL Plus 8.0 alma Ekran

47
VER TABANI YNETM SSTEMLER I Alako BURMA

Bu ekranda SQL> yazsnn hemen yanna komutlar yazlr.

ekil 6.3.5. SQL Plus 8.0 Komut Yazlm Ekran

Bir komut yazlrken birden fazla satra komutun istenilen bir yerinden
blnerek yazlabilir. Yukardaki ekranda olduu gibi birinci satra bir eyler yazdktan
sonra ENTER tuuna baslarak istenirse alt satra geilir. Alt satra geerken satr
numarasn belirten 2 rakam kendiliinden ekrana gelir ve 2.satr komutlar
yazlmaya devam edilir. Tekrar alt satra geilmek istenildiinde ENTER tuuna
baslr, ekrana 3 yazs gelir ve yazma ilemine bu ekilde devam edilir. Komut yazm
ilemi bittikten sonra en sona noktal virgl (;) yazlarak ENTER tuuna baslr ve
komut altrlr. SQL yazma ileminin bitip komutun altrlmaya balayacan
noktal virgl iaretini grdkten sonra anlar ve bu iaretten sonra yazlan hi bir eyi
dikkate almadan komutu altrr. Komutu altrdktan sonra yapt ile ilgili ekrana
bilgi mesaj verir ve tekrar SQL> konumuna gelir. SQL komutlar bu ekilde
yazlmaya devam edilerek ilemler yaplr.
SQL komut satrnda komutlar tek tek yazmak yerine bu komutlar herhangi bir
editrde yazlp kopyala-yaptr ile veya dosya ad yazlarak da SQL de
altrlabilir.

ekil 6.3.6. NOTEPAD ile yazlm SQL Komut Ekran

48
VER TABANI YNETM SSTEMLER I Alako BURMA

Yukardaki rnekte olduu gibi NOTEPAD editr programna yazlan SQL


komut satrlarnn hepsi kopyala komutu ile alnarak SQL programna yaptr
yaplabilir ve komutlarn direk almas salanabilir. NOTEPAD ile yazlarak yaplan
kopyalama ilemi zellikle uzun komutlarn yazlmas ve iletilmesinde byk pratiklik
salar. nk SQL ortamnda yanl yazlm satrlar iin ENTER tuuna bastktan
sonra yukar veya aa doru olan satrlara gidi veya geri dn mmkn deildir.
SQL de bu yanllklar dzenlemenin farkl yntemleri vardr. Bu da biraz zaman
alcdr ve SQLin baz kullanm zelliklerini bilmek gerektirir. NOTEPAD ile yazmak
ve daha sonra bunu kopyalayarak kullanmak daha pratik bir yntemdir. Hangi
metodun kullanm tercihi kullancnn isteine baldr.
Not : Oracle ve Sybase gibi baz veritaban programlarnda her bir SQL
cmleciinin sonuna noktal virgl (;) konulmas gerekir. Microsoft tabanl sistemlerde
bu trden bir zorunluluk bulunmamaktadr.

49

You might also like