【问题标题】:How to sort the database [closed]如何对数据库进行排序[关闭]
【发布时间】:2017-02-18 00:05:48
【问题描述】:

我正在尝试从头开始建立一个网上商店,这样我就可以学习一些网络开发知识。

我已经创建了一个静态的布局,我想用 php 使其动态化。我从菜单系统开始。我有不同的类别在我的超级菜单中成为顶级菜单级别,然后我有在菜单中成为第一级别的子类别,然后我有产品,现在是我的问题。

问题: 我设计数据库以使构建菜单变得容易的方式是否有一般做法?现在我有一个名为“产品”的表,它有 4 列:

id 名称描述类别(编号)

我应该将子类别添加到同一个表中吗?如果我不将所有信息放在一张表中,我应该拥有哪些其他表?希望我的问题有意义...

你可以在这里查看我的菜单系统:http://www.reclam.se

【问题讨论】:

  • 拿出好旧的笔和纸,写下你想要存储的关于项目中任何对象的信息。当值多次显示时创建表。一个经验法则是,如果您要对命名或其他内容进行任何更改,您应该只需要在一个地方进行更改。
  • 所以你的意思是如果它不被多次使用,我应该让它成为静态的?
  • 建立一个网上商店并不是学习网络开发的最佳方式,因为你现在的主要问题是如何设计数据库。为此,我建议您阅读有关该主题的书籍中的数据库设计实践。我推荐pearsonhighered.com/program/…
  • 不,我不是这个意思。例如,如果您要对其中的每个产品使用类别名称,则必须在多个位置更改此名称(而不是手动),以防您改变主意。所以类别名称是一个有资格存储在不同表中的值。分析您要存储的所有信息。

标签: php sql


【解决方案1】:

您正在搜索“嵌套集”或“邻接列表”等技术。这些是如何在数据库中表示树结构的概念。

使用邻接列表的一个好的开始可能是这篇文章: How do you convert a parent-child (adjacency) table to a nested set using PHP and MySQL?

对于您的产品,您应该使用不同的数据库表。

【讨论】:

  • 我会读到的,谢谢你在正确的方向上轻推 :-)
  • 好的,所以这个问题把我放在了恐怖名单上。我不能再问问题了。谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-01-25
  • 2016-08-13
  • 2021-03-16
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 2020-04-22
相关资源
最近更新 更多