我正在为出租车预订服务创建一个数据库。我想请你帮我复习一下我的设计,同时也回答一些我已经有的问题。首先让我解释一下逻辑。不会有用户登录。你将被要求提供一个名字,姓氏,电子邮件,电话,地点,日期和时间,你的参赛将被接受。
这是桌子。
CUSTOMER TABLE
Customer_ID INT (PK,NN,AI,UN)
firstName VARCHAR(45) (NN)
lastName VARCHAR(45) (NN)
Email VARCHAR(50) (NN)
Phone VARCHAR(20) (NN)
RIDE
Ride_ID INT (PK,NN,AI,UN)
pickUpLocation TEXT(50) (NN)
Destination TEXT(50) (NN)
rideDate DATE (NN)
rideTime TIME (NN)
babyOnBoard VARCHAR(45) 我的问题如下:
2.你认为骑表中的外键应该是什么?rideDate和rideTime?
如果你有其他的建议,我想听听。
这是我的第一个数据库,所以请考虑这一点。
发布于 2019-01-28 00:03:13
时间有括号,需要一个参数,否则不被接受。参数是什么?
在MySQL v5.7上,我在能中创建了一个没有括号的rideTime列,如下所示:
CREATE TABLE test (
rideTime TIME
);是与VARCHAR?相同的文本参数。
不是的。来自文档 (我的重点):
文本(M)整理collation_name 最大长度为65,535 (216个−1)字符的文本列。如果该值包含多字节字符,则有效最大长度较小。每个文本值使用一个2字节长度前缀存储,该前缀指示值中的字节数。 对于这种类型,可以给出可选的长度M。如果这样做了,MySQL将该列创建为最小文本类型,其大小足以容纳值M字符长。
文本类型包括LONGTEXT和TINYTEXT。
在你看来,乘坐表中的外键应该是什么?rideDate与rideTime?
外键是指另一个表中的一行。因此,假设客户和乘客之间的关系为1:M,那么将生成一个外键,它将成为RIDE表中的一个CustomerID列,如下所示:
FOREIGN KEY (CustomerID) REFERENCES CUSTOMER(Customer_ID)rideDate和rideTime不引用另一个表,因此不应该将它们用作外键。
我希望这能回答你所有的问题!
https://stackoverflow.com/questions/54391506
复制相似问题