- MySQL Document-Dark Horse-Programmierer (Tencent Weiyun): https://share.weiyun.com/RaCdIwas
- 1-MySQL Foundation.pdf, 2-MySQL-Einschränkungen und Design.pdf, 3-MySQL-Abfrage mit mehreren Tabellen und Transaktionsoperation.pdf
- MySQL- Studiennotizen 01 [Datenbankkonzept, Installation und Verwendung von MySQL] [Tag01]
- MySQL- Studiennotizen 02 [SQL-Grundkonzepte und allgemeine Grammatik, Datenbank-CRUD-Operationen] [Tag01]
MySQL- Studiennotizen 04 [Datenbankabfrageoperationen, Tabelleneinschränkungen] [Tag01, Tag02]
MySQL- Studiennotizen 05 [Multi-Table-Operation, drei Paradigmen, Datenbanksicherung und -wiederherstellung] [Tag02]
MySQL- Studiennotizen 06 [Übungen für Abfragen mit mehreren Tabellen, Unterabfragen und Abfragen mit mehreren Tabellen] [Tag03]
Anmerkungen zur MySQL-Studie 07 [Transaktions-, Benutzer- und Berechtigungsverwaltung] [Tag03]
Inhaltsverzeichnis
Einführung in Multi-Table-Beziehungen
Beziehung mit mehreren Tabellen _ Implementierung einer Eins-zu-Viele-Beziehung
Multi-Table-Beziehung_Viele-zu-viele-Beziehungsrealisierung
Beziehung mit mehreren Tabellen _ Realisierung einer Eins-zu-Eins-Beziehung
Beziehungstabelle mit mehreren Tabellen
Detaillierte Erklärung der drei Paradigmen
11 Datenbanksicherung und -wiederherstellung
09 Mehrtabellenbetrieb
Einführung in Multi-Table-Beziehungen
Datenbankdesign-1. Die Beziehung zwischen mehreren Tabellen
1. Klassifizierung:
1. Eins-zu-eins (Verständnis):
* Wie: Person und Personalausweis
* Analyse: Eine Person hat nur einen Personalausweis und ein Personalausweis kann nur einer Person entsprechen.
2. Eins-zu-viele (viele-zu-eins):
* Zum Beispiel: Abteilung und Mitarbeiter
* Analyse: In einer Abteilung gibt es mehrere Mitarbeiter, und ein Mitarbeiter kann nur einer Abteilung entsprechen.
3. Viele-zu-viele:
* Wie zum Beispiel: Studenten und Kurse
* Analyse: Ein Student kann viele Kurse auswählen, und ein Kurs kann von vielen Studenten ausgewählt werden.
Beziehung mit mehreren Tabellen _ Implementierung einer Eins-zu-Viele-Beziehung
Datenbankdesign-1. Die Beziehung zwischen mehreren Tabellen
1. Klassifizierung:
1. Eins-zu-eins (Verständnis):
* Wie: Person und Personalausweis
* Analyse: Eine Person hat nur einen Personalausweis und ein Personalausweis kann nur einer Person entsprechen.
2. Eins-zu-viele (viele-zu-eins):
* Zum Beispiel: Abteilung und Mitarbeiter
* Analyse: In einer Abteilung gibt es mehrere Mitarbeiter, und ein Mitarbeiter kann nur einer Abteilung entsprechen.
3. Viele-zu-viele:
* Wie zum Beispiel: Studenten und Kurse
* Analyse: Ein Student kann viele Kurse auswählen, und ein Kurs kann von vielen Studenten ausgewählt werden.2. Realisieren Sie die Beziehung:
1. Eins-zu-viele (viele-zu-eins):
* Wie z. B.: Abteilung und Mitarbeiter
* Implementierungsmethode: Erstellen Sie einen Fremdschlüssel auf der Mehrfachseite und zeigen Sie auf den Primärschlüssel auf der einen Seite .
Multi-Table-Beziehung_Viele-zu-viele-Beziehungsrealisierung
2. Realisieren Sie die Beziehung:
1. Eins-zu-viele (viele-zu-eins):
* Wie z. B.: Abteilung und Mitarbeiter
* Implementierungsmethode: Erstellen Sie einen Fremdschlüssel auf der Mehrfachseite und zeigen Sie auf den Primärschlüssel auf der einen Seite .
2. Viele-zu-viele:
* Wie zum Beispiel: Studenten und Kurse
* Implementierungsmodus: Die Realisierung einer Viele-zu-Viele-Beziehung erfordert die Hilfe der dritten Zwischentabelle. Die Zwischentabelle enthält mindestens zwei Felder. Diese beiden Felder werden als Fremdschlüssel der dritten Tabelle verwendet und zeigen auf die Primärschlüssel der beiden Tabellen.
3. Eins-zu-eins (Verständnis):
* Wie: Person und Personalausweis
* Implementierung: Eine Eins-zu-Eins-Beziehung wird realisiert, und auf beiden Seiten kann ein eindeutiger Fremdschlüssel hinzugefügt werden, um auf den Primärschlüssel des zu verweisen Andere Seite.
Beziehung mit mehreren Tabellen _ Realisierung einer Eins-zu-Eins-Beziehung
2. Realisieren Sie die Beziehung:
1. Eins-zu-viele (viele-zu-eins):
* Wie z. B.: Abteilung und Mitarbeiter
* Implementierungsmethode: Erstellen Sie einen Fremdschlüssel auf der Mehrfachseite und zeigen Sie auf den Primärschlüssel auf der einen Seite .
2. Viele-zu-viele:
* Wie zum Beispiel: Studenten und Kurse
* Implementierungsmodus: Die Realisierung einer Viele-zu-Viele-Beziehung erfordert die Hilfe der dritten Zwischentabelle. Die Zwischentabelle enthält mindestens zwei Felder. Diese beiden Felder werden als Fremdschlüssel der dritten Tabelle verwendet und zeigen auf die Primärschlüssel der beiden Tabellen.
3. Eins-zu-eins (Verständnis):
* Wie: Person und Personalausweis
* Implementierung: Eine Eins-zu-Eins-Beziehung wird realisiert, und auf beiden Seiten kann ein eindeutiger Fremdschlüssel hinzugefügt werden, um auf den Primärschlüssel des zu verweisen Andere Seite.
Beziehungstabelle mit mehreren Tabellen
-- 创建旅游线路分类表 tab_category
-- cid 旅游线路分类主键,自动增长
-- cname 旅游线路分类名称非空,唯一,字符串 100
CREATE TABLE tab_category (
cid INT PRIMARY KEY AUTO_INCREMENT,
cname VARCHAR (100) NOT NULL UNIQUE
) ;
-- 创建旅游线路表 tab_route
/*
rid 旅游线路主键,自动增长
rname 旅游线路名称非空,唯一,字符串 100
price 价格
rdate 上架时间,日期类型
cid 外键,所属分类
*/
CREATE TABLE tab_route (
rid INT PRIMARY KEY AUTO_INCREMENT,
rname VARCHAR (100) NOT NULL UNIQUE,
price DOUBLE,
rdate DATE,
cid INT,
FOREIGN KEY (cid) REFERENCES tab_category (cid)
) ;
/*创建用户表 tab_user
uid 用户主键,自增长
username 用户名长度 100,唯一,非空
password 密码长度 30,非空
name 真实姓名长度 100
birthday 生日
sex 性别,定长字符串 1
telephone 手机号,字符串 11
email 邮箱,字符串长度 100
*/
CREATE TABLE tab_user (
uid INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR (100) UNIQUE NOT NULL,
PASSWORD VARCHAR (30) NOT NULL,
NAME VARCHAR (100),
birthday DATE,
sex CHAR(1) DEFAULT '男',
telephone VARCHAR (11),
email VARCHAR (100)
) ;
/*
创建收藏表 tab_favorite
rid 旅游线路 id,外键
date 收藏时间
uid 用户 id,外键
rid 和 uid 不能重复,设置复合主键,同一个用户不能收藏同一个线路两次
*/
CREATE TABLE tab_favorite (
rid INT, -- 线路id
DATE DATETIME,
uid INT,
-- 用户id
-- 创建复合主键
PRIMARY KEY (rid, uid),
-- 联合主键
FOREIGN KEY (rid) REFERENCES tab_route (rid),
FOREIGN KEY (uid) REFERENCES tab_user (uid)
) ;
10 Drei Paradigmen
Paradigmenübersicht
2. Paradigma des Datenbankdesigns
* Konzept: Einige Spezifikationen, die beim Entwerfen einer Datenbank beachtet werden müssen. Um den dahinter stehenden Paradigmenanforderungen zu folgen, müssen Sie zunächst alle Paradigmenanforderungen im Vordergrund befolgen.
Beim Entwerfen einer relationalen Datenbank sollte eine vernünftige relationale Datenbank nach unterschiedlichen Spezifikationen entworfen werden. Diese unterschiedlichen Spezifikationen werden als unterschiedliche Paradigmen bezeichnet. Verschiedene Paradigmen werden in Teilstandards dargestellt. Je höher das Paradigma, desto geringer die Redundanz der Datenbank.
Derzeit gibt es sechs Paradigmen in relationalen Datenbanken: Erste Normalform (1NF), Zweite Normalform (2NF), Dritte Normalform (3NF), Badschnur-Normalform (BCNF), Vierte Normalform (4NF) und Fünfte Normalform ( 5NF, auch als perfektes Paradigma bekannt).
* Klassifizierung:
1. Erste Normalform (1NF): Jede Spalte ist ein unteilbares atomares Datenelement.
2. Zweite Normalform (2NF): Auf der Basis von 1NF müssen Nicht-Code-Attribute vollständig vom Code abhängig sein (auf der Basis von 1NF wird die teilweise funktionale Abhängigkeit von Nicht-Primär-Attributen vom Hauptcode beseitigt).
3. Dritte Normalform (3NF): Auf der Basis von 2NF hängt jedes nicht-primäre Attribut nicht von anderen nicht-primären Attributen ab (wodurch die transitive Abhängigkeit auf der Basis von 2NF beseitigt wird).
Detaillierte Erklärung der drei Paradigmen
2. Paradigma des Datenbankdesigns
* Konzept: Einige Spezifikationen, die beim Entwerfen einer Datenbank beachtet werden müssen. Um den dahinter stehenden Paradigmenanforderungen zu folgen, müssen Sie zunächst alle Paradigmenanforderungen im Vordergrund befolgen.
Beim Entwerfen einer relationalen Datenbank sollte eine vernünftige relationale Datenbank nach unterschiedlichen Spezifikationen entworfen werden. Diese unterschiedlichen Spezifikationen werden als unterschiedliche Paradigmen bezeichnet. Verschiedene Paradigmen werden in Teilstandards dargestellt. Je höher das Paradigma, desto geringer die Redundanz der Datenbank.
Derzeit gibt es sechs Paradigmen in relationalen Datenbanken: Erste Normalform (1NF), Zweite Normalform (2NF), Dritte Normalform (3NF), Badschnur-Normalform (BCNF), Vierte Normalform (4NF) und Fünfte Normalform ( 5NF, auch als perfektes Paradigma bekannt).
* Klassifizierung:
1. Erste Normalform (1NF): Jede Spalte ist ein unteilbares atomares Datenelement.
2. Zweite Normalform (2NF): Auf der Basis von 1NF müssen Nicht-Code-Attribute vollständig vom Code abhängig sein (auf der Basis von 1NF wird die teilweise funktionale Abhängigkeit von Nicht-Primär-Attributen vom Hauptcode beseitigt).* Mehrere Konzepte:
1. Funktionsabhängigkeit: A -> B. Wenn der Wert des Attributs A (Attributgruppe) verwendet werden kann, um den Wert des eindeutigen Attributs B zu bestimmen, ist B von A abhängig.
Zum Beispiel: Studentenausweis -> Name. (Schülernummer, Kursname) -> Punktzahl
2. Voll funktionsfähige Abhängigkeit: A -> B. Wenn A eine Attributgruppe ist, muss die Bestimmung des Attributwerts von B von allen Attributwerten im Attribut abhängen Gruppe A.
Zum Beispiel: (Studentenausweis, Kursname) -> Punktzahl
3. Teilweise funktionale Abhängigkeit: A -> B Wenn A eine Attributgruppe ist, muss die Bestimmung des Attributwerts von B nur von einigen Werten abhängen in der Attributgruppe A, dh kann.
Zum Beispiel: (Studentenausweis, Kursname) -> Name
4. Übertragungsfunktionsabhängigkeit: A -> B, B -> C. Wenn der Wert des Attributs A (Attributgruppe) verwendet werden kann, um den Wert des eindeutigen B-Attributs zu bestimmen, und der Wert des Attributs B (Attributgruppe) verwendet werden kann, um den Wert des eindeutigen C-Attributs zu bestimmen, dann wird der Die C-Übertragungsfunktion soll von A abhängen.
Beispiel: Studenten-ID -> Abteilungsname, Abteilungsname -> Abteilungsleiter
5. Code: Wenn ein Attribut oder eine Attributgruppe vollständig von allen anderen Attributen in einer Tabelle abhängig ist, wird dieses Attribut (Attributgruppe) als The bezeichnet Code der Tabelle.
Beispiel: Der Code in der Tabelle lautet: (Studenten-ID, Kursname)
* Primäres Attribut: Alle Attribute
in der Code-Attributgruppe * Nicht-primäres Attribut: Attribute mit Ausnahme der Code-Attributgruppe
3. Dritte Normalform (3NF): Auf der Basis von 2NF hängt jedes nicht-primäre Attribut nicht von anderen nicht-primären Attributen ab (wodurch die transitive Abhängigkeit auf der Basis von 2NF beseitigt wird).
11 Datenbanksicherung und -wiederherstellung
1. Befehlszeile:
* Syntax:
* Sicherung: mysqldump -u Benutzername -p Kennwort Datenbankname> Gespeicherter Pfad
* Wiederherstellen:
1. Anmelden bei der Datenbank
2. Erstellen der Datenbank
3. Verwenden der Datenbank
4. Ausführen der Datei. Quelldateipfad
2. Grafisches Werkzeug