Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Veritabanı Yönetim Sistemi Doç. Dr. Yılmaz Gökşen Yönetim Bilişim Sistemleri Hakan Aşan.

Benzer bir sunumlar


... konulu sunumlar: "Veritabanı Yönetim Sistemi Doç. Dr. Yılmaz Gökşen Yönetim Bilişim Sistemleri Hakan Aşan."— Sunum transkripti:

1 Veritabanı Yönetim Sistemi Doç. Dr. Yılmaz Gökşen Yönetim Bilişim Sistemleri Hakan Aşan

2 Veritabanın Tanımı Veritabanı, sistem süreçlerinde oluşan verilerin daha sonra ulaşılmak amacıyla elektronik ortamlarda, belli kurallar ve birbirleriyle olan ilişkilerini koruyacak şekilde saklanmasıyla oluşan kayıtlar topluluğudur. Veritabanı, birbirleriyle ilişkili verilerin hızlı ve verimli bir şekilde ulaşılmasına olanak verecek biçimde saklanmasıyla oluşan kayıtlar topluluğudur.

3 Veritabanı Nedir? : “a usually large collection of data organized especially for rapid search and retrieval (as by a computer.”

4 Veritabanı Nedir?  Belirli bir tarzda organize edilmiş bilgi “koleksiyon”udur.  En az bir tablodan oluşmak zorundadır.  Veritabanı programını oluşturan tablolar ise veri alanlarından oluşur (data field).

5 Veritabanı Nedir?  Kitaplıklar, uygulamalar ve yardımcı programların birleşmesinden oluşur.  Verilerin saklanması ve yönetilmesi ile ilgili konulardaki ayrıntılardan veritabanı yöneticilerini kurtarır.  Kayıtların güncellenmesi ve kayıtlar üzerinde araştırma yapılması da mümkündür.

6 Veritabanı Tipleri  Hiyerarşik Veritabanı  İlişkisel Veritabanı (Relational Type)  Nesnesel Veritabanı

7 Hiyerarşik Veritabanı VTP Tablo 1Tablo 2 Adı Soyadı Adı Malzeme Tutar

8 İlişkisel Veritabanı  1970: “A Relational Model of Data for Large Shared Data Banks”  E. F. Codd  Relation mantığı  Tablolar -> Gerçek dünyadaki nesneler

9 İlişkisel Veritabanı  Birden fazla tablodan oluşabilir.  Birbirlerinin yerine kullanılabilir.  Tablolar satır ve sütundan oluşur.

10 İlişkisel Veritabanı  Kullanıcının programı kullanırken ona sık sık soracağı soruların neler olacağı tespit edilir.  “Gerçekleştirilecek olan veritabanı programından beklenilen neler ve bu veritabanında hangi bilgilerin olması gerekli?” sorusunun yanıtı bulunur.

11 İlişkisel Veritabanı  Tablolardaki kayıtlar matematiksel açıdan tuple olarak tanımlanırlar.  Bir tuple, tanımlanmış bir veri tipi olan bileşenlerden oluşan sıralı grup olarak tanımlanır.  Tüm tuplelar aynı sayıda ve tipte bileşenlerden oluşur.  {“10”, “Veritabanlarına Giriş”, “ ”}  {“11”, “Progress Veritabanı Sunucusu”, “ ”}

12 İlişkisel Veritabanı  Örnekteki her bir tuple da 3 bileşen bulunmaktadır: Ankara’daki 2002 yılındaki kaçıncı seminer olduğu (integer) Seminerin konusu (char) Seminerin tarihi (timestamp)  İlişkisel veritabanlarında bu “kümeye” ya da tabloya eklenen tüm kayıtlar aynı yapıda olmalıdırlar.

13 İlişkisel Veritabanı  { “Veritabanlarına Giriş”, “ ”}  eksik bileşen  {“10”, “Veritabanlarına Giriş”, “ ”, “Devrim GÜNDÜZ”}  fazla bileşen  {“ ”, “Veritabanlarına Giriş”, “10”}  yanlış bileşen tipleri (yanlış sırada)

14 İlişkisel Veritabanı  tuple lardan oluşan bir tabloda aynı veriler bulunmaz.(No duplicate record).  İlişkisel veritabanlarındaki herhangi bir tabloda birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz.  Gereksiz sınırlama?  Sorun : İki kez aynı ürünün siparişi  Çözüm : Tabloya eklenecek bir fazla bileşen

15 İlişkisel Veritabanı  Bir kayıttaki her bir bileşen “atomik”, yani bir veri olmalıdır  Başka bir kayıt ya da diğer bileşenlerin listesi olamaz.  Tablodaki bileşenlerin veri tipleri de üsttekilerle ve dolayısıyla tablo tanımlarındakilerle aynı olmalıdır.  Veritabanı tarafından desteklenen veri tiplerinden biri olmalıdır.

16 İlişkisel Veritabanı - Anahtarlar  key: Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlerdir.  primary key :Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullanılan bileşendir.  “unique” yapar.  Tüm ilişkisel veritabanlarında her bir tablo ya da relationda mutlaka primary key olmalıdır.

17 Tablolar  Aynı konu ile ilgili olan bilgiler belirlenmelidir.  Index olarak kullanılacak alanlar, zaman icinde değiştirilebilecek şekilde belirlenir.  Olası olan en yüksek seviyede yapısal bir şekilde tabloların oluşturulması sağlanmalıdır.

18 Veri alanları  Aynı konu ile ilgili alanların kendi tablolarında toplanması sağlanmalı  Veri tekrarı olmamalı  Gereksiz alanlar kullanılmamalı  Alanlar basite indirgenmelidir.

19 Veritabanından beklenenler  Her düzeyde rapor alınabilme özelliği  Doğru ve hızlı sonuç verebilme özelliği  Sorulabilecek bütün sorulara yanıt verebilecek sorgulama dili  Bilgilerin ve sonuçların tutarlılığı

20 SQL Nedir?  SQL: Structured Query Language  Veritabanı dilidir.  Veri eklerken, silerken, güncellerken veya sorgularken kullanılır.  ANSI ve ISO standardıdır.  Select, Delete, Update, Insert

21 Neden Veritabanı?  Gerçekten veritabanına gereksinmeniz var mı?  Veritabanları, verilerin saklanması ve yönetilmesi için kullanılmalıdır.  Küçük bilgiler için metin dosyaları yeterli olabilir.  Amacınızın iyi belirlenmesi gerekir.

22 Neden Veritabanı?  Veri sadece bir konuyu içeren bir listenin içinde mi?  Sorun karmaşık mı?  İstatiksel bir analiz mi yapmak istiyorsunuz?

23 Neden Veritabanı?  Bir yönetim mi yapacaksınız?  Metinsel veritabanları  Kullanım kolaylığı

24 Neden Veritabanı?  Bilimsel formüllere gereksinmeniz olacak mı?  Veriyi paylaşma gereksinmeniz olacak mı?  Veriyi webde sunacak mısınız?

25 Veritabanı Çeşitleri  Öncelikle ne yapılacağına karar verilmelidir: 1Bu veritabanı ile neler yapacaksınız? Küçük bir şirket çalışanlarının özel bilgileri mi tutulacak, yoksa büyük bir şirketin binlerce müşterilerinin bilgileri mi? 2Sitenizi günde kaç kişi ziyaret edecek?

26 Veritabanı Çeşitleri 3Aynı anda kaç işlem yapılacak? 4Güvenlik ne ölçüde olacak? 5Verilerinizin güvenliği ne ölçüde olacak?

27 Veritabanı Çeşitleri  Yanlış bir kanı : “Paralı ürünler iyidir, ücretsiz ürünler iyi değildir!”  Linux!  Bir veritabanının ücretsiz olup olmamasından çok işinizi görüp görmeyeceği önemlidir.

28 Veritabanı Çeşitleri 1Microsoft Access 2MySQL 3IBM DB2 4Interbase 5Informix 6 Progress 7 Microsoft SQL Server 8 PostgreSQL 9 Oracle

29 Veritabanı Yönetim Sistemleri  MySQL  PostgreSQL  Oracle  Sybase  MsSQL  Berkeley  Firebird  Ms access

30 MS Access  Microsoft Office ürünüdür.  Küçük ölçekli uygulamalar içindir.  Tablo başına 2 GB a kadar veri depolayabilir.  Aynı anda 255 bağlantıya izin verebilir.  MS Windows dışındaki sistemlerde kullanılamaz.  “Transaction logging” özelliğine sahiptir, ancak “trigger” ve “stored procedure” özelliklerine sahip değildir.

31 MySQL  MySQL Inc.  Windows, Linux, OS/2,Solaris, AIX vb.  “trigger” ve “stored procedure” özelliklerine sahiptir, ancak “Transaction logging” özelliği bulunmamaktadır.  Tablo başına 4 TB veri depolayabilir.

32 IBM DB2  IBM  Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir.  *nix ve Windows üzerinde çalışabilir.  Transaction logging”, “trigger” ve “stored procedure” özelliklerine sahiptir.

33 Informix  Illustra  Ücretli ve güçlü bir veritabanıdır.  Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitededir.  1994’deki Postgres kodundan geliştirilmeye başlanmıştır.

34 MS SQL Server  Microsoft  Dezavantajları:  Sadece Windows üzerinde çalışabilir.  Yüksek maliyet  Kullanım kolaylığı, güvenilirliği,işlem gücü  Tablo başına 4 TB veri.  “Transaction logging”, “trigger” ve “stored procedure” özelliklerine sahiptir.

35 PostgreSQL  PostgreSQL Global Development Group  Linux, Unix, BSD, Windows, AIX vb.  Ücretsiz, akademik bir veritabanı  Çok güçlü işlem yapısı  Veri güvenliği ön planda  Tablo başına 64 TB veri tutabilme özelliği  “Transaction”, “Inheritance” “trigger” ve “stored procedure” özelliklerine sahiptir.

36 Oracle  Oracle, Inc.  Dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir.  Çok yüksek maliyet  Windows, Unix, Linux,...  Oracle, sınırsız sayıda tabloları desteklemektedir.

37 Hangi veritabanını seçmeli?  Küçük yoğunlukta trafik: Access  Web uygulamaları için: MySQL  Daha büyük ve orta ölçekli uygulamalar içinse, Progress, MS SQL ya da Linux üzerinde PostgreSQL.  Oracle ise çok yüksek güvenilirlik ve işlem gücü gerektirdiğinde tercih edilen bir veritabanı sunucusudur.

38 Veritabanı Kavramları Anahtarlar Değerler Satırlar Sütunlar Tablolar İlişkiler Şemalar

39 Tablolar Tc_KimlikAdSoyadE_PostaTelefon Veritabanlarının temelini oluşturur. Satır ve sütunlardan oluşur.

40 Sütunlar Tc_KimlikAdSoyadE_PostaTelefon Tabloların her bir özelliğini tutar. Her sütunun belli bir tipi vardır.( Metin, Tarih,…)

41 Satırlar Tc_KimlikAdSoyadE_PostaTelefon Her satır bir kaydı temsil eder.

42 Değerler Tc_KimlikAdSoyadE_PostaTelefon Girilen her bir veri değere karşılık gelir.

43 Anahtarlar Tc_KimlikAdSoyadE_PostaTelefon Anahtarlar satırları (kayıtları) tanımlayan özel sütunlardır (alanlardır).

44 Şemalar Veritabanında tablonun tasarımına şema adı verilir. Şema veri içermez; veritabanının taslağı olarak kullanılabilir. Şema; tabloları, sütunları ve her tablonun birincil anahtarları ile birlikte varsa yabancı anahtarları da gösterir.

45 İlişkiler Tc_KimlikAdSoyadE_PostaTelefon Sinav_NoTc_KimlikSinav_Notu

46 İlişki Tipleri Üç temel ilişki tipi vardır: Bire – bir: İlişki içinde her şeyden bir tane olduğunu gösterir. Birden – çoğa: Bir tablodaki bir satır başka bir tablodaki birden fazla satırla bağlantılıdır. Çoktan – çoğa: Bir tablodaki birden fazla satır başka bir tablodaki birden fazla satırla bağlantılıdır.

47 Sql Veritabanı Dili  SELECT KOMUTU  Select * from tablo_adi  UPDATE KOMUTU  Update tablo_adi set tablo_sütun=değer  INSERT KOMUTU  Insert into tablo_adi value (değer)  DELETE KOMUTU  Delete from tablo_adi

48 Sql Veritabanı Dili ( Örnek)  SELECT KOMUTU  Select * from calisanlar Tc_KimlikAdSoyadE_PostaCalistigi_Saat  Select * from calisanlar where ad=‘hakan’ Tc_KimlikAdSoyadE_PostaCalistigi_Saat

49 Sql Veritabanı Dili ( Örnek_2)  SELECT KOMUTU  Select * from calisanlar where Calistigi_Saat >=40 Tc_KimlikAdSoyadE_PostaCalistigi_Saat Tc_KimlikAdSoyadE_PostaCalistigi_Saat  Select * from calisanlar where Calistigi_Saat >24 and Calistigi_Saat <40

50 Sql Veritabanı Dili ( Örnek_3)  SELECT KOMUTU  Select * from calisanlar where ad=‘hakan’ or Calistigi_Saat >40 Tc_KimlikAdSoyadE_PostaCalistigi_Saat  Select * from calisanlar where soyad=‘Aşan’ and Calistigi_Saat >40 Tc_KimlikAdSoyadE_PostaCalistigi_Saat

51 Sql Veritabanı Dili ( Örnek_4)  UPDATE KOMUTU  Update calisanlar set ad=‘Mehmet’ where Tc_Kimlik= Tc_KimlikAdSoyadE_PostaCalistigi_Saat Tc_KimlikAdSoyadE_PostaCalistigi_Saat

52 Sql Veritabanı Dili ( Örnek_4)  INSERT KOMUTU  Insert into calisanlar Tc_KimlikAdSoyadE_PostaCalistigi_Saat

53 Sql Veritabanı Dili ( Örnek_4)  DELETE KOMUTU  Delete from calisanlar Tc_KimlikAdSoyadE_PostaCalistigi_Saat  Delete from calisanlar where Calistigi_Saat>35 Tc_KimlikAdSoyadE_PostaCalistigi_Saat

54


"Veritabanı Yönetim Sistemi Doç. Dr. Yılmaz Gökşen Yönetim Bilişim Sistemleri Hakan Aşan." indir ppt

Benzer bir sunumlar


Google Reklamları