28 Temmuz 2007 Cumartesi

Topluluk (Collection)

Bir topluluk (collection), hepsi aynı tipten olan düzenli bir grup öğeden oluşur. Her bir öğenin topluluktaki yerini belirleyen yegane (unique) bir indisi (subscript) vardır. PL/SQL şu topluluk tiplerini sunar:

İndisli tablolar (index-by tables) veya birleşmeli dizilerde (associative arrays) gelişigüzel sayılar veya stringler kullanılarak öğelere ulaşılabilir. (Diğer programlama dillerindeki hash tablolarına benzer).

İçiçe tablolar (nested tables) gelişigüzel sayıda öğeyi tutar. İndis olarak sıralı sayıları kullanırlar. İçiçe tablolar veritabanı tablolarında tutularak ve SQL ile idare edilerek eşdeğer SQL tipleri tanımlanabilir.

Varrayler (Değişken boyutlu diziler, Variable-size arrays), sabit sayıda öğe tutarlar ancak bu sayı çalışma zamanında değiştirilebilir. İndis olarak sıralı sayıları kullanırlar. Varraylerin veritabanı tablolarında tutulması sağlanarak eşdeğer SQL tipleri tanımlanabilir. SQL kullanılarak depolanmaları ve erişimleri yapılabilir ancak bu içiçe tablolardaki kadar esnek olmayacaktır.

Öğeleri topluluk olan topluluklar yaratılarak çok boyutlu diziler modellenebilir. Bir uygulamada toplulukları kullanmak için önce PL/SQL tipleri sonra da bu tipte değişkenler tanımlanır. Topluluk tipleri bir yordam (procedure), fonksiyon veya paket (package) içinde tanımlanabilir. Topluluk değişkenleri parametre olarak geçirilebilir.

Tek değerden daha karışık olan verileri aramak için PL/SQL kayıtları (records) veya SQL nesne tipleri topluluklarda tutulabilir. İçiçe tablolar ve varrayler aynı zamanda nesne tiplerinin (object types) nitelikleri (attributes) olabilirler.

Hiç yorum yok: