Saya melihat tabel sqlite yang dihasilkan Core Data dan perhatikan bahwa semua kolom tabel dimulai dengan 'Z'. Saya menyadari ini adalah detail implementasi, tetapi saya ingin tahu mengapa itu terjadi dan jika ada keputusan desain yang terlibat dalam hal ini. Adakah yang tahu atau menebak mengapa?
Berikut ini adalah contoh skema keluaran dari database Core Data sqlite:
sqlite> .schema CREATE TABLE ZPOST (Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZPOSTID INTEGER, ZEGER 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);
Jawaban:
Ini adalah konvensi penamaan yang dipilih untuk digunakan dalam Core Data SQLite.
Ada beberapa alasan mengapa itu dipilih. Salah satu alasan utama adalah Z adalah salah satu huruf alfabet yang paling jarang digunakan sehingga mereka pasti merasa dengan pra-memperbaiki nama tabel dan nama entitas dengan Z mereka membuka lebih banyak opsi bagi pengembang untuk memberi nama tabel mereka sendiri dengan lebih sedikit peluang menginjak seseorang. konvensi penamaan sudah.
Akhirnya dengan menggunakan Z dan semua batas tabel Data Inti lebih mudah dikenali dan memanggil objek entitas keluar. Dalam satu komentar dalam pertanyaan, Mike menyebutkan bahwa dia juga memberi nama mejanya dengan az sehingga mereka menyortir bagian bawah. Ini mungkin juga menjadi pertimbangan.
sumber