You are on page 1of 51

Giriş

Dosya Organizasyonu

■ Amaç:
➢ Yer (space complexity) ve performans (computational
complexity) açısından en verimli dosya organizasyonunu
seçmek.

Dosya Organizasyonu Dosya Erişim Metodu


Sequential (sıralı) Sequential
Indexed Sequential Sequential & Direct
(indeks sıralı)
Direct (doğrudan) Direct (Random)

10/03/2021 BİL-202 Dosya Organizasyonu 2


Giriş
Sequential File Organization

■ Background
➢ Fields (örnek: isim, vatandaşlık no)
➢ Records (örnek: öğrenci) (Fixed-length, variable-length)
➢ Fields (örnek: öğrenci listesi)
➢ Primary Key (örnek: vatandaşlık no)
➢ Secondary Key (herhangi bir field olabilir)

10/03/2021 BİL-202 Dosya Organizasyonu 3


Giriş
Sequential File Organization

■ Dosya (file), aynı formattaki birçok kayıttan (records) oluşur.


➢ Fixed-length records, variable-length records,…

10/03/2021 BİL-202 Dosya Organizasyonu 4


Giriş
Sequential File Organization

■ Dosya (file), aynı formattaki birçok kayıttan (records) oluşur.


➢ Fixed-length records, variable-length records,…

10/03/2021 BİL-202 Dosya Organizasyonu 5


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit Uzunluklu Alanlar (Fixed Length Fields)

10/03/2021 BİL-202 Dosya Organizasyonu 6


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Uzunluk Göstergesi ile Başlayan Alanlar (Begin Each Field


with Its Length Indicator)

10/03/2021 BİL-202 Dosya Organizasyonu 7


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Her birinin Sonunda Sınırlayıcıların Bulunduğu Alanlar


(Delimiters to Seperate Files)

10/03/2021 BİL-202 Dosya Organizasyonu 8


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Anahtar Kelime=Değeri (Keyword=Content) Şeklinde


Depolanan Alanlar

10/03/2021 BİL-202 Dosya Organizasyonu 9


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Alan yapılarının avantaj ve dezavantajları?

10/03/2021 BİL-202 Dosya Organizasyonu 10


Giriş
Sequential File Organization

■ Alan yapılarını farklı kategorilerde incelemek mümkündür.

– Alan yapılarının avantaj ve dezavantajları?

10/03/2021 BİL-202 Dosya Organizasyonu 11


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit Uzunluklu Kayıtlar


– Değişken Uzunluklu Kayıtlar
■ Sabit Sayıda Alan İçeren Kayıtlar
■ Uzunluk Göstergesi ile Başlayan Kayıtlar
■ Adresleri İzleyen Bir İndeksin Kullanımı
■ Sonunda Sonlandırıcı (Sınırlayıcı) olan Kayıtlar

10/03/2021 BİL-202 Dosya Organizasyonu 12


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit Uzunluklu Kayıtlar


➢ İki farklı şekilde yapılabilir

➢ Sabit uzunluklu Alanlar için Sabit Uzunluklu Kayıtlar

➢ Değişken Uzunluklu Alanlar için Sabit Uzunluklu Kayıtlar

10/03/2021 BİL-202 Dosya Organizasyonu 13


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit Uzunluklu Kayıtlar


– Değişken Uzunluklu Kayıtlar
■ Sabit Sayıda Alan İçeren Kayıtlar
■ Uzunluk Göstergesi ile Başlayan Kayıtlar
■ Adresleri İzleyen Bir İndeksin Kullanımı
■ Sonunda Sonlandırıcı (Sınırlayıcı) olan Kayıtlar

10/03/2021 BİL-202 Dosya Organizasyonu 14


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Değişken Uzunluklu Kayıtlar


■ Sabit Sayıda Alan İçeren Kayıtlar

■ Uzunluk Göstergesi ile Başlayan Kayıtlar

■ Adresleri İzleyen Bir İndeksin Kullanımı

■ Sonunda Sonlandırıcı (Sınırlayıcı) olan Kayıtlar

10/03/2021 BİL-202 Dosya Organizasyonu 15


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit uzunluklu ve değişken uzunluklu kayıtların avantaj ve


dezavantajları?

10/03/2021 BİL-202 Dosya Organizasyonu 16


Giriş
Sequential File Organization

■ Kayıt yapılarını farklı kategorilerde incelemek mümkündür.

– Sabit uzunluklu ve değişken uzunluklu kayıtların avantaj ve


dezavantajları?

10/03/2021 BİL-202 Dosya Organizasyonu 17


Giriş
Sequential File Organization

■ Temel dosya işlemleri

– Bir kaydın okunması


– Bir kaydın eklenmesi
– Bir kaydın silinmesi
– Bir kaydın / kayıt içindeki alanın güncellenmesi

10/03/2021 BİL-202 Dosya Organizasyonu 18


Giriş
Dosya Organizasyonu

■ Amaç:
➢ Yer (space complexity) ve performans (computational
complexity) açısından en verimli dosya organizasyonunu
seçmek.

Dosya Organizasyonu Dosya Erişim Metodu


Sequential (sıralı) Sequential
Indexed Sequential Sequential & Direct
(indeks sıralı)
Direct (doğrudan) Direct (Random)

10/03/2021 BİL-202 Dosya Organizasyonu 19


Giriş
Sequential File Organization

■ Dosya (file), aynı formattaki birçok kayıttan (records) oluşur.


➢ Fixed-length records
➢ variable-length records

■ Sequential File Organization – dosyadaki (i+1). Kayıt i. Kayıttan


hemen sonra yer alır.

10/03/2021 BİL-202 Dosya Organizasyonu 20


Giriş
Sequential File Organization

■ Sequential Access (sıralı erişim):

➢ Dosyadaki bir kayıttan sıradaki diğer kayıta kayıt adresini kayıt


boyutu kadar artırarak geçmek.

10/03/2021 BİL-202 Dosya Organizasyonu 21


Giriş
Sequential File Organization

■ Sequential Search
■ Binary Search
■ Interpolotion Search

10/03/2021 BİL-202 Dosya Organizasyonu 22


Giriş
Sequential File Organization

■ Sequential Search
➢ Dosyadaki kayıtlar, ilk kayıttan başlanarak sırayla aranan
kayıtla karşılaştırılır.
➢ En iyi durumda, aranan kayda 1 adımda (retrieval probe)
➢ En kötü durumda, aranan kayda kayıt sayısı kadar adımda
ulaşılır.
➢ Ortalama olarak, aranan kayda X adımda ulaşılır.

❑ X (Ortalama adım sayısı) = her kayda erişmek için gerekli


adım sayılarının toplamı / N.

10/03/2021 BİL-202 Dosya Organizasyonu 23


Giriş
Sequential File Organization

Probe: Memory’de herhangi bir konuma erişim


■ Sequential Search
– Örn: Rover Blom adlı kişiye ulaşmak için 7 tane probe’a ihtiyaç
vardır.

10/03/2021 BİL-202 Dosya Organizasyonu 24


Giriş
Sequential File Organization

■ Sequential Search
➢ N tane kayıttan oluşan bir dosyada

➢ Aranan kaydı bulmak için ortalama ? probe gerekir.


➢ Kayıt dosyada değilse ? probe gerekir
➢ Computational complexity: O(?)

➢ Öyleyse, sequential search ne zaman kullanılmalıdır?

10/03/2021 BİL-202 Dosya Organizasyonu 25


Giriş
Sequential File Organization

■ Sequential Search
➢ N tane kayıttan oluşan bir dosyada

➢ Aranan kaydı bulmak için ortalama N/2 probe gerekir.


➢ Kayıt dosyada değilse N probe gerekir
➢ Computational complexity: O(N)

➢ Öyleyse, sequential search ne zaman kullanılmalıdır?


➢ N küçük bir değere sahipse kullanılabilir.

10/03/2021 BİL-202 Dosya Organizasyonu 26


Giriş
Sequential File Organization

■ Sequential Search
➢ N tane kayıttan oluşan bir dosyada

➢ Aranan kaydı bulmak için ortalama N/2 probe gerekir.


➢ Kayıt dosyada değilse N probe gerekir
➢ Computational complexity: O(N)

➢ Öyleyse, sequential search ne zaman kullanılmalıdır?


➢ N küçük bir değere sahipse kullanılabilir.

10/03/2021 BİL-202 Dosya Organizasyonu 27


Giriş
Sequential File Organization

■ Örnek: Sequential Search


➢ 100000 kayıt, her kayıt: 400 bytes, block size: 2400 bytes ise
sequential search ile 10000 tane kayıta bakmak için gerekli
olan süre?
➢ 0.84ms: bir block için okuma süresi (IBM 3380).

■ Cevap:

10/03/2021 BİL-202 Dosya Organizasyonu 28


Giriş
Sequential File Organization

■ Örnek: Sequential Search


➢ 100000 kayıt, her kayıt: 400 bytes, block size: 2400 bytes ise
sequential search ile 10000 tane kayıta bakmak için gerekli
olan süre?
➢ 0.84ms: bir block için okuma süresi (IBM 3380).

■ Cevap:
– Her probe da bir block okunabilir
– (100000*400)/2400 = 16667 block
– Bir kayıt için gerekli süre: (16667/2)*0.84 = 7 sec.
– 10000 kayıt için gerekli süre: 7 sec * 10000 = 19 saat

Sonuç: Daha iyi bir organizasyon gerekli.


10/03/2021 BİL-202 Dosya Organizasyonu 29
Giriş
Sequential File Organization

■ Performans nasıl artırılabilir?

– Cevap:

10/03/2021 BİL-202 Dosya Organizasyonu 30


Giriş
Sequential File Organization

■ Performans nasıl artırılabilir?

– Cevap: Sorting

10/03/2021 BİL-202 Dosya Organizasyonu 31


Giriş
Sequential File Organization

■ Binary Search
➢ Sorting gerekir:
➢ Aranan kaydı bulmak için
➢ Aranan alanın ortasından aramaya başlanır
➢ Her defasında kayıtların yarısı elenir
➢ Computational complexity: O(?)

Örnek: Aranan kayıt --> 17

10/03/2021 BİL-202 Dosya Organizasyonu 32


Giriş
Sequential File Organization

10/03/2021 BİL-202 Dosya Organizasyonu 33


Giriş
Sequential File Organization

■ Binary Search (Örnek)

10/03/2021 BİL-202 Dosya Organizasyonu 34


Sequential File Organization

■ Sıralı bir dizi üzerinde Sequential ve Binary Search yöntemlerini


karşılaştırılalım.

■ Yukarıdaki dizide aranan değer 37 olsun. Hangi yöntem kaç adımda


arama işlemini tamamlar?

10/03/2021 BİL-202 Dosya Organizasyonu 35


Sequential File Organization

■ Sıralı bir dizi üzerinde Doğrusal Arama ve İkili Arama yöntemlerini


karşılaştırılalım.

Sequential Search
12 adım

10/03/2021 BİL-202 Dosya Organizasyonu 36


Sequential File Organization

■ Sıralı bir dizi üzerinde Doğrusal Arama ve İkili Arama yöntemlerini


karşılaştırılalım.

Binary Search

b b
o
a i
r
ş t
t
l i
a
a ş
n 37 > 23
g
ı
ç Adım 1

10/03/2021 BİL-202 Dosya Organizasyonu 37


Sequential File Organization

■ Sıralı bir dizi üzerinde Doğrusal Arama ve İkili Arama yöntemlerini


karşılaştırılalım.

Binary Search

b o b
a r i
ş t t
l a i
a ş
37 < 41
n
g Adım 2
ı
ç

10/03/2021 BİL-202 Dosya Organizasyonu 38


Sequential File Organization

■ Sıralı bir dizi üzerinde Doğrusal Arama ve İkili Arama yöntemlerini


karşılaştırılalım.

Binary Search

b o b
a r i
ş t t
l a i
a ş
n
g 37 > 31 Adım 3
ı
ç

10/03/2021 BİL-202 Dosya Organizasyonu 39


Sequential File Organization

■ Sıralı bir dizi üzerinde Doğrusal Arama ve İkili Arama yöntemlerini


karşılaştırılalım.

Binary Search

o
r
t
a

37 = 37 Adım 4

10/03/2021 BİL-202 Dosya Organizasyonu 40


Sequential File Organization

Binary Search
■ 1 milyon kaydın olduğu bir veri kümesinde aranan bir elaman
maksimum kaç adım sonra bulunur?

■ Log2 1000000 = ~20 adımda bulur.

10/03/2021 BİL-202 Dosya Organizasyonu 41


Giriş
Sequential File Organization

■ Interpolotion Search
➢ Sorting gerekir
➢ Yöntem olarak Binary Search e benzemektedir.
➢ Aranan kaydın pozizyonun tahmin edilmesi ile bir sonraki
pozisyon (orta nokta ) belirlenir
➢ Arama sıradında aşağıdaki formül ile orta nokta bulunur.

➢Computational complexity: O(?)

➢ Aranan bir elamanın bulunması için ortalama durumda, en


kötü durumda, en iyi durumda kaç adım gerekir, araştırınız!

10/03/2021 BİL-202 Dosya Organizasyonu 42


Giriş
Sequential File Organization

■ Interpolotion Search
➢ Sorting gerekir
➢ Yöntem olarak Binary Search e benzemektedir.
➢ Aranan kaydın pozizyonun tahmin edilmesi ile bir sonraki
pozisyon (orta nokta ) belirlenir
➢ Arama sıradında aşağıdaki formül ile orta nokta bulunur.

➢Computational complexity: O(?)

10/03/2021 BİL-202 Dosya Organizasyonu 43


Giriş
Sequential File Organization

■ Interpolotion Search (Örnek)

■ Aranan Değer 84 olsun

10/03/2021 BİL-202 Dosya Organizasyonu 44


Giriş
Sequential File Organization

■ Interpolotion Search (Örnek)

■ Aranan Değer 84 olsun

10/03/2021 BİL-202 Dosya Organizasyonu 45


Giriş
Sequential File Organization

■ Interpolotion Search (Örnek)

10/03/2021 BİL-202 Dosya Organizasyonu 46


Giriş
Sequential File Organization

Kayıtlar birincil bellekte ise binary search, ikincil bellekte ise


interpolation search tercih edilir.

Neden?

10/03/2021 BİL-202 Dosya Organizasyonu 47


Giriş
Sequential File Organization

Kayıtlar birincil bellekte ise binary search, ikincil bellekte ise


interpolation search tercih edilir.

10/03/2021 BİL-202 Dosya Organizasyonu 48


Giriş
Sequential File Organization

■ Self organizing sequential search (özel durumlar için sıralı


arama)
➢ Dosyadaki kayıtlar içinde diğerlerine göre daha sık erişilen
kayıtlar varsa kullanılması avantaj sağlar.
➢ Sık kullanılan kayıtların dosyanın başına taşınması yoluyla
uygulanan bir yöntemdir.

3 farklı şekilde uygulanabilir.

➢Öne taşıma (Move to Front)


➢Konum değiştir (Transpose)
➢Sayaç (Count)

10/03/2021 BİL-202 Dosya Organizasyonu 49


Giriş
Sequential File Organization

■ Self organizing sequential search (özel durumlar için sıralı


arama)
➢ Öne taşıma (Move to Front)
➢ Aranan kayıt bulunduktan sonra dosyanın ilk kaydı olarak
kaydedilir. Aranan kaydın eski pozisyonuna kadar eski kayıtlar
1 pozisyon sonrasına kaydırılır.

10/03/2021 BİL-202 Dosya Organizasyonu 50


Giriş
Sequential File Organization

■ Self organizing sequential search (özel durumlar için sıralı


arama)
➢ Konum Değiştir (Transpose)
➢ Aranan kayıt bulunduktan sonra kendiden önceki ilk kayıtla yer
değiştirir.

10/03/2021 BİL-202 Dosya Organizasyonu 51


Giriş
Sequential File Organization

■ Self organizing sequential search (özel durumlar için sıralı


arama)
➢ Sayaç (Count)
➢ Her kayıt için kendisine ne kadar erişildiğine dair bir sayaç
alanı bulunur.
➢ Aranan kayıt bulunduktan sonra sayaç değeri bir artırılır ve
kayıtlar sayaç değerlerine göre sıralanır.

10/03/2021 BİL-202 Dosya Organizasyonu 52

You might also like