oracle veri tabanı programı

advertisement
ORACLE VERİ TABANI PROGRAMI
Oracle Nedir?
Oracle veritabanı da bir ilişkisel veri tabanı yönetim sistemidir. İlişkisel
Veritabanı Yönetim Sistemleri (Relational Database Management Systems RDBMS) büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı
erişim imkânlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden
fazla kullanıcıya aynı anda bilgiye erişim imkânının sağlandığı programlardır. Oracle
veritabanının özellikleri şunlardır:
 Büyük miktarda veri tutabilmekte ve verilerin depolandığı alanları ayarlama
imkanı vermektedir.
 Aynı anda çok sayıda kullanıcıya verilerin bütünlüğünü bozmadan hizmet
verebilmektedir.
 Oracle 8 sürümü ile birlikte on binlerce kullanıcıya hizmet verebilmektedir.
 Günün 24 saati ve haftalar boyu hiç kapatılmadan çalışabilmektedir.
 İşletim sistemi, veri erişim dilleri ve ağ iletişim protokolleri standartlarıyla
uyumludur.
 Yetkisiz erişimleri engelleme ve kontrol edebilme imkânı sağlamaktadır.
 Bütünlüğü veritabanı düzeyinde sağlayabilmektedir, böylece daha az kod
yazılmaktadır.
 İstemci/Sunucu mimarisinin bütün avantajlarını kullanabilmektedir.
Oracle ile ilk defa karşılaşan kullanıcılar genellikle Delphi, Visual Basic gibi
görsel programlama dillerine benzeyen uygulamalarla karşılaşmayı umarlar. Oysa ki
yukarıda da belirttiğimiz gibi Oracle bir ilişkisel veritabanı yönetim sistemidir. Yani bir
programlama dili değildir. Fakat Oracle tarafından geliştirilen ve Oracle’ın kendi
uygulama geliştirme araçları içerisinde kullanılan bir programlama dili vardır. Oracle
ürünleri genellikle büyük çaplı veri kontrolünü gerektiren uygulamalarda kullanılır.
Öncelikle bir ağda Oracle veritabanı sadece sunucu olarak adlandırılan bilgisayara
yüklenir. Bu sunucu Oracle’ın desteklediği herhangi bir işletim sistemiyle çalışıyor
olabilir. Yani Oracle’ın farklı işletim sistemleri için farklı sürümleri vardır. Bu sunucu
bilgisayara kurulan veritabanı üzerinde tablolar, indeksler, eşanlamlar,tablo uzayları
ve ihtiyaç duyulan kayıtlı prosedürler oluşturulur. Oracle’ın bu veritabanına erişerek
uygulama programı geliştirmeye yarayan diğer ürünleri de istemci bilgisayarlara
kurulur. İstenirse sunucu bilgisayara da isteğe bağlı olarak bu ürünler kurulabilir.
Bazı Oracle ürünlerinin hangi amaçla kullanıldığını kısaca inceleyecek olursak;
Oracle RDBMS : Oracle ilişkisel veritabanı yönetim sistemi programıdır.
Oracle şirketinin ana ürünüdür. Bu ürünün şu an en yeni sürümü Oracle11g
RDBMS’dir. Oracle Uygulama Geliştirme Araçları : Oracle’ın veritabanı
uygulamaları geliştirmek için görsel ürünleri bu grupta yer alır. Oracle’ın program
geliştirmek için kullanılan bu ürünlerinin eski adı Oracle Power Objects idi. Daha
sonra Oracle Developer 2000 ve sonra da Oracle Developer 6 ürünleri geliştirildi.
Developer 2000 ve Developer 6 içerisinde Form Builder, Report Builder, Graphics
Builder, Procedure Builder ve Schema Builder ürünlerini içerir. (Şu anda yeni
versiyonlar ve ürünler çıkmış olabilir)
Form Builder; kullanıcıya sunulacak arayüzlerin geliştirildiği programdır. İşte bu
uygulama görsel bir programlama dilinin uygulama geliştirme ortamına benzer.
1
Report Builder; ürünü veritabanından elde edilen bilgiler ile raporlar hazırlamaya
yarar. Özellikle banka ve kamu kuruluşlarının ihtiyacı olan fatura, evrak gibi belgelerin
hazırlanıp, çıktı alınması için geliştirilmiş bir programdır.
Procedure Builder; sürekli kullanılacak kodların prosedürler halinde oluşturulup,
kütüphaneler olarak kaydedilmesi işlemine yarayan bir programdır.
Schema Builder; ise veritabanı nesnelerinin görsel olarak oluşturulabilmesi için
geliştirilmiş bir uygulamadır. Burada tablo, görüntü, eşanlam oluşturma, tablolar arası
ilişki kurma, tablo kısıtlamaları oluşturma işlemleri görsel olarak yapılabilir.
SQL*Plus; SQL*Plus, Oracle veritabanında sorgulama yapmak ve SQL komutlarını
çalıştırmak için kullanılan bir araçtır. SQL*Plus’da SQL komutlarının yanısıra PL/SQL
komutları da kullanılabilmektedir.
çalışmanın diğer bölümlerinde anlatılan SQL komutları SQL*Plus kullanılarak
hazırlanmıştır.
PL/SQL; PL/SQL (Procedural Language/SQL), yapısal dillere ait özelliklerin standart
SQL’e eklenmesiyle ortaya çıkan Oracle’a has bir dildir. PL/SQL Oracle firmasının
piyasaya sürdüğü her üründe önemli bir yere sahiptir. Kullanıcılar PL/SQL’i
kullanarak programlarına bir çok yeni özellikler katmaktadırlar. Bunlar arasında;
PL/SQL tabanlı kaydedilmiş yordamlar(stored procedures) ve veritabanı
tetiklemeleri(triggers)
ile
önemli
iş
kurallarını
programlamak
Oracle Developer ürünleri ile güçlü ve kolay kullanılabilir görsel ortamlarla
programları
detaylandırmak
ve
daha
rahat
kontrol
etmek
Oracle tabanlı uygulamalarda nesne-tabanlı(object-oriented) tasarımlar yapma Web
sayfalarından
Oracle
veritabanlarına
link
yapma
PL/SQL’in belki de en önemli özelliği istemci-sunucu ortamları tasarlama ile ağ
üzerinde dağıtık işlemler yapma ve bir çok sorguyu çalıştırma imkanı sunmasıdır.
PL/SQL dili Ada dilinden sonra tasarlanmıştır. PL/SQL’de en gelişmiş yordamsal
dillerde olan veri tipleri, blok yapısı, şartlara bağlı ve bağlı olmayan kontrol cümleleri,
bir çok döngü tipi, hata durumlarında kullanılacak yordamlar ve kullanıcı tarafından
tanımlanabilecek nesneler yer almaktadır.
Bu kitapta Oracle RDBMS kurulumu ve SQL ortamı ayarlanması anlatılacaktır.
Windows için Oracle 10g Kurulumu
Bilgisayarınıza Oracle veri tabanı programını kuracaksanız işletim sisteminizin
server tarzı bir işletim sistemi olması gerekmektedir. Örneğin Windows XP
Professional kurulum yapılabilecek bir sürüm iken; Windows XP Home kurulum
yapılamayacak bir sürümdür. Eğer bilgisayarınızda daha önceden başarılı ya da
başarısız bir şekilde herhangi bir oracle versiyonu kurulumu yapılmışsa; sağlıklı bir
kurulum gerçekleştirebilmek için bunları silmenizi öneririm. Silme işlemini kurulum
yaparken Şekil 7.2.9 da verilen ekran üzerinde “Deinstall Products” alanına
tıklayarak yapabilirsiniz. Ayrıca geeole arama motorunda “Oracle Veritabanını
Sistemden Kaldırma” ile ilgili dökümanlara göre de yapabilirsiniz. Eğer makinenizde
hiç Oracle kurulumu yapılmamışsa direk kuruluma geçebilirsiniz.
İlk adım bilgisayarınızdaki Windows işletim sistemindeki bölgesel ayarlardan
Dil değişikliğini “İngilizce” yapmamız gerekiyor. Bunu yapmazsanız veritabanı
kurulum aşamasında sona doğru protokol hatası alırsınız ve kurulum başarılı olmaz.
Bunun için Windows Denetim Masasını açın.
2
Şekil 7.2.1. Denetim Masası menüsü Ekranı
Gelen Bölge ve Dil seçenekleri menüsünde dili İngilizceye olarak değiştirin.
Şekil 7.2.2. Bölge ve Dil seçenekleri menüsü Ekranı-1
Sol üst köşedeki “Gelişmiş” tabına girin. Burada da dili İngilizce olarak
değiştirin. Uygula düğmesine tıklayın.
3
Şekil 7.2.3. Bölge ve Dil seçenekleri menüsü Ekranı-2
İngilizce dil desteği dışında; Uzakdoğu dilleri gibi dillere geçiş yapmak istenirse
Windows CD sine ihtiyaç duyulacaktı. Ama İngilizce dil desteği için gerekli dosyalar
zaten standart bir Windows işletim sisteminde mevcut olduğundan CD ye ihtiyaç
duyulmaz. Aşağıdaki ekrandaki ‘Evet' düğmesine tıklayınız.
Şekil 7.2.4. Onay Ekranı
Sistem, değişen ayarları uygulayabilmek için sizden onay isteyecektir. ‘Evet' e
basın. İşletim sisteminize göre bu ekrandaki belirtilen bilgisayarınızı kapatmanıza
gerek kalmayabilir.
4
Şekil 7.2.5. Bilgisayarı Yeniden Başlatma Ekranı
Bu ayarlamalar yapılıp makine yeniden başlatıldıktan sonra artık Oracle
kurulumuna geçilebilir. Bunun için kurulum Oracle 10g CD si takılır. CD nin otomatik
kurulumuna izin vermeden, CD yi araştır (explore) seçeneği kullanılarak dosyaları
açın ve ‘install' klasörüne geçin.
Şekil 7.2.6. Oracle 10g Kurulum Ekranı-1
‘setup. exe' yi çalıştırarak Oracle Üniversal Installer ı başlatın.
Şekil 7.2.7. Oracle 10g Kurulum Ekranı-2
5
Setup programı, grafik ara yüzü içeren Oracle Üniversal Installer programının
çalışabilmesi için gerekli sistem gereksinimlerinin mevcut olduğunu kontrol edecektir
bu aşamada ekrana sabit bilgi gelene kadar bekleyin.
Şekil 7.2.8. Oracle 10g Kurulum Ekranı-3
Wellcome penceresi geldiğinde yeni bir kurulum yapmak için ‘Next' düğmesine basın.
Şekil 7.2.9. Oracle 10g Kurulum Ekranı-4
Daha sonra ekrana ‘Specify File Locations' (Dosya yerleşimini belirleyin) isimli
bir pencere gelecektir. Burada, Oracle Yazılımının kurulacağı yer bilgileri istenir.
Standart bir Windows sisteminde Installer, bu parametreleri uygun bir şekilde
ayarladığından herhangi bir işlem yapmaya gerek kalmaz. Burada en önemli nokta
oracle kurulumu için belirtilen sürücüde yeterince boş yer olmasıdır. En az 3 GB gibi.
Eğer Installer ın belirttiği sürücüde yeterince boş yer önce onu ayarlamanız gerekir.
Daha sonra ‘Next' düğmesine tıklayın.
6
Şekil 7.2.10. Oracle 10g Kurulum Ekranı-5
Bu aşamada oracle için hangi tip kurulum türü seçileceği belirlenir. Oracle
kullanım lisansı satın alınırken ne tip bir kurulum yapılacağı belirlenir ve ona göre
ücret ödenir. Ayrıca hangi işletim sistemi için olacağı ve kaç kullanıcı için satın
alınacağıda belirlenir ve ona göre ücret ödenir. Standart ve Kişisel kurulumlar, daha
ucuzdur ama bazı kısıtlamaları vardır. Oracle 10g nin Enterprise sürümünde tüm
özellikler vardır.
Şekil 7.2.11. Oracle 10g Kurulum Ekranı-6
7
Installer, bir sonraki adımda kurulumda başlangıç veritabanı yaratmak isteyip
istemediğimizi sorar. Aşağıdaki ekrandaki “Do not create a starter database”
seçeneği işaretlenerek veri tabanı yaratma işlemi Oracle Sunucusu kurulumu
yaptıktan sonra da yapılabilir. Ya da kurulmak istenilen veritabanı seçilebilir.
Ayrıntılara girmeden genel bir veritabanı kurmak için “General Purpose” (genel
amaçlı) seçeneğini işaretlenerek ‘Next' e tıklanır.
Şekil 7.2.12. Oracle 10g Kurulum Ekranı-7
Bu aşamada kuralacak veritabanı ile ilgili seçim yapılır. Öncelikle, her nesne
gibi, veritabanına bir isim (SID=Oracle System Identifier) verilmesi gerekir ve bu isim
verilir. Veritabanına istediğiniz ismi verebilirsiniz. Global SID; Internet ortamı gibi
ortamlarda veritabanının tanımlayıcısı olarak görev yapar. Eğer veritabanınızı dış
dünyaya açmayacaksanız bu çok da önemli değildir. Global SID, yerel SID le aynı
olabilir.
Veritabanına ü,ş,ğ gibi Türkçe karakterleri içeren verileri girebilmek için ‘Select
Database Character Set' menüsünden “Turkish WE8ISO8859P9” u seçilmelidir. Bu
seçenek veritabanınızı Türkçe kullanmanızı sağlamaz sadece bilgilerde Türkçe
karekter yazabilmenizi sağlar.
Oracle ın deneme ve öğrenme amacıyla sunduğu örnekleri ve örnek veri
tabanı vardır. Bununda bilgisayarınıza yüklemek için “Create database with example
schemas” onay kutusunu işaretleyerek “Next” e tıklayın.
8
Şekil 7.2.13. Oracle 10g Kurulum Ekranı-8
Bu aşamada, veritabanının nasıl yönetilmek istendiği bilgileri verilir. Eğer
sadece Oracle Database Server kuruluyorsa burada olduğu gibi seçeneklerden biri
(“Use grid control”) seçime kapalı olacaktır. Bu ekranda bize sunulan tek seçenek
olan “Enable e-mail notifications” seçeneği bulunur. Oracle Sunucusu, veritabanında
kritik bir durum (yer daralması, bağlantı darboğazı gibi) tespit ettiğinde istenilen
adreslere e-mail yoluyla haber verebilme yeteneğine sahiptir. Tabii bunun için mesaj
ayarlarının da yapılması gerekir. Burada mesaj ayarlarının yapılması gerekir. Ben bu
alanı boş bırakıp bu özelliğini atladım. “Next” e tıklayarak bir sonraki aşamaya geçilir.
Şekil 7.2.14. Oracle 10g Kurulum Ekranı-9
9
Burada Installer aracılığı ile, kurulacak veritabanı için disk kullanımı
seçeneklerinden birini seçilir. Bunlar aşağıda listelenmiştir :
File System: Oracle Veritabanı dosyalarının, işletim sisteminde belirlenen bir yerde
oluşturulmasını sağlar.
Automatic Storage Management: Birden fazla diskin Oracle tarafından tek bir disk
gibi görülmesini sağlar.
Raw Devices: Diskin Oracle tarafından işletim sistemi aracı olmaksızın doğrudan
kullanımına olanak verir. Unix işletim sistemlerine kurulum yapılan oracle için tercih
edilir.
Tipik olarak ilk seçenek seçili olarak gelecektir. Belirtilen adres aynen
kullanılacağı gibi, Oracle Sunucu yazılımıyla veritabanı dosyalarını ayırmak için ayrı
bir klasör de belirlenebilir.
Seçim yapıldıktan sonra “Next” e tıklanır.
Şekil 7.2.15. Oracle 10g Kurulum Ekranı-10
Daha sonra Otomatik Yedekleme ile ilgili pencere gelecektir. Eğer otomatik
yedeklemeyi kullanmak istiyorsanız yedekleme seçeneğini seçtikten sonra alttaki
bölümde, kurulu Windows için yönetici yetkisi olan bir kullanıcını ismini ve şifresini
girin ve ‘Next' e basın.
10
Şekil 7.2.16. Oracle 10g Kurulum Ekranı-11
Oracle veritabanı programı kurulan her veritabanı için özel yetkisi olan SYS,
SYSTEM, SYSMAN ve DBSNMP isminde dört kullanıcı oluşturur. Bu veritabanını
açmak, kapatmak, kullanıcı, veritabanı yaratmak ve onları yönetmek gibi işlemler için
gereklidir. Sadece oracle veritabanında değil kurulan diğer veritabanı programları
içinde muhtelif yönetici kullanıcıları bulunur. Bunlara kolayca tek bir ortak şifre
vermek için “Use the same password for all accounts” seçeneğini işaretlenerek
kolayca hatırlanabilecek bir şifre yazın ve “Next” e tıklayın. Her biri için ayrı şifre
verilecekse “Use different passwords for these accounts” seçilir ve her kullanıcı için
ilgili alana şifreler yazılır. Kurulum aşamasında vermiş olduğunuz şifreleri
unutmayınız ve gerekirse bir yere not alın. Eğer unutursanız kurulum bittikten sonra
veritabanınızı açamazsınız ve kurulum boşa gitmiş olur.
Şekil 7.2.17. Oracle 10g Kurulum Ekranı-12
11
Bu aşamada Installer da, sunucu kurulumu için verilen bilgilerin listelendiği
ekran görüntülenir. Bu ekran, geriye dönebilmek ve yapılan seçimler üzerinde
değişiklik yapabilmek için kullanılabilecek bir son şans ekranıdır. Eğer bilgiler aynen
kabul edilip kuruluma başlaması isteniyorsa “install” butonuna tıklanır ve kurulum
başlatılır. Eğer değişiklik isteniyorsa “Back” ve “Next” butonu aracılığı ile ekranlar
arasında geçişler yapılarak kurulum yapılmak istenilen düzenleme ve değişiklikler
yapılabilir.
Şekil 7.2.18. Oracle 10g Kurulum Ekranı-13
Oracle Veritabanı Sunucu Yazılımının kurulum işlemi başlar ve kurulum
seçilen bileşenlere ve bilgisayarınıza göre 20-60 dk. arasında zaman alır. Kurulum
aşamasında bilgisayarınızda başka bir işlem yapmanızı önermem. Çünkü kurulumda
çok işlem yapılmakta ve program fazlaca bilgisayar donanım kaynağına ihtiyaç
duymaktadır.
Şekil 7.2.19. Oracle 10g Kurulum Ekranı-14
12
Aşağıdaki ekran görüntülendiğinde Oracle Veritabanı Sunucu kurulumu bitmiş
ve ayarlamaları verilen veritabanı oluşturulmaya başlanacaktır.
Şekil 7.2.20. Oracle 10g Kurulum Ekranı-15
Bu aşamada Oracle Veritabanı Sunucusu ile birlikte gelen Database
Configuration Assistant, “TEST” isimli veritabanını oluşturmaya başlar. Oluşturma
aşamasında program bazı noktalarda biraz fazla bekleyebilir. Bu durumda müdahale
etmeyerek işlemleri tamamlamasını bekleyin.
Şekil 7.2.21. Oracle 10g Kurulum Ekranı-16
13
Veritabanı oluşturulma aşaması da bittiğinde karşınıza aşağıdaki ekran gelir
ve “OK” butonuna basılarak pencere kapatılır. Kuruluma başlamadan önce dil
ayarları İngilice olarak ayarlanmadığında kurulum bu aşamada hata verir ve kurulum
tamamlanmaz.
Şekil 7.2.22. Oracle 10g Kurulum Ekranı-17
Veritabanı oluşturma tamamlanmıştır ve aşağıdaki ekrandaki “Next” e tıklanılır.
Şekil 7.2.23. Oracle 10g Kurulum Ekranı-18
14
Aşağıdaki pencere açıldığında “Exit” e basılır ve kurulum tamamlanmış olur.
Şekil 7.2.24. Oracle 10g Kurulum Ekranı-19
Oracle Veritabanı Sunucusu ve tanımlanan veritabanı kurulumu başarıyla
tamamlanmış oldu. Bilgisayarınızdaki Internet Explorer gibi Internet göstericinizde de
aşağıdaki gibi bir sayfa açılacaktır.
Şekil 7.2.25. Oracle 10g Kurulum Ekranı-20
15
Buradaki ekranda kullanıcı adına “sys” şifre alanına kurulum sırasında verilen
şifre ve sonra “Connect As” menüsünden ‘SYSDBA' yı seçip ‘login' e tıklanarak
Internet üzerinden de veritabanına ulaşılabilir.
Şekil 7.2.26. Oracle 10g Kurulum Ekranı-21
Burada Oracle yönetim konsolu için lisans sözleşmesi ekrana gelir.
Şekil 7.2.27. Oracle 10g Kurulum Ekranı-22
16
Sağ alt köşedeki “I agree” düğmesine basılarak lisans şartları kabul edilir. Artık
veritabanı ile işlemlerimizi yapabiliriz. Açılan pencereyi inceleyiniz.
Şekil 7.2.28. Oracle 10g Kurulum Ekranı-23
Şekil 7.2.29. Oracle 10g Kurulum Ekranı-24
Kurulum donanımsal olarak iyi bir bilgisayara kurulmadıysa bilgisayarınız
çalışırken veya kapatılıp açılırken çok yavaş çalışır. Bu nedenle bilgisayarda sürekli
Oracle kullanılmayacaksa oracle’ı sadece çalışacağınız zaman çalıştırın ve işiniz
bitince kapatın. Bunun için Windows ‘un hizmetler menüsünde başlatılan Oracle
servislerinin başlama seçeneklerini ‘Otomatik' konumundan ‘Elle' konumuna getirin.
Bu işlem için Başlat->Çalıştır a ‘services.msc' yazıp enter ‘a basın ve açılan
17
pencerede Oracle ile başlayan servislerini bulun. Bu servislerin üzerine geldikten
sonra farenizin sağ tuşunu kullanarak “Özellikler” e girin ve başlangıç seçeneğini
‘Elle' olarak değiştirin. En son olarak sisteminizin dilini tekrar Türkçeye çevirmeyi
unutmayın.
Oracle 10g ile Sorgu Yazmak.
Oracle 10g veritabanında birkaç yöntemle SQL sorgusu çalıştırılabilir. Standart
SQL işlemci, dos altında SQL EMC penceresi ile SQL çalıştırma gibi. Bunların
hepsinde yapılan işlem ve sonuç aynıdır. Ama kullanılan programlar, bağlantı ve
işlem yapılışı farklıdır. Bunların hepsi bu bölümde detayları ile anlatılacaktır. Oracle
Veritabanının standart istemci aracı “SQL*Plus” tır ve standart bir Windows
kurulumunda Başlat -> Programlar -> Oracle -> OraDb10g_home1 -> Application
Development -> SQL*Plus yoluyla başlatılır. Bu şekilde SQL*Plus ı başlatıldığında
ekrana Log On penceresi gelir ve kullanıcı ismi, şifresi ve bağlantı tanımlayıcısı
istenir.
Şekil 7.3.1. Oracle Sorgu Yazma Ekranı-1
Oracle bir önceki bölümde anlatılan
şekilde kuruldu ve başlangıç veritabanı
yaratıldıysa sistemde “scott” isimli ve
şifresi “tiger” olan bir kullanıcı yaratılmıştır.
Kullanıcı isimlerinde büyük/küçük harf
ayrımı yoktur ama bu ayrım şifre için
geçerlidir. Bağlantı tanımlayıcısı=Oracle
SID ise kurulum yapılırken verilen isimdir.
Kurulum sırasında bu isim “test” olarak
verilmişti.
Şekil 7.3.2. Oracle Sorgu Yazma Ekranı-2
Eğer kurulan veritabanında herhangi bir
işlem yapılmadıysa ekrana bu kullanıcının
hesabının kilitli olduğunu belirten “THE
ACCOUNT IS LOCKED” mesajı gelir.
Bu sorunu gidermek için veritabanına
“SYSTEM” kullanıcısı ile bağlanılarak bazı
işlemler yapmamız gerekir. Internet
Explorer ya da Mozilla Firefox v.b.
programda http://locahost:5500/em adresi
yazılarak “Enter” yapılır ve ekrana
aşağıdaki pencere gelir.
18
Şekil 7.3.3. Oracle Sorgu Yazma Ekranı-3
Kullanıcı adı olarak “system” ve şifre olarak da kurulum sırasında verilen ortak
şifre yazılır ve login tuşuna tıklanır. EM Console, veritabanının ana sayfasını
açacaktır. Burada, Sol üst köşedeki bağlantılardan “Administrator” a tıklayın.
Şekil 7.3.4. Oracle Sorgu Yazma Ekranı-4
Üstteki listelerden “Security” nin altında, “Users” a tıklayın.
19
Şekil 7.3.5. Oracle Sorgu Yazma Ekranı-5
Ekrana veritabanı kullanıcıları hakkında genel bilgi içeren bir sayfa gelir.
Burada 5 özel kullanıcı dışında tüm hesaplar güvenlik nedeniyle varsayılan durum
olarak kilitli ve şifre süresi dolmuş durumda ekrana gelir. Bir hesabı kullanıma açmak
için hem özel yetkiyle kilidin kaldırılması, hem de varsayılan şifrenin değiştirilmesi
gereklidir. “SCOTT” hesabının kilidini kaldırmak için “SCOTT” üzerine tıklanması
gerekir.
Şekil 7.3.6. Oracle Sorgu Yazma Ekranı-6
20
Açılan sayfada “SCOTT” kullanıcısının hesap bilgileri yer alır. Alt kısımdaki
radyo düğmesinde görüldüğü gibi hesap kilitli konumdadır.
Şekil 7.3.7. Oracle Sorgu Yazma Ekranı-7
Radyo düğmesini “Unlock” durumuna getirerek kilit açılır. Bu arada bu işlemin
hangi SQL komutuyla yapılacağını görmek istenirse sağ taraftaki “Show SQL”
düğmesine tıklayarak kolayca yapılan işlemin SQL sorgusunu görebilirsiniz.
Şekil 7.3.8. Oracle Sorgu Yazma Ekranı-8
“Show SQL” e tıklanıldığında aşağıdaki ekran karşınıza gelir. Yani web ara
yüzünü kullanmadan da “system” kullanıcısı ile SQL*Plus a girip aşağıdaki komut
çalıştıralarak aynı işlem gerçekleştirilebilirdi. SQL sorgusunu inceleyiniz. Görsel
olarak kolayca yapılan bu işlemin aslında SQL ile yazılarak daha bilgi isteyen bir
şekilde yapılabildiğine dikkat ediniz. “Return” e basarak geri dönülür.
21
Şekil 7.3.9. Oracle Sorgu Yazma Ekranı-9
Geri dönülerek sağ taraftaki “Apply” tuşuna basıldığında yapılan değişikliğin
gerçekleştiğini belirtilen bir mesajla karşılaşılır.
Şekil 7.3.10. Oracle Sorgu Yazma Ekranı-10
Enterprise Manager Console(EMC) da işimiz bitti. Burada EMC kullanılarak
SQL ,ile işlemlerin yapılmasını öğrendik. EMC modülü çok kolaydır ama dikkatle
kullanılması gerekir. Kolaydır çünkü komutlar yazılmaz ve işlemler görsel program
kullanır gibi fare ile tıklanarak yada ekrandan seçim yapılarak yapılır. Yani SQL bilgisi
22
gerekmez. SQL bilmeyenler bile çok rahat bu ekranlarla işlemlerini yapabilirler.
İstenirse “Show SQL” ile yapılan işlemin SQL sorgu karşılığı alınabilir. Sol üst
köşedeki “Logout” bağlantısına tıklayarak EMC modülünden çıkılabilir.
Şekil 7.3.11. Oracle Sorgu Yazma Ekranı-11
Şimdi Oracle Veritabanı standart istemci aracı “SQL*Plus” ile SQL sorgusu
yazalım. Windowsda Başlat -> Programlar -> Oracle -> OraDb10g_home1 ->
Application Development -> SQL*Plus yoluyla başlatılır. Burada ekrana Log On
penceresi gelir ve kullanıcı ismi, şifresi ve bağlantı tanımlayıcısı istenir. Şimdi
“SCOTT” kullanıcısıyla veritabanına tekrar bağlanmayı deneyelim. Kullanıcı ismi
olarak “scott”, şifre olarak “tiger” yazalım.
Scott kullanısının kilidini açtık ve kullanmaya
başladık. Kilitli olan kullanıcının şifresi de
aynı
zamanda
süresi
dolmuş
yani
“EXPIRED” durumdadır. Dolayısıyla şifreyi
değiştirilmesi gerekir. Açılış sırasında ekrana
tekrar bir diyalog penceresi gelir ve şifre
değişim işlemi için eski ve yeni şifre girilerek
şifre değiştirme işlemi gerçekleştirilir.
En üst kutuya eski şifreyi (“tiger”) diğer ikisi
alanada verilmesi istenen yeni şifre yazılır ve
“enter” a basılır. Ekrana aşağıdaki gibi bir
SQL*Plus ekranı geldiyse ilk aşamayı
tamamladınız demektir.
23
Şekil 7.3.12. Oracle Sorgu Yazma Ekranı-12
Artık Oracle SQL*Plus ile SQL sorguları yazabiliriz. Bu ekran EMC ekranı gibi
değildir ve yapılacak tüm işlemlerin SQL sorgularının tek tek yazılması gerekir. Yani
bu ekran kullanılırken SQL dilinin iyi bilinmesi gerekir. Tüm kitap boyunca SQL
sorguları bu ekran üzerinde yazılarak hazırlanmıştır.
SQL*Plus'ta ok tuşlarının bir işlevi yoktur. Bir veya bir kaç komut öncesindeki
sorguyu görmek için “MS DOS” taki gibi yukarı tuşu kullanılamaz, daha da kötüsü bir
satırda karakter hatası varsa yalnız o karakteri değiştiremezsiniz. Geri tuşu
(backspace) kullanılarak o karaktere kadar her şeyi silmek gerekir. Bir de eğer
sorgularla döndüreceğiniz alan uzunsa okunması zor bir çıktı alınır. İlk iki sorunu
çözmek için SQL*Plus ı MS-DOS kipinden başlatabiliriz. Bunun için DOS promptunu
açarak “sql plus kullanıcı_ismi/şifre” şeklinde bir komutla SQL*Plus ı başlatalım. Siz
Scott kullanıcısının şifresini ne olarak değiştirdiyseniz bu alana “tiger” değil yeni
şifreyi yazınız.
Şekil 7.3.13. Oracle Sorgu Yazma Ekranı-13
24
Şekil 7.3.14. Oracle Sorgu Yazma Ekranı-14
Daha önceki SQL*Plus ekranında olduğu gibi komutlar burada da aynen
çalışır. Üstelik normal DOS promptunda olduğu gibi yön ok tuşlarının kolaylığından
da yararlanılabilir. Ama uzun sonuçlu sorgulardaki yeni bilgiler geldikçe eski bilgilerin
ekranda kaybolması ve okunabilirlik problemini burada da devam etmektedir. Her iki
SQL penceresinde de bilgileri ekran ekran kontrol edemiyoruz.
Bu sorunlardan kurtulmak istenirse SQL*Plus'ın web arayüzünden çalışan
şekli olan “iSQL*Plus” kullanılmalıdır. Bu araca ulaşmak için web tarayıcısından
http://localhost:5600/isqlplus adresine girilmesi yeterlidir. Eğer adres cevap
vermiyorsa işletim sisteminin “hizmetler” menüsünden “isql*plus” servisinin çalışıyor
olduğuna emin olun. Servis çalışıyorsa ekrana aşağıdaki gibi bir sayfa gelir.
Şekil 7.3.15. Oracle Sorgu Yazma Ekranı-15
25
Username ismi olarak “scott”, password olarak belirlediğiniz şifre ve Connect
Identifier olarak veritabanınızın “SID” ini yazarak Login butununa tıklayın ve
veritabanına bağlanın.
Şekil 7.3.16. Oracle Sorgu Yazma Ekranı-16
Aşağıdakine benzer bir sayfayla karşılaşacaksınız.
Şekil 7.3.17. Oracle Sorgu Yazma Ekranı-17
26
SQL*Plus ve Dos Sql ortamında yazılan tüm komutlar burada da aynen
yazılarak “Execute” tuşuna basarak çalıştırılır ve buradan da aynı sonuçlar alınabilir.
Ayrıca burada her komut sonuna noktalı virgül veya “/” karakteri koymaya da gerek
kalmaz.
Şekil 7.3.17. Oracle Sorgu Yazma Ekranı-17
Şekil 7.3.18. Oracle Sorgu Yazma Ekranı-18
27
iSQL*Plus çalışmak daha kolaydır. Sorgular kolaylıkla yazılabilir, çalıştırılabilir,
kaydedilebilir veya yazdırılabilir. Ayrıca sonuçların okunabilirliliği daha iyidir.
Kullanımından dolayı pek çok avantaj sunan iSQL*Plus çok rahatlıkla kullanında
tercih edilebilir. Ancak büyük sistemlerde ve projelerde özellikle başta güvenlik
nedeni olmak üzere çeşitli nedenlerden dolayı iSQL*Plus servisi her zaman
açılmayabilir. Bu gibi durumlarda özellikle veritabanı yöneticilerinin kullanabilecekleri
tek ara yüz SQL*Plus ı komut satırından kullanabilme yeteneklerini geliştirmeleri
gerekir. iSQL*Plus programında işiniz bitince alt kısımdaki Logout'a tıklayarak
programdan çıkabilirsiniz.
SQL*Plus ve iSQL*Plus'ta çalışma yöntemi bunlar. Sizde bilgisayarınıza
Oracle kurmak ve kitaptaki sorguları çalıştırmak isterseniz bunları yapmanız
gerekmektedir. Bu programlar aracılığı ile yararlanabileceğiniz çok çeşitli komut ve
hizmetler bulunmaktadır. Bunları öğrenmek için yapmanız gereken Oracle
dokümantasyonlarını okumak ve onlarla denemeler yapmak olacaktır.
28
SQL Server 2005
SQL Server 2005 Kurulumu
SQL 2005 iki adet kurulum CD sinden veya kurulum DVD sinden oluşur.
Oracle 10g veritabanı kurulumunda olduğu gibi burada da bilgisayarımızda işletim
sistemi olarak server işletim sistemi olması gerekmektedir. Kurulum DVD si veya
kurulum CD sinin 1. CD si takılarak kuruluma başlanır. Ekrana aşağıdaki kurulum
başlangıç penceresi gelir.
Şekil 8.1.1. SQL Server 2005 Kurulum Ekranı-1
Prepare kısmında SQL Server yüklemeden önce yazılım ve donanım
ihtiyaçları kontrol edilir. Önce bu alanla bu ihtiyaçları kontrol ederek sonra kuruluma
geçmenizi tavsiye ederim. Örneğin SQL server kurulumuna başlamadan sistemde IIS
(Internet Information Server), IE6 ve veya daha üst bir Internet göz atıcısı ile
Windows Installer 3.1 in bilgisayarda yüklü olması gerekmektedir. Bu alandan bunları
tamamlayabilirsiniz. Bunun dışında yine aynı menüde “SQL Server Upgrade Advisor ”
u yükleyebiliriz. Install bölümü ise SQL Server, SQL Server araçları ve örnek
veritabanlarını yüklememizi sağlar. Install kısmından “Server component ve tools”
kısmına tıklanarak kurulum işlemine başlanılır.
Şekil 8.1.2. SQL Server 2005 Kurulum Ekranı-2
29
Ekrana gelen Lisans sözleşme şartları kabul edilerek “Next” düğmesine
tıklanır.
Şekil 8.1.3. SQL Server 2005 Kurulum Ekranı-3
Ekrana SQL Server 2005 yüklenmesi için gereken programların listesi gelir.
Bunları kurmak için “Install” tıklanır ve kuruluma devam edilir. Programların kurulum
işlemi tamamlandığında ise ekran aşağıdaki pencere gelir.
Şekil 8.1.4. SQL Server 2005 Kurulum Ekranı-4
30
Yükleme işlemi bittikten sonra “Next” butonu ile SQL Server kurulumuna
geçilir.
Şekil 8.1.5. SQL Server 2005 Kurulum Ekranı-5
Asıl kurulum işlemi bu aşamada başlar. Program oluşabilecek sorunları
gidermek için kurulumdan önce sistemi tarar ve bu sayede kurulum için eksik bir
bileşen veya sistem gereksinimi olması durumunda bilgi verir.
Şekil 8.1.6. SQL Server 2005 Kurulum Ekranı-6
31
Bu örnek ekranda yapılan 14 testden 13 ü “Success” ile başarılı oldu ve 1 tane
“Warning” mesajı alındı. Buda sistem gereksinimleri ile ilgili bir uyarı. “Messages”
kısmında bu uyarıyı okuyarak, bu uyarının kurulum için bir sorun yaratmayacağından
“Next” butonuna tıklanılarak kuruluma devam edilir. Bu aşamada aşağıdaki ekranda
görüldüğü gibi sistem kontrol edilir.
Şekil 8.1.7. SQL Server 2005 Kurulum Ekranı-7
SQL Server 2005 için kayıt bilgisi olan satın alınan ürünle ilgili “Name”,
“Company” ve 25 karekterli ürün lisans numarası bilgileri verilir.
Şekil 8.1.8. SQL Server 2005 Kurulum Ekranı-8
32
Burada SQL Server ın kurulması istenilen özellikleri seçilir. Ekrana gelen
listeden istenilen özellikler özelliğin yanındaki kutucuk seçilerek yüklenir. Burada
sadece veritabanı kullanılacaksa; veritabanı işlemleri için sadece “SQL Server
Database Services” i yüklemek yeterlidir. Eğer SQL üzerinde çalışma yapılacaksa
örnek veri tabanlarınında yüklenmesi gerekir. Ama veri tabanı yöneticiliği ve bir proje
için tüm servisleri seçmek en doğru yöntemdir. Bu aşamada tüm servisler seçildikten
sonra yukarıdaki ekranda kırmızı ile işaretli olan “Advanced” gelişmiş butonuna
tıklanır ve ekrana aşağıdaki pencere gelir.
Şekil 8.1.9. SQL Server 2005 Kurulum Ekranı-9
Buradan “Sample Databases” kısmını seçilerek kuruluma dahil edilir.
Şekil 8.1.10. SQL Server 2005 Kurulum Ekranı-10
33
Burada SQL server için bir instance belirlenir. SQL Server olacak bilgisayarda bir
tane SQL server çalışacaksa bu “Default instance” olarak belirlenebilir. Ama birden
fazla SQL Server çalışacaksa “Named instance” ile bir instance name belirlenmelidir.
Şekil 8.1.11. SQL Server 2005 Kurulum Ekranı-11
Bu adımda SQL Server ‘a yüklediği servislerin hangi hesapla yüklemesini
istediğimiz bildirilir. Burada default ayarında belirlenen hesap bütün servisleri etkiler.
İstenirse her bir servis için tek tek hesap belirtilebilir. Burada her servisin aynı ve
“Local System” hesabı ile çalışması ayarlandı.
Şekil 8.1.12. SQL Server 2005 Kurulum Ekranı-12
SQL Server 2005 kurarken Oracle 10g kurulumunda olduğu gibi biligisayar
açılırken tüm sql server servislerin otomatik başlatılması zorunlu değildir. SQL server
veya ilgili servis kullanılacağı zaman manuel başlatılıp, işi bitince de manuel
34
durdurulabilir. Bu işlem için services kısmından “otomatik” olan ayarlar “manuel”
olarak değişitirilir. Böylelikle gereksiz yere bilgisayardan kaynak kullanmamış
olursunuz. Unutmayalım her servis ek bir kaynak kullanımı, ek kaynak kullanımı ise
bilgisayarın yavaşlaması zorlanması demektir. Eğer SQL server sunucu network
üzerinden bir başka sql ile replike olarak çalışacaksa bir domain hesabı tanımlanması
ve servislerin de bu hesap üzerinden çalıştırılması gerekir.
Bu pencerede SQL Server için SQL server’a bağlanacak kullanıcıların kimlik
doğrulama yöntemi belirlenir. Burada kimlik doğrulama için “Windows Authentication
Mode” kimlik doğrulama yöntemi seçilmiştir.
Şekil 8.1.13. SQL Server 2005 Kurulum Ekranı-13
SQl Server da kullanılacak dil seti seçilir ve “Next” ile ilerlenir.
Şekil 8.1.14. SQL Server 2005 Kurulum Ekranı-14
35
Raporlama servisi ayarlarının neler olacağı belirlenir. Burada details alanı
incelenebilir. Burada ilgili alan gelen default seçenek ile yüklendi.
Şekil 8.1.15. SQL Server 2005 Kurulum Ekranı-15
Programın çalışması sırasında çıkacak sorunların Microsoft ‘a gönderilip
gönderilmeyeceği belirlenir. İlk seçenek gönderir. Hangi durum isteniyorsa o seçilir.
Şekil 8.1.16. SQL Server 2005 Kurulum Ekranı-16
36
Yükleme öncesinde seçilen bilgiler ve yüklenecek bileşenler hakkında bir özet liste
ekrana gelir. Kurulum başlamadan önce “Back” ile önceki ekranlar arasında gezinti
yapılarak değişiklik ve düzenlemeler yapılabilir. Eğer bunlar olduğu gibi kabul
edilecekse “Next” ile kuruluma geçilir. Kurulum başlamıştır ve biraz uzun vakit
alacaktır.
Şekil 8.1.17. SQL Server 2005 Kurulum Ekranı-17
Yükleme sırasında aşağıdaki ekran uzun bir süre görüntülenir.
Şekil 8.1.18. SQL Server 2005 Kurulum Ekranı-18
37
Şekil 8.1.19. SQL Server 2005 Kurulum Ekranı-19
Yükleme tamamlanmak üzere ve “Next ” tıklanarak sona doğru ilerlenir.
Aşağıdaki ekranda görülen mesajdan sonra artık yükleme tamamlanmıştır.
Şekil 8.1.20. SQL Server 2005 Kurulum Ekranı-20
Bu sayede SQL Server 2005 kurulumu böylelikle tamamlanır. Programları
çalıştırma ve komut yazma işlemleri Başlat-Programlar-…… alanından ilgili
programlar seçilerek yapılabilir.
38
TEMEL SQL KOMUTLARI-I
SQL (Structured Query Language) kendisi bir programlama dili olmamasına
rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri
tabanı ortamında kullanılan bir alt dildir. (sub language) SQL ile yalnızca veri tabanı
üzerinde işlem yapabiliriz. SQL cümlecikleri kullanılarak veri tabanına kayıt
ekleyebilir, olan kayıtları değiştirebilir, silebilir ve bu kayıtlardan listeler oluşturabiliriz.
SQL cümlecikleri genellikle aynı olmakla birlikte farklı veri tabanı ortamlarında
değişebilmektedir. Ayrıca veri tabanlarının kendilerine özgü sql komutları da vardır.
Kitapta her ortamda geçerli olan temel sql komutları anlatılmıştır. Şimdi 5. bölümde
tasarladığımız örnek personel veritabanını SQL ile kullanalım. Örnek Veri
Tabanımızdaki tablolar ve tablolara ait alan ile alanların veri tipleri aşağıda
listelenmiştir.
TabloAdı
TabloAlanları
Veri Tipi
Personel
SicilNo,
Adı,
Soyadı,
MeslekKodu,
BirimKodu,
DoğumTarihi,
Adres
MeslekKodu,
MeslekAdı
BirimKodu,
BirimAdı
SicilNo,
MaasAyı,
Maas
Sayı(4)
Karakter(15)
Karakter(15)
Sayı(3)
Sayı(3)
Tarih
Karakter(25)
Sayı( 3)
Karakter(20)
Sayı(3)
Karakter(20)
Sayı(4)
Sayı(2)
Karakter(12)
Meslekler
ÇalışılanBirim
Maaslar
CREATE (Yarat) Komutu
Database, tablo, index, view, vb. veri tabanı objelerini yaratmada kullanılan
komuttur. SQL komutları ile veri tabanında işlem yapılabilmesi için önce veri tabanı
sonra da veri tabanında kullanılacak tablolar tanımlanmalıdır. Veri tabanının
yaratılması aşağıda verilmiştir.
CREATE DATABASE database_name
[ON {DEFAULT | database_device} [= size]
[, database_device [= size]]...]
[LOG ON database_device [= size]
[, database_device [= size]]...][FOR LOAD]
database_name : Bu yaratılacak olan veri tabanının ismidir.
ON : Yaratılacak olan veri tabanının hangi sürücü üzerinde yer alacağını belirten bir
parametredir. Burada aynı zamanda bu sürücü üzerinde size (alan, ölçü)
parametresi ile veritabanının ne kadar yer kaplayacağı belirtilmiş olur. Eğer sürücü
tanımlanmazsa SQL server default sürücü üzerinde 5 mb bir veri tabanı yaratır. Bu
39
parametre içerisinde birkaç sürücü ismi kullanılarak veri tabanının bir kaç device
üzerinde yer alması sağlanabilir.
LOG ON : Yaratılacak olan veri tabanının çalışma anındaki bilgilerini tutan log
dosyalarının hangi sürücü üzerinde yer alacağını belirten bir parametredir. Burada
aynı zamanda bu sürücü üzerinde size (alan, ölçü) parametresi ile veritabanının
log'unun ne kadar yer kaplayacağı belirtilir. Eğer sürücü tanımlanmazsa SQL server
default sürücü üzerinde bir log dosyası açar. Bu parametre içinde birkaç sürücü ismi
kullanılarak veri tabanı log'unun bir kaç sürücü üzerinde yer alması sağlanabilir.
Örnek 1 : CREATE DATABASE personel_isleri
Bu komut ile SQL Server üzerinde personel_isleri isimli boş bir veritabanı yaratılmış
olur. Bu isim disk üzerinde fiziksel bir isimdir ve yaratılacak tablolar bu isimli
veritabanının altında yaratılacaktır. Daha sonra bu veritabanı üzerinde verilerin
yazılacağı tablolar tanımlanır. Tablo yaratmak için de create komutu kullanılır.
Yazılışı aşağıdaki gibidir.
CREATE TABLE tablo_adı
(sütun_adı_1 veri_tipi,
sütun_adı_2 veri_tipi,
..........);
SQL programında Create komutu ile meslekler tablosu aşağıdaki gibi yaratılır.
Meslekler kelimesi tablo için verilen isim ve MeslekKodu ve MeslekAdi ise tablo
alanları için verilen isimdir. MeslekKodu uzunluğu 3 olan rakamsal değerlerden
MeslekKodu uzunluğu 20 olan karekter ifadelerden meydana gelir. Tabloda
tanımlanan her bir alan bilgisinden sonra alanları birbirinden ayırt edebilmek için
virgül (,) işareti konulmalıdır. Sorgunun en sonuna noktalı virgül (;) işareti
konulmuştur. Bu işaretin sorgunun bittiğini ve çalıştırılması gerektiğini belirten bir
işaret olduğu daha önce anlatılmıştı. Sql server ve Sybase gibi bazı veritabanlarında
sorgunun sonuna herhangi bir işaret konulmamaktadır.
Şekil 9.1.1. Tablo Yaratılması Ekranı-1
Tablo yaratılmış ve tablo yaratıldı mesajı alınmıştır. SQL bilgisayara
kurulurken dil seçeneği olarak Türkçe seçildiği için ekrandaki program menü
seçenekleri ve “Tablo Yaratıldı” bilgi mesajı ekrana Türkçe olarak gelmiştir. Dil olarak
İngilizce seçilmiş olsaydı ekran görüntüsü aşağıdaki gibi olurdu. Burada tablo
yaratıldı değil “Table created” bilgi mesajı ve İngilizce menü seçenekleri
bulunmaktadır.
40
Şekil 9.1.2. Tablo Yaratılması Ekranı-2
Tablo yaratılırken yazılan cümlelerde yazım yanlışı yapılırsa aşağıdaki gibi
hata mesajı alınır ve komut çalışmaz. Buradaki hata create komutunda her bir
tanımlanan alanlar arasına virgül konulması gerektiği halde 2.satır sonuna virgül
işareti yazılması unutulmuştur.
Şekil 9.1.3. Tablo Yaratılması Yanlış Yazım Ekranı
Aşağıdaki ekranda CalisilanBirim, maaslar ve personel tabloları SQL komutları
kullanılarak yaratılmıştır. Personel tablosu yaratılırken (SicilNo number(4) NOT
NULL, ifadesi kullanılmıştır. NOT NULL ifadesi; tabloya bilgi yazılırken bu alana
muhakkak bilgi yazılması gerektiği durumlarda kullanılır ve alanın boş
bırakılamayacağını bildirir. Kullanıcı bilgi girişi yaparken Personel SicilNo alanını boş
bırakamaz ve muhakkak bir değer yazmak zorundadır. Not Null ifadesi tablo
tanımlanırken kullanılırsa; veri tabanında yazılması zorunlu alanların zorla yazılması
sağlanarak kullanıcının hata yapmasına baştan engel olunur ve verilerin doğru
yazılması sağlanabilir. Burada NOT NULL ifadesi kullanılmamış olsaydı; kullanıcı
personel sicil no alanını boş bırakabilirdi. Sicil numarası olmayan bir personel
olamayacağı için kullanıcıya hata yapma imkanı verilmiş olurdu. Bu durumda
kullanıcıya boş geçme izni vermediğimiz için oluşabilecek hatayı baştan engellemiş
oluruz.
Not : SQL komutları için oracle veritabanı kullanıldığından veri tipleri Oracle
veri tipleridir. Char yerine varchar2 veri tipi kullanılabilir. Oracle veri tabanına has
olan bu değişken tipinde ayrılan yer kadar değil bu alana yazılan karakter sayısı
kadarlık alan veri tabanında yer tutar. Dolayısı ile diskten yer kazanılacaktır.
41
Şekil 9.1.4. Tablo Yaratılması Ekranı-3
ALTER (Düzenle) TABLE Komutu
Daha önceden oluşturulmuş bir tablonun yapısını değiştirmek için ALTER TABLE
komutu kullanılır.
ALTER TABLE tablo_adı
ADD | MODIFY | DROP (<sütun adı> veri tipi <sütun kısıtlaması>)
ENABLE ifade1
DISABLE ifade2
ALTER komutuyla tablolara yeni bir alan ve kısıtlama eklenebilir, var olan alan ve
kısıtlamaların durumu değiştirilebilir veya tablodan kısıtlamalar silinebilir.
ALTER TABLE ogrenci
ADD CONSTRAINT cst_Bolum
FOREIGN KEY(Bolum)
REFERENCES user_zehra.bolum(BoumKodu);
Yukarıdaki örnekte ogrenci adlı tablonun yapısı değiştiriliyor. Bir başka
kullanıcının bir tablosu ile ilişki kuruluyor.
42
Şekil 9.2.1. Tablo Yapısının Değiştirilmesi Ekranı
Bu örnekte meslekler tablosunun MeslekAdi alanının uzunluğu 20 den 10
karaktere düşürülmüştür. Kullanıcı bu alan için 10 karakterden fazla bilgi yazamaz.
DROP (Sil) TABLE Komutu
DROP
TABLE
table_name [CASCADE CONSTRAINTS]
Bir Tabloyu silmek için DROP deyimi kullanılır. Köşeli parantez içerisindeki
tanım kullanılırsa mater-detay ilişkili tablolarda master tablo silinince detay
tablolarında otomatik olarak silinmesi sağlanır. Eğer bu seçenek kullanılmazsa diğer
tablolarla ilişkisi bulunan bir tablo silinemez. Tablo ancak ilişkiler kaldırıldıktan sonra
silinebilir.
Şekil 9.3.1. Tablo Silinmesi Ekranı
DESCIRIBE Komutu
Bir tablonun yapısını görmek için DESC[IRIBE] komutu kullanılır. Bu komut ile
tanımlanan tabloların alan bilgileri alınır. Tablo alanları, alanların veri tipleri
unutulduğunda veya kontrol edilmek istenildiğinde sıkça kullanılan bir komuttur.
DESC
table_name
43
Şekil 9.4.1. Tablo Yapısını Görüntüleme Ekranı
INSERT (Ekle) Komutu
Bir tabloya bilgi eklemek için kullanılan komuttur. Genel kullanım şekli
aşağıdaki gibidir ;
INSERT INTO table_name VALUES (deger1, deger2, deger3,...)
Eğer sadece belirli alanlara (sütunlara) değer yazılması isteniyorsa INSERT
INTO komutu aşağıdaki gibi de kullanılabilir. Sütunlara yazılan alanların değerleri
sayılardan oluşuyor ise, sayı direk olarak yazılmalı, karakterlerden oluşuyor ise ifade
tek tırnak işareti arasına alınarak yazılmalıdır. Her alan için yazılacak değerler
tablodaki sütun sırasına göre ve her bir değer yazıldıktan sonra aralarına virgül işareti
konularak yazılmalıdır.
INSERT INTO table_name ( sütun_adı_1, sütun_adı_2, …..)
VALUES(değer1, değer2, ……);
Şekil 9.5.1. Personel Tablosuna Kayıt Ekleme Ekranı
44
Aşağıda personel tablosuna INSERT komutu ile kayıt eklerken yapılan hatalar
ve ekrana gelen bilgi mesajlarından örnekler verilmiştir. Hatanın olduğu yere * işareti
otomatik olarak gelir ve hatanın hangi satırda olduğu ve hatanın ne olduğuna dair bir
açıklama satırı ekrana gelir. Aşağıda hata mesajı dikdörtgen kutu içerisine alınmıştır.
Şekil 9.5.2. Personel Tablosuna Kayıt Ekleme Hata Ekranı-1
Burada personelin doğum tarihi için yazılan değer yanlış formatta yazılmıştır.
Şekil 9.5.3. Personel Tablosuna Kayıt Ekleme Hata Ekranı-2
* olduğu noktada bir adet virgül fazla yazılarak yazılım yanlışı yapılmıştır.
Şekil 9.5.4. Personel Tablosuna Kayıt Ekleme Hata Ekranı-3
Personel tablosunda 7 tane sütun(alan) olmasına rağmen burada 6 tane değer
yazılmıştır. Bu nedenle yeterli değer yazılmamış olduğundan hata vermiştir.
45
Şekil 9.5.5. Personel Tablosuna Kayıt Ekleme Hata Ekranı-4
Burada da adres alanı için 20 karakterlik yer ayrılmasına rağmen daha uzun
karakter sayısında bir adres değeri yazılmıştır. Sütun için uzun bir değer anlamına
gelen hata mesajı alınmıştır.
Tabloya eklenecek kayıtlar bu şekilde tek tek INSERT komutu ile yazılarak
yapılır. Şimdi sırasıyla tablolarımıza değerlerini yazalım. Burada her kayıt için
INSERT komutu tek tek yazılabileceği gibi daha önceden de belirtildiği gibi bunlar bir
editörde yazılarak kopyala-yapıştır yöntemi de kullanılabilir. Örnek aşağıdaki gibidir.
Şekil 9.5.6. Personel Tablosuna Kayıt Eklemek için Yazılan Personel.sql dosyası
46
Download