首頁 後端開發 php教程 数据库设计的困惑,该怎么解决

数据库设计的困惑,该怎么解决

Jun 13, 2016 pm 01:44 PM
join quot

数据库设计的困惑
情况是这样的,我以前做网站的时候遇到像“推荐”,“置顶”啊之类的,都是在表里加一个字段如“IsTop”或是"IsDelete"等,用BOOL型。可是最近来到新公司,公司的领导不是这么做的。如:“IsTop”表示是否删除,他就用建一个news_delete表,里面的记录就是己经"IsTop"的ID值。

这么做好像也不错,用起也很方便。要增加别的类似别的,不用在修改原有的表了。请问在数据库设计方面的高手们,如何是好。

------解决方案--------------------
感觉都可以,如果觉得数据结构复杂,就按照第二种来设计,拆分开来。
------解决方案--------------------
要学会宽容
对于你的描述,没有一定的规则

附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案
------解决方案--------------------
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。
------解决方案--------------------

探讨

引用:
要学会宽容
对于你的描述,没有一定的规则

附加的属性与基础数据有紧密的联系
很显然,你的方案要优于分表方案


您的意思是说 我的方案 效率和性能好,使用方便。是这样的吧。

------解决方案--------------------
探讨

引用:
自定义字段的两种做法,一种是往本表加字段,一种是建一自定义字段表存值。个人认为各有千秋吧,后者语句稍微复杂些,也不好弄索引,搜索不方便,需要join操作,数据增多,可能会有效率问题,不过胜在扩展方便,前者简单暴力,方便设置索引进行搜索,不过不好扩展业务,最好两种方案都保留,具体问题具体做法。

foolbirdflyfirst 能有……

------解决方案--------------------
问题解决了 也该把贴结了。看看你的结贴率。0% 发帖:7 正常结贴:0
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
MySql中如何使用JOIN MySql中如何使用JOIN Jun 04, 2023 am 08:02 AM

JOIN的意思就如英文單字「join」一樣,連接兩張表,大致分為內連接,外連接,右連接,左連接,自然連接。先建立兩個表,以下用於範例CREATETABLEt_blog(idINTPRIMARYKEYAUTO_INCREMENT,titleVARCHAR(50),typeIdINT);SELECT*FROMt_blog;+----+-------+--------+| id|title|typeId|+----+-------+--------+|1|aaa|1||2|bbb|2||3|ccc|3|

MySQL Join使用原理是什麼 MySQL Join使用原理是什麼 May 26, 2023 am 10:07 AM

Join的類型leftjoin,以左表為驅動表,以左表作為結果集基礎,連接右表的資料補齊到結果集中rightjoin,以右表為驅動表,以右表作為結果集基礎,連接左表的資料補齊到結果集中innerjoin,結果集取兩個表的交集fulljoin,結果集取兩個表的並集mysql沒有fulljoin,union取代union與unionall的區別為,union會去重crossjoin笛卡爾積如果不使用where條件則結果集為兩個關聯表行的乘積與,的差異為,crossjoin建立結果集時會根據on條件過

MySQL中JOIN怎麼用 MySQL中JOIN怎麼用 Jun 03, 2023 am 09:30 AM

簡介A的獨有+AB的公有B的獨有+AB的公有AB的公有A的獨有B的獨有A的獨有+B的獨有+AB的公有A的獨有+B的獨有練習建表部門表DROPTABLEIFEXISTS`dept`;CREATETABLE`dept`(`dept_id`int(11)NOTNULLAUTO_INCREMENT,`dept_name`varchar(30)DEFAULTNULL,`dept_number`int(11)DEFAULTN =InnoDBAUT

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

mysql的join查詢和多次查詢方法是什麼 mysql的join查詢和多次查詢方法是什麼 Jun 02, 2023 pm 04:29 PM

join查詢和多次查詢比較MySQL多表格關聯查詢效率高點還是多次單表查詢效率高?在資料量不夠大的時候,用join沒有問題,但是一般都會拉到service層上去做第一:單機資料庫運算資源很貴,資料庫同時要服務寫讀,都需要消耗CPU,為了能讓資料庫的吞吐變得更高,而業務又不在乎那幾百微妙到毫秒級的延時差距,業務會把更多計算放到service層做,畢竟計算資源很好水平擴展,數據庫很難啊,所以大多數業務會把純運算操作放到service層做,而將資料庫當成有事務能力的kv系統來使用,這是一種重業務,

利用MySQL的JOIN函數進行表格的連接操作 利用MySQL的JOIN函數進行表格的連接操作 Jul 26, 2023 am 08:37 AM

利用MySQL的JOIN函數進行表格的連接操作在MySQL中,JOIN是一種非常常用的操作,它允許我們將兩個或多個表格根據它們之間的關聯欄位進行連接。這樣可以方便地從多個表中查詢和獲取相關數據,提高查詢效率和靈活性。本文將使用程式碼範例示範如何利用MySQL的JOIN函數進行表格的連接操作。先建立兩個範例表:students和scores。 students表包含學生

如何透過MySQL對JOIN優化來提高效能 如何透過MySQL對JOIN優化來提高效能 May 11, 2023 am 08:48 AM

在大多數的Web應用中,資料庫操作是最基本也是最重要的一環。而MySQL作為目前最常用的關聯式資料庫管理系統,在承載了無數網站和應用程式的同時,也面臨越來越大規模的資料處理和查詢存取壓力。在這種背景下,效能優化成為了MySQL資料庫管理的一個重要環節,而JOIN操作是其中的關鍵點。 JOIN連線是MySQL中最常用的資料查詢語句之一。在

MySQL中join語句如何最佳化 MySQL中join語句如何最佳化 Jun 03, 2023 am 09:31 AM

SimpleNested-LoopJoin我們來看一下當進行join操作時,mysql是如何運作的。常見的join方式有哪些?如圖,當我們進行連接操作時,左邊的表是驅動表,右邊的表是被驅動表SimpleNested-LoopJoin這種連接操作是從驅動表中取出一條記錄然後逐條匹配被驅動表的記錄,如果條件匹配則將結果傳回。然後接著取驅動表的下一筆記錄進行匹配,直到驅動表的資料全都匹配完畢因為每次從驅動表取資料比較耗時,所以MySQL並沒有採用這種演算法來進行連接操作BlockNested-LoopJ

See all articles