Patrzyłem na tabelę sqlite generowaną przez Core Data i zauważyłem, że wszystkie kolumny tabeli zaczynają się od „Z”. Zdaję sobie sprawę, że jest to szczegół implementacji, ale byłem ciekawy, dlaczego tak jest i czy w grę wchodziła decyzja projektowa. Ktoś wie lub zgaduje dlaczego?
Oto przykładowy schemat wyjściowy bazy danych sqlite Core Data:
sqlite> .schema UTWÓRZ TABELĘ ZPOST (Z_PK INTEGER PODSTAWOWY KLUCZ, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZUSER INTEGER, ZCREATEDAT TIMESTAMP, ZTEXT VARCHAR); UTWÓRZ STÓŁ ZUSER (Z_PK INTEGER PODSTAWOWY KLUCZ, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZAVATARIMAGEURLSTRING VARCHAR, ZUSERNAME VARCHAR); UTWÓRZ TABELĘ Z_METADANE (Z_VERSION INTEGER PODSTAWOWY KLUCZ, Z_UUID VARCHAR (255), Z_PLIST BLOB); UTWÓRZ TABELĘ Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER);
Odpowiedzi:
Jest to konwencja nazewnictwa wybrana do użycia w Core Data SQLite.
Istnieje kilka powodów, dla których został wybrany. Jednym z głównych powodów jest to, że Z jest jedną z najrzadziej używanych liter alfabetu, więc z pewnością wyczuwają, wstępnie ustalając nazwy tabel i nazwy encji za pomocą Z, otwierają one więcej opcji dla programistów, którzy mogą nazwać własne tabele, mając mniejsze szanse na tupnięcie na kimś już konwencje nazewnictwa.
Wreszcie przy użyciu Z i wszystkich wielkich liter tabele danych podstawowych są łatwiejsze do wykrycia i wywołują obiekty encji. W jednym komentarzu w pytaniu Mike wspomniał, że nazywa także swoje stoły az, więc sortują dno. To może być również rozważanie.
źródło