设计数据库的细节

                                    设计数据库的细节

开发工具与关键技术:SQL Server 2014 Management Studio 规范设计数据库表
作者:李国旭
撰写时间:2019年4月30日

我们在设计数据库的时候,为什么要讲究一个规范性呢?一个数据库如果设计的不规范,那么会给人一种很乱的感觉,规范性的设计更有利于我们处理大数据;同时必须以严谨的思维去设计它,因为一个项目里面最重要的就是数据库,处理大数据当然不能忽略细节问题“细节决定成败”这是不可忽视的。
首先,构造数据库必须遵循一定的规则“三大范式”。在关系数据库中,这种规则就是范式。在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。但是这样的数据库可能会出现“数据冗余”的这个问题。那么就要我们数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的新建一个数据库在这里输入您所需要建的数据库名字,还有保存的路径可以任你选择,如下图所示:
在这里插入图片描述

第二,新建完成之后,就要附加数据库文件。注意:附加数据库文件之前,就需要把它的权限修改一下;如果少了这一步,就会出现附加不上的问题。那么怎么解决呢?第一,在你的数据库文件上右键点击属性、再点安全里面的高级选项,下方有个添加按钮就是添加主体,选择Everyone如果没有就输入这个主体,然后再勾选完全控制就可以了,两个文件都要修改他的权限

接着我们就要导入数据了,导入数据的步骤是:在你新建的数据库上面右键有个任务鼠标移到上面,它会有一个导入数据和导出数据,我们点进去然后就按照它的提示步骤做下去,导入数据就可以了
那么我们修改数据类型之前,还要改一个地方就是下图的这个表框这里,在SQL Server上面有一个工具点击进去再点选项,然后在设计器的下面有一个表的设计器和数据库设计器,把表选项里所有的勾都去掉,为什么呢?
在这里插入图片描述
因为我们如果不去掉这些勾的话,我们在设计表的时候,因为数据库表的设计,有些数据类型需要改,我们去掉这些勾的原因就是避免修改的时候出错的问题,要不然它就修改不了,他会提示你说,要新建一张表再进行修改

然后把表的数据导入进这个数据库,那么导入了数据库了之后点设计我们可以看到绝大部分的数据类型都是(255)默认的,因此,我们就要对这张表进行规范性的设计
在这里插入图片描述
常见的SQL Server数据类型如下:
【字符和字符串】Char(n), nchar(n), varchar(n):表示字符串,不包含中文。
Nvarchar(n):表示字符串,包含中文 ,varchar(max):同varchar(n),储存字符更多。
Nvarchar(max):同nvarchar(n),储存字符更多。而储存文本的是:text 可变长度的字符串 ntext:是可变长度的unicde数据,这两个都限制两千兆之内。
【整数】bit:表示0,1或NULL;一般用来表示是或否两种状态的字段。
Tinyint:表示0-255范围的整数,一般用来表示状态或类型,C#中可以定义枚举来表示。 smallint ,int:表示整数,或自增主键ID, bigint :表示整数,范围更大。
【精确数】float:表示32位浮点数字,精度7位;初始化后缀使用f或F,一般用来表示金额。
Double:表示64位浮点数学,精度15到16位;初始化后缀使用d或D。
Decimal:表示128浮点数字,精度28到29位;初始化后缀使用m或M。
【货币】smallmoney:表示64位浮点数学,精度15到16位;初始化后缀使用d或D。
Money:表示128浮点数字,精度28到29位;初始化后缀使用m或M。
【日期时间】smalldatetime表示1900年1月1日到2079年6月6日,精度为1分钟
Datetime:表示时间。从1753年1月1日到9999年12月31日,精度为100纳秒。
【二进制】binary:表示固定长度的二进制数据
Varbinary(n):表示可变长度的二进制数据
Varbinary(max):可变长度的二进制数据,一般用来储存压缩后的数据
Image:表示可变长度二进制数据,装图片等。
特殊的数据类型:timestamp型 数据类型提供数据范围内唯一值
uniqueidentifer型 数据类型用于储存一个16位的二进制数据,此数据称为全局唯一标识符
以上就是一些常用的数据类型,数据类型就相当于一个数据容器,用来装东西的意思!
接着下图就是修改好的数据类型和列名,在这下面你可以看到为什么会出现三个int类型:用户ID、部门ID、和职位ID,这三个是插入列;而员工是设置为主键,一般都会设置为整型并且设置它的标识符为:是;还有就是主键的号是改不了的,其他的就可以改。我们可以看到下面有一些勾选了还有一些没勾选,有勾的就是允许为空、没有勾的就不允许为空。如果我要想他为空呢?这也可以,就要把这一列删除了之后再重新建一个列并且把它的默认值设置为0或1。0就是false、1就是true,这里只能是0,1而数据库表里面显示的就是true和false。注意:二进制的数据类型是不能录入数据的
在这里插入图片描述

数据库表的效果图如下所示:
在这里插入图片描述
好的数据库设计,可以节省数据的储存空间、数据的完整性、方便我们进行数据库应用系统的开发;不好的数据设计,数据冗余浪费储存的空间、浪费内存,还有数据更新会出现异常和插入异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值