You are on page 1of 13

02.03.

2011

Konular

VERİ TABANI YÖNETİMİ 1. Temel Veri Tabanı Kavramları


Veri nedir
(2010-2011 Bahar)
Veri tabanı nedir
Veri tabanı modelleri
Veri tabanı Çeşitleri
Veri tabanı Yönetim Sistemi
Veri tabanı tasarımı ve normalleştirme
2. SQL veri işleme dili
3. Veri tabanı Uygulamaları (Delphi ile)

1 2

VERİ NEDİR? VERİTABANI NEDİR?


 Dağınık bilgi kümesidir. Herhangi bir konuda birbirleri ile ilişkili verilerin sistematik
 Olguların, kavramların, veya talimatların, insan olarak oluşturduğu yapılardır.
tarafından veya otomatik yolla iletişim, yorumlama ve En genel tanımıyla ise, kullanım amacına uygun olarak
işleme amacına uygun bir biçimde ifadesidir. düzenlenmiş verilerin bütünüdür.
Ya da, daha detaylı bir tanımla; veriyi yönetmek ve sunmak
 Genellikle, biz veri veya veri birimleri üzerindeki
için kullanılan tablolar, formlar, veri erişim sayfaları, sorgular
işlemlerimizi varlık hakkında her hangi bilgi almak için ve raporlardan oluşan nesneler topluluğudur.
gerçekleştiririz.
 Kaydedilebilir bilinen gerçeklerdir. Üretim Üretim Verileri
 Veri, anlamlı bir şekilde düzenlendiği zaman yararlı bilgi Üniversite Öğrenci, ders Verileri
olur.
Hastane Hastalık, hasta kayıt
 Veri; sayılar, rakamlar, sözcükler, metinler, resimler,
olaylar vb. biçimde temsil edilen gerçeklerdir. Örneğin bir verileri
kişinin ismi, adresi, telefon3 numarası, fotoğrafı gibi Banka Hesap Verileri
4

Veri tabanı, bir kuruluşun uygulama programlarının


kullandığı operasyonel verilerin bütünüdür. Burada;
Çok sayıda bilginin, güvenilir bir şekilde saklanması ve “kuruluş”, bir okul, üniversite, banka, bir üretim şirketi,
üzerlerinde çeşitli işlemlerin yapılması gerektiğinde, bu bilgileri hastane, devlet kuruluşu, vb. olabilir. “Operasyonel veri”
oluşturan verilerin anlamlı biçimde düzenlenmeleri bir kuruluşun çalışabilmesi, işleyebilmesi için kullanılan çok
gerekmektedir. İyi düzenlenmiş bir veri tabanı ile birçok işlev çeşitli verilerdir. Ticari bir şirket için müşteri bilgileri, satış
yerine getirilebilir. bilgileri, ürün bilgileri, ödeme bilgileri, vb., okul için öğrenci
bilgileri, açılan dersler, kimlerin kaydolduğu, öğretmen
Belirli bir konu hakkında toplanmış veriler bir veritabanı
bilgileri, boş ve dolu derslikler, sınav tarihleri, vb., hastane
programı altında toplanır. İstenildiğinde toplanan bilgilerin için hasta bilgileri, doktor bilgileri, yatakların doluluk
tümü veya istenilen özelliklere uyanları görüntülenebilir, boşluğu, teşhis-tedavi bilgileri, mali bilgileri, vb …
yazdırılabilir hatta bilgilerden yeni bilgiler üretilerek bunlar
çeşitli amaçlarla kullanılabilir.

5 6

1
02.03.2011

Veri Tabanlarının Kısa Tarihçesi Veri Tabanlarının Kısa Tarihçesi


1960lar:
 1960’ların evveli: Charles Bachmann Honeywell’de ilk 1970’ler:
VTYS’i (IDS -Integrated Data Store) geliştirdi  1970: Ted Codd IBM San Jose Laboratory
 Ağ modelinde veri bağlantıları grafla ifade edilirdi. (şimdi IBM Almaden) laboratuarında
 1960’ların sonları: İlk başarılı ticari VTYS (IMS- ilişkisel veri modelini tanımladı.
information management system) IBM’de geliştirildi
 İki önemli proje başlatıldı (1970’lerin
 Hiyerarşi modelde veri bağlantıları ağaç biçiminde
sonlarında her ikisi gerçekleşmişti)
ifade edilirdi
 INGRES (University of California, Berkeley)
 Bu gün de kullanılmaktadır (SABRE reservations;
Travelocity)  System R ( IBM San Jose Laboratory)
 1960’ların sonları: Conference On DAta Systems  1976: Peter Chen Varlık İlişkisel (ER)
Languages (CODASYL) modeli tanımlandı. Bu ağ modeli modeli tanımladı
idi, fakat daha çok standartlaşmıştı
7 8

Veri Tabanlarının Kısa Tarihçesi ÖRNEK : Bir kişisel telefon rehberi bir veritabanı olarak
görülebilir.
1980’ler
Ad Soyad Şehir Kodu Telefon No
 İlişkisel Veri tabanları teknolojisinin gelişmesi Mehmet Türkmen 322 2384153

 ISO tarafından SQL’in standartlaştırılması (1980’lerin ortaları-sonu) Uğur Yüksel 216 2761651
Erhan Seçilen 212 4327862
 Yükseliş devri
İbrahim Sağlam 318 6115240
1990’lar Ramazan Tekinarslan 322 7145678
 İlişkisel teknolojinin yaygınlaşması ve başarımın yükselişi Veli Korkmaz 322 4567890

 Paylaşılan sistemlerin oluşumu Ayhan Akgöz 212 1234567

 Yeni veri modelleri: nesneye yönelik, tümdengelimli (deduktive)


 1990’ların sonu: nesneye yönelik teknolojinin ilişkisel VTYS’le Bu telefon rehberi, rastgele düzenlenmiş isimleri ve telefon
birleştirilmesi  Nesne-ilişkisel VTYS numaralarını gösterir bir listedir. Bununla beraber, bu liste
 Yeni uygulama alanları: Veri ambarları ve OLAP, Web Internet, çoklu istenilen tercihe veya forma göre belirli bir sırada organize
ortam ve metinlerin işlenilmesi edilebilir. Örneğin, liste ada veya soyada göre alfabetik sırada,
telefon numarasına göre artan bir şekilde sıralanabilir, şehir
kodları kendi içinde gruplanabilir.
Karışık bir telefon rehberinin, hiçbir yararı olmayacağından bizim
9
için önemli olan, bilgilerin istediğimiz
10
düzende olmasıdır.

Günümüzde, değişik konulara ilişkin bir çok veritabanı


oluşturulmuştur. Hastane yönetim sistemine ilişkin veri Neden Veritabanı Kullanılır?
tabanı örnek olarak verilebilir. Bu veritabanında; Bilgisayar ortamında veri saklama ve erişiminde geçmişten
günümüze değişik yöntemler ve yaklaşımlar kullanılmıştır.
Hasta kayıtları Bunlardan geleneksel yaklaşım (Dosya -İşlem Sistemi) verileri
Personel kayıtları ayrı ayrı dosyalarda gruplamaya dayanır. Verileri saklamak için
Malzeme kayıtları programlama dillerinde kullanılan sıralı (Sequential) ve rastgele
Muhasebe kayıtları (Random) dosyalama sistemleri gibi. Birbiriyle ilgili olan ve aynı
Bilimsel çalışmalar gruba dahil olan veriler bir dosyada, bir başka gruba dahil olan
Büro işlemleri veriler de başka bir dosyada tutulurdu. Geleneksel yaklaşımın
birçok sakıncası vardır ve bu sakıncaların beraberinde getirdiği
gibi veriler tutulmaktadır. Bu veriler arasında çeşitli sorunların üstesinden gelebilmek için de veri tabanı yaklaşımı
ilişkiler kurularak, bir verinin tekrar veritabanına girmesi zamanla geleneksel yaklaşımın yerini almıştır. Günümüzde
önlenmiş, ayrıca veritabanı üzerinde güncelleştirme veriler artık veri tabanı yaklaşımı ilkesine göre VTYS’ lerde
işlemleri yapılarak veritabanının aktif bir şekilde tutulmakta ve işlenmektedir.
kullanılması sağlanmıştır.
11 12

2
02.03.2011

İyi bir veritabanının özellikleri: Veritabanı üzerinde yapılan işlemler:


Yeni dosya eklemek
•Veriler hızlı ve kolay girilebilmeli Yeni veri eklemek
•Güvenli bir şekilde saklanmalı Veri değiştirmek
•İstenildiği şekilde ve kolay sorgulanmalı Veri silmek
Dosya silmek
Veritabanının faydaları:
•Veri tekrarları ortadan kaldırılır ya da en aza indirilir. Veritabanından beklenenler
•Bellek alanı israfı önlenir. Her düzeyde rapor alınabilme özelliği
•Standart bir sorgu dili kullanmak mümkündür. Doğru ve hızlı sonuç verebilme özelliği
•Veri bütünlüğünün bozulması önlenir. Bilgilerin ve sonuçların tutarlılığı
•Verilerin merkezi kontrolü sağlanır.
•Tutarsız (hatalı) bilgiler önlenir. Veritabanının riskleri
•Verinin paylaşımı sağlanır. Kurulum ve bakımı klasik dosya sisteminden pahalıdır.
•Bütünlük sağlanır. Sistem içinde bazı bileşenler iyi tasarlanmazsa sistem bir
•Genel veya özel raporlar alınabilir. bütün olarak başarısızlığa uğrayabilir.
13 14

Veri Tabanı Yaklaşımı Veri Modeline Göre Veritabanı Çeşitleri


1. Dosya Sistemleri
2. Hiyerarşik
3. Ağ (Şebeke)
4. İlişkisel veritabanı modeli
PROGRAM 1
5. Nesne Veri-Tabanı Modeli
6. Nesne-İlişkisel Veri-tabanı Modeli
VTYS
Sorgu İşlemcisi
Veri Tabanı 1. Dosya Sistemleri
PROGRAM 1 İş Yöneticisi
Bu tür programlarda tüm veritabanı tek bir tabloya

sığdırılmalıdır.
Bu, birkaç kayıtta ortak olan herhangi bir bilginin her
PROGRAM 2
kayıtta tekrarlanacağı anlamına gelir. Veriler text dosyası
olarak kaydedilir.

15 16

2. Hiyerarşik Veri Tabanı: Bu modelde veriler ağaç 3.Ağ Veri Tabanları : Hiyerarşik veri tabanlarının
yapısına benzer bir biçimde modellenir. En üste kök ve yetersiz kalmasından dolayı bilim adamlarının ortak
kökün dalları bulunur. Ayrıca her dalın alt dalı sayesinde çalışması sonucu ortaya konulmuş bir veri tabanı türüdür.
dallanma ve çeşitlilik artar. Bu modelde her bir alt dalın Ağ veri tabanları verileri ağaçların daha da gelişmiş hali
sadece bir tane noktadan bağlanma şartı bu modelin en olan graflar (ağacın kendiside özel bir graftır.) şeklinde
büyük kısıtlamalarından biridir. Hiyerarşik veri modeli saklarlar. Bu yapı en karışık yapılardan biridir.
1960 ve 1970 yılları arasında popüler olan bir modeldi.

Yazarlar
Kitaplar
(no, başlık)
Konular Kitaplar

Yazarlar Yayıncılar
Yayıncılar Konular
(ad, soyad)

17 18

3
02.03.2011

4. İlişkisel Veritabanı (Relational Data Model)


Bu sistemde veriler tablo şeklinde saklanır. Bu veri İlişkisel veritabanı modeli
tabanında, veri alış verişi için özel işlemler kullanılır. Bu
işlemlerde tablolar operandlar olarak kullanılır. Tablolar
arasında ilişkiler belirtilir. Bir ilişki, bir tabloya, başka bir
başka bir tablodaki kaydı bağlanmamızı sağlar.
Bu şekilde veriler daha az yer kaplar ve güncelleme
kolaylaşır.
Bu ilişkiler matematiksel bağıntılarla (ilişkilerle) temsil edilir.
Günümüzde hemen hemen tüm veri tabanı yönetim
sistemleri ilişkisel veri modelini kullanırlar. İlişkisel modeli
1970 yılında Codd önermiştir. Bu model, matematikteki ilişki
teorisine (“the relational theory”) dayanır. İlişkisel veri
modelinde veriler basit tablolar halinde tutulur. Tablolar,
satır ve sütunlardan oluşur.

19 20

5. Nesne Veri-Tabanı Modeli : Diğerlerinden daha sonra


ortaya atılan ve karmaşık uygulamarda başarısını kanıtlamış
nesne yönelimli programlamaya dayanan veri modelidir. Bu
modelin öngörüsü giderek çözülmesi daha zor hale gelen
programlama problemlerini çözen nesne yönelimli modelin
veri modelleme de etkili olacağıdır. Nesne veritabanı modeli,
verilerin herhangi bir noktadan çok kolayca alınabileceği, üç
boyutlu bir yapıdan oluşur. İlişkisel veri tabanı verileri iki
boyutlu tablolar halinde getirirken, nesne modelinde veriler
tek parça olarak gelirler. Dolayısı ile birden fazla veri
dönmesi arzulandığında nesne modeli performans olarak
çok iyi değildir. Daha çok nesne yönelik program geliştirme
ortamlarında kullanılır.

21 22

6. Nesne-İlişkisel Veri-tabanı Modeli : Veriler nesne VERİTABANI YÖNETİM SİSTEMİ (VTYS) NEDİR?
olarak modellenir ve yaratılır. Nesneye-Yönelik Programlama (DATABASE MANAGEMENT SYSTEM-DBMS)
(OOP) da olan sınıf ve miras kavramlarına sahiptir.
Karmaşık veriler üzerinde işlem yaparken yüksek performans Veri tabanı yönetim sistemi(VTYS), yeni bir veritabanı
sunan bir yaklaşımdır. oluşturmak, veri tabanını düzenlemek, geliştirmek ve bakımını
yapmak gibi çeşitli karmaşık işlemlerin gerçekleştirildiği birden
Nesne-İlişkisel Veritabanı modeli küresel bir yapıya sahiptir. fazla programdan oluşmuş bir yazılım sistemidir. Veri tabanı
Veri tabanı üzerindeki herhangi bir veriye, yüksek yönetim sistemi, kullanıcı ile veri tabanı arasında bir arabirim
performansta erişim sağlar. Fakat yine de birden fazla veri oluşturmaktadır ve veri tabanına her türlü erişimi sağlar. Veri
istenildiği zaman bu modelde de veri tabanı performansı çok tabanının tanımlanması: veri tabanını oluşturan verilerin tip ve
kötü bir darbe alır. uzunluklarının belirlenmesidir. Veri tabanını oluşturulması ise veri
için yer belirlemesi ve saklama ortamına verilerin yüklenmesini
Bu veri tabanı modeli ilişkisel ve nesne veri tabanı modellerini ifade eder.
bir şekilde aynı çatı altına almak için 1990 lı yıllarda
oluşturuldu.

23 24

4
02.03.2011

Veri Tabanı Yönetim Sistemlerinin


VERİTABANI YÖNETİM SİSTEMİ (VTYS) NEDİR? Sağladığı Yararlar
(DATABASE MANAGEMENT SYSTEM-DBMS) - Aynı veri değişik kişilerin PC’lerinde veya değişik
Veri tabanı üzerinde işlem yapmak; belirli bir veri üzerinde bilgisayarlarda tekrar tekrar tutulmaz; Veri Tekrarı
sorgulama yapmak, meydana gelen değişiklikleri yansıtmak için (“Data Redundancy”) azaltılır ya da yok edilir.
veri tabanının güncellenmesi ve rapor üretilmesi gibi işleri
temsil eder. Ayrıca veri tabanı yönetim sistemi, verinin geri
- Veri Tutarlılığı (“Data Consistency”): Aynı verinin
değişik yerlerde birkaç kopyasının bulunması “bakım”
çağrılmasını sağlar. Veri tabanına yeni kayıt eklemek, eskileri zorluğu getirir: bir yerde güncellenen bir adres bilgisi
çağırmak ve gerekli düzeltmeleri yapmak yoluyla, verinin başka yerde güncellenmeden kalabilir ve bu durum veri
bakımını ve sürekliliğini gerçekleştirir, kayıtlara yeni veri eklemek tutarsızlığına (“Data Inconsistency”) yol açar.
ve yeni kayıtlar oluşturmakla, veri tabanını genişletir.
- Veri Paylaşımı / Eşzamanlılık (“Concurrency”):
Veri tabanı yönetim sistemi (VTYS) kullanılmadığı
durumlarda veriye sıralı erişim yapılır. Yanı birden çok
kullanıcı aynı anda aynı veriye erişemez. Bir VTYS’de ise
aynı veritabanlarına saniyede yüzlerce, binlerce erişim
yapılabilir.

25 26

Veri Tabanı Yönetim Sistemlerinin


Sağladığı Yararlar VERİTABANI YÖNETİCİSİ
- Veri Bütünlüğü (“Data Integrity”): Bir tablodan bir
öğrenci kaydı silinirse, öğrenci var olduğu diğer tüm VERİTABANI ÜZERİNDE HER TÜRLÜ YETKİYE
tablolardan silinmelidir. SAHİP OLAN KİŞİDİR.
- Veri Güvenliği (“Data Security”): Verinin isteyerek VERİTABANININ TASARIMI, ÜZERİNDE YAPILACAK
ya da yanlış kullanım sonucu bozulmasını önlemek için DEĞİŞİKLER, KULLANICILARA GEREKLİ
çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek İZİNLERİN VERİLMESİ GİBİ İŞLERİ YAPMAKLA
için kullanıcı adı ve şifreyle korumanın yanı sıra kişiler
sadece kendilerini ilgilendiren tabloları ya da tablo içinde YÜKÜMLÜDÜR.
belirli kolonları görebilirler.

- Veri Bağımsızlığı (“Data Independence”):


Programcı, kullandığı verilerin yapısı ve organizasyonu ile
ilgilenmek durumunda değildir. VERİ BAĞIMSIZLI-ĞI,
VTYS’lerinin en temel amaçlarındandır.

27 28

Veri Tabanı İşlemi Veritabanı Çeşitleri

1. Microsoft Access
Veri Girişi ve
Raporlar
2. MySQL
3. IBM DB2
4. Interbase
Satış uyg. programları
satış VTYS 5. Informix
6. Progress
7. Microsoft SQL Server
Mülk, Ev sahibi,
Veri Girişi ve Kiracı,Sözleşme
ayrıntıları+Kütük tanımları
8. PostgreSQL
Raporlar
Veri Tabanı 9. Oracle

Sözleşme Sözleşme uyg. programları

29 30

5
02.03.2011

MS Access MySQL
Windows, Linux, OS/2,Solaris, AIX vb.
Microsoft Office ürünüdür. “trigger” ve “stored procedure” özelliklerine sahiptir, ancak “Transaction
Küçük ölçekli uygulamalar içindir. logging” özelliği bulunmamaktadır.
Tablo başına 2 GB a kadar veri depolayabilir. Çok hızlı, güvenilir ve kullanımı kolay. Özellikle internet ortamında önem
kazanan, çok esnek ve güçlü bir kullanıcı erişim
Aynı anda 255 bağlantıya izin verebilir. kısıtlama/yetkilendirme sistemine sahip.
MS Windows dışındaki sistemlerde kullanılamaz. Tablo başına 4 TB veri depolayabilir.
SQL standart çalışma araçları kullanılmaktadır.
“Transaction logging” özelliğine sahiptir, ancak “trigger”
IBM DB2
ve “stored procedure” özelliklerine sahip değildir. Access ve MySQL e göre daha performanslı, ancak küçük
işletmelere göre daha yüksek maliyete sahiptir.
Unix ve Windows üzerinde çalışabilir.
Transaction logging”, “trigger” ve “stored procedure”
özelliklerine sahiptir.

31 32

Informix PostgreSQL
Ücretli ve güçlü bir veritabanıdır. Linux, Unix, BSD, Windows, AIX vb.
Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitededir. Ücretsiz, akademik bir veritabanı
1994’deki Postgres kodundan geliştirilmeye başlanmıştır. Çok güçlü işlem yapısı
Veri güvenliği ön planda
Microsoft SQL Tablo başına 64 TB veri tutabilme özelliği
Dezavantajları: “Transaction”, “Inheritance” “trigger” ve “stored procedure”
özelliklerine sahiptir.
 Sadece Windows üzerinde çalışabilir.
Oracle
 Yüksek maliyet Dünyanın en güçlü ve güvenilir veritabanı olarak
Kullanım kolaylığı, güvenilirliği,işlem gücü gösterilmektedir.
Tablo başına 4 TB veri. Çok yüksek maliyet
“Transaction logging”, “trigger” ve “stored procedure” Windows, Unix, Linux, ...
özelliklerine sahiptir.
Oracle, sınırsız sayıda tabloları desteklemektedir.
33 34

Hangi veritabanını seçmeli? MS Access Programı

Küçük yoğunlukta trafik: Access


Web uygulamaları için: MySQL
Daha büyük ve orta ölçekli uygulamalar içinse, Progress, MS
SQL ya da Linux üzerinde PostgreSQL .
Oracle ise çok yüksek güvenilirlik ve işlem gücü
gerektirdiğinde tercih edilen bir veritabanı sunucusudur.

35 36

6
02.03.2011

Tablolar ve İlişkiler
MS Access Veri Tabanı Nesneleri
Tablolar en temel veri tabanı nesneleridir. Amaçları bilgi
Tablolar depolamaktır. Bir veritabanında bir veya daha fazla tablo olabilir.
Örneğin obs isimli veritabanında bölümler, dersler, fakülteler,
Sorgular
öğrenciler ve notlar isimli tablolar bulunabilir. Verilerinizi saklamak
Formlar
üzere, izlediğiniz her bilgi türü için bir tablo oluşturmalısınız. Birden
Raporlar çok tablodan gelen verileri bir Sorgu, Form, Rapor veya Veri Erişim
Sayfalar Sayfasında bir araya getirmek için, tablolar arasında ilişkiler
Makrolar tanımlanmalıdır.
Modüller

37 38

TABLO
Her sütun bir bilgi kategorisi olan bir alanı temsil eder.
Her satır ise bir öğrenci için bilgi saklayan kayıttan oluşur.
Alan

NO AD SOYAD TEL FAX Kayıt


125 ALİ ORTAK 32332 43433
349 VELİ BOZUK 54324 53135

39 40

MS Access Veri Tabanı Nesneleri


Tabloların yapılandırılması
Bütün bu nesne türleri içinde sadece Tablo’lar veri depolar. Geri
•Aynı konu ile ilgili olan bilgiler belirlenmelidir.
kalan diğer 6 Veri Tabanı Nesneleri ise tablolardaki verileri
yönetme, değiştirme, çözümleme, yeniden elde etme,
•Aynı konu ile ilgili alanların kendi tablolarında aynı tabloda toplanması
görüntüleme yada yayınlama amacı ile, bir başka ifadeyle
sağlanmalı
verileri kolay erişilebilir, dolayısıyla daha yararlı kılmak için
kullanılır. •Veri tekrarı olmamalı

•Gereksiz alanlar kullanılmamalı

•Alanlar basite indirgenmelidir.

41 42

7
02.03.2011

Tablonun alan isimleri belirkendikten sonra, herbir alanın Sayı : Öğrenci numarası, öğrencinin sınıfı gibi sayısal bilgiler
içerdiği veri türünün de belirtilmesi gerekir. için kullanılır. Sayısal alanlar matematiksel hesaplamalarda
kullanılabilir. BYTE, TAMSAYI, UZUN TAMSAYI, ÇİFT VE TEK
Access Veri Tabanı Veri Tipleri DUYARLIKLI TANIMLARI YAPILABİLİR

Metin : Yazılacak bilgiler harflerden veya hem harf hem de Tarih/Saat : 100 ile 9999 arasındaki yıllar için tarih ve saat
sayılardan meydana geliyorsa kullanılacak veri türüdür. Bu değerleridir.
alana boşlukta dahil olmak üzere en fazla 255 karakter bilgi
yazılabilir. Bu alana yazılan bilgiler sadece sayılardan da Para Birimi : Özellikle büyük parasal geğerlerin kullanıldığı
oluşabilir, ama yazılan sayılar hesaplama işlemlerinde alanlardır. Sayının tamsayı kısmı en fazla 15, ondalıklı kısmı en
kullanılamazlar. fazla 4 karakter olabilir.

Not : Uzun metin yada metin ve sayı bileşimi kullanılabilir. Otomatik Sayı : Tabloya yeni bir kayıt eklendiğinde, Access
Genelde açıklama ya da uzun bir not yazılacaksa bu alan tarafından atanan benzersiz ardışık (birer birer artan) ya da
kullanılır. 64.000 karakterle sınırlıdır. rasgele sayılar. Otomatik sayı alanları değiştirilemez.

43 44

Evet/Hayır : Yalnızca iki değerden birini içeren alanlar Evet /


Hayır, Doğru / Yanlış, Açık / Kapalı gibi alanlar gibi.
INPUT MASK (MASKE)
Verilerin belirli kurallara uymasını sağlayan kısıtlamalardır.
OLE Nesnesi : Eğer tablo alanlarında resim, ses veya grafik gibi
Örneğin bir alana sadece sayısal değerlerin girilmesi
ole nesnelerinin saklanması sözkonusu ise bu tanımlama yapılır.
gerekirse, InputMaske kısmını ona göre düzenlemek
Bu alanın büyüklüğü en fazla 1 gb olabilir.
gerekir. Bu giriş maskesini oluşturulmasında bazı özel
işaretlerden faydalanılır:
Köprü : Tıklandığında kullanıcıyı başka bir dosyaya, dosyadaki bir
konuma veya Internet’teki (www) bir bölgeye yönlendiren
bağlantı. ?: A-Z arası alfabetik karakter
L: A-Z arası alfabetik karakter*
Arama Sihirbazı : Değerleri başka tablo, sorgu ya da değerler #: 0-9 arası rakam veya boşluk. + ve – kullanılabilir.
listesindeki değerlerden seçilen bir alan yaratmamıza yardımcı 0: 0-9 arası rakam.+ ve – girilemez.*
olan sihirbaz. 9: 0-9 arası rakam veya boşluk.
*giriş zorunlu

45 46

Aşağıdaki şekilde mavi çizgilerle çevrelenmiş alanda Ms


Zorlayıcı (Constraint, Geçerlilik kuralı) Access veri tabanı programında bir kısıtlayıcının
Herhangi bir alan için girilebilecek verileri kısıtlayıcı kurallara tanımlanması yapılmış ve özellikle kullanıcı tarafından
zorlayıcılar denir. Örneğin, bir öğrencinin sınıf bilgisine ait değer yanlış bilgi girişi engellenmiş ve verilerin doğru yazılması
için sadece 1 ile 6 arasında bir rakam girilmesi gerekiyorsa zorunlu hale getirilmiştir.
bunun için zorlayıcı tanımlamak gerekir. Veri girişi sırasında 1 ile
6 arasındaki değer dışında bir değerin sınıf bilgisi alanına
yazılması engellenmiş olur. Dolayısı ile sınıf için yazılmaması
gereken bir değer; bilgi girişi başlangıcında kontrol edilmiş olur.

İlgili alana girilebilecek değerleri sınırlayan bir deyim yazılır.


Kullanımı bazen çok faydalıdır ve özellikle yanlış bilgi girişini
engeller ve verilerin doğru girilmesini zorunlu hale getirir.
Kullanıcı, zorlayıcıda belirtilen kural dışında bir veriyi tabloya
yazmaya çalıştığında, VTYS hata verir. Böylelikle veritabanına
kullanıcının keyfi değerler girmesi önlenmiş olur ve veri
tabanında tutarlılık sağlanmış olur.
47 48

8
02.03.2011

1. Tablolar ve İlişkiler
Her Access Veri tabanı nesnesinin iki yada daha çok görünümü 2. Veri Sayfası Görünümü: Tablonun verileri değiştirilir
vardır. Tabloların en sık kullanılan iki görünümü;

1. Tasarım Görünümü :Tablonun yapısını oluşturulur ve değiştirilir.

49 50

Anahtar (Key) Standart olarak bir tabloda verilerin, fiziksel hafıza üstünde de
Tablodaki her kayıtta aynı değere sahip olmayan bir alanın hangi alana göre sıralanacağını da primary key belirler. Bu, bazen
bulunması gerekir (Örnek TC No). Bu alan için anahtar(key) bir tek alan olabileceği gibi, bazen birden fazla alan da birleşerek
tanımlaması yapılması gerekir. Primary Key, Unique Key ve bir birincil anahtar oluşturabilir. Örneğin programda personelin
Foreign Key olmak üzere 3 çeşit anahtar vardır. sicil numarası alanına göre aramalar yapılacaksa Primary key
personel sicil numarası olmalıdır. Primery key tanımlı bir alana veri
Primary Key (Birincil Anahtar) : Bu anahtar tanımlandığı alan girilmesi zorunludur; boş, değersiz(NULL) olamaz.
için verilerin her kayıtta farklı olacağını belirtir. Örneğin
OGRENCINO gibi bir alan için böyle bir tanımlama yapılmış ise Access'te tanımlanabilecek üç tür Birincil Anahtar vardır;
tablodaki tüm kayıtlardaki bu alan farklı değere sahip olacaktır.
Yani bu tabloda aynı öğrenci noya sahip iki kişi olmaması gerekir.  Otomatik Sayı Birincil Anahtarı,
 Tek Alan Birincil Anahtarı,
 Birden Fazla Alan Birincil Anahtarı.

51 52

Unique Key(Tekil Anahtar): Unique Key olarak tanımlanan 2. Sorgular


alan için bir değer sadece bir kere girilebilir. Bir başka satıra Access Veri Tabanlarında bilgiye ulaşmanın diğer bir yolu da Sorgu
daha aynı verinin girilmesine izin verilmez. oluşturmaktır. Birden çok tablodan gelen veriler de içinde olmak üzere,
Primary Key ’den farklı olarak Unique Key, NULL (boşluk) yalnızca tam olarak belirlediğiniz koşulları karşılayan verileri bulmak ve
değerini alabilir. Örneğin programda her personele ait bir sicil almak için bir sorgu oluşturulma-lıdır. Bir sorgu bunun yanı sıra, birden
numarası olacağı için bu alan Unique key olarak tanımlanabilir. çok kaydı aynı anda güncelleştirebilir veya silebilir ve verileriniz üzerinde
Ama isim alanı birden fazla aynı isme sahip personel olabileceği önceden tanımlanmış özel hesaplamalar yapabilir.
için bir Unique key olarak tanımlanamaz. Ali isimli birden fazla
personel olabileceği gibi.

Foreign Key (Yabancı Anahtar) : Tablolar arsındaki ilişklileri


Bursa için Nisan Siparişleri Sorgusu
tanımlayan bir kısıtlamadır.Primery key olarak tanımlı bir
alan Foreign key tanımlı bir başka tablodaki alan bağlanabilir. Bu sorgu, siparişleri Nisan ayında
Primery key tanımlı bir alanda bulunan bir değeri bir başka karşılanması gereken Bursa'daki
müşteriler için Sipariş No, Teslim Tarihi,
tablodaki Foreign tanımlı bir alanda bulunan bir grup kayıta
Şirket Adı ve Şehir bilgilerini almak
bağlayan yapılardır.
üzere iki ayrı tabloya erişir.

53 54

9
02.03.2011

3. Formlar
Bir sorgu aslında bir sorudur. Örneğin Müşteriler tablosunun hangi Formlar, üzerine kullanıcının bilgiyi görmelerine yada bilgi girmelerini
kayıtları, Posta Kodu alanında 32700 değerini içeriyor? Sorusunu sağlayan denetimler ekleyebileceğimiz pencerelerdir. Access, içinde
sorabiliriz. Bir Sorguyu çalıştırdığımızda (Tabloya Soru Sorduğumuzda) etiketler, metin kutuları, seçenek düğmeleri ve onay kutuları gibi bir çok
Access belirtilen tablodaki yada tablolardaki bütün kayıtlara bakıp standart Windows denetimi barındıran bir araç çubuğu sunar. Bu
belirttiğimiz ölçütlere uyan kayıtları bulur ve bir Veri Sayfası biçiminde denetimler kullanılarak Tasarım Gö-rünümünde formlar oluşturulabilir.
görüntüler.
Access VTYS’nin sorularınıza yanıt verebilmesi için, sorgularınızı özel
yöntemlerle yapılandırmalısınız.

Form bir seferde tek bir kayıt


1 2 üzerinde odaklanır ve birden
çok tablonun alanlarını
Tasarım Görünümü SQL Görünümü görüntüleyebi-lir. Ayrıca,
resimleri ve diğer nesneleri de
görün-tüleyebilir.

Form verileri yazdıran, başka nesneleri açan veya


görevleri diğer şekillerde otomatikleştiren bir düğme
55 içerebilir. 56

4. Raporlar
Formları, temeli oluşturan tablodaki verileri kolayca görüntülemek, Raporlar, Tablolardan veya Sorgulardan gelen bilgileri, güzelce
veri girmek ve değiştirmek için oluşturabilirsiniz. Formu açtığınızda, düzenlenmiş ve kolay erişilebilir bir biçimde, bilgisayar monitöründe
veya kağıt üzerinde görüntülemek için kullanılan Access nesnesidir.
Microsoft Access bir veya birden çok tablodan gelen verileri alır ve
Verilerinizi çözümlemek veya onları kağıt üzerinde belirli bir yolla
bunları ekranda Form Sihirbazı'nda seçtiğiniz veya Tasarım sunmak üzere bir rapor oluşturabilirsiniz. Örneğin, verileri gruplandıran
görünümünde kendi oluşturduğunuz düzende görüntüleyebilir. ve toplamları hesaplayan bir rapor ve farklı verilerin postalama
Formları da, tablo ve sorgularda olduğu gibi birkaç görünümde etiketlerini yazdırmak üzere biçimlendirilmiş olduğu başka bir rapor
yazdırabilirsiniz.
görüntüleyebilirsiniz. Postalama etiketleri oluşturmak için bir
1. Form Görünümü (Görsel olarak Kayıtlar görüntülenir) rapor hazırlayabilir,
2. Veri Sayfası Görünümü (Kayıtlar, Tablolarda olduğu gibi liste
şeklinde görüntülenir)
Bir grafikte toplamları göstermek için
3. Tasarım Görünümü (Formun görünüş, işleyiş biçimini ve
bir rapor oluşturabilir,
tasarımını düzenlemek için form nesneleri üzerine değişiklik
yapılabilir)
Toplamları hesaplamak için bir rapor
kullanabilirsiniz.
57 58

Index (İndeks)
Raporlar birden çok Tablo veya Sorgudan seçilmiş bilgileri, veri
tabanından hesaplanmış değerleri, üstbilgiler, altbilgiler ve başlıklar gibi Veritabanlarında indeks oluşturularak, veriler veritabanındaki
biçimlendirme öğeleri içerebilir. kayıtlı oldukları sıradan başka bir sırada gösterilebilir ve tıpkı
kütüphanedeki bir kitaba ulaşmada olduğu gibi istenilen veriye
daha kısa sürede ve kolayca ulaşılabilir.
Temelde indekslerin ilişkisel veritabanında şu üç işlevi vardır:
1.Tekil indeksler, veri ilişkilerini ve veri bütünlüğünü sağlayan
birincil anahtar alanlar oluşturmada kullanılır.
2. İndeks olan alanın değerine göre bir kaydın kayıtlar arasındaki
sırasını gösterirler.
3.Sorguların neticelenme sürelerini kısaltırlar.

Raporlara üç değişik görünümde bakabiliriz. Raporların tasarı-mını


değiştirebileceğimiz Tasarım Görünümü,
Görünümü Yazdırıldığında nasıl
görüntüleneceğini görebileceğimiz Baskı Ön İzleme
İzleme, fazla ayrıntılı
olmayan sadece öğelerin yerleşim düzenini görebilece-ğimiz Yerleşim Ön
İzleme’dir.
İzleme 59 60

10
02.03.2011

İlişkilendirme ( Joining)
VARLIK-İLİŞKİSEL MODEL
(Entity –Relationship Model, ER Model)
İki veya daha fazla tabloyu birlikte sorgulama işlemine join
ismi verilir. İlişkisel veritabanının en temelinde birden fazla Belirli bir kuruluşa/konuya ilişkin verilerin mantıksal düzeyde
tablo üstünde birlikte işlem yapabilmek yatar. düzenlenmesini gösteren ve kendi aralarında anlamlı bir bütün
Bu sayede verilerin tekrarlanması önlenmiş olur ve sonuçta oluşturan ilişki şemalarının bütününe, varlık-ilişki modeli
veri yönetimi kolaylaşır. Örneğin, Kitap tablosunda, Kitabın denir.
bir tekil numara ile listesini tutmak ve ödünç listesinde de Buradaki varlık; benzersiz bir şekilde tanımlanabilen ve
bu Kitabın kim tarafından alındığının, geri getirilip bağımsız var olabilme yetisine sahip nesne ya da oluşum
getirilmediğinin kaydı tutulmaktadır. Bazen, bu iki tablodaki olarak tanımlanabilir.
bilgilere de bir tek sorgu sonucu olarak ihtiyaç duyulabilir. Varlıklar, ev, araba gibi fiziksel nesneler olabileceği gibi
müşteri ödemesi veya sipariş gibi soyut nesneleri de içerirler.
İlişki şemasında genellikle, ilgili niteliklerin altı çizilerek ilişki
anahtarı gösterilir.

61 62

TEMEL TANIMLAR ve KAVRAMLAR


Varlık (Entity): Varolan ve benzerlerinden ayırt edilebilen Nitelikler (Attributes) : Bir varlık kümesindeki nesnelerin
her şeye, her nesneye denir. özelliklerini göstermek ve varlıkları birbirinden ayırt etmek
Örnek: personel, ev, müşteri, ürün, satış, çalışma deneyimi için kullanılır.Tablo içerisindeki kolonlara karşılık gelir.

Varlık kümesi(Entity set): Aynı türden benzer varlıkların


oluşturduğu kümeye denir.Varlık kümelerinin ayrık kümeler
olması gerekmez.Bunlar iç içe, kesişen yada ayrık kümeler
olabilir.Örnek olarak, öğrenciler, kız öğrenciler, yurt
öğrencileri, açılan dersler, öğretmenler, vb.. sayabiliriz.

Örneğin; “Burak” bir varlık olmasına karşılık; onun yer aldığı


“öğrenci” tanımı da bir varlık olarak değerlendirilir.
63 64

Bağıntı( relationship): İki ya da daha çok sayıdaki varlığın E-R Modelindeki Kavram ve Yapılar
birleşmesi, bir araya gelmesi, aralarında ilişki kurulmasına
bağıntı denir.
Varlık ilişki çizelgesinde varlık kümesi, nitelik ve ilişki
Örneğin bir öğrenci ile bir ders, firma ile malzeme, kişi ile aşağıdaki şekiller yardımı ile gösterilir.
otomobil gibi. Bunlar ikili bağıntılardır. Bir işçi, ürün ve makine
bir araya getirilirse bu bağıntı üçlü olur.
Varlık kümesi Bağıntı kümesi
(İlişki) Nitelik
Bağıntı Kümesi (Relationship Set): Aynı tür benzer
bağıntıların kümesine bağıntı kümesi (relationship set) adı
verilir.Matematiksel olarak E1, E2, E3,…,En varlık kümeleri Aşağıdaki şekillerde varlık kümeleri, nitelikler, bağıntı
arasındaki bir R bağıntısı şöyle kümeleri ve rollere ilişkin varlık- ilişki diyagramı örnekleri
tanımlanır; gösterilmiştir.
R = { (e1, e2, e3,…, en) : e1 E1, e2 E2, e3 E3, …, en En}

65 66

11
02.03.2011

Varlık kümesi ve nitelik örnekleri


Varlıklar arası İlişkiler(Eşleme)
OGRNO ADI SOYADI CINS DOGTAR

Bir varlıkla ilişkiye girilebilecek varlıkların sayısına eşleme


sayısı adı verilir.
OGRENCI

Eşleme sayısı n>=2 varlık için söz konusudur ve ikili


ilişkilerin ortaya konulması açısından yararlıdır.
DKODU DERS DERSADI

A ve B gibi iki varlık kümesi arasındaki R ilişki kümesi için


eşleme durumları şu şekilde ifade edilir:
KREDISI

ÖĞRENCİ ve DERS varlık kümelerine karşılık, ilişkisel modelde  Birden-bire (one to one, 1:1)
aşağıdaki ilişki şemaları oluşturulur.  Birden-çoğa(one to many, 1:n)
 Çoktan-bire (many to one, n:1)
• OGRENCİ (OGRNO, ADI, SOYADI, CINS, DOGTAR)  Çoktan-çoğa (many to many, n:n)
• DERS (DKODU, DERSADI, KREDISI)

67 68

Birden-bire İlişki Birden-çoğa İlişki


A varlık kümesi içindeki bir varlık, B kümesi içindeki sadece A kümesi içindeki bir varlık B kümesi içindeki birden fazla
bir varlık ile ilişkili ise birden-bire ilişki söz konusudur. varlık ile ilişkili ise, bu ilişkiye birden-çoğa ilişki adı verilir.B
kümesindeki bir varlık, A kümesindeki sadece bir varlık ile
eşleşebilir.

Şekil üzerinde gösterildiği gibi, her bir müşteri sadece bir hesap
numarası ile eşlenebilmektedir. Aynı biçimde bir hesap
numarası sadece bir müşteriye verilebilmektedir. O halde bu
birden-bire ilişkidir.

69 70

Çoktan-bire İlişki Çoktan-Çoğa İlişki


A varlık kümesindeki birden fazla varlık, B kümesindeki bir A varlık kümesindeki birden fazla varlık, B kümesindeki
varlık ile ilişkili ise bu eşleşmeye çoktan-bire ilişki adı verilir. birden fazla varlık ile ilişkili ise bu eşleşmeye çoktan-çoğa
ilişki adı verilir.

Müşteri-hesap ilişkilerinde, aile üyelerinin ortak hesap açabilmesi


durumunda çoktan-çoğa ilişki söz konusu olmaktadır. Bu şekil, müşteri-
hesap ilişkisinin çoktan-çoğa biçiminde olduğunu göstermektedir.
Müşteriler birden fazla hesaba sahip olabilmekte ve birden fazla müşteri
aynı hesabı açabilmektedir. Örneğin, “Burak” isimli kullanıcı 4500 ve
2310 numaralı iki hesaba sahiptir. Buna karşılık, 4500 numaralı hesabın
aynı aileye üye “Burak” dışında “Begüm” isimli bir başka müşterisi
71 bulunmaktadır. 72

12
02.03.2011

OGRETMEN 1 n DERS
ODO
ERKEK 1 1 KADIN n m
EVLİLİK

m n
BÖLÜM 1 n ÖĞRENCİ OGRENCI
OKUYAN

ÖĞRENCİ n m DERS
ALDIĞI
Üçlü ilişki kümesi örneği

Çocuk 1 1 Anne
???

Anne 1 n Çocuk
???

İlişki kümesi örneği


73 74

İlişkilerin tanımlayıcı nitelikleri de bulunabilir.Örneğin


mağaza ve malzeme varlık kümeleri arasındaki sattığı
ilişkinin MİKTAR adlı bir tanımlayıcı niteliği olabilir.

MAGNO MAGADI MIKTAR MKODU MADI

MAGAZA n m MALZEME
SATTIGI

İlişki kümesinin tanımlayıcı niteliği

75 76

13

You might also like