我不是在寻找任何特定问题的解决方案,而是理论上需要有关如何处理以前未知数据(行)的建议。 我们说我的表格分为3类(材料,蒙太奇,小预算成本)。 每个类别可以包含任何项目数,每个项目都有ID,名称和价格。 我应该如何将这些数据存储在MySQL数据库中?是否可以将它存储在一张桌子上? 感谢您的任何建议和指示。
带有一些ID的报价
*categ Material*
------------------------------
title ID Price
------------------------------
first item | 123 | 1 195.00
second item | 845 | 469.00
...
*categ Montage*
item | 461 | 146.00
item number 2 | 821 | 654.00
third item | 012 | 931.00
...
*categ MBC*
item | 642 | 2 135.00
...
答案 0 :(得分:1)
您需要了解normalization的工作原理。尝试规范化您的数据,从那里您可能知道您需要多少表。有一个名为材料的表是有意义的,但对于其他表单,它们的用法是不可理解的。
答案 1 :(得分:1)
标准化解决方案,使用类别&问题陈述中的项目:
CREATE TABLE `category` (
`id` INT NOT NULL AUTO_INCREMENT,
`category` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
CREATE TABLE `item` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) DEFAULT NULL,
`price` double DEFAULT NULL,
`category_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`));
每个类别可以包含多个项目。项目表中的每个项目行都通过category_id“连接”到类别。用MySQL创建语句。
答案 2 :(得分:1)
您可以将这些存储在一个包含四个数据列的表中。你叫什么不同"表"可能被称为"类别"或者其他的东西。示例表结构如下所示:
create table items (
ItemId int not null auto_increment,
CategoryName varchar(255) not null,
Title varchar(255),
Id int,
Price decimal(10, 2)
);
这是一个例子。根据您的需要,您可能希望强制CategoryName
仅采用您想要的值。最好的方法是使用具有适当外键引用的单独Categories
表。您还可以使用枚举类型,实现check constraint
的触发器,或者完全取消检查来实现此功能。同样,数据类型只是猜测,您可能需要其他字段。