【发布时间】:2021-04-04 19:34:10
【问题描述】:
所以我正在学习如何使用 SQLite 创建数据库,并且我正在努力尝试用供应商标记和供应商标记名中的逗号分隔值分隔字符串,然后将标记号与标记名对齐。
让我们说每行的 vendorid 从 1,2,3... 等递增。 这是一个架构
CREATE TABLE unnormalized(
vendor_tag varchar(200),
vendor_tag_name varchar(200),
vendor_id int
);
INSERT INTO unnormalized
VALUES
('5,8,30,24','Burgers,Desserts,Fries,Salads',1),
('5','Burgers',2),
('8,42','Desserts,Mexican',3),
('1,5,30,16','American,Burgers,Fries,Sandwiches',4),
('1,5,30,16','American,Burgers,Fries,Sandwiches',5);
【问题讨论】:
-
改进您的问题 - 请向我们展示您目前的发现。你觉得餐桌的设计应该是怎样的?这使某人更容易插话您应该如何进一步进行(如果需要)。请记住,我们不是来为您免费工作的。不要担心犯错 - 没有人会不犯错误而学习。
-
发布您拥有的相关表格的定义,而不仅仅是表格的 2 列。
-
请use text, not images/links, for text--including tables & ERDs。转述或引用其他文本。只提供您需要的东西并将其与您的问题联系起来。仅将图像用于无法表达为文本或增强文本的内容。无法搜索或剪切和粘贴图像。在图片中包含图例/键和说明。
-
请提出 1 个经过研究的特定非重复问题。 PS 现在,您只是要求我们用定制的教程重写教科书并完成您的(家庭)作业,而您没有表现出任何研究或其他努力。请参阅How to Ask,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。按照教科书的理由展示你的工作步骤,并在你被卡住的第一个地方问一个具体的问题。引用您所依赖的定义、定理、算法和启发式方法。所有步骤也是常见问题解答。
-
“供应商从每行的 1,2,3... 等递增”是什么意思? “分离”和“对齐”是什么意思?你为什么说“正常化”?你想完成什么,从什么开始,在什么过程中产生什么?这还不清楚。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。在给出业务关系(船舶)/关联或表(基础或查询结果)时,说明其中的一行根据其列值说明了业务情况。另外:minimal reproducible example
标签: sql sqlite database-design many-to-many database-normalization