如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据库主流数据库Oracle甲骨文公司支持各种平台在数据库领域处于领先地位DB2IBM公司大型应用系统具有良好的伸缩性SQLServer微软公司使用方便可伸缩性好与相关软件集成度高MySql应用广泛的开源数据产品体积小速度快总体拥有成本低(适于个人使用,不适于商业开发)设计步骤·确定实体·确定实体属性·确定实体关系一对一一对多(外键放在多方)多对多·规范化实例实体——表属性——字段实体关系——表的关系(pk/fk)SQLServer的数据类型第一大类:整数数据bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.smallint:以2个字节来存储正负数.存储范围为:-2^15至2^15-1tinyint:是最小的整数类型,仅用1字节,范围:0至此^8-1第二大类:近似浮点数值数据float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38第三大类:日期时间数据datatime:表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节.smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节.第四大类:字符串数据char:非Unincode编码,长度是固定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.varchar:非Unincode编码,长度可变,最短为1字节,最长为8000个字节,尾部的空白会去掉.text:非Unincode编码,长宽也是设定的,最长可以存放2G的数据.,存储长文本信息nchar:Unincode编码,长度是固定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.nvarchar:Unincode编码,长度是可变的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.ntext:Unincode编码,长度是可变的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.第五大类:货币数据类型money:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8个字节.smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.第六大类:二进制码字符串数据binary:固定长度的二进制码字符串字段,最短为1,最长为8000.varbinary:与binary差异为数据尾部是00时,varbinary会将其去掉image:为可变长度的二进制码字符串,最长2G.范式范式是具有最小冗余的表结构。各种范式呈递次规范,越高的范式数据库冗余越小。第一范式(1NF)无重复的列第一范式的目标是确保每列的原子性(不可再分),即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性。简而言之,第一范式就是无重复的域。第二范式(2NF)属性第二范式满足1NF且要求每个表只描述一件事情例如一个订单中包含订单信息和产品信息,分为订单表和产品表。第三范式(3NF)属性第三范式是在满足2NF的基础上,确保每列都与主键直接相关,就是属性不依赖于其它非主属性,任何非主属性不得传递依赖于主属性。主键与外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组能唯一标识一条记录,该属性组就可以成为一个主键eg:学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个主键成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键同理成绩表中的课程号是课程表的外键定义主键和外键主要是为了维护关系数据库的完整性,总结一下:主键是能确定一条记录的唯一标识,比如,一条记录包括身份证号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。外键用于与另一张表的关联。是能确定另一张表记录的