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

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Bedeutung von JOIN ist genau wie das englische Wort „join“. Es verbindet zwei Tabellen und kann grob in Inner Join, Outer Join, Right Join, Left Join und Natural Join unterteilt werden. Erstellen Sie zunächst zwei Tabellen. Das Folgende wird als Beispiel verwendet: CREATETABLEt_blog(idINTPRIMARYKEYAUTO_INCREMENT,titleVARCHAR(50),typeIdINT);SELECT*FROMt_blog;+----+------+--------+ |. id|title|typeId|+----+-------+--------+|1|aaa|1||2|bbb|2||3|ccc|3 |

Der Join-Typ Leftjoin verwendet die linke Tabelle als treibende Tabelle und die linke Tabelle als Basis der Ergebnismenge. Die Daten aus der rechten Tabelle werden mit der Ergebnismenge verbunden. Rightjoin verwendet die rechte Tabelle als treibende Tabelle und die rechte Tabelle als Die Basis der Ergebnismenge besteht darin, die Daten zur Ergebnismenge hinzuzufügen. Die Ergebnismenge nimmt die Vereinigung der beiden Tabellen an fulljoin. Der Unterschied zwischen Union und Unionall besteht darin, dass Union das kartesische Crossjoin-Produkt dedupliziert. Wenn die Where-Bedingung nicht verwendet wird, ist die Ergebnismenge das Produkt und die beiden zugehörigen Tabellenzeilen Crossjoin erstellt die Ergebnismenge, sie wird gemäß der On-Bedingung übergeben.

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

Welche ist im Vergleich zu Join-Abfragen und mehreren Abfragen effizienter: MySQL-Abfragen mit mehreren Tabellen oder mehrere Abfragen mit einzelnen Tabellen? Wenn die Datenmenge nicht groß genug ist, ist die Verwendung von Join kein Problem, sie erfolgt jedoch normalerweise auf der Serviceebene. Erstens: Die Rechenressourcen einer Einzelmaschinendatenbank sind sehr teuer und die Datenbank muss beide Schreibvorgänge unterstützen und Lesen gleichzeitig, was einen CPU-Verbrauch erfordert. Der Durchsatz wird höher und das Unternehmen kümmert sich nicht um die Verzögerungslücke von Hunderten von Mikrosekunden bis hin zu Millisekunden. Das Unternehmen wird mehr Berechnungen in die Serviceschicht einbinden Schließlich können Computerressourcen leicht horizontal erweitert werden, und Datenbanken sind schwierig. Daher werden die meisten Unternehmen reine Computeroperationen in die Serviceschicht verlagern und die Datenbank als KV-System mit Transaktionsfunktionen verwenden.

Einleitung A's Unique + AB's Public B's Unique + AB's Public AB's Public A's Unique B's Unique A's Unique + B's Unique + AB's Public A's Unique + B's Unique Üben Sie das Erstellen von Tabellen. 11)NOTNULLAUTO_INCREMENT,`dept_name`varchar(30)DEFAULTNULL,`dept_number`int(11)DEFAULTNULL,PRIMARYKEY(`dept_id`))ENGINE =InnoDBAUT

Verwenden Sie die JOIN-Funktion von MySQL, um Tabellen zu verbinden. In MySQL ist JOIN eine sehr häufige Operation, die es uns ermöglicht, zwei oder mehr Tabellen basierend auf den zugehörigen Feldern zwischen ihnen zu verbinden. Dies erleichtert das Abfragen und Abrufen relevanter Daten aus mehreren Tabellen und verbessert so die Abfrageeffizienz und -flexibilität. In diesem Artikel wird anhand von Codebeispielen gezeigt, wie die JOIN-Funktion von MySQL zum Verknüpfen von Tabellen verwendet wird. Erstellen Sie zunächst zwei Beispieltabellen: Schüler und Ergebnisse. Die Studententabelle enthält Studenten

In den meisten Webanwendungen sind Datenbankoperationen der grundlegendste und wichtigste Teil. Als derzeit am häufigsten verwendetes relationales Datenbankverwaltungssystem hostet MySQL unzählige Websites und Anwendungen und sieht sich auch einem zunehmenden Druck bei der Datenverarbeitung und dem Abfragezugriff in großem Maßstab ausgesetzt. In diesem Zusammenhang ist die Leistungsoptimierung zu einem wichtigen Bestandteil der MySQL-Datenbankverwaltung geworden, und der JOIN-Betrieb ist ein wichtiger Punkt. Die JOIN-Verbindung ist eine der am häufigsten verwendeten Datenabfrageanweisungen in MySQL. existieren

SimpleNested-LoopJoin Werfen wir einen Blick darauf, wie MySQL bei der Durchführung von Join-Vorgängen funktioniert. Was sind die gängigen Join-Methoden? Wie in der Abbildung gezeigt, ist die Tabelle links die treibende Tabelle und die rechte Tabelle die getriebene Tabelle, wenn wir eine Verbindungsoperation durchführen. Bei dieser Verbindungsoperation wird ein Datensatz aus der treibenden Tabelle entnommen Stimmen Sie die Datensätze der gesteuerten Tabelle nacheinander ab. Wenn die Bedingung erfüllt ist, wird das Ergebnis zurückgegeben. Dann wird der nächste Datensatz in der Treibertabelle zum Abgleich verwendet, bis alle Daten in der Treibertabelle übereinstimmen. Da es zeitaufwändig ist, jedes Mal Daten aus der Treibertabelle abzurufen, verwendet MySQL diesen Algorithmus nicht, um den Verbindungsvorgang durchzuführen BlockNested-LoopJ
