使用数组值创建SQL表

时间:2014-10-27 03:43:54

标签: sql delphi

根据我的情况,在SQL数据库中创建表的最佳方法是什么?选项1或选项2?

TMyRecord = record
 id : integer;
 name : string;
 price : Array [0.100] of double;

如果我想在SQL数据库中创建表,

选项1: - 创建一个表格并对所有ID条目使用Nameprice

CREATE TABLE My_Record
(
ID int,
Name varchar(255),
price float,
); 

选项2 : - 使用两个表并相互链接?

CREATE TABLE My_Record
(
ID int,
Name varchar(255),
price float,
PRIMARY KEY (P_Id)
);
CREATE TABLE My_Record_ArrayData
(
FOREIGN KEY (ID) REFERENCES My_Record(ID)
price float,
);

提前致谢。

1 个答案:

答案 0 :(得分:1)

选项2更好,因为您不会为每个价格值重复名称列。

另外你只需要在第二个选项中将ID,名称存储在My_Record中,所有价格值都可以转到My_Record_ArrayData

另一种选择是使用XML数据类型来存储所有价格值,然后您将只有一个表格,其中包含该名称的所有值。