3. Tablo Yapısı
3.1. Tablo Tipleri
Veriler veritabanı tablolarında saklanmaktadır. 3 çeşit tablo yapısı mevcuttur.
- Normal Tablolar: Aktif kullanımda olan tablolardır. Örneğin scf_fatura
- Tarihçe Tabloları: Değişen verilerin eski bilgilerini ve silinen verileri tutan tablolardır. Normal tablo isminin başına “_hist_” eki getirilerek oluşturulur. Örnek: _hist_scf_fatura
- Arşiv Tabloları: Arşive kaldırılan verileri saklayan tablolardır. Örnek _arch_scf_fatura
3.2. Tablolardaki Sabit Alanlar
- _key: Veriye ait tekil anahtardır. (Primary Key)
- _level1: Verinin ait olduğu firma kısa kodu
- _level2: Verinin ait olduğu dönem kısa kodu
- _serial: Sıralı numara
- _user: Son işlem yapan kullanıcı _key değeri.
- _date: Son işlem tarihi
- _owner: İlk ekleyen kullanıcı _key değeri.
- _action: Tarihçe işlem türü (sadece history tablolarında bulunur)
- _actionuser: Tarihçe işlemini yapan kullanıcı _key değeri (sadece history tablolarında bulunur)
- _actiondate: Tarihçe işleminin oluşturulma tarih ve saat bilgisi (sadece history tablolarında bulunur)
3.3. Birebir (1-1) Tablo İlişkisi
Tablolar arasında birebir ilişki sistem içerisinde çok yerde kullanılmıştır. Örneğin cari kart tablosu (scf_carikart), satış elemanı tablosuyla (scf_satiselemani) birebir ilişkilidir. Yani bir cari kart içerisinde bir satış elemanı bağlantısı bulunabilmektedir. _key ile başlayan alanlar birebir ilişkide kullanılır. Aşağıdaki resimde örneği mevcuttur.
3.4. Bire çok (1-n) Tablo İlişkisi
Bir tabloya bağlı alt tablolar olabilmektedir. Örneğin cari kart adresleri scf_carikart_adresleri tablosunda tutulur, cari kart tablosuna _key_scf_carikart alanı ile bağlıdır. Bir carinin birden fazla adresi olabilmektedir. Başka bir örnek verelim, fatura bilgisi scf_fatura tablosunda tutulur, fatura kalemleri scf_fatura_kalemi tablosunda tutulur ve kalem tablosunda _key_scf_fatura alanıyla faturaya bağlıdır. Yani bir faturanın birden fazla kalemi olabilmektedir.