MetaData (ÜstVeri)
MetaData (ÜstVeri) Kavramı
Veri hakkındaki bilgiye metadata (üstveri) denir. Veritabanları bir takım verileri tutar ve gerektiğinde erişilmesine olanak verir. Bazı durumlarda tutulan veri hakkında bilgiler de gerekebilir. Örneğin Öğrenci diye bir tablo olsa, her satırında bir öğrenci gelecek şeklinde veri içerir. Bu tabloda hangi alanlar var, her bir alanın boyu ve tipi nedir gibi özellikler metadata'dır ve tablonun kendisinde yer almaz. Veritabanı gerektiğinde metada'yı ayrı bir sorgulam biçimiyle verir. Sadece tablolar hakkındaki bilgiler değil, veritabanının adı ve versiyonu gibi bilgiler, bir sorgudan dönen sonuçlar da metadata kapsamındadır.
DatabaseMetaData
Bir veritabanı hakkında bilgi Connection class'ının getMetaData() method'undan DatabaseMetaData interface'inin döndürülmesiyle alınabilir:
DatabaseMetaData metaData=connection.getMetaData();
String productName=metaData.getDatabaseProductName();
String version=metaData.getDatabaseProductVersion();
System.out.println("Database : "+productName+" "+version);
Burada ürünün (veritabanının) adı ve versiyonu alınmaktadır. Bir veritabanındaki tablolara ait bilgi DataBaseMetaData'nın getTables() methopdundan alınabilir. Yanlız bu method oldukça fazla sayıda ve karşmaşık parametre içerir. Bu method'un dönüş değeri, alınan sonuçlara erişim için kullanılacak ResultSet nesnesidir. Sadece normal tabloların adlarını almak için
ResultSet rs=metaData.getTables(null, null,"%",new String[]{"TABLE"});
şeklinde bir kod yeterlidir. Burada '%' hepsini al anlamına gelir.
DatabaseMetaData'nın kullanımını anlatan örneğin tamamı :
ResultSetMetaData
Bir sorgudan dönen sonuçlar hakkında bilgi almak için ResultSet'in getMetaData() methodu kullanılır.Aşağıdaki örnek dönen sonuçların kolon isimleri ve tiplerini ekrana basmaktadır :
Dosya Listesi