1 / 10
文档名称:

mysql数据库设计原则.doc

格式:doc   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

mysql数据库设计原则.doc

上传人:xxj16588 2016/5/13 文件大小:0 KB

下载得到文件列表

mysql数据库设计原则.doc

相关文档

文档介绍

文档介绍:MySQL 数据库设计原则 MySQL 对于成为一个非常快速的数据库服务器有着当之无愧的名声, 它也非常容易设置和使用。随着它作为网站后端数据库得声望日增, 其效果在去年开始有明显提高。但是很多 MySQL 用户更多地知道如何创建一个数据库并编写对它的查询。就像成千上万的人通过载闲暇时用 Linux 做实验来学****Unix 那样,很多人通过玩 MySQL 学****关系数据库。这些 MySQL 新手的大多数既没有关系数据库理论的背景,又没有时间阅读 MySQL 手册全文。因此,我们决定研究某些方法,你可以用针对优化性能来调节 MySQL 。在读完本文后,你将理解一些帮助你设计你的 MySQL 数据库和查询的技术, 值得你的应用很有效率。我们将假定你熟悉 MySQL 和 SQL 基础,但不假定你有这两方面的广博知识。只存储你需要的信息这听上去是常识, 但人们常常采取“厨房下水道”的方式进行数据库设计。他们认为可能项要得每样东西都要存储并设计数据库保存所有者这些数据。你需要对你的需求现实些,并确定取确实需要什么信息。你常常能随意产生一些数据而不把它存在数据库表中。在这种情况下,从一个应用开发者的角度看也有道理这样做。例如,在线目录的产品表可能包含各种产品的名称、介绍、尺寸、重量和价格。除了价格, 你可能想存储每个项目相关的税和运输成本。但实际上不必这样做。首先税和运输成本可以方便地(由你的应用或 MySQL ) 计算出来。其次, 如果税和运输成本改变了, 你可能必须编写必要的查询更新每个产品记录中的税和运输的费率。有时人们认为这太难不能在以后往数据库表中加入字段, 所以他们感觉不得不定义尽可能多的列。这是明显的概念错误。在 MySQL 中, 你可以用 ALTER TABLE 命令方便地修改表定义以适应你改变的需求。例如,如果你突然认识到你需要给你的产品表增加一个级别列(可能你想允许用户在你的目录中给产品评级),你可以这样做: ALTER TABLE products ADD rank INTEGER 这给你的产品表增加了一个整数类型的级别列,你能用 ALTER TABLE 做什么的完整介绍参见 MySQL 手册。只要求你需要的东西-- 要清晰就像说“只存储你需要的东西”那样, 这可能看来是常识, 但这一点常常被忽视, 为什么呢?因为在一个应用开发时, 需求经常改变, 所以很多查询最终看来是这样: SELECT * FROM sometable 当你不能肯定你将需要哪一列时, 要求所有列明显是最省力的事情,然而随着你的表不断增大和修改,这可能变成一个性能问题。最好是在你的最初开发完成后再花些时间并确定你真正从你的查询中需要什么: SELECT name, rank, description FROM products 这带来了一个相关的观点, 即代码维护比性能更重要。大多数变成语言( Perl 、 Python 、 PHP 、 Java 等) 允许通过字段名和数字编号访问一条查询的结果, 这意味着你可以访问命名字段或字段0都可以得到相同的数据。长期看, 最好使用列名而不是其编号位置, 为什么?因为一个表中或一条查询中地列的相对位置可以改变。它们在表中可能因为重复使用 ALTER TABLE 而改变, 它们在查询中将因重写了查询而忘记更新应用逻辑来匹配而改变。当然