当前位置:  开发笔记 > 编程语言 > 正文

在创建高级php应用程序时,您如何知道如何设计mysql数据库?

如何解决《在创建高级php应用程序时,您如何知道如何设计mysql数据库?》经验,为你挑选了1个好方法。

我从来没有在PHP中创建过购物车或论坛.除了查看和分析另一个人项目或查看教程,显示如何制作这样的项目或如何成为这样一个项目.一个人如何知道如何设计数据库结构来创建这样的东西?我可能通过反复试验猜测它...



1> Owen..:

你应该阅读并理解规范化的基础知识.对于大多数项目,标准化为第三范式将是正常的.当您想要或多或少的规范化时,总会存在某些情况,但了解其背后的概念将允许您考虑如何以规范化格式构建数据库.

这是规范表的一个非常基本的例子:

students
  student_id
  student_name
  student_class
  student_grade

一个包含各种数据的漂亮标准表,但我们可以立即看到一些问题.我们可以看到学生的名字取决于他的身份证,但是,学生可能参与多个班级,每个班级可能会有不同的等级.然后我们可以考虑这样的表格:

students
  student_id
  student_name

class
  class_id
  class_name

这还不错,现在我们可以看到我们有各种各样的学生和各种班级,但我们没有抓住学生的成绩.

grades
  student_id
  class_id
  grade

现在我们有了第3个表格,它允许我们理解特定学生,特定班级和与该班级相关的成绩之间的关系.从我们的第一个初始表开始,我们现在在规范化数据库中有3个表(假设我们不需要为了示例而进一步规范化成绩:))

我们可以从这个非常基本的例子中收集一些东西:

我们的数据都绑定到某种键(student_id,class_id和student_id + class_id).这些是每个表中的唯一标识符.

通过我们的关键关系,我们能够将信息相互关联(学生#4096注册了多少课程?)

我们可以看到我们的表现在不包含重复数据(想想我们的第一个表,其中student_class对于许多学生来说可能是相同的值.如果我们必须更改类名,我们必须更新所有记录.规范化格式,我们只需更新class_id的class_name)

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有