出于自学目的,我正在尝试创建一个简单的 Web 应用程序,该应用程序创建一个 TODO 列表,其中每个列表都有一个唯一的 URL。我目前使用以下数据库设计。该onlinelist.list
表存储每个列表的 URL 和密码。onlinelist.item
存储存储在每个列表中的项目。
onlinelist.list onlinelist.item
+----+-----+-------------+ +----+---------+-----+
| ID | URL | Password | | ID | Content | URL |
+----+-----+-------------+ +----+---------+-----+
| 1 | abc | rfk49gh34 | | 1 | apple | abc |
| 2 | pqr | 12345 | | 2 | banana | xyz |
| 3 | xyz | password123 | | 3 | milk | pqr |
+----+-----+-------------+ | 4 | beef | abc |
| 5 | egg | abc |
| 6 | pasta | xyz |
| 7 | lemon | pqr |
| 8 | carrot | xyz |
+----+---------+-----+
onlinelist.item
看到表格中重复的一些 URL 让我很担心。要获取存储在“abc”中的列表的所有列表项,它需要遍历表的所有元素并找到 URL 等于“abc”的那些元素。(我假设这是 SELECT 语句的工作方式。)删除列表项也需要执行此搜索。
如果我为每个列表(即onlinelist.abc
, onlinelist.pqr
, )创建一个单独的表onlinelist.xyZ
,这样搜索就不需要查看不相关的条目,难道不是更有效吗?但是,我认为将表称为onlinelist.abc
or并没有什么意义onlinelist.xyz
。我已经有一个好的设计了吗?