10. W jakich sytuacjach to pomocne?
• Tworzenie oprogramowania
• Hurtownie danych, BI, …
• Wdrożenia ERP, CRM, billing…
• Integracja
• Rozwój i utrzymanie
• Migracja do nowego systemu
12. 1. Słownik danych (data dictionary)
Table: employee
Table holds past, current and future company employees.
Column Data type Description
BusinessEntityID int Primary key for Employee records. Foreign key
to BusinessEntity.BusinessEntityID.
NationalIDNumber nvarchar(15) Unique national identification number such as
a social security number.
LoginID nvarchar(256) Network login.
OrganizationNode hierarchyid Where the employee is located in corporate
hierarchy.
OrganizationLevel smallint The depth of the employee in the corporate
hierarchy.
JobTitle nvarchar(50) Work title such as Buyer or Sales
Representative.
13. 1. Słownik danych – stany
Employee row can be in following statuses based on dates:
• Future - start_date > today or start_date null
• Current - start_date <= today and (end_date > today or null)
• Past – end_date < today
14. 1. Słownik danych – lista wartości
Column Description
MaritalStatus M = Married, S = Single
CurrentFlag 0 = Inactive, 1 = Active
15. 1. Słownik danych – API
To modify and fetch data use this:
• employee_get – returns specified employee row
• employees_get – returns selected employees
• employee_insert – use this to insert new employee
• employee_update – use this to update employee row
• employee_delete – use this to delete employee
16. 1. Słownik danych – używane przez
View: employees_active_v
Used by: Employees search form,
Active employees report
17. 1. Słownik danych – źródła
Table: employee
Data source: Employees form, sync_employees
Column Source
MaritalStatus Employees form
NationalIDNumber Employees form
Number emp_no trigger
Score Data warehouse, calc_employees_scores
19. 1. Słownik danych – wartość dodana
Table: invoices
Column Description
number Invoice number
date Invoice date
20. 1. Słownik danych – wartość dodana
Table: invoices
Column Description
number Invoice autogenerated number, starting from 1 each
year. Number is generated when invoice gets
approved.
date Invoice issue date. Null for working copy invoices. Set
to today’s date on invoice approval.
#5:Potrzeba analizy danych cały czas rośnie. Dziś już nie wystarczy że zbieramy dane w zamkniętych bazach. Chcemy korzystać z danych. Tutaj trendy wyszukiwania haseł w Google dotyczące analizy danych. Jak widać
#6:Bazy danych są dość zagmatwane. Tutaj przykład paru tabel i kolumn z gotowych aplikacji
#7:Bazy danych są skomplikowane. Tutaj przykładowa tabela jednej z aplikacji ERP. 130 kolumn. Nie jest to żadna wyjątkowa tabela.
#11:Ja i nasz zespół mieliśmy okazję pracować przy bardzo różnorodnych projektach
W rozwoju oprogramowania jest to narzędzie komunikacji między projektantami i programistami.
Dokumentacja ma duże znaczenie w przypadku hurtowni danych, w 2 zastosowaniach – po pierwsze potrzebujemy dokumentacji żeby znaleźć dane w systemach źródłowych. Bardzo często w firmie nie ma nikogo kto projektował czy choćby zna strukturę bazy. W takiej sytuacji zespół wdrożeniowy spędza dni a nawet tygodnie szukając danych. Po drugie, sama hurtownia danych powinna być udokumentowana. Hurtownie danych tworzy się po to aby tworzyć na niej raporty i wykonywać zapytania i analizy a więc dokumentacja danych jest szczególnie istotna.
Kolejny przykład to wdrożenia gotowych aplikacji, klas ERP, CRM, systemów billingowych i tym podobnych. Jak już wspomniałem bazy danych gotowych aplikacji są ogromne, wykorzystywana jest jedynie część obiektów, tworzone są nowe, a masa tabel czy kolumn zmienia swoje znaczenie (patrz attribute_5). Dlatego istotne jest aby oprócz dokumentacji producenta dokumentować konkretne wdrożenie.
Ma to znaczenie także przy integracji systemów która często odbywa się na poziomie bazy danych i my musimy wiedzieć skąd pobrać dane i gdzie i jak je wstawić.
Wspomniałem o rozwoju oprogramowania, a jeszcze większe znaczenie dokumentacja ma przy utrzymaniu i dalszym rozwoju gdzie często już nikt nie pamięta szczegółów albo wręcz nie ma już nikogo kto daną apliakcje tworzył
I ostatni przypadek – gdy wdrażamy nowy system, nigdy nie myślimy o tym że za 10 czy 20 lat będziemy go chcieli zastąpić nowym. Będzie wtedy trzeba było zmigrować dane, a dostawca czy zespół wdrożeniowy obecnego systemu nie będzie zainteresowany pomocą lub go już nie będzie. W takiej sytuacji dostawca nowego systemu będzie musiał ponieść duży koszt odszyfrowania struktury danych, a co gorsze będzie bardzo duże ryzyko utraty bardzo ważnych danych.
Wszystkie te spostrzeżenia wynikają z mojego doświadczenia i gdybyśmy przy tych projektach mieli porządną dokumentację oszczędzilibyśmy bardzo dużo czasu i problemów.
#22:
Niewiele elementów – jeden temat, jeżeli za duże to podzielić
Tylko główne kolumny
Minimum detali, maksimum informacji
#23:Nie widać relacji
Wszystkie kolumny
Typy danych!
#24:Minimum detali, maksimum informacji
Jeden temat, obszar
Wiele mniejszych w miejsce jednego dużego
Maks. 30 obiektów
#25:Minimum detali, maksimum informacji
Jeden temat, obszar
Wiele mniejszych w miejsce jednego dużego
Maks. 30 obiektów