Spójność
Wszystkie pliki powinny mieć nastepujace pola:
Normalizacja danych
Kazdy plik powinien miec nastepujace indeksy:
- KeyID
- KeyModified, bez żadnych. W kluczu tym umieszczamy pola: IDOperatora_fk, DateModified, TimeModified.
Normalizacja danych
Pliki będące w relacji powinny być powiązane za pomoca pól ID . Pola te powinny byc zadeklarowane w obu plikach, w pliku z kluczem obcym z końcówką ‘_fk’. Relacja powinna miec ustawiona kontrole integralności na cascade lub restrict.Pola ID nie mogą być modyfikowane przez uzytkownika. Klucze obce w nazwie mają końcówkę "_fk".
Integralność
Przy definiowaniu słowników należy zwrócić szczególną± uwagę na wykorzystanie przy definiowaniu pól opcji:
Derived From służącej do dziedziczenia definicji pola
Do Not Auto-Populate This Field dla pól (np. typu ID), które nie powinny się z automatu pojawiać na ekranach i raportach - musi to być świadoma decyzja.
Jednocześnie zwracam uwagę, aby nie odpuszczać sobie wypełniania pozycji Description, Prompt Text, Column Heading, Message
Przy korzystaniu z opcji Derived From należy zwrócić uwagę na to, by
dziedziczenie odnosiło się we wszystkich przypadkach w ramach jednego słownika do jednego macierzystego pola, ponieważ w przypadku zastosowania łańcucha dziedziczeń opcja Refresh Dictionary obsługuje tylko jeden poziom zagłębienia. W przypadku łańcucha należałoby j± uruchomić tyle razy ile ogniw liczy łańcuch.
We właściwościach bazy należy obowiązkowo wybrać opcję OEM oraz zalecane jest stosowanie opcji Open in Current Thread, która to opcja powoduje zarezerwowanie w każdym wątku bufora dla bazy czyli faktycznie umożliwia pracę wielowątkową na tej samej bazie.
Przy definiowaniu zmiennych i pól należy zwrócić uwagę na następujące atrybuty:
i. Initial value - można tu nawet wpisywać funkcje i dzięki właściwej definicji oszczędzić sobie pracy z inicjowaniem danych poprzez wstawki w kodzie źródłowym
ii. Values - można dzięki właściwej definicji oszczędzić sobie pracy przy późniejszej obróbce jako, że wartości są całkowicie niezależne od zawartości pola Choices
Typy danych
Typ Danych SQL Topspeed Driver
Czas
Przechowywane jako cstring(8). Maska @t3.
Przechowywany jako Long. Maska @t3 lub @t6 gdy należy pokazywać sekundy.
Daty
Przechowywany jako cstring(11)
Przechowywany jako Date. Maska d17.
Strings
Zawsze jako cstring.
Zawsze jako cstring.
Memo
Duże pole cstring
Duże pole cstring
Groups
Nie uzywane w plikach
Nie używane w plikach
Kwoty
Decimal, n@16_’2
Decimal, n@16_’2
TAK/NIE
Byte(0,1) lub
Byte(0,1)
Generalnie: Nie stosować liczbowego picture, w którym grupowanie tysięcy następuje
przecinkiem (chyba domyślny - używać spacji, np. nie n10.2 - ale n10_.2
Wydaje się słusznym opracowanie własnej puli typów i używanie ich podczas definiowania tablic w słowniku
Brak komentarzy:
Prześlij komentarz