„Arată-mi diagramele tale de flux și ascunde-ți tabelele, și voi rămâne nedumerit. Arată-mi tabelele, și de obicei nu voi mai avea nevoie de diagrame; vor fi evidente.”Frederick P. Brooks Jr. · The Mythical Man-Month · 1975 · The Mythical Man-Month (1975), cap. 9 — Ten Pounds in a Five-Pound Sack
Un tabel bine numit și bine cheiat e cea mai bună documentație pe care o vei scrie vreodată.
Brooks spunea că tabelele explică sistemul; într-un depozit, tabelele sunt sistemul. Prima cauză de eșec e lipsa modelului: sursele copiate una lângă alta și numite „depozit”, fără fapte și dimensiuni, fără o definiție comună pentru „client” sau „venit” — deci trei rapoarte cu trei cifre. A doua e lipsa proprietarului: seturi fără cineva care răspunde de ele, fără teste, unde o coloană redenumită la sursă trece neobservată o lună. A treia e lipsa utilizatorului: un depozit construit „pentru când o să avem nevoie”, în loc de o decizie concretă de luni dimineață. Restul e o listă de verificat, pe scurt. Cheia surogat și cea naturală confundate, join-uri care multiplică rânduri. Fusuri orare și monede amestecate în aceeași coloană. Ora evenimentului confundată cu ora încărcării. NULL-ul care dispare din agregări și din join-uri fără să anunțe. Interogări nemărginite într-un sistem plătit pe citire. Date personale pe fiecare rând, fără seif și fără termen. Streaming acolo unde o încărcare zilnică era de ajuns. Și o documentație care lipsește — deși, cum spune Brooks, un tabel bine numit și bine cheiat e cea mai bună documentație pe care o vei scrie vreodată.
De ce contează Nicio unealtă nu compensează un model lipsă, un set fără proprietar sau un depozit fără utilizator. Toate trei se văd în tabele, dacă te uiți.