gpt4 book ai didi

mysql - 关于 MySQL 数据库的建议

转载 作者:行者123 更新时间:2023-11-29 10:29:10 24 4
gpt4 key购买 nike

我的讲师给了我一个 mySQL 数据库架构来创建一个银行应用程序。有些地方不太明白。

CREATE SCHEMA Banking;


/* Customer Table */

DROP TABLE IF EXISTS Banking.Customer;

CREATE TABLE Banking.Customer(
custId int(11) AUTO_INCREMENT,
name varchar(50) NOT NULL,
address varchar(300) NOT NULL,
email varchar(100) NOT NULL,
phone int(11) DEFAULT NULL,
PRIMARY KEY (custId)
) ENGINE=InnoDB AUTO_INCREMENT=210590 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS Banking.Account;

CREATE TABLE Banking.Account (
accountNo int(11) NOT NULL AUTO_INCREMENT,
cId int(11) NOT NULL,
balance int(11) NOT NULL,
sortCode int(11) NOT NULL,
PRIMARY KEY (accountNo),
KEY cId (cId),
KEY sortCode (sortCode),
CONSTRAINT account_ibfk_1
FOREIGN KEY (cid) REFERENCES Banking.CUSTOMER(custId)
) ENGINE=InnoDB AUTO_INCREMENT=816410 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS Banking.Transaction;

CREATE TABLE Banking.Transaction (
_id int(11) NOT NULL AUTO_INCREMENT,
accountNo int(11) NOT NULL,
amount int(11) NOT NULL,
postBalance int(11) NOT NULL,
type varchar(255) DEFAULT NULL,
PRIMARY KEY (_id),
KEY accountNo (accountNo),
CONSTRAINT transaction_ibfk_2
FOREIGN KEY (accountNo) REFERENCES Account (accountNo)
) ENGINE=InnoDB AUTO_INCREMENT=229377 DEFAULT CHARSET=utf8;

我的问题是为什么引擎设置为 InnoDB

约束 transaction_ibfk_2 和 CONSTRAINT account_ibfk_1 正在做什么。

还有 WORD 键。

为什么元素既不是主键/外键又被称为 KEY?

谢谢

最佳答案

why is the ENGINE set to InnoDB

MySQL 支持多种引擎(数据库中实际读取和写入数据的部分),而 InnoDB 是支持数据库事务的引擎,这在银行应用程序中是非常有用的东西(与例如 MyISAM 引擎不同,它如果您没有明确指定,通常是默认引擎)。

What are the constraints transaction_ibfk_2 and CONSTRAINT account_ibfk_1 doing.

它们只是下一行中的外键的名称,而不是独立的。

Also the word KEY. Why are elements called KEY when they are neither a primary/foreign key?

像这样的普通 KEY 只会创建一个索引,因此在某些情况下按该列进行搜索会更快。同样的事情也可以使用同义词 INDEX 创建,这可能更明显。除了性能之外,它不会产生太大影响。

还有 PRIMARY KEY、FOREIGN KEY 和 UNIQUE KEY;您似乎知道前两个,而后者确保每个值仅出现在一行中,这有时是一个有用的约束。请参阅this question了解更多详情。

关于mysql - 关于 MySQL 数据库的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47741622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com