在MYSQL表中创建对象
我试图使表1,其中将列电子邮件,datecreated和观察对象。我希望watchlist对象包含列ticker(字符串)、stockname(字符串)、price(float)、volume(int)和列notes,它们将是一个长字符串。所以我不确定我是否可以在表1中有一个watchlist对象列,或者我是否必须引用另一个字段?我是否应该创建两个不同的表:表1和观察列表 表1在MYSQL表中创建对象,mysql,sql,Mysql,Sql,我试图使表1,其中将列电子邮件,datecreated和观察对象。我希望watchlist对象包含列ticker(字符串)、stockname(字符串)、price(float)、volume(int)和列notes,它们将是一个长字符串。所以我不确定我是否可以在表1中有一个watchlist对象列,或者我是否必须引用另一个字段?我是否应该创建两个不同的表:表1和观察列表 表1 Email DateCreated Watchlist( ticker StockName
Email
DateCreated
Watchlist( ticker
StockName
PRICE
Volume)
Email
DateCreated
Watchlist
Watchlist
Ticker
StockName
Price
Volume
或
表1
Email
DateCreated
Watchlist( ticker
StockName
PRICE
Volume)
Email
DateCreated
Watchlist
Watchlist
Ticker
StockName
Price
Volume
每个用户的观察列表
CREATE TABLE IF NOT EXISTS userID_WatchL(
id int NOT NULL AUTO_INCREMENT,
ticker varchar(255) NOT NULL,
stockname varchar(255) NOT NULL,
price int NOT NULL, //Why ever u wanne use float!?
volume int NOT NULL
PRIMARY KEY (id)
);
就这样。在每个寄存器上,您还可以创建第二个表SQL没有对象。您可以:1)展开表并添加列2)为对象属性创建附加表并参考表3)使用序列化表示(JSON)。除非您正在谈论使用JSON数据类型。将列组合到单个JSON对象中没有什么价值,这只会使事情变得更复杂。我赞成备选方案2)。一行是否只能包含一个观察列表数据组?同一数据组是否可能属于许多行?在每个寄存器上,您还创建了第二个表“坏习惯”。非常糟糕。就这样。关系在哪里?price int NOT NULL,//为什么要使用float!?不,精确到小数点。哦,是的,我的错。价格的小数点。我有一张旧报纸。我的创建数据库示例。\n为什么在注册表中创建新表是错误的。如果您向观察列表中添加了一些内容,也可以这样做,但这是最好的方法,例如,在数据库中存储购买。表中的新行-更正。新表-不正确。非规范化。