SQL Serever学习4

SQL Server系统中数据库相关概念

在SQLServer数据库系统中分为2大类,系统数据库和用户数据库。

SQLServer安装后系统会自动生成4个系统数据库,他们是Master,Model,Msdb,Tempdb,系统数据库至少有2个文件组成,一个是扩展名为.mdf的数据库文件,一个是扩展名为.ldf的事务日志文件,他们存储在SQLServer默认安装路径下的MSSQL子目录下的Data文件夹中。

SQL Serever学习4

系统数据库

Master数据库

DBMS中最重要的系统数据库,一旦遭到破坏可能引起整个系统崩溃。保存了所有的登录信息,系统设置信息,初始化信息,和其他数据库相关信息。

通常只有SA,System Administrator系统管理员才有权利访问和使用Master数据库。

Model数据库

用户创建数据库和系统创建Tempdb数据库使用的模板数据库,创建新数据库时,系统将Model数据库内容自动复制到新的数据库中,作为新数据库的基础,以此来简化数据库以及其他对象的创建和设置操作,如果对Model数据库进行修改(比如数据库大小,排序规则,恢复模式,其他数据库项目),则修改将会应用于以后创建的所有数据库。

Msdb数据库

代理服务数据库,用来安排警报和作业,以及记录操作员信息的数据库。

Tempdb数据库

一个临时数据库,他为系统在运行过程中所产生的所有临时表,临时存储过程以及其他临时操作对象提供存储空间,作为全局资源,Tempdb数据库没有专门的权限限制,如果用户与SQLServer断开,创建的临时表对象也会被删除,SQLServer2008实例每次启动都会重新创建Tempdb数据库。

用户数据库

就是具有数据库创建权限的SQLServer用户在系统中根据需要创建的个人数据库,下面详细介绍。

在SSMS中创建“销售管理”数据库

需求分析

根据公司需求情况,分析得到以下信息:

公司目前所销售的产品大约有10000种,以后每年希望增加1000种,每种产品信息基本需要1kb空间进行保存,所以目前大约需要10MB空间保存产品信息,每年会再增加1MB。

公司目前有固定客户500个,每个买家客户信息需要500B,每年增加和失去的客户数量基本持平,所以目前大约需要0.25MB空间保存客户信息,基本没有增长。

公司每年发生的交易次数大约10000笔,每笔交易信息需要500B,所以公司每年需要大约5MB来保存销售信息。

由此可见,目前需要创建的数据库初始化大小应该是(10+0.25+5)MB,每年增加(1+5)MB。

创建数据库

右键数据库,选项新建数据库》输入数据库名称“销售管理”

数据库逻辑文件名称,默认和数据库名一样,事务日志文件的逻辑文件名称会自动加一个_log的扩展名

SQL Serever学习4

数据库命名

逻辑名称,是DBMS内部使用的名称,普通用户不会使用到该名称。通常情况下,系统会自动生成逻辑名称,数据库文件的逻辑名称是“数据库名.mdf”,日志文件的逻辑名称是“数据库名_log.ldf”

SQL Serever学习4

设置数据库大小和增长策略

修改数据库初始大小为16MB,日志文件大小2MB,这里还可以限制数据库文件的大小,不过可以默认不限制(磁盘有多大就存储多少数据)

设置增长策略,点击自动增长按钮,选择按MB增长,设置为6MB。

SQL Serever学习4

添加次要数据库文件 (不是必须)

添加数据文件,如果创建数据库数据量很大,可以同时创建2个数据库文件,一个作为主文件,一个作为次要文件。

一个数据库可以拥有多个数据库文件,但是只有一个主要数据库文件(.mdf),可以有多个次要数据库文件(.ndf),使用次要数据库文件的主要好处是,当数据存储于多个物理文件时,可以拥有更快的访问速度和更高的处理效率。

如果数据库中数据大小已经超过操作系统对文件大小的上限要求,也需要被动使用次要数据库文件来分担数据库的存储任务。

SQL Serever学习4

设置文件组

新建以及设置文件组,数据库文件通常保存在primary文件组中,如果需要将新建的数据库文件保存到一个新的文件组,单击文件组项目,选择新建。

SQL Serever学习4

修改数据库路径

数据库路径,在默认情况,数据和事务日志被放在同一个驱动器上的同一个路径下,这是为了处理单磁系统采用的方法,但是在生产环境中,这可能不是最佳的方法,建议将数据和日志文件放在不同的磁盘上。

SQL Serever学习4

数据库建立完成

最后单击确定,数据库建立完成。

SQL Serever学习4

SQL Serever学习4

数据库文件保存地址

可以到设置的目录,查看刚才创建的数据库文件

SQL Serever学习4

上一篇:Django_Restframwork_序列号组件


下一篇:Django 2.0 学习(06):Django 视图(进阶)