VERİTABANI. Veritabanı Bileşenleri



Benzer belgeler
11. TASARIM ŞABLONU KULLANARAK SUNU HAZIRLAMAK

CSD-OS İşletim Sistemi Projesi - Fonksiyon Açıklama Standardı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

3 Sql Veri Tipleri. Veritabanı 1

BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL) Amaçlar:

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

Digifresh Kullanım Kılavuzu

I. HSBS KURUM AYARLARI

ENF-106 C Programlama Dili Ders İçeriği. Grafik fonksiyonları C Programlama Dili Ders Notları Dr. Oğuz ÜSTÜN

Şekil 1.2:Programa giriş penceresi

KATEGORİSEL VERİ ANALİZİ (χ 2 testi)

YSÖP KULLANIM KILAVUZU

TEMEL İSTATİSTİK KAVRAMLAR

Cebir Notları. Bağıntı. 1. (9 x-3, 2) = (27, 3 y ) olduğuna göre x + y toplamı kaçtır? 2. (x 2 y 2, 2) = (8, x y) olduğuna göre x y çarpımı kaçtır?

SINAV ŞARTNAMESİ ( TURİZM SEKTÖRÜ )

Ek 1. Fen Maddelerini Anlama Testi (FEMAT) Sevgili öğrenciler,

İKİ BOYUTLU GÖRSEL ARAÇLAR HARİTALAR

Tasarım Raporu. Grup İsmi. Yasemin ÇALIK, Fatih KAÇAK. Kısa Özet

BIM BUILDING INFORMATION MODELING YAPI BİLGİ MODELİ

Teftiş Kurulu Teftiş Modülü Kullanım Kılavuzu


Q-BIZ VIEWER KULLANIM KILAVUZU

DÖNER SERMAYE MALİ YÖNETİM SİSTEMİ

13 Kasım İlgili Modül/ler : Satın Alma ve Teklif Yönetimi. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

Test Geliştirme. Testin Amacı. Ölçülecek Özelliğin Belirlenmesi Yrd. Doç. Dr. Çetin ERDOĞAN

uzman yaklaşımı Branş Analizi öğretim teknolojileri ve materyal tasarımı Dr. Levent VEZNEDAROĞLU

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI YÜZEY DOLDURMA TEKNİKLERİ

AIMCO AIMCO. Kullanım Kılavuzu. Mayıs 2016

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

emuseum KOLEKSİYONUNUZU WEBDE PAYLAŞIN Neden emuseum? SAYISAL GRAFİK TM TMS ile tümleşik çalışma Programlanabilme

Genel bilgiler Windows gezgini Kes Kopyala Yapıştır komutları. 4 Bilinen Dosya Uzantıları

360- ÖDENECEK VERGİ VE FONLAR HESABINA (GELİR VERGİSİ KESİNTİSİ) İLİŞKİN say2000i UYGULAMASI

1. Mesaj Tipi ve Mesaj Fonksiyonu Bazında Bildirim Mail Adresi Tanımlama Đşlemleri

SLCM - Modül (Ders) Yaratılması

Satış Amaçlı Elde Tutulan Duran Varlıklar ve Durdurulan Faaliyetlere İlişkin Türkiye Finansal Raporlama Standardı (TFRS 5)

ÖLÇÜ TRANSFORMATÖRLERİNİN KALİBRASYONU VE DİKKAT EDİLMESİ GEREKEN HUSUSLAR

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1: : BİLGİ VE TEKNOLOJİ DERS SAATİ: 7

Görsel Tasarım İlkelerinin BÖTE Bölümü Öğrencileri Tarafından Değerlendirilmesi

MICROSOFT EXCEL SOLVER PROGRAMI. Y. Doç. Dr. Y. İlker Topcu

Veritabanı Tasarımlarında Karşılaşılan Güçlükler ve Çözüm Önerileri

MESS ALTIN ELDİVEN İSG YARIŞMASI BAŞVURU VE DEĞERLENDİRME PROSEDÜRÜ

BİT ini Kullanarak Bilgiye Ulaşma ve Biçimlendirme (web tarayıcıları, eklentiler, arama motorları, ansiklopediler, çevrimiçi kütüphaneler ve sanal

Kümenin özellikleri. KÜMELER Burada x : ifadesi öyle x lerden oluşur ki diye okunur. Örnek: Kilis in ilçeleri

Yürürlük Tarihi: 12/09/ Kodu: ED Rev. No/Tarihi: 00 1 / 33

: Bilindiği üzere e-defter uygulaması Aralık 2014 de başlamıştır. Konu hakkında

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

R.G UBAN (ULUSAL BANKA HESAP NUMARASI) TEBLİĞİ

İhtiyacınız, tüm sisteminizin kurumsallaşmasını sağlayacak bir kalite modeli ise

BÖLÜM 3 FREKANS DAĞILIMLARI VE FREKANS TABLOLARININ HAZIRLANMASI

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Yazma Becerileri 2 YDA

Analiz aşaması sıralayıcı olurusa proje yapımında daha kolay ilerlemek mümkün olacaktır.

Evrak Ekle. Kurum İçi Giden Evrak Ekleme. Kırmızı renker; doldurulması zorunlu alanları ifade etmektedir. İleri Geri tarihli işlem yapılamamaktadır.

B02.8 Bölüm Değerlendirmeleri ve Özet

Davranışçı Yaklaşımda Öğrenme Kuramları

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK LABORATUVARI 1. BASINÇ, AKIŞ ve SEVİYE KONTROL DENEYLERİ

Fizik ve Ölçme. Fizik deneysel gözlemler ve nicel ölçümlere dayanır

Bölüm 6 Tarımsal Finansman

KolayOfis Başlangıç Rehberi Kısa Mesaj Yönetimi

Her derecede yönetici aslında karar (lar) veren ve bunları uygulayan/uygulatan kişidir. Karar vermek birden çok seçenekten birini uygulamak demektir.

AĞ ÜZERİNDEN YAZICI ve TARAYICI TANIMLAMA KLAVUZU

1 Aralık E-Beyanname Modülünde Yapılan İşlemler

VİDEO VE YAZILIM TABANLI İŞ ETÜDÜ

BÖL-1B. Fatih University- Faculty of Engineering- Electric and Electronic Dept.

B05.11 Faaliyet Alanı

Şekil İki girişli kod çözücünün blok şeması. Tablo İki girişli kod çözücünün doğruluk tablosu. Şekil İki girişli kod çözücü devre

4.2. SAYISAL MANTIK SEVİYELERİ VE DALGA FORMLARI

Windows 7 doğru güvenlik ayarları ile güvenli düzeyde çalışma kapsamına gelir. Alttaki altı adim size bunu kolayca başarmanın yolunu gösterir.

GEÇİCİ KORUMA SAĞLANAN YABANCILARIN ÇALIŞMA İZİNLERİ. ÇALIŞMA VE SOSYAL GÜVENLİK BAKANLIĞI Çalışma Genel Müdürlüğü


BİLGİ TEKNOLOJİLERİ VE İLETİŞİM KURULU KARARI

BISTEP nedir? BISTEP ne yapar?

ENF TEMEL BİLGİSAYAR BİLİMLERİ Eğitim/Öğretim Yılı Bahar Dönemi DÖNEM SONU LAB. ÖDEV TESLİM DUYURUSU

Bilgisayar Uygulamaları PSİ105

Yrd. Doç. Dr. Hüseyin Odabaş

SANAYİNİN KÂRLILIK ORANLARI ÖNEMLİ ÖLÇÜDE AZALDI

MEHMET ÇEKİÇ ORTAOKULU

KILAVUZ SORU ÇÖZÜMLERİ Matematik

Örgün Öğrenci Sistemi Anadolu Üniversitesinde öğretim elemanlarının verdikleri

ÖĞRENCİ BİLGİ SİSTEMİ (OBS)

ULAKBİM Danışma Hizmetlerinde Yeni Uygulamalar: Makale İstek Sistemi ve WOS Atıf İndeksleri Yayın Sayıları Tarama Robotu

Algoritmalara Giriş 6.046J/18.401J

Ç.Ü. GÜZEL SANATLAR FAKÜLTESİ İÇ MİMARLIK BÖLÜMÜ GÜZ YARIYILI İÇM PROJE 5 & DİPLOMA PROJESİ

İçindekiler Hosting hizmeti için silme isteği oluşturulması Reseller Paketi altında hosting hizmetinin oluşturulması Kesintiyi en aza indirmek için

Temel Bilgisayar Programlama

ÖĞRENCİ BİLGİ EKRANI )ZORUNLU DERSLER )ÜST DÖNEM DERSLERİ )BAŞARILI OLUNAN DERSLER )SEÇMELİ DERSLER...

Emeklilik Taahhütlerinin Aktüeryal Değerlemesi BP Petrolleri A.Ş.

5510 sayılı SGK kanunu hakkında duyurular

TOPLAM KALİTE YÖNETİMİ İŞLEM BASAMAKLARI. Kalite Yönetim Sisteminin işleyişini, kurulların amaç, kuruluş şekilleri ve çalışma kurallarını açıklamak,

Daha Ne Kadar Sessiz Kalacaksınız?

YÜKSEKÖĞRETİM KURUMLARI ENGELLİLER DANIŞMA VE KOORDİNASYON YÖNETMELİĞİ (1) BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

VEZNE PROGRAMINDA POSTA ÜCRETİ İLE İLGİLİ YAPILAN DÜZENLEMELER (Vezne Sürüm: )

BÖLÜM 7 BİLGİSAYAR UYGULAMALARI - 1

Muhasebe LOGO Kasım 2009

En İyi Uygulamalar ve Kullanım Kılavuzu

Yıllarca bu konuda çalışan görüntü işleme uzmanlarının önerisi. Artık ArcGIS ile entegre

+1TL TEK TELEFON SERVİSİ KAMPANYASI (12 AY) TAAHHÜTNAMESİ

Transkript:

VERİTABANI Veritabanı Bileşenleri

TABLOLAR Veritabanının en temel bileşeni "Tablo" dur. Tablolarda saklanan veriler veritabanın diğer bileşenlerinin (sorgular, saklı yordamlar, görünümler,vb) oluşmasını sağlar. Bu nedenle veritabanının hız/performans ve verimliliği tablolarla doğrudan ilişkilidir. Verimli bir veritabanı tasarımı için "Tablo" yapısını iyi kavrayıp anlamak gerekmektedir. Tablo; veritabanına konu olan herhangi bir varlığa ait niteliklerin, düzenli ve anlamlı bir şekilde bir arada tutmasını sağlayan varlıklar topluluğudur. Tablo; kayıt-satır (record) ve sütun-bilgi alanlarından (column-field) oluşur. Sütunlar o varlığa ait nitelikleri ifade eder ve her kayıt bir varlık demektir.

HİYERARŞİK VERİTABANI MODELİ

Tanımı daha iyi kavramak için personel bilgilerinin tutulduğu bir tablo tasarımını inceleyelim. Öncelikle tasarım aşamasında personel bilgilerini oluşturan ad, soyad, doğum tarihi, doğum yeri, vb. nitelikler belirlenir. Belirlenen bu nitelikler bilgi alanlarını (field) oluşturur.

VERİ TİPLERİ (DATA TYPE) Veri tipi olarak; adlandırılan kavram, belirli kıstaslara göre sınırlandırılmış farklı türlerdeki değerleri ifade etmektedir. Tablolarda tutulacak verilerin tasarımı yapılırken veri tiplerine dikkat edilmelidir. Örneğin "Personel" tablosu oluşturulurken, Personel Adı, Soyadı ve Doğum Yeri için "Metin", Doğum Tarihi için "Tarih" ve "ID"si için de "Sayı" veri tipleri seçilmelidir. Veri tipine dikkat edilmeksizin oluşturulan veritabanı yönetim sistemleri; performans, güvenlik, verimlilik, vb. yönlerden eksiklik gösterecektir. Veri tipleri kullanımlarına ve saklanma biçimine göre seçilmektedir. Yoğun verilerin tutulduğu veritabanlarında veri tipleri daha büyük öneme sahip olmaktadır.

VERİ TİPLERİ (DATA TYPE) Veritabanı sistemlerindeki gelişmeler ve uygulamalardaki gereksinimler doğrultusunda çeşitli veri tipleri oluşmuştur. Veri tipleri; Metinsel Sayısal Tarih - Zaman İkili Veri Tipler Diğerleri olarak sınıflandırılabilir.

Metinsel Veri Tipleri Veri hem nümerik (sayısal), hem de alfanümerik (harf) değerlerden oluşuyorsa metinsel veri tipi kullanılır. Metinsel veri tipleri karakter, sembol, sayı ve bunların birleşimlerini depolamak için kullanılan veri tipleridir. CHAR: Girilen her karaktere karşılık olarak 1 byte yer tutan en fazla 800 karaktere kadar veri saklayabilen veri tipidir. Belirtilen uzunlukta veri girilmesine olanak sağlar. Uzunluk değeri, kaydedilecek verinin uzunluğundan büyük olduğunda kalan alanlar boşluk şeklinde doldurulur.

Örneğin "ADI" alanı için tanımlı veri tipi uzunluğu 5 karakter olarak seçilsin. Bu alana veri kaydedilmesi aşağıdaki gibidir.

VARCHAR: Bu veritabanı char veri tipin de olduğu gibi her karakter 1 byte yer kaplar ama en üst sınır değer aşılmadığı sürece değişik uzunluklardaki verilerin girilmesine olanak sağlar.

TEXT: 8000 karakterden fazla değer alan veri tipidir. NCHAR: CHAR veri tipinden farklı olarak UNICODE karakter setini kullanır. Bu nedenle her karakter için 1 byte yerine 2 byte yer tutar. En fazla 4000 karakter depolayabilir. NVARCHAR: UNICODE metin değerlerini depolamak için kullanılır ve en fazla 4000 karakter depolayabilir. NTEXT: 4000 karakterden daha fazla değer alabilir ve UNICODE metin saklayabilir.

Sayısal Veri Tipleri Genel olarak sayısal verilerin ve karşılaştırma gibi işlemlerde kullanılacak veri tipleridir. Sayısal veri tipleri ONDALIK ve TAMSAYI olarak ikiye ayrılmaktadır. Tam Sayı Veri Türleri Negatif ve Pozitif tam sayıları ifade eder. Bit: Fiziksel olarak 1 byte yer tutan ve 1 ya da 0 değer alan değer tipleridir. Boolean veri tipiyle aynıdır. (True/False) TINYINT: 1 byte yer tutan ve 0 ile 255 arasında değer alan değer türüdür. SMALLINT: 2 byte yer tutan -32.768 ile 32.767 aralığında değer alan veri tipidir. INT: 4 byte yer tutan ve -2.147.483.648 ile 2.147.483.647 arasında değer alan veri türüdür. BIGINT: 8 byte yer tutan ve -9.223.372.036.854.775.808 ile 9.223.372.036.854.807 aralığında değer alan veri türüdür.

Ondalık Veri Türleri Ondalık sayısal değerleri depolayabilen veri tipleridir. Veri tabanlarında ondalık veri tipleri, rasyonel ve yaklaşık değer tipleri olarak ikiye ayrılır. Kesir Ondalık Sayı Veri Tipleri SMALLMONEY: 4 byte veri tipi depolayabilir ve -214.748.3648 ile 214.748.3647 arasında değer alan veri tipidir. MONEY: 8 byte yer tutan ve -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasında değer alan veri tipidir. DECIMAL: Bu veri tipi özel bir tip olup iki parametre almaktadır ve basamak sayısında göre yer tutan veri türüdür. Örneğin; 10.000,0045 verisini saklayabilmek için virgülden öncesi ve sonrası için Alanadi(5,4) diye bir tanımlama gerekmektedir. NUMERIC: DECIMAL veri tipine benzeyen bir veri türüdür. Aynı şekilde kullanılır.

Yaklaşık Ondalık Sayı Veri Tipleri Bu veri tipleri bilimsel gösterimleri ile depolanabilen ve diğer veri tiplerine göre depolanması çok hassas olan veri tipleridir. FLOAT: Veritabanında 4 ile 8 byte arasında yer tutan veri tipidir. REAL: Veritabanında 4 byte yer tutan veri türüdür. Tarih - Zaman Veri Tipleri Veritabanında tarih ve zaman bilgilerini tutmak amacıyla kullanılan veri türleridir ve SMALLDATETIME ve DATETIME veri tipi olarak iki şekilde kullanılmaktadır. SMALLDATETIME: 4 byte yer kaplar ve 1 Ocak 1990 ile 6 Haziran 2079 arasında değer almaktadır. DATETIME: Bu veri tipide aynı şekilde 4 byte yer tutar ve 1 Ocak 1753 ile 31 Aralık 9999 arasında değer alan veri türüdür.

İkili (Binary) Veri Tipleri Değerleri veritabanına binary halde saklamak için kullanılmaktadır. BINARY: dosyaları(binary data) saklamak için kulanılır. binary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. n bayt kadar yer kaplar. VARBINARY: dosyaları(binary data) saklamak için kullanılır. binary den farklı olarak boyutu kaydedilen dosyanın boyutuna göre değişir. varbinary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. varbinary(max) olarak kullanıldığında maksimum 2,147,483,647 bayt (2 GB) büyüklüğünde dosya kaydedilebilir. IMAGE: Bu veri tipi 2GB'ta kadar veri saklayan binary veri türüdür.

Diğer Veri Tipleri Yukarıda bahsedilen veri tipleri genel olarak tüm veritabanı yönetim sistemlerinde kullanılmaktadır. Bunların dışında kullanılan veritabanı yönetim sistemine göre desteklenen veri türleri devardır. TABLE: Sanal bir tablo gibi çalışan bir veri tipidir. TIMESTAMP: İçerisinde bulunduğu veritabanının, işlem takip sistemi gibi veri tiplerini saklayan veri tipidir. XML: Bu veri tipi MSSQL Server 2005 ile birlikte gelmiştir ve XML verilerini depolamak amacıyla kullanılan bir veri tipidir. 111 şeklinde xml dataları saklar ve tablo ve satırlarda sorgu yapmadan, query() metoduyla, kaydettiğimiz xml in içindeki datalara ulaşabiliriz. CURSOR: Bir sonuç kümesine satır veya hücre düzeyinde erişebilmemizi sağlayabilen veri tipidir. Uniqueidentifier: 6F9619FF-8B86-D011-B42D-00C04FC964FF gibi bir GUID tipindeki verileri tutar. C# taki karşılığı GUid tir. Guid, harf ve sayılardan oluşan eşsiz bir datadır. İkiGuid in birbiri ile eşit olmayacağı garantidir.

Veri tipleri genel olarak üçe ayrılır. Basit veri tipleri Karmaşık veri tipleri Özel veri tipleri

Veri tipleri genel olarak üçe ayrılır. Basit veri tipleri Metin, Sayı, Tarih-Zaman vb. bilgilerin tutulduğu veri tipleridir. Karmaşık veri tipleri Karmaşık veri tipleri nesne veri tiplerini kapsamaktadır. Farklı veritabanı yönetim sistemlerinde farklı tanımlamalar yapılmaktadır. Aşağıda karmaşık veri tiplerine birkaç örnek verilmektedir. İkili Nesneler (Binary Objects) Grafik gibi veriler veritabanında büyük yer kaplamaktadır. Bu tipteki verilerin saklanması çeşitli sorunlara neden olabilir. Bu nedenle bu gibi verilerin saklanması için ikili nesneler (binary objects) veri tipi kullanılmaktadır. Bu veri tipi ile depolama alanı azaltılarak büyük formattaki ses ve görüntü dosyaları gibi öğeler saklanabilmektedir.

Referans İşaretçileri (Reference Pointers) C programlama dilinde verinin diskte veya programcıda kayıtlı olduğu adres bilgisini belirten veri tipidir. Bazı veritabanı yönetim sistemi yazılımları veriyi diskte bir yerde tutarak, veritabanına sadece verinin diskte bulunduğu adresi kaydeder. Genellikle statik nesnelerin kaydedilmesinde kullanılır. Kullanıcı Tanımlı Veri Tipleri Bazı veritabanı yönetim sistemi yazılımları kullanıcıların kendilerine özgü veri tipleri tanımlamasına izin verir. Özel Veri Tipleri Karmaşık verilerin veritabanında tanımlanmasında kullanılan veri tipleridir. Örneğin XML verilerin, mekânsal verilerin ve multimedya nesnelerinin tanımlanmasında kullanılır.

Kısıtlayıcı (Constraint) Bir veritabanında saklanacak verinin belirli kısıtlamalarla girilmesini sağlayan kurallara kısıtlayıcı denir. Bunun için ilgili tabloda kısıtlamanın yapılacağı alana girilecek olan değerleri sınırlayan bir kural yazılır. Örneğin; alanın boş geçilmemesi, 0'dan büyük rakamların girilmesi vb. Kısıtlayıcılar kullanılarak tanımlanan alana yanlış verinin girilmesi engellenir ve verinin doğru şekilde kaydedilmesi sağlanır. Yanlış bir veri tabloya girilmek istendiğinde veritabanı yönetim yazılımı hata verir. Yanlış verilerin tabloya kaydedilmesi engellendiği için veri tutarlılığı sağlanmış olur. Örneğin il bilgilerinin bulunduğu tabloda plaka no girilen alan için rakamsal olarak 1 ile 81 arasında bir kısıtlayıcı tanımlanırsa, kullanıcı 1 ile 81 değerleri arasındaki değerler dışında veri giremeyecektir. Bu şekilde veri henüz giriş aşamasındayken kontrol edilerek doğru verinin girilmesi sağlanmış olur.

Kısıtlayıcı (Constraint) MS Access veritabanı yönetim sistemi yazılımı üzerinde il tablosu oluşturulmuş ve plaka no girilen alan için bir kısıtlama tanımlanarak kullanıcıların yanlış veri girişi engellenmiş ve plaka no alanına 1 ile 81 arasında verilerin girilmesi zorunlu hale getirilmiştir.

Anahtarlar (Key) Tabloları daha etkin bir şekilde kullanılabilmesini sağlayan, bir kayda ait bilgileri tek başına temsil edebilecek alanlardan biri veya birkaçı için tanımlanan özel bir çeşit kısıtlayıcıdır. Anahtarlar, "İlişkisel Veritabanı" yapılarının en temel bileşenidir. Anahtar olarak tanımlanan alan veya alanlara aynı verinin girilmesi mümkün değildir. Böylelikle aynı verinin birkaç kez girilmesi engellenerek veri tekrarının oluşması engellenir. Anahtar olarak belirlenecek alan veya alanlar belirlenirken dikkat edilmesi gereken en önemli nokta seçilen alanların gerçekten o kaydı temsil edip etmediğidir. Örneğin vatandaşların kimlik bilgilerinin tutulduğu kimlik paylaşım sistemi veri tabanında "T.C Kimlik Numarası", öğrenci bilgilerinin tutulacağı tabloda "Öğrenci No" alanı anahtar olarak seçilebilir. Çünkü aynı kimlik numarası ya da Öğrenci Numarasına sahip başka bir kişi olamaz. Bu alanlar anahtar alan olarak seçilerek tekrar kayıtlarında önüne geçilmiş olur.

Anahtarlar (Key) Dört çeşit anahtar bulunmaktadır. Birincil Anahtar Tekil Anahtar Bileşik Anahtar Yabancı Anahtar

Birincil Anahtar Tabloda bir ya da birden fazla alanın ortak olarak işaretlenmesiyle oluşan ve o kaydı temsil eden alanlardır. Birincil anahtar olarak tanımlanan alandaki verilerin tekrarlanmaması gerekir. Bir tabloda birincil anahtar kullanılarak yinelenen kayıtlar engellenmiş olur. Örneğin il tablosunda il plaka kodu birincil anahtar olarak tanımlanabilir.

Tekil Anahtar (Unique Key) Tabloda tekil anahtar olarak tanımlanan alana bir değer yalnızca bir defa girilebilir. Aynı değerin tekrar girilmesine izin verilmediği için veri tekrarının önüne geçilmiş olur. Birincil anahtardan tek farkı tekil anahtar olarak tanımlanan alan NULL (boş) değeri alabilir ve sadece bir alandan oluşur. Bileşik Anahtar (Composite Key) Bir tabloda birden fazla alan için anahtar tanımlaması yapılırsa bu anahtarlara bileşik anahtar adı verilir. Bu alanlar genelde birincil anahtarın kullanılmadığı veya kullanılmak istenilen verilere hızlı erişimin sağlanmasının istendiği durumlarda kullanılır. Kişi kimlik bilgilerinin tutulduğu veritabanında ad ve soyad alanları anahtar olarak tanımlanmıştır.

Yabancı Anahtar (Foreign Key) Yabancı anahtarlar da bütün anahtar tipleri gibi tabloda veri tutarlılığının sağlanması için kullanılır. Yabancı anahtar tanımlayabilmek için birbiriyle ilişkili olması planlanan en az iki tablonun olması gerekmektedir. İki tabloda da bulunan aynı alan yabancı anahtar olarak tanımlanabilir. Yabancı anahtar, tablolar arasında ilişki kurmaya yarar. Örneğin personel tablosu ile bordro tablosunu ele alalım. Personel tablosu ile bordro tablolarında personel no alanı aynıdır. Bu alan iki tablo arasında ilişki kurulmasını sağlar. Personel tablosundaki "Personel No" alanı birincil anahtar iken bordro tablosunda bulunan "Personel No" alanı yabancı anahtardır.

SORGULAR Veritabanında tüm işlemler sorgular yardımıyla gerçekleştirilir. Yeni bir veritabanının oluşturulması, tabloların yaratılması, veri ekleme, güncelleme ve silme işlemlerinin gerçekleştirilmesi vb. işlemler, sorgularla gerçekleştirilir. Sorgu yazım kurallarına uyulması, veritabanı performansı açısından önemlidir.

İNDEKSLER İndeksler tablolar için kullanılan veritabanı nesneleridir. Aranılan verilere daha hızlı ulaşmak için kullanılır. Özellikle üzerinde çok arama yapılacak alan veya alanlar üzerinde indeks oluşturmak, veritabanında yapılacak olan sorgulama işlemlerini hızlandırır. Veritabanındaki indeksler de kitapların arka sayfalarında bulunan indeksler gibi çalışırlar. Kitabın indeksinde kitapta bulunan konular ve bu konuların hangi sayfada olduğu ile ilgili bilgiler mevcuttur. Bu nedenle kitapta aranılan konuya kitabın indeksinden kolayca ulaşılabilir. İndeks sayesinde konuyu bulmak için tüm kitabı sayfa sayfa incelemeniz gerekmez. Böylelikle aradığınız bilgiye çok daha hızlı ulaşabilirsiniz. Veritabanındaki indeksler de benzer biçimde kayıtların yeri ile ilgili bilgileri kullanarak aranılan kayda çok daha hızlı ulaşılmasını sağlar.

İndex Türleri Birincil İndeks; Tabloda bulunan anahtar alan üzerinden gerçekleştirilen indeks türüdür. İkincil İndeks; Tabloda anahtar olmayan alanlar üzerinden gerçekleştirilen indekslere denir. İndeks Kullanmanın Yararları İndeksler tablodaki veriler üzerinde çalıştırılacak sorguların çok daha hızlı çalışmasını sağlarlar. Birkaç yüz kayıttan oluşan bir veritabanında sorgulama işleminin hızı sorun olmayabilir ancak kayıt sayısının çok fazla olduğu veritabanı sistemlerinde kesinlikle indekslere gereksinim vardır. İndeksler veritabanında sorgulama işlemlerinin performansını arttırır. İndeks Kullanmanın Zararları İndeks kullanımı veritabanında sorgulama performansını artırmak gibi önemli bir işlev görürken sakıncalarıda yok değildir. Veritabanında yapılacak her kayıt eklemesi ve güncellemesi ile birlikte indeks yeniden güncelleneceğinden veritabanında gerçekleştirilecek olan ekleme ve güncelleme işlemlerinin yavaşlamasına neden olacaktır.

İndeks Ne Zaman Kullanılır? İndeks kullanımının ne zaman yapılacağına karar vermek için veritabanında yapılacak sorgulama ve sıralama işlemlerinin hızı kontrol edilmelidir. Eğer bu işlemler istenilen hızdan yavaş gerçekleşiyor ise bu durumda indeks kullanılabilir. Ancak gereksiz indeks kullanımından kaçınılmalıdır. Veritabanına indeks eklemek veya indeksi kaldırmak veritabanı yönetim sistemleriyle kolayca yapılabilir. Bir veritabanında indeksin kaldırılması veri kaybına neden olmaz. Temelde indekslerin şuüçişlevi vardır; Sorgulama süresini kısaltır Tekil indeksler tabloda birincil anahtar alanlar oluşturarak veri bütünlüğünün sağlanmasında kullanılabilir. Veritabanında bulunan kayıtların tümkayıtlar içindeki sırasını gösterirler.

GÖRÜNÜMLER (VIEW) Görünümler veritabanı sistemlerinin önemli bileşenlerindendir. Birden fazla tablodan, belirli kurallara göre istenilen alanların seçilerek oluşturulduğu tablo görüntüleridir. Görüntü tablolarında veri bulunmaz. Oluşturulan, tablonun sadece görüntüsüdür. İlişkisel veritabanı yapılarında, verilerin görüntülenmesinde kolaylıklar sağlar. Görüntü tablosuna veri girişi, veri güncellemesi ya da veri silme işlemleri yapılamaz. Veri tablolarında yapılan değişiklikler birebir görüntü tablosuna yansır. Standart tablolara göre bazı avantajları vardır. Kısaca bunlar; Kullanıcıların tablonun sadece belirli alanlarını görmesi sağlanabilir. Birden fazla tablo çeşitli sorgularla birleştirilip istenilen veriler tek bir tablo olarak gösterilebilir. Tablolar birleştirilerek farklı bir tablo şeklinde sunulabilir. Kompleks veriler daha kolay şekilde gösterilebilir.

İLİŞKİLENDİRME (JOIN) Veritabanını oluşturan iki veya daha fazla tablo üzerinde birlikte sorgulama yapma işlemine ilişkilendirme denir. İlişkisel veritabanlarının en temel özelliği birden fazla tablo üstünde aynı anda birlikte işlem yapabilmektir. Birden fazla tablo üzerinde aynı anda işlem yapılabilmesi veri tekrarlarını önler ve verilerin yönetimini kolaylaştırılır. Tablolar üzerinde ilişkilendirme anahtar alanlar üzerinden gerçekleştirilir. Örneğin personel ve bordro tablolarını ele alacak olursak. Personel tablosunda personel kimlik bilgilerine bordro tablosunda da personel ile ilgili bordro bilgilerine ulaşılabilmektedir. Her iki tabloda da bulunan "Personel No" ile ilişkilendirilerek sorgulama yapılabilir. Bordro tablosunda bulunan "Personel No" kullanılarak personel tablosundan personel ile ilgili detaylara ulaşılabilir.

SAKLI YORDAMLAR (STORE PROCEDURE) Veritabanı içerisinde belirli işlevlerin gerçekleştirilmesi için tanımlanan kodlara saklı yordam (store procedure) adı verilir. Saklı yordam kendisine verilen parametreler ve sorgu yapısı doğrultusunda belirli işleri gerçekleştirir ve eğer varsa çıktı parametrelerini döndürür. Veritabanında saklı yordam kullanılması veritabanı performansını arttırır ve yapılan işlemlerin çok daha hızlı gerçekleşmesini sağlar. İşlemler sunucu üzerinde gerçekleştirdiği için veritabanı güvenliği için de önemlidir.

TETİKLEYİCİLER (TRIGGER) Tetikleyiciler, veritabanı yönetim sistemlerinde bir tablo üzerinde ekleme, silme ve güncelleme gibi işlemlerden biri gerçekleşmeden önce veya sonra çalışan ve belirli işlemleri, kodlandığı şekilde yerine getiren yapılardır. Örneğin; personel ücret tablosunda "Katsayı, Gün, Ücret" alanları olsun. Oluşturduğumuz tetikleyiciye "Katsayı" ve "Gün" alanlarından herhangi birinde ekleme ya da güncelleme işlemi gerçekleştirdiğinde "Ücret" alanına "Katsayı*Gün" işleminin sonucunu yazdırabiliriz. Ya da bu sonucu istediğimiz başka bir tabloya otomatik olarak kaydedebiliriz. İlişkili tablolarda karşılaşılan en büyük sorun ana tablodaki bir değişikliğin ilişkili tablolara yansımamasıdır. Tetikleyiciler yardımıyla bu sorunun önüne rahatlıkla geçilebilir.