veri tabanında İleri konular

105
Veri Tabanında İleri Konular Sarı renkli arka planlı sayfalar bilgi amaçlıdır; sınavda sorulmayacak

Upload: lars

Post on 25-Feb-2016

83 views

Category:

Documents


2 download

DESCRIPTION

Veri Tabanında İleri Konular. Sarı renkli arka planlı sayfalar bilgi amaçlıdır; sınavda sorulmayacak. Ana Başlıklar. Sorgu işleme Nesneye yönelik ve nesne-ilişkisel veri tabanları Bulanık Veri Tabanları . Sorgu İşleme. Sorgu İşleme. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Veri Tabanında İleri Konular

Veri Tabanında İleri Konular

Sarı renkli arka planlı sayfalar bilgi amaçlıdır; sınavda sorulmayacak

Page 2: Veri Tabanında İleri Konular

Ana Başlıklar

• Sorgu işleme • Nesneye yönelik ve nesne-ilişkisel

veri tabanları• Bulanık Veri Tabanları

Page 3: Veri Tabanında İleri Konular

Sorgu İşleme

Page 4: Veri Tabanında İleri Konular

Sorgu İşleme

• Sorgu İşleme- Veri Tabanından gereken verilerin çıkarılması girişimleri

• Sorgu Optimalleştirme- sorguları işlemek için etkili yürütme stratejisinin seçilmesi– Kaynak kullanımının en aza indirilmesi

Page 5: Veri Tabanında İleri Konular

Çözümlerin Değerlendirilmesi

• Veri Tabanı istatistikleri (ilişkiler, özellikler ve endeksler

hakkında bilgiler)• İstatistiklerin oluşturulması

sorunları -her güncellemeden sonra

-belli aralıklarla

Page 6: Veri Tabanında İleri Konular

Farklı İşleme Stratejilerinin Karşılaştırılması (örnek)

• Sorgu: “London” kentindeki şubelerde çalışan yöneticiler hakkında bilgiler

SELECT *FROM staff s, branch bWHERE s.bno=b.bno AND (s.positıon=‘Manager’ AND

b.city=‘London’);

Page 7: Veri Tabanında İleri Konular

Sorgunun İlişkisel Cebirde İfadesi

1.yol (Staff X Branch) (position =‘Manager’)^(city=‘London’)^(staff.bno=branch.bno)2.yol (Staff Branch) (position =‘Manager’)^(city=‘London’) staff.bno=branch.bno

3.yol

( (Staff )) ( (Branch)) position=‘Manager’ staff.bno=branch.bno city=‘London’

Page 8: Veri Tabanında İleri Konular

Örnek Üzerinde Değerlendirme

• Staff-1000 satır• Branch-50 satır• Her şubede bir yönetici (50

yönetici)• 5 tane ‘London’ şubesi

Page 9: Veri Tabanında İleri Konular

Örnek Üzerinde Değerlendirme

• 1.yol• (1000+50)+2*(1000*50)=101050

disk erişimi

• 2.yol• 2*1000+(1000+50)=3050 disk

erişimi• 3.yol• 1000+50+2*(50+5)=1160 disk

erişimi

Staff-1000 satırBranch-50 satırHer şubede bir yönetici (50 yönetici)5 tane ‘London’ şubesi

Page 10: Veri Tabanında İleri Konular

Sorgu İşleme Safhaları

Sorgunun parç.

Sorgunun Opt.

Kod Üretimi

Sorgu çalıştırma

Derlem

e zamanı

Çalışm

a zam

anı

Yüksek seviyeli dilde sorgu

İlişkisel cebir ifadesi

Yürütme Planı

Üretilmiş Kod

Sorgu Çıkışı

Veri Tabanı

Veri Tabanı İstatistikleri

Sistem katalogu

Page 11: Veri Tabanında İleri Konular

Sorgunun Parçalanması

• Sorgu İşlemenin ilk safhası• Yüksek Seviyeli sorgunun ilişkisel

cebir sorgusuna dönüştürülmesi• Adımları:• çözümleme• normalleştirme • anlamsal çözümleme• sadeleştirme• yeniden yapılandırma

Page 12: Veri Tabanında İleri Konular

Çözümleme

• Programlama Dilleri Derleyicilerini kullanmakla sorgunun sözcüksel ve sözdizimsel çözümlenmesi

• İlişki ve özelliklerin doğrulanması

Page 13: Veri Tabanında İleri Konular

Sorgu Ağacının Oluşturulması

• Çözümleme sonucunun daha uygun ifade biçimi

• Yaprak düğümler sorgunun her temel ilişkisi için oluşturulur

• Yaprak olmayan düğümler ilişkisel cebir işlemleri sonucu alınan aralık ilişkiler için oluşturulur

• Ağacın kökü sorgu neticesini ifade ediyor• İşlemler ardışıklığı yapraklardan köke

doğrudur

Page 14: Veri Tabanında İleri Konular

Çözümleme ÖrneğiSELECT staff_noFROM staffWHERE position>10;

• Sorgunun kabul edilmemesinin 2 nedeni:

1) seçme listesinde tanımlanmamış özellik (Sno olmalı)

2)WHERE yantümcesinde yanlış karşılaştırma

Page 15: Veri Tabanında İleri Konular

Sorgu Ağacı

s.bno=b.bno

s.position =‘Manager’ b.city=‘London’

Staff Branch

Kök

Aralık İşlemler

Yapraklar

Page 16: Veri Tabanında İleri Konular

Normalleştirme• Sorgunun daha kolay işlene bileceği

normal biçime dönüştürülmesi• 2 normal biçim

• Birleştirici bağlaçlı normal biçim• Ayırıcı Bağlaçlı Normal Biçim

Page 17: Veri Tabanında İleri Konular

Birleştirici bağlaçlı normal biçim

• ^ (AND) ile bağlanmış birleştirici bağlaçlar ardışıklığı

• Her birleştirici birkaç VEYA işlemi içere bilir

(position=‘Manager’ salary>20000)^bno=‘B3’

Page 18: Veri Tabanında İleri Konular

Ayırıcı bağlaçlı normal biçim

• (VEYA) ile bağlanmış ayırıcı bağlaçlar ardışıklığı

• Her ayırıcı birkaç (^)VE işlemi içere bilir

(position=‘Manager’ ^bno=‘B3’) (salary>20000^bno=‘B3’)

Page 19: Veri Tabanında İleri Konular

Anlamsal Çözümleme

• Düzgün yazılmamış veya çelişkili olan normalleştirilmiş sorguların ret edilmesi

• bileşenlerin sonuca katkısının bulunmaması(örn., katılma işlemlerinde)

• Hiçbir satır için koşulun sağlanmaması

Page 20: Veri Tabanında İleri Konular

Anlamsal doğruluğun yoklanmasıİlişki bağlantıları grafı

SELECT p.pno,p.streetFROM renter r,viewing v,property_for_rent pWHERE r.rno=v.rno AND r.max_rent>=500 AND r.pref_type=‘flat’

AND p.ono=‘CO93’;

Page 21: Veri Tabanında İleri Konular

İlişki bağlantısı Grafı (örnek)

R

V

Sonuç

P

v.pno=p.pno unutulmuş

SELECT p.pno,p.streetFROM renter r,viewing v,property_for_rent pWHERE r.rno=v.rno AND r.max_rent>=500 AND r.pref_type=‘flat’ AND p.ono=‘CO93’;

Page 22: Veri Tabanında İleri Konular

Sadeleştirme

• Fazla niceleyicilerin bulunması; • ortak altifadelerin elenmesi; • Sorgunun, anlamsal olarak aynı

güçlü, fakat kolay ve etkili işlene bilecek biçime dönüştürülmesi

• erişim sınırlamaları• görünümlerin tanımlanması• bütünlük koşulları

Page 23: Veri Tabanında İleri Konular

Sadeleştirme

• Boolean ifadeleri:• P^(P) P P (P) P• P^yanlış yanlış P yanlış P • P^doğru P P doğru

doğru• P^(-P) yanlış P (-P)

doğru• P^(P Q) P P (P^Q) P

Page 24: Veri Tabanında İleri Konular

Sadeleştirme ÖrneğiSELECT sno,fname, lname,salaryFROM staffWHERE ( bno=‘B3’ AND salary>20000)AND bno=‘B3’;sorgusu yerineCREATE VIEW staff3AS SELECT sno,fname, lname,salaryFROM staffWHERE bno=‘B3’;SELECT*FROM staff3WHERE (bno=‘B3’ AND salary>20000); sorgunun daha basit ifadesiSELECT sno,fname, lname,salaryFROM staffWHERE ( bno=‘B3’ AND salary>20000);

Page 25: Veri Tabanında İleri Konular

Sorguların Yeniden Yapılanması

• Daha etkili çalışa bilmesi için sorgular yeniden yapılandırılıyor

• Sorgu Optimallelleştirmede sezgisel yaklaşım

• Dönüştürme Kuralları• sezgisel işleme stratejileri

Page 26: Veri Tabanında İleri Konular

Bulanık Mantık

Page 27: Veri Tabanında İleri Konular

Bulanık mantığın tanımı• Bulanık mantık teorisinin kendisi bulanık

değildir. Bu mantık bulanıklığı ifade etmek için kullanılıyor. Bulanık mantık, belirsizliği ölçen bulanık kümeler teorisidir.

• Bulanık mantık tüm nesnelerin,kavramların derecelendirilmesini kabul ediyor. Sıcaklık,yükseklik,hız,güzellik-bunlar hepsi ölçeklene biliyor.– Motor cidden sıcaktır.– Ali uzun boylu delikanlıdır

Page 28: Veri Tabanında İleri Konular

Bulanık mantığın tanımı (devamı)• Matematiğin temel kavramlarından olan kümeler

teorisine göre her bir öğe her hangi bir kümeye kesin olarak ya aittir, ya da ait değil. Bu ise pek çok sözel ifadelerde yeterli olmaya bilir. – Yüksek kasanç– Yüksek basınç– Uzunboylu insan– Ilık su

•  Klasik küme teorisi yapay olarak kavram değerlerini aralıklara ayırıyor:– yüksek olmayan (dağ) 1000 m’e kadar– Yüksek (dağ) (1000-2000)– oldukça yüksek (dağ) … >2000

Page 29: Veri Tabanında İleri Konular

Bulanık Mantığın tanımı (devamı)• Çoğu karar oluşturma ve sorun çözme meselelerinin

sayısal anlaşılması ve ifade edilmesi zordur. Ama insan bu tür sorunların çözümünde kesin değil, kesin olmayan bilgileri kullanmakla başarıyı daha çok yakalaya biliyor.

• Bulanık kümeler teorisi, insanın yaklaşık bilgiler ve belirsizliklerle karar oluşturmasını sağlar

• Bu teori belirsizlikleri ,anlaşılmazlıkları matematik ifade etmek ve pek çok kesin olmayan gerçekleri öğrenmek için formal araçları desteklemektedir.

• Bilgileri bulanık kümeleri kullanmakla daha doğal biçimde ifade etmek mümkün olduğundan pek çok mühendislik ve karar alma sorunlarının çözümü de oldukça kolaylaşmış oluyor.

Page 30: Veri Tabanında İleri Konular

Bulanık mantık uygulamaları

• Bulanık kümeler teorisi ve bulanık mantığın pek çok uygulama alanı bulunmaktadır:– Sınıflandırma; topoloji; dilbilimi; mantık; otomat

teorisi; oyun teorisi; örüntü tanıma; tıp; hukuk; karar destek; bilgi çıkarma ve s.

• Bulanık mantığın uygulandığı araçlar:–Otomatik tren , tünel kazıma makineleri,

çamaşır yıkama makineleri, pirinç pişirme,hava temizleyici, klima…

Page 31: Veri Tabanında İleri Konular

Örnek:Bulanık trafik lambaları uygulaması

Eğer kırmızı ışıkta bekleyen arabaların sayısı çok ise ve karşı yoldan geçen arabaların sayısı az ise kırmızı ışığın yanma süresini kısaltmalıAmaç: bekleme zamanının en aza indirilmesi

Page 32: Veri Tabanında İleri Konular

Tarihi bilgi• Bulanık,veya çokdeğerli mantık (Fuzzy, or multi-valued logic)

1930’larda Polonyalı filozof Jan Lukasiewicz tarafından önerilmiştir.Klasik mantıktan farklı olarak Lukasiewicz’in önerdiği mantık 0-1 arasındaki tüm gerçek değerleri kapsıyordu.

• Örneğin, boyu 181cm olan birisinin gerçekten uzun boylu olma mümkünlüğü ( possibility) 0.86 ola biliyor. Bu mantık kesin olmayan sonuçlar çıkarma tekniğine- mümkünlük teorisine götürmüştür.

• 1965 yılında Lotfi Zadeh (Lütfü Askerzade) ünlü “Fuzzy sets” makalesini yazmıştır. Burada mümkünlük teorisi matematik mantığın formal sistemine doğru ilerletilmiştir. Zadeh doğal dil terimlerine uygulana bilen yeni kavramlar önermiştir. Bulanık kümelerin ifade edilmesi ve işlenilmesi için Zadeh’in ileri sürdüğü yeni mantık bulanık mantıktır

Page 33: Veri Tabanında İleri Konular

Tarihi bilgi (devamı)

Neden bulanık?Zadeh’in söylediği bu terim somut, anlaşılır ve

tanımlayıcıdır. Bunun ne olduğunu her kez biliyor. Ama pek çok Batılı bilim adamları bu kavramı, genelde eksi anlamda kullandıkları için uzun süre kabul etmemilerdi.

Neden mantık? Bulanıklık bulanık kümlere teorisine dayanıyor ve bulanık mantık teorinin bir küçük kısmıdır

Page 34: Veri Tabanında İleri Konular

“Bulanık mantık” kavramı

• İki anlamda işleniliyor:

– Dar anlamda: Bulanık mantık bulanık kümeler teorisinin bir dalıdır ve bilgilerin tasviri ve çıkarılması ile meşguldür. Diğer mantık sistemlerinden farklı olarak bulanık mantık kesin olmayan ve belirsiz bilgilerle ilgilenmektedir.

– Geniş anlamda: bulanık mantık bulanık küme teorisi ile eşanlamlı kullanılıyor

Page 35: Veri Tabanında İleri Konular

Bulanık mantık -çokdeğerlilik• Bulanık mantık üyelik derecesine dayanan bilgileri ifade etmek için

matematik ilkeler kümesidir.• İkili mantık kesin ayırım yapıyor. Bir sınıfın üyesi ve üyesi

olmayanlar arasında sınır çizgisi koyuluyor.Örneğin, Ali’un uzun boylu olduğunu söylemeğimiz için onun boyu 180cm’den çok olmalıdır. Eğer sınırı 180cm üzerinden belirlersek, örneğin boyu 179 cm olan Mehmet’in orta boylu olduğunu söylemeli olarız.

• Mehmet gerçekten mi orta boyludur, yoksa bizim çizgimiz keyfi mi çizilmiştir

• İkili mantıktan farklı olarak bulanık mantık çok değerlidir. Bu ise üyelik derecesi (degrees of membership) veya doğruluk derecesi (degrees of truth) ile ilgilidir.

• Bulanık mantık 0 (tamamen yanlış) ve 1 (tamamen doğru) arasında kesintisiz mantıksal değerleri kullanıyor. Örneğin, kesin siyah ve beyaz yerine renkler tayfını kullanıyor

(a) Boolean Logic. (b) Multi-valued Logic.0 1 10 0.2 0.4 0.6 0.8 100 1 10

Page 36: Veri Tabanında İleri Konular

Bulanık kümeler• Küme (set) matematiğin temel

kavramlarındandır.

• Doğal dildeki ifadelerde de kümeler üstün derecede kullanılıyor. Örneğin, iyi arabaları fiyatları da yüksektir cümlesinde arabalar kümesi kastediliyor.Ama “iyi araba kavramını kesin ifade etmek zordur.

• Uzunboylu insanlar kümesine ait edile bilen bazı insanlar tartışmasız uzunboyludur, ama bazılarının uzunboylu mu, orta boylu mu olduğu tartışıla bilir.

Üyelik derecesi Bulanık

Mark

John

Tom

Bob

Bill

1

1

1

0

0

1.00

1.00

0.98

0.82

0.78

Peter

Steven

Mike

David

Chris

Kesin

1

0

0

0

0

0.24

0.15

0.06

0.01

0.00

Ad Boy, cm

205 198 181

167

155 152

158

172 179

208

Page 37: Veri Tabanında İleri Konular

Kesin ve Bulanık Kümeler

150 210 170 180 190 200 160

Boy, cm Üyelik Derecesi

Tall Men

150 210 180 190 200

1.0

0.0

0.2

0.4

0.6

0.8

160

üyelik derecesi

170

1.0

0.0

0.2

0.4

0.6

0.8

Height, cm

Bulanık küme

Kesin Küme X ekseni konuşma evrenini (universe of discourse) (seçilmiş değişkene uygulana bilecek tüm mümkün değerler) – ifade ediyor. Bizim örnekte değişken boydur. Şekilde insanın boyu evreni tüm uzunboylu insanları kapsıyor.Y ekseni bulanık kümenin üyelik değeridir. Bizim örnekte “uzun adam” bulanık kümesi boy değerlerini uygun üyelik değerlerine yansıtıyor

Page 38: Veri Tabanında İleri Konular

Kesin ve bulanık kümeler (devamı)

• X konuşma evreni olsun. Onun elementleri x’lerdir. Kesin kümeler teorisinde X evrenindeki A kesin kümesi A’nın karakteristik fonksiyonu denilen fA(x) fonksiyonu ile tanımlanıyor.

fA(x) : X {0, 1}, nerede ki

Bu küme X evrenini 2 elementli kümeye haritalıyor. X evrenindeki her bir x elementi için fA(x) karakteristik fonksiyonu 1 değerini alıyor (eğer x, A kümesine dahil ise ) veya 0 değerini alıyor (x, A kümesine ait değilse)

AxAx

xf A if0, if 1,

)(

Page 39: Veri Tabanında İleri Konular

Kesin ve bulanık kümeler (devamı)

• Bulanık kümeler teorisinde ise X evreninde A bulanık kümesi , bu kümenin üyelik fonksiyonu denilen µA(x) fonksiyonu ile tanımlanıyor:

µA(x) : X {0, 1}, nerede ki µA(x) = 1, eğer x tümüyle A’da ise;

µA(x) = 0, x A’da değilse;0 < µA(x) < 1 eğer x kısmen

A’da ise

X evrenindeki her bir x için µA(x) üyelik fonksiyonu , x’in A kümesinin elementi olma derecesini ifade ediyor ve 0 ve 1arasında değerler alıyor. Bu değerler üyelik derecesi veya üyelik değeridir

A = {x1, x2, .., xn}A bulanık kümesi böyle ifade edile biler:

A = A(xi)/xi + …………. + A(xn)/xn

burada A(xi)/xi “üyelik derecesi” bileşenidir

Page 40: Veri Tabanında İleri Konular

Bulanık kümelerin ifadesi (örnek)• Önce üyelik

fonksiyonları belirtilmelidir. “uzunboylu adam” örneği için üç bulanık kümemiz var: uzunboylu, kısaboylu ve orta boylu adamlar

• Boyu 184 cm olan insan orta boylu insan kümesine 0.1 üyelik derecesi ile aittir; aynı zamanda 0.4 üyelik derecesi ile uzun boylu insan kümesine aittir

150 210170 180 190 200160Height, cm

Degree ofMembership

Tall Men

150 210180 190 200

1.0

0.0

0.2

0.4

0.6

0.8

160

Degree ofMembership

Short Average ShortTall

170

1.0

0.0

0.2

0.4

0.6

0.8

Fuzzy Sets

Crisp Sets

Short Average

Tall

Tall

Page 41: Veri Tabanında İleri Konular

Dilsel değişkenler• Bulanık kümelerin temel kavramlarından birisi dilsel

değişkenlerdir ( linguistic variables).• Dilsel değişken bulanık değişkendir. Örneğin, “Ali

uzunboyludur” cümlesinden anlaşılıyor ki, dilsel değişken Ali , dilsel değer “uzunboylu” almıştır

• Bulanık uzman sistemlerinde dilsel değişkenler bulanık kurallarda yaygın kullanılmaktadır. Örneğin:

IF rüzgar güçlü iseTHEN yelkençilik sporu için ortam iyidir

IF proje-süresi kısa iseTHEN zamanında bitirmeme riski yüksektir

IF hız yavaş iseTHEN durma mesafesi kısadır

Page 42: Veri Tabanında İleri Konular

Dilsel Değişkenler (devamı)• Dilsel değişkenin mümkün ala bileceği değerler, bu

değişkenin konuşma evrenini ifade ediyor. Örneğin, hız dilsel değişkeninin konuşma evreni 0 ve 220km/s arasındaki değerlerdir ve çok yavaş, yavaş, orta, hızlı, çok hızlı bulanık alt kümelerini kapsaya bilir.

• Dilsel değişkenler kısıtlayıcılarla (hedges) ifade edile bilir.

• Kısıtlayıcılar bulanık kümenin biçimini değiştiriyor ve zarflardan (çok, biraz, yeterli, daha çok, daha az, azıcık…) oluşuyor.

Page 43: Veri Tabanında İleri Konular

kümeler üzerinde işlemler-kesin kümeler

Intersection Union

Complement

Not A

A

Containment

AA

B

BA BAA B

Tamamlama (complement)Kapsama (containment)Kesişme (intersection)Birleşme (union)

Page 44: Veri Tabanında İleri Konular

Bulanık kümeler-Tamamlama-Complement• Kesin kümeler: bu kümeye

ne dahil değil?• Bulanık küme: elementler

bu kümeye ne kadar ait değil?

• Kümenin tamamlayıcısı bu kümeye terstir. Örneğin, uzun boylu adamlar kümemiz var ise, onun tamamlayıcısı uzun boylu olmayan adamlar kümesi olacak. Uzun boylu adamları konuşma evreninden çıkarırsak tamamlayıcını alırız.

• Eğer A bulanık küme ise onun tamamlayıcısı ~A böyle olacak: A(x) = 1 A(x)

Page 45: Veri Tabanında İleri Konular

Bulanık kümeller-Kapsama-Containment

• Her küme bir başka kümeleri içere bilir. Küçük kümeye altküme denir. Örneğin, uzun boylu insanlar kümesi tüm uzun boylu insanları içeriyor. Çok uzun boylu insanlar uzun boylu insanlar kümesinin altkümesidir. Uzun boylu insanlar kümesi ise tüm insanlar kümesinin altkümesidir. Kesin kümelerde altkümenin tüm elementleri tamamen daha büyük kümeye aittirler. Bulanık kümelerde ise her bir element büyük kümeden daha az derecede altkümeye ait ola bilir. Bulanık alt kümenin elementleri büyük kümedekine nazaran alt kümeye daha küçük üyeliktedirler

• Yalnız o zaman B kümesi A’yı kapsar ki, A(x) <= B(x), olsun

Page 46: Veri Tabanında İleri Konular

Bulanık kümeler-Kesişme• Kesin küme: Hangi element her iki kümeye

aittir?• Bulanık küme: element hangi derecede her

iki kümeye aittir

• Klasik küme teorisinde iki kümenin kesişmesi kümelerin her ikisinde de bulunan elementleri kapsıyor. Örneğin, uzun boylu insanlar ile şişman insanlar kümelerinin kesişmesi onların örtüştüğü (her iki niteliği taşıyan insanlar) alandır. Bulanık kümelerde ise element kısmen ve farklı üyeliklerle her iki kümeye ait ola bilir.

• Bulanık kesişme her bir elementin her iki kümede en düşük üyeliyidir. X evreninde A ve B bulanık kümelerinin kesişmesi böyledir:AB(x) = min [A(x), B(x)] = A(x) B(x), xX

Page 47: Veri Tabanında İleri Konular

Bulanık kümeler-Birleşme• Kesin küme: Hangi elementler bu veya diğer

kümededir?• Bulanık küme: element hangi derecede bu veya

diğer kümededir?• İki kesin kümenin birleşmesi bu kümelerin en

azından birisinde bulunan elementleri kapsar. Örneğin, uzun boyluların kümesi ile şişmanların kümesinin birleşimi uzun boylu ve/veya şişman olan tüm adamları içeriyor.

• Bulanık kümelerde birleşme kesişmenin tersidir. Birleşme kümesinde elementin üyeliyi bu kümelerde uygun element için en yüksek olan üyelik değeridir. X evreninde A ve B bulanık kümelerinin birleşimi böyledir:

AB(x) = max [A(x), B(x)] = A(x) B(x), nerede ki xX

Page 48: Veri Tabanında İleri Konular

BULANIK KÜME İŞLEMLERİ

tamamlama

0 x

1

( x )

0 x

1

kapsama

0 x

1

0 x

1

A B

Not A

A

kesişme

0 x

1

0 x

A B

birleşme 0

1

A B

A B

0 x

1

0 x

1

B A

B A

( x )

( x ) ( x )

Page 49: Veri Tabanında İleri Konular

Bulanık kümelerin özellikleri

• Bulanık kümelerin eşitliği• Bir kümenin diğerine dahil edilmesi

(Inclusion)• Önemlilik (Cardinality)• Boş bulanık küme• -kesme (alpha-cuts)

Page 50: Veri Tabanında İleri Konular

Eşitlik- Equality• Yalnız o halde ( if and only if-iff) bulanık A

kümesinin bulanık B kümesine eşit olduğu kabul edilir ki, A(x) = B(x), xX olsun.

Örnek:A = 0.3/1 + 0.5/2 + 1/3B = 0.3/1 + 0.5/2 + 1/3

yani A = B

Page 51: Veri Tabanında İleri Konular

Dahilolma- Inclusion• Bulanık küme A X diğer bulanık kümeye B

X dahil ediliyor (altkümesi oluyor): A(x) B(x), xX

Varsayalım ki, X = {1, 2, 3}ve A ve B kümeleri

A = 0.3/1 + 0.5/2 + 1/3;B = 0.5/1 + 0.55/2 + 1/3

o zaman A B’nin altkümesidir,veya A B

Page 52: Veri Tabanında İleri Konular

Önemlilik- Cardinality

• Bulanık olmayan Z kümesinin önemliliği Z’in elemanlar sayısıdır. Bulanık A kümesinin önemliliği ise A’nın üyelik fonksiyonlarının değerlerinin toplamıdır ve sigma sayı(Sigma count) adlanır:

cardA = A(x1) + A(x2) + … A(xn) = ΣA(xi), i=1..n

varsayalım ki, X = {1, 2, 3} ve A ve B kümeleri

A = 0.3/1 + 0.5/2 + 1/3;B = 0.5/1 + 0.55/2 + 1/3

cardA = 1.8 cardB = 2.05

Page 53: Veri Tabanında İleri Konular

Boş bulanık küme-Empty Fuzzy Set• A bulanık kümesi yalnız o zaman boş kümedir ki;

A(x) = 0, xX

Varsayalaım ki, X = {1, 2, 3} ve A kümesi

A = 0/1 + 0/2 + 0/3

o zaman A boştur

Page 54: Veri Tabanında İleri Konular

Alpha –kesim Alpha-cut

• A X bulanık kümesinin s -kesim veya -seviyesi

A={A(x), xX} bulanık kümesidir. A X,

Örnek: X = {1, 2, 3} ve

A = 0.3/1 + 0.5/2 + 1/3

O zaman A0.5 = {2, 3},A0.1 = {1, 2, 3},A1 = {3}

Page 55: Veri Tabanında İleri Konular

Normal Bulanık küme-Fuzzy Set Normality• X bulanık altkümesi o zaman normal sayılıyor ki, en

azından bir xX elemanı var ki, onun için A(x) = 1.

• Normal olmayan bulanık altkümelere normalin altında altküme (subnormal) denir.

• Tüm kesin (crisp) altkümeler, null kümeler dışında normaldir.

• A bulanık alt kümesinin yüksekliği (height) A’nın elemanlarının aldığı en yüksek üyelik derecesidir:

height(A) = maxx(A(x))

Page 56: Veri Tabanında İleri Konular

Bulanık küme çekirdeği ve desteği- Fuzzy Sets Core and Support

• A, X’in bulanık altkümesidir.

• A’nın desteği,X’in, sıfırdan büyük üyelik dereceleri bulunan elementleri içeren kesin altkümesidir:supp(A) = {x A(x) 0 and xX}

• A’nın çekirdeği, X’in 1 üyelik dereceli tüm elemanları içeren kesin altkümesidir:core(A) = {x A(x) = 1 and xX}

Örnek:X={a,b,c,d,e} A=1/a+0.3/b + 0.2/c+ 0.8/d +0/e B= 0.6/a+0.9/b+0.1/c+0.3/d+0.2/e

• destek:supp(A) = {a, b, c, d }supp(B) = {a, b, c, d, e }

• çekirdek:core(A) = {a}core(B) = {o}

Page 57: Veri Tabanında İleri Konular

Bulanık küme matematik işlemleri• aA = {aA(x), xX}

a =0.5, ve A = {0.5/a, 0.3/b, 0.2/c, 1/d}

o zamanAa = {0.25/a, 0.15/b, 0.1/c, 0.5/d}

• Aa = {A(x)a, xX}a =2, ve

A = {0.5/a, 0.3/b, 0.2/c, 1/d}o zaman

Aa = {0.25/a, 0.09/b, 0.04/c, 1/d}

Page 58: Veri Tabanında İleri Konular

Bulanık kümeler üzerinde işlemler -ÖrnekA = {0.2/a, 0.4/b, 1/c, 0.8/d, 0/e}B = {0/a, 0.9/b, 0.3/c, 0.2/d, 0.1/e}Tamamlama

Comp(A) = {0.8/a, 0.6/b, 0/c, 0.2/d, 1/e}Comp(B) = {1/a, 0.1/b, 0.7/c, 0.8/d,

0.9/e}Birleşme

AB = {0.2/a, 0.9/b, 1/c, 0.8/d, 0.1/e}Kesişme

AB = {0/a, 0.4/b, 0.3/c, 0.2/d, 0/e}Alpha-kesme E = A0.5

E = {c, d}

Page 59: Veri Tabanında İleri Konular

Bulanık kümeler üzerinde işlemler -örnek(devamı)A = {0.2/a, 0.4/b, 1/c, 0.8/d, 0/e}B = {0/a, 0.9/b, 0.3/c, 0.2/d, 0.1/e}destek

Supp(A) = {a, b, c, d}Supp(B) = {b, c, d, e}

çekirdekCore(A) = {c}Core(B) = {}

ÖnemlilikCard(A) = 0.2 + 0.4 + 1 + 0.8 + 0 = 2.4Card(B) = 0 + 0.9 + 0.3 + 0.2 + 0.1 = 1.5

Aa : C=A2

C = {0.04/a, 0.16/b, 1/c, 0.64/d, 0/e}

aA: D = 0.5BD = {0/a, 0.45/b, 0.15/c, 0.1/d, 0.05/e}

a-kesme:A0.2 = {a, b, c, d}A0.3 = {b, c, d}A0.8 = {c, d}A1 = {c}

Page 60: Veri Tabanında İleri Konular

Bulanık kurallar• Lotfi Zadeh’in 1973’de yazdığı makalede bulanık

kurallar (fuzzy rules) önerilmiştir.

• Bulanık kural koşul cümlesi olarak böyle ifade ediliyor:

IF x is ATHEN y is B

• Burada x ve y dilsel değişkenlerdir. A ve B uygun olarak X ve Y evreninde tanımlanmış dilsel değerlerdir

Page 61: Veri Tabanında İleri Konular

Klasik ve Bulanık kurallar• Klasik IF-THEN kuralı ikili mantığı kullanıyor:

Kural 1: Kural 2:IF hız>100 ise IF hız < 40 iseTHEN durma mesafesi uzundur THEN durma mesafesi kısadır

• Hız değişkeni 0-220 arasında sayı değerler ala biliyor. Ama durma mesafesi kısa veya uzun olmakla iki dilsel değerden birini almalıdır.

Page 62: Veri Tabanında İleri Konular

Klasik ve Bulanık Kurallar

• Durma mesafesini bulanık biçimde de ifade etmek mümkündür:

kural: 1 kural2: 2IF hız yüksek ise IF hız yavaş iseTHEN durma mesafesi uzundur THEN durma mesafesi kısadır

• Bulanık kurallarda hız dilsel değişkeni de 0 ve 220 arasında değer alıyor. Ama bu aralık yavaş, orta,süratli gibi bulanık kümeleri içeriyor. Durma mesafesi dilsel değişkeni 0-300m arasında değişiyor ve kısa, orta ,uzun gibi bulanık kümeleri içere biliyor

• Bulanık sistemlerde eğer kuralın sol tarafı (IF) belirli bir derecede doğru ise kuralın sağ tarafı (THEN) aynı derecede doğrudur

Page 63: Veri Tabanında İleri Konular

Bulanık kümelerin ateşlenmesi-Firing Fuzzy Rules

• Aşağıdaki örnek ağırlığın tahmin modelidir. Bu modelde insanın boyu ile kilosu arasındaki bağlantı oluşturulup.

IF boy uzun iseTHEN kilosu çoktur

Uzun insan Kilolu insan

180

Üyelik derecesi p

1.0

0.0

0.2

0.4

0.6

0.8

boy, cm

190 200 70 80 100 160

kilo, kg

120

üyelik derecesi 1.0

0.0

0.2

0.4

0.6

0.8

Page 64: Veri Tabanında İleri Konular

Bulanık kuralların tetiklenmesi- Firing Fuzzy Rules

• Kuralın sağ tarafının çıkış değeri veya gerçek üyelik derecesi sol tarafın gerçek üyelik değerinden doğrudan çıkarıla bilir. Bu bulanık çıklarımdır

Uzunboylu insan Kilolu insan

180

Üyelik Derecesi 1.0

0.0

0.2

0.4

0.6

0.8

boy, cm

190 200 70 80 100 160

Ağırlık, kg

120

Üyelik Derecesi 1.0

0.0

0.2

0.4

0.6

0.8

Page 65: Veri Tabanında İleri Konular

Bulanık kuralların tetiklenmesi-Firing Fuzzy Rules

• Bulanık kümenin sebep kısmı karmaşık (birkaç sebep) ola biliyor:

IF proje uzun süreli iseAND proje personel sayısı çok iseAND proje bütçesi yeterli değilTHEN risk yüksektir

IF hizmet mükemmel ise OR yemekler nefis ise

THEN bahşiş büyüktür

• Sonuç da birkaç kısımdan oluşa biliyor:

IF su sıcak iseTHEN sıcak suyu azaltmalı;

soğuk suyu arttırmalı

Page 66: Veri Tabanında İleri Konular

Bulanık küme örneği-1• Klima kapalı alanda sıcaklığı ve nemliği kontrol

etmek ve belirli düzeyde tutmak için bir alettir. Klimanın pervanesi temiz havanı alıp döndürüyor ve termostatik kontrol altında soğutuyor

• Varsayalım ki, klimanın 5 kontrol anahtarı bulunmaktadır: Çok soğuk -COLD, soğuk-COOL, ılık-PLEASANT, sıcak_WARM ve Çok sıcak- HOT. Klimanın pervanesini işleten motorun hızı aşağıdaki gibi derecelendirilmiştir: en yavaş-MINIMAL, yavaş-SLOW, orta-MEDIUM, hızlı-FAST ve çok hızlı- BLAST.

Page 67: Veri Tabanında İleri Konular

Bulanık kümelere örnek-1 (üretim kuralları)

• Klimanın çalışması için bulanık kurallar:

KURAL 1:IF HAVA is ÇOK SOĞUK THEN HIZ is ENYAVAŞ

KURAL 2:IF HAVA is SOĞUK THEN HIZ is SLOW

KURAL 3:IF HAVA is ILIK THEN HIZ is ORTA

KURAL 4:IF HAVA is SICAK THEN HIZ is YÜKSEK

KURAL 5:IF HAVA is ÇOK SICAK THEN HIZ is ÇOK YÜKSEK

Page 68: Veri Tabanında İleri Konular

Bulanık kümelere örnek-2• Sıcaklık için altkümeler:• Çok soğuk (COLD):

for 0 ≤ t ≤ 10 COLD(t) = – t / 10 + 1

• Soğuk (COOL):for 0 ≤ t ≤ 12.5 COLD(t) = t / 12.5for 12.5 ≤ t ≤ 17.5 COLD(t) = – t / 5 + 3.5

Temperature Fuzzy Sets

00.10.20.30.40.50.60.70.80.9

1

0 5 10 15 20 25 30

Temperature Degrees C

Trut

h Va

lue

ColdCoolPleasentWarmHot

Page 69: Veri Tabanında İleri Konular

Bulanık kümelere örnek-3:• HIZ için bulanık altkümeler:

• ENDÜŞÜK (MINIMAL):for 0 ≤ v ≤ 30 MIN (t) = – v / 30 + 1

• YAVAŞ (SLOW):for 10 ≤ v ≤ 30 SLOW(t) = v / 20 – 0.5for 30 ≤ v ≤ 50 SLOW(t) = – v / 20 + 2.5

Speed Fuzzy Sets

0

0.2

0.4

0.6

0.8

1

0 10 20 30 40 50 60 70 80 90 100

Speed

Tru

th V

alue MINIMAL

SLOWMEDIUMFASTBLAST

Page 70: Veri Tabanında İleri Konular

Bulanık Veri Tabanları -Sorguların bulanıklığı

Kesin sorgu: 1997 yılında yıllık geliri 1000 ve 3000 arasında olan ve çalışanlarının sayısı 200’den fazla olmayan şirketler

Bulanık sorgu: Geliri orta düzeyde olan ve çok fazla çalışanı bulunmayan şirketler

Kesin sorgu

Bulanık sorgu

Page 71: Veri Tabanında İleri Konular

Kesin ve Bulanık sorgular 1 feet=12 inch=30.48cm; 1 inch=2.54cm

Page 72: Veri Tabanında İleri Konular

Kesin ve Bulanık sorgular

Page 73: Veri Tabanında İleri Konular

Kesin ve Bulanık sorgular

Page 74: Veri Tabanında İleri Konular

Kesin ve Bulanık sorgular

Üyelik fonksiyonlarını birleştirmek için 2 yöntem:

1) En küçük üyeliğin seçilmesi

2) Ortalama değerin bulunması

Page 75: Veri Tabanında İleri Konular

Kesin ve Bulanık sorgular

Page 76: Veri Tabanında İleri Konular

Nesne İlişkisel ve Nesneye Yönelik Veri Tabanı Yönetim Sistemleri

Page 77: Veri Tabanında İleri Konular

VTYS’lerin sınıflandırılması

İlişkisel VTYS

Dosya sistemleri

Nesne-İlişkisel VTYS

Nesneye yönelik VTYS

Page 78: Veri Tabanında İleri Konular

Nesne –İlişkisel VTYS (Öğrenci Veri Tabanı)

• Öğrenci sınıfı nesneleri,Kişi sınıfının nesnelerine doğru genişletilmelidir

• Doktora öğrencisi , Yüksek Lisans ve Lisans Öğrencileri altsınıfları Öğrenci sınıfından özellikler miras ala bilmelidir

• Ders sınıfının nesneleri• Çoklu ortam verilerinin işlenilmesi

mümkün olmalıdır: • Öğrenci resimleri • Öğrencilerin ses kayıtları

Page 79: Veri Tabanında İleri Konular

Object-Relational DBMS

• Introduced in 1992 with the release of the UniSQL/X unified relational and object-oriented database system.

• Then, Hewlett Packard released OpenODB (later Odapter), which extended its AllBase relational DBMS.

• In 1993, Montage Systems (later Illustra): shipped the first commercial version of the object-relational Postgres.

Page 80: Veri Tabanında İleri Konular

Object-Relational DBMSDeveloping a New Standard: SQL3

SQL3 accommodates:

• Object SQL• Stored Procedures• Triggers• User-defined types

• CLI (Callable Level Interface)

• Sensitive Cursors• Multimedia

SQL3 exists in draft form--anticipated ratification in July 1998.

Page 81: Veri Tabanında İleri Konular

Object-Relational DBMSKey Players

• Informix: Illustra (Informix-Universal Server)

• UniSQL• Oracle: Oracle8• Hewlett-Packard• Unisys: OSMOS• IBM: DB2 version 3• Sybase: Adaptive Server (introduced

Sept. ‘97) Just released--a Java-based

ORDBMS:• Cloudscape’s JBMS

Page 82: Veri Tabanında İleri Konular

Object-Relational DBMSReal-world applications

Oracle8 by Oracle• Abbey National, the United Kingdom's fifth-largest

bank, is developing a new customer database system to improve manageability of large objects, such as Abbey National's Financial Transactions data. Abbey anticipates using Oracle8 objects to store more complex forms of data, such as other databases and tables. An individual's complete insurance record, including insurance policies, claim forms, credit card receipts, and photos of automobile collision damage, can be stored as an object, providing a view of data that approximates the traditional paper record.

Page 83: Veri Tabanında İleri Konular

Object-Relational DBMSReal-world applications

• Nasdaq Stock Market has been testing Oracle8 on Sun Solaris and Sequent Dynix platforms to support its large Decision Support System (DSS) databases. Oracle8 is expected to provide Nasdaq with robust performance, advanced replication, and segment partitioning to help Nasdaq manage its Very Large Data Bases (VLDBs), with Oracle8 scaling up to handle multiple terabytes and 30,000 concurrent users, providing substantial headroom for Nasdaq's hundreds of gigabytes.

Page 84: Veri Tabanında İleri Konular

Object-Oriented DBMSSuited for Complex Data

Nesneye Yönelik VTYS’lerde amaç karmaşık verilerin kontrolünü ve nesneler arasındaki karmaşık ilişkilerin kontrolünü çok iyi yapmaktadır.

Examples:• Financial portfolio risk-analysis systems• Telecommunications service applications• WWW document structures• Design and manufacturing systems• Hospital patient record systems

Page 85: Veri Tabanında İleri Konular

Object-Oriented DBMSDB functions integrated into programming language

• The OODBMS integrates database capabilities directly into the object-oriented programming language (C++, Smalltalk, Java). This is different than SQL, which is a separate language that defines, retrieves, and manipulates data.

• Client is the C++ program• Server is the OODBMS

Page 86: Veri Tabanında İleri Konular

Object-Oriented DBMSDeveloping Standards

• The Object Database Management Group (ODMG): standards-setting body, organized in 1991

• Rather than defining a completely new standard from the ground up, the ODMG standard builds upon the existing OMG, SQL-92, and ANSI programming language standards to define an application-portability framework among OODBMS

Page 87: Veri Tabanında İleri Konular

Object-Oriented DBMSStandard: ODMG-93

ODMG-93: the answer to SQL ODMG-93: an extension of the

CORBA Persistent Object ServiceThree major components of ODMG-93:• Object Definition Language (ODL)• Object Query Language (OQL)• C++ and Smalltalk language bindings

Page 88: Veri Tabanında İleri Konular

Object-Oriented DBMSStandard: ODMG 2.0 (July 1997)

The Object Database Management Group (ODMG) has published the ODMG 2.0 Specification, a key milestone in the development of the only industry standard for object databases.

The ODMG 2.0 standard includes:• a new ODMG binding for Java that standardizes and

simplifies the storage of Java objects in databases• a metamodel that provides a language-independent

description of a database schema to tools and applications

• improved C++ and Smalltalk language bindings

Page 89: Veri Tabanında İleri Konular

Object-Oriented DBMSKey Players

• GemStone Systems• IBEX Computing SA• O2 Technology• Object Design

(Voting members of ODMG)Voting membership requires that a company must have developed and must commercially ship a object DBMS product. The company must commit 20 percent of the time of a senior object DBMS expert and must commit to implement the ODMG standard.

• Objectivity• POET Software• UniSQL• Versant Object

Technology

Page 90: Veri Tabanında İleri Konular

Object-Oriented DBMSMore Players

• Andersen Consulting• CERN• Electronic Data Systems (EDS)• Fujitsu Software Corporation• Hitachi• Lockheed Martin• Microsoft

• MITRE Corporation• NEC Corporation • ONTOS• Persistence Software• Sybase• Unidata• VMARK Software

(Reviewer member companies of ODMG)Reviewer membership requires a company to commit 10 percent of the time of a senior object DBMS expert, but does not require that the company ship an object DBMS product.

Page 91: Veri Tabanında İleri Konular

Object-Oriented DBMSReal-world applications

ObjectStore by Object Design• The Human Genome Project at the MIT

Whitehead Institute (Cambridge, MA) is helping to sequence the entire human genome by the year 2005. They have two applications: MAPBASE (genetic mapping of mice) and LABBASE (physical mapping of humans and mice), both of which use ObjectStore as the data and model repository. They chose an OODBMS for the repository because of its ability to efficiently and quickly manage complex genetic data.

Page 92: Veri Tabanında İleri Konular

Object-Oriented DBMSReal-world applications

• Monterey Bay Aquarium Research Institute uses ObjectStore to collect and store multi-media oceanographic research data (videos, image, etc.). They share their ObjectStore-based research data with other research organizations through an extranet application written in Java. They replaced Oracle with ObjectStore because ObjectStore reduced the amount of Java code required (no need to convert their objects to rows & columns) and because ObjectStore could be extended very easily to store any type of multi-media or textual data.

Page 93: Veri Tabanında İleri Konular

Object-Oriented DBMSReal-world applications

• Rush-Presbyterian-St.Luke's Medical Center is a 1,000-bed research hospital in Chicago. ObjectStore supports a patient record system for their echocardiography unit. Doctors study echocardiograms (ultrasound recordings of hearts beating) and enter their patient evaluations into ObjectStore. The patient's report is automatically generated in HTML and FAXed to the patient's hospital room in 15 minutes (hours faster than the old, paper-based system).

Page 94: Veri Tabanında İleri Konular

Object-Oriented DBMSReal-world applications

Versant Object Technology• NUSTAR International (Atlanta) uses Versant to

accept, store, manage, and publish data about real estate in many markets across the country. OODBMS allows great flexibility for updating local editions--each of which includes photos and other information about homes for sale in a given area. Publications are updated very frequently. Company scans between 16,000 and 25,000 photos a week. Each photo is associated with a real estate listing that includes text and graphics (including maps, floor plans, or logos).

Page 95: Veri Tabanında İleri Konular

Object-Oriented DBMSLimitations?

Some DBMS developers define limitations of the OODBMS as follows:

• OODBMS are limited to small applications (small databases)

• OODBMS don’t support a lot of concurrent users

• It takes too much time to deliver an OODBMS application

Page 96: Veri Tabanında İleri Konular

Object-Oriented DBMSLimitations? A Response

1997 study of 24 applications found that: • 15 applications occupied between 1 and 99 GB• Four applications supported more than 500 users,

with the most common situation involving between 10 and 99 users.

• Development can be time-consuming, but not in every case and delivery time is improving (facilitated by greater availability of vendor tools). Twelve to twenty-three months is average development period, but many companies delivered in less than a year.

Page 97: Veri Tabanında İleri Konular

Object-Relational DBMS & Object-Oriented DBMS: Predictions

• Relational DBMS market will grow to $6.8 billion by 1997, and $8.1 billion by 2000 (compared to $2.9 billion in 1995)

• ORDBMS market will grow to $1 billion by 2000 (compared to $14 million in 1995)

• OODBMS market will grow to $430 million by 1997 and $600 million by 2000 (compared to $100 million in 1995)

Conclusion: Market for OODBMS is growing very fast, but still dwarfed by relational DBMS

Page 98: Veri Tabanında İleri Konular

Object-Relational DBMS or Object-Oriented DBMS? The Future.

Future databases (in perhaps 5 to 10 years) will likely be capable of everything.

• Relational DBs will likely be replaced with object-relational DBs.

• Object-relational DBs are quickly adapting the capabilities to deal with complex data (objects).

• Object-oriented DBs are adding querying capabilities similar to those of relational DBs.

Page 99: Veri Tabanında İleri Konular

SQL3’e örnek(kullanıcı tanımlı tür-User Defined Type(UDT)

CREATE TYPE person_type AS (PRIVATE date_of_birth DATA CHECK (date_of_birth>DATE ‘1900-01-

01’),PUBLIC fname VARCHAR(15) NOT NULL , lname VARCHAR(15) NOT NULL, address VARCHAR(50) NOT NULL, tel_no VARCHAR(13) NOT NULL, FUNCTION get_age(P person_type RESULT , DOB:DATE) RETURNS person_type RETURN /*set date_of_birth*/ END)

Page 100: Veri Tabanında İleri Konular

SQL3’e örnek (kalıtım)CREATE TYPE staff_type UNDER person_type AS ( sno VARCHAR(5) NOT NULL UNIQUE, position VARCHAR(10) NOT NULL, salary DECIMAL(7,2), bno VARCHAR(3) NOT NULL, CREATE FUNCTION is_manager(s STAFF_TYPE)

RETURNS BOOLEANBEGIN IF s>>position=‘Manager’ THEN RETURN TRUE; ELSE RETURN FALSE; ENDIFEND)

Page 101: Veri Tabanında İleri Konular

SQL-3 (özyineleme)

Sorgu: Bart’ın seleflerini (soyunu) bulmalı

Page 102: Veri Tabanında İleri Konular
Page 103: Veri Tabanında İleri Konular
Page 104: Veri Tabanında İleri Konular
Page 105: Veri Tabanında İleri Konular

ROW veri türüCREATE TABLE employee ( EMP_ID INTEGER, NAME ROW( GIVEN VARCHAR (30), FAMILY VARCHAR (30) ) , ADDRESS ROW ( STREET VARCHAR (50), CITY VARCHAR (30), STATE CHAR (2)), SALARY REAL ) SELECT E.NAME.FAMILY FROM employee E