数据库设计的困惑,该怎么解决
数据库设计的困惑
情况是这样的,我以前做网站的时候遇到像“推荐”,“置顶”啊之类的,都是在表里加一个字段如“IsTop”或是"IsDelete"等,用BOOL型。可是最近来到新公司,公司的领导不是这么做的。如:“IsTop”表示是否删除,他就用建一个news_delete表,里面的记录就是己经"IsTop"的ID值。
这么做好像也不错,用起也很方便。要增加别的类似别的,不用在修改原有的表了。请问在数据库设计方面的高手们,如何是好。
------解决方案--------------------
感觉都可以,如果觉得数据结构复杂,就按照第二种来设计,拆分开来。
------解决方案--------------------
要学会宽容
对于你的描述,没有一定的规则
附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案
------解决方案--------------------
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
问题解决了 也该把贴结了。看看你的结贴率。0% 发帖:7 正常结贴:0

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Maksud JOIN sama seperti perkataan Inggeris "join". Ia bergabung dengan dua jadual dan boleh dibahagikan secara kasar kepada inner join, outer join, right join, left join dan natural join. Mula-mula buat dua jadual, berikut digunakan sebagai contoh CREATETABLEt_blog(idINTPRIMARYKEYAUTO_INCREMENT,titleVARCHAR(50),typeIdINT);SELECT*FROMt_blog;+----+------+--------+ |. id|tajuk|typeId|+----+-------+--------+|1|aaa|1||2|bbb|2||3|ccc|3 |

Join type leftjoin menggunakan jadual kiri sebagai jadual pemanduan dan jadual kiri sebagai asas set hasil Data dari jadual kanan disambungkan kepada set hasil kanan sebagai jadual pemanduan dan jadual kanan sebagai asas set hasil untuk menyambungkan jadual kiri Data ditambah kepada set hasil innerjoin Set keputusan mengambil persilangan dua jadual fulljoin fulljoin. Kesatuan menggantikan kesatuan. Perbezaan antara kesatuan dan kesatuan adalah bahawa kesatuan akan menyahduplikasi produk Cartesian crossjoin mencipta set hasil, ia akan diluluskan mengikut syarat.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Berbanding dengan pertanyaan sertai dan berbilang pertanyaan, yang manakah lebih cekap, pertanyaan berkaitan berbilang jadual MySQL atau pertanyaan berbilang jadual tunggal? Apabila jumlah data tidak cukup besar, tiada masalah menggunakan gabungan, tetapi ia biasanya dilakukan pada lapisan perkhidmatan Pertama: sumber pengkomputeran pangkalan data yang berdiri sendiri adalah sangat mahal, dan pangkalan data perlu menyediakan kedua-dua penulisan dan membaca pada masa yang sama, yang memerlukan penggunaan CPU Untuk membuat pangkalan data Daya tampung menjadi lebih tinggi, dan perniagaan tidak mengambil berat tentang jurang kelewatan ratusan mikrosaat hingga milisaat Perniagaan akan meletakkan lebih banyak pengiraan ke dalam lapisan perkhidmatan Lagipun, sumber pengkomputeran boleh dengan mudah dikembangkan secara mendatar, dan pangkalan data adalah sukar, jadi kebanyakan perniagaan akan meletakkan operasi pengkomputeran tulen ke dalam lapisan perkhidmatan, dan menggunakan pangkalan data sebagai sistem kv dengan keupayaan transaksi.

Pengenalan A unik + AB awam B unik + AB awam AB unik AB awam A unik B unik A unik + B unik + AB awam A unik + B unik Amalan mencipta jadual jabatan DROPTABLEIFEXISTS`dept`;CREATETABLE`dept`(`dept_id`int( 11)NOTNULLAUTO_INCREMENT,`dept_name`varchar(30)DEFAULTNULL,`dept_number`int(11)DEFAULTNULL,PRIMARYKEY(`dept_id`))ENGINE =InnoDBAUT

Gunakan fungsi JOIN MySQL untuk menyertai jadual Dalam MySQL, JOIN ialah operasi yang sangat biasa yang membolehkan kami menyertai dua atau lebih jadual berdasarkan medan yang berkaitan di antara mereka. Ini memudahkan untuk membuat pertanyaan dan mendapatkan data yang berkaitan daripada berbilang jadual, meningkatkan kecekapan dan fleksibiliti pertanyaan. Artikel ini akan menggunakan contoh kod untuk menunjukkan cara menggunakan fungsi JOIN MySQL untuk menyertai jadual. Mula-mula buat dua jadual sampel: pelajar dan markah. Jadual pelajar mengandungi pelajar

SimpleNested-LoopJoin Mari kita lihat cara mysql berfungsi apabila melaksanakan operasi gabungan. Apakah kaedah gabungan biasa? Seperti yang ditunjukkan dalam rajah, apabila kita melakukan operasi sambungan, jadual di sebelah kiri ialah jadual pemanduan dan jadual di sebelah kanan ialah jadual pemacu SimpleNested-LoopJoin Operasi sambungan ini adalah untuk mengambil rekod daripada jadual pemanduan dan kemudian padankan rekod jadual yang dipandu satu persatu Jika keadaan Jika ada padanan, keputusan dikembalikan. Kemudian rekod seterusnya dalam jadual pemacu diambil untuk pemadanan sehingga semua data dalam jadual pemacu dipadankan Oleh kerana ia memakan masa untuk mendapatkan semula data daripada jadual pemacu setiap kali, MySQL tidak menggunakan algoritma ini untuk melaksanakan operasi sambungan. BlockNested-LoopJ

Dalam kebanyakan aplikasi web, operasi pangkalan data adalah bahagian yang paling asas dan penting. Sebagai sistem pengurusan pangkalan data hubungan yang paling biasa digunakan pada masa ini, MySQL menjadi tuan rumah laman web dan aplikasi yang tidak terkira banyaknya dan juga menghadapi tekanan yang semakin meningkat pada pemprosesan data dan akses pertanyaan. Dalam konteks ini, pengoptimuman prestasi telah menjadi bahagian penting dalam pengurusan pangkalan data MySQL, dan operasi JOIN adalah perkara utama. Sambungan JOIN ialah salah satu pernyataan pertanyaan data yang paling biasa digunakan dalam MySQL. wujud
