我正在为出租车预订服务创建数据库。
用户无需登录。您将需要提供姓名、电子邮件、电话、位置、日期和时间。
客户
Customer_ID INT (PK,NN,AI,UN)
firstName VARCHAR(45) (NN)
lastName VARCHAR(45) (NN)
Email VARCHAR(50) (NN)
Phone VARCHAR(20) (NN)
骑行
Ride_ID INT (PK,NN,AI,UN)
pickUpLocation TEXT(50) (NN)
Destination TEXT(50) (NN)
rideDate DATE (NN)
rideTime TIME (NN)
babyOnBoard VARCHAR(45)
在 MySQL Workbench 中,TIME 有括号,需要一个参数。参数是什么?
文本也是如此。 TEXT 参数与 VARCHAR 相同吗?
RIDE中的外国妖精应该是什么?
RIDE 中的外键应该是rideDate 和rideTime 吗?
TIME 有括号,需要参数,否则不接受。参数是什么?
在 MySQL v5.7 上,我能够创建一个不带括号的rideTime
列,如下所示:
CREATE TABLE test (
rideTime TIME
);
不。来自TEXT 参数与 VARCHAR 相同吗?
文档(我的重点):
TEXT[(M)] [字符集 charset_name] [COLLATE 排序规则_name]TEXT类型包括LONGTEXT和TINYTEXT。最大长度为 65,535 (216 − 1) 个字符的 TEXT 列。如果值包含多字节字符,则有效最大长度会较小。每个 TEXT 值都使用 2 字节长度前缀存储,该前缀指示该值中的字节数。
该类型可以给出可选的长度M。如果完成此操作,
MySQL 会将该列创建为足够大以容纳 M 个字符长的值的最小 TEXT 类型。
外键引用不同表中的行。因此,假设客户和行程之间存在 1:M您认为 Ride 表中的外键应该是什么? rideDate 和rideTime?
关系,则自创建的外键将是 CustomerID
表中的
RIDE
列,如下所示:
FOREIGN KEY (CustomerID) REFERENCES CUSTOMER(Customer_ID)
rideDate
和
rideTime
不引用另一个表,因此不应将它们用作外键。