1 / 37

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ. Öğr . Gör . Murat ASLANYÜREK. Giriş.

darius-tate
Download Presentation

VERİ TABANI YÖNETİM SİSTEMLERİ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VERİ TABANI YÖNETİM SİSTEMLERİ Öğr. Gör. Murat ASLANYÜREK

  2. Giriş Veritabanıkavramı ilk olarak 1980’li yıllardaortayaatılmışolmasınarağmen; günümüzdehemenhementümverikullanılanalanlardaVeritabanıYönetimSistemleri(VTYS) olmadanhiçbirşeyyapılamaz hale gelmiştir. Basitbir Web uygulamasından, devasakuruluşlarınağırverilerinekadar, günümüzdebirçokalandaveritabanıuygulamalarınaihtiyaçduyulmaktadır. İşletimsistemlerindensonra en popülerve en çokgelirgetirenyazılımlarVeritabanıYönetimSistemiYazılımlarıdır.

  3. Günümüzde, birçokalandakiveriişlemlerindepekçokVeriTabanıYönetimSistemleriprogramlarıyaygınolarakkullanılmaktadır. Birbirindenfarklıisimleradıaltındaanılanbuprogramlariçinbirçoknesnebirbiriileaynıtemelişleviyerinegetirmekteolup, yaklaşıkolarakaynıteorileredayanarakçalışırlar.

  4. Veritabanı, birkuruluşunuygulamaprogramlarınınkullandığıoperasyonelverilerinbütünüdür. VeritabanıYönetimSistemleri, verilerinfizikselhafızadakidurumlarını, kullanıcılarınerişimlerinidüzenleyensistemlerdir. İlişkiselVTYS’lergünümüzdeyaygınolarakkullanılmaktadır.

  5. TEMEL VERİ TABANI KAVRAMLARI 1. VeriNedir? Verikelimesinintekilhali (datum) Latince’dengelmektedir. Veri, birkişininformülleştirmeyeveyakayıtetmeyedeğerbulduğuher türlüolayvefikiranlamındadır. Bilgisayardaveridepolanacağızaman, çoğunluklaveritabanıyönetimsistemlerikullanılarakgerçekleştirilir. Çünkübutip sistemlerdeyanlışverinindepolanmasınıve/veyaverininistenmeyenkişilerinkullanımınasunulmasınıengelleyenbirtakımimkânbulunmaktadır.

  6. 2. VeriTabanıNedir? Veritabanı en geneltanımıyla, kullanımamacınauygunolarakdüzenlenmişverilertopluluğudur. Birbirleriyleilişkileriolanverilerintutulduğu, mantıksalvefizikselolaraktanımlarınınolduğubilgidepolarıdır. Veritabanlarıgerçektevarolanvebirbirleriyleilişkisiolannesneleriveilişkilerimodeller.

  7. Veritabanı, birkuruluşunuygulamaprogramlarınınkullandığıoperasyonelverilerinbütünüdür (toplamıdır). Burada; “kuruluş”, birokul, üniversite, banka, birüretimşirketi, hastane, devletkuruluşu, vb. olabilir. “Operasyonelveri” birkuruluşunçalışabilmesi, işleyebilmesiiçinkullanılançokçeşitliverilerdir.

  8. Örneğin; Ticaribirşirketiçinmüşteribilgileri, satışbilgileri, ürünbilgileri, ödemebilgileri, vb., okuliçinöğrencibilgileri, açılandersler, kimlerinkaydolduğu, öğretmenbilgileri, boşvedoluderslikler, sınavtarihleri, vb., hastaneiçin hasta bilgileri, doktorbilgileri, yataklarındolulukboşluğu, teşhis-tedavibilgileri, malibilgileri, vb …

  9. Belirlibirkonuhakkındatoplanmışverilerbirveritabanıprogramıaltındatoplanır. İstenildiğindetoplananbilgilerintümüveyaistenilenözelliklereuyanlarıgörüntülenebilir, yazdırılabilirhattabilgilerdenyenibilgilerüretilerekbunlarçeşitliamaçlarlakullanılabilir.

  10. 3. VeriTabanıYönetimSistemleri (VTYS) Nedir? VTYS, yenibirveritabanıoluşturmak, veritabanınıdüzenlemek, geliştirmekvebakımınıyapmakgibiçeşitlikarmaşıkişlemleringerçekleştirildiğibirdenfazlaprogramdanoluşmuşbiryazılımsistemidir. Diğerbirdeğişle; Veritabanlarınıkurmayı, yaratmayı, tanımlamayı, işletmeyivekullanmayısağlayanprogramlartopluluğuna“veritabanısistemi” ya da “veritabanıyönetimsistemi(VTYS) – data base management system (DBMS)” denir.

  11. VTYS’lerfizikselhafızayıveveritiplerinikullanıcılaradınaşekillendiripdenetleyenvekullanıcılarınastandartbir SQL arayüzüsağlayarakonlarındosyayapıları, veriyapısı, fizikselhafızagibisorunlarlailgilenmekyerineverigiriş-çıkışıiçinuygunarayüzlergeliştirmelerineolanaksağlayanyazılımlardır.

  12. VTYS’deverileritutmaküzerebirçoktürdenesnevebunesnelereerişimleridüzenlemeküzerekullanıcılar, roller vegruplaryeralır. Her birkullanıcının belli haklarıvardır. Bu haklar, kısıtlanabilir. Örneğinbirtabloya da programcığıbirkullanıcıkullanabilirkenbirbaşkasınınhaklarıveritabanıyöneticisitarafındankısıtlanmışolabilir.

  13. 4. VeriModelineGöreVeritabanıYönetimSistemleri Yapısalolarakbütünveritabanlarıbirdeğildir. Veritabanlarıverilerisaklamave onlara erişme bakımından farklı tiplere ayrılır.

  14. 4.1. HiyerarşikVeriTabanları : Bu veritabanı tipi, anabilgisayarortamlarındaçalışanyazılımlartarafındankullanılmaktadır. Bu türde en çokkullanılanyazılım, IBM tarafındançıkarılan IMS' dir. Uzunbirgeçmişesahipolmasınarağmen, PC ortamınauyarlananhiyerarşikveritabanlarıyoktur. Hiyerarşikveritabanları, bilgileribirağaç(tree) yapısındasaklar. Kök (Root) olarakbirkayıtvebukökebağlı dal (Branch) kayıtlarbu tip veritabanınınyapısınıoluşturur.

  15. 4.2. AğVeriTabanları: Hiyerarşikveritabanlarininyetersizkalmasındandolayıbilimadamlarınınortakçalışmasısonucuortayakonulmuşbirveritabanıtürüdür. Ağveritabanlarıverileriağaçlarındaha da gelişmişhaliolangraflar (ağacınkendisideözelbirgraftır.) şeklindesaklarlar. Bu yapıen karışıkyapılardanbiridir.

  16. 4.3. İlişkiselVeriTabanları: Edgar Frank CoddTarafındanGeliştirilmiştir. Bu sistemdeverilertabloşeklindesaklanır. Bu veritabanıyönetimsisteminde; verialışverişiiçinözelişlemlerkullanılır. Bu işlemlerdetablolaroperandlarolarakkullanılır. Tablolararasındailişkilerbelirtilir. Bu ilişkilermatematikselbağıntılarla (ilişkilerle) temsiledilir. Günümüzdehemenhementümveritabanıyönetimsistemleriilişkiselverimodelinikullanırlar. İlişkiselmodeli 1970 yılındaCoddönermiştir. Bu model, matematiktekiilişkiteorisine (“the relational theory”) dayanır. İlişkiselverimodelinde(Relational Data Model) verilerbasittablolarhalindetutulur. Tablolar, satırvesütunlardanoluşur

  17. Ödev : DiğerbirVeritabanımodeliolan “NesneyeYönelikVeriTabanıModeli” niaraştırınız…

  18. NedenVeriTabanıKullanılır Bilgisayarortamındaverisaklamaveerişimindegeçmiştengünümüzedeğişikyöntemlerveyaklaşımlarkullanılmıştır. BunlardanGelenekselYaklaşım (Dosya- İşlemSistemi) verileriayrıayrıdosyalardagruplamayadayanır. Verilerisaklamakiçinprogramlama dillerinde kullanılan sıralı (Sequential) ve rastgele (Random) dosyalama sistemlerigibi. Birbiriyleilgiliolanveaynıgrubadahilolanverilerbirdosyada, birbaşkagrubadahilolanveriler de başkabirdosyadatutulurdu.

  19. GelenekselYaklaşımınbirçoksakıncasıvardırvebusakıncalarınberaberindegetirdiğisorunlarınüstesindengelebilmekiçin de VeriTabanıYaklaşımızamanlaGelenekselYaklaşımınyerinialmıştır. GünümüzdeverilerartıkVeriTabanıYaklaşımıilkesinegöre VTYS’ lerdetutulmaktaveişlenmektedir.

  20. GelenekselYaklaşımın (Dosya - İşlemSistemi) Sakıncaları Veritekrarıveveritutarsızlığı Verininpaylaşılamaması Uygulamalardakiher yenigereksiniminvedeğişikliğinyalnızuzmankişiler tarafındankarşılanabilmesi Veriyeerişimveistenenveriyieldeetmegüçlükleri Karmaşıkverisaklamayapılarıveerişimyöntemlerinibilmezorunluluğu Bütünlük(integrity) sorunları Güvenlik, gizliliksorunları Tasarımfarklılıkları, standarteksikliği Yedekleme, yenidenbaşlatma, onarmagibiişletimsorunları

  21. VeriTabanıYaklaşımınınYararları Ortakverilerintekrarınınönlenmesi; verilerinmerkezidenetimininve tutarlılığınınsağlanması Veripaylaşımınınsağlanması Fizikselyapıveerişimyöntemikarmaşıklıklarının, çokkatmanlımimarilerle kullanıcılardangizlenmesi Her kullanıcıyayalnızilgilendiğiverilerin, alışıkolduğukolay, anlaşılır yapılardasunulması Sunulançözümleme, tasarımvegeliştirmearaçlarıileuygulamayazılımı geliştirmeninkolaylaşması. Veribütünlüğüiçingerekliolanaklarınsağlanması, mekanizmalarınkurulması Güvenlikvegizliliğinistenilendüzeydesağlanması Yedekleme, yenidenbaşlatma, onarmagibiişletimsorunlarınaçözüm getirilmesi

  22. VeriTabanıYönetimSistemlerininSağladığıYararlar - AynıverideğişikkişilerinPC’lerindeveyadeğişikbilgisayarlardatekrartekrartutulmaz; veritekrarı (“data redundancy”) azaltılırya da yokedilir. Veritutarlılığı (“data consistency”) : Aynıverinindeğişikyerlerdebirkaçkopyasınınbulunması “bakım” zorluğugetirir: biryerdegüncellenenbiradresbilgisibaşkayerdegüncellenmedenkalabilirvebu durum veritutarsızlığına (“data inconsistency”) yolaçar.

  23. Veripaylaşımı / Eşzamanlılık (“concurrency”) : Veritabanıyönetimsistemi(VTYS) kullanılmadığıdurumlardaveriyesıralıerişimyapılır. Yanibirdençokkullanıcıaynıandaaynıveriyeerişemez. BirVTYS’deiseverinintutarlılığınıvebütünlüğünübozmadanaynıveritabanlarınasaniyedeyüzlerce, binlerceerişimyapılabilir.

  24. Veribütünlüğü (“data integrity”): Birtablodanbiröğrencikaydısilinirse, öğrencivarolduğudiğertümtablolardansilinmelidir. Verigüvenliği (“data security”) : Verininisteyerekya da yanlışkullanımsonucubozulmasınıönlemekiçinçoksıkımekanizmalarmevcuttur. Veritabanınagirmekiçinkullanıcıadıveşifreylekorumanınyanısırakişilersadecekendileriniilgilendirentablolarıya da tabloiçindebelirlikolonlarıgörebilirler.

  25. VeriBağımsızlığı (“data independence”) : Programcı, kullandığıverilerinyapısıveorganizasyonuileilgilenmekdurumundadeğildir. VERİ BAĞIMSIZLIĞI, VTYS’lerininen temelamaçlarındandır.

  26. Bilinen VTYS Programları MS SQL Server: BirortavebüyükölçekliVTYS’dir. SQL’eeklentileryazmakiçinT-SQL’idestekler. Oracle: DahaçokyüksekölçekliuygulamalardatercihedilenbirVTYS’dir. SQL’eeklentileryapmakiçin PL/SQL geliştirilmiştir.

  27. Sybase: BirortavebüyükölçekliVTYS’dir. SQL’eeklentileryazmakiçinT-SQL komutlarınıdestekler. Ülkemizdedahaçokbankacılıkvekamusalalanlardatercihedilmektedir. Informix: BirortavebüyükölçekliVTYS’dir.

  28. MySQL: Genellikle Unix-Linux temelliWeb uygulamalarındatercihedilenbirVTYS’dir. Açıkkodbiryazılımdır. Küçük-ortaölçeklidir. Özellikle Web içingeliştirilmişbirVTYS’dirdenilebilir. Postrage SQL: Bu da MySQL gibiaçıkkodbirVTYS’dir.

  29. MS Access: Çoklukullanıcıdesteğiyoktur. İşletimsistemininsağladığıgüvenlikseçeneklerinikullanır. Bununyanında belli sayıdakaydakadar (1000000 civarı) yada belli birboyutun (yaklaşık 25MB) altınakadarbirsorunçıkartmadankullanılabilecekbirküçükölçekliVTYS’dir. Advantage:TürkprogramcılartarafındangeliştirilenbirortavebüyükölçekliVTYS’dir.

  30. DB/2: IBM’inframework’lereyönelikbüyükölçekliVTYS’dir.

  31. GenelBilgi Bu dersnotundapopülerolan VTYS programlarınınisimleriyazılmıştır. Bunlarındışındadahabirçok VTYS programımevcuttur. VTYS’lerinAvrupagenelindekipazarpaylarıyaklaşıkolarakaşağıdalistelenmiştir. En büyükPazarpayıIBM(DB/2) ile Oracle arasındadır. Hemenarkasından MS SQL Server, Informix veSybase gelmektedir. Yenibaşlayanlariçin; hangiVTYS’yiöğrenmem en iyisiolursorusunuyanıtlamakgerekebilir. Ülkemizdeinsankaynaklarıaçısından en çokkalifiyeelamanaranan VTYS Oracle vearkasından da MS SQL Server gelmektedir.

  32. IBM ....................... %37.8 Oracle .................... %26.3 Microsoft ................ %15.4 Informix ................. %3.2 Sybase ................... %3 Digerleri ................. %14.3 2001 yılındabiraraştırmayagöreAvrupaçapındaVTYS’lerininpazarpayları [kaynak: Gartner]

  33. VTYS’lerinbirçoğuSQL’inkarşılayamadığıdurumlardakullanılmaküzereekprogramlamakomutlarıbarındırırlar. Bu işiçin MS SQL Server ve Sybase SQL Server Transact SQL (T-SQL) denilenkomuttakımlarınıiçerir. Oracle ise PL/SQL ilebuişeçözümgetirmiştir. Bu dillersayesinde Stored Procedure (saklıprosedürler), Trigger, Fonksiyongibiveritabanlarıiçinvazgeçilmezolannesneleryazılabilmektedir.

  34. Projeve VTYS arasındakiilişki Herhangibirveritabanıprogramındaçalışmayabaşlanılmadanönce, yapılacakişeuygunveritabanıtasarımıyapılmalıdır. Bu işin en önemliaşamasıdır. Başlangıçtaiyitasarlanamayanbirveritabanı, ileridegeriyedönüşüolmayanverimsizbirbilgiyığınınadönüşebilir.

  35. En basithaliileveritabanıtasarımında; hangitablolarınolacağı, butablolardahangialanlarınolacağı, tablolararasındakialanilişkilerininnelerolacağıvealanlaraaitözelliklerintanımlanmasıyapılır. Alan özelliklerindealanadı, alan tipi, alanınuzunluğu, alanınvarsayılandeğeri, bualanayazılacakverileringeçerlilikkoşullarınınbaşlangıçtatasarlanmasıgerekir.

  36. Birprojedehangiveritabanınınseçileceği, projeninçapıileilgilibirkarardır. Aşağıdakisorularaverilecekcevaplarprojeninçapıkonusundakararvermedeyardımcıolurlar.

  37. Projedekaçtablokullanılacak? Her birtabloda en fazlakaçsatıryeralabilir? (tablodakibilgisayısıdır) Projeyeaynıanda en fazlakaçkullanıcıbağlanacak? Projegünlükkaç transaction (INSERT-DELETE-UPDATE) gerçekleştirecek? Projeen fazla ne kadarlıkyerkaplayacak ne kadarlıkbirveritabanıdosyasına ihtiyaçduyulacak? Projeiçingüvenlik ne dereceönemli?

More Related