Eu estava olhando para a tabela sqlite que o Core Data gera e percebi que todas as colunas da tabela começam com 'Z'. Sei que esse é um detalhe de implementação, mas fiquei curioso para saber por que esse é o caso e se havia uma decisão de design envolvida nisso. Alguém sabe ou adivinha por que?
Aqui está um exemplo de saída de esquema do banco de dados sqlite do Core Data:
sqlite> .schema CRIAR TABELA ZPOST (Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZUSER INTEGER, ZCREATEDAT TIMESTAMP, ZTEXT VARCHAR); CRIAR ZUSER DE TABELA (Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZUSERID INTEGER, ZAVATARIMAGEURLSTRING VARCHAR, ZUSERNAME VARCHAR); CRIAR TABELA Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID VARCHAR (255), Z_PLIST BLOB); CRIAR TABELA Z_PRIMARYKEY (CHAVE PRIMÁRIA Z_ENT INTEGER, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER);
Respostas:
É a convenção de nomenclatura escolhida para ser usada no Core Data SQLite.
Existem várias razões pelas quais foi escolhido. Uma das principais razões é que Z é uma das letras menos usadas do alfabeto, então elas certamente sentiram ao pré-fixar nomes de tabelas e nomes de entidades com Z. Eles abrem mais opções para os desenvolvedores nomearem suas próprias tabelas com menos chances de pisar em alguém convenções de nomenclatura já.
Finalmente, usando Z e todas as maiúsculas, as tabelas dos Dados Principais são mais fáceis de localizar e chama os objetos da entidade. Em um comentário na pergunta, Mike mencionou que ele também nomeia suas tabelas com az, para que elas classifiquem o fundo. Isso também pode ter sido uma consideração.
fonte