Modl4-1 Veri Tabanna Giri ve Temel Veri taban Kavramlar

  • Published on
    03-Jan-2016

  • View
    54

  • Download
    0

Transcript

  • ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Tabanna Giri

  • 2/34

    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.

    Veri Neden Saklanr? Veri saklamaktaki ana ama, daha ileri bir tarihte saklanan verilere yeniden ulaabilmek ve

    kullanabilmektir. Kullanma sreci sadece verinin listelenmesi gibi basit bir ilem olabilecei gibi, veriler zerinden hesaplamalar yaplarak raporlar hazrlanmas gibi daha karmak bir ilem de olabilir. imdi sra geldi veriyi nasl saklayabileceimizi renmeye.

    Veri Saklama Yntemleri Verileri saklamak iin eitli ortamlar tercih etmek mmkndr. Verilerin klasik yntem ile kalem

    kullanarak bir dosya kadna satr satr yazlmas da bir veri saklama yntemidir, bilgisayar zerinde notepad kullanarak metin tabanl basit bir dosyada depolanmas da bir veri saklama yntemidir. Daha dzenli ve detayl bir ekilde veri saklamamz salayacak yntemler arasnda, tablo yapsnda veri saklamamz salayan Excel ve Access gsterilebilir. Veri saklama ilemini bir rnek ile detaylandralm:

    Bakkal ve marketlerde veresiye sat yapldnda mterinin ald rnlerin ad, miktar, fiyat gibi bilgiler bir veresiye defteri ierisinde mteriye ait bir sayfada saklanr. Bu ekilde bakkaln sahibi, gerektiinde ilgili mterinin sayfasn ap hangi rnlerden ne kadar miktarda aldn ve bor toplamnn ne kadar olduunu hesaplayabilir. Fakat verinin bu ekilde saklanmas birok adan kt sonulara yol aabilir. Verilerin kttan yaplm bir defterde tutulmas dzensizliklere ve karklklara yol aabilecei gibi yrtlma, slanma, kaybolma gibi veri kaybna sebep olabilecek risklere de aktr. O zaman gelin biz bu defterdeki verileri bilgisayar ortamnda saklayalm. Bilgisayarmzda veresiye adnda bir klasr oluturalm. Bu klasr ierisine Notepad gibi bir metin editr ile her mterimiz iin bir metin dosyas aalm. Atmz dosyalarn adlarna, daha sonra kolay bir ekilde ulaabilmek iin bir numara verelim. (rnein Ahmet isimli mterimiz iin 302 numarasn verelim) Bu metin dosyasndan faydalanarak, defterde tuttuumuz verileri daha dzenli bir ekilde saklayabiliriz. Bu bilgileri dzenli bir ekilde kaydedip, yedekleyerek bamza gelebilecek veri kayplarn da en aza indirebiliriz.

    kinci senaryomuz, yani verileri bilgisayarda saklamamz ilk senaryodaki veresiye defterine gre elbette ki daha esnek, hzl ve salkl bir yntem olacaktr. Fakat bir metin dosyas zerinde girilen verilere mdahale etme ansmz pek olmayacaktr. rnein cret bilgisinin yazlaca alana 40, 40,5 veya krk gibi farkl tipte veriler girilebilir ya da cret ksm bo braklabilir. Bu ekilde kaydedilen bir dosyann daha sonra baz karklklara yol aabilme riski yksektir. Peki, bu bilgiler zerine yeni veri eklemek, istediimiz kstaslara gre veri semek, var olan veriyi deitirmek veya veriler zerinde ilemler yapmak istediimizde ok iyi sonulara ulaabilir miyiz? Elbette ki bu tip ilemleri metin dosyas zerinde yapmamz biraz olsun iimizi kolaylatracaktr. Fakat Daha iyi bir yol olabilir mi? diye dnecek olursak cevab kesinlikle Evet olacaktr.

  • 3/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Taban Nedir?

  • 4/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 ktphaneden 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.

  • 5/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Taban Ynetim

    Sistemleri

  • 6/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.

    likisel Veri Taban Ynetim Sistemleri Gelien bilgi teknolojileri ile birlikte, veri taban sistemlerinde de birok yenilikler olmutur. lk veri

    taban sistemlerinde veriler geliigzel bir ekilde depoland iin veriler zerinde deiiklikler yapmak zor bir ilemdi. Kullanclarn veriler zerinde deiiklik yapabilmesi iin veri tabannn yapsn iyi bilmesi gerekiyordu. Yine bu sistemler tam olarak veri btnln ve gvenliini salayamyordu. Gnmzde en yaygn olarak kullanlan veri taban mimarisi olan ilikisel veritabanlarnda ise veriler tablolar, satrlar ve alanlar halinde tutulmaktadr. Bu sayede veriler arasnda ilikilendirmeler yaplabilmekte, verilerin kullanm ve ynetimi daha verimli hale getirilmektedir. likisel veri taban mimarisini kullanan sistemlere ise likisel Veri Taban Ynetim Sistemi (Relational Database Management System - RDBMS) ad verilmektedir. Gnmzde en sk kullanlan ilikisel veri taban ynetim sistemleri arasnda Microsoft SQL Server , Oracle , Microsoft Access , PostgreSQL , Sybase , MySQL , Berkeley ve Firebird gsterebiliriz.

    Bir veri tabann doru bir biimde tasarlayabilmek iin varlklar arasndaki ilikileri (entity relationship)

    iyi ekilde kavramak gerekmektedir. Verileri gerek hayat ile ilikilendirip, aralarndaki balantlar oluturup, veri tabannn mantksal ablonu karlmaldr. SQL Server gibi bir RDBMS ile hazrlanan veri tabannda yer alacak veriler, tablolar ve alanlar (stunlar) ierisinde tutulur. Tablolara kaydedilecek olan verilerin kendilerine ait uygun veri tipleri belirlenip, girilecek olan deerler iin baz snrlandrmalar getirilebilir. Yine veriler arasnda ilikilendirmeler yapp, veri tabanna ilikisel bir yap kazandrlabilir. SQL (Structered Query Language) dili ile sorgular oluturarak RDBMS zerinden veri taban ile iletiim kurulabilir.

    Veri taban tasarlanrken, verilerin gerek dnyada aralarnda olan ilikilerini gz nne aldmzda,

    verileri ilikilendirmemiz daha da kolaylar. rnein bir niversite iin temel olarak faklteleri, blmleri ve rencileri ele aldmzda blm ile faklte arasnda ve renci ile blm arasnda baz ilikiler olacaktr. Alt birimden st birime doru bir sralama yaptmzda renci-blm-faklte gibi bir ilikilendirme ortaya kmaktadr. Byle bir senaryoda, veri taban tasarlanrken renci, blm ve faklte arasndaki ilikiler ele alnarak tablolar tasarlanabilir ve gerekli ilikilendirmeler yaplabilir. Aadaki ekilde renci, blm ve fakltenin ilevleri ve aralarndaki ilikilerin ekle dklm hali bulunmaktadr.

    Faklte, blm ve rencilerin ekil zerinde tanmlanmas

    ve ilikilendirilmesi

  • 7/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    SQL Server Management

    Studio

  • 8/34

    SQL Server nereden indirilir? http://www.microsoft.com/download adresini taraycnda ap, arama kutusuna sql server 2008 r2

    express yazarak arama ilemini balattktan sonra, gelen sonular arasndan Microsoft SQL Server 2008 R2 RTM Express with Management Tools linkini takip ederek indirme sayfasna ulaabilirsin. Bu sayfada iletim sistemine uygun olan srm (32-bit veya 64-bit) indirebilirsin. Detaylarn anlatld videoyu izlemek iin aadaki simgeye tkla.

    SQL Server Kurulumu SQL Server kurulumu ile ilgili detaylar kurulum videomuzda bulabilirsin.

    SQL Server Management Studio Veri taban zerinde gerekletirilecek olan ilemleri, programlama dilleri araclyla yapabildiimiz

    gibi SQL Server Management Studio uygulamasyla da gerekletirebiliriz. SQL Server Management Studio, Microsoft SQL Server 2008 R2 RTM Express with Management Tools kurulumu srasnda makinana yklenecektir.

    SQL Server makinanda daha nceden kurulu ise ve sen sadece Management Studioyu indirmek

    istiyorsan; http://www.microsoft.com/download adresini taraycnda ap, arama kutusuna management studio express yazarak arama ilemini balattktan sonra, gelen sonular arasndan Microsoft SQL Server 2008 Management Studio Express linkini takip ederek indirme sayfasna ulaabilirsin. Bu sayfada iletim sistemine uygun olan srm (32-bit veya 64-bit) indirip kurabilirsin.

    SQL Server Management Studio zerinde Sorgularla almak SQL Server Management Studio, Microsoft SQL Server ile birlikte gelmi olan yeni bir sorgulama ve

    ynetim aracdr. Management Studio, SQL Server veritabanlarna erime, veritabanlar zerinde ayarlama ilemlerini gerekletirme, ynetim ve veri taban zerinde sorgular altrma gibi ilemleri yapabilmektedir. Yine Management Studio zerinde SQL Server projeleri oluturulup, almalarn Visual Studio ortamnda olduu gibi proje eklinde kaydedilip, daha sonra bu projeler zerinde gelitirme ilemleri yaplabilmesi salanmaktadr.

    SQL Server Management Studio ayn zamanda, veri taban zerinde T-SQL sorgularn altrmak,

    sonularn grmek, sorgular analiz etmek ve veri taban zerinde baz ayarlamalar yapmak iin de kullanlabilir. SQL Server Management Studio ile yapabilecein ilemler ve sunulan kolaylklardan bazlarn aada liste halinde bulabilirsin.

    - Veri taban ve tablolar zerinde yaplabilecek tm sorgu ilemlerinin gerekletirebilecei, kodlar

    renklendirilerek sorgularn daha anlalr olmasn salayan metin editrn kullanmak. - alan sorgularn sonularn grmek. - Hazrlanan sorgularn test edilmesi. Sorguda bir hata olmas durumunda hatann nerede olduunu ve

    neden kaynaklandn kolayca grebilmek. - Bal olunan veri taban zerindeki tablolar ve dier nesneleri arayz zerinden grebilmek. (Object

    Browser aracl ile) - Birok SQL sorgusunun hazr olarak bulunduu ablonlar (template) kullanmak. Bu ablonlar

    yardmyla kolay bir ekilde sorgular hazrlayabilmek.

  • 9/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.)

  • 10/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.

  • 11/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 kullanlabilir.

    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

    Template Explorer ierisinde

    bulunan hazr SQL sorgu ablonlar

    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, test 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.

    Query penceresi ierisinde sadece iaretli alandaki sorgular altrlr

  • 12/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Temel Veri Taban Kavramlar

  • 13/34

    SQL (Yapsal Sorgulama Dili) SQL, yani Structered Query Language (Yapsal Sorgulama Dili) tm ilikisel veritabanlarnda standart

    olarak kullanlan bir dildir. SQL veritaban ile kullanc arasndaki iletiimi salar. Bu dil araclyla hazrladn sorgular kullanarak veritabannda depolanan veriler zerinde btn ilemleri yapabilirsin. SQL dilinin standartlar ANSI (American National Standart Institute) ve ISO (International Standarts Organization) tarafndan salanmakla birlikte, gnmzde en yaygn olarak ANSI standartlar kullanlmaktadr.

    T-SQL (Transact SQL) T-SQL, Transact SQL ad verilen bir SQL dilidir. SQL dilinin Microsoft SQL Server zerinde kullanlan

    srmdr. Daha iyi performans salamas iin SQL dili zerine eklentiler ve fonksiyonellikler eklenerek oluturulmutur. Veri tabanndan bamsz olarak, bir programlama dili araclyla kullancdan gelen T-SQL sorgularnn sonular ilikisel veri taban ynetim sistemi (RDBMS) tarafndan oluturularak kullancya gnderilir. Bu ekilde kullanc, veri taban ile birebir uramakszn, sadece sorgular yazarak veri taban zerinde ilemler yapabilir, veri tabanndan gelen sonular program veya bir web sayfas zerinde grntleyebilir.

    T-SQL fade Tipleri T-SQL ierisinde 3 farkl ifade tipi bulunmaktadr.

    - Veri Tanmlama Dili (Data Definition Language) - Veri Kontrol Dili (Data Control Language) - Veri leme Dili (Data Manipulation Language)

    Bu ifade tipini de eitimimiz ierisinde yeri geldike inceleyeceiz.

  • 14/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Tanmlama Dili (DDL)

  • 15/34

    Veri Tanmlama Dili (Data Definition Language - DDL) Veri tabannda nesneler oluturmak iin gerekli olan ifadeleri salamaktadr. Bu ifadeler, veri taban

    veya tablo gibi yeni bir nesnenin oluturulmas, var olan nesne zerinde deiiklikler yaplmas veya nesnenin yok edilmesi iin kullanlr. zerinde ilem yaplan nesnenin ne gibi zellikleri ve alanlar olaca bu ifadeler ierisinde belirlenir.

    T-SQL dilinde 3 adet veri tanmlama ifadesi bulunmaktadr. Bunlar:

    - CREATE - ALTER - DROP

    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.

  • 16/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 aadaki 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.

  • 17/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Kontrol Dili (DCL)

  • 18/34

    Veri Kontrol Dili (Data Control Language - DCL) T-SQLde veri kontrol ifadeleri veri taban zerindeki kullanclara ve rollere yetki vermek iin

    kullanlmaktadr. T-SQLde 3 adet veri kontrol komutu bulunmaktadr. Bu komutlar unlardr: GRANT Kullancya veritabanna eriebilmesini veya T-SQL ifadeleri altrabilmesini salayacak yetkileri verir. 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.

  • 19/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri leme Dili (DML)

  • 20/34

    Veri leme Dili (Data Manipulation Language - DML) Veri ileme ifadeleri, veri taban zerinde depolanan veriler zerinde yaplmas gereken ilemler iin

    kullanlan ifadelerdir. Veri seme/getirme, veri ekleme, veri gncelleme ve veri silme gibi ilemlerin yaplmasn salarlar. Toplam 4 adet veri ileme ifadesi bulunmaktadr.

    - SELECT - INSERT - UPDATE - DELETE

    simlerinden de anlalaca gibi, SELECT tablolardan veri seme/getirme ilemini, INSERT tablolara veri

    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

    Sorgu sonucunda seilen rencilerin numaralar ve ad-soyadlar

    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.

  • 21/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

  • 22/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Veri Taban Oluturmak

  • 23/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.

  • 24/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Attach Detach lemleri

  • 25/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.

    Detach Database Ekran

    Attach lemi

  • 26/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.

    imdi, rneklerde uygulama srasnda kullanlmak zere hazrlanm, Universite ve Sirket veri tabanlarn

    SQL 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

  • 27/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Temel Veri Tipleri

  • 28/34

    T-SQLde Veri Tipleri Tablo olutururken tablo ierisindeki her alann hangi tipte veri tayabileceini belirleyen baz veri

    tipleri bulunmaktadr. T-SQLde bulunan temel veri tiplerinden bazlar unlardr:

    Metinsel Veri Tipleri

    Tip Deer Aral

    char(n) ASCII trnden ve sabit boyutta veri saklar. En fazla 8000 karakter

    tutulabilir. (n) alabilecei en fazla karakteri belirler.

    nchar(n) Unicode trnden ve sabit boyutta veri saklar. En fazla 4000 karakter

    tutulabilir.

    varchar(n) ASCII trnden ve deiken uzunlukta veri saklar. En fazla 8000 karakter

    tutulabilir.

    nvarchar(n) Unicode trnden ve deiken uzunlukta veri saklar. En fazla 4000 karakter

    tutulabilir.

    varchar(MAX) varchar veri tipi ile ayn zelliklere sahiptir ve 2 GBa kadar veri

    tutabilmektedir.

    nvarchar(MAX) nvarchar veri tipi ile ayn zelliklere sahiptir ve 2 GBa kadar veri

    tutabilmektedir.

    text ASCII trnden metin saklamak iin kullanlr. 2 GBa kadar snr vardr.

    ntext Unicode trnden metin saklamak iin kullanlr. 2 GBa kadar snr vardr.

    Sql metin veri tipleri

    Saysal Veri Tipleri

    Tip Deer Aral

    int Yaklak -2 milyar ile +2 milyar arasndaki tamsay deerlerini tutar.

    bigint Yaklak -263

    ile +263

    arasndaki tamsay deerleri tutar.

    smallint

    Yaklak -32 bin ile +32 bin arasndaki tamsay deerlerini tutar.

    tinyint 0-255 arasndaki tamsay deerlerini tutar.

    float(n)

    Kayan noktal say deerlerini tutar. -1.79e+308 ile 1.79E+308 arasnda deer tutabilir. n, 1 ile 53 arasnda deer alabilir. 1 ile 24 arasnda olduunda 7 haneye kadar hassasiyet ve 4 byte yer ayrlmas sz konusudur. 25 ile 53 aral iin ise 15 haneye kadar hassasiyet ve 8 byte yer ayrlmas sz konusudur. Varsaylan olarak n deeri 53tr.

    real -3.40e+38 ile 3.40e+38 arasnda deerler alabilir. 7 haneye kadar hassasiyet sunar ve

    4 byte yer kaplar. Bu veri tipi float(24)n karldr. Eer 7 haneye kadar hassasiyet gerekiyorsa real tipi varsaylan float tipi yerine tercih edilebilir.

    money Yaklak -922 milyar ile +922 milyar arasndaki deerleri tutar. Bu tip genelde parasal

    deerlerin tutulaca alanlarda kullanlr.

    Sql saysal veri tipleri

  • 29/34

    Tarihsel Veri Tipleri

    Tip Deer Aral

    datetime 01.01.1753 ile 31.12.9999 arasndaki tarih ve zaman bilgisini tutar.

    smalldatetime

    01.01.1900 ile 06.06.2079 arasndaki tarih ve zaman bilgisini tutar.

    date 01.01.0001 ile 31.12.9999 arasndaki tarih bilgisini tutar.

    time 00:00:00.0000000 ile 23:59:59.9999999 arasndaki zaman bilgisini tutar.

    Sql tarihsel veri tipleri

    Dier Veri Tipleri

    Tip Deer Aral

    bit Boolean deerler tutmak iin kullanlan veri tipidir. Sadece 1 veya 0 deerlerini

    alabilir. 1 True, 0 False deerlerini temsil eder.

    image Resim dosyalarnn veri tabannda tutulmas iin kullanlan veri tipidir. 2 GBa

    kadar resim dosyas tutabilmektedir.

    xml XML dosyalarn ve XML kodlarn saklayabilen veri tipidir. 2 GBa kadar veri

    tayabilir.

    binary(n) Sabit uzunluktaki binary veriyi tutmak iin kullanlr. Maksimum uzunluu 8000

    byte tr. Varsaylan uzunluu ise 1 byte tr.

    varbinary(n) Deiken uzunlukta binary veriyi tutmak iin kullanlr. Maksimum uzunluu

    8000 byte tr. Varsaylan uzunluu ise 1 byte tr.

    varbinary(MAX)

    Maksimum 2 GB binary veriyi tutabilen veri tipidir.

    Sql dier veri tipleri

    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

  • 30/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Tablo Oluturmak

  • 31/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

    BolumId

    BolumAd

    101

    Bilgisayar Mhendislii

    102

    Bilgisayar retmenlii

    103

    Mimarlk

    104

    Fizik

    Ogrenci Tablosu

  • 32/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.

  • 33/34

    ETM :

    VER TABANINA GR VE

    TEMEL VER TABANI

    KAVRAMLARI

    Blm :

    Veri Tabanna Giri

    Konu :

    Anahtarlar

  • 34/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.

Recommended

View more >