Estaba mirando la tabla sqlite que genera Core Data y noté que todas las columnas de la tabla comienzan con 'Z'. Me doy cuenta de que este es un detalle de implementación, pero tenía curiosidad sobre por qué ese es el caso y si hubo una decisión de diseño involucrada en esto. ¿Alguien sabe o adivina por qué?
Aquí hay un ejemplo de salida de esquema de la base de datos sqlite de Core Data:
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);
Respuestas:
Es la convención de nomenclatura elegida para usarse en Core Data SQLite.
Hay varias razones por las cuales fue elegido. Una de las razones principales es que Z es una de las letras menos utilizadas del alfabeto, por lo que seguramente sintieron que al preestablecer los nombres de las tablas y los nombres de las entidades con Z abren más opciones para que los desarrolladores nombren sus propias tablas con menos posibilidades de pisotear a alguien convenciones de nomenclatura ya.
Finalmente, al usar Z y todas las mayúsculas, las tablas de Core Data son más fáciles de detectar y llama a los objetos de la entidad. En un comentario en la pregunta, Mike mencionó que también nombra sus tablas con az para que clasifiquen el fondo. Esto también podría haber sido una consideración.
fuente