• Sonuç bulunamadı

5. UYGULAMA

5.2 ADDM Veritabanı

5.2.3 ADDM Veritabanının Yapısı

Şekil 5.19 ADDM veritabanı tabloları (36 adet)

Şekil 5.20 ADDM veritabanı stored procedure ve fonksiyonları

t_bms_webview_1

sat_id int

urun_no decimal(10, 0)

Column Name Data Type Allow Nulls

t_bms_webview_2

sat_id int

urun_no decimal(10, 0)

Column Name Data Type Allow Nulls

t_migros_kadir_has

Hesap_No decimal(10, 0)

Tarih datetime

Kasa_No tinyint Islem_No int

Saat decimal(4, 0)

Urun_No decimal(10, 0) Urun_Adi nvarchar(50) Adet_Kg decimal(10, 3) Tutar decimal(10, 2) Harcama decimal(10, 2)

Column Name Data Type Allow Nulls

Şekil 5.21 Excel ve metin dosyalarındaki bilgilerin aktarıldığı, ham verilerin bulunduğu tablolar

t_bms1_fptree

fpg_id int

nesne decimal(10, 0) ust_fpg_id int destek_sayi int

Column Name Data Type Allow Nulls

t_bms1_satis

sat_id int

tarih datetime

Column Name Data Type Allow Nulls

t_bms1_satis_detay

sdk_id int

sat_id int

urk_id int

Column Name Data Type Allow Nulls

t_bms1_urun

urun_no decimal(10, 0) urun_ad nvarchar(50)

urk_id int

Column Name Data Type Allow Nulls

t_bms1_urun_kategori

urk_id int

ad nvarchar(50)

Column Name Data Type Allow Nulls

t_bms2_fptree

fpg_id int

nesne decimal(10, 0) ust_fpg_id int destek_sayi int

Column Name Data Type Allow Nulls

t_bms2_satis

sat_id int

tarih datetime

Column Name Data Type Allow Nulls

t_bms2_satis_detay

sdk_id int

sat_id int

urk_id int

Column Name Data Type Allow Nulls

t_bms2_urun

urun_no decimal(10, 0) urun_ad nvarchar(50)

urk_id int

Column Name Data Type Allow Nulls

t_bms2_urun_kategori

urk_id int

ad nvarchar(50)

Column Name Data Type Allow Nulls

t_migros_fptree

fpg_id int

nesne decimal(10, 0) ust_fpg_id int destek_sayi int

Column Name Data Type Allow Nulls

t_migros_satis

sat_id int

tarih datetime

Column Name Data Type Allow Nulls

t_migros_satis_detay

sdk_id int

sat_id int

urk_id int

Column Name Data Type Allow Nulls

t_migros_urun

urun_no decimal(10, 0) urun_ad nvarchar(50)

urk_id int

Column Name Data Type Allow Nulls

t_migros_urun_kategori

urk_id int

ad nvarchar(50)

Column Name Data Type Allow Nulls

t_satis

sat_id int

tarih datetime

Column Name Data Type Allow Nulls

t_satis_detay

sdk_id int

sat_id int

urk_id int

Column Name Data Type Allow Nulls

t_urun

urun_no decimal(10, 0) urun_ad nvarchar(50)

urk_id int

Column Name Data Type Allow Nulls

t_urun_kategori

urk_id int

ad nvarchar(50)

Column Name Data Type Allow Nulls

Şekil 5.22 Ham verilerin bulunduğu tablolardan türetilmiş, algoritmalara veri sağlayan tablolar

t_ass_apriori

apr_id int

tip bit

boyut int

destek_sayi int

Column Name Data Type Allow Nulls

t_ass_apriori_kural

apk_id int

boyut int

nesneX varchar(MAX) nesneX_ad varchar(MAX) nesneY varchar(MAX) nesneY_ad varchar(MAX) destek decimal(10, 3) guven decimal(10, 3)

Column Name Data Type Allow Nulls

t_ass_apriori_sonuc

aps_id int

boyut int

nesnekume varchar(MAX) nesnekume_ad varchar(MAX) destek_sayi int destek decimal(10, 3)

Column Name Data Type Allow Nulls

t_ass_apriori_sonuc_detay

aps_id int

nesne decimal(10, 0)

Column Name Data Type Allow Nulls

t_ass_fpgrowth_kural

fpk_id int

boyut int

nesneX varchar(MAX) nesneX_ad varchar(MAX) nesneY varchar(MAX) nesneY_ad varchar(MAX) destek decimal(10, 3) guven decimal(10, 3)

Column Name Data Type Allow Nulls

t_ass_fpgrowth_sonuc

fps_id int

boyut int

nesnekume varchar(MAX) nesnekume_ad varchar(MAX) destek_sayi int destek decimal(10, 3)

Column Name Data Type Allow Nulls

t_ass_fpgrowth_sonuc_detay

fps_id int

nesne decimal(10, 0)

Column Name Data Type Allow Nulls

t_ass_apriori_detay

apr_id int

nesne decimal(10, 0)

Column Name Data Type Allow Nulls

t_ass_fpgrowth_tree

fpg_id int

nesne decimal(10, 0) ust_fpg_id int destek_sayi int

Column Name Data Type Allow Nulls

Şekil 5.23 Algoritmaların çalışması esnasında kullanılan, sonuçların ve birliktelik kurallarının bulunduğu tablolar

tmp_fpgrowth_satis_detay

sdt_id int

sat_id int

urk_id int

sayi int

Column Name Data Type Allow Nulls

tmp_kural

tmk_id int

nesne_kural decimal(10, 0) nesne decimal(10, 0) destek_sayi int

Column Name Data Type Allow Nulls

tmp_kural_nesne

tmp_id int

nesne_kural decimal(10, 0) nesne decimal(10, 0) destek_sayi int

Column Name Data Type Allow Nulls

tmp_kural_nesne_yaygin

tmy_id int

nesne_kural decimal(10, 0) nesne decimal(10, 0) destek_sayi int

Column Name Data Type Allow Nulls

tmp_kural_son

tip_kod char(1) nesne decimal(10, 0)

Column Name Data Type Allow Nulls

Şekil 5.24 Algoritmaların çalışması esnasında ve birliktelik kuralları oluştururken kullanılan geçici tablolar

Şekil 5.25 sp_apriori stored procedure’ünden bir kesit

Şekil 5.26 sp_fpgrowth_executesql stored procedure’ünden bir kesit

Şekil 5.27 fn_fpgrowth_bul_fpg_id_by_nesne_ust_fpg_id isimli fonksiyon

Excel’deki veri seti bilgilerini içeren t_migros_kadir_has tablosundan faydalanarak, hareketsel (transactional) satışları içerecek t_migros_satis ve her bir satışa ait alınan ürünler ve detaylarını içerecek t_migros_satis_detay tabloları tasarlanmıştır. Böylelikle, Excel’de tekrar eden Hesap_No, Tarih, Kasa_No bilgilerinin tekilliği (unique) kullanılarak, ilgili tarihteki ilgili satış numarası ana bilgileri, t_migros_satis tablosunda oluşturulmuştur.

t_migros_satis_detay tablosuna ise, ilgili satış numarasında alınmış ürünler, satış numaralarıyla birlikte işlenmiştir. Migros verisi üzerinde yapılan bu işlemlerin benzeri, BMS verileri için de uygulanmıştır.

Şekil 5.22’de yer alan satış, satış detay, ürün, ürün kategori tablolarının yapıları aynıdır.

Böylelikle, birliktelik kuralları çıkarılacak olan veri setindeki bilgiler, t_satis, t_satis_detay, t_urun ve t_urun_detay tablolarına sp_veri_sec stored procedure’ü yardımıyla aktarılır ve algoritmalar çalıştırılır. Satış ve satış detay bilgileri kullanılarak her bir veri seti için oluşturulmuş ve ancak veri seti değiştiğinde baştan oluşturulması gereken FP-Tree yapılarını bulunduran tablolar vardır. Bu tabloların amacı, veri seti değişmediği müddetçe sabit kalacak olan FP-Tree yapısının tekrar oluşturulmasını ve zaman kaybını önlemektir. Aynı şekilde bu tablolardaki veriler de, sp_veri_sec stored procedure’ü çalıştırıldığında t_ass_fpgrowth_tree

tablosuna aktarılır.

Tabloları dört gruba ayırmak mümkündür:

• Excel ve metin dosyalarındaki bilgilerin aktarıldığı, ham verilerin bulunduğu tablolar (Şekil 5.21)

• Ham verilerin bulunduğu tablolardan türetilmiş, algoritmalara veri sağlayan tablolar (Şekil 5.22)

• Algoritmaların çalışması esnasında kullanılan, sonuçların ve birliktelik kurallarının bulunduğu tablolar (Şekil 5.23)

• Algoritmaların çalışması esnasında ve birliktelik kuralları oluştururken kullanılan geçici tablolar (Şekil 5.24)

Stored procedure’ler, algoritmaların çalışmasından önce veri sağlayan ve performans arttırıcı bir grup ile algoritmaları içeren operasyon grubu olmak üzere iki gruptur. Fonksiyonlar ise, operasyonel stored procedure’ler tarafından çağrılır.

Benzer Belgeler