数据库设计格式规范
数据库设计表格式
数据库设计表格式
在设计数据库表时,需要根据具体业务需求和数据规则进行设计。
一般来说,需要考虑以下几个方面:
1. 表的基本结构:根据业务需求和输出输入条件,规划表的基
本结构,包括主键、外键、索引等。
2. 状态字段设计:根据业务规则,设计状态字段,以便于对数
据进行状态管理。
3. 通用规则设置:根据公司或部门的通用规则,比如录入员、
创建时间、修改时间、删除标志等,设置其他字段。
4. 容量规划:预估相关表的数据量,进行容量规划,以便于确
定主键、索引、分区等设置。
5. 数据主键和唯一索引:确定主键和唯一索引,以便于快速检
索和插入数据。
6. 第三范式:按照第三范式进行数据表设计,以便于提高数据
表的可读性和可维护性。
7. 查询、删除、更新习惯和语句:收集开发人员的查询、删除、更新习惯和语句,以便于对数据表进行相应的变更。
8. 索引和外键设置:根据对相关处理语句的分析,进行索引和
外键的设置,以便于提高数据检索和插入速度。
总的来说,数据库表设计需要根据具体业务需求进行设计,以便于提高数据表的可读性和可维护性。
在设计过程中,需要不断进行反思和优化,以便于不断提高数据库表的设计质量。
数据库设计规范
数据库设计规范数据库设计是软件开发过程中至关重要的一步,它的质量和规范性直接关系到系统的稳定性、性能和数据的安全性。
本文将介绍一些常见的数据库设计规范,以帮助开发者在设计数据库时遵循最佳实践,确保数据库的高质量和可维护性。
一、命名规范在数据库设计中,良好的命名规范是必不可少的。
以下是一些常用的命名规范:1. 表名和字段名要具有描述性,能够直观地反映其所代表的含义。
2. 避免使用数据库关键字作为表名或字段名。
3. 使用一致的命名风格,比如驼峰式命名法或下划线命名法。
二、表设计规范良好的表设计是保证数据库性能和数据完整性的基础。
以下是一些表设计的规范建议:1. 表结构要符合第三范式。
避免重复数据和数据冗余,提高数据的一致性和更新效率。
2. 选择合适的数据类型和字段长度,根据数据的实际需求选择适当的数据类型,避免过度使用字符型字段。
3. 为表添加主键和外键约束,确保数据的完整性和一致性。
4. 避免使用过多的索引,只为常用的查询字段添加索引,以提高查询效率。
三、字段设计规范字段是数据库中最基本的组成单元,良好的字段设计是保证数据准确性和查询性能的重要因素。
以下是一些字段设计的规范建议:1. 选择合适的数据类型,根据字段存储的数据类型和范围选择适当的数据类型,避免浪费存储空间和降低性能。
2. 为字段添加注释,注释能够提供字段的含义和用途,方便其他开发者理解和维护。
3. 避免使用空值,对于允许为空的字段,要慎重考虑是否真正需要允许为空,避免数据一致性问题。
4. 使用约束限制字段取值范围,根据业务需求添加合适的约束,比如唯一约束、非空约束等。
四、索引设计规范索引是提高查询效率的重要手段,但不恰当的索引使用会降低数据库的性能。
以下是一些索引设计的规范建议:1. 选择适当的索引字段,对于经常用于查询和连接的字段添加索引,避免过多的索引占用存储空间和降低写操作的性能。
2. 避免在大数据量表上创建过多的索引,慎重考虑索引的创建,对于大数据量表,需要权衡查询效率和写性能之间的平衡。
数据库设计的规范与范式
数据库设计的规范与范式数据库设计是构建一个稳定、高效、可维护的数据库系统的基础。
采用规范的数据库设计方法和范式化的数据结构,可以确保数据库的一致性、完整性和可扩展性。
本文将探讨数据库设计的规范性要求以及范式化的设计原则。
一、数据库设计的规范性要求1. 数据模型的选择与设计在数据库设计之前,首先需要选择合适的数据模型。
常见的数据模型包括层次模型、网状模型和关系模型等,其中关系模型是最常用的模型。
在选择关系模型后,需要进一步设计关系的结构和属性。
2. 实体关系图的构建实体关系图(ER图)是数据库设计的基础工具,用于描述实体之间的关系。
在构建ER图时,需明确实体的属性和关系的类型,规定每个实体的主键和外键,并保证图形的可读性和图例的规范性。
3. 数据命名的规范化数据库对象(表名、列名、约束名等)的命名应该遵循统一的规范,以提高代码的可读性和维护性。
常见的命名规范包括使用小写字母和下划线、避免使用保留字和特殊字符等。
4. 数据类型和长度的定义在数据库设计中,根据实际需求和数据特点,需要正确定义各个列的数据类型和长度。
不同的数据类型有不同的存储需求和限制条件,合理的数据类型定义可以减小存储空间并提高查询效率。
5. 约束和索引的使用约束和索引是数据库设计中的重要概念。
通过定义主键、唯一约束、外键约束等可以保证数据的完整性和一致性;而通过创建适当的索引可以提高查询的速度和效率。
6. 数据库文档和注释的编写在数据库设计完成后,应及时编写数据库文档和注释,记录各个表、列、约束和索引的含义和用途。
这对于日后的维护和改进非常重要,可以提高开发人员的工作效率。
二、范式化的设计原则范式化是数据库设计中的一项基本原则,用于规范化数据结构,减少数据冗余并提高数据一致性。
1. 第一范式(1NF)第一范式要求数据库中每个属性都是原子的,即不可再分。
每个属性都只包含一个值,不允许多值属性、复合属性和重复属性的存在。
2. 第二范式(2NF)第二范式要求数据库中的非主键属性都完全依赖于主键,即要求表中的每个非主键属性都与主键直接相关。
数据库设计规范
数据库设计规范数据库设计规范是指在进行数据库设计时需要遵循的一系列规则和准则,以确保数据库的结构和功能能够满足用户需求,并且能够高效地进行数据管理和存储。
本文将介绍一些常见的数据库设计规范,包括命名规范、数据类型选择、索引设计、表关系设计等。
1. 命名规范在数据库设计中,良好的命名规范能够使数据库对象更易于理解和维护。
以下是一些建议:1.1 表名、列名和约束名应使用清晰明了的描述性词汇,避免使用含糊不清或缩写的名称。
1.2 使用统一的命名风格,如下划线命名法(例如:user_name)或者驼峰命名法(例如:userName)。
1.3 避免使用数据库关键字作为对象的名称,以免引起冲突。
2. 数据类型选择选择合适的数据类型对数据库的性能和空间利用是至关重要的。
以下是一些常见的数据类型选择规范:2.1 尽量使用较小的数据类型,以减少存储空间和提高查询性能。
2.2 对于整数类型,根据实际需求选择合适的精度(如TINYINT、SMALLINT、INT等)。
2.3 对于字符串类型,根据实际需求选择合适的长度(如VARCHAR、CHAR等)。
2.4 避免使用文本型字段存储大量的文本数据,可以考虑使用CLOB或BLOB类型。
3. 索引设计合理的索引设计可以加速查询操作,但是过多或不恰当的索引会增加维护成本和写操作的开销。
以下是一些常见的索引设计规范:3.1 为频繁使用作为查询条件的字段添加索引,以提高查询性能。
3.2 避免在较小的表或者稀疏的字段上创建索引,因为这可能导致索引失效并降低性能。
3.3 当需要根据多个字段进行查询时,考虑创建复合索引,以提高查询效率。
4. 表关系设计在数据库设计中,表与表之间的关系是非常重要的。
以下是一些常见的表关系设计规范:4.1 使用主键(Primary Key)和外键(Foreign Key)来建立表与表之间的关联,以确保数据的完整性和一致性。
4.2 避免使用过多的嵌套层次关系,以减少查询的复杂性。
数据库设计规范 (2)
社区项目组数据库设计规范1.表1.1.命名全为大写,为相关业务表单功能的简拼,一般为分段式的,比如:个人核心档案,它属于“健康档案”中的“个人”部分,因此命名为:DA_GR_HXDA。
1.2.主键任何表必须有主键字段,尽量设置为单主键,主键字段一定是排在最前面的。
1.3.与“个人档案”有关的业务表必须要有“GRBJH”字段(varchra(50)),且不能为空,已便与通过“个人核心档案”将所有业务串联起来。
1.4.系统表●公用系统表:以“SYS1”开头。
●业务系统表:以“SYS2_”+“业务系统简称”+“含义简称”(如:SYS2_FB_GGBZ)。
1.5.注意事项●表不定义主键!●直接手工修改表名(容易造成“表名”与原来建好的“主键名、索引名”的不匹配)!2.字段2.1.命名全为大写,为简拼。
2.2.数值字段对于数值数据,尽量能与实际大小接近,已达到控制垃圾数据进入的目的,比如身高,一般只精确到一位小数,定义为:decimal(4,1),而不应该定义为decimal(10,1),如年龄,定义为tinyint,就比定义为smallint好。
2.3.必填字段确定为必填字段的,应将其设置为“非空”。
2.4.单选字段●不可修改的:数据库中存代码的,统一定义为varchar(2)(除非特殊情况需要加长的,可定义为varchar(4)或varchar(10)等,比如:本身“代码”长度就超过2的,自然不能只定义为varchar(2))。
●可修改的:存名称,根据具体情况定义为varchar(20)、varchar(30)、varchar(50)等。
2.5.多选字段●不可修改的:数据库中存代码的,肯定也存名称,代码字段定义为:**DM,varchar(30),名称字段定义为:**MC,varchar(100),如家族史,则定义为:JZSDM varchar(30),JZSMC varchar(100)。
●可修改的:存名称,直接定义为名称简拼,一般定义为varchar(100)或varchar(50)。
数据库设计规范
数据库设计规范数据库设计是构建一个高效、可靠且易于维护的数据库系统的关键步骤。
一个合理的数据库设计规范可以确保数据库的性能、安全性和可扩展性。
本文将介绍一些常用的数据库设计规范,以帮助开发人员在设计数据库时遵循最佳实践。
一、命名规范在数据库设计中,良好的命名规范可以提高数据库的可读性和可维护性。
以下是一些常用的命名规范:1. 表名和字段名应该使用具有描述性的名称,避免使用缩写或简写。
例如,将"user_info"命名为"用户信息",将"age"命名为"年龄"。
2. 表名和字段名应该使用小写字母,并使用下划线分隔单词。
例如,将"user_info"命名为"user_info",将"first_name"命名为"first_name"。
3. 避免使用保留字作为表名和字段名。
如果必须使用保留字,可以在名称前或后添加下划线或使用反引号将其括起来。
例如,将"order"命名为"order_"或"`order`"。
二、数据类型选择在数据库设计中,选择适当的数据类型可以提高数据库的性能和存储效率。
以下是一些常用的数据类型选择规范:1. 对于整数类型,根据实际需求选择合适的长度。
例如,如果字段的取值范围在0-100之间,可以选择TINYINT类型,而不是INT类型。
2. 对于字符串类型,根据实际需求选择合适的长度。
避免使用过长的VARCHAR类型,以减少存储空间的浪费。
3. 对于日期和时间类型,使用合适的数据类型,如DATE、DATETIME或TIMESTAMP。
避免使用字符类型存储日期和时间信息。
三、主键和索引主键和索引是数据库中用于提高查询性能和保证数据完整性的重要机制。
以下是一些常用的主键和索引规范:1. 每个表应该有一个主键,用于唯一标识每一条记录。
整理了一份数据库设计规范,可做模板参考
整理了⼀份数据库设计规范,可做模板参考前⾔引⾔1、编写⽬的本⽂档是项⽬⽅案的重要组成部分,编写数据库设计⽂档的⽬的是:明确数据库的表名、字段名等数据信息,⽤来指导后期的数据库脚本开发、本⽂档遵循《数据库设计和开发规范》。
使⽤对象是需求⼈员、系统设计⼈员、开发⼈员、测试⼈员。
2、术语表定义⽂档中涉及的重要术语,为使⽤者在阅读时提供必要的参考信息。
术语表3、参考资料参考资料数据库环境说明数据库环境说明备注:在实际开发中可能需要DBA配合数据库名门规则提⽰:如果本数据库的命名规则与实际不⼀致,请做出解释。
1、基本命名原则Ø规范:字母全部⼩写原则所有数据库对象命名字母全部⼩写,统⼀⼤⼩写有助于在多数据库间转移。
Ø规范:字符范围原则只能使⽤英⽂字母、下划线、数字进⾏命名,且⾸位字符必须是英⽂字母。
Ø规范:分段命名原则命名中多个单词间采⽤下划线分割,以便阅读同时⽅便某些⼯具对数据库对象的映射。
例如:user_name。
Ø规范:不要⽤保留词数据库对象命名不能直接使⽤数据库保留关键字,但分段中可以使⽤。
如user不能⽤于表名、列名等,但是user_name可以⽤于列名,user_info也可以⽤于表名。
Ø规范:同义性原则对于同⼀含义尽量使⽤相同的单词命名,不管使⽤英⽂单词、英⽂缩写还是拼⾳⾸字母,以免引起误解。
如telphone的A表中表⽰固定电话号码,在B表中就不应该⽤于表⽰移动电话号码。
尽量避免同⼀单词表⽰多种含义的情况。
Ø规范:命名⽅式⼀致原则在⼀个系统、⼀个项⽬中尽量采⽤⼀致的命名⽅式,都采⽤英⽂单词或者拼⾳⾸字母。
尤其要避免在⼀个对象命名中同时采⽤英⽂单词和拼⾳⾸字母。
如确实需要在⼀个项⽬中采⽤两种命名⽅式,考虑系统功能设计相关表(开发)使⽤英⽂单词命名,业务相关的表(实施)使⽤拼⾳⾸字母。
2、命名前缀规范Ø规范:以下对象命名采⽤固定前缀进⾏命名,前缀表⽰数据库对象的类型,前缀代码规范如下:命名前缀规范3、表和列规范3.1 表规范Ø规范:表名采⽤多段式命名,各单词间⽤下划线分隔;Ø规范:表名只允许⽤英⽂字母、下划线、数字进⾏命名,不允许⽤中⽂或者其他符号;Ø规范:表名全部字母⼩写;Ø规范:根据历史习惯各系统常⽤表类前缀作如下约定:表规范Ø建议:表名也⽤于相关索引、分区、分区表空间、约束、主键等命名,因此为了避免相关对象命名长度超过限制,建议表名长度不要超过20。
数据库设计规范范文
数据库设计规范范文1.数据库命名规范:-数据库名称应简洁、具有描述性,并且易于理解和识别。
-避免使用特殊字符、空格和汉字。
-采用小写字母和下划线分隔单词,以提高可读性。
2.表设计规范:-表名应具有描述性,简洁明了并与其所代表的实体一致。
- 表名要求使用单数形式,例如"customer"而不是"customers"。
-避免使用数据库关键字作为表名。
-主键应该是唯一的且不可为空,使用自增长或GUID等机制来确保唯一性。
-尽量避免使用冗余字段,如果需要使用,则使用触发器或存储过程来维护数据一致性。
3.字段设计规范:-字段名应具有描述性,简洁明了并与其所代表的数据类型一致。
-字段名要求使用小写字母和下划线分隔单词,以提高可读性。
-避免使用数据库关键字作为字段名。
-字段类型应选取合适的数据类型,以节省存储空间和提高查询效率。
-字段的长度应根据实际需求来设定,避免使用过长或过短的字段长度。
4.索引设计规范:-索引应根据查询需求和数据分布情况来创建,以提高查询性能。
-对于频繁进行查询、排序和连接操作的字段,应考虑创建索引。
-避免创建过多的索引,因为索引会占用额外的存储空间,并影响写操作的性能。
-对于经常更新的表,尽量减少索引的数量和大小,以提高更新操作的性能。
-定期检查和优化索引,以确保索引的有效性和最佳性能。
5.视图和存储过程设计规范:-视图应尽量简洁明了、易于维护,只返回必要的字段和数据。
-存储过程应具有描述性、易于理解和使用。
-存储过程应尽量减少对数据库的直接操作,以提高性能和安全性。
-视图和存储过程的命名应具有描述性,并符合命名规范。
6.数据库安全性规范:-限制数据库登录账号的权限,并定期检查和更新密码。
-对敏感数据进行加密,以防止数据泄露。
-使用防火墙和安全策略来防止未授权的访问。
-定期备份和恢复数据库,以防止数据丢失和损坏。
-对数据库进行监控,及时发现和解决潜在的安全问题。
数据库设计规范
数据库设计规范1. 概述数据库是组织和存储数据的重要工具。
良好的数据库设计能够确保数据的有效性、一致性和可靠性。
本文档旨在提供数据库设计规范,以帮助开发人员在设计数据库时遵循最佳实践。
2. 命名规范在设计数据库时,合理的命名规范能够增加数据库的可读性和可维护性。
以下是一些常用的命名规范建议:- 表名、字段名和约束名使用有意义的单词或词组,并使用下划线分隔单词。
- 避免使用数据库保留字和特殊字符作为命名的一部分。
- 统一使用小写字母,可以提高跨平台的兼容性。
3. 数据类型选择正确选择合适的数据类型可以提高数据库的性能和可靠性。
下面是一些常见的数据类型选择建议:- 根据数据的含义和范围选择合适的数据类型,避免过度或不足地使用数据类型。
- 对于存储日期和时间的字段,使用标准的日期时间数据类型,并避免存储格式化的文本。
- 对于存储大量文本的字段,使用适当的文本类型,如VARCHAR或TEXT。
4. 主键和索引主键和索引是提高数据库查询性能的重要手段。
以下是一些建议:- 每个表应该有一个主键,以唯一标识每条记录。
- 主键应该尽可能简单,不宜过长或复杂,以便提高查询效率。
- 对于经常被查询的字段,考虑使用索引来加速查询操作。
但索引也需要权衡成本和收益,过多的索引会增加插入和更新数据的开销。
5. 数据一致性和完整性数据一致性和完整性是数据库设计中需要关注的重要方面。
以下是一些建议:- 使用外键关联表,以确保相关数据的一致性。
- 定义适当的约束条件,如唯一约束、非空约束和默认值,以保证数据的完整性。
- 避免冗余数据和冗余字段,以防止数据不一致。
6. 数据库安全性数据库安全性是确保数据安全和保护用户隐私的重要方面。
以下是一些建议:- 使用合适的用户和角色管理机制,以限制对数据库的访问权限。
- 使用强密码对数据库进行身份验证和访问控制。
- 定期备份数据库,并确保备份文件的安全存储和访问。
- 定期审计数据库的访问情况,以便及时发现和解决安全问题。
数据库设计的规范
数据库设计的规范数据库设计是构建一个可靠且高效的数据库系统的重要步骤。
一个良好设计的数据库能够确保数据的完整性、一致性和安全性,并且能够满足系统的性能需求。
在进行数据库设计时,有一些规范和准则可以帮助我们达到这些目标。
本文将介绍数据库设计的规范,以帮助读者了解如何设计一个优秀的数据库。
一、命名规范在数据库设计中,采用一致的命名规范是非常重要的。
良好的命名规范可以提高数据库的可读性和可维护性。
以下是一些常用的命名规范:1. 表的命名:使用名词的单数形式,避免使用复数形式或缩写。
例如,一个存储用户信息的表可以命名为"User"而不是"Users"或"Usr"。
2. 列的命名:使用具有描述性的列名,避免使用无意义的缩写或缺乏描述性的名称。
例如,一个存储用户姓名的列可以命名为"userName"。
3. 主键命名:使用表名后面加上"Id"来命名主键列。
例如,一个用户表的主键列可以命名为"userId"。
4. 外键命名:使用表名后面加上"Id"来命名外键列。
例如,如果有一个订单表,其中包含一个指向用户表的外键,则可以命名为"userId"。
二、数据类型选择在数据库设计中,选择合适的数据类型对数据的存储和操作非常重要。
以下是一些常见的数据类型选择准则:1. 整数类型:如果一个字段是整数类型,并且只需要存储非负整数,则应选择无符号整数类型,这样可以节省存储空间。
2. 字符类型:根据字段的需求选择合适的字符类型。
如果字段的长度固定,则应选择固定长度字符类型;如果字段的长度可变,则应选择可变长度字符类型。
3. 日期和时间类型:根据需要选择合适的日期和时间类型,例如DATE、TIME或DATETIME。
确保选择的类型能够精确地存储所需的日期和时间信息。
三、建立关系在数据库设计中,建立正确的关系是非常重要的。
数据库设计格式规范
1) 标准化和规范化数据的标准化有助于消除数据库中的数据冗余。
标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。
简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。
表之间的关系通过外键相连接。
它具有以下特点:有一组表专门存放通过键连接起来的关联数据。
举例:某个存放客户及其有关定单的3NF 数据库就可能有两个表:Customer和Order。
Order表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer表里包含该客户信息的那一行。
事实上,为了效率的缘故,对表不进行标准化有时也是必要的。
2) 数据驱动采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。
举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。
还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。
角色权限管理也可以通过数据驱动来完成。
事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。
3) 考虑各种变化在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。
举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。
所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。
2.数据库涉及字符规范采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线'_'组成,共63个字符.不能出现其他字符(注释除外).注意事项:1) 以上MYSQL数据库命名都不得超过30个字符的系统限制.变量名的长度限制为29(不包括标识字符@).2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性.假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了.3.数据库MYSQL数据库命名规范数据库,数据表一律使用前缀正式数据库名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的.比如:1.web_19floor_net2.web_car备份数据库名使用正式库名加上备份时间组成,如:1.web_19floor_net_200704032.web_car_200704034.数据库表MYSQL数据库命名规范数据表名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的.相关应用的数据表使用同一前缀,如论坛的表使用cdb_前缀,博客的数据表使用supe_前缀,前缀名称一般不超过5字比如:1.web_user2.web_group3.supe_userspace备份数据表名使用正式表名加上备份时间组成,如:1.web_user_200704032.web_group_200704033.supe_userspace_200704035.字段MYSQL数据库命名规范字段名称使用单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀.如 web_user 表的字段:erIderNameerPassword表与表之间的相关联字段要用统一名称,如 web_user 表里面的 userId 和 web_group 表里面的 userId 相对应6.字段类型规范规则:用尽量少的存储空间来存数一个字段的数据.比如能用int的就不用char或者varchar能用tinyint的就不用int能用varchar(20)的就不用varchar(255)时间戳字段尽量用int型,如created:表示从'1970-01-01 08:00:00'开始的int秒数,采用英文单词的过去式;gmtCreated:表示datetime类型的时间,即形如'1980-01-01 00:00:00'的时间串,Java中对应的类型为Timestamp7.数据库设计文档规范所有数据库设计要写成文档,文档以模块化形式表达.大致格式如下:'-------------------------------------------' 表名: web_user' 作者: Aeolus(傻鱼)' 日期: 2007-04-11' 版本: 1.0' 描述:保存用户资料' 具体内容:' UserID int,自动增量用户代码' UserName char(12) 用户名字' ......'--------------------------------------------8.索引使用原则:1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引.考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写.2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上.3) 不要索引blob/text等字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间.4) 不要索引常用的小型表不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了.对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间.9.sql语句规范所有sql关键词全部大写,比如SELECT,UPDATE,FROM,ORDER,BY等,所有的表名和库名都要用``包含如:SELECT COUNT(*) FROM `cdb_members` WHERE `userName` = 'aeolus';10.其他设计技巧1) 避免使用触发器触发器的功能通常可以用其他方式实现.在调试程序时触发器可能成为干扰.假如你确实需要采用触发器,你最好集中对它文档化.2) 使用常用英语(或者其他任何语言)而不要使用编码或者拼音首字母缩写在创建下拉菜单、列表、报表时最好按照英语名排序.假如需要编码或者拼音首字母缩写,可以在旁边附上用户知道的英语.3) 保存常用信息让一个表专门存放一般数据库信息非常有用.在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息.这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用.4) 包含版本机制在数据库中引入版本控制机制来确定使用中的数据库的版本.时间一长,用户的需求总是会改变的.最终可能会要求修改数据库结构.把版本信息直接存放到数据库中更为方便.5) 编制文档对所有的快捷方式、MYSQL数据库命名规范、限制和函数都要编制文档.采用给表、列、触发器等加注释的数据库工具.对开发、支持和跟踪修改非常有用.对数据库文档化,或者在数据库自身的内部或者单独建立文档.这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少.6) 测试、测试、反复测试建立或者修订数据库之后,必须用用户新输入的数据测试数据字段.最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求.测试需要在把新数据库投入实际服务之前完成.7) 检查设计在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库.换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据.。
数据库设计规范
数据库设计规范一、规范目的:为了优化数据库的设计,提高数据库设计的合理性和数据访问高效性,同时便于阅读和理解数据库的结构,以提高数据共享的质量和效率,促进数据库编码的标准化,特制订一套数据库设计规范。
二、设计规范:遵守数据的设计规范3NF(范式):1.表内的每一个值都只能被表达一次。
2.表内的每一行都应该被唯一的标识(有唯一键)。
3.表内不应该存储依赖于其他键的非键信息。
三个约束:1.码约束:每个关系必须有一个主码;2.实体完整性约束:主码不能为空;3.参照完整性约束:外码的属性值要么是另一个关系的主码,要么为空;三、命名规范:通用规范:1.使用英文。
要用简单明了的英文单词,不要用拼音,特别是拼音缩写。
主要目的明确。
让人容易明白这个对象是做什么用的;2.一律大写,特别是表名。
有些数据库,表的命名和其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常的习惯,最好一律用大写;数据库的命名规则:1)表的命名表名称必须用英文大写字母,且具有代表含义的单词(字母)构成;表名可能有1-2个单词,单词间以”_”连接;如CHINA_ROAD;2)字段名称命名a. Name 字段汉语名称;b. Code 字段英文名称,必须取该字段的英文单词,若有多个单词必须有下滑线相隔。
c. 根据自己的情况命名字段名,但是必须是有意义且科学的单词,必须控制在1-2个之内,每个单词的每个字母必须大写。
数据库字段设计规则:1)数字型字段原则上不允许为空(建议设置默认值为0);字符型字段除备注、描述等信息外原则上也不允许为空。
2)原则上存在人为操作的表,都要带有以下四个字段:State varchar2(32) not null 状态取值STATE_COMMON:ENABLED——有效 DISABLED——无效staff_id number(10) not null 操作人op_date date not null 操作时间remark varchar2(256) null 备注索引命名规范:索引名字前一律加上“IDX_”,后面添加表名(或简称)和列名。
数据库设计规范
数据库设计规范
⼀.命名规范
1. 采⽤26个英⽂字母(区分⼤⼩写)和0-9的⾃然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词⽤下划线'_'分隔。
2. 库名、表名、字段名:要字母⼩写加下划线风格,长度不能超过32个字符,禁⽌拼⾳加英⽂混合命名。
3. 每个字段要有注释,每个表名要有注释,字段的取值含义或者范围,枚举值要有注释,这些都要有中⽂注释。
4. 布尔类型的字段名尽量避免⽤“is”开头,这是由于有些框架会⾃动解析“is”开头的javaBean。
可以使⽤“can”或者“do”。
5. 表名与字段名尽量保持在30个字符以下
⼆.设计规则
1. 三范式
第⼀范式:1NF是对属性的原⼦性约束,要求属性具有原⼦性,不可再分解;
第⼆范式:2NF是对记录的惟⼀性约束,要求记录有惟⼀标识,即实体的惟⼀性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派⽣出来,它要求字段没有冗余。
2. 使⽤存储引擎。
因为安全,事务,⾏锁。
3. 字符集必须是UTF-8字符集。
4. 尽量减少或者不使⽤触发器、视图、存储过程。
风险⼤,维护成本⾼,尤其对于互联⽹项⽬。
5. 关键表都需要有三个字段(主键、创建时间、修改时间)
6. 存储精确浮点数必须使⽤DECIMAL替代FLOAT和DOUBLE。
7. 如果需要时分秒时间记录,建议⽤datetime类型。
数据库设计规范
数据库设计规范数据库设计是软件开发过程中非常重要的一环,良好的数据库设计可以提高系统的性能和可维护性。
本文将介绍一些常用的数据库设计规范,以帮助开发人员进行有效的数据库设计。
一、命名规范在数据库设计中,良好的命名规范可以提高代码的可读性和可维护性。
以下是一些常用的数据库命名规范:1.表名和字段名应该具有描述性,反映其存储的数据内容。
可以使用单词或单词组合,使用下划线或驼峰命名法。
例如,对于存储用户信息的表,可以使用"user_info"或"userInfo"作为表名。
2.避免使用保留字或关键字作为表名或字段名。
3.表名和字段名应该使用小写字母。
4.避免使用特殊字符或空格作为命名的一部分。
二、表设计规范在进行表设计时,应遵循以下规范:1.定义主键:每个表都应该有一个主键,用于唯一标识表中的每条记录。
主键可以是一个字段或多个字段的组合。
2.选择适当的字段类型:根据数据的特性选择适当的字段类型,例如整数、字符、日期等。
3.定义外键:在设计关系型数据库时,需要定义外键来建立表与表之间的关联。
外键可以确保数据的完整性和一致性。
4.避免使用过多的字段:表中的字段数量应尽量控制在一个合理的范围内,避免冗余字段和无用字段的存在。
三、索引设计规范索引是加快数据库查询速度的重要手段。
以下是一些索引设计规范:1.选择适当的索引类型:常见的索引类型包括主键索引、唯一索引和普通索引。
根据查询的需要选择适当的索引类型。
2.选择合适的索引字段:选择那些经常用于查询、排序和分组的字段作为索引字段。
避免对大字段或稀疏字段创建索引,以免影响性能。
3.避免创建过多的索引:过多的索引会增加数据库的存储空间和维护成本。
只创建必要的索引,避免盲目创建。
四、数据表关系设计规范在设计关系型数据库时,需要合理定义表之间的关系。
以下是一些常用的设计规范:1.一对多关系:使用外键在多的一方表中建立与另一方表的关联。
数据库设计规范范文
数据库设计规范范文1.命名规范:-表名、列名、视图名和索引名应具有描述性。
-避免使用保留字作为对象的名称。
-使用统一的命名约定,如下划线分隔或驼峰命名法。
2.完整性约束:-使用主键和唯一约束来确保数据的唯一性。
-使用外键约束来维护关系的完整性。
-使用检查约束来对列的取值进行限制。
3.规范化:-采用规范化技术来设计数据库模式,确保数据的一致性和有效性。
-将数据拆分成适当的表,避免数据冗余。
-设计合适的关系模式,避免数据的不一致性。
4.数据类型和大小:-选择合适的数据类型和大小,以节省存储空间并提高查询性能。
-避免使用过大或过小的数据类型,以免浪费存储空间或引发数据溢出。
5.索引和查询优化:-为经常使用的列创建索引,以提高查询性能。
-避免创建过多的索引,以减少写操作的开销。
-使用合适的查询语句,避免全表扫描和笛卡尔积。
-使用表分区技术来提高查询和维护的效率。
6.安全性:-对敏感数据采取额外的安全措施,如加密。
-限制对数据库的访问权限,只给予必要的用户访问权限。
-定期备份数据库,以保证数据的安全性和可恢复性。
7.文档化:-对数据库的结构和设计进行文档化,以便于团队成员的理解和维护。
-记录数据库的版本变更和修改历史。
8.性能优化:-定期进行数据库性能评估,对性能瓶颈进行调优。
-优化查询语句,重写复杂的查询,以提高查询性能。
-根据数据特点进行分区设计和冗余数据的优化。
9.数据访问和事务管理:-使用合适的访问控制机制,对数据库进行细粒度的权限控制。
-合理使用事务管理,确保数据的一致性和完整性。
10.数据库监控和日志记录:-监控数据库的运行状态,包括CPU利用率、磁盘空间和内存使用情况等。
-启用数据库的日志功能,记录数据库的操作和错误信息,以便进行故障排查。
综上所述,数据库设计规范是保证数据库系统高效稳定运行的基础,良好的数据库设计规范不仅可以提高数据的安全性和可靠性,还可以提升系统的性能和可维护性。
数据库设计与开发规范
数据库设计与开发规范1.数据库命名规范:-数据库名、表名、字段名应使用小写字母,并用下划线分隔单词,避免使用特殊字符或关键字。
-数据库、表、字段名应具有描述性,能够清晰地表达其含义。
2.表设计规范:-表应具有主键,用于唯一标识每一条记录。
-表应遵循第三范式,避免数据冗余。
-避免使用过多的表关联,以提高查询效率。
3.字段设计规范:-字段应具有合适的数据类型,确保数据完整性和查询效率。
-字段应具有明确的含义,避免使用模糊或缩写的名称。
-字段应尽量避免为空,除非确实需要。
4.索引设计规范:-针对经常被查询的字段,可以创建索引以加快查询速度。
-索引应选择适当的数据结构和算法,以提高查询效率。
-避免创建过多的索引,以降低写操作的开销。
5.SQL语句规范:-SQL语句应使用缩进、换行等格式化方式,提高可读性。
-避免直接使用字符串拼接的方式构建SQL语句,以防止SQL注入攻击。
-避免使用SELECT*,尽量指定需要查询的字段。
6.数据库安全规范:-设置合适的账号和密码,确保只有授权的用户可以访问数据库。
-定期备份数据库,以防止数据丢失。
-对于敏感数据,应加密存储,确保数据安全性。
7.性能优化规范:-避免每次查询都进行全表扫描,通过合适的索引和优化SQL语句提高查询效率。
-合理分析查询日志和慢查询日志,找出性能瓶颈并进行优化。
-定期进行数据库表的优化和碎片整理,提高数据库性能。
8.数据库文档规范:-对于重要的数据库、表和字段,应编写相应的文档,包括设计意图、用途和使用方法等。
-更新数据库结构时,应及时更新数据库文档以保持一致性和可维护性。
以上是一些常用的数据库设计与开发规范,通过遵守这些规范可以提高数据库系统的可靠性、可维护性和性能。
此外,规范的制定也依据具体的应用场景和业务需求,不同项目可能会有不同的规范要求。
数据库课程设计报告书写规范
1.5cm; 13)打印:一般要求双面打印(可以节约纸张);报告每页紧凑打
印,可以每页38行每行39个字(或更多)。
10
5
(5)页眉
奇数页:中间为“具体课程设计的题目”的字 样;偶数页:中间为“×××学院数据库课程 设计”字样;页眉使用小5号宋体。
6
(6)参考文献
参考文献放在报告的后面,编排要求如下: 参考文献只选用最主要的列入,未公开发表的资料或协作成果,应
征得有关方面的同意,以脚注方式顺序标明。参考文献选用顺序 编码制,按文章中出现的先后顺序编号。 1)专著的著录格式为:作者(编者).书名.版本.出版地:出版者, 出版年.页码; 2)专著中析出文章的著录格式为:作者.题名.见(In):编者.书名. 版本.出版地:出版者,出版年.页码; 3)连续出版物析出文献的著录格式为:作者.题名.期刊名,年,卷 (期):页码; 4)译文的著录格式为:①作者;译者.论文译名.见(In):编者.书 名.出版地:出版者,出版年.页码;②作者;译者.论文译名.期刊 名,年,卷(期):页码;
章节编号方法应符合国家标准。例如:科技论文的章节编号方法 应采用分级阿拉伯数字编号方法,第一级为1、2、3等,第二级 为2.1、2.2、2.3等,第三级为2.2.1、2.2.2、2.2.3等,但分级阿 拉伯数字的编号一般不超过三级,两级之间用下角圆点隔开,每 一级的末尾不加标点。
各层标题均单独占行书写。第一级标题序数顶格书写,后空二格 接写标题,末尾不加标点;第二、三标题序数顶格书写,后空一 格接写标题,末尾不加标点。正文中对总项包括的分项采用 (1)、(2)、(3)…单独序号,对分项中的小项采用①、②、 ③…的序号或数字加半括号,括号后不再加其他标点。
数据库设计规范
数据库设计规范(一)、命名规范1、表名使用每个中文字的汉语拼音首字母。
备份表:BAK_表名_姓名拼音日期(BAK_YJBYSMD_ZHJ0619)临时表:TMP_表名_姓名拼音日期(TMP_YJBYSMD_ZHJ0619)2、键名前缀为PK_。
主键名称应是前缀+表名+构成的字段名。
如果复合主键的构成字段较多,则只包含第一个字段。
alter table BJMCDMBadd constraint PK_BJMCDMB_BJDM primary key (BJDM)3、外键名前缀为FK_。
外键名称应是前缀+ 外键表名 + 主键表名 + 外键表构成的字段名。
alter table BJMCDMBadd constraint FK_BJMCDMB_ZYDMB_SSZYDM foreign key (SSZYDM)references ZYDMB (ZYDM);4、索引前缀为IDX_。
索引名称应是前缀+表名+构成的字段名。
如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。
5、视图前缀为View_。
按业务操作命名视图。
6、存储过程前缀为Proc_ 。
按业务操作命名存储过程。
7、触发器前缀为Trig_ 。
触发器名应是前缀 + 表名 + 触发器名(方式I,U,D)。
8、函数前缀为Func_ 。
按业务操作命名函数9、序列前缀为Seq_ 。
按业务属性命名。
10、普通变量前缀为Var_ 。
存放字符、数字、日期型变量。
11、游标变量前缀为Cur_ 。
存放游标记录集。
(二)、命名1、大小写名称一律大写,以方便不同数据库移植,以及避免程序调用问题。
2、命名长度表名、字段名、视图名长度应限制在20个字符内(含前缀)。
3、字段名称同一个字段名在一个数据库中只能代表一个意思。
比如XH在一个表中代表“学号”的意思,在另外一个表中就不能代表“学号”的意思。
不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。
4、字符型固定长度的字串类型采用char,长度不固定的字串类型采用varchar2。
数据库设计规范及关键要点
数据库设计规范及关键要点数据库设计是构建一个高效、可靠的数据库系统的基础。
一个良好的数据库设计能够提高数据的存储和检索效率,降低数据冗余和不一致性的风险,并为后续的应用开发和数据分析提供可靠的数据基础。
在进行数据库设计时,我们需要遵循一些规范和关键要点,下面将详细介绍。
1. 数据库设计规范1.1 数据库结构规范:数据库的结构应该符合正规化原则。
采用正确的范式设计可以降低数据冗余,提高数据一致性。
常用的范式有第一范式(每个属性都是原子的)、第二范式(每个非主属性都完全依赖于候选键)、第三范式(每个非主属性都不传递依赖于候选键)等。
1.2 命名规范:数据库对象(如表、字段、视图等)的命名应该具有一致性和可读性。
命名应该简明扼要,不超过30个字符。
表名应该使用名词复数形式,字段名应该使用名词或形容词。
1.3 数据类型规范:选择恰当的数据类型是保证数据一致性和完整性的关键。
应该根据数据的特性选择适当的数据类型,如字符串、整数、浮点数、日期等。
避免使用通用的数据类型,尽量精确定义字段的类型和长度。
1.4 约束规范:数据库应该添加适当的约束来保证数据的完整性和一致性。
常见的约束包括主键约束、唯一约束、外键约束、检查约束等。
约束的使用可以让数据库在插入、更新和删除数据时自动执行数据验证和引用完整性检查,减少人为错误。
1.5 索引规范:索引在提高数据库的查询性能方面起到重要作用。
合理创建索引可以加快查询速度,减少数据检索时间。
在设计索引时,需要考虑查询的频率、查询字段、表的大小等因素,避免过多或者不必要的索引。
2. 数据库设计关键要点2.1 数据库需求分析:在数据库设计之前,应该充分理解和分析业务需求。
与相关领域的专业人士合作,收集用户需求、功能要求和性能要求等。
需求分析是保证数据库最终满足用户需求的基础。
2.2 数据库概念设计:在数据库概念设计过程中,需要创建实体-关系图(ER图)来描述数据库中的实体、属性和关系。
数据库设计说明书-国家标准格式
数据库设计文档规范一、引言1.1 编写目的说明:编写这份数据库设计说明书的目的,指出预期的读者范围。
1.2 背景说明:a.待开发的数据库的名称和使用此数据库的软件系统的名称;b.列出本项目的任务提出者、开发者、用户以及将安装该软件和这个数据库的单位。
1.3 定义列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4 参考资料列出要用到的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源二、外部设计2.1 标识符和状态联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。
如果该数据库属于尚在实验中、尚大测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
2.2 使用它的程序列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
2.3 约定陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、记录、数据项的命名约定等。
三、结构设计3.1 概念结构设计说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
3.2 逻辑结构设计说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
3.2.1 数据表3.2.2存储过程3.2.3 触发器……四、运用设计4.1 数据字典设计对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1) 标准化和规范化
数据的标准化有助于消除数据库中的数据冗余。
标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。
简单来说,遵守3NF 标准的数据库的表设计原则是:
“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。
表之间的关系通过外键相连接。
它具有以下特点:有一组表专门存放通过键连接起来的关联数据。
举例:某个存放客户及其有关定单的3NF 数据库就可能有两个表:Customer和Order。
Order表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer表里包含该客户信息的那一行。
事实上,为了效率的缘故,对表不进行标准化有时也是必要的。
2) 数据驱动
采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。
举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。
还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。
角色权限管理也可以通过数据驱动来完成。
事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。
3) 考虑各种变化
在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。
举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。
所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。
2.数据库涉及字符规范
采用26个英文字母(区分大小写)和0-9这十个自然数,加上下划线'_'组成,共63个字符.不能出现其他字符(注释除外).
注意事项:
1) 以上MYSQL数据库命名都不得超过30个字符的系统限制.变量名的长度限制为
29(不包括标识字符@).
2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.
3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性.假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了.
3.数据库MYSQL数据库命名规范
数据库,数据表一律使用前缀
正式数据库名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的.比如:
1.web_19floor_net
2.web_car
备份数据库名使用正式库名加上备份时间组成,如:
1.web_19floor_net_20070403
2.web_car_20070403
4.数据库表MYSQL数据库命名规范
数据表名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的.
相关应用的数据表使用同一前缀,如论坛的表使用cdb_前缀,博客的数据表使用supe_前缀,前缀名称一般不超过5字
比如:
1.web_user
2.web_group
3.supe_userspace
备份数据表名使用正式表名加上备份时间组成,如:
1.web_user_20070403
2.web_group_20070403
3.supe_userspace_20070403
5.字段MYSQL数据库命名规范
字段名称使用单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀.
如 web_user 表的字段:
erId
erName
erPassword
表与表之间的相关联字段要用统一名称,
如 web_user 表里面的 userId 和 web_group 表里面的 userId 相对应
6.字段类型规范
规则:用尽量少的存储空间来存数一个字段的数据.
比如能用int的就不用char或者varchar
能用tinyint的就不用int
能用varchar(20)的就不用varchar(255)
时间戳字段尽量用int型,如created:表示从'1970-01-01 08:00:00'开始的int秒数,采用英文单词的过去式;gmtCreated:表示datetime类型的时间,即形如'1980-01-01 00:00:00'的时间串,Java中对应的类型为Timestamp
7.数据库设计文档规范
所有数据库设计要写成文档,文档以模块化形式表达.大致格式如下:
'-------------------------------------------
' 表名: web_user
' 作者: Aeolus(傻鱼)
' 日期: 2007-04-11
' 版本: 1.0
' 描述:保存用户资料
' 具体内容:
' UserID int,自动增量用户代码
' UserName char(12) 用户名字
' ......
'--------------------------------------------
8.索引使用原则:
1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引.考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写.
2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上.
3) 不要索引blob/text等字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间.
4) 不要索引常用的小型表
不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了.对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间.
9.sql语句规范
所有sql关键词全部大写,比如SELECT,UPDATE,FROM,ORDER,BY等,所有的表名和库名都要用``包含
如:
SELECT COUNT(*) FROM `cdb_members` WHERE `userName` = 'aeolus';
10.其他设计技巧
1) 避免使用触发器
触发器的功能通常可以用其他方式实现.在调试程序时触发器可能成为干扰.假如你确实需要采用触发器,你最好集中对它文档化.
2) 使用常用英语(或者其他任何语言)而不要使用编码或者拼音首字母缩写
在创建下拉菜单、列表、报表时最好按照英语名排序.假如需要编码或者拼音首字母缩写,可以在旁边附上用户知道的英语.
3) 保存常用信息
让一个表专门存放一般数据库信息非常有用.在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息.这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用.
4) 包含版本机制
在数据库中引入版本控制机制来确定使用中的数据库的版本.时间一长,用户的需求总是会改变的.最终可能会要求修改数据库结构.把版本信息直接存放到数据库中更为方便.
5) 编制文档
对所有的快捷方式、MYSQL数据库命名规范、限制和函数都要编制文档.
采用给表、列、触发器等加注释的数据库工具.对开发、支持和跟踪修改非常有用.
对数据库文档化,或者在数据库自身的内部或者单独建立文档.这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少.
6) 测试、测试、反复测试
建立或者修订数据库之后,必须用用户新输入的数据测试数据字段.最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求.测试需要在把新数据库投入实际服务之前完成.
7) 检查设计
在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库.换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据.。