一个项目最重要的是把数据库设计好,因为数据设计好就可以节省空间,对整个项目都是有好处的,数据库编程很重要。
嵌入式SQL
嵌入式SQL的处理过程
将SQL语句嵌入到程序设计语言中,如C C++,Java 为了能区分SQL语句与主语言语句,所有SQL语句都必须加前缀EXEC SQL
数据库表的设计规范
1、所有字段在设计时,除以下数据类型timestamp,image,datetime,smalldatetime、binary、sql varant|、
外,必须有默认值,字符型的默认值为一个空字符串’ ‘;数值型默认值为0,逻辑型默认值也是0.
2、当字段定义为字符串形时建议使用varchar而不用nvachar.
3、建议在大多数表中,应该都要有以下字段,字段名说明类型默认值
CreatorID创建者int默认值为0
Created Time创建时间Datetime 默认值为NULL
4、字段的描述
A、字段必须填写描述信息,就是要进行注释
B、尽量遵守第三范式的标准
表内的每一个值只能被表达一次,表内的每一行都应当被唯一的表示,自动增长就是设计主键,表内不应该存储依赖于其它建的非建信息。
数据库有三个范式
(1NF):强调的是列的原子性,即列不能够再分成其他列
(2NF):首先是1NF,另外包含两部分内容。一是表必须有主键,二是没有包含主键中的列必须完全依赖于主键,而不能依赖于主键的一部分
(3NF):首先是2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。
字符型:
Char 定长 Varchar 变长 ——unicode编码
Nchar 定长 nvarchar 变长 —— unicode编码
特别说明:
一般带有汉字的使用nvarchar,全英文或符号的用varchar,因为nvarchar为unicode字符集,该类型的字段无论是单个字母还是单个汉字都占两个字节,而varchar,字母占一个字节,汉字占两个字节,nvarchar处理汉字或其他unicod字符集的速度比varchar字段快。
在设计数据库的时候会遇到这样的一种情况,对于这种错我也还没有去寻找原因。可能是某些属性出现错误或者某些字段出错了,具体情况看下面图片

索引
有些人还不知道什么叫做索引,具体的应该是下面介绍那样吧
1、 什么是索引?
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
2、 优缺点
优点:加快数据的检索速度
可以加速表与表之间的连接
缺点:
需要物理空间
表中的数据进行增加,删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
嵌入式SQL
嵌入式SQL的处理过程
将SQL语句嵌入到程序设计语言中,如C C++,Java 为了能区分SQL语句与主语言语句,所有SQL语句都必须加前缀EXEC SQL
数据库表的设计规范
1、所有字段在设计时,除以下数据类型timestamp,image,datetime,smalldatetime、binary、sql varant|、
外,必须有默认值,字符型的默认值为一个空字符串’ ‘;数值型默认值为0,逻辑型默认值也是0.
2、当字段定义为字符串形时建议使用varchar而不用nvachar.
3、建议在大多数表中,应该都要有以下字段,字段名说明类型默认值
CreatorID创建者int默认值为0
Created Time创建时间Datetime 默认值为NULL
4、字段的描述
A、字段必须填写描述信息,就是要进行注释
B、尽量遵守第三范式的标准
表内的每一个值只能被表达一次,表内的每一行都应当被唯一的表示,自动增长就是设计主键,表内不应该存储依赖于其它建的非建信息。
数据库有三个范式
(1NF):强调的是列的原子性,即列不能够再分成其他列
(2NF):首先是1NF,另外包含两部分内容。一是表必须有主键,二是没有包含主键中的列必须完全依赖于主键,而不能依赖于主键的一部分
(3NF):首先是2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。
字符型:
Char 定长 Varchar 变长 ——unicode编码
Nchar 定长 nvarchar 变长 —— unicode编码
特别说明:
一般带有汉字的使用nvarchar,全英文或符号的用varchar,因为nvarchar为unicode字符集,该类型的字段无论是单个字母还是单个汉字都占两个字节,而varchar,字母占一个字节,汉字占两个字节,nvarchar处理汉字或其他unicod字符集的速度比varchar字段快。
在设计数据库的时候会遇到这样的一种情况,对于这种错我也还没有去寻找原因。可能是某些属性出现错误或者某些字段出错了,具体情况看下面图片

索引
有些人还不知道什么叫做索引,具体的应该是下面介绍那样吧
1、 什么是索引?
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
2、 优缺点
优点:加快数据的检索速度
可以加速表与表之间的连接
缺点:
需要物理空间
表中的数据进行增加,删除和修改的时候,索引也要动态的维护,降低了数据的维护速度