-veri-tabani-1-E-Kitap

Embed Size (px)

Citation preview

  • 8/3/2019 -veri-tabani-1-E-Kitap

    1/94

    1

    VER TABANI YNETM SSTEMLER I Alako BURMA

  • 8/3/2019 -veri-tabani-1-E-Kitap

    2/94

  • 8/3/2019 -veri-tabani-1-E-Kitap

    3/94

    3

    VER TABANI YNETM SSTEMLER I Alako BURMA

    7. TEMEL SQL KOMUTLARI-I .............................................................................. 48

    7.1. CREATE (Yarat) Komutu ........................................................................... 487.2. ALTER (Dzenle) TABLE Komutu.............................................................. 517.3. DROP (Sil) TABLE Komutu........................................................................ 527.4. DESCIRIBE Komutu................................................................................... 527.5. INSERT (Ekle) Komutu .............................................................................. 53

    8. TEMEL SQL KOMUTLARI-II ............................................................................. 608.1. SELECT (Se) Komutu .............................................................................. 60

    8.1.1. SQL Operatrleri................................................................................. 628.1.2. Order By.............................................................................................. 658.1.3. Distinct ................................................................................................ 67

    8.2. UPDATE (Gncelle) Komutu...................................................................... 68

    8.3. DELETE (Sil) Komutu................................................................................. 709. SQL de FONKSYONLAR ................................................................................ 71

    9.1. SUM (Topla) Fonksiyonu............................................................................ 719.2. AVG (Ortalama) Fonksiyonu ...................................................................... 719.3. MAX (En Byk) Fonksiyonu ..................................................................... 729.4. MIN (Em Kk) Fonksiyonu...................................................................... 729.5. COUNT (Say) Fonksiyonu.......................................................................... 73

    10. SQL de GRUPLANDIRMA............................................................................ 7510.1. GROUP BY (Gruplandr) Deyimi............................................................. 7510.2. HAVING (Sahip) Deyimi ......................................................................... 77

    11. SQL de JOIN (BRLETRME) LEM......................................................... 7911.1. JOIN (Birletirme) lemi......................................................................... 7911.2. JOIN lemine Ait rnekler ..................................................................... 83

    12. SQL de YNETMSEL FONKSYONLAR..................................................... 8712.1. VIEWS ( Tablo Grnm)..................................................................... 8712.2. CREATE TABLESPACE (Tablo Uzay = Veri Alan)............................... 8912.3. CREATE USER (Kullanc) ..................................................................... 8912.4. CREATE ROLE ...................................................................................... 9012.5. CREATE INDEX ..................................................................................... 9012.6. CREATE SEQUENCE............................................................................ 9112.7. GRANT ................................................................................................... 91

    12.8. REVOKE................................................................................................. 91KAYNAKLAR..92

  • 8/3/2019 -veri-tabani-1-E-Kitap

    4/94

    4

    VER TABANI YNETM SSTEMLER I Alako BURMA

    VER TABANI YNETM SSTEMLER

    Veritaban kavram ilk olarak 1980li yllarda ortaya atlm olmasna ramen;gnmzde hemen hemen tm veri kullanlan alanlarda Veritaban YnetimSistemleri (VTYS) olmadan hibir ey yaplamaz hale gelmitir. Basit bir Webuygulamasndan, devasa kurulularn ar verilerine kadar, gnmzde bir okalanda veritaban uygulamalarna ihtiya duyulmaktadr.letim sistemlerinden sonraen popler ve en ok gelir getiren yazlmlar Veritaban Ynetim SistemiYazlmlardr.

    Gnmzde, bir ok alandaki veri ilemlerinde pek ok Veri Taban YnetimSistemleri programlar yaygn olarak kullanlmaktadr. Birbirinden farkl isimler adaltnda anlan bu programlar iin bir ok nesne birbiri ile ayn temel ilevi yerinegetirmekte olup, yaklak olarak ayn teorilere dayanarak alrlar.

    Veri taban, bir kuruluun uygulama programlarnn kulland operasyonelverilerin btndr. Veritaban Ynetim Sistemleri, verilerin fiziksel hafzadakidurumlarn, kullanclarn eriimlerini dzenleyen sistemlerdir. likisel VTYSlergnmzde yaygn olarak kullanlmaktadr.

    1. TEMEL VER TABANI KAVRAMLARI1.1. Veri Nedir?

    Bilgi (information) kavram yeni biimlenmeye balayan bir kavramdr;zerindeki dnce ekolleri henz yeterince gelimediinden, ngilizcede bile, bir okanlama ekilmektedir. Bu kavram, daha nce de deinildii gibi, eitli alardanbalca u ekillerde aklanmaktadr:

    Bilgi, bir nesne veya olayda veya bunlara ilikin raporlarda ortaya kanmesaj ile ilgilidir. Bu adan ele alndnda, sadece kaynan bir fonksiyonuolma zellii tar ve bazen veri olarak da ifade edilir.

    Dier bir adan bilgi, mesajn iletilmesini aklayan bir kavramdr. Bu adanele alndnda bilgi, mesajn iletilmesi ile ilgili ihtimal hesaplarna dayanan,belirsizliin azaltlmas iin gerekli olan bir kavramdr. Bir baka ifadeyle, buanlamda bilgi iletiim kanalnn da bir fonksiyonudur.

    Dier bir adan ise, bilgi bir alc tarafndan kazanlan anlam ile ilgilidir. Buanlamdaki bilgi, hem iletiim kaynann hem de alcnn bir fonksiyonudur.

    Bu grlerin birincisi, literatrde fazla benimsenmeyen bir grtr. Genellikleveri ile bilgi arasnda farkllk olduu ve verinin bilgi elde etmeye yarayan ilenmemiham malzeme olduu kabul edilir. Kii; bilmek, renmek istedikten ve veriyi

    kullanmaya baladktan sonra bilgi ortaya kar.

    BLM 1

  • 8/3/2019 -veri-tabani-1-E-Kitap

    5/94

    5

    VER TABANI YNETM SSTEMLER I Alako BURMA

    kinci gr en yaygn olandr. Buna gre bilgi anlaml biimde derlenen ve

    birletirilen veridir ve imdiki zamanda ve gelecekte verilecek kararlar iin varolangerek bir deerdir. Bir baka ifade ile, bir kaynaktan, bir alcya iletilen mesajnieriidir. Bu anlamda bilgi, karar verme ile balantldr ve dolaysyla veriye gredaha etkin bir kavramdr.

    Veri kelimesinin tekil hali (datum) Latinceden gelmektedir. Szlk anlamgerek tir. Fakat, veri her zaman somut gerekleri gstermez. Bazen, kesindeildirler veya hi olmam eyleri, rnein bir fikri tarif etmek iin kullanlrlar.Burada bahsedildii ekliyle veri, bir kiinin formlletirmeye veya kayt etmeye deerbulduu her trl olay ve fikir anlamndadr.Bilgisayarda veri depolanaca zaman,ounlukla veri taban ynetim sistemleri kullanlarak gerekletirilir. nk bu tipsistemlerde yanl verinin depolanmasn ve/veya verinin istenmeyen kiilerinkullanmna sunulmasn engelleyen bir takm imkn bulunmaktadr.

    1.2. Veri Taban Nedir ?

    Veritaban en genel tanmyla, kullanm amacna uygun olarak dzenlenmiveriler topluluudur. Birbirleriyle ilikileri olan verilerin tutulduu, mantksal ve fizikselolarak tanmlarnn olduu bilgi depolardr. Veritabanlar gerekte var olan vebirbirleriyle ilikisi olan nesneleri ve ilikileri modeller.

    Veri taban, bir kuruluun uygulama programlarnn kulland operasyonelverilerin btndr (toplamdr). Burada; kurulu, bir okul, niversite, banka, bir

    retim irketi, hastane, devlet kuruluu, vb. olabilir. Operasyonel veri bir kuruluunalabilmesi, ileyebilmesi iin kullanlan ok eitli verilerdir. Ticari bir irket iinmteri bilgileri, sat bilgileri, rn bilgileri, deme bilgileri, vb., okul iin rencibilgileri, alan dersler, kimlerin kaydolduu, retmen bilgileri, bo ve dolu derslikler,snav tarihleri, vb., hastane iin hasta bilgileri, doktor bilgileri, yataklarn dolulukboluu, tehis-tedavi bilgileri, mali bilgileri, vb

    Belirli bir konu hakknda toplanm veriler bir veritaban program altndatoplanr. stenildiinde toplanan bilgilerin tm veya istenilen zelliklere uyanlargrntlenebilir, yazdrlabilir hatta bilgilerden yeni bilgiler retilerek bunlar eitliamalarla kullanlabilir.

    Veri taban ynetim sistemi(VTYS), yeni bir veritaban oluturmak, veritabann dzenlemek, gelitirmek ve bakmn yapmak gibi eitli karmak ilemleringerekletirildii birden fazla programdan olumu bir yazlm sistemidir. Veri tabanynetim sistemi, kullanc ile veri taban arasnda bir arabirim oluturmaktadr ve veritabanna her trl eriimi salar. Veri tabannn tanmlanmas: veri tabann oluturanverilerin tip ve uzunluklarnn belirlenmesidir. Veri tabann oluturulmas ise veri iinyer belirlemesi ve saklama ortamna verilerin yklenmesini ifade eder. Veri tabanzerinde ilem yapmak; belirli bir veri zerinde sorgulama yapmak, meydana gelendeiiklikleri yanstmak iin veri tabannn gncellenmesi ve rapor retilmesi gibi ileritemsil eder. Ayrca veri taban ynetim sistemi, verinin geri arlmasn salar. Veritabanna yeni kayt eklemek, eskileri armak ve gerekli dzeltmeleri yapmak

    yoluyla, verinin bakmn ve srekliliini gerekletirir, kaytlara yeni veri eklemek veyeni kaytlar oluturmakla, veri tabann geniletir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    6/94

    6

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Bir veritabanndan beklenen zellikler, verileri korumas, onlara eriilmesini

    salamas ve baka verilerle ilikilendirilmesi gibi ilemleri yapabilmesidir. Veritabankullanlarak, verilerden daha kolay yararlanlabilir, istenilen veriye ok kolayeriilebilir, eitli sorunlarn zmnde yardmc olacak yeni bilgiler retilebilir. Ennemlisi veriler bir merkezde toplanabilir, herkesin bu verilere yetkileri lsndeerimesi, dzeltmesi, silmesi veya grebilmesi salanabilir. Bylece veri giriinde veveriye eriimde etkinlik ve gvenirlilik salanr.

    Veri taban kullanld zaman bir kurulua ait tm operasyonel veriler merkezibir yerde ve merkezi kontrol altnda tutulmu olur.

    Veri tabanlarn kurmay, yaratmay, tanmlamay, iletmeyi ve kullanmaysalayan programlar topluluuna veri taban sistemi ya da veri taban ynetim

    sistemi (VTYS) data base management system (DBMS)denir.Bir veritaban zerinde birden fazla veritaban bileeni vardr; bu bileenler,

    saklanmak istenen ham bilginin, belli bir formatta alnarak, veri haline gelmesiileminde etkin rol oynarlar.

    VTYSler fiziksel hafzay ve veri tiplerini kullanclar adna ekillendiripdenetleyen ve kullanclarna standart bir SQL arayz salayarak onlarn dosyayaplar, veri yaps, fiziksel hafza gibi sorunlarla ilgilenmek yerine veri giri-k iinuygun arayzler gelitirmelerine olanak salayan yazlmlardr. VTYSde verileritutmak zere bir ok trde nesne ve bu nesnelere eriimleri dzenlemek zerekullanclar, roller ve gruplar yer alr. Her bir kullancnn belli haklar vardr. Bu haklar,

    kstlanabilir. rnein bir tablo ya da programc bir kullanc kullanabilirken birbakasnn haklar veritaban yneticisi tarafndan kstlanm olabilir.

    1.3. Veri Modeline Gre Veritaban Ynetim Sistemleri

    Yapsal olarak btn veri tabanlar bir deildir. Veri tabanlar verileri saklamave onlara erime bakmndan farkl tiplere ayrlr.

    Hiyerarik Veri Tabanlar : Bu veritaban tipi, ana bilgisayar ortamlarndaalan yazlmlar tarafndan kullanlmaktadr. Bu trde en ok kullanlan yazlm, IBMtarafndan karlan IMS' dir. Uzun bir gemie sahip olmasna ramen, PC ortamnauyarlanan hiyerarik veri tabanlar yoktur. Hiyerarik veri tabanlar, bilgileri bir aa(tree) yapsnda saklar. Kk (Root) olarak bir kayt ve bu kke bal dal (Branch)kaytlar bu tip veritabannn yapsn oluturur. Aada byle bir veri tabannn yapsgsterilmektedir.

    ekil 1.3.1. Hiyerarik Veri Taban Yaps

  • 8/3/2019 -veri-tabani-1-E-Kitap

    7/94

    7

    VER TABANI YNETM SSTEMLER I Alako BURMA

    A Veri Tabanlar : Hiyerarik veri tabanlarnn yetersiz kalmasndan dolay

    bilim adamlar

    n

    n ortak al

    mas

    sonucu ortaya konulmu bir veri taban

    trdr.A veri tabanlar verileri aalarn daha da gelimi hali olan graflar (aacnkendiside zel bir graftr.) eklinde saklarlar. Bu yap en kark yaplardan biridir.

    likisel Veri Tabanlar : E.F. Codd Tarafndan Gelitirilmitir. Bu sistemdeveriler tablo eklinde saklanr. Bu veri taban ynetim sisteminde; veri al verii iinzel ilemler kullanlr. Bu ilemlerde tablolar operandlar olarak kullanlr. Tablolararasnda ilikiler belirtilir. Bu ilikiler matematiksel bantlarla (ilikilerle) temsiledilir. Gnmzde hemen hemen tm veri taban ynetim sistemleri ilikisel verimodelini kullanrlar. likisel modeli 1970 ylnda Codd nermitir. Bu model,matematikteki iliki teorisine (the relational theory) dayanr. likisel veri modelinde

    (Relational Data Model) veriler basit tablolar halinde tutulur. Tablolar, satr vestunlardan oluur

    ekil 1.3.2. likisel Veri Taban Yaps

    Nesneye Ynelik Veri Tabanlar : Gnmzde nesne kavram her yerdekullanlmaktadr. Pek ok kelime ilemci ve hesap tablosu programlarnn altmzgrnmlerine artk bir de nesneler eklenmitir. Ancak bu gerek anlamda birnesneye ynelik yazlm demek deildir. Yzde yz nesneye ynelik bir yazlmntamamen nesneye temelli almas gerekir. Yazlmn mutlaka nesneye ynelik birdilde yazlm olmas beklenir. Fakat Windows gibi iletim sistemi zerinde alanyazlmlar bu zelliklere tmyle sahip deillerdir. Sadece nesne kavramnkullanarak baz ek zellikler sunarlar. Nesneye ynelik veri taban da , C++ gibinesneye dayal bir dille (OOPL) yazlm olan ve yine C++ gibi nesneye dayal(OOPL) bir dille kullanlan veri taban anlamna gelir. Gnmz teknolojisinde yzdeyz nesneye ynelik bir veri taban yaygn olarak kullanma sunulmu deildir. Ancaknesneye ynelik veri tabanlarnn baz stnlkleri olacandan sz ediliyor. likiselveri tabanlar ile karlatrldnda; nesneye ynelik veri tabanlarnn sahip olmasgereken stnlklerunlardr:

    1. Nesneler, bir tabloda yer alan bir kayttan ok daha karmak yapyasahiplerdir ve daha esnek bir yapda ok daha kullanl dzenlenebilirler.

    2. Nesneye dayal bir veri tabannda, yaps gerei arama ilemleri ok hzlyaplabilir. zellikle byk tablolarla urarken ilikisel veri tabanlarndan ok

    daha h

    zl

    sonuca ula

    rlar. Ancak al

    ma mant

    tmyle deiir

  • 8/3/2019 -veri-tabani-1-E-Kitap

    8/94

    8

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Tm bu zellikler tamamen nesneye ynelik olan veri tabanlar iin geerlidir.

    Baz ilikisel veri tabanlar ile alan yazlmlarda da nesnelerin baz zellikleri nikullanrlar, ama nesneye ynelik veri taban bunu kendini ilikisel veri tabankurallarna uydurarak gerekletirebilir

    1.4. Neden Veritaban Kullanlr?Bilgisayar ortamnda veri saklama ve eriiminde gemiten gnmze deiik

    yntemler ve yaklamlar kullanlmtr. Bunlardan Geleneksel Yaklam (Dosya -lem Sistemi) verileri ayr ayr dosyalarda gruplamaya dayanr. Verileri saklamak iinprogramlama dillerinde kullanlan sral (Sequential) ve rastgele (Random) dosyalama

    sistemleri gibi. Birbiriyle ilgili olan ve ayn gruba dahil olan veriler bir dosyada, birbaka gruba dahil olan veriler de baka bir dosyada tutulurdu. Geleneksel Yaklamnbirok sakncas vardr ve bu sakncalarn beraberinde getirdii sorunlarn stesindengelebilmek iin de Veri Taban Yaklam zamanla Geleneksel Yaklamn yerinialmtr. Gnmzde veriler artk Veri Taban Yaklam ilkesine gre VTYS lerdetutulmakta ve ilenmektedir.

    Geleneksel Yaklamn (Dosya - lem Sistemi) Sakncalar

    Veri tekrar ve veri tutarszl Verinin paylalamamas Uygulamalardaki her yeni gereksinimin ve deiikliin yalnz uzman kiiler

    tarafndan karlanabilmesi Veriye eriim ve istenen veriyi elde etme glkleri Karmak veri saklama yaplar ve eriim yntemlerini bilme zorunluluu Btnlk (integrity) sorunlar Gvenlik, gizlilik sorunlar Tasarm farkllklar, standart eksiklii Yedekleme, yeniden balatma, onarma gibi iletim sorunlar

    Veri Taban Yaklamnn Yararlar

    Ortak verilerin tekrarnn nlenmesi; verilerin merkezi denetiminin ve

    tutarllnn salanmas Veri paylamnn salanmas Fiziksel yap ve eriim yntemi karmaklklarnn, ok katmanl mimarilerle

    kullanclardan gizlenmesi Her kullancya yalnz ilgilendii verilerin, alk olduu kolay, anlalr

    yaplarda sunulmas Sunulan zmleme, tasarm ve gelitirme aralar ile uygulama yazlm

    gelitirmenin kolaylamas. Veri btnl iin gerekli olanaklarn salanmas, mekanizmalarn kurulmas Gvenlik ve gizliliin istenilen dzeyde salanmas Yedekleme, yeniden balatma, onarma gibi iletim sorunlarna zm

    getirilmesi

  • 8/3/2019 -veri-tabani-1-E-Kitap

    9/94

    9

    VER TABANI YNETM SSTEMLER I Alako BURMA

    1.5. Veri Taban Ynetim Sistemlerinin Salad Yararlar

    - Ayn veri deiik kiilerin PClerinde veya deiik bilgisayarlarda tekrar tekrartutulmaz; veri tekrar (data redundancy) azaltlr ya da yok edilir.

    - Veri tutarll (data consistency) : Ayn verinin deiik yerlerde birkakopyasnn bulunmas bakm zorluu getirir: bir yerde gncellenen bir adresbilgisi baka yerde gncellenmeden kalabilir ve bu durum veri tutarszlna (datainconsistency) yol aar.

    - Veri paylam / Ezamanllk (concurrency) : Veri taban ynetim sistemi(VTYS) kullanlmad durumlarda veriye sral eriim yaplr. Yani birden ok

    kullanc ayn anda ayn veriye eriemez. Bir VTYSde ise verinin tutarlln vebtnln bozmadan ayn veritabanlarna saniyede yzlerce, binlerce eriimyaplabilir.

    - Veri btnl (data integrity): Bir tablodan bir renci kayd silinirse, rencivarolduu dier tm tablolardan silinmelidir.

    - Veri gvenlii (data security) : Verinin isteyerek ya da yanl kullanm sonucubozulmasn nlemek iin ok sk mekanizmalar mevcuttur. Veri tabanna girmekiin kullanc ad ve ifreyle korumann yan sra kiiler sadece kendileriniilgilendiren tablolar ya da tablo iinde belirli kolonlar grebilirler.

    - Veri Bamszl (data independence) : Programc, kulland verilerinyaps ve organizasyonu ile ilgilenmek durumunda deildir. VER BAIMSIZLII,VTYSlerinin en temel amalarndandr.

    1.6. Bilinen VTYS Programlar

    MS SQL Server: Bir orta ve byk lekli VTYSdir. ANSI SQLe eklentiler yazmakiin T-SQLi destekler.

    Oracle: Daha ok yksek lekli uygulamalarda tercih edilen bir VTYSdir. ANSISQLe eklentiler yapmak iin PL/SQL gelitirilmitir.

    Sybase: Bir orta ve byk lekli VTYSdir. ANSI SQLe eklentiler yazmak iin T-SQLkomutlarn destekler. lkemizde daha ok bankaclk ve kamusal alanlarda tercihedilmektedir.

    Informix: Bir orta ve byk lekli VTYSdir.

    MySQL: Genellikle Unix-Linux temelli Web uygulamalarnda tercih edilen birVTYSdir. Ak kod bir yazlmdr. Kk-orta leklidir. zellikle Web iin gelitirilmibir VTYSdir denilebilir.

    Postrage SQL: Bu da MySQL gibi a

    k kod bir VTYSdir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    10/94

    10

    VER TABANI YNETM SSTEMLER I Alako BURMA

    MS Access: oklu kullanc destei yoktur. letim sisteminin salad gvenlik

    seeneklerini kullanr. Bunun yannda belli sayda kayda kadar (1000000 civar) yada belli bir boyutun (yaklak 25MB) altna kadar bir sorun kartmadankullanlabilecek bir kk lekli VTYSdir.

    Advantage: Trk programclar tarafndan gelitirilen bir orta ve byk lekliVTYSdir.

    DB/2: IBMin frameworklere ynelik byk lekli VTYSdir.

    Bu ders notunda popler olan VTYS programlarnn isimleri yazlmtr.Bunlarn dnda daha bir ok VTYS program mevcuttur. VTYSlerin Avrupagenelindeki pazar paylar yaklak olarak aada listelenmitir. En byk Pazar pay

    IBM(DB/2) ile Oracle arasndadr. Hemen arkasndan MS SQL Server, Informix veSybase gelmektedir. Yeni balayanlar iin; hangi VTYSyi renmem en iyisi olursorusunu yantlamak gerekebilir. lkemizde insan kaynaklar asndan en okkalifiye elaman aranan VTYS Oracle ve arkasndan da MS SQL Server gelmektedir.

    IBM ....................... %37.8Oracle .................... %26.3Microsoft ................ %15.4Informix ................. %3.2Sybase ................... %3Digerleri ................. %14.3

    2001 y

    l

    nda bir arat

    rmaya gre Avrupa ap

    nda VTYSlerinin pazar paylar

    [kaynak: Gartner]

    VTYSlerin bir ou ANSI SQLin karlayamad durumlarda kullanlmak zereek programlama komutlar barndrrlar. Bu i iin MS SQL Server ve Sybase SQLServer Transact SQL (T-SQL) denilen komut takmlarn ierir. Oracle ise PL/SQL ilebu ie zm getirmitir. Bu diller sayesinde, bu konu ierisinde renmeyeceimizStored Procedure (sakl prosedrler), Trigger, Fonksiyon gibi veritabanlar iinvazgeilmez olan nesneler yazlabilmektedir.

    1.7. Proje ve VTYS arasndaki iliki

    Herhangi bir veritaban programnda almaya balanlmadan nce,yaplacak ie uygun veri taban tasarm yaplmaldr. Bu iin en nemli aamasdr.Balangta iyi tasarlanamayan bir veritaban, ileride geriye dn olmayan verimsizbir bilgi ynna dnebilir. En basit hali ile veritaban tasarmnda; hangi tablolarnolaca, bu tablolarda hangi alanlarn olaca, tablolar arasndaki alan ilikilerininneler olaca ve alanlara ait zelliklerin tanmlanmas yaplr. Alan zelliklerinde alanad, alan tipi, alann uzunluu, alann varsaylan deeri, bu alana yazlacak verileringeerlilik koullarnn balangta tasarlanmas gerekir.

    Bir projede hangi veritabannn seilecei, projenin ap ile ilgili bir karardr.Aadaki sorulara verilecek cevaplar projenin ap konusunda karar vermedeyardmc olurlar.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    11/94

    11

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Projede ka tablo kullanlacak?

    Her bir tabloda en fazla ka satr yer alabilir? (tablodaki bilgi saysdr)Projeye ayn anda en fazla ka kullanc balanacak?Proje gnlk ka transaction (INSERT-DELETE-UPDATE) gerekletirecek?Proje en fazla ne kadarlk yer kaplayacak ne kadarlk bir veritaban dosyasnaihtiya duyulacak?Proje iin gvenlik ne derece nemli? Ancak bir VTYS kullanlarak projegelitirilecekse, hangisinin seilmesi gerektiinin dnda, hangi srmlerininkullanlaca ya da hangi donanmlar stnde altrlaca da nemlidir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    12/94

    12

    VER TABANI YNETM SSTEMLER I Alako BURMA

    2. VER ve VER MODELLER

    2.1. Model Nedir?

    Model kelimesi; isim, sfat ve fiil olarak ve her birinde olduka farkl armlaryapacak ekilde kullanlmaktadr. sim olarak model, bir temsili ifade eder. Butemsil; bir mimarn, bir binann kk lekli modeli veya bir fizikinin bir atomunbyk lekli modelini oluturmas anlamndadr. Sfat olarak model,mkemmeliyetin veya idealin lsn ifade eder. Model ev, model renci vemodel e ifadelerinde olduu gibi. Fiil olarak model ise, bir eyin nasl olduunuispat etmek, aklamak, gstermek anlamndadr.

    Bilimsel modeller btn bu armlar bnyelerinde bulundururlar. Onlar;durumlarn, nesnelerin ve olaylarn temsilleridir. Gereklerden daha az karmak vebylece aratrma amacyla kullanlmalar daha kolay olduundan, bu anlamda idealhale getirilmilerdir. Gerek durumlarla karlatrldklarnda, modellerin basitliininsebebi, gereklerin sadece uygun zelliklerini temsil etmelerindenkaynaklanmaktadr. rnein, yeryznn bir ksmnn modeli olan bir yol haritasnda,bitki rts gsterilmez. nk bu durum, o haritann bir yol haritas olarak kullanmasndan uygun deildir. Gne sisteminin bir modelinde, gezegenleri temsil edentoplarn, gezegenlerle ayn maddeden yaplm olmalar veya ayn scakla sahip

    olmalarna ihtiya yoktur.Bilimsel modellerden, gereklerin farkl boyutlar hakkndaki bilgiyi artrmak ve

    birbirleri ile ilikilendirmek iin faydalanlr. Modeller, gerei ortaya karmak vebundan daha fazla olarak, gemii ve imdiki durumu aklamak ve gelecei tahminve kontrol etmek iin kullanlr. Modeller uygulanarak, gerekler zerinde biliminkontrol salanr. Modeller gerein tarifi ve aklamasdr. Bir bilimsel model,aslnda, gerek hakknda bir veya bir dizi ifadelerdir. Bu ifadeler olaylara dayanan,kanun benzeri ya da teorik olabilir.

    Bilimde, sradan ilemlerde olduu gibi, deiik tipte modeller kullanlr: SimgeselModel, Benzetim Modeli ve Sembolik Model.

    Simgesel Modeller, durumlarn byk veya kk lekli temsilleridir. Gerekeylerin uygun zelliklerini temsil ederler. ekilleri, temsil ettikleri eylere benzer. Yolharitalar, hava fotoraflar bu tip modellere rnek verilebilir.

    Benzetim Modelleri, baz durumlarda ise; haritada ykseltiler, yol geniliklerigibi zellikleri belirtmek gerekebilir. O zaman, renkler ve kontur izgileri gibi bir takmaklayc zelliklere ihtiya duyulur. Bu tip modeller Benzetim Modelleri olarakisimlendirilir.

    Sembolik Modellerde, temsil edilen eylerin zellikleri sembollerle ifade edilir.Bylece, bir grafik ile gsterilen iliki (benzetim modeli), bir eitlik olarak da ifade

    edilebilir. Bu tip modellere Matematiksel Modeller de denilmektedir.

    BLM 2

  • 8/3/2019 -veri-tabani-1-E-Kitap

    13/94

    13

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Bu tip modelden benzetim modeli, soyut ve geneldir. Matematiksel model ise

    en soyut ve en genel modeldir. zerinde dzenleme yaplabilmesi daha kolaydr.Simgesel modellerin ise anlalmas dierlerine gre daha kolaydr. Biliimsistemlerinin oluturulmas iin kullanlan veri modelleri, benzetim modelleri vesembolik modellerdir.

    Bir biliim sisteminin kullancs, zellikle bir karar verici, kendisini sonsuzdenebilecek boyutta bilgi karsnda bulur. Bir biliim sistemi modeli, gerek bilgikmesinin alt kmesini oluturur ve onun daha basit bir eklidir. Bu ekil,ilenebilmeye imkn verir ve bunu kullanarak elde edilen zm veya cevap, gerekhayatta uygulanmaya allr. Model, var olan bilgi ynna bir dzen getirmeyi, hattabir yap oluturmay amalar. Tek bir model yoktur. Var olan bilgi ynna, uygulanan

    farkl

    modeller doal olarak farkl

    yorumlar getirir.Gerek hayattan alnan bir olayn modelinin iki tip zelliinin olmas gerekir.

    Birincisi, statik zellikler, ikincisi de dinamik zelliklerdir. Statik zellikler zamana gredeiiklik gstermez yada ok az gsterir. Dinamik zellikler ise bunun tam tersiolarak devaml deikendirler. Bu durumda, herhangi bir model (M), o modelioluturan kurallar kmesi (K) ve ilemler kmesinin () bir fonksiyonu olaraktanmlanabilir.

    M = f (K,)

    Modeli oluturan kurallar kmesi (K), veri modelinin statik zelliklerini temsil ederve Veri Tanmlama Diline (VTD) karlk gelir. (M) veri modeli iinde, veri iin izinverilen yaplarn tanmlanmas iin kullanlr. Mmkn olan yaplar, birbirinitamamlayan iki ekilde belirlenir. Nesneler ve ilikiler, kategorilerinin belirlenebilmesiiin genel kurallar kullanlarak tespit edilir. Modelde bulunmasna izin verilmeyecekolan nesneler veya ilikiler, snrlar tespit edilerek hari tutulur. rnein, bir ii veritabannda, her iinin bir sigorta numarasnn olmas ve yneticisinden fazlakazanmamas gibi snrlar tespit edilebilir.

    Gerek hayattaki dinamik zelliklerin modelde kullanlabilmesini ilemler kmesisalar ve Veri Ynlendirme Diline (VYD) karlk gelir. Di gibi bir veri tabanoluumundan Dk gibi baka bir veri taban oluumu elde etmek iin yaplmasna izinverilen ilemleri tanmlar.

    2.2. Veri Kavram

    Birinci blmde veri kelimesi tanmlanm ve yanl verinin depolanmasnve/veya verinin istenmeyen kiilerin kullanmna sunulmasn engelleyen bir takmimknlarn olmas gerektii belirtilmiti.

    Yanl verinin iki trl kayna olabilir: Programlama hatalar, klavyeden hatalgiri nedeniyle oluan yanllklar ve veri taban programnn kt niyetli kullanm.Veri tabanlarnn korunmas iki balk altnda incelenebilir

    1. Veri gvenlii,

    2. Veri btnlnn salanmas.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    14/94

    14

    VER TABANI YNETM SSTEMLER I Alako BURMA

    2.2.1. Veri Gvenlii

    Veri gvenliinin konusu, veri tabann, dolaysyla veriyi yetkisiz kullanmlarakar korumaktr. Bu konuda ok eitli yaklamlar vardr. Hem verinin istenmeyenekilde deitirilmesine veya zarar grmesine hem de yetkisiz kullanmlara engelolmak gerekir. Bunu salamak iin baz genel teknikler gelitirilmitir.

    Kullanclarn tanmlanmas: ok kullancl ortamlarda farkl yetkilere sahipkullanclar vardr. Farkl yetkilere sahip kiilerin, veri tabannda ulaabilecekleri verifarkldr. rnein, bilgisayara veri girii yapan bir iletimcinin, kurumun muhasebekaytlarna, muhasebe mdr kadar yetkiliymi gibi girerek deiiklikler yapmasengellenmelidir. Bu amala, hangi kullanclarn hangi yetkilerinin olduu ve buyetkilerini kullanabilmek iin gerekli ifreler daha nceden tespit edilmelidir.

    Fiziksel koruma:ifre sisteminin yeterli olmad durumlarda, verinin fizikselkoruma altna alnmas gerekir. Yangn veya hrszla kar verinin yedeklenmesininyaplmas gibi.

    Kullanc haklarnn temin edilmesi: Sistemde hangi kullancnn hangiyetkilere ve haklara sahip olduu ve neler yapabileceinin nceden belirlenmiolmas gerekir. Bir kiinin yetkisini veya hakkn baka bir kiiye vermesi ise, sisteminmdahalesi dnda gerekleen bir durumdur.

    zellikle veri tabannn sorgulanmasnda gvenlik problemleri ortayakmaktadr. Hangi tr kullancnn, hangi sorgu tiplerini sisteme yneltebileceinindaha nceden tespit edilmesi gerekmektedir. Fakat, yukarda bahsedilen

    nlemlerden hi biri tam bir koruma salamaz. Bu yzden, birden fazla nlemkullanarak gvenlik artrlabilir.

    2.2.2. Veri Tekrar ve Veri Btnl

    Bir veri taban ynetim sisteminde farkl veri dosyalarnda; isim, adres, numaragibi bilgilerin bulunmas gerekebilir. rnein, hem mteri bilgilerini ieren bir veritaban dosyasnda, hem de satlan mallarn sevkiyatnn yaplaca adreslerinbulunduu baka bir veri dosyasnda, mteri adresi bilgilerinin yer almasgerekebilir. Yani, pek ok durumda, ayn verinin birden fazla veri dosyasndabulunmas gerekebilir. Bu durum, veri tekrar olarak ifade edilmektedir. Byle bir

    durum,veri btnlnn bozulmasna neden olur. Veri zerinde yaplacak deiiklik,silme, ekleme gibi ilemlerin, o verinin bulunduu btn dosyalarda gerekletirilmesigerekir. zellikle ok kullancl ortamlarda bu ilem olduka nemlidir. Aksi taktirde,veri tabannda uygun olmayan veri ile allm olur. Veri btnlnnbozulmasnn bir sebebinin, veri tekrar olduu sylenebilir. Bir baka sebep de,verinin zayf geerlilik kontroldr. Bunun sebepleri de u ekilde sralanabilir:

    Veri gvenliinin yetersiz oluu, Veri tabannn zarar grmesi durumunda kurtarma yntemlerinin yetersiz oluu, Uzun kaytlarn idaresinin zorluu, Deiikliklerin esnek olmamas,

    Programlama ve bakm masraflarnn yksek olmas, nsandan kaynaklanan hatalar.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    15/94

    15

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Gnmzde kullanlan eitli veri taban ynetim sistemi programlar, yukarda

    say

    lan btn problemlerin stesinden hemen hemen gelebilecek zmler retmilerve bunlar kolay kullanlabilir hale getirmilerdir. Kullanclarn, bir veri tabanolutururken, ayrca bu problemler iin nlem almalarna gerek kalmamaktadr.

    2.3. Veri Modeli

    Bir veri modeli, verinin hangi kurallara gre yaplandrldn belirler. Fakatyaplar, verinin anlam ve nasl kullanlacaklar hakknda tam bir aklama vermezler.Veri zerinde yaplmasna izin verilen ilemlerin belirlenmesi de gerekir. lemler,yapnn sunduu ereve iinde altrlrlar.

    2.3.1. Yaplar

    Veriyi yaplandrma ve grntleme mekanizmalarndan biri soyutlamadr.Soyutlama, detaylar gizleme ve genel zerinde younlama yeteneidir. Verimodellemesinde soyutlama, veri kategorilerini elde etmek iin kullanlr.

    Veri yaplarnn oluturulmasnda kullanlan kavramlardan biri de kmelerdir. Birkme, dzgn birekilde tanmlanm ve bir yelik koulu tarafndan temsil edilennesneler topluluudur. yeleri az ya da ok homojen olan kmeler vardr. rnein,10 ile 20 arasndaki tam saylar, uzunluu 20 karaktere kadar olabilen alfanmerikdeerler gibi. Bu homojen kmeler, tanm kmesi olarak isimlendirilirler. Semantikadan bir anlam tayan nesneyi temsil eden, isimlendirilmi bir tanm kmesi(rnein, MAALAR), znitelik olarak isimlendirilir.

    Veri yaplarnn unsurlarndan biri de ilikilerdir. liki, kmelerin toplanmasnifade eder. Ayn zamanda kendisi de bir kmedir ve semantik olarak belirli bir karlyoktur. Fakat, veri modellemesinde iliki, iki nesne arasndaki ilikiyi gsteren bir tipolarak tanmlanabilir. rnein, ve YER arasnda bir ilikisi vardr. Birilikiye uygulanabilecek semantik bir tercme, her satr bir varla karlk gelecekekilde belirlemektir. Varln tam bir tanm olmamasna ramen, objektif birgereklii olan veya olduu dnlen ey olarak tarif edilmektedir. rnein, birvarlk tipi olarak belirlenebilir. Bu varlk tipinin zellikleri de, VEREN, SM, ADRES,YA, BLM, TECRBE ve MAA olabilir.

    Bir veri yaps oluturulurken, verinin bir ekilde bilgisayara yerletirilmesi szkonusu olduu iin, nesneler ve onlar arasndaki ilikilerin temsil edilmesi gerekir. Butr bir temsil tablolarla yaplabilir. Bir tabloda stun balklar olarak znitelikler vesatrlarda da bu zniteliklerin ald deerler (kayt birimleri) yer alr. Tablodaki her birstun, bir veri birimidir.

    Dz bir dosyadan oluan veri tabanlar olabilecei gibi (rnein isim ve adresalanlarndan oluan adres veri tabanlar), birden fazla dosyadan oluan veri tabanlarda vardr ve daha yaygn bir ekilde kullanlmaktadr. Bir veri tabannda temsiledilebilecek genel kayt ilikilendirme tipleri vardr. Bunlaru ekilde sralanabilir:

    Bire bir ilikiler (one-to-one relationships): Aralarnda bir iliki olan iki tablo

    aras

    nda, tablolardan birindeki as

    l anahtar alan

    n kay

    t deerinin, dier tablodakisadece bir kaytta karlnn olmas durumunu gsteren iliki tipi. rnek : bir iinindoum yeri bilgisinin doum yerleri tablosunda birehre karlk gelmesi gibi.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    16/94

    16

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Tekil oklu ilikiler (one-to-many relationships): Aralarnda bir iliki olan iki

    tablo aras

    nda, as

    l anahtar alan

    n kay

    t deerinin, dier tablodaki birden fazla kay

    ttakarlnn olmas durumunu gsteren iliki tipi. rnek : Bir rencinin birden fazlaalm olduu derse ve bu derse ait vize final snav sonular gibi. Bir renciyekarlk birden fazla ders notu.

    oul tekli ilikiler (many-to-one relationships): Aralarnda bir iliki olan ikitablo arasnda, tablolardan birindeki bir kaydn deerinin, asl anahtar alann olduudier tabloda, birden fazla kaytta karlnn olmas durumunu gsteren iliki tipi.

    oklu ilikiler (many-to-many relationships): Aralarnda bir iliki olan ikitablo arasnda, tablolardan herhangi birindeki herhangi bir kaydn, dier tablodakibirden fazla kayt ile ilikilendirilebildii iliki tipi.

    2.3.2. Kstlar

    Veri zerindeki mantksal snrlamalara kst ad verilir. Kstlarn genel olmastercih edilen bir durumdur. rnein, Tm yneticilerin maalar, iilerinden dahafazladr ifadesi, Ali Beyin maa Veli Beyin maandan daha fazladr ifadesindendaha geneldir ve dolaysyla daha kullanldr. Kstlar, veri modellerinde btnlksalamak ve semantik nedenlerle kullanlr. Kmeler zerinde kullanlabilir. rnein, varlk tipinin YA znitelii 15 ve 65 arasnda deer alabilir eklinde birkstlama veri modelinde uygulanabilir. Bu sayede gerek dnyada karlalan birzellik, oluturulacak veri tabanna yanstlabilir.

    Bir iliki, iki veya daha fazla kmenin elemanlar (nesneler) arasnda mmknolabilecek tm kombinasyonlar ierir. Bu ileme haritalandrma denir. Kstlamalarilikiler zerinde belirlendii zaman, nesneler arasndaki bir takm anlam ifadeetmeyen, fakat teorik olarak mmkn olabilen ilikilerin, gereksiz yere modeleyerletirilmeye allmas nlenmi olur.

    Tablolarda kstlarn kullanlmas, fonksiyonel bamllklarn belirlenmesi amacntamaktadr. rnein, varlk tipinde _NO znitelii bir aday anahtar olabilir.nk, dier znitelikler, bu znitelie bal olabilir. Baka aday anahtarlar da olabilir(SM, ADRES gibi). Bir tabloda, aday zniteliklerinden biri asl anahtar olarakbelirlenir. ki ayr iliki tipi arasnda bir balant kurabilmek, o ilikinin bir tablosundaki

    bir anahtarn, dier tabloya eklenmesi ile mmkn olur. Buna tretme, ikinci tabloyaeklenen anahtara da yabanc anahtar denir.

    2.3.3. lemler

    lemler, bir veri taban durumundan, bir baka veri taban durumu elde etmekiin yaplan ilemlerdir. Bunlar, verinin arlmas, gncellenmesi, eklenmesi veyasilinmesi ile ilgili ilemlerdir. ok kesin seimler zerinde yaplr. Bunlarn yannda,daha genel ilemler de vardr. rnein; btnlk mekanizmas, toplam fonksiyonlar(istatistiksel fonksiyonlar da bunlar arasndadr), veriye ulam kontrolleri gibi. Bumekanizmalara veri taban yntemleri denir. Bu mekanizmalar, CODASYL tarafndan

    yaynlanmtr.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    17/94

    17

    VER TABANI YNETM SSTEMLER I Alako BURMA

    2.4. Balca Veri Modelleri

    Veri modellemesi yapmak amacyla pek ok veri modeli gelitirilmitir. Fakat,btn modeller ayn zellikleri tamaz. Her modelin farkl durumlara uygun olaneitli zellikleri vardr. O yzden, modeller arasnda tam bir sralama yapmakmmkn deildir. Bununla birlikte, yetersiz de olsa bir snflama yaplabilir.

    2.4.1. Basit Veri Modelleri

    Basit veri modelleri olarak ayrlan ilk grup veri modelleri, bilgisayarlarda veriileme ihtiyacnn ortaya kmasyla, dosyalama sistemleri oluturmak amacylakullanlmaya balanan Hiyerarik ve ebeke veri modelleridir.

    2.4.1.1. Hiyerarik Veri Modelleri

    Hiyerarik veri modellerinde oklu ilikileri temsil edebilmek iin, varlktiplerinin her iliki iin ayr ayr tanmlanmas gerekir. Bu da gereksiz veri tekrarnasebep olur. Hiyerarik model, bir aa yapsna benzer. Model dahilindeki herhangibir dm, altndaki n sayda dme balanrken, kendisinin stnde ancak birdme balanabilir. Hiyerarik yapnn en tepesindeki dm noktasna kk denirve bu dmn sadece baml dmleri bulunur. Bu veri yapsn gsteren grafiede hiyerarik tanm aac denir.

    ekil 2.4.1.1.1. Hiyerarik Tanm Aac

    2.4.1.2. ebeke Veri Modelleri

    ebeke veri modelleri, tablo ve grafik temellidir. Grafikteki dmler varlktiplerine karlk gelir ve tablolareklinde temsil edilir. Grafiin oklar, ilikileri temsileder ve tabloda balantlar olarak temsil edilir. Spesifikasyonu, 1971 ylnda DBTG-CODASYL tarafndan belirlenmitir.

    ki ayr veri yaplandrma arac vardr: Kayt tipi ve balant. Kayt tipleri varlktiplerini belirler. Balantlar ise, iliki tiplerini belirler. Bu yapy gsteren grafie de

    veri yap

    s

    grafii ad

    verilir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    18/94

    18

    VER TABANI YNETM SSTEMLER I Alako BURMA

    ekil 2.4.1.2.1. ebeke Veri Yaps Grafii

    ebeke veri modeli, veri modelleri iinde en genel olanlarndan biridir. ebekeiinde bir eleman, herhangi bir baka elemana balanabilir. Hiyerarik yaplardanfarkl olarak, ebeke yaplarnda balant asndan herhangi bir snrlama yoktur.ebeke veri modelleri, dmler arasnda oklu ilikiler kurulamad iin, kstl birveri modeli olarak kabul edilir. Hiyerarik veri modelleri ise, daha da kstl bir verimodelidir. ebeke veri modelinde kullanlan ilemler, ilikisel veri modelindekullanlan ilemlerin benzeridir. Fakat, ebeke veri modellerinde balantlartarafndan belirlenmi ilikiler dnda, kayt tipleri arasnda iliki belirlenemez.

    2.4.2. Gelitirilmi Veri Modelleri

    1960 ve 1970li yllarda hiyerarik veri modeli zerine gelitirilmi veri tabanynetim sistemleri ile, daha sonra, ebeke veri modeli ile alan VTYS yaygnkullanmda iken, teorik temelleri ve deneysel uygulama ve gelitirme aamalar,1970li yllarda tamamlanm olan ilikisel veri modeline dayal VTYS, 1980li yllardaticari kullanma girerek ok hzla yaygnlamlardr.

    Gelitirilmi veri modelleri, Varlk-liki Veri Modelleri, likisel Veri Modelleri veNesne Ynelimli Veri Modelleri olarak sralanabilir.

    2.4.2.1. Varlk-liki Veri Modelleri (V Modeli)

    Bir veri taban uygulamas iin varlk, hakknda tanmlayc bilgi saklanabilenherey olarak kabul edilmektedir. Varlk, bamszdr ve tek bana tanmlanabilir. Birvarlk, ev, renci, araba gibi bir nesne ya da futbol ma, tatil, sat gibi olaylarolabilir. En anlamlekilde kendi znitelikleri tarafndan temsil edilir. rnein, bir EV;znitelikleri olan ADRES, STL, RENK ve MALZEME ile tanmlanabilir. Eer birzniteliin kendisi tanmlayc bilgi ieriyorsa, onu varlk olarak tanmlamak gerekir.rnein, eer evin malzemesi hakknda ek bilgi depolamak gerekiyorsa MALZEMEyide varlk olarak snflamak gerekir.

    Varlk-liki veri modelleri (V), stunlarnda, znitelikleri temsil edendeikenlerin yer ald ve satrlarnda da enstantanelerin temsil edildii tablolar,

    varlklar ve aralarndaki ilikileri oklarla gstermek iin kullanlan grafikler zerinekurulmu veri modelleridir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    19/94

    19

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Ticari veri tabanlarnda yaygn olarak kullanlan veri modellerinden biridir.

    ebeke ve hiyerarik veri modelleri ile ortak noktalar vardr. Fakat, veri tabantasarm sreleri iin kullanlmak maksadyla gelitirildiklerinden bu iki modelingenelletirilmi eklidir. oklu iliki tiplerinin dorudan modelde kullanlmasna izinverir. Bu modelde, kurum emas kavram sz konusudur. Bu ema, kurumun tmverisinin grnmn temsil eder ve fiziksel snrlamalardan bamszdr. Aynzamanda, bu ema ANSI/X3/SPARC kavramsal emasna ok benzemektedir.Aralarndaki temel fark, kavramsal emann, dahili ema ve harici ema arasndaharitalandrma yapabilmesidir. Temelde, V veri modeli, veri tabannn mantksalzelliklerinin bir dokmantasyonudur. V modeline gre dzenlenen veri tabannnyaps, Varlk-liki Diyagram ile gsterilir.

    ebeke ve hiyerar

    ik veri modellerinde, sadece ikili fonksiyonel ba

    lant

    lara izinverilmektedir. V veri modelinde ise, varlklar arasnda n adet iliki tanmlanabilir. Builikiler, bire bir, fonksiyonel veya oklu olabilir. Tekrar eden balantlar dakullanlabilir.

    znitelik, varlk veya iliki ile bunlarn ald deerler arasndaki haritalandrmaytemsil eder. Baz zniteliklerin birden fazla deeri olabilir. rnein, telefonnumarasn bir znitelik olarak kabul edersek, bir irketin birden fazla numarasolabilir. Fakat, doum gn znitelii ele alndnda, her bir kiinin bir doum gnolduundan, bu znitelik, ok deere sahip deildir.

    ekil 2.4.2.1.1. Varlk liki Diyagram

  • 8/3/2019 -veri-tabani-1-E-Kitap

    20/94

    20

    VER TABANI YNETM SSTEMLER I Alako BURMA

    V modeli ilk olarak ortaya konulduunda (1976) bir veri dili gelitirilmemiti.

    Bunun anlam, bilgi sorgulamalarnn kme ilemleri ile yaplmas demekti. Dahasonra, veri modeli iin CABLE (ChAin-Based LanguagE) dili gelitirildi. Vmodellerinin en byk avantajlarndan biri, uzman olmayan kiiler tarafndan daanlalabilecek yapda olmasdr. zerinde dzeltme ilemleri kolayca yaplabilir. Buadan belirli bir veri taban ynetim sistemine bal deildir.

    2.4.2.2. likisel Veri Modelleri

    likiler ve onlarn temsilleri olan tablolardan oluan veri modelleri ilk olarak 1970ylnda Codd tarafndan ortaya atlmtr. likisel veri modelleri formle edilirken, veriynetimi ihtiyalarn karlayabilmek iin ilikinin matematiksel teorisi, mantksal

    olarak geniletilmitir. likisel veri modellerinde kullanlan tek yaplandrma aracilikidir. likinin tanm, veri taban ilikilerinin zamana bal olmas dnda,matematiksel tanm ile ayndr. Yani, bir veri taban ilikisinde satrlar, eklenebilir,deitirilebilir yada dzeltilebilir. Aadaki rneklerde byk harflerle yazlan ifadeleriliki isimlerini, parantez iindeki ifadeler de tanm kmesi isimlerini gstermektedir.

    ekil 2.4.2.2.1. Tanm Kmesi

    Yukardaki satrlar, basit bir hastane veri tabannn ilikisel emasngstermektedir. likisel ema, iliki isimlerinin ve karlk gelen tanm kmesiisimlerinin listesidir. Varlk tiplerini belirlemekte kullanlr.

    ekil 2.4.2.2.2. likisel Tablo

    likisel ema listesini oluturan her bir satr, bir tablo olarak temsil edilir.Tablonun stunlar znitelik olarak isimlendirilir. rnein, HASTANE tablosununznitelikleri; Hastane_Kodu, Hastane_Ad, Adres, Tel_No ve Yatak_Saysdr.

    Tablonun satrlarnda btn zniteliklerin ayn deerler ald iki satr olamaz.Her satr dierinden mutlaka farkldr. Aksi halde veri tekrar sz konusu olur. Veritabanlarndaki iliki kavram, matematikteki kme kavramn esas ald iin aynsatrn bir tabloda birden fazla yer almas mmkn deildir. Bu nedenle, iliki iin biranahtar kullanmak gerekir. Anahtar, bir satr tek bana tanmlayabilen zniteliklerkmesidir. Anahtar kavram, ilikisel veri modelinde kullanlan nemli bir ksttr.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    21/94

    21

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Bu kurallar kullanlarak hazrlanan bir ilikisel modelde, yine de belirsizlikler ve

    uyumsuzluklar bulunabilir. Bunlar gidermek iin de bir dizi dzgleme ilemine gerekduyulabilir. Dzglemek, veri taban tasarm prensiplerini yapsallatrmay amalar.likiler ve znitelikler arasndaki fonksiyonel bamllklar dzenler. Birbirini takipeden be ilemden oluur. Fonksiyonel bamllk u ekilde tarif edilebilir: x ve yznitelikleri arasndaki iliki R ile gsterildiinde, her bir x deerine bir tek y deerikarlk geliyorsa, Rnin y zniteliinin, Rnin x zniteliine fonksiyonel olarak bamlolduu sylenir.

    Veri zerinde yaplacak ilemler iin, ilikisel veri modellerinde tip dil kullanlr.Birincisi, matematikteki ilikisel ilemlere dayanr. Bu tip dillere rnek olarak INGRESve QUEL verilebilir.

    kinci tip dil, grnt ynelimlidir. Boluk doldurma yntemiyle alr. rnein,QBE (Query By Example) ve CUPID bu tr dillerdendir.

    nc tip dil, haritalandrma ynelimli dildir. Bu tip diller, bilinen bir zniteliinya da znitelik kmesinin, aranan bir zniteliin ya da znitelik kmesinin zerinde,bir iliki yoluyla haritalandrlmas prensibiyle alr. rnein, yapsal sorgulama dili(SQL) bu tip bir veri dilidir. SQL ilerleyen blmlerde detaylar ile anlatlacaktr

    2.4.2.3. Nesne Ynelimli Veri Modelleri

    Nesne ynelimli sistemler, bir istatistiksel sistem iinde, esnek veri yaplarnngelitirilmesi ve istatistiksel modellerin sunumunda da kullanlmaktadr. Nesne

    ynelimli programlamann balangc, 1960'larn sonu ve 1970'lerin ba arasndagelitirilen simlasyon dili Simula'ya kadar uzanr.

    Nesne ynelimli veri modelinde, bir sorgunun karlnda mutlaka ncedentanmlanm belirli bir nesne kmesi olmas gerekir. Bir sorgunun sonucu olaraktesadfi bir nesne kmesinin elde edilmesi mmkn deildir. nk btn nesnelerin,modelde nceden tanmlanm olmas gerekmektedir. likisel modeldeki ilikikavram, nesne ynelimli modelde snf kavramna karlk gelmektedir.

    Nesne ynelimli modellemenin en nemli faydalarndan bir tanesi de, modeldekinesneleri tanmlarken, ortak znitelik ve metotlara sahip nesnelerin kullanldklar herfarkl ortamda, tekrar tanmlanmalarna gerek duyulmamasdr. Aksi taktirde budurum, hem tekrardan dolay yer kaybna, hem de modeldeki dinamik deiikliklerinpratik olmamasna sebep olacaktr. Nesne ynelimli veri modelindeki snf hiyerarisive kaltm zellii, bu olumsuz durumu ortadan kaldrarak, nesnelerin zniteliklerininve metotlarnn yeniden kullanmna imkn vermektedir. nk bir snf, ait olduu stsnfn tm zelliklerini tar ve o snftaki nesneler, modelin baka bir yerindekullanlaca zaman yeniden tanmlanmaya gerek kalmadan tekrar kullanlabilir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    22/94

    22

    VER TABANI YNETM SSTEMLER I Alako BURMA

    ekil 2.4.2.3.1. Snf Hiyerarisi

    Genellikle soyutlama olarak anlan bu tip ilemler, u balklar altndatoplanabilir:

    Snflandrma ve elemanlarna ayrma: Snflandrma, nesne ynelimli verimodeli yaklamnn temelini oluturmaktadr ve ayn zellik ve davranlara sahipnesnelerin nesne snflar iinde gruplanmas ile ilgilidir. Bir snftaki nesneler, osnfn tanmna gre tarif edilebilir. Bylece her nesneyi ayr ayr tarif etmeye gerekkalmaz. Elemanlarna ayrma ise snflandrma ileminin tersidir ve bir snf iindefarkl nesneler oluturulmas ile ilgilidir. Aadaki nesne ynelimli veri modeli bunabir rnektir.

    Bu rnekteki sahibi, adres, servis gibi nesneler, Otel snfnn elemanlardr ve

    tanmlar da birbirinden farkldr. rnein, Otel snfnn bir eleman,

  • 8/3/2019 -veri-tabani-1-E-Kitap

    23/94

    23

    VER TABANI YNETM SSTEMLER I Alako BURMA

    eklinde tanmlanrken, kurum nesnesinin bir eleman, aadaki gibi,

    ynetici nesnesinin bir eleman da, aadaki gibi tanmlanabilir.

    Tanmlama: Bu ilem hem soyut kavramlarn (snf), hem de somutkavramlarn (elemanlar), teker teker tanmlanmas ile ilgilidir ve anahtar deerleryardmyla yaplr.

    Toplam: Nesneler arasndaki ilikilerin daha st dzeyde, bir toplam nesne(veya tip) tarafndan temsil edilmesi ile ilgili bir soyutlama yntemidir. Bu toplam tipegenellikle anlaml bir isim verilir ve bu isim modelin baka yerlerinde, ona ait zellikler

    referans olarak verilmeden kullanlabilir. Genelletirme: Ayn zelliklere sahip bir grup nesnenin, soysal nesne olarak

    temsil edilmesi ile ilgili bir soyutlama yntemidir. rnein, bir kurumda alanpersonel u ekilde dzenlenebilir:

    Bilgisayar Ekibi nesnesi; Analizci, Programc ve letimci nesneleri iin birsoysal nesnedir. Aynekilde alanlar nesnesi de Bakm Ekibi, Bilgisayar Ekibi veYnetici nesneleri iin soysal nesne durumundadr.

    Nesne ynelimli veri modellerinin, ilikisel veri modellerine kar stnlklerivardr. Bunlar; NYVMnde veri tiplerinin (tamsay, gerek say, alfanmerik deer,tarih vb.) LVMe gre daha esnek olmas, nesne tanmlarnda soyutlamayaplabilmesine imkn vermesi ve bu tanmlarn semantik ieriklerinin de olmassayesinde, veri btnlnn daha kolay salanabilmesi ve ilikisel veri modellerinegre, mevcut veri yapsnda daha fazla genileme ve yeniden dzenleme imknlarnasahip olmas saylabilir.

    Not : Bu blmhttp://iletisim.marmara.edu.tr/bilisim/veri%20modelleri(csutcu%20dr%20tezinin%20bir%20bolumu).pdf

    adresindeki dosyadan alnmtr.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    24/94

    24

    VER TABANI YNETM SSTEMLER I Alako BURMA

    3. VER TABANI TEMEL KAVRAMLARI

    Veritaban (DataBase) : En genel tanmyla, kullanm amacna uygun olarakdzenlenmi veriler topluluudur. Mteri adres defterleri, rn sat bilgilerininsakland dosyalar, renciler ve renciler ait har ve not bilgileri gibi, personel bilgidosyalar gibi bilgi dzenleri veritabanlarna rnek olarak verilebilir. Belirli bir konuhakknda toplanm veriler; bir veritaban program altnda toplanrlar. stenildiindetoplanan bilgilerin tm veya istenilen zelliklere uyanlar grntlenebilir,yazdrlabilir hatta bilgilerinden yeni bilgiler retilerek bunlar eitli amalarlakullanlabilirler.

    Veriler fiziksel hafzada Veri Dosyalar (DataFiles) halinde saklanrlar. Dosya,bilgisayarlarn bilgileri birbirinden ayrarak saklamak iin kulland temel bilgidepolama yapsdr. Bir dosyada, bir ok veri yer alabilir. Bir personel otomasyonu elealnacak olursa, personel ile ilgili bilgiler, personelin alt birimler, meslekleri,ald maa ile ilgili bilgiler ayn veri dosyasnda ama farkl tablolar ierisinde yeralabilirler.

    Bu blmde veri taban ile ilgili temel kavramlar zerinde durulacaktr.ncelikle bu kavramlar tanmlanacak ve hangi amala kullanld anlatlacaktr. Bukavramlarla ilgili detayl rnek ve aklamalar sonraki blmlerde yaplacaktr.

    3.1. Tablo ve ElemanlarTablo verilerin satrlar (row) ve stunlar (colomn) halinde dzenlenmesiyle

    oluan veri grubudur. Veritabanlar bir veya daha fazla tablodan oluurlar. Tablolararasnda ilikiler dzenlenebilir. Tablonun satrlarndaki her bir bilgi kayt (record),stunlar ise alan (field) olarak isimlendirilir. Bir tabloda yer alan her bir kayt bir satrakarlk gelir. rnein personel listesi (yani personel tablosunu) ele alnacak olursa,her bir satrda bir personele ait bilgiler yer alr. Stunlardaki alanlar (Field) iseyaplandrlm bilginin her bir ksmn saklamak zere yaplan tanmlamadr. Birpersonele ait bilgilerin her biri stunlarda tutulur. Personelin sicil numaras, ad,soyad, alt birim, doum tarihi gibi bilgilerin her biri bir stun alandr. Her bir

    alan, yap

    land

    r

    lm

    verinin bir birimini tutmak zere tan

    mlan

    r. Her bir stunun ad

    ile birlikte dier bilgilerinin (en fazla ka birimlik bilgi bu hcrede saklanabilecek, netr bilgi saklanacak vs.) ortaya koyduu tanma alan denir.

    Herhangi bir veritaban programnda almaya balamadan nce yaplacakie uygun veri taban tasarm yaplmaldr. Bu iin en nemli aamasdr. Balangtaiyi tasarlanmayan bir veritaban ileride geriye dn olmayan verimsiz bir bilgiynna dnebilir. En basit hali ile veritaban tasarmnda; hangi tablolarn olaca,bu tablolarda hangi alanlarn olaca, tablolar arasndaki alan ilikilerinin nelerolaca ve alanlara ait zelliklerin tanmlanmas yaplr. Alan zelliklerinde alan ad,alan tipi, alann uzunluu, alann varsaylan deeri, bu alana yazlacak verileringeerlilik koullar balangta tasarlanmas gerekir.

    BLM 3

  • 8/3/2019 -veri-tabani-1-E-Kitap

    25/94

    25

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Veritabannn en nemli bileeni tablodur. Her veritabannda en az bir tablo

    bulunur. Veritaban ilemlerinde nce tablo/tablolar tanmlanr. Daha sonra tablolarakaydedilecek bilgilerin neler olaca ve bu bilgilere ait zellikler tanmlanr. Personelinsicil numaras ve bunun saylardan olumas, personelin ad soyad ve bununharflerden olumas gibi. Tanmlamalar bittikten sonra tablodaki bu alanlara aitgerek bilgiler yazlr. Yazlan bu bilgiler tablolarda tutulur. Kayt ile satr arasndakitemel fark, kayt ile kastedilen yapnn stunlar hakkndaki bilgileri de iermesidir.

    Tablolara girilmi bilgilerden belirli artlara uyanlarn liste eklinde alnmasnasorgu ad verilir. Tablolardan gerektiinde sorgulamalar yaplabilir. Deiik amalaragre sorgular hazrlanarak tablodaki bilgilerin tm, bir ksm veya belirli artsalayanlarn listesi alnabilir. rnein, muhasebe blmnde alan personelin

    listesi gibi. Sorgular SQL; ilerleyen blmlerde detaylar

    ile anlat

    lacakt

    r.

    3.2. Veri Tipi (Data Type)

    Bilgisayar, kaytlar tablolarda yapsal olarak tutarken, onlarn yaplarhakknda fikir sahibi olabilmek iin baz zelliklerinin nceden tanmlanmas gerekir.rnein, personel sicil numaras alannn mutlaka bir tam saydan oluaca,personel ad ve soyadnn harflerden oluaca, personelin alt blmn harf yada rakamlardan oluaca, personelin doum tarihinin tarih bilgilerinden oluacagibi. Bir veritaban oluturulurken, nce tablolar ve sonrada bu tablodaki her biralann veri tiplerinin ne olaca tanmlanmak zorundadr. Bir tablo alanna veri giriiyaplmadan nce o alann tamsay m yoksa harf mi; tarih mi yoksa ondalkl bir saym olaca tanmlanmal ve veriler daha sonra tabloya yazlmaldr. Ayrca, bir alannuzunluu ne kadar olacak, harf girilebiliyorsa en fazla ka harf girilebilecek?, rakamise en fazla ka basamakl olabilir? trnden sorular yantlamak iin de yine VTYSbir alan iin veri tipi belirlenmesini ister.

    Her Veri Taban Programnn veri tipleri farkldr. Aada Ms Access, MySQLve Oracle veri taban program rnek veri tipleri verilmitir.

    3.2.1. Access Veri Taban Veri Tipleri

    Metin : Yazlacak bilgiler harflerden veya hem harf hem de saylardan meydanageliyorsa kullanlacak veri trdr. Bu alana bolukta dahil olmak zere en fazla 255karakter bilgi yazlabilir. Bu alana yazlan bilgiler sadece saylardan da oluabilir, amayazlan saylar hesaplama ilemlerinde kullanlamazlar.

    Not : Uzun metin yada metin ve say bileimi kullanlabilir. Genelde aklama yada uzun bir not yazlacaksa bu alan kullanlr. 64.000 karakterle snrldr.

    Say : renci numaras, rencinin snf gibi saysal bilgiler iin kullanlr.Saysal alanlar matematiksel hesaplamalarda kullanlabilir. Bor, alacak, renciharc gibi.

    Tarih/Saat : 100 ile 9999 arasndaki yllar iin tarih ve saat deerleridir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    26/94

    26

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Para Birimi : Bir ile drt arasndaki ondalk basama olan, matematik

    hesaplamalarnda kullanlan para birimi deerleri ve saysal veriler.Otomatik Say : Tabloya yeni bir kayt eklendiinde, Access tarafndan atanan

    benzersiz ardk (birer birer artan) ya da rasgele saylar. Otomatik say alanlardeitirilemez.

    Evet/Hayr : Yalnzca iki deerden birini ieren alanlar Evet / Hayr, Doru /Yanl, Ak / Kapal gibi alanlar gibi.

    OLE Nesnesi : Access tablosuna balanm ya da kattrlm bir nesne.(Microsoft Word veya Excel alma sayfas gibi)

    Kpr : Tklandnda kullancy baka bir dosyaya, dosyadaki bir konuma

    veya Internetteki (www) bir blgeye ynlendiren balant.Arama Sihirbaz : Deerleri baka tablo, sorgu ya da deerler listesindeki

    deerlerden seilen bir alan yaratmamza yardmc olan sihirbaz.

    3.2.2. MySQL Veri Taban Veri Tipleri

    MySQL'de bir ok veri tr oluturulabilir. Ancak Web programlar asndannemli olan bir ka ve zellikleri yle sralanabilir:

    INT : Tamsay: -2147483648'den 2147483647 kadar deien diziye "signed"(iaretli), 0'dan 4294967295'e kadar deienine "unsigned" (iaretsiz) denir.

    VARCHAR(n) : n saysn gememek artyla deien boyutta karakter olabilir

    CHAR(n) : Kesinlikle n says kadar karakter olabilir.

    TEXT : En fazla 65535(2^16-1) karakter alabilen metin alan.

    MEDIUMTEXT : En fazla 16777215(2^24-1) karakter alabilen metin alan.

    DATE : 1000-01-01'den 9999-12-31'e kadar deiebilen tarih alan.

    TIMESTAMP : 1 Ocak 1970'den 18 Ocak 2038'e kadar olan ve

    Y

    l+Ay+Gn+Saat+Dakika+Saniye biimindeki zaman bilgisi.

    3.2.3. Oracle Veri Taban Veri Tipleri

    CHAR(say): Sabit uzunluktaki alfasaysal verilerin tutulabildii alanlar iinkullanlr. Oracle 7 ve daha nceki srmler iin bu alann uzunluu en fazla 255karakter olabilir. Oracle 8 ve sonrasnda 2000 karakter uzunluundadr. Eer, say ileifade edilen numaradan daha ksa uzunlukta veriler girilirse Oracle kaydn sonunaboluk ekleyerek sabit uzunlua kadar getirir. rnek char(20).

  • 8/3/2019 -veri-tabani-1-E-Kitap

    27/94

    27

    VER TABANI YNETM SSTEMLER I Alako BURMA

    VARCHAR2(say): Deiken uzunluklu alfasaysal verilerin tutulduu alanlar

    iin kullanlr. Oracle 7 ve nceki srmlerinde 2000 karakter, Oracle 8 ve sonrakisrmlerinde 4000 karakter uzunluunda bilgi girilebilir. rnek varchar2(30).

    NUMBER(n,p): Tamsay ve Gerel saylar iin kullanlan saysal veritipidir.Tam ksm en fazla 38 basamak olabilir. Ondalk ksmn basamak says da 84ile 127 arasnda deimektedir. Number veri tipinden tretilmi int[eger], dec[imal],smallint ve real veri tipleri de kullanlabilmektedir.

    DATE: Tarih tutan alanlar iin kullanlr. Bu tip alanlarda, tarih bilgileri ve saatbilgileri tutulabilir. Tarih formatlar Oracle yklenilirken seilen dile gre deiir.Amerikan standart iin DD-MON-YY dir. Yani bir tarih 03-MAY-01 eklindegrnr. NLS_DATE_FORMAT parametresi ile tarih format deitirilebilir. Tarihselalanlar zerinde aritmetiksel ilemler yaplabilir. Sistem tarihi SYSDATE fonksiyonukullanlarak renilebilir. Saysal veya karakter olarak tanml bir alandaki verilerTO_DATE fonksiyonu ile tarih tipine evrilebilir.

    LONG: 2 GB a kadar bilgi tutabilen karakter alanlar iin kullanlr. Bir tablodabu tipten ancak bir adet alan tanmlanabilir. Long veri tipine sahip alanlar iin indexoluturulamaz.

    Not: Oracleda boolean veri tipi yoktur. Bunun iin char(1) ya da number(1) eklindetanmlama yaplp kullanlabilir.

    Not: Bir tablonun alanlar kendi veri tipine uygun deerler alabildii gibi bir de NULL

    deer alabilirler. NULL deeri saysal olarak 0dan ve karakter olarak ta bokarakterden( ) fakldr.

    3.3. Zorlayc (Constraint)

    Herhangi bir alan iin girilebilecek verileri kstlayc kurallara zorlayclar denir.lgili alana girilebilecek deerleri snrlayan bir deyim yazlr. Kullanm bazen okfaydaldr ve zellikle yanl bilgi giriini engeller ve verilerin doru girilmesini zorunluhale getirir. Kullanc, zorlaycda belirtilen kural dnda bir veriyi tabloya yazmayaaltnda, VTYS hata verir. Bylelikle veritabanna kullancnn keyfi deerler

    girmesi nlenmi olur ve veri tabannda tutarllk salanm olur.

    rnein, bir rencinin snf bilgisine ait deerler yazlrken bu alan iinrakamsal 1 ile 6 arasnda bir zorlayc deer tanmlanrsa; veri girii srasnda 1 ile 6arasndaki deer dnda bir deerin snf bilgisi alanna yazlmas engellenmi olur.Dolays ile snf iin yazlmamas gereken bir deer; bilgi girii balangcnda kontroledilmi olur.

    ekil 3.3.1. de mavi izgilerle evrelenmi alanda Ms Access veri tabanprogramnda bir kstlaycnn tanmlanmas yaplm ve zellikle kullanc tarafndanyanl bilgi girii engellenmi ve verilerin doru yazlmas zorunlu hale getirilmitir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    28/94

    28

    VER TABANI YNETM SSTEMLER I Alako BURMA

    ekil 3.3.1. MS Access de tanmlanm zorlayc ekran

    3.4. Anahtar (Key)Anahtar bir veya birden fazla alann bir satr iin niteleyici olarak girilmesi iin

    tanmlanan zel bir eit zorlaycdr. Tekrarlamayacak bir anahtar alantanmlandnda, bu anahtar alana birincil anahtar alan denir. Primary Key, UniqueKey ve Foreign Key olmak zere 3 eit anahtar vardr.

    Primary Key (Birincil Anahtar) : Bir tablodaki, her bir satrn yerine vekilolabilecek bir anahtar veridir. Tabloda bu alana ait bilginin tekrarlanmamas gerekir.

    Standart olarak bir tabloda verilerin, fiziksel haf

    za stnde de hangi alana gredizileceini de primary key belirler. Bu, bazen bir tek alan olabilecei gibi, bazenbirden fazla alan da birleerek bir birincil anahtar oluturabilir. rnein programdapersonelin sicil numaras alanna gre aramalar yaplacaksa Primary key personelsicil numaras olmaldr. Personelin ad ve soyadna gre aramalar yaplacaksa ad vesoyad alanlar birletirilerek iki alandan tek anahtar alan tanmlamas yaplr.

    Unique Key(Tekil Anahtar): Unique Key olarak tanmlanan alan iin bir deersadece bir kere girilebilir. Bir baka satra daha ayn verinin girilmesine izin verilmez.Primary Key den farkl olarak Unique Key, NULL (boluk) deerini alabilir. rneinprogramda her personele ait bir sicil numaras olaca iin bu alan Unique key olaraktanmlanabilir. Ama isim alan birden fazla ayn isme sahip personel olabilecei iinbir Unique key olarak tanmlanamaz. Ali isimli birden fazla personel olabilecei gibi.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    29/94

    29

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Foreign Key (Yabanc Anahtar) : Bir tabloya girilebilecek deerleri baka bir

    tablonun belli bir alannda yer alabilecek veri grubu ile snrlandrmaya ve en nemliside ilikilendirmeye yarar. rnein, olmayan bir kitabn dn tablosunaeklenememesi ve dn tablosuna eklenen bir kitabn numaras araclyla detaybilgilerine eriilmesi gibi. Burada Kitap.KitapNo birincil anahtar alan; Odunc.kitapNoise yabanc anahtardr.

    3.5. Index (ndeks)

    Ktphanelerdeki kitaplarn raflardaki dizililerini ele alalm. Bir kitaparandnda, kitaplar bir kurala gre dizilmemilerse, her bir kitaba teker tekerbaklmas gerekir. Kitaplar raflara alfabetik dizilirse, her bir kitap tek tek gzden

    geirilmek zorunda kalnmaz. Aranlan kitap ile baklmakta olunan kitabn isimlerikarlatrlr, saa ya da sola ynelip aramaya devam edilir. Aynekilde yazarlarnaya da ktphane numarasna gre sralanm birer liste olursa, bu kriterlere gre dearanlan kitap kolayca bulunur. Veritabanlarnda indeks oluturularak, verilerveritabanndaki kaytl olduklar sradan baka bir srada gsterilebilir ve tpkktphanedeki bir kitaba ulamada olduu gibi istenilen veriye daha ksa srede vekolayca ulalabilir.

    Temelde indekslerin ilikisel veritabannda u ilevi vardr:

    1.Tekil indeksler, veri ilikilerini ve veri btnln salayan birincil anahtar alanlaroluturmada kullanlr.

    2.ndeks olan alann deerine gre bir kaydn kaytlar arasndaki srasn gsterirler.3.Sorgularn neticelenme srelerini ksaltrlar.

    Constraintler (zorlayclar) aslnda indexlere benzerler ama indekslerden farklolarak bir tek tablo stnde etkili olmayabilirler. zellikle yabanc anahtar zorlaycsilikisel veri girii iin olduka etkili bir zorlaycdr. Ancak bir Foreign Key tanmyapabilmek iin, FOREIGN KEY yabanc anahtarnn asl tablosunda birincil anahtarolmas gerekir.

    3.6. View (Grnt)

    Bazen, tablolar olduklarndan farkl gsterecek filtrelere ihtiya duyulur. Butrden ilevler iin VIEW kullanlr. VIEW ler, saklanm sorgulardan ibarettirler.Aslnda tablo gibi kullanlsa da halihazrda byle bir tablo veritabannda bulunmaz,sadece view(grnts) bulunur. VIEW leru grevler iin kullanlr:

    * Kullanclarn baz kritik tablolarn sadece belli stunlarn veya satrlarngrmesi istenildiinde,

    * Kullanclarn, eitli birim dnmlerinden gemi deerler grmelerigerektiinde,

    * Halihazrdaki tablolarda var olan verilerin baka bir tablo formatnda

    sunulmas gerektiinde ok kompleks sorgular basitletirmek iin

  • 8/3/2019 -veri-tabani-1-E-Kitap

    30/94

    30

    VER TABANI YNETM SSTEMLER I Alako BURMA

    rnein Kitap tablosunda sadece Bilgi Teknolojileri trndeki kitaplarn yer

    alaca bir VIEW u ekilde oluturulabilir:

    CREATE VIEW view_adi [(kolon1,kolon2...)] AS

    SELECT tablo1.kolon_adi_1, tablo2.kolon_adi_1FROM tablo_adi_1, tablo_adi_2 ;

    Not : MSAccess de VIEW oluturulamaz. SQLServer, SyBase, Oracle gibi orta vebyk lekli VTYS lerde oluturulabilir.

    3.7. Joining (ilikilendirme)

    ki veya daha fazla tabloyu birlikte sorgulama ilemine join ismi verilir. likiselveritabannn en temelinde birden fazla tablo stnde birlikte ilem yapabilmek yatar.Bu sayede verilerin tekrarlanmas nlenmi olur ve sonuta veri ynetimi kolaylar.rnein, Kitap tablosunda, Kitabn bir tekil numara ile listesini tutmak ve dnlistesinde de bu Kitabn kim tarafndan alndnn, geri getirilip getirilmediinin kaydtutulmaktadr. Bazen, bu iki tablodaki bilgilere de bir tek sorgu sonucu olarak ihtiyaduyulabilir.

    rnein; elimizde yle bir sonu olmaldr ki, hangi kitabn kim tarafndan

    dn alndn bir listede grme ihtiyac duyulsun. Bu iki tablo birbirine, kitapNoalan ile baldr. nk, dn verilen bir kitap hakknda detayl bilgi edinilmekistenildiinde, dn listesinden kitap numarasn alp, daha sonra Kitap tablosundanayn numaray bulmak ve karlndaki kitap hakkndaki detaylar grmek.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    31/94

    29

    VER TABANI YNETM SSTEMLER I Alako BURMA

    4. VER TABANI TASARIMI ve NORMALZASYONU

    4.1. Veri Taban Tasarm

    Iyi bir veritaban tasarm yapabilmek iin yetenek, bilgi ve tecrbe oknemlidir. ncelikle, ilikisel veritabannn tanmn ve bununla ilgili 5 Normalizasyonkuraln ok iyi bilmek gerekir. 5N, tasarm aamasnda yol gstermek yerine hangiartlara uygun tasarm yaplmas gerektiini anlatr. Bazen, bu kurallardanvazgemek durumunda olunabilir ancak, veritabannda saklanacak verilerin hacmiarttka yani veri taban bydke bu kurallarn daha sk uygulanmasn gerekir.

    Bir veri taban ile proje yaplrken iin en nemli aamas veri tabannntasarlanmasdr. Balangta yanl tasarlanan bir veri taban ile yaplan projedesonradan yaplacak dzenlemelerle geri dn yaplamaz. O nedenle Veri tabantasarm yaplrken aadaki maddelere uyularak yaplmas gerekir.

    1. Nesneler Tanmlanr: Nesne, eitli zellikleri bulunan bir varlktr.Herhangi bir proje de ncelikle nesneler tanmlanr. Birka proje iin nesnelere rnekverilecek olunursa,

    Ktphane sistemi : Kitap, yeler, trler, dn hareketleriE-ticaret sistemi : rnler, mteriler, sipariler, teslimat, fatura bilgileri, reticiler,tedarikiler, datclar...Futbol Ligi : Takmlar, sahalar, oyuncular, fikstr, hakemler, antrenrlerOkul Sistemi : renciler, retmenler, dersler, dersliklerPersonel Sistemi : alanlar, meslekler, allan birimler, maalar, izinlerSzlk : kelimeler, anlamlar, diller

    Not : Tablolara isim verilirken mmknse tekil isimler kullanlmaldr. Byle yaplrsa;hem daha anlalr bir tasarm yaplm olur hem de daha sonra kodlamaaamasnda karkln nne geilmi olur. rnein iinde Kitap ile ilgili bilgilerbulunduran tablonun adn Kitap koymak olduka mantkldr.

    2. Her nesne iin bir tablo oluturulur: Her nesne iin bir tablo oluturulurve her bir tabloya ierecei veriyi en iyi anlatan bir isim verilir. Tablo oluturma ii, birkat stnde sembolik olarak gsterilebilir veya dorudan MS Access, SQL Server,MySQL, Oracle ... gibi kullanlmakta olunan VTYS stnden de oluturulabilir. Tmproje bitirilinceye kadar bu tablolar zerinde muhtemel deiiklikler yaplabilir.

    3. Her bir tablo iin bir anahtar alan seilir: Veritabanndaki herhangi birveriye eriilmeden nce tabloya eriilir. Bir veritabannda zerinde en ok ilemyaplan nesne grubu genellikle tablolardr. Bu aamaya kadar hangi tablolarnoluturulacana karar verildi. Her bir tablonun iinde hangi bilgilerin saklanlacakabaca tasarlanr. Bu aamada, tabloda yer alacak her bir kayd bir dierinden

    ayrabilecek bir stuna ihtiya duyulur.

    BLM 4

  • 8/3/2019 -veri-tabani-1-E-Kitap

    32/94

    30

    VER TABANI YNETM SSTEMLER I Alako BURMA

    rnein bir kitap seilmek istenildiinde, bu kitabn hangi kitap olaca yle bir

    anlat

    labilmeli ki, baka hibir kitap ile kar

    mamal

    d

    r. Bunu yapman

    n tek yolu, biralan birincil anahtar alan olarak belirlemektir. Anahtar alan seilirken, kstlamadsrece, doal alanlar seilmeye dikkat edilmelidir. rnein aralar ile ilgili bir tabloyaplrken, plakalar anahtar alan olarak belirlenebilir. nk her bir plakadan bir tekara trafie kabilir ve plakalar kstlamaz. renci tablosu iin, renci numarasdoal bir anahtar alandr nk ayn okulda, ayn numaradan bir rencinin dahabulunmas sz konusu deildir. Personel tablosu iin, personel sicil numaras doalbir anahtar alandr nk ayn iyerinde, ayn numaradan bir personel dahabulunmaz.

    Kitap tablosu iin ISBN numaras anahtar alan olarak tanmlanabilir ama, aynkitaptan iki adet olduunda, ISBN numaras bizi kstlar. Elimizde iki adetnmzdeki Yol kitab varsa, her iki kitabn da ISBN numaras ayndr. Kitaplardanbirisi eski dieri yeni olabilir. Bu bir kargaaya neden olabilir. nk eski kitab kime,yeni kitab kime verdiimizin takibini ISBN numaras ile yapmak mmkn deildir.Ancak bir E-Ticaret sitesi tasarlanrken, stoktaki tm kitaplar birbiri ile edeerolacandan ya da yle olduu varsayldndan ISBN numaras birincil anahtar alanolabilir. Bu durumda, adet diye bir niteliin ayn tabloda yer almas gerekecektir.

    4. Nesnelerin gerekli her bir zellii iin tabloya bir stun eklenir: Tabloadlar tanmlandktan ve anahtar adlar belirlendikten sonra, tablolara srasyla adnveren nesnelerin her bir zellii iin bir alan (stun) eklenir.

    rnein, kitap iin; Kitap no, ISBN no, kitap ad, yazar, tr, sayfa says, zeti,fiyat, bask yl...

    ye iin; UyeNo, ad, soyad, e-mail adresi, ev telefonu, cep telefonu, i telefonu....

    Personel iin; Personel sicil No, ad, soyad, e-mail adresi, meslei, alt birim,maa....

    Bu hazrlklar yaplrken yaplmas istenilen proje ile ilgili basl formlar vs.varsa, onlarn incelenmesi tabloya eklenecek stunlarn hangi zellikler olmasgerektii konusunda karar verilmesinde yardmc olurlar.

    PUCU : 1. En baa birincil anahtar olarak belirlenen alan eklemek bir kural

    deildir, ancak tablonun anlalrl ve gze ho grnmesi asndan tercih edilmesifaydal olacak bir tekniktir.2. Genellikle, yapay birincil anahtar alanlar tablo ad ile balar ve sonunda ID

    vardr. Ogrenci tablosu iin ogrenciID, Personel tablosu iin personelID gibi.

    5. Tekrarlayan nesne zellikleri iin ek tablolar oluturulur : Aklda hep usoru olmaldr: veri tekrar olacak m? Veri tekrar olacaksa bir yerlerde hata yaplyordemektir. Bu durumda eldeki tablonun en az bir tabloya daha ayrlmas gerekiyordemektir.

    u da unutulmamaldr, her projeye uyacak evrensel bir veritaban tasarm

    teknii yoktur. Yani herey belli kurallar erevesinde ne kadar detayyla dnlptasarlandna baldr.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    33/94

    31

    VER TABANI YNETM SSTEMLER I Alako BURMA

    rnein, her bir kitap iin tr belirledik ama, bir kitap hem kiisel geliim

    kategorisine hem de hikaye kategorisine girebilir. Ya da e-ticaret sisteminde birrnn birden fazla reyonda yer almas gerekli olabilir. Veya bir kitap birden fazla kiitarafndan yazlm olabilir. Bir kitap iin birden fazla tr kaydedebilme ele alnsn:

    Bu trden bir sorunu zmek iin ilk akla gelen ey, Kitap tablosunda tr alaniin 2.stun daha eklemek olabilir. Bu tabloya 2.Tr ve 3.Tr diye iki stun alan dahaeklemek. Ama ou kitap bir tek trdendir ve bu kitap iin eklenen 2 alan hep bokalacaktr. te yandan, 4.tre birden giren bir kitap olduunda 4.tr bilgisi nereyeyazlacaktr? Ayn alana m? Ya da drt adet blm m alacak? Bunlar, veritabantasarmnn doasna terstir.

    2.zm yolu ise, bir kitab iki kere kaydedip, birincisini, Kiisel Geliim tr

    olarak; ikincisini de Hikaye olarak girmektir. Bu durumda tabloda ayn kitaba ait ikikayt olacaktr ve kitap tr dndaki dier tm bilgiler tekrar edecektir. Ya da bir sresonra, kitap hakknda girilen bilgilerin yanl olduu fark edildi. Hangi kaytgncellenecektir? Ya biri dzeltip dieri unutulursa? Sonuta veri tekrar ve veribtnlnn bozulmas sz konusudur.

    Bu da yine ilikisel veritaban tasarmnn doasna terstir. Bu durumda, trlerdiye bir yeni tablo oluturup, bir de kitap_turler diye 2.tablo yu oluturduktan sonrabu trden bilgileri burada tutmak gerekecektir. Bylelikle, hibir trde yer almayankitaptan 10 ayr trde yer alan kitaba kadar btn olaslklar iin bir zmgelitirilmi olur.

    Ayn ilem renci ve renciye ait ders notlar iin dnlebilir. renciyeait ders not bilgilerinin yazld tabloya ait stunlarn aadaki gibi olduunuvarsaylrsa;

    renciNo DersinAd VizeNotu FinalNotu Ortalama

    Bir renci ald dersten baarl olursa vize ve final notu yazlarak ortalamashesaplanr ve sorun yaanmaz. Ama renci bu dersten baarsz olursa bu dersiyeniden almak zorundadr. Yeniden ald bu derse ait ders notlarnn nereyeyazlacann dnlmesi gerekir. Eski notlarnn da kalmas gerektii dnd

    bu durumda tablo aadaki gibi tasarlanabilir.

    renciNo DersinAd VizeNotu FinalNotu Ortalama VizeNotu FinalNotu Ortalama

    03101001 BILGISAYAR 37 40 45 48

    Tabloda 2 adet not yazlabilecek alan vardr. Peki ama rencinin dersi ikidenfazla kere tekrar etmesi gerekirse ne olacak? Bu durumda yeni stun alanlar meklemek gerekecek? Tabloya 3 tane not yazma alan eklendiinde dersi bir kere alanve baarl olan renciler iin 2. ve 3.alanlar bo kalacaktr. Bu her renci iindeiebilecek bir durum olduu iin tablo tasarmnda bu mantkla dnmek dorudeildir. Yukarda ki rnekte de akland gibi bu ekilde bir tasarm yaplmaz.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    34/94

    32

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Ayrca; tabloda tanmlanan her stun alan, bu alana hibir bilgi yazlmasa bile

    HDde yer kaplayaca iin;diskte tanmlanan bu alanlar bouna kullanlm olacaktr.Dolays ile diskte de bo yere alan igal edilmi olacandan tabloda gereksiz

    stun alanlarnn tanmlanmamas gerekir. rnein, tabloda gereksiz tanmlanan birstun alan diskte 4byte yer kaplyor ise ve tabloda toplam 15 bin renci var ise;gereksiz kullanlan toplam HD alan 4 * 15.000 = 60.000 byte olacaktr. Sadece tekbir alan iin bu kadar alann bo yere kullanlm olmas ho bir durum deildir.

    Bu durumda tablo tasarmnda yaplmas gereken dzenleme aadaki gibiolmaldr. Bir renciye ait dersler yazlrken alt alta satrlareklinde kayt (record)olarak yazlarak yaplmaldr.

    renciNo DersinAd VizeNotu FinalNotu Ortalama03101001 BILGISAYAR 37 40

    03101002 INGILIZCE 56 58

    03101001 BILGISAYAR 45 48

    03101001 BILGISAYAR 69 78

    Doru tablo tasarm ve kayt girii yukardaki tabloda olduu gibi olmaldr.Burada 03101001 numaral rencinin BILGISAYAR dersine ait notlar bu tablodanilerleyen blmde anlatlan SQL cmlecii ile seilerek bulunabilir.

    6. Anahtar Alana Bal Olmayan Alanlar Belirlenir : likisel veritabannda,tablodan herhangi bir tek kayda erimek iin mutlaka bir farkl zellik salanmaldrve bu zellik de anahtar alan tarafndan salanr. Ancak bazen, anahtar alan ile aynsatrda yer ald halde, anahtar alan ile birebir ilikisi olmayan bir alan yer alabilir. Butrden alanlarn elimine edilip ayr tablolara ayrlmas gerekir. rnein, dn tablosuele alnacak olursa, dn verilen her kitap iin dn alann adresi de bilinmekistenirse, bu dn tablosuna yazlamaz. nk dn tablosunun birincil anahtaralan oduncNo dur ve bu alan, dn verme ilemi ile ilgilidir. Oysa dn alannadresi, dn alan kiinin kendisine bal bir zelliktir. Bu kiinin her ald kitap iinadresini tekrar yazmaya gerek yoktur. Ayn ekilde otomasyon ierisinde bakayerlerde de bu kiinin adres bilgilerine muhtemelen ihtiya duyulabilir nk adres,yenin bir zelliidir.

    dn verilen kitabn adresi renilmek istenildiinde, yeler adnda bir tablodaha alp, burada herkesin adres bilgisi tutulmak zorunda kalnr. dntablosunun ise, oduncAlan bilgisi olarak, yeler tablosunun birincil anahtar alannabir balant (yabanc anahtar) iermesi daha doru olur.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    35/94

    33

    VER TABANI YNETM SSTEMLER I Alako BURMA

    7.Tablolar arasndaki ilikiler tanmlanr : Her biri bir nesneye dair zellikleri

    barndran tablolarn tm gz nne alnr ve birbirleri ile olan ilikileri tanmlanmayaallr. rnein kitab dn verebiliriz. Bu durumda, dn tablosu ile Kitap tablosuilikili olacaktr. Kitap yelere dn verilir. Bu durumda, dn ile yeler arasnda dabir iliki vardr. Trler ile Kitap arasnda bir iliki vardr, bir kitabn en az bir tre dahilolmas gerekir.

    Bu projedeki nesneler (tablolar) arasnda ilikiler aada yer almaktadr:

    ekil 4.1.1. rnek Projenin SQL Server 2000 deki diyagram

    likili her iki tablo bir birincil alan ve bir yabanc anahtar alan stndenbirbirine balanr. Ayn diyagramn bir benzeri Ms Access veya Oracle veritabanlarnda da hazrlanabilir.

    Farkl tablolardaki iki alan ayn veriyi tutuyorsa, iki alana da ayn ad vermek,karkla yol aabilir gibi grnse de aslnda daha dzgn bir yap ortaya kar.KitapNo alan kitap tablosunda da dn tablosunda da kitap numarasn tutmaktadr.

    Bu alanlardan birine KitapNo, dierine oduncGidenKitapNo demek, kafa karklnaneden olabilir. En nemlisi de her alan iin her tabloda farkl isimler kullanmakdeikenlerin isminin aklda tutulmasn zorlatracak ve daha sonraki tablolarzerinde ilem yaparken ilemleri zorlatracaktr. Her seferinde ilgili alann hangiisimle kaydedildiine bir listeden bakmak zorunda kalnacaktr. nk byk birveritaban projesinde 250 den fazla tablo bulunabilir. Her tabloda da bir ok alannbulunaca dikkate alndnda her alana ait isimlerin aklda tutulmas mmknolmamaktadr. Birden fazla tabloda olan alanlar iin; ayn ismi kullanmak bu zorluuortadan kaldracaktr. En mantkls her ikisine de KitapNo demektir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    36/94

    34

    VER TABANI YNETM SSTEMLER I Alako BURMA

    4.2. Veri Taban Normalizasyonu

    Aslnda ilikisel veri taban tasarmndan ziyade, bir tablo ierisinde yer alacakkaydn nelerden olumasna karar vermeye yarayan normalizasyon kurallar balbana bir ilemdir. Normalizasyon; veritaban tasarm aamasnda gerekli bir ilemolduundan bu blmde incelenecektir. Genel kabul grm 5 normalizasyon kuralvardr. Burada her bir kural tam olarak anlatmak mmkn deildir. Ancak bu kurallar,ilikisel veritabannn tanm ile birlikte ortaya konulmutur. zet olarak fikri vermesiasndan normalizasyon kurallarna aada yer verilmitir.

    1. Normalizasyon Kural :

    Bir satrdaki bir alan yalnzca bir tek bilgi ierebilir. Birden fazla yazar olan kitap

    iin yazar1, yazar2 ve yazar3 diye alanlarn almas ile bu kurala uyulmam olunur.Byle bir durumda, ayrca yazarlar tablosu da oluturularak kural inenmemi olur.

    Veri taban tasarmnda; verileri virgl veya bir baka karakter ile ayrlp aynalana girilmesi ve daha sonra program ierisinde split ile bu deerlerin ayrlmasgenellikle sk yaplan hatalardan birisidir. Ancak bu ilikisel veritabannn doasnaterstir. Bunun yaplmamas gerekir.

    2. Normalizasyon Kural:

    Bir tablo iin, anahtar olmayan her alan, birincil anahtar olarak tanml tm

    alanlara bal olmak zorundadr. rnein, dn tablosuna KitapAdi diye bir alaneklense idi, bu sadece dn verilen kitap ile ilgili bir bilgi olacakt ve oduncNo nabal bir nitelik olmayacakt. Bunu zmek iin, kitap adlar ayr bir tabloda tutularaksorun zlebilir.

    Ya da anahtar alann birden fazla alandan olutuu tablolarda, anahtaralanlardan sadece birine bal veriler tabloda yer almamal, ayr bir tabloyatanmaldr. Bunun tersi de geerlidir. Yani iki ya da daha fazla tablonun birincilanahtar ayn olamaz. Byle bir durum sz konusu ise, bu iki tablo tek tabloyaindirilmelidir.

    3. Normalizasyon Kural:

    Bir tablo iin, anahtar olmayan bir alan, anahtar olmayan baka hi bir alanabal olamaz. rnein, kitaplar iin cilt tipi adnda bir alan eklenip burada da kartonkapak iin K, deri cilt iin D, spiral cilt iin S yazlsayd, bu kodlama, kitap tablosununbirincil anahtar olan kitapNo alanna bal bir kodlama olamazd. nk bu kodlamabir baka anahtar olmayan alana baldr. Bunun sonucunda da veritabannda,karl olmayan bir kodlama yer alm olurdu. Cilt tipi bilgisini kodlu olarak tutanalan aslnda cilt tipi aklamas olan baka bir alana baldr. Bu iliki baka birtabloda tutulmaldr. Bu durumda, cilt ekillerini tutan bir tablo almas gerekir. Butablonun alanlar da ciltTipKodu ve ciltSekli olabilir. Ancak bundan sonra, kitaplartablosunda ciltTipi adnda bir stun ap buraya da D,S,K gibi kodlar yazlabilir.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    37/94

    35

    VER TABANI YNETM SSTEMLER I Alako BURMA

    4. Normalizasyon Kural:

    Birincil anahtar alanlar ile anahtar olmayan alanlar arasnda, birden fazlabamsz bire-ok ilikisine izin verilmez. rnein, tabloda yer alan bir kitap, hemhikaye kitab hem de kiisel geliim kitab olabilir. (Bu durumda kitabn ad, kiiselgeliim hikayeleri olurdu her halde) Bu durum Kitap tablosunda nasl ifade edilebilir?

    4.Normal formu salamak iin, her bamsz bire ok iliki iin ayr bir tablooluturulmas gerekir. Bu rnekte, trler iin yeni bir tablo almas gerekir. Tablonunadna trler denilebilir. Daha sonra kitapTurleri diye bir baka tablo daha almasgerekir. Kiisel Geliim Hikayeleri adl kitap iin, ncelikle kitap numaras, Hikayeblmnn kodunun yer ald bir satr; ardndan da yine kitap numaras, ardndanda kiisel geliim trnn kodunun ald yeni bir satrn daha eklenmesi gerekir.

    5. Normalizasyon Kural:

    Tekrarlamalar ortadan kaldrmak iin her bir tablonun mmkn olduunca kkparalara blnmesi gerekir. Aslnda ilk 4 kural sonuta bu ie yarar ancak, bukurallar kapsamnda olmayan tekrarlamalar da 5 normalizasyon kural ile giderilebilir.

    rnein, kitaplar iin bir edinme ekli bilgisi girilecek stun eklenmek istenebilir:Bu blme girilebilecek bilgiler bellidir: Ba veya satn alma.

    Bu bilgiler baka bir tabloda tutulabilir. Bylelikle, kullanclarn bu alana gelii

    gzel bilgiler girmesi engellenmi olur. Bu da sorgulama esnas

    nda veriler aras

    ndabir tutarllk salar. Bu ilem sonucunda, tutarszlklara neden olabilecek ve sktekrarlayan veriler baka bir tabloya tanm olur. Bu tablo iin, veritabanprogramlamada look-up table terimi kullanlr.

    Ancak, veritaban normalizasyon kurallar, bir ilikisel veritabannn tasarlanmaaamalarn deil de ilikisel veritabannda yer alacak kaytlarn ilikisel veritaban ileuyumlu olup olmadn denetlemeye yneliktir. zetle ilikisel bir veritaban tasarmu drt eyi barndrmaldr.

    1. Veri tekrar yaplmamaldr.2. Bo yer mmkn olduunca az olmaldr.

    3. Veri btnl salanmaldr.4. Veriler, aralarnda bir iliki tanmlanmaya msait olmaldr.

    4.3. likisel Veri Taban Ynetim Sistemleri

    Veritaban Ynetim sistemlerinden gnmzde kullanm en yaygn olan ilikiselveritabandr ve en yaygn veritaban ynetim sistemleri, ilikisel Veritaban YnetimSistemleri (VTYS) dir. likisel veritabannn en nemli yan, tablolardan olumasdr.Daha nemli yan da bu tablolarn birbiri ile ilikilerinin olmasdr. VTYS lere ilikiseldenmesinin anlam budur.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    38/94

    36

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Bir veritabannda ilikiden sz edebilmek iin en az iki tablonun yer almas

    gerekir ve bu iki tablodaki verilerin birbiri ile birekilde ilikilendiriliyor olmas gerekir.Yine bir nceki rnek olaya dnecek olursak, Kitap listesi ile dnler listesi arasndabir iliki vardr. nk Kitap listesinde olmayan bir kitap bizde yoktur ve dnverilemez. Haliyle de mantk olarak bu trden bir dn bilgisi dn listesinde yeralmamaldr. Olaya tersten baklacak olursa, geri dnmeyen bir kitap hakkndakidetaylar renilmek istenildiinde dn listesindeki kitap numaras alnr. Dahasonra ayn numaraya karlk gelen kitap, Kitap tablosundaki satrda bulunur. Busatrdaki bilgiler, bize kitap hakkndaki tm detaylar verir.

    Kitap tablosundaki kitapNo alan aday anahtar (indeks)tir. Odunc tablosundakiKitapNo alan, yabanc anahtar (foreign key) alandr, nk Kitap tablosundaki bir

    kayd

    sembolize etmektedir. Tm bunlar

    n ard

    ndan VTYS leri hakk

    nda zet olarakdiyebiliriz ki;

    Bir Ilikisel Veritaban Ynetim Sistemi tablolar stnde u ilevi yerinegetirmek zorundadr.

    1.Seme : Herhangi bir tabloda (listede) yer alan tm bilgileri gsterebilmelidir.rnein, Kitap tablosunun bir dkmn verebilmelidir ya da kitap listesinden bazkitaplarn bilgilerini getirip dier bir ksmn getirmeyebilmelidir.

    2. zdrme : Herhangi bir tablodan sadece belli stunlarn yer ald semeilevlerini yerine getirebilmelidir. rnein, can isteyen bir kullanc kitabn sadeceadn ve ka sayfa olduunu seebilmelidir.

    3.Birletirme : Birden fazla tabloda yer alan bilgiler, yeri geldiinde tek birtabloymu gibi sunulabilmelidir. rnein, dn alnp da geri getirilmeyen kitaplarnadlar ve kimler tarafndan alnd bir tek tabloymu gibi gsterilebilmelidir.

    VTYS bu 3 temel ilevi yerine getirebilmelidir. Bunlardan , ikisi veya biriayn anda yerine getirilmek durumunda kalnabilir. rnein, sayfa says 200 denbyk kitaplarn sadece ismi grlmek istenirse, hem izdrme hem de semeilemine ihtiya duyulur. Veriler ve depolanma ekilleri farkl olabilir. nemli olan,VTYSnin SQL ile ynetilebilir olmasdr. Bylelikle, verilerin bilgisayarda fizikselolarak ne ekilde depoland, kullanc bilmek zorunda deildir.

    Yani, kullan

    c

    temel veri saklama ilem ve yntemlerinden izole edilmi olur.Kullancnn verileri etkili olarak kullanmas iin bilmesi gereken tek ey SQLolmaldr. SQL ilerleyen blmlerde anlatlmtr.

  • 8/3/2019 -veri-tabani-1-E-Kitap

    39/94

    39

    VER TABANI YNETM SSTEMLER I Alako BURMA

    5. RNEK BR VER TABANI TASARIMI ve NORMALZASYONU

    Bir veri taban ile proje yaplrken iin en nemli aamasnn veri tabannntasarlanmas olduundan ve bunu yaparken hangi kurallara gre yaplacandanbahsedilmiti. 4.blmde veri taban tasarmnda tablolar ve stunlardan bahsedilmi,normalizasyon ile de tablolara kaydedilecek bilgilerin zelliklerinden ve hazrlanmakurallarndan bahsedildi.

    Bu ders notu kapsamnda veri taban ynetim sistemleri ve SQL komutlar

    anlatlmaktadr. Bu blmde rnek bir veri taban tasarlanacak ve veri tabannormalizasyon ilemi yaplacaktr. Tanmlanan ve veri girii yaplan bu veri tabanilerleyen blmlerde kullanlacak ve rneklerle konularn daha iyi anlalmassalanacaktr.

    rnek proje bir iyerinde alan personel ve personele ait meslek, allanbirim ve maa ilemlerini kapsamaktadr. Burada personel projesindeki ilere ait birksm ilemler rnek olarak verilecektir. Unutulmamaldr ki bir iyerindeki personelilemleri ok daha fazla tablo, stun ve ilemlerden meydana gelmektedir. Buradakonunun anlalabilmesi asndan projenin bir ksm zerinde allacaktr.

    5.1. rnek Personel Projesi Veri Taban Tasarm

    rnek projemizin ad personel ileri ve projemiz 4 adet tablodan meydanagelmektedir. Bunlar; Personel Bilgileri, Personelin alt Birimler, Personele AitMeslekler ve Personele Ait Maa bilgilerinin tutulduu tablolar. Bu tablolar ve butablolara ait alan (stun) bilgileri aada listelendii gibi dzenlenmitir.

    TabloAd TabloAlanlar

    Personel SicilNo,Ad,Soyad,MeslekKodu, BirimKodu, DoumTarihi, AdresMeslekler MeslekKodu, MeslekAdallanBirim BirimKodu, BirimAdMaaslar SicilNo, MaasAy, Maas

    Veritabanlarnda tablolar matris yapsnda tutulurlar. Stunlar tablo alanlarn,satrlar ise tablodaki kaytlar (record) tekil ederler. Ders notlarnn ilerleyenblmlerinde tablolar matris yapsnda grntleneceklerdir.

    Burada normalizasyon kurallarna gre bilgiler ayr tablolarda tutulmulardr.Meslekler ve allanBirim iin iki ayr tablo tanmlanmtr. Bunun nedeni personeltablosunda meslek ve allan birim alanna bilgi yazlrken veri btnl vestandart salanabilmesi iindir. Bu tr bilgi girilerinde ayr tablolarn tanmlanmasgerektii 3.normalizasyon kuralnda sylenmiti. Personel tablosunda kiiye ait

    meslek bilgisi de veri btnl ve standardn salanmas asndan kodlanarakyazlacaktr. Veri tabannda bu kural ok nemlidir.

    BLM 5

  • 8/3/2019 -veri-tabani-1-E-Kitap

    40/94

    40

    VER TABANI YNETM SSTEMLER I Alako BURMA

    Meslekler personel tablosuna yazlrken kod eklinde tanmlanmayp;

    personel tablosunda isim olarak yazlsayd bilgilerde sorun yaanrd. rnein :Mdr yardmcs meslei yazlrken kullanc bu bilgiyi kendine gre ksaltarakveya byk kk harf dikkate almayarak yazabilir. Bir kii iin Md.Yar, yazarkenbir dieri iin M.Yard. bir dieri iin Mdr Yardmcs veya MDRYARDIMCISI yazabilir. Veri tabannda bu 4 bilgi birbirinden farkl bilgilerdir. Dahasonra Mdr Yardmcs olan kiilerin sorgusu yaplacak olursa bu 4 bilgi birbirindenfarkl olaca iin doru bir sonu elde edilemeyecektir. Halbuki bu alana mdryardmcs iin 2 gibi bir kodlama yaplr ve bu alana 2 bilgisi yazlrsa meslei 2olanlarn sorgusu iin elde edilecek veriler doru olacak ve ekrana 4 kiiye ait bilgigelecektir. Bu nedenle Meslekler tablosu ayr yaratlmaldr.

    Ayney allanBirim iinde yaplm ve bu alan da kodlanmtr. rnein :alt birim Bilgi lem olan personele ait bilgiler tabloya yazlrken kullanc bunuda kendine gre ksaltarak veya byk kk harf dikkate almayarak yazabilir. Birkii iin Bilgi lem, yazarken bir dieri iin B.lem bir dieri iin BLG LEMveya Bil.l. yazabilir. Veri tabannda bu 4 bilgi birbirinden farkl bilgilerdir. Dahasonra Bilgi lem de alan kiilerin sorgusu yaplacak olursa bu 4 bilgi birbirindenfarkl olaca iin doru bir sonu elde edilemeyecektir. Halbuki bu alana Bilgi lemiin 3 gibi bir kodlama yaplr ve bu alana 3 bilgisi yazlrsa alt birim 3 olanlarnsorgusu iin elde edilecek veriler doru olacak ve ekrana 4 kiiye ait bilgi gelecektir.

    Meslek ve allan birim iin ayr tablo tanmlanmasa ve bu alanlar

    kodlanmadan personel tablosu alan

    ierisine dahil edilmi olsayd

    tablo yap

    s

    aadaki gibi olurdu.

    ekil 5.1.1. Personel tablosu iin ayr

    tablo tan

    mlanmam

    hali

    ekil 5.1.2. Personel tablosu iin ayr tablo tanmlanm hali

  • 8