Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

C # VERI TABANI UYGULAMALARI C # VERI TABANI UYGULAMALARI Dr. Recep CAKIR.

Benzer bir sunumlar


... konulu sunumlar: "C # VERI TABANI UYGULAMALARI C # VERI TABANI UYGULAMALARI Dr. Recep CAKIR."— Sunum transkripti:

1 C # VERI TABANI UYGULAMALARI C # VERI TABANI UYGULAMALARI Dr. Recep CAKIR

2 Veritabanı Düzenli bilgiler topluluğudur. Düzenli bilgiler topluluğudur. Erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir.

3 KLASIK DOSYA YAPILARI Bilgisayarların ilk ortaya çıktığından bu yana hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Bilgisayarların ilk ortaya çıktığından bu yana hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Bu değişim, kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır. Bu değişim, kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır. Pek çok kuruluşta eskiye oranla çok daha fazla veri üretildiğinden, geleneksel veri saklama ve işleme tekniklerinin yetersiz kaldığı gözlemlenmiştir. Pek çok kuruluşta eskiye oranla çok daha fazla veri üretildiğinden, geleneksel veri saklama ve işleme tekniklerinin yetersiz kaldığı gözlemlenmiştir.

4 Veri Tabanı Sistemleri Karmaşık dosya yapıları ve çok sayıda dosya arası ilişki ve kullanıcıların dosyalara erişimi söz konusu olduğunda, geleneksel dosya sisteminin yetersiz kaldığı görülmektedir. Karmaşık dosya yapıları ve çok sayıda dosya arası ilişki ve kullanıcıların dosyalara erişimi söz konusu olduğunda, geleneksel dosya sisteminin yetersiz kaldığı görülmektedir. Bu sorunu çözmek üzere, veriyi saklama ve veriye erişim konusunda yeni yazılım teknolojilerine yönelme başlamış ve Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımı ortaya çıkmıştır Bu sorunu çözmek üzere, veriyi saklama ve veriye erişim konusunda yeni yazılım teknolojilerine yönelme başlamış ve Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımı ortaya çıkmıştır

5

6

7 VTYS Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımında veri girişi ve depolanması, veriye erişen uygulama programlarından bağımsızdır. Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımında veri girişi ve depolanması, veriye erişen uygulama programlarından bağımsızdır. Veri tabanı sistemleri bilgisayar sistemlerinin önemli bir bileşeni olarak değerlendirilir. Veri tabanı sistemleri bilgisayar sistemlerinin önemli bir bileşeni olarak değerlendirilir. (VTYS), birbirleriyle ilişkili veri ve programlar topluluğundan oluşmaktadır. Veri topluluğu bir “veri tabanı” olarak değerlendirilir (VTYS), birbirleriyle ilişkili veri ve programlar topluluğundan oluşmaktadır. Veri topluluğu bir “veri tabanı” olarak değerlendirilir

8 İstemci / sunucu yapısı

9 İstemci (Client) Bilgisayar Ağlarında diğer ağ bileşenlerinin paylaşıma açık kaynaklarını kullanabilen birimdir. Bilgisayar Ağlarında diğer ağ bileşenlerinin paylaşıma açık kaynaklarını kullanabilen birimdir. Şişman/Zengin istemci Yazılımın her seferinde sunucudan bütün istemcilere yüklenmesi ya da bir başka medyadan yüklenmesi gerekir. Örnek: Microsoft Outlook. Şişman/Zengin istemci Yazılımın her seferinde sunucudan bütün istemcilere yüklenmesi ya da bir başka medyadan yüklenmesi gerekir. Örnek: Microsoft Outlook.sunucudanMicrosoftOutlooksunucudanMicrosoftOutlook Zayıf istemci Sâdece sunumla ilgili grafik birimleri ve onların denetim yazılımını içerir. Zayıf istemci Sâdece sunumla ilgili grafik birimleri ve onların denetim yazılımını içerir. İşle ilgili yazılım sunucudadır. İşle ilgili yazılım sunucudadır.sunucudadır Haberleşme kanalından gönderilen bilgi az olmasına dikkat edilir. Yazılımının bilgisayara yüklenmesi problemi yoktur. Zengin istemciye nazaran daha değişik bilgisayarlarda, WEB istemci-sunucu (client-server) sistemi olarak bilinir Haberleşme kanalından gönderilen bilgi az olmasına dikkat edilir. Yazılımının bilgisayara yüklenmesi problemi yoktur. Zengin istemciye nazaran daha değişik bilgisayarlarda, WEB istemci-sunucu (client-server) sistemi olarak bilinir

10 Sunucu (Server), Bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran Bilgisayar birim Bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran Bilgisayar birim Windows NT Windows NT Windows NT Windows NT Windows 2000, Windows 2003, Windows 2008, Linux RedHat, Suse Windows 2000, Windows 2003, Windows 2008, Linux RedHat, Suse Windows 2000LinuxRedHat Suse Windows 2000LinuxRedHat Suse Sunucuların amaçları da önemlidir. Sunucuların amaçları da önemlidir. Web hizmeti veren sunucular vardır. Bunlara örnek olarak Apache, Microsoft IIS ve Abyss ve Fastream IQ Web/FTP Server gösterilebilir. Web hizmeti veren sunucular vardır. Bunlara örnek olarak Apache, Microsoft IIS ve Abyss ve Fastream IQ Web/FTP Server gösterilebilir. Dosya paylaşım, canlı yayın ve hatta çevrim içi(online) oyun hizmeti verenleri de mevcuttur. Tüm bu sunucuların değişik sistem gereksinimleri olacaktır. Dosya paylaşım, canlı yayın ve hatta çevrim içi(online) oyun hizmeti verenleri de mevcuttur. Tüm bu sunucuların değişik sistem gereksinimleri olacaktır. Dosya paylaşımoyun Dosya paylaşımoyun

11 Veri modelleme Veritabanında asıl önemli kavram, kayıt yığını ya da bilgi parçalarının tanımlanmasıdır. Veritabanında asıl önemli kavram, kayıt yığını ya da bilgi parçalarının tanımlanmasıdır. kayıt yığını ya da bilgi parçalarının tanimlanmasindan oluşan Şemalar veritabanında kullanılacak bilgi tanımlarının nasıl modelleneceğini gösterir. kayıt yığını ya da bilgi parçalarının tanimlanmasindan oluşan Şemalar veritabanında kullanılacak bilgi tanımlarının nasıl modelleneceğini gösterir. Buna Veri Modeli (Data Model) yapılan işleme de Veri Modelleme denir. Buna Veri Modeli (Data Model) yapılan işleme de Veri Modelleme denir. En yaygın olanı, İlişkisel Model dir (relational model), En yaygın olanı, İlişkisel Model dir (relational model), Bu modelde veriler tablolarda saklanır. Bu modelde veriler tablolarda saklanır. Diğer modeller Diğer modeller Sıra Düzensel Veri Modeli Sıra Düzensel Veri Modeli Ağ (Network) Veri Modeli Ağ (Network) Veri Modeli Nesneye Yönelik Veri Modeli Nesneye Yönelik Veri Modeli Tablolarda bulunan satırlar (row) kayıtların kendisini, sütunlar (column) ise bu kayıtları oluşturan bilgi parçalarının ne türden olduklarını belirtir. Tablolarda bulunan satırlar (row) kayıtların kendisini, sütunlar (column) ise bu kayıtları oluşturan bilgi parçalarının ne türden olduklarını belirtir. Başka modeller (Sistem Modeli ya da Ağ Modeli gibi) daha belirgin ilişkiler kurarlar. Başka modeller (Sistem Modeli ya da Ağ Modeli gibi) daha belirgin ilişkiler kurarlar.

12 Veri Tabanı Yazılım Verileri sistematik bir biçimde depolayan yazılımlara verilen isimdir. Verileri sistematik bir biçimde depolayan yazılımlara verilen isimdir. Birçok yazılım bilgi depolayabilir ama aradaki fark, veri tabanın bu bilgiyi verimli bir şekilde düzenleyebilmesi ve ona hızla ulaşabilmesidir. Birçok yazılım bilgi depolayabilir ama aradaki fark, veri tabanın bu bilgiyi verimli bir şekilde düzenleyebilmesi ve ona hızla ulaşabilmesidir. Bilgiye gerekli olduğu zaman ulaşabilmek esastır. Veritabanı içinde düzenlenmemiş bilgiler, kataloğu olmayan bir kütüphaneye benzetilebilir. Bilgiye gerekli olduğu zaman ulaşabilmek esastır. Veritabanı içinde düzenlenmemiş bilgiler, kataloğu olmayan bir kütüphaneye benzetilebilir. İmkânlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkânının sağlandığı programlardır İmkânlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkânının sağlandığı programlardır

13 Veri tabanı yöneticiliği Günümüzde veritabanı sistemleri bankacılıktan otomotiv sanayisine, sağlık bilgi sistemlerinden şirket yönetimine, telekomünikasyon sistemlerinden hava taşımacılığına kullanılır. Günümüzde veritabanı sistemleri bankacılıktan otomotiv sanayisine, sağlık bilgi sistemlerinden şirket yönetimine, telekomünikasyon sistemlerinden hava taşımacılığına kullanılır.otomotiv telekomünikasyon sistemlerindenhava taşımacılığınaotomotiv telekomünikasyon sistemlerindenhava taşımacılığına Veri tabanı fiziksel olarak bilgileri tutarken mantıksal bir sisteme de sahiptir. Veri tabanı fiziksel olarak bilgileri tutarken mantıksal bir sisteme de sahiptir. Veritabanı sistemlerinin kurulumu, konfigürasyonu, tasarımı, sorgulaması, güvenliği ve denetiminin karmaşık bir hal alması veritabanı yöneticiliği kavramının oluşmasına neden olmuştur Veritabanı sistemlerinin kurulumu, konfigürasyonu, tasarımı, sorgulaması, güvenliği ve denetiminin karmaşık bir hal alması veritabanı yöneticiliği kavramının oluşmasına neden olmuştur

14 Veritabanı yönetim sistem yazılımları Ms access Ms access Ms access Ms access MySQL MySQL MySQL Oracle Oracle Oracle MsSQL MsSQL MsSQL Penguen veri tabanı Penguen veri tabanı Penguen veri tabanı Penguen veri tabanı Filemaker Filemaker Filemaker Firebird Firebird Firebird

15 Microsoft Access Microsoft Access Yazılım firması Microsoft tarafından Microsoft Windows işletim sistemi tabanında çalışmak üzere yazılan ve dağıtımı yapılan veri tabanı programı. Yazılım firması Microsoft tarafından Microsoft Windows işletim sistemi tabanında çalışmak üzere yazılan ve dağıtımı yapılan veri tabanı programı.Microsoft Windowsişletim sistemiveri tabanıprogramıMicrosoft Windowsişletim sistemiveri tabanıprogramı Veri tabanı programları arasında Access çok sonradan girmiş olmasına rağmen bu alanda önemli ölçüde başarı sağlamış Veri tabanı programları arasında Access çok sonradan girmiş olmasına rağmen bu alanda önemli ölçüde başarı sağlamış

16 SQL dili (Structured Query Language), Veritabanları üzerinde sorgu yapmak için kullanılan bir dildir. Veritabanları üzerinde sorgu yapmak için kullanılan bir dildir. Sorgular, analiz aşamalarında, veri eklerken güncellerken ve silerken kullanılır. Sorgular, analiz aşamalarında, veri eklerken güncellerken ve silerken kullanılır. Sorgular tek bir tablo üzerinde yapılabileceği gibi birçok tablodan veri okunmayı sağlar. Sorgular üzerinde konan kriterler, detaylı veri analizi yapmak için kullanılır Sorgular tek bir tablo üzerinde yapılabileceği gibi birçok tablodan veri okunmayı sağlar. Sorgular üzerinde konan kriterler, detaylı veri analizi yapmak için kullanılır

17 MySQL Altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı (multi- threaded), çok kullanıcılı (multi-user), hızlı ve sağlam (robust) bir VYS Altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı (multi- threaded), çok kullanıcılı (multi-user), hızlı ve sağlam (robust) bir VYS UNIX, OS/2 ve Windows platformları için ücretsiz dağıtılmakla birlikte ticari lisans kullanmak isteyenler için de ücretli bir lisans seçeneği de mevcuttur. UNIX, OS/2 ve Windows platformları için ücretsiz dağıtılmakla birlikte ticari lisans kullanmak isteyenler için de ücretli bir lisans seçeneği de mevcuttur. UNIXOS/2Windows UNIXOS/2Windows

18 ORACLE Özellikle kurumsal alanda kullanılan yaygın bir veritabanı sistemidir. Özellikle kurumsal alanda kullanılan yaygın bir veritabanı sistemidir. ORACLE çok sayıda araçtan oluşur ve uygulama geliştiricilerinin kolay ve esnek uygulamalar geliştirmesini sağlar ORACLE çok sayıda araçtan oluşur ve uygulama geliştiricilerinin kolay ve esnek uygulamalar geliştirmesini sağlar

19 Firebird Borland'ın Interbase 6.0 veri tabanını açık kaynak kodlu hale getirmesinden sonra bu kaynak kodlardan yola çıkılarak geliştirilmiş olan, açık kaynak kodlu bir ilişkisel bir veri tabanı yönetim sistemidir Borland'ın Interbase 6.0 veri tabanını açık kaynak kodlu hale getirmesinden sonra bu kaynak kodlardan yola çıkılarak geliştirilmiş olan, açık kaynak kodlu bir ilişkisel bir veri tabanı yönetim sistemidir BorlandInterbaseveri tabanınıaçık kaynak BorlandInterbaseveri tabanınıaçık kaynak

20 VERI TABANI BILESENLERI Tablolar (Tables) Tablolar (Tables) Verilerin mantıksal olarak saklandığı ortamlardır. Verilerin mantıksal olarak saklandığı ortamlardır. Tabloları adlandırırken tablonun içeriği ile uyumlu olmasına dikkat etmek gerekir Tabloları adlandırırken tablonun içeriği ile uyumlu olmasına dikkat etmek gerekir

21 Sütunlar (Columns) Sütunlar ortak özellikli verileri tanımlar. Sütunlara verilen adlar, konusuna göre Sütunlar ortak özellikli verileri tanımlar. Sütunlara verilen adlar, konusuna göre anlamlı olmalıdır. anlamlı olmalıdır. İlk iki ya da dört karakterlik kısmı, ait olduğu tablonun adının kısaltması olması tercih edilir. İlk iki ya da dört karakterlik kısmı, ait olduğu tablonun adının kısaltması olması tercih edilir.

22 Satırlar (Rows) Bir tabloda yer alan her bir kayıt bir satıra karşılık gelir. Bir tabloda yer alan her bir kayıt bir satıra karşılık gelir.

23 Alanlar (Fields) Bir sütundaki aynı türdeki bilginin her bir kısmını saklamak üzere yapılan tanımlamalardır. Bir alan tanımlanırken veri tipinin belirlenmesi gerekir Bir sütundaki aynı türdeki bilginin her bir kısmını saklamak üzere yapılan tanımlamalardır. Bir alan tanımlanırken veri tipinin belirlenmesi gerekir

24

25

26 İndeksler Eğer bir tabloda birkaç yüz kayıt olduğu düşünülürse bu tabloda işlem yapmak Eğer bir tabloda birkaç yüz kayıt olduğu düşünülürse bu tabloda işlem yapmak oldukça kolaydır. oldukça kolaydır. Tablonun milyonlarca kaydının olduğu düşünülürse bu tabloyu belirli bir alana göre yapılandırmak gerekir. Böylece verilere erişim daha kısa sürede olacaktır. Tablonun milyonlarca kaydının olduğu düşünülürse bu tabloyu belirli bir alana göre yapılandırmak gerekir. Böylece verilere erişim daha kısa sürede olacaktır. Bu yapılara indeks denilmektedir. Bu yapılara indeks denilmektedir.

27 Primary key (Birincil Anahtar) Bir tablonun seçilen bazı sütunlarındaki verinin farklı satırlarda tekrarlanmamasını (Bir kez kullanılmasını) işaret eder. T.C. Kimlik no.gibi alanlar seçilmelidir. Bir tablonun seçilen bazı sütunlarındaki verinin farklı satırlarda tekrarlanmamasını (Bir kez kullanılmasını) işaret eder. T.C. Kimlik no.gibi alanlar seçilmelidir.

28 SQL SQL (Structured Query Language), ilişkisel veri tabanı yönetim sistemlerinden veri almak, veri tabanında bulunan veriyi düzenlemek veya sisteme veri girişi yapmak içinkullanılan en popüler sorgulama dilidir. SQL (Structured Query Language), ilişkisel veri tabanı yönetim sistemlerinden veri almak, veri tabanında bulunan veriyi düzenlemek veya sisteme veri girişi yapmak içinkullanılan en popüler sorgulama dilidir. SQL temelde, nesne-ilişkili (object- relational) veri tabanı yönetim sistemlerini desteklemek için tasarlanmıştır. SQL temelde, nesne-ilişkili (object- relational) veri tabanı yönetim sistemlerini desteklemek için tasarlanmıştır.

29 binary binary varbinary varbinary image image En çok 8000 bayt uzunluğunda sabit uzunluklu ikili veri En çok 8000 bayt uzunluğunda değişken uzunluklu ikili veri En çok 2^32-1 bayt uzunluğunda değişken uzunluklu ikili veri İkili Veri Tipleri

30 char char varchar varchar text text nchar nchar nvarchar nvarchar ntext ntext En çok 8000 karakter uzunluğunda, sabit uzunluklu unicode olmayan değerleri En çok 8000 karakter uzunluğunda, değişken uzunluklu unicode olmayan değerler En çok 2^31-1 karakter uzunluğunda, değişken uzunluklu unicode olmayan değerler En çok 4000 karakter uzunluğunda, sabit uzunluklu unicode değerleri En çok 4000 karakter uzunluğunda, değişken uzunluklu unicode değerler En çok 2^31-1 karakter uzunluğunda, değişken uzunluklu unicode değerler Karakter Veri Tipleri

31 Temel Komutlar Select * from ogrenci “ogrenci” tablosunda kayıtlı tüm kayıtları tüm kolonlardaki bilgilerle birlikte listeler Select no, adi, soyadi from ogrenci “ogrenci” tablosunda kayıtlı tüm kayıtları no, adi ve soyadi kolonlardaki bilgilerle birlikte listeler

32 Select * from ogrenci Select * from ogrenci Where no>2 Where no>2 “ogrenci” tablosunda kayıtlı olan ve numarası 2’den büyük olan kayıtları tüm kolonlardaki bilgilerle birlikte listeler

33 SAYISAL İŞLEMLER Sum ve group by terimleri select sum(harc) as harctoplam, sum(harc2) as harc2toplam from detay group by left (bölümü,3) “Öğrencilerin 1. ve 2 dönerlerde toplam ne kadar harç yatırdıklarını, bölümlerine göre gruplayarak toplar.

34 SAYISAL İŞLEMLER Max, min ve count fronksiyonları select max(harc) as en_buyuk_harc from detay Kayıtlar içerisindeki en yüksek harç miktarını verir

35 SAYISAL İŞLEMLER Avg Fonksiyonu select avg(harc) as ort_harc from detay Öğrencilerin 1. harçlarının ortalamasını hesap eder.

36 C Sharp Veri tabanı işlemleri MSSQL veri tabanlarına direkt erişim. MSSQL veri tabanlarına direkt erişim. OLEDB protokolünü destekleyen veri tabanlarına OLEDB protokolü ile erişim. OLEDB protokolünü destekleyen veri tabanlarına OLEDB protokolü ile erişim. Popüler tüm veri tabanları OLEDB protokolünü desteklemektedir. Popüler tüm veri tabanları OLEDB protokolünü desteklemektedir. OLEDB protokolüyle Access dosyalarına da bir veri tabanıymış gibi bağlanabilirsiniz. OLEDB protokolüyle Access dosyalarına da bir veri tabanıymış gibi bağlanabilirsiniz.

37 Kaynakca


"C # VERI TABANI UYGULAMALARI C # VERI TABANI UYGULAMALARI Dr. Recep CAKIR." indir ppt

Benzer bir sunumlar


Google Reklamları