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