Professional Documents
Culture Documents
Veri Nedir?
Veri taban (Database) kavramna girmeden nce veriyi ksaca tanmlamak nemlidir. Veri, (data) bir veya birden fazla bilgiden oluan bir kmedir. sim, ya, telefon numaras, bir toplama ileminin sonucu ya da bir snfn ya ortalamas birer veridir. Bir veritaban yaps ierisinde tutulan bilgilere veri denilmektedir. Bilgisayar ortamna aktarlan, ilenmemi (ham) bilgiler de veri olarak adlandrlabilir. Bilgisayara girilen, bilgisayar tarafndan saklanabilen ve ilenebilen hereye veri denir.
2/34
3/34
Veri taban (Database) temel olarak farkl tiplerdeki verileri dzenli bir ekilde saklamamz ve kullanmamz salayan depolama ortamdr. Bu ortam ierisinde verileri saklayabilir, onlara kolay bir ekilde ulaabilir ve gerektiinde bu verilerin zerinde deiiklikler yapabiliriz. Veri taban, veriler arasnda btnlk ve dzen salarken, veriye hzl eriim ve bakm kolayl da sunar. Bu sistemin kullanlmas sonucu veriyi hatasz ve salkl bir biimde ilemek de kolaylar. Bir veri taban sistemi zerinde istediimiz verileri depolayabilir, depolanan verileri arrken baz artlar belirtebilir, verileri deitirebilir veya silebiliriz. lerleyen konularda reneceimiz T -SQL dili ile aadaki rnekleri ok basit bir ekilde gerekletirebileceiz: Burak Batur isimli mterinin bor bilgisine 1,5 YTL fiyatyla 2 adet margarin ekle. Burak Batur isimli mterinin satn ald tm rnlerin listesini getir. Ercan Bozkurt isimli mterinin 1 Ocak 2011 ile 10 ubat 2011 tarihleri arasnda satn ald tm rnleri getir. Ferda Demir isimli mterinin toplam bor bilgisini getir. Tm mterilerin toplam bor bilgisini getir.
Bu rnekleri geniletmemiz ve arttrmamz elbette mmkn. Fakat imdilik bu rnekler bir veri taban sistemi zerinde ne gibi ilemler yapabileceimizi grmemiz asndan yeterli bir temel tekil edecektir. Gnmzde veritabanlar hemen hemen her alanda sklkla kullanlmaktadr. Bu alanlara rnek verecek olursak; Kiisel adres defterleri Telefon rehberi TV rehberi Online szlkler Ktphane sistemleri deme ve bor sistemleri rn sat ve sipari sistemleri E-Ticaret siteleri Banka sistemleri Okul sistemleri Hastane sistemleri
gibi birok alanda gerekli bilgiler veritabanlarnda tutulmaktadr. rnein bir ktphan eden dn aldmz kitaplarla ilgili olarak, kitap ad, al tarihi, geri veri tarihi gibi bilgiler veri tabanndaki bir tabloda tutulmaktadr. Ktphanedeki grevli istedii zaman kaytl bir kullanc ile ilgili bilgilere ulaabilmektedir.
4/34
5/34
Veri Taban Ynetim Sistemleri (DataBase Management System - DBMS), veri tabannda tutulacak olan verilerin uyaca standartlar, bu verilere nasl eriilebileceini ve verilerin disk zerinde nasl tutulacan belirleyen sistemlerdir. Bu sistemler araclyla verilerin btnl ve gvenlii salanmaktadr. Programlarn veya sistemlerin veri taban ierisindeki verilere kolay ve hzl bir ekilde eriebilmesini ve verileri yedekleyebilmesini salamaktadr. Bu sistemler, birden fazla veri taban zerinde ilemler yapabilecek ekilde tasarlanmtr. Bunlarn yansra, olabilecek felaket senaryolar (disaster case) karsnda, veri tabannn sorunsuzca ileyebilmesi iin tedbirler almaktadr.
6/34
7/34
8/34
SQL Server Management Studio, Microsoft tarafndan SMO (SQL Server Management Object) ktphanesinden yararlanlarak Visual Studio ile .NET Framework kullanlarak gelitirilmitir. SQL Server Management Studioyu amak iin Trke iletim sistemlerinde Balat > Programlar > Microsoft SQL Server mensnden SQL Server Management Studio uygulamasn balatmalsn. Management Studio aldnda karmza ilk olarak bir SQL Server sunucusuna ulamamz iin bir balant penceresi gelecektir. Bu pencereden Server Type, Server Name ve Authentication seeneklerinden balanacamz sunucunun zelliklerine gre uygun seenekleri girerek balant yapabiliriz. Kendi bilgisayarmzdaki SQL Server sunucusuna balanmak istediimizde, Server Name ksmnda makina admz ve bilgisayarmzda kaytl olan SQL Servern ismini (instance name) yazmamz gerekir. Uzak bir bilgisayar zerindeki SQL Server sunucusuna balanmak iin ise Server Name ksmna balanlacak bilgisayarn IP numaras veya uzak sunucudaki SQL Servern alan ad (domain name) yazlr. Windows zerinde o an giri yapm olan kullancnn hesab ile balant yapmak iin Windows Authentication seeneini sememiz yeterli olacaktr. Balanlacak SQL Server zerindeki bir kullanc ile giri yapmak iin ise SQL Server Authentication seip sunucuya balanma yetkisi olan kullanc ad ve ifreyi girmemiz gerekecektir. Connect butonuna tkladmzda girilen bilgiler doru ise SQL Server sunucusuna balanlacaktr.
SQL Server Management Studio balant ekran Management Studio ile bir SQL Server sunucusuna balandmzda karmza gelen arayzde Object Explorer, Template Explorer ve Object Explorer Details pencereleri yer alabilmektedir. (Bu pencerelerden herhangi biri ak deilse, View mensnden alp tekrar kapatlabilir.)
9/34
SQL Server Management Studio genel grnm Object Explorer: Bal bulunan SQL Server sunucusu zerinde bulunan tm nesneleri (veritabanlar, tablolar, kullanclar vb.) aa yaps biiminde grntlememizi ve bu yaplarn ierisinde gezinmemizi salar. Yine Object Explorer zerinden yeni veri taban oluturma, tablo ekleme, varolan nesneleri silme gibi ilemler yaplabilmektedir. Grntlenen nesneler zerinde filtreleme ilemleri yaplabilmektedir. Management Studio ile birden fazla SQL Server sunucusuna balanabilir, bal bulunduun tm sunucular Object Explorer penceresi ierisinde grntleyebilir ve zerlerinde ilemler yapabilirsin. Object Explorer zerinde yapabilecein baz temel ilemler unlardr: Yeni bir SQL Server sunucusuna balanmak iin Object Explorer penceresinin sol st kesinde yer alan Connect butonu aracl ile ayn anda birden fazla SQL Server sunucusuna balanlabilir. Bal olduun SQL Serverda sorgu altrmak iin, sunucu adnn zerine sa tklayp New Query seenei seilir. Bir veritaban zerinde sorgu altrmak iin o veritabannn zerine sa tklayp New Query seenei seilir. Veritabanna yeni bir tablo eklemek iin veritaban iindeki Tables ksmnda sa tklayarak New Table seenei seilir. Bir tablonun yapsn incelemek ve deiiklikler yapmak iin tablo zerine sa tklayp Design seenei seilir. Bir tablo ierisindeki kaytlar grmek iin tablo zerine sa tklayp Select Top 1000 Rows seeneini kullanmak gerekir.
10/34
Object Explorer Details: Bu ekranda ise Object Explorer ierisinde o an iin seilmi olan nesnenin ierii grntlenmektedir. Pencerenin kendi ierisinden bir stteki veya bir alttaki yaplara ulalabilir. Veri taban ierisinde gezinme ilemlerini daha kolay hale getirmek iin bu pencere kullanlabili r. Template Explorer: SQL Servern ierisinde gelen ve baz ilemleri basit bir ekilde yapmamz salayan sorgu ablonlar(template) bulunmaktadr. Bu ablonlar ierisinde birok ilevi yerine getiren SQL sorgu cmleleri bulunur. Template Explorer ierisindeki sorgu ablonlarn ap gerekli deiiklikleri yaparak sorgular altrlabilir ve hzl bir ekilde ilemler gerekletirebilirsin. ablon ierisinde deitirilmesi gereken parametreler, Query mensnden Specify Values for Template Parameters seenei ile kan pencerede gerekli parametreler girilerek dzenlenebilir.
Specify Values for Template Parameters ekranndan template ierisindeki parametreler kolay bir ekilde deitirebilir Management Studioda SQL Komutlar ile almak
Management Studio ierisinde SQL komutlar altrmak iin komutlarn altrlaca veritaban zerine sa tklayp New Query seeneini semelisin. Alan pencerede, SQL cmleleri yazp, tes t edebilir ve altrlabilirsin. Yazlan SQL sorgularn test etmek iin Query mensnden Parse seeneini kullanabilir veya CTRL+F5 tu kombinasyonunu ksayol olarak kullanabilirsin. Test etme ilemi sadece yazlan kodlarn doru olup olmadn kontrol etmek iin yaplan bir ilemdir. Test edilen kodlar altrlmaz, yani veri taban veya tablolar zerinde herhangi bir ilem gereklemez. Test ilemi sonucunda eer yazm olduun SQL ifadelerinde bir hata varsa, alt ksmda alan bir pencerede hatann neden kaynakland ve kodun neresinde olutuunu grebilirsin. Hazrladn SQL ifadelerini altrmak iin ise Query mensnden Execute seeneini seebilir veya F5 tuunu ksayol olarak kullanabilirsin. Test ileminden farkl olarak altrma ileminde veritaban hazrlanan sorgu sonularndan etkilenecektir. Sorgu altrma ekrannda birden fazla SQL ifadesi yazabilir ve bunlardan sadece istediin ksm altrabilirsin. altrmak istediin SQL kodlarn seerek Execute (F5) ilemini yaparak, sadece seili alandaki kodlar altrabilirsin.
11/34
12/34
13/34
14/34
ifadeleridir. CREATE nesne oluturmak, ALTER var olan bir nesne zerinde deiiklikler yapmak, DROP ise varolan bir nesneyi kaldrmak iin kullanlmaktadr. CREATE Veri taban zerinde nesne oluturmak ya da tanmlamak iin kullanlan komuttur. Oluturulacak nesnenin zelliklerine gre farkl parametreler alabilmektedir. Genel kullanm u ekilde olmaktadr: CREATE NESNETP Nesne Ad (Nesneye ait gerekli tanmlamalar) Aada CREATE ifadesi ile ilgili inceleyebilecein rnek bir kullanm bulunmaktadr. CREATE DATABASE Universite ON ( NAME = Universite, FILENAME = 'C:\universite.mdf', SIZE = 4mb, MAXSIZE = 10mb, FILEGROWTH = 1mb ) Yukardaki ifadede Universite adnda yeni bir veri taban oluturuyoruz. ON ( ) ksmnda oluturulan veri tabannn zellikleri belirleniyor. NAME deeri ile oluan birincil veri taban dosyasnn adn, FILENAME deeri ile veri taban dosyasnn nereye ve ne isimle yazlacan, SIZE deeri ile dosyann balangta diskte ne kadar yer kaplayacan, MAXSIZE ile dosyann diskte en fazla ne boyuta kadar byyebileceini, FILEGROWTH ile de dosyann ne kadarlk boyutlarla byyeceini belirlemektedir. Sadece CREATE DATABASE Universite ifadesini kullanarak ta Universite isimli bir veri taban oluturabiliriz. Bu durumda oluturacamz veri taban sistem tarafndan atanm olan varsaylan ayarlamalara gre oluturulacaktr. ALTER Varolan bir nesne zerinde deiiklikler yapmak iin kullanlr. CREATE komutunda olduu gibi deitirecei nesneye gre farkl parametreler alabilmektedir. Genel kullanm aadaki gibidir. ALTER NESNETIPI Nesne Ad Yaplacak Deiiklik Aadaki rneklerde ALTER ifadesi kullanlarak varolan bir tablo zerinde nasl deiiklikler yaplabilecei gsterilmitir.
15/34
ALTER TABLE Ogrenci ALTER COLUMN AdSoyad NVARCHAR(30) NOT NULL Yukardaki rnek ALTER ifadesine ainalk salamak amacyla verilmitir. DROP Veri tabanndaki herhangi bir nesneyi silmek iin kullanlr. Silinen nesne ile ilgili olarak ierisinde tuttuu tm bilgiler de silinmektedir. rnein bir tablo silindiinde ierisindeki tm bilgiler de veri tabanndan silinecektir. Kullanmnda dikkat edilmesi gereken bir sorgu ifadesidir. Genel kullanm aad aki gibidir. DROP NESNETIPI Nesne Ad Aadaki rneklerde DROP ifadesi kullanlarak varolan tablolarn nasl silinebilecei gsterilmitir. zerinde alm olduunuz veritabannda herhangi bir veri kayb yaamamak iin, nce geici olarak ilevi olmayan bir veritaban oluturup, sonra bu nesneyi DROP sorgusu ile nasl silebileceimizi grelim. CREATE DATABASE TestVeritabani GO
Yukardaki ifade ile TestVeritabani adnda bir veri taban oluturulur. GO komutu ncelikle CREATE DATABASE TestVeritabani sorgusunun almasn salar. GO ifadesi bir sorguyu altr anlamnda kullanlmaktadr. Yukardaki sorguda iki farkl sorgu cmlesi bulunmaktadr ve buradaki ikinci cmlenin alabilmesi iin ncelikle TestVeritabani isimli bir veri tabannn oluturulmas gerekmektedir. GO ifadesi nce ilk sorgunun almasn salamaktadr.
DROP DATABASE TestVeritabani DROP DATABASE ifadesi ile TestVeritabani isimli veri taban silinmektedir.
16/34
17/34
DENY Kullancnn belirli bir alana eriimini engellemek veya belirli T -SQL ifadelerini altramamasn salamak amacyla kullanlr. REVOKE Daha nceden GRANT veya DENY ile verilmi yetki veya engelleri kaldrmak iin kullanlr. Veri kontrol ifadelerini altrabilmek iin veri tabanna bal olan kullancnn sysadmin, dbcreator, db_owner veya db_securityadmin rollerinden birine sahip olmas gerekmektedir.
18/34
19/34
simlerinden de anlalaca gibi, SELECT tablolardan veri seme/getirme ilemini, INSERT tablolara ver i ekleme ilemini, UPDATE varolan veriler zerinde deiiklik yapma, gncelleme ilemini, DELETE ise varolan verilerin silinmesi ilemini gerekletirmektedir. SELECT Bir tablo ierisindeki verilerin tamamn getirir veya belirli artlara gre bir ksmn filtreleyerek seme ilemlerini gerekletirir. Genel kullanm ekli aadaki gibidir. SELECT SeilecekAlan1, SeilecekAlan2 FROM TabloAd rnek Kullanm: Ogrenci tablosundaki tm kaytlarn OgrenciID ve AdSoyad bilgileri aadaki sql ifadesi ile elde edilebilir. SELECT OgrenciID, AdSoyad FROM Ogrenci
INSERT Bir tablo ierisine yeni bir veri eklemek iin kullanlr. Genel kullanm aadaki gibidir. INSERT INTO TabloAd (VeriEklenecekAlan1, VeriEklenecekAlan2, ...) VALUES (EklenecekDeer1, EklenecekDeer2, ...) rnek Kullanm: Ogrenci tablosuna, renci numaras 115874 olan 101 numaral blmden Ercan Bozkurt isimli renci, aadaki sql ifadesi yardmyla eklenebilir. INSERT INTO Ogrenci (OgrenciID, AdSoyad, BolumID) VALUES (115874, 'Ercan Bozkurt', 101)
UPDATE Bir tablo ierisinde bulunan verilerin deitirilmesi iin kullanlr. Genel kullanm aadaki gibidir.
20/34
UPDATE TabloAd Set GuncellenecekAlan1 = YeniVeri1, GuncellenecekAlan2 = YeniVeri2 WHERE Koul veya koullar rnek Kullanm: Ogrenci tablosunda ogrenci numaras 115874 olan rencinin blm kodunu 102 olarak deitirmek iin aadaki sql ifadesinden yararlanlabilir. UPDATE Ogrenci SET BolumID = 102 WHERE OgrenciID = 115874
DELETE Tablo ierisinde bulunan bir kayd veya kaytlar silmek iin kullanlr. Genel kullanm ekli aadaki gibidir. DELETE FROM TabloAd WHERE Koul veya koullar rnek Kullanm: Ogrenci tablosundaki 115874 numarasna sahip rencinin kaydn silmek iin aadaki sql ifadesinden yararlanlabilir. DELETE FROM Ogrenci WHERE OgrenciID = 115874
21/34
22/34
DML ierisindeki create komutunu kullanarak veritaban oluturabilecein gibi, Management Studio arayzn kullanarak da veritaban oluturabilirsin. Kod Kullanarak Veritaban Oluturmak Management Studio ile veritabanna balant saladktan sonra sol st blmde yer alan New Query seenei ile sorgular yazabilecein sayfay aabilirsin. Burada create database Universite ifadesini yazp, F5 ksayolu ile altrarak, varsaylan ayarlarla Universite isimli bir veritaban oluturabilirsin. Arayz zerinden Veritaban Oluturmak Management Studio ierisindeki Object Explorer blmnde yer alan databases alanna sa tklayp New Database seeneini seerek, yeni veritaban oluturma penceresini aabilirsin. Sonrasnda bu penceredeki Database name alanna oluturmak istediin veritabannn adn verip, OK butonuna tklaman yeterli olacaktr.
23/34
24/34
ATTACH ve DETACH komutlar bir SQL Servern ynetimindeki veritabann SQL Serverdan ayrmak (DETACH) ya da SQL Server zerine daha nceden oluturulmu bir veritabann eklemek (ATTACH) amacyla kullanlrlar. Detach lemi Bir veritabann SQL Serverdan ayrmak iin, Management Studio ierisinde veritaban adnn zerine sa tklayp, Tasks blmnden Detach seeneini emelisin.
Sonrasnda, alan Detach Database ekrannda Drop Connections seeneini iaretleyip OK butonuna tklayarak ilemi tamamlayabilirsin.
Attach lemi
25/34
Mevcut bir veritaban dosyasn SQL Servera eklemek iin, Object Explorer ierisindeki Databases blmne sa tklayp Attach seeneini semelisin.
Sonrasnda alan Attach Databases ekrannda Add butonunu kullanarak, yeni gelen pencerede ekleyecein veritabann semelisin. Ardndan OK tuu ile mevcut pencereyi kapatp ilk ekrana dnyor olacaksn. Burada bir kez daha OK tuunu kullanarak ilemleri tamamlayabilirsin. Eklenen veritaban, Object Explorer ierisinde Databases bal altnda grlebilir.
SQL
imdi, rneklerde uygulama srasnda kullanlmak zere hazrlanm, Universite ve Sirket veri tabanlarn Servera eklemelisin (attach). Bu veri tabann aadaki adresten indirebilirsin. http://www.myenocta.com/enocta/3563/attachments/Universite.zip http://www.myenocta.com/enocta/3563/attachments/Sirket.zip
26/34
27/34
real money
28/34
Microsoft, Sql Servern 2005 srmnden itibaren, image, text ve ntext veri tipleri yerine varbinary(MAX), varchar(MAX), nvarchar(MAX) trlerinin kullanlmasn tavsiye etmektedir. Veri tipleri ile ilgili daha detayl bilgi almak iin aadaki MSDN linkini kullanabilirsiniz. http://msdn.microsoft.com/en-us/library/ms187752.aspx
29/34
30/34
Tablolar (Tables)
Tablolar verilerin saklanmasn salayan, alanlar (stun-column) ve satrlardan (row) oluan birimlerdir. Tablo, ilikisel veritabanlarnda temel veri depolama nesnesidir ve bilgiler tablolarda saklanmaktadr. Tablo ierisinde her satr bir kayd temsil etmektedir. Alanlar ise kaytlara ait zellikleri tamaktadrlar. rnein bir renciye ait kaytta okul numaras, renci ad ve renci soyad bilgilerini temsil eden 115874, Ercan, Bozkurt gibi bilgiler tutulabilmektedir. Burada renci numaras, renci ad ve soyad birer alan, bu verinin tamam ise bir satr, yani bir kayd oluturmaktadr. (Aadaki ekilde bir tablo zerinde satr ve alan gsterilmitir.) Bir tabloda en az bir tane alan bulunmas gerekmektedir. Tabloda satrlar olabilecei gibi hibir satr olmayabilir de. Yani tablomuzda hi veri tamayacamz durumlar olabilir. Tablo ierisinde kaytlara ait bilgileri tutacak olan alanlarn hangi veri tipinde veri saklayabilecei de belirlenebilmektedir. Yukardaki renci rneindeki kaytlarda, renci ad ve soyad bilgileri metinsel bir ifade, renci numaras da rakamsal bir ifade iersin gibi
Bir tablo zerindeki satrlar ve alanlar Yukardaki ekilde 1 numara ile belirtilmi ksm satr, 2 numara ile belirtilmi ksm ise alan olarak adlandrlr. 1. Satr (Row): Tabloda bulunan bir kayt. 2. Alan (Stun-Column): Bir kayda ait zellik. rnein; Kaytl rencinin ad. Tablolar tasarlanrken ierecekleri bilgi trlerine gre gruplandrlmaldr. Daha nce ksaca ele aldmz rnei dnecek olursak, bir niversitenin veri taban Faklte, Blm ve renci gibi tablolardan oluabilir. Blm ve renci bilgileri birbirinden farkl eyler olduu iin, ayr tablolarda tutulmas hem veri btnl asndan, hem de veriye eriimin daha kolay ve hzl olmas asndan nemlidir. sterseniz imdi rnek olarak Blm ve renci tablolarn oluturalm. Ardndan da bu tablolarn yaplarn ve ieriklerini inceleyelim. Bolum Tablosu BolumAd Bilgisayar Mhendislii Bilgisayar retmenlii Mimarlk Fizik
Bol umId 10 1 10 2 10 3 10 4
Ogrenci Tablosu
31/34
Bolum ve Ogrenci tablolar ve ierdii bilgiler Bolum tablosu 2 alan (stun) ve 4 satrdan (kayt), Ogrenci tablosu ise 4 alan ve 4 satrdan olumaktadr. Bu ekilde birbirinden farkl ierikleri olan blmler ve renciler farkl iki tabloda depolanm oldu. Yine Ogrenci adl tablodaki BolumId alanna dikkat edilecek olursa, rencinin hangi blmde bulunduu bilgisinin Bolum tablosundaki BolumId ile ilikilendirilmi olduu grlebilir. (Buradaki 101, 102 eklindeki ifadeler aslnda Bolum tablosundaki Bilgisayar Mhendislii, Bilgisayar retmenlii gibi blmleri temsil etmektedir.) Bolum tablosunda BolumId ve BolumAd dnda, blm adresi, blm bakan, blmn bal olduu faklte gibi bilgileri de tuttuumuzu varsayarsak, bu bilgileri rencilerin bilgileri ile ayn tabloda tutmak hem gereksiz yere verilerin tekrarlanmasna, hem de veri karklna sebep olacakt. liki diyagramlarnda bir tablo ile dier tablo arasndaki iliki aadaki ekilde olduu gibi belirtilir.
Bir renci ve bir blm arasndaki ilikinin ekille gsterimi Tablo ve alan isimlendirilirken dikkat etmemiz gereken baz hususlar vardr. Microsoft SQL Server 2005ten nceki versiyonlarda ayn veri taban ierisinde ayn isme sahip sadece bir tablo bulunabilirken, Microsoft SQL Server 2005 ile gelen ema (schema) kavram sayesinde bu kst alabilmektedir. Bununla birlikte, bir tablo ierisinde ayn isme sahip sadece bir alan bulunabilir. Tablo ve alan isimleri ierisinde rakam veya harfler dndaki karakterlerin kullanlmamas tavsiye edilmektedir. (*) simlerin rakam ile balamamas tavsiye edilmektedir. (*)
(*) Tavsiye edilmeyen durumlarda kullanlacak isimlerin ancak [ ] iaretleri arasna alnarak kullanlmasna izin verilmektedir.
Tablo oluturmak
Management Studio arayzn kullanarak tablo oluturmak iin Databases bal altndaki Tables blmne sa tklayp New Table seeneini seebilirsin. Alan ekranda kolon adlar , veri tipleri ve ilgili kolona deer girilmemesine (null) izin verilip verilmemesi gibi tanmlamalar yaptktan sonra , stteki menden Save (disket ikonu) seenei ile tabloyu oluturabilirsin. Save butonuna bastnda alan ekrana tabloya vermek istediin ad yazmalsn.
32/34
Konu : Anahtarlar
33/34
Anahtarlar (Keys)
Bir kayt ierisinde farkllklar ve nitelikleri gsteren belirleyicilere anahtarlar (keys) denir. Farkl ieriklere sahip olacak verileri farkl tablolarda depolayarak yapabileceimiz birok ii kolaylatrabiliyorduk. Benzer ekilde, tablodaki kaytlar da birbirinden ayrt edebilmek iin tablo iindeki alanlara belirli anahtarlar atayarak birok ilemi kolaylatrabilmekteyiz. Bir tablo ierisinde bulunabilecek anahtarlar, birincil anahtar (primary key), tekil anahtar (unique key), referans anahtar (foreign key) ve birleik anahtardr. (composite key) Birincil anahtar (Primary key): Bir tablo ierisindeki satrlar birbirinden ayrt eder. Birincil anahtar olan bir veri ayn tablo ierisinde tekrarlanamaz. Yine bu alandaki veri bo braklamaz, yani NULL deeri alamaz. Tek bir alan birincil anahtar olabilecei gibi baz tablolarda birden fazla alann birlemesiyle birincil anahtar oluabilir. (Bu aslnda az sonra greceimiz birleik anahtardr) Tekil anahtar (Unique key): Tablonun tekil anahtar olarak tanmlanm bir alanna ayn deer sadece bir kez girilebilir. Birincil anahtardan farkl olarak, tabloda bu alana ait sadece bir kayt NULL deeri alabilir. Birincil anahtar ayn zamanda tek anahtar olarak saylabilir fakat tek anahtarlar birincil anahtar deildirler. Referans anahtar (Foreign key): Tablodaki bir veriyi baka tablodaki bir veri ile ilikilendirir. ki tablo arasnda yaplan bu ilikilendirme ile referans anahtar olarak tanmlanm alana sadece ilikilendirdii tablonun alanndaki veriler eklenebilir. Birleik anahtar (Composite Key): Birden fazla alann birletirilmesiyle birincil anahtar grevini stlenecek tanmlamalar yaplabilir. Bunlar birleik anahtar olarak adlandrlr.
Ogrenci tablosu zerinde bulunan anahtarlar OgrenciID her renci iin tek ve belirleyici bir unsur olaca iin Ogrenci tablosunda birincil anahtar olarak belirlenmitir. Yine EMail her renci iin tek olaca iin bu alan tablo iin tekil anahtar olacaktr. Daha nceki rneimizden hatrlayacanz gibi BolumID, Bolum tablosunun BolumID alan ile ilikilendirilmiti. Ogrenci tablosunun bu alanna sadece Bolum tablosundaki deerleri alabilmektedir. Baka bir tablodaki anahtar ile ilikilendirildii iin tablonun referans anahtar olmutur.
Bu ders notu, Ak Akademi projesi erevesinde TCM tarafndan Microsoft Trkiye iin hazrlanmtr. Tm haklar Microsoft Trkiye ye aittir. zinsiz oaltlamaz, para ile satlamaz.
34/34