Microsoft Office Paketi - Akademik Web Sayfaları

advertisement
BİLGİSAYAR KULLANIMI
Microsoft Office Access Veri Tabanı Yönetim Sistemi (VTYS) Programı
Veritabanları, belirli bir uygulamaya ait verileri kayıt altında tutulmasını sağlar. Fakat
verileri sadece bir veri tabanı içerisinde tutmak, yeterli olmayacaktır. Veriler yeri geldiğinde
güncellenmeli, silinmeli, gerektiğinde içlerinden bazı verilerin bulunması için sorgulamalar
yapılmalı. Uygulamaların gerektirdiği durumlarda, birden fazla farklı şekilde verileri kayıt
altında tutacak şekilde veri tabanlarına ihtiyaç duyulabilir, hatta bu veri tabanları arasında
ortak olan veriler sayesinde ilişkiler kurulabilir. Anlatılan işlemlerin, organize edilmesini
sağlayacak olan sistemlere Veri Tabanı Yönetim Sistemleri denir. Microsoft Office Paketi
içerisinde var olan Access Veri Tabanı Yönetim Sistemi, bu doküman içerisinde gerekli olan
özellikleri uygulamalar üzerinde anlatılacaktır.
Microsoft Office Access Veri Tabanı Yönetim Sistemi Programının
Açılması
Access programının açılması için iki ayrı yol izlenecektir. İlk olarak “Başlat”
izlenecek yoldan, Microsoft Office alt menüsü altından Microsoft Office Access 2003
seçildiğinde program açılacaktır.
Şekil 115 Access Veri Tabanı Yönetim sisteminin Açılması
İkinci yol olarak ise, başlat içinde yer alan “Çalıştır” alt işleminden açılan pencereye,
“MSACCESS.EXE” yazıp çalıştır’a tıklamak. İki uygulamada da Access veri tabanı yönetim
sistemi açılacaktır.
Şekil 116 Çalıştır penceresinden Access programını çalıştırma
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
94
BİLGİSAYAR KULLANIMI
Şekil 117 Access Programı ilk açıldığında
Microsoft Office Access VTYS’de Veri Tabanı Oluşturma
Veritabanı, verileri tutmak için oluşturacağımız tabloları; oluşturacağımız tablolar
üzerinden yapacağımız sorguları; oluşturacağımız tablolara ait işlemleri yürüteceğimiz
formları; sonuç verileri istediğimiz formda çıktı ortamına almamızı sağlayan raporları
muhafaza eden, onlar üzerinde işlemleri yapıp yönetmemizi sağlayan yönetim birimidir.
İşlemlerimizi burada saklar tekrar onlara ulaşmak istediğimizde aynı veri tabanı üzerinden
açacağımız yönetim birimidir.
Veri tabanı oluşturmak için, açtığımız Access programından Dosya menüsünden yeni
alt menüsü seçilir, seçim sonrasında ekranın sağ tarafında açılan pencerede, Boş Veritabanı
üzerinde tıklandığında bize veri tabanımızın ismini ve nereye kaydetmek istediğimizi sorar.
Şekil 118 İlk Veri tabanı oluşturma işlemi
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
95
BİLGİSAYAR KULLANIMI
Şekil 119İlk Veri tabanı
Yukarıdaki şekli incelediğimizde ilk veri tabanının oluşturma aşamalarının resimleri
gözükmektedir. Sağdaki resmi incelediğimizde, veritabanımızda oluşturabileceğimiz
nesnelerimiz gözükmekte. Hangi nesneyi oluşturmak istiyorsak, o sekmeyi seçip, o nesneye
ait pencere açılır ve o nesneye ait işlemler yapılmaya başlanır. İlk olarak yapmamız gereken
verilerimizi saklayacağımız tabloları oluşturmak.
Veri tabloları Oluşturma Aşaması
Veri tabloları, yapacağımız uygulamaya ilişkin verilerimiz saklayacağımız
tablolarımızdır. Veri tablolarımızı oluştururken kullanılacak olan yöntemlerden biri, Tasarım
özelliğinden yararlanarak oluşturulan tablolardır.
Şekil 120 Tasarım görünümünde veri tablosu oluşturma.
Tasarım görünümünde tablo oluştur yazısı üzerine çift tıkladığımızda açılacak olan
pencerede verilerimizin özelliklerini kaydedeceğimiz sahalar, bu sahaların veri tipleri ve bu
sahalara ait veriler (metaveri) yani açıklama cümleleri girilecek boş hücreler var olan bir sayfa
açılır.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
96
BİLGİSAYAR KULLANIMI
Oluşturduğumuz “ilkveritabani” isimli veri tabanı içersinde tasarım tuşuna
tıklandığında, oluşturulacak olan veri tabanında tutulacak olan sahaların ve her bir sahanın
veri tipinin ne olacağı belirtilecek bir pencere açılır.
Şekil 121 Tablo tasarımı
Saha isimleri, verilerimizin kayıt altına alınacak olan özellikleridir. Her bir verinin
kaydı yapılırken belirtilen özelliklerin değerleri kayıt altına alınacağı için bu özellikleri
(sahaları) belirleyip ona göre tablo tasarımı yapılır (şekil 89’da en sol hane sahaların adlarının
giriş yeri). Her bir özellik farklı veri tipinde olabilir, özelliklerin (sahaların) girilecek veri
türüne göre her bir saha kendi veri tipi seçilir (Şekil 89’da orta kısım).
Metin: Alanda kısa yer işgal edecek veriler bu veri türünde tutulur. Örneğin ad-soyad bilgileri,
firma isimleri v.b. gibi. Yine telefon numarası gibi üzerinde işlem yapılması gerekmeyen
sayısal bilgiler de (gerekirse “giriş maskesi” özelliğiyle tanımlanarak) bu veri türünde
tutulabilir. Bu alana 255 karaktere kadar veri girilebilir. Ancak veritabanının gereksiz yere
şişmemesi için alanın özelliğine göre (alan özelliklerini ve değiştirmeyi aşağıda göreceğiz) bu
karakter sayısını sınırlı tutmakta fayda vardır. Mesela kişinin adını gireceğimiz bir alanın 255
karakter uzunluğunda yer işgal etmesi yerine en fazla 30 karakterlik bir yer tutması daha
uygun olacaktır.
-Not: Genelde uzun metinleri yazacağımız alanlar bu veri türünde tutulur. Örneğin adres
bilgileri, tanıtım yazıları. (Bir alan için “Metin” veri türünün uzunluğu yetmiyorsa da bu veri
Şekil 122 Veri Tipleri türü seçilebilir). Bu tür alanlara 65535 karaktere kadar bilgi girilebilir.
-Sayı: Tabloda üzerinde işlem yapılabilecek sayısal değerlerin girilebileceği alan türüdür. Örneğin kişinin yaşı,
satılan malın miktarı gibi alanlar bu veri türüyle tutulabilir.
-Tarih/Saat: Tarih ve saat türündeki bilgiler için kullanılır. Örneğin günün tarihi, doğum tarihi gibi alanlar bu veri
türünde tanımlanır.
-Para Birimi: Parasal değerleri tutacağımız alanlarda bu veri türü tanımlanır. Bu tür alanlara 15 basamak tamsayı,
ondalıktan sonra da 4 basamak bilgi girilebilir.
-Otomatik Sayı: Benim en önem verdiğim veri türlerinden birisidir. Bu tür alanlardaki sayı değeri girilen her kayıt
için otomatik olarak sırayla artarak gider. Oluşturacağımız her tablo için bu şekilde bir otomatik sayı alanı
tanımlamakta fayda olduğunu düşünmekteyim. Zira veritabanındaki tablolar arasındaki ilişkiler genel olarak bu
alanlarla kurulur ve birbirine bağlanarak veri tutarsızlıkları, güncelleme yanlışlıklarının ve hataların önüne geçilir.
Ben bu alana ad verirken genelde “KimlikNo”, “sirano”, “idno”, “KayitNo” gibi isimler vermeyi tercih ediyorum.
-Evet/Hayır: Mantıksal alan türüdür. İki ihtimalli bilgiler için kullanılır. Örneğin askerliğini yaptı/yapmadı, evli/evli
değil, doğru/yanlış gibi bilgiler burada tutulur.
-Köprü: İnternet üzerinden bağlantı kurulacak web adresleri için tanımlanır. Örneğin bir kişinin e-posta adresi bu
alanda tutulabilir.
-OLE Nesnesi:Veritabanına resim, ses, film gibi nesnelerin eklenmesi amacıyla kullanılan veri türüdür. Örneğin bir
Öğr.
Gör. programında
Emre İNCEpersonelin fotoğrafları
Bilgisayar
personel
bu veriUygulamaları
türüyle oluşturulmuş bir alanda tutulabilir.
97
BİLGİSAYAR KULLANIMI
Şekil 123 Örnek Tablo Tasarımı
Yukarıdaki resmi incelediğinizde, öğrencilere ait verilerin girileceği düşünülerek,
öğrenci tablosu tasarlanmıştır. Öğrenci veri tablosunda sahalar; sahalara ait veri tipleri;
sahaların tanımları (metaverileri) yapılmıştır. Resimdeki örneği dikkatli incelersek, alan
boyutu kısmı “Uzun tamsayı” olarak tanımlanmış bu sayısal verinin kendi içinde farklı veri
tipleri olabileceği anlamında olan ayrı bir tanımdır.
Alan boyutu, yazısının yanındaki
kısımda gözüken oka
tıklandığında, yandaki görüntüye
benzer bir ekran açılacak. Bu
ekranda, ne tip sayısal veri girecek
isek onu seçmeliyiz.
Ondalık basamak sayısı kısmı, sayısal veri tiplerinde eğer verimiz ondalıklı ise,
virgülden sonra kaç hane gireceğimizi belirtmek için gerekli olan kısım.
Resim yazısı veri tablomuzu açtığımızda, sahanın başlık kısmında gözükmesini
istediğimiz yazıyı yazarız.
Geçerlilik kuralı, kısmında verimize getirebileceğimiz kısıtlamalar varsa bu kısımda
bunları girebiliriz. Yukarıdaki örnekte getirilen sınırlamada:
>9999 And<100000  “Numara” sahasına girilecek olan verilerin 9999 den büyük
olması ve 100000’den küçük değerler olması istenmiş.
Geçerlilik metni kısmında ise veriler yanlış girildiğinde, ekrana çıkacak uyarı
metninde ne yazılacağı belirtilmiş.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
98
BİLGİSAYAR KULLANIMI
Şekil 124 Yanlış veri girildiğinde geçerlilik metnindeki yazı uyarı ekranındagözükecek.
Giriş maskesi kısmı, metin ve tarih ifadelerinde var olacak bir özellik bu özellik
sayesinde girilecek değerin yanlış girilmesi önlenecek ve veri tabanı içerisindeki verilerde bir
tutarlılık sağlanmış olacak.
Şekil 125 Giriş maskesi oluşturulması.
Yukarıdaki şekilde giriş maskesi oluşturulmasına bir örnek vardır. Bu örnekte Telefon
verisinin girişi için bir maske oluşturulmuştur.
(999) 000 0000 Maskede kullanılan () Eğer istenirse veri tabanının da kayıt
esnasında da gösterilebilir. Ama esas amaç o kısma girilecek olan veriyi ayırt etmektir. 9
değerinin anlamı veri girişinin zorunlu olmamasıdır. Fakat 0 değeri veri girişini zorunlu kılar.
Tabloda anahtar saha belirleme
Sahalarımızı oluşturup, onlara ait veri tiplerini belirledikten sonra en son ve en önemli
iş veri tablomuzdaki anahtar sahayı belirlemedir. Anahtar saha, veri tabanımızda yapacağımız
her bir kaydın tekil olmasını, kayıtların birbirinden ayrılmasını sağlar. Bu sayede veri
tabanında yinelemeyi, yani iki kere aynı kaydın girilmesi önlemiş olacaktır. Anahtar sahayı
seçerken tekrarlanmayacak bir veri olarak seçmeliyiz. Genelde devamlı artacak şekilde olan
numaraların olacağı sahalar anahtar saha seçilir. Fakat bazen bu durumda bir saha yoksa, o
zaman bir fazladan saha oluşturup o sahanın veri tipini otomatik saha olarak belirleriz.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
99
BİLGİSAYAR KULLANIMI
Böylece her yeni bir kayıt girildiğinde sahadaki veri otomatik olarak artacaktır. Yada birden
fazla sahayı seçerek hepsini birden anahtar saha seçebiliriz.
Şekil 126 Anahtar saha seçimi
Şekil 127 Birden fazla sahanın anahtar saha olmasına örnek
Tablolara veri girilmesi
Tablolara veri girilmesi için, ilk önce tablonun açılması (oluşturulan tablonun üzerine
çift tıklamanız yeterlidir) gerekir. Tablo açıldıktan sonra, oluşturulan her sahaya veriler girilir
daha sonra, ya alt kayda geçilir fare yardımı ile ya da tablonun alt kısmındaki
* tuşuna basıldığında, girilen saha değerleri veri tablosuna kayıt yapılmış
olacaktır.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
100
BİLGİSAYAR KULLANIMI
Şekil 128 Veri tablosuna kayıt girilmesi
Şekil 129 Kayıt girilmesi sonrasında tablonun durumu
Tablonun sihirbaz yardımı ile oluşturmak istersek Sihirbaz Kullanarak Tablo oluştur
seçtiğimizde aşağıdaki gibi bir pencere açılacaktır.
Sağdaki resimde sihirbaz yardımı ile var olan örnek tablolardaki sahaları seçip > veya
>> tuşlarına basarak bir veya birden fazla saha oluşturulup tablomuz tasarlanabilir. Sahalarını
belirledikten sonra İleri tuşuna tıklandığında tablomuzun ismi ve anahtar sahamızı
seçeceğimiz ekranlar karşımıza çıkacaktır. Bitir tuşu ile hazırlanan tablo oluşmuş olacaktır.
Tablolar arasında ilişkilerin kurulması
Tablolarda veri tutarlılığını sağlamanın en önemli yollarından birisi yukarıda anlatılan
tablonun anahtar sahasının sağlanmasıdır. Bu sayede veri tekrarı önlenmiş olacaktır.
Veri tabanımızda birden fazla tablo oluşturabilir ve bu tablolarda birbirlerinde var olan
veriler kullanılabilir. Bu durumda bu verilerin doğruluğunu sağlamak, veri tabanlarındaki
doğruluğu, tutarlılığı sağlayabilmek için, bu tip tablolar arasında ilişkiler kurulur. Bu ilişkileri
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
101
BİLGİSAYAR KULLANIMI
sağlamak için ilişki kurulan tablolarda aynı veri sahalarına ihtiyaç duyulur. Ayrıca veri
tabanında bunlar arasında ilişki (relation) kurulur.
İlişkileri oluşturabilmek için, araçlar menüsünden ilişkiler yada araç çubuğundan
ilişkile düğmesine basarak ilişkiler penceresi açılır.
Şekil 130iliişkiler penceresinin açılması
Pencere açıldıktan sonra Tabloyu
göster isimli bir pencere açılır bu
pencere, veri tabanı içerisinde
olan tabloları listeler. Hangi
tablolar arasında bir ilişki
kurulacaksa o tablolar seçilip ekle
tuşuna tıklanır.
Şekil 131 İlişkilerin kurulacağı tabloların seçimi
Seçilen tablolar, ilişkiler penceresine eklenir. Eklenen pencereler arasında ilişki
kurmak için ilişki mantığına göre ve hangi tabloda ki veri hangi tabloda kullanılacağına göre
ilişkiler kurulur. Hazırlanan örnek uygulamada bir okulda ki kütüphane bilgi sistemine benzer
bir örnek uygulama tasarlandı. Buna göre öğrenci numarası ve kitap numarasına göre
öğrencinin aldığı kitap kaydı, aldığı gün ile kayıt altına alınıp; kitabı geriye getirdiği gün ile
kayıt güncelleniyor. Öğrencinin bilgi tutarlılığı, öğrenci tablosundan; kitap numaralarına ait
bilgi tutarlılığı da kitap tablosundan sağlanacağına göre, ilişkiler bu sahalara göre tablolar
arasında yapılacak. İlişki türü ise mantıklı düşünülürse, bir öğrenci birden fazla kitabı farklı
zamanlarda alabilir olması, ilişkinin öğrenci veri tablosundan, kitap_öğrenci veri tablosuna
doğru bire çok ilişki kurulmasını sağlar. Aynı mantık, kitap kitap_öğrenci tablosu arasında
da oluşur. Her iki ayrı ilişkide bire – çok ilişki olarak adlandırılan ilişki veri tipine göre
oluşturulur.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
102
BİLGİSAYAR KULLANIMI
Şekil 132 Tablolar arası ilişkilerin oluşturulması
İlişkileri kurabilmek için ilişki tipinin başladığı tablodan, ilişki kurulacak saha farenin
sol tuşu ile üzerine tıklandıktan sonra basılı tutulup ilişkinin kurulacağı tabloda ki sahanın
üzerine sürüklenir ve bırakılır. Sonuç olarak aşağıdaki resim de görüldüğü gibi iki tablo
arasında ilişki kurulmuş duruma getirilir.
Şekil 133 Tablolar arasında ilişkilerin oluşmuş hali
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
103
BİLGİSAYAR KULLANIMI
Formların oluşturulması
Formlar, kullanıcıların veri girmesi, güncellemesi, silmesini daha kolay hale getirmek
için etkin bir çözüm yöntemidir. Bu yöntem sayesinde veri tabanının işletilmesi açısından
daha etkin bir yöntem oluşturulmuştur. Dokümanda formlar, sihirbaz kullanılarak kolayca
form tasarımının nasıl oluşturulacağı anlatılacaktır.
Formların oluşturulması için
nesneler kısmından form sekmesi
seçilir. Sonrasında, sihirbazı
kullanarak form oluştur seçimi
yapıldıktan sonra şekil 134’de ki
form sihirbazı penceresinden,
hangi tabloya ait form
oluşturulacağı seçilir ve o
tablodaki hangi sahaların form
üzerinde veri sahası olarak
gözükeceği, penceredeki > veya
bütün sahaların aktarılacağı >>
düğmesi kullanılarak gerekli
sahalar seçimi yapılır.
Şekil 134 Formu oluşturulacak pencere seçimi işlemi
Formda gözükecek olan sahaların
seçiminden sonra, ileri düğmesine
tıkladığımızda karşımıza çıkacak
yeni pencerede, formun nasıl
gözükesi istendiğine dair bir
pencere karşımıza çıkar, bu
pencerede yapılan seçim sonucu
form sayfası otomatik bir biçim
alacaktır.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
104
BİLGİSAYAR KULLANIMI
İleri düğmesine tıklandığında,
karşımıza sahaların değerlerinin
girileceği metin kutuları ile saha
isimlerinin gözükeceği etiketlerin
hangi renk ve stillerde olması
istediğimizi soran bir pencere
olacaktır.
İleri düğmesine tıklandığında, En
son olarak form oluşturmadan
önce form tasarımını değiştirmek
isteyip istemediğimizi soran bir
pencere karşımıza çıkar. Eğer
form tasarımını değiştirmeyi
seçersek, formun en son
görünümünü değiştirebilmemizi
sağlayacak bir ayrı pencere
açacaktır.
Son düğmesine tıklandığında,
formun son hali ve değişimler
yapabileceğimiz araçların olduğu
araç çubukları ekrana gelir.
Örnekteki uygulamada üç adet
komut düğmesi forma eklenmiştir.
Bu komut düğmeleri, üstüne
tıklanıp form üzerine
sürüklendiğinde açılan pencereden
komut düğmesinin hangi
uygulamada hangi amaçla
kullanılacağının seçileceği
kutucuklar açılır. Bu seçimlerden
herhangi biri yapıldıktan sonra,
şekil 103’de ki komut düğmesi
üzerinde hangi resim veya metnin
gözükeceği seçilir.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
105
BİLGİSAYAR KULLANIMI
Şekil 135 komut düğmesinin üzerinde gözükecek olan resim veya metnin seçimi
İleri düğmesine tıklandığında, En
son olarak komut düğmesinin,
daha sonra ki bir yazılım kodunda
kullanılabilir olması halinde hangi
isimle, yazılım kodu içerisinde
kullanılacağını girmemiz
istenmekte.
Son’a tıklandığında yandaki
şekilde ki gibi istediğimiz komut
düğmelerini oluşturma, onlara
işlem atama sağlayabilecez.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
106
BİLGİSAYAR KULLANIMI
Şekil 136 Formun kullanımına bir örnek
Sorgu oluşturma
Sorgulamadan kasıt tablodaki veriler arasında veya birden fazla tablo içindeki veriler
arasında sorgulama işleminin yapılması ve sorgu sonucu verilerin listelenmesi
anlatılmaktadır. Sorgulama işlemleri için bir çok veri tabanında standart olarak SQL
(Structured Query Language = yapısal sorgulama dili) sorgulama dili kullanılır. Bu
dokümanda da SQL dilinin basit manada Access içinde kullanımı anlatılacaktır.
Sorgu oluşturmak için sorgu nesnesi içinde “Tasarım Görünümünde Sorgu Oluştur”
çift tıklanır. Açılan tabloyu göster penceresi kapatıldığında sol üst köşede SQL ifadesi üzerine
tıklanır. Açılan pencere bizim SQL komutlarımızı yazacağımız pencere olacaktır.
Yazdığımız SQL komutunu çalıştırıp sonucunu görmek için araç çubuğundaki, !
ünlem simgesinden yararlanırız.
Şekil 137 Sorgu nesnesindeki tasarım görümünde sorgu oluştura tıklandığında açılacak pencere
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
107
BİLGİSAYAR KULLANIMI
Şekil 138
Tabloyu göster penceresi kapandığında ekranın sol üst köşesinde SQL yazısı belirir.
Tıklandığında üstte sağdaki ekran görüntüsü oluşur. Bu SELECT; yazısı beliren pencere
bizim SQL sorgumuzu yazıp deneyeceğimiz penceredir.
Şekil 139 Sorgunun çalıştırılması.
Sorgunun çalıştırılabilmesi için araç çubuğundaki ! işaretine basılır ve eğer sorgu
yazımında yanlışlık yoksa sorgu sonuçları listelenir.
Şekil 140 Örnek sorgu sonuçları
SQL dilinin üç temel komutu vardır.
Select  seçilecek veritabanı sahalarının isimlerinin yazılacağı komut.
Fromseçilecek sahaların hangi veri tabanlarından alınacağının belirtileceği komut
Where seçimlerde gerekli kısıtlamaların yapılması gerektiğin kullanılacak komut.
Birkaç örnek ile SQL kullanarak sorgulama işlemini anlatalım:
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
108
BİLGİSAYAR KULLANIMI
1) Sorgu: tüm öğrencilerin listelenmesi
SQL:
Select *
Select komutundaki * ifadesi özel karakterdir. İsim
FromOgrenci
belirtmeksizin tüm anlamında kullanılır.
2) Sorgu: kayıtlı öğrencilerin ad ve soyadlarının listelenmesi
SQL: Select ad,soyad
Select komutuna listelenecek sahaların ismi, from
FromOgrenci
komutuna bu sahaların hangi tablodan alacağı
yazılır.
3) Sorgu: numarası 10002 olan öğrenciye ait bilgiler.
Sorguda öğrenci numarası değeri giriliyor, kısıtlama kısmında bu değere karşılık
gelen saha değerini kısıtlama kısmında eşit olup olmadığını sorgulamak.
SQL: Select *
Tüm bilgiler istendiği için, select
FromOgrenci
WhereOgrenci.numara=10002
4) Sorgu: Adı Kazım olan öğrencilerin listesi
SQL:
Select *
FromOgrenci
WhereOgrenci.ad= “Kazım”
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
komutunda * sembolü kullanıldı.
Buradaki kısıt veriler içindeki bir değer
ile yapıldı. Kısıt işlemini uygulamak
için Where komutu içinde ogrenci
tablosundaki numara sahasına eşit
olacak kayıt listesi istendi.
Tüm bilgiler istendiği için, select
komutunda * sembolü kullanıldı.
Buradaki kısıt olarak metin ifadesi
istendiği için değer “ ” arasında
kullanıldı. Metin ifadelerinde küçük
büyük harf duyarlılığı yoktur. “Kazım”
veya “KAZIM” yazılması sonucunda
aynı liste karşımıza çıkacaktır.
109
BİLGİSAYAR KULLANIMI
5) Sorgu: numarası 10001 den büyük olan ve 456 sok. adresinde oturan öğrencinin
TC numarası.
SQL:
İstenen Tc numarası olduğundan Select
komutuna veri tablosundaki TC nosuna
Select TCKimlikNo
karşılık gelen sahanın adı yazıldı.
FromOgrenci
İki kısıt kullanıldı. Bu kısıtlar
WhereOgrenci.Numara> 10001
aralarında And komutu konularak bir
AndOgrenci.Adres= “456 sok.”
birlerinden ayrıldı. İkinci dikkat
edilecek olan ise > işareti ile verilere
sınama getirildi.
Dikkat edilirse yukarıda ki sorgulamalar, verilen sabit değerler ile sorgulanıyor. Bu
durum o sabit değerler ile sınırlı kalacaktır. Sorgulamaları daha genel bir duruma sokabilmek
için yapılması gereken sorgulanacak değerlerin kullanıcı tarafından parametre olarak
girilmesinin sağlanması olacaktır ki bu işlemi yapabilmek için ‘p’ harfi özel karakter olarak
kullanılır.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
110
BİLGİSAYAR KULLANIMI
Örnek
BANKA tablosu
Alan Adı Veri Türü Alan Boyutu
Tanım
Kod
Sayı
Bayt
Bankanın kodu
Ad
Metin
20
Bankanın adı
SUBE tablosu
Alan Adı Veri Türü Alan Boyutu
Tanım
BankaKodu
Sayı
Bayt
Bankanın kodu
SubeKodu
Sayı
Bayt
Şubenin kodu
Ad
Metin
20
Şubenin adı
Soru1: Tüm bankaların listesi,
Soru2: Banka kodu verilen bankaların adları,
Soru3: Banka adı verilen bankaların adları ve kodları,
Soru4: Banka kodu verilen şubelerin bilgilerinin listesi,
Soru5: Şube kodu verilen bankaların adları ve şube adları,
Soru 6: Şube kodu ve şube adı verilen bankaların kodları,
Soru 7:Banka adı verilen bankalara ait Şubelerin adlarının listelenmesi.
Soru1 : Tüm bankaların listesinin istenmesinde, hiçbir kısıt konmadan bankaların tüm
alan (saha) değerleri ile listelenmesidir. İşlemde tüm alanları listelemek için, select
parametresinde bütün sahalara ait isimlerin yazılması yerine sadece * özel bir karakteri
koymak yeterli olacaktır.
Select *
Select Kod, Ad
From Banka
From Banka
Yukarıda ki iki SQL ifadesi de aynı işlemi yapar. Sonuç olarak tek farkı, bir
tablo içindeki bütün sahaların isimleri yerine sadece * karakterinin kullanılması
yeterli olacaktır.
Soru 2: Soruda banka kodu verilen banka adları istenmiştir. Sorgu da ki kriter ise
banka kodu değerini dışarıdan kullanıcıdan alınmasıdır.
Select Ad
From Banka
WhereBankakodu=pkod
Öğr. Gör. Emre İNCE
Where parametresinde, kullanıcıdan veri girilmesini sağlamak için
yapılması gereken kelimenin başına parametre olduğunu belirten p
ifadesinin girilmesidir. Girilen değer, bankakodu sahası ile eşleştirilip, From
parametresinde verilen Banka tablosu içindeki kayıtlarda aranmakta, eğer
girilen bankakodu değeri ile eşleşen bulunduğunda o kayıttaki Ad sahsasına
ait değer listelenir.
Bilgisayar Uygulamaları
111
BİLGİSAYAR KULLANIMI
Soru 3: Baka adı verilen bankaların adları ve kod değerlerinin listelenmesi işleminde
yapılacak kullanıcıdan banka adını parametre olarak almak olacaktır. Alınacak olan,
parametre, from parametresinde belirtilen Banka tablosunda Ad sahasında aranacak, eğer
eşleşen kayıt bulunursa, banka’ya ait ad ve kod sahaları listelenecek.
Select banka.ad, banka.kod
From Banka
Wherebanka.ad =pad
Select ad, kod
Yandaki iki SQL kodu da aynı işlemi
yapar. Eğer sorgu içinde sadece tek bir
tablo kullanılıyorsa, alt kısımdaki SQL
de görüldüğü gibi saha isimlerinin
önüne tablonun adının eklenip aralarına
nokta konması gerekmez.
Banka.ad
From Banka
Where ad =pad
Soru 4: banka kodu verilen şube bilgileri listelenmesi sorgusunda, kriter olarak
kullanıcıdan bankakodu istenmiştir. Verilen tablolar dikkatle incelendiğinde sorgu için sadece
Sube tablosunun kullanılması yeterli olacaktır. Girilen koda göre listelenecek olan bilgilerde
bir sınır olmadığı için burada * karakterinin kullanılmasında bir sakınca yoktur.
Select *
FromSube
Wheresube.bankakodu=pkod
Select parametresinde belirtilen *
karakteri ile şube kodu girilen şubeye ait
Bankakodu, Subekodu, Ad sahalarının
listelenmesi istenmektedir.
Birden fazla tabloya ait sorgulama istendiğinde yapılacak olan
 Bağlantı amaçlı olarak farklı tabloların ortak sahalarını (birbiri ile ilişkiye giren
sahalarını) Where parametresinde eşitlemek;
 kaç adet tablo kullanılıyor ise o tabloları from’da belirtmek;
 Select ve Where’de saha isimleri yazılırken saha hangi tabloya ait ise
tablo.sahaadı olarak kullanmak gereklidir.
Soru 5: şube kodu değeri sadece SUBE tablosunda bulunmaktadır. O takdirde Sube
tablosu sorgu için yazılacak olan SQL’de yazılmalıdır. İkinci olarak, istenen banka adı sadece
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
112
BİLGİSAYAR KULLANIMI
Banka tablosu içinde bulunmaktadır. Sorguyu yazarken her iki tabloyu da kullanmak onları
From parametresinde belirtmek gerekmektedir. Where kısmında bağlantıyı kuracak olan her
iki tablo arasındaki ortak saha olan banka kodu sahası eşitlenmelidir.
Ana mantık:
şube kodu kullanıcıdan alınıp o kodun olduğu kayda ulaşmak,
O şubenin banka kodu değerine ulaşıp istenenlerden biri olan şube adı ve banka kodu
değerini almak. İşlemleri yapabilmek için ilk olarak Şube tablosunu kullanmak
gerekmektedir. Sonrasında Banka tablosunda o banka kodu değerinin olduğu kayda ulaşıp
kayıttaki banka adı değerini bulmak.
Sorgu 6: Sorgu diğer sorgu örneklerinden farklı olarak, birden fazla sayıda
kullanıcıdan değer istemektedir. Kısıtlama parametreleri Where komutunda yazılmaktadır.
Her iki kısıt arasına And (ve) ifadesi girilip her iki kısıtlamanın birden işletilmesi
istenmektedir. Tablolar dikkatle incelendiğinde sadece, girilecek değerlere ve istenen
değerlere ait bilgilerin hepsi Sube tablosu içinde bulunmaktadır.
Select Bankakodu
FromSube
Wheresube.subekodu=pkod
Andsube.ad=pad
Where komutunda And ifadesi ile
birden fazla kısıt istenmiş. Her iki
girilen parametre ile Sube Tablosunda
bulunan bir kayıt eşleştiğinde, bu kayıtta
bulunan bankakodu sahası değeri
listelenir.
Sorgu 7: Verilen banka adına göre, o bankaya bağlı bulunan şubelerin adlarının
listelenmesi işleminde tablolar incelendiğinde, istenen ve kriter olarak verilecek olan bilgiler
tek bir tablo içinde yer almamaktadır. Bu yüzden birden fazla tablo kullanılacaktır ve bu
tabloların birbiri ile ilişkili olan sahaları Where komut satırında ilişkilendirilecek. Girilen
banka adı banka tablosunda aranıp bulunan kayıt içerisinden bankadu sahası değeri elde
edilecek. Bankakodu değeri şube tablosu içerisinde var olan bankakodu değeri ile eşleşen
şubelere ait kayıtlara ulaşılıp istenen şubelere ait kayıt değerlerinin listelenmesi sağlanmış
olacak.
Select Sube.ad
FromSube, Banka
Wherebanka.ad=pad
Andbanka.kod=sube.bankakodu
Öğr. Gör. Emre İNCE
Yandaki SQL cümleciği incelendiğinde,
birden fazla tablo kullanıldığı için
sahaların
isimlerini
yazarken
bulundukları tablonun isimleri ile
beraber kullanılmışlardır. Son satırda ki
kısıtta kullanılan iki tablo arasında bir
ilişkinin kurulması sağlanmıştır.
Bilgisayar Uygulamaları
113
BİLGİSAYAR KULLANIMI
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
114
BİLGİSAYAR KULLANIMI
Hasta
Ad
Soyad
TcNO
Teshis
Adres
Cep_no
Doktor_no
Odano
Oda
Odano
Televizyon (Var/yok)
Kat
Dolu (Dolu/Boş)
HastaKayit
Hasta_Tc
Odano
Doktor
Doktorno
Ad
Soyad
Branş
Doktor_no
Soru 1: TC kimlik numarası girilen hastanın cep telefonu ve hangi odada olduğunu listele
Select Hasta.Cep_no, Hasta_kayit.odano
From Hasta, Hasta_kayit
Wherehasta_kayit.hasta_tc=ptcno
Andhasta_kayit.hasta_tc=hasta.TCNO
Sorguda yapılması gereken ilk
şey, istenenlerin ne olduğu ve
istenenlere
göre
hangi
tabloların
kullanılması
gerektiği.
İstenen Hastanın cep telefonu ve hangi odada kaldığı olduğuna göre cep telefonu
bilgisi Hasta tablosunda, Oda numarası iki tabloda da var (HastaKayit ve Oda). İki
tablodan hangisinin kullanılacağını seçerken istenen tüm bilgilerin kolayca
ulaşabilineceği birbiri ile ilişki içinde olan tablolar seçilmeli. O takdirde hastakayit
ve Hasta tablolarının sorgulama için seçilmesi uygun olacaktır. Sorguda koyu
olarak vurgulu olarak yazılan satırda, tablolar arasında ilişki kurulması sağlanmış
olur. Böylece farklı tablolar arasında verilere erişimin sağlanması için bağlantı
kurulmuışolurç
Sorgu 2: Verilen oda numarasına göre o odada yatan hastaların Ad ve Soyadları
Sorgu 3:Televizyonlu olan odalardan boş olanlar kaçıncı katta.
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
115
BİLGİSAYAR KULLANIMI
Kitap
KitapNO
ad
Yazar
konu
KitapKayit
Kitapno
Aldığıtar
Öğrenci
Öğrencino
Ad
Soyad
Bolum
Ogrenci_n
o
Verdigi_tar
(Boş Olabilir)
Soru 2: Ogrenci numarası verilen öğrencinin aldığı kitapların adları
Sorgu 2: Kitaplarını getirmeyen öğrencilerin ad soyadları
Sorgu 3:Girilen öğrenci numarasına göre, aldığı kitapların konusu
Öğr. Gör. Emre İNCE
Bilgisayar Uygulamaları
116
Download