Protokol penciptaan jadual


1. [Mandatori] Medan yang menyatakan konsep ya atau tidak mesti dinamakan mengikut cara is_xxx, dan jenis data tidak bertanda tinyint (1 bermaksud ya, 0 bermaksud tidak .

Nota: Mana-mana medan mesti tidak ditandatangani jika ia adalah nombor bukan negatif.


2. [Mandatori] Nama jadual dan nama medan mesti menggunakan huruf kecil atau nombor, dan dilarang hanya mempunyai nombor di antara dua garis bawah. Pengubahsuaian nama medan pangkalan data adalah sangat mahal kerana pra-keluaran tidak mungkin, jadi nama medan perlu dipertimbangkan dengan teliti.

Contoh positif: getter _ admin, tugas _ config, level 3_ name

counter contoh: getteradmin, taskconfig, level _3_ name


3. [Mandatory] Jangan gunakan kata nama majmuk dalam jadual nama.

Nota: Nama jadual hendaklah hanya mewakili kandungan entiti dalam jadual dan tidak boleh mewakili bilangan entiti Nama kelas DO yang sepadan juga dalam bentuk tunggal, yang konsisten dengan tabiat ekspresi.


4 [Wajib] Lumpuhkan perkataan yang dikhaskan, seperti desc, julat, padanan, tertunda, dll. Sila rujuk kepada perkataan simpanan rasmi MySQL.


5. [Mandatori] Nama indeks unik ialah nama uk_field;

Penjelasan: uk _ ialah kunci unik; idx _ ialah singkatan indeks.


6 [Wajib] Jenis perpuluhan ialah perpuluhan, dan apungan dan berganda adalah dilarang.

Nota: Apabila float dan double disimpan, terdapat masalah kehilangan ketepatan Besar kemungkinan keputusan yang salah akan diperolehi apabila membandingkan nilai. Jika julat data yang disimpan melebihi julat perpuluhan, adalah disyorkan untuk membahagikan data kepada integer dan perpuluhan dan menyimpannya secara berasingan.


7 [Wajib] Jika panjang rentetan yang disimpan hampir sama, gunakan jenis rentetan panjang tetap char.


8 [Mandatori] varchar ialah rentetan panjang berubah Tiada ruang storan diperuntukkan terlebih dahulu. Jika panjang storan lebih besar daripada nilai ini, tentukan jenis medan sebagai teks dan. cipta jadual berasingan Gunakan kunci utama untuk sepadan untuk mengelakkan menjejaskan kecekapan pengindeksan medan lain.

9 [Wajib] Jadual mesti mempunyai tiga medan: id, gmt_create, gmt_modified.


Nota:

Id mestilah kunci utama, jenisnya adalah bigint yang tidak ditandatangani, kenaikan automatik untuk satu jadual dan saiz langkah ialah 1. Jenis gmt_create,

gmt_modified adalah semua jenis date_time.

10 [Disyorkan] Adalah lebih baik untuk menamakan jadual dengan "nama perniagaan_fungsi jadual".

Contoh positif: tiger _ task / tiger _ reader / mpp _ config


11 [Disyorkan] Nama perpustakaan dan nama aplikasi hendaklah sekonsisten mungkin.


12 [Cadangan] Jika anda mengubah suai maksud medan atau menambah status yang diwakili oleh medan, anda perlu mengemas kini ulasan medan tepat pada masanya.


13 Medan [Disyorkan] membenarkan redundansi yang sesuai untuk meningkatkan prestasi, tetapi penyegerakan data mesti dipertimbangkan. Medan berlebihan hendaklah mengikut:

1) Medan yang tidak kerap diubah suai.

2) Ia bukan medan varchar super panjang, apatah lagi medan teks.

Contoh positif: Nama kategori produk kerap digunakan, panjang medan pendek, dan nama kategori pada dasarnya boleh disimpan secara berlebihan dalam jadual yang berkaitan untuk mengelakkan pertanyaan yang berkaitan.


14 [Cadangan] Pecahan pangkalan data dan jadual hanya disyorkan apabila bilangan baris dalam satu jadual melebihi 5 juta atau kapasiti satu jadual melebihi 2 GB.

Nota: Jika jumlah data tidak dijangka mencapai tahap ini dalam masa tiga tahun, sila jangan bahagikan pangkalan data kepada jadual semasa membuat jadual.


15. [Rujukan] Panjang storan aksara yang sesuai bukan sahaja menjimatkan ruang jadual pangkalan data dan storan indeks, tetapi yang lebih penting, meningkatkan kelajuan perolehan semula.

Contoh positif:

Umur seseorang tidak bertanda kecil (mewakili julat 0-255, dan jangka hayat seseorang tidak akan melebihi 255 tahun); mesti kecil, tetapi jika ia adalah umur matahari , ia mestilah int; jika umur semua bintang ditambah, maka bigint mesti digunakan.