Я посмотрел на таблицу sqlite, которую генерируют Core Data, и заметил, что все столбцы таблицы начинаются с «Z». Я понимаю, что это деталь реализации, но мне было любопытно узнать, почему это так, и было ли в этом решение по проекту. Кто-нибудь случайно знает или догадывается, почему?
Вот пример выходных данных схемы базы данных Core Data sqlite:
sqlite> .schema CREATE TABLE ZPOST (Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZUSER INTEGER, ZCREATEDAT TIMESTAMP, ZTEXT VARCHAR); CREATE TABLE ZUSER (Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZAVATARIMAGEURLSTRING VARCHAR, ZUSERNAME VARCHAR); CREATE TABLE Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID VARCHAR (255), Z_PLIST BLOB); CREATE TABLE Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER);
Ответы:
Это соглашение об именовании, выбранное для использования в Core Data SQLite.
Есть несколько причин, почему он был выбран. Одной из основных причин является то, что Z - одна из наименее используемых букв алфавита, поэтому они наверняка почувствовали, что предварительно фиксировав имена таблиц и имена сущностей с помощью Z, они открывают больше возможностей для разработчиков по именованию своих собственных таблиц с меньшим количеством шансов на кого-то нажимать соглашения об именах уже.
Наконец, используя Z и все заглавные буквы, таблицы базовых данных легче обнаружить и вызвать объекты сущностей. В одном из комментариев к вопросу Майк упомянул, что он также называет свои таблицы буквой az, чтобы они сортировали дно. Это также могло бы быть соображением.
источник