我从JSON文件中的数据来填充SQL表条目。大部分是自我解释如Ints
或Strings
。但是,我有一个列表的形式的一些数据,或字典,例如:
列表:
"Favorite_Things": ["Netflix", "Pizza"]
字典:
"Time_Slots": {"1:00": 8, "2:00": 12, "3:00": 5}
我不确定如何在SQL表代表了这些,你可以帮给我一个例子来填补这些空白?
CREATE TABLE user (
USER_ID CHAR(56) PRIMARY KEY,
AGE INT NOT NULL,
FAVORITE_THINGS ??????
TIME_SLOTS ??????
EYE_COLOR CHAR(12) NOT NULL
);
你想有一个单独的表,这样的事情:
create table userThings (
userThingId int auto_increment primary key,
userId,
thingId int,
constraint fk_userThings_userId foreign key (userId) references users(userId),
constraint fk_userThings_thingId foreign key (thingId) references things(thingId)
);
您将需要创建任何数组或字典领域的一个新的表,然后在每个用户表链接回那些表的user_id说明。
下面是你需要创造什么:
CREATE TABLE user (
USER_ID CHAR(56) PRIMARY KEY,
AGE INT NOT NULL,
EYE_COLOR CHAR(12) NOT NULL
);
CREATE TABLE USER_FAVORITE_THINGS (
FAVORITE_THINGS_ID INT PRIMARY KEY,
USER_ID CHAR(56),
FAVORITE_THING CHAR(100),
FOREIGN KEY (USER_ID) REFERENCES USER(USER_ID)
);
CREATE TABLE USER_TIME_SLOTS (
TIME_SLOTS_ID INT PRIMARY KEY,
USER_ID CHAR(56),
TIME_SLOT_KEY CHAR(5),
TIME_SLOT_VALUE INT,
FOREIGN KEY (USER_ID) REFERENCES USER(USER_ID)
);