Heim  >  Artikel  >  Datenbank  >  Fassen Sie die Prinzipien des Datenbankdesigns zusammen

Fassen Sie die Prinzipien des Datenbankdesigns zusammen

零下一度
零下一度Original
2017-05-18 16:30:312022Durchsuche

Die Beziehung zwischen dem Originaldokument und der Entität kann eins-zu-eins, eins-zu-viele oder viele-zu-viele sein. Im Allgemeinen handelt es sich um eine Eins-zu-Eins-Beziehung: Das heißt, ein Originaldokument entspricht nur einer Entität. In besonderen Fällen kann es sich um eine Eins-zu-Viele- oder eine Viele-zu-Eins-Beziehung handeln, d. h. ein Originaldokument entspricht mehreren Entitäten oder mehrere Originaldokumente entsprechen einer Entität.

1. Die Beziehung zwischen dem Originaldokument und der Entität
Es kann eine Eins-zu-Eins-, Eins-zu-Viele- oder Viele-zu-Viele-Beziehung sein. Im Allgemeinen handelt es sich um eine Eins-zu-Eins-Beziehung: Das heißt, ein Originaldokument entspricht nur einer Entität.
In besonderen Fällen kann es sich um eine Eins-zu-Viele- oder Viele-zu-Eins-Beziehung handeln, d. h. ein Originaldokument entspricht mehreren Entitäten oder mehrere Originaldokumente entsprechen einer Entität.
Die Entitäten hier können als Basistabellen verstanden werden. Nachdem diese Korrespondenz geklärt ist, wird sie für uns bei der Gestaltung der Eingabeschnittstelle von großem Nutzen sein.

〖Beispiel 1〗: Die Informationen zum Lebenslauf eines Mitarbeiters entsprechen drei Basistabellen im Personalinformationssystem: der Tabelle mit den Basisinformationen des Mitarbeiters, der Tabelle mit sozialen Beziehungen und der Tabelle mit dem Arbeitslebenslauf.
Dies ist ein typisches Beispiel für „ein Originaldokument entspricht mehreren Entitäten“.

2. Primärschlüssel und Fremdschlüssel
Im Allgemeinen kann eine Entität nicht sowohl Primärschlüssel als auch Fremdschlüssel haben. Im E-R-Diagramm kann die Entität in der Blattposition einen Primärschlüssel definieren oder nicht (da sie keine Nachkommen hat), aber sie muss einen Fremdschlüssel haben (da sie einen Elternschlüssel hat).

Das Design von Primärschlüsseln und Fremdschlüsseln spielt eine wichtige Rolle beim Design der globalen Datenbank. Nachdem der Entwurf der globalen Datenbank abgeschlossen war, sagte ein amerikanischer Datenbankdesign-Experte
: „Schlüssel sind überall, und es gibt nichts außer Schlüsseln, was er über seine Erfahrung im Datenbankdesign sagte, und es spiegelt auch seine Entwicklung wider.“ seine hochabstrakten Vorstellungen über den Kern (Datenmodell) von Informationssystemen. Denn: Der Primärschlüssel ist eine hochabstrakte Entität und die Paarung aus Primärschlüssel und Fremdschlüssel stellt die Verbindung zwischen Entitäten dar.


3. Eigenschaften von Basistabellen
Basistabellen unterscheiden sich von Zwischentabellen und temporären Tabellen, da sie die folgenden vier Merkmale aufweisen:
(1) Atomarität. Felder in der Basistabelle sind nicht zerlegbar.
  (2) Primitivität. Die Datensätze in der Basistabelle sind Datensätze der Originaldaten (Basisdaten).
  (3) Deduktiv. Alle Ausgabedaten können aus den Daten der Basistabelle und Codetabelle abgeleitet werden.
  (4) Stabilität. Die Struktur der Basistabelle ist relativ stabil und die Datensätze in der Tabelle müssen lange gespeichert werden.
Nachdem Sie die Natur von Basistabellen verstanden haben, können Sie beim Entwerfen einer Datenbank Basistabellen von Zwischentabellen und temporären Tabellen unterscheiden.


4. Normalformstandard
Die Beziehung zwischen der Basistabelle und ihren Feldern sollte versuchen, der
dritten Normalform
zu entsprechen. Allerdings ist ein Datenbankdesign, das das dritte Paradigma erfüllt, oft nicht das beste Design. Um die Betriebseffizienz der Datenbank zu verbessern, ist es häufig erforderlich, den Paradigmenstandard zu senken: Die Redundanz entsprechend zu erhöhen, um den Zweck des Austauschs von Raum gegen Zeit zu erreichen.
 〖Beispiel 2〗: Es gibt eine Grundtabelle zum Lagern von Waren, wie in Tabelle 1 dargestellt. Das Vorhandensein des Felds „Betrag“ weist darauf hin, dass das Design der Tabelle nicht der dritten Normalform entspricht.
Weil „Betrag“ durch Multiplikation von „Stückpreis“ mit „Menge“ erhalten werden kann, was darauf hinweist, dass „Betrag“ ist ein redundantes Feld. Das Hinzufügen des redundanten Felds „Betrag“ kann jedoch die Geschwindigkeit der Statistikabfrage verbessern. So lässt sich Platz gegen Zeit eintauschen.
In Rose 2002 gibt es zwei Arten von Spalten: Datenspalten und berechnete Spalten. Spalten wie „Betrag“ werden als „berechnete Spalten“ bezeichnet, während Spalten wie „Stückpreis“ und „Menge“ als „Datenspalten“ bezeichnet werden.
Tabelle 1 Tabellenstruktur der Produkttabelle
Produktname Produktmodell Stückpreis Menge Menge
TV-Gerät 29 Zoll 2.500 40 100.000


5. Verstehen Sie die drei Paradigmen auf einfache Weise Weg

Ein gemeinsames Verständnis der drei Paradigmen ist für das Datenbankdesign von großem Nutzen. Um die drei Paradigmen beim Datenbankdesign besser anwenden zu können, ist es notwendig, die
drei Paradigmen auf populäre Weise zu verstehen (das populäre Verständnis ist ein ausreichendes Verständnis, nicht das wissenschaftlichste und genaueste Verständnis): Erste Normalform
: 1NF ist eine Atomizitätsbeschränkung für Attribute, die erfordert, dass Attribute atomar sind und nicht zerlegt werden können;
 
Zweite Normalform : 2NF ist eine Eindeutigkeitsbeschränkung für Datensätze, die Erfordert, dass der Datensatz eine eindeutige Kennung hat, d. h. die Einzigartigkeit der Entität. Dritte Normalform: 3NF ist eine Einschränkung der Feldredundanz, d sind nicht überflüssig.
Kein redundantes Datenbankdesign kann dies leisten. Eine Datenbank ohne Redundanz ist jedoch möglicherweise nicht die beste Datenbank. Um die Betriebseffizienz zu verbessern, ist es manchmal erforderlich, den Paradigmenstandard zu senken und redundante Daten angemessen aufzubewahren. Der spezifische Ansatz besteht darin, beim Entwurf des konzeptionellen Datenmodells das dritte Paradigma einzuhalten und beim Entwurf des physischen Datenmodells die Arbeit zur Senkung des Paradigmenstandards zu berücksichtigen. Das Absenken der Normalform bedeutet das Hinzufügen von Feldern und das Zulassen von Redundanz.

6. Seien Sie gut darin, Viele-zu-Viele-Beziehungen zu erkennen und richtig zu handhaben.

Wenn zwischen zwei Entitäten eine Viele-zu-viele-Beziehung besteht, sollte diese Beziehung beseitigt werden. Die Lösung besteht darin, eine dritte Entität zwischen den beiden hinzuzufügen. Auf diese Weise stellt sich heraus, dass
Eine Viele-zu-Viele-Beziehung besteht nun aus zwei Eins-zu-Viele-Beziehungen. Die Attribute der ursprünglichen beiden Entitäten sollten den drei Entitäten sinnvoll zugeordnet werden. Die dritte
-Entität ist hier im Wesentlichen eine komplexere Beziehung, die einer Basistabelle entspricht. Im Allgemeinen können Datenbankentwurfstools viele-zu-viele-Beziehungen nicht erkennen, sie können jedoch
viele-zu-viele-Beziehungen verarbeiten.

〖Beispiel 3〗: Im „Bibliotheksinformationssystem“ ist „Buch“ eine Entität und „Leser“ ist ebenfalls eine Entität. Die Beziehung zwischen diesen beiden Entitäten ist eine typische Viele-zu-Viele-Beziehung: Ein Buch kann von mehreren Lesern zu unterschiedlichen Zeiten ausgeliehen werden, und ein Leser kann mehrere Bücher ausleihen. Zu diesem Zweck sollte eine dritte Entität zwischen den beiden
hinzugefügt werden. Diese Entität heißt „Bücher ausleihen und zurückgeben“. Ihre Attribute sind: Ausleih- und Rückgabezeit, Ausleih- und Rückgabeflag (0 bedeutet Ausleihen des Buches, 1 bedeutet). Rückgabe des Buches). Buch), außerdem
Es sollte auch zwei Fremdschlüssel haben (der Primärschlüssel von „Buch“, der Primärschlüssel von „Leser“), damit es mit „Buch“ und verbunden werden kann "Leser".


7. Die Wertmethode des Primärschlüssels PK
PK ist ein Inter-Table-Verbindungstool für Programmierer. Es kann eine digitale Zeichenfolge ohne physische Bedeutung sein und das Programm automatisch durchführen fügt 1 hinzu, um zu erreichen. Es kann sich auch um einen Feldnamen oder eine Kombination von Feldnamen mit physikalischer Bedeutung
handeln. Aber Ersteres ist besser als Letzteres. Wenn es sich bei PK um eine Kombination von Feldnamen handelt, wird empfohlen, nicht zu viele Felder zu haben, da der Index
nicht nur viel Platz beansprucht, sondern auch langsam ist.


Datenredundanz richtig verstehen Die Wiederholung von Primärschlüsseln und Fremdschlüsseln in mehreren Tabellen ist in der Tat nicht klar noch. Das wiederholte Auftreten von Nicht-Schlüsselfeldern
ist Datenredundanz! Und es handelt sich um eine Art Redundanz auf niedriger Ebene, also um wiederholte Redundanz. Unter Redundanz auf hoher Ebene versteht man nicht das wiederholte Vorkommen eines Feldes, sondern das abgeleitete Vorkommen eines Feldes.

〖Beispiel 4〗: Es gibt drei Felder „Stückpreis, Menge und Menge“ im Produkt. „Menge“ wird aus „Stückpreis“ multipliziert mit „Menge“ abgeleitet, was redundant ist,
Und es handelt sich um eine Redundanz auf hohem Niveau. Der Zweck der Redundanz besteht darin, die Verarbeitungsgeschwindigkeit zu erhöhen. Nur eine Redundanz auf niedriger Ebene erhöht die Dateninkonsistenz, da dieselben Daten mehrmals zu unterschiedlichen Zeiten, an unterschiedlichen Orten und in unterschiedlichen Rollen eingegeben werden können. Daher befürworten wir Redundanz auf hoher Ebene (abgeleitete Redundanz) und lehnen Redundanz auf niedriger Ebene (wiederholte Redundanz) ab.


9. Es gibt keine Standardantwort für das E--R-Diagramm
Es gibt keine Standardantwort für das E--R-Diagramm eines Informationssystems, da sein Design und seine Zeichenmethode unterschiedlich sind nicht eindeutig, solange es machbar ist, wenn es den Geschäftsumfang und den Funktionsinhalt der Systemanforderungen abdeckt . Andernfalls ändern Sie das E--R-Diagramm. Obwohl es keine einheitliche Standardantwort gibt, bedeutet dies nicht, dass sie nach Belieben gestaltet werden kann. Die Kriterien für ein gutes E-R-Diagramm sind:
Klare Struktur, prägnante Zuordnungen, moderate Anzahl von Entitäten, angemessene Attributzuordnung und keine Redundanz auf niedriger Ebene.


10. Die Ansichtstechnologie ist beim Datenbankdesign sehr nützlich.
Im Gegensatz zu Basistabellen, Codetabellen und Zwischentabellen ist eine Ansicht eine virtuelle Tabelle, die auf der realen Tabelle basiert Datenquelle Und existieren. Eine Ansicht ist ein Fenster, in dem Programmierer die Datenbank verwenden können. Es handelt sich um eine Form der Synthese von Basistabellendaten, eine Methode zur Datenverarbeitung und ein Mittel zur Vertraulichkeit von Benutzerdaten. Um komplexe Verarbeitungen durchzuführen,
die Rechengeschwindigkeit zu verbessern und Speicherplatz zu sparen, sollte die Definitionstiefe einer Ansicht im Allgemeinen drei Ebenen nicht überschreiten. Wenn die dreischichtige Ansicht immer noch nicht ausreicht, sollte eine temporäre Tabelle für die Ansicht definiert werden, und dann sollte die Ansicht für die temporäre Tabelle definiert werden. Durch die wiederholte Überlappung von Definitionen auf diese Weise wird die Tiefe der Ansicht nicht eingeschränkt.

Für bestimmte Informationssysteme im Zusammenhang mit nationalen politischen, wirtschaftlichen, technischen, militärischen und sicherheitsrelevanten Interessen ist die Rolle von Ansichten noch wichtiger. Nachdem der physische Entwurf der Basistabellen dieser Systeme abgeschlossen ist, werden die Ansichten der ersten Ebene sofort auf den Basistabellen eingerichtet. Die Anzahl und Struktur dieser Ansichtsschicht entspricht genau der Anzahl und Struktur der Basistabellen.
Es ist außerdem festgelegt, dass alle Programmierer nur Ansichten bearbeiten dürfen. Nur der Datenbankadministrator mit einem von mehreren Personen gemeinsam genutzten „Sicherheitsschlüssel“ kann direkt an der Basistabelle arbeiten. Die Leser werden gebeten, darüber nachzudenken: Warum ist das so?


11. Zwischentabellen, Berichte und temporäre Tabellen

Die Zwischentabelle ist eine Tabelle, die statistische Daten speichert und manchmal für die Ausgabe von Berichten vorgesehen ist Es gibt keine Primärschlüssel und Fremdschlüssel (mit Ausnahme der Data Warehouse
-Bibliothek). Temporäre Tabellen werden von Programmierern entworfen, um temporäre Datensätze für den persönlichen Gebrauch zu speichern. Die Basistabelle und die Zwischentabelle werden vom DBA verwaltet, und die temporäre Tabelle wird automatisch vom Programmierer
selbst verwaltet.
12. Integritätseinschränkungen werden in drei Aspekten ausgedrückt

Domänenintegrität: Verwenden Sie Check, um Einschränkungen zu implementieren und den Wertebereich von Feldern im Datenbank-Design-Tool zu definieren. Es gibt eine Prüfung Schaltfläche, über die der Wert des Feldes definiert wird.
Referenzielle Integrität: implementiert mit PK, FK und Triggern auf Tabellenebene.
Benutzerdefinierte Integrität: Dabei handelt es sich um einige Geschäftsregeln, die mithilfe gespeicherter Prozeduren und Trigger implementiert werden.

13. Der Weg, um zu verhindern, dass das Datenbankdesign gepatcht wird, sind die „Drei Prinzipien weniger“
(1) Je weniger Tabellen in einer Datenbank vorhanden sind, desto besser. Nur wenn die Anzahl der Tabellen reduziert wird, kann gezeigt werden, dass das E-R-Diagramm des Systems klein und präzise ist, wiederholte und redundante
Entitäten entfernt, einen hohen Abstraktionsgrad der objektiven Welt bildet und eine systematische Datenintegration durchführt um Probleme zu vermeiden.
(2) Je weniger kombinierte Primärschlüsselfelder in einer Tabelle sind, desto besser. Aufgrund der Rolle des Primärschlüssels besteht einer darin, einen Primärschlüsselindex zu erstellen, und der andere darin, als Fremdschlüssel für die Untertabelle zu dienen, sodass die Anzahl der Felder, die den Primärschlüssel kombinieren, reduziert wird, was nicht nur der Fall ist spart Laufzeit, aber auch Indexspeicherplatz; (3) Je weniger Felder in einer Tabelle, desto besser. Nur wenn die Anzahl der Felder reduziert wird, kann es zu keiner Duplizierung von Daten im System kommen und es gibt nur sehr wenige redundante Daten. Noch wichtiger ist, dass die Leser aufgefordert werden, zu lernen, „Spalten in Zeilen umzuwandeln“, um dies zu verhindern Die Untertabelle wird nicht in Zeilen umgewandelt, sodass viele
leere Felder in der Haupttabelle verbleiben. Bei der sogenannten „Spalte in Zeile“ wird ein Teil des Inhalts aus der Haupttabelle herausgezogen und eine separate Untertabelle erstellt. Diese Methode ist sehr einfach
, aber manche Leute sind einfach nicht daran gewöhnt, übernehmen sie nicht und setzen sie nicht um.
Das praktische Prinzip des Datenbankdesigns besteht darin, das richtige Gleichgewicht zwischen Datenredundanz und Verarbeitungsgeschwindigkeit zu finden. „Three Young Masters“ ist ein Gesamtkonzept und eine umfassende Sichtweise.
Ein Prinzip kann nicht isoliert werden. Dieses Prinzip ist relativ, nicht absolut. Das Prinzip „drei mehr“ ist definitiv falsch. Stellen Sie sich vor: Wenn die gleiche Funktion des Systems abgedeckt wird, ist das E-R-Diagramm von einhundert Entitäten (insgesamt eintausend Attribute) definitiv besser als das E-R-Diagramm von zweihundert Entitäten (insgesamt zweitausend Attribute). viel besser.
Die Förderung des „Three Less“-Prinzips besteht darin, den Lesern beizubringen, Datenbankdesigntechnologie für die systematische Datenintegration zu nutzen. Die Schritte der Datenintegration bestehen darin, das Dateisystem
in eine Anwendungsdatenbank zu integrieren, die Anwendungsdatenbank in eine Betreffdatenbank zu integrieren und die Betreffdatenbank in eine globale umfassende Datenbank zu integrieren. Je höher der Integrationsgrad, desto stärker der Datenaustausch
und desto weniger Informationsinseln. Die Anzahl der Entitäten, die Anzahl der Primärschlüssel und die Anzahl der Attribute im globalen ER-Diagramm des gesamten Unternehmensinformationssystems
Es wird weniger sein.
Der Zweck der Befürwortung des „Drei-Weniger“-Prinzips besteht darin, zu verhindern, dass Leser die Patch-Technologie verwenden, um die Datenbank kontinuierlich hinzuzufügen, zu löschen und zu ändern, wodurch die Unternehmensdatenbank in einen „Müllhaufen“ für das zufällige Entwerfen von Datenbanktabellen oder Datenbanken verwandelt wird Der „große Hof“ führte schließlich zu unzähligen Basistabellen, Codetabellen, Zwischentabellen und temporären Tabellen
in der Datenbank, was dazu führte, dass die Informationssysteme von Unternehmen und Institutionen nicht gewartet werden konnten und lahmgelegt wurden.
Jeder kann das „Three More“-Prinzip anwenden, die perverse Theorie des Datenbankdesigns mit der „Patch-Methode“. Das „Drei-Weniger“-Prinzip ist das Prinzip „weniger, aber besser“
Es erfordert hohe Fähigkeiten und Kunst im Datenbankdesign. Nicht jeder kann es umsetzen, da dieses Prinzip auf die Verwendung der „Patch-Methode“ verzichtet
Theoretische Grundlage zum Entwerfen von Datenbanken.


14. Möglichkeiten zur Verbesserung der Betriebseffizienz der Datenbank

Unter den gegebenen Systemhardware- und Systemsoftwarebedingungen ist die Möglichkeit, die Betriebseffizienz des Datenbanksystems zu verbessern:
(1) Senken Sie beim physischen Entwurf der Datenbank das Paradigma, erhöhen Sie die Redundanz, verwenden Sie weniger Trigger und verwenden Sie mehr gespeicherte Prozeduren.
  (2) Wenn die Berechnung sehr komplex ist und die Anzahl der Datensätze sehr groß ist (z. B. 10 Millionen), muss die komplexe Berechnung außerhalb der Datenbank im Dateisystem durchgeführt werden  Nachdem die Berechnung mit abgeschlossen ist C++-Sprache. Schließlich wird es der Datenbank hinzugefügt und der Tabelle hinzugefügt. Dies ist die Erfahrung beim Entwurf von Telekommunikationsabrechnungssystemen. (3) Wenn festgestellt wird, dass eine bestimmte Tabelle zu viele Datensätze enthält, beispielsweise mehr als 10 Millionen, muss die Tabelle horizontal aufgeteilt werden. Die Methode der horizontalen Aufteilung besteht darin, einen bestimmten Wert des Primärschlüssels
PK der Tabelle als Grenze zu verwenden, um die Datensätze der Tabelle horizontal in zwei Tabellen aufzuteilen. Wenn festgestellt wird, dass eine Tabelle zu viele Felder enthält, beispielsweise mehr als achtzig,
teilen Sie die Tabelle vertikal auf und zerlegen Sie die ursprüngliche Tabelle in zwei Tabellen.
(4) Systemoptimierung des Datenbankverwaltungssystems DBMS, d. h. Optimierung verschiedener Systemparameter, wie z. B. der Anzahl der Puffer.
(5) Wenn Sie die datenorientierte SQL-Sprache zum Programmieren verwenden, versuchen Sie, Optimierungsalgorithmen zu übernehmen.
Kurz gesagt, um die Betriebseffizienz der Datenbank zu verbessern, müssen wir gleichzeitig an den drei Ebenen Optimierung auf Datenbanksystemebene, Optimierung auf Datenbankdesignebene und Optimierung auf Programmimplementierungsebene arbeiten


Die oben genannten vierzehn Fähigkeiten werden von vielen Menschen nach und nach durch eine große Anzahl von Datenbankanalyse- und Designpraktiken zusammengefasst. Was die Anwendung dieser Erfahrungen angeht, sollten die Leser sie nicht mechanisch auswendig lernen und auswendig lernen, sondern sie verdauen und verstehen, die Wahrheit aus den Fakten suchen und sie flexibel meistern. Und nach und nach erreichen: in der Anwendung entwickeln, in der Entwicklung anwenden.


Werfen wir einen Blick auf andere Prinzipien:

1) Der Datenbankentwurf sollte nicht für das gesamte System durchgeführt werden, sondern sollte auf der Komponentenaufteilung in der Systemarchitektur basieren, und der Datenbankentwurf der Komponenteneinheiten sollte entsprechend dem von jeder Komponente abgewickelten Geschäft durchgeführt werden. Die entsprechenden Datenbanktabellen zwischen verschiedenen Komponenten sollten so weit wie möglich gestaltet werden. Wenn Tabellen zwischen verschiedenen Komponenten Fremdschlüsselzuordnungen erfordern, versuchen Sie, keine Fremdschlüsselzuordnungen zu erstellen, sondern nur einen Primärschlüssel der zugehörigen Tabelle aufzuzeichnen Die Unabhängigkeit zwischen den Tabellen entsprechend den Komponenten und die Sicherstellung der System- bzw. Tabellenstruktur bietet Möglichkeiten.

2) Übernehmen Sie einen domänenmodellgesteuerten Ansatz und einen Top-Down-Ansatz für das Datenbankdesign. Analysieren Sie zunächst das Systemgeschäft und definieren Sie Objekte entsprechend den Verantwortlichkeiten. Das Objekt muss den Eigenschaften der Kapselung entsprechen und sicherstellen, dass die mit der Verantwortung verbundenen Datenelemente innerhalb eines Objekts definiert sind. Diese Datenelemente können die Verantwortung vollständig beschreiben und es wird keine Verantwortungsbeschreibung fehlen. Und ein Objekt hat und hat nur eine Verantwortung. Wenn ein Objekt für zwei oder mehr Verantwortlichkeiten verantwortlich ist, sollte es aufgeteilt werden.

3) Ordnen Sie Datenbanktabellen gemäß dem etablierten Domänenmodell zu. Zu diesem Zeitpunkt sollten Sie sich auf das zweite Paradigma des Datenbankdesigns beziehen: Alle Nicht-Schlüsselwortattribute in einer Tabelle hängen vom gesamten Schlüsselwort ab. Das Schlüsselwort kann ein Attribut oder eine Sammlung mehrerer Attribute sein. In beiden Fällen sollte die Eindeutigkeit des Schlüsselworts gewährleistet sein. Bei der Bestimmung des Schlüsselworts sollte sichergestellt werden, dass das Schlüsselwort nicht am Geschäft teilnimmt und keine Aktualisierungsausnahmen auftreten. In diesem Fall besteht die optimale Lösung darin, ein automatisch inkrementierendes numerisches Attribut oder eine zufällige Zeichenfolge als Schlüsselwort zu verwenden Tisch.

4) Da die Datenbanktabellenstruktur, wie im ersten Punkt erwähnt, domänenmodellgesteuert gestaltet ist, hat jedes Objekt im Domänenmodell nur eine Verantwortung, die Datenelemente im Objekt also nicht transitive Abhängigkeiten, daher erfüllt das Datenbanktabellenstrukturdesign dieser Idee von Anfang an die dritte Normalform: Eine Tabelle sollte die zweite Normalform erfüllen, und es gibt keine transitiven Abhängigkeiten zwischen Attributen.

5) Aufgrund der Einheit der Objektverantwortung und der Beziehung zwischen Objekten spiegelt sich die Beziehung zwischen Geschäftslogik wider. Die Objekte im Domänenmodell sind in Masterobjekte und Slaveobjekte unterteilt das Hauptobjekt aus der Perspektive von 1-N oder N-N, daher gibt es in den aus Objekten und Objektbeziehungen abgebildeten Tabellen und Tabellenzuordnungen keine Lösch- und Einfügungsausnahmen.

6) Die nach der Zuordnung erhaltene Datenbanktabellenstruktur sollte gemäß der vierten Normalform weiter modifiziert werden, um sicherzustellen, dass keine mehrwertigen Abhängigkeiten bestehen. Zu diesem Zeitpunkt sollte auf der Grundlage von Reverse-Engineering-Ideen Feedback zum Domänenmodell gegeben werden. Wenn in der Tabellenstruktur mehrwertige Abhängigkeiten vorhanden sind, beweist dies, dass die Objekte im Domänenmodell mindestens zwei oder mehr Verantwortlichkeiten haben, und das Design sollte gemäß dem ersten Artikel überarbeitet werden. Vierte Normalform: Wenn eine Tabelle BCNF erfüllt, sollte es keine mehrwertigen Abhängigkeiten geben.

7) Nach der Analyse wird bestätigt, dass alle Tabellen die zweite, dritte und vierte Normalform erfüllen. Die Zuordnung zwischen Tabellen sollte so schwach wie möglich sein, um die Anpassung und Anpassung von Tabellenfeldern zu erleichtern Tabellenstrukturen. Darüber hinaus denke ich, dass die Tabelle in der Datenbank dazu dient, den Status einer Objektinstanz zu einem bestimmten Zeitpunkt und unter bestimmten Bedingungen beizubehalten. Daher sollte es keine starke Verknüpfung zwischen Tabellen geben, um Geschäfte auszudrücken. (Konsistenz zwischen Daten) Diese Verantwortung sollte durch die logische Schicht des Systems gewährleistet werden. Dieser Ansatz gewährleistet auch die Kompatibilität des Systems mit fehlerhaften Daten (schmutzige Daten). Aus Sicht des gesamten Systems müssen wir natürlich immer noch unser Bestes tun, um sicherzustellen, dass das System keine schmutzigen Daten generiert. Aus einer anderen Perspektive ist die Generierung schmutziger Daten bis zu einem gewissen Grad unvermeidlich, und wir müssen auch dafür sorgen dass das System in dieser Situation keine fehlerhaften Daten generiert. Das ist ein Kompromiss.

8) Indizes sollten für die Primärschlüssel und Fremdschlüssel aller Tabellen erstellt werden, und Indizes für kombinierte Attribute sollten gezielt erstellt werden (für einige große Datenmengen und gängige Abrufmethoden), um den Abruf zu verbessern Effizienz. Obwohl das Erstellen eines Index einige Systemressourcen verbraucht, werden die Auswirkungen auf die Leistung, die durch das Durchsuchen der Daten in der gesamten Tabelle während des Abrufs verursacht werden, insbesondere wenn die Datenmenge in der Tabelle groß ist, mit den Auswirkungen auf die Leistung verglichen, die durch den Sortiervorgang verursacht werden Da es keinen Index gibt, ist dieser Ansatz dennoch eine Befürwortung wert.

9) Verwenden Sie gespeicherte Prozeduren so wenig wie möglich. Es gibt viele Technologien, die die Funktionen gespeicherter Prozeduren ersetzen können, z. B. „Objekt-/relationale Zuordnung“ usw., um die Datenkonsistenz in der Datenbank sicherzustellen für Versionskontrolle, Entwicklung und Bereitstellung sowie Datenbankmigration werden große Auswirkungen haben. Es ist jedoch nicht zu leugnen, dass gespeicherte Prozeduren Leistungsvorteile haben. Wenn daher die vom System nutzbare Hardware nicht verbessert wird und die Leistung ein sehr wichtiges Qualitätsmerkmal ist, können gespeicherte Prozeduren durch ausgewogene Überlegungen ausgewählt werden.

10) Wenn die Kosten für die Verarbeitung von Assoziationsbeschränkungen zwischen Tabellen (häufig die Kosten für die Benutzerfreundlichkeit) die Kosten für die Sicherstellung, dass keine Änderungen, Löschungen und Änderungsausnahmen auftreten, übersteigen und Datenredundanz ebenfalls auftritt Ein großes Problem besteht darin, dass das Tischdesign nicht den vier Normalformen entsprechen muss. Die vier Paradigmen stellen sicher, dass keine Ausnahmen auftreten, aber es kann auch zu einem zu reinen Design führen, was die Verwendung der Tabellenstruktur erschwert. Daher ist beim Design eine umfassende Beurteilung erforderlich, aber stellen Sie zunächst sicher, dass sie den vier Paradigmen entspricht Verfeinern und korrigieren Sie es dann. Dies ist der beste Ansatz, den Sie wählen können, wenn Sie gerade erst in den Bereich des Datenbankdesigns einsteigen.

11) Die entworfene Tabelle muss eine gute Benutzerfreundlichkeit aufweisen, die sich hauptsächlich darin widerspiegelt, ob mehrere Tabellen verknüpft werden müssen und ob bei der Abfrage komplexe SQL-Kenntnisse erforderlich sind.

12) Die entworfene Tabelle sollte die Datenredundanz so weit wie möglich reduzieren, um die Datengenauigkeit sicherzustellen und die Datenbankleistung zu verbessern. (Natürlich muss das Paradigma manchmal gesenkt werden)

[Verwandte Empfehlungen]

1 Besondere Empfehlung: "php-Programm Laden Sie Version V0.1 von "Employee Toolbox" herunter

2. Kostenloses MySQL-Online-Video-Tutorial

3. Datenbankdesign Diese Dinge

Das obige ist der detaillierte Inhalt vonFassen Sie die Prinzipien des Datenbankdesigns zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn