SQL Serever学习4
SQL Server系统中数据库相关概念
在SQLServer数据库系统中分为2大类,系统数据库和用户数据库。
SQLServer安装后系统会自动生成4个系统数据库,他们是Master,Model,Msdb,Tempdb,系统数据库至少有2个文件组成,一个是扩展名为.mdf的数据库文件,一个是扩展名为.ldf的事务日志文件,他们存储在SQLServer默认安装路径下的MSSQL子目录下的Data文件夹中。
系统数据库
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的扩展名
数据库命名
逻辑名称,是DBMS内部使用的名称,普通用户不会使用到该名称。通常情况下,系统会自动生成逻辑名称,数据库文件的逻辑名称是“数据库名.mdf”,日志文件的逻辑名称是“数据库名_log.ldf”
设置数据库大小和增长策略
修改数据库初始大小为16MB,日志文件大小2MB,这里还可以限制数据库文件的大小,不过可以默认不限制(磁盘有多大就存储多少数据)
设置增长策略,点击自动增长按钮,选择按MB增长,设置为6MB。
添加次要数据库文件 (不是必须)
添加数据文件,如果创建数据库数据量很大,可以同时创建2个数据库文件,一个作为主文件,一个作为次要文件。
一个数据库可以拥有多个数据库文件,但是只有一个主要数据库文件(.mdf),可以有多个次要数据库文件(.ndf),使用次要数据库文件的主要好处是,当数据存储于多个物理文件时,可以拥有更快的访问速度和更高的处理效率。
如果数据库中数据大小已经超过操作系统对文件大小的上限要求,也需要被动使用次要数据库文件来分担数据库的存储任务。
设置文件组
新建以及设置文件组,数据库文件通常保存在primary文件组中,如果需要将新建的数据库文件保存到一个新的文件组,单击文件组项目,选择新建。
修改数据库路径
数据库路径,在默认情况,数据和事务日志被放在同一个驱动器上的同一个路径下,这是为了处理单磁系统采用的方法,但是在生产环境中,这可能不是最佳的方法,建议将数据和日志文件放在不同的磁盘上。
数据库建立完成
最后单击确定,数据库建立完成。
数据库文件保存地址
可以到设置的目录,查看刚才创建的数据库文件
SQL Serever学习4的更多相关文章
- SQL Serever学习17——数据库的分析和设计
数据库的分析和设计 设计数据库确定一个合适的数据模型,满足3个要求: 符合用户需求,包含用户所需的所有数据 能被数据库管理系统实现,如sqlserver,oracle,db2 具有比较高质量,容易理解 ...
- SQL Serever学习16——索引,触发器,数据库维护
sqlserver2014数据库应用技术 <清华大学出版社> 索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数 ...
- SQL Serever学习15——进阶
特别说明:在sqlserver2014中,不区分大小写,也就是说,SQL是大小写不敏感的 数据库模型3类: 层次模型 网状模型 关系模型 关系型数据库语言3种: DDL数据定义语言 CREATE(创建 ...
- SQL Serever学习14——存储过程和触发器
存储过程 在数据库中很多查询都是大同小异,编写他们费时费力,将他们保存起来,以后执行就很方便了,把SQL语句“封装”起来. 存储过程的概念 存储过程是一组SQL语句集,经过编译存储,可以”一次编译,多 ...
- SQL Serever学习13——数据库编程语言
编程基础 注释 注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行. 单行注释 SELECT GETDATE() --查询当前日期 多行注释 /* 注释有助于 理解操作的内容 查 ...
- SQL Serever学习12——数据库的备份和还原
公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...
- SQL Serever学习9——基础查询语句
SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语 ...
- SQL Serever学习11——数据库的安全管理
公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...
- SQL Serever学习10——T-SQL语句
在sqlserver2018中使用的是Transact-SQL语言,简称T-SQL. 数据库的创建和管理 数据定义语言DDL DDL功能包括数据库,表,索引,视图,存储过程 数据库:CREATE DA ...
随机推荐
- 在Windows子系统(WSL)中配置开机启动服务
在WSL中跑了一些测试服务 比如 mysql nginx等,但关机后每次都要手动开启甚是吃力,本想着用rc.local来编辑开机启动 ,无奈不支持啊!先看看非WSL环境中是怎么实现的. 在 Ubunt ...
- iOS Png Crush 错误
添加新的 png 图片到项目里的时候,出现错误 错误内容: while reading... pngcrush caught libpng error: cound not find file... ...
- kolla-ansible安装openstack(Ocata)
基本功能部署 基础环境 角色 操作系统 硬件配置 Depoly CentOS 7 Server 磁盘:40GB 内存:8GB 网卡:ens3(内网) ens4(外网) Sched CentOS 7 S ...
- iOS Socket编程(一)基本概念
1.Socket的解释 Socket翻译过来中文称为套接字, 这里我找到了一段比较官方的解释Socket是什么东西: Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行 ...
- 八.linux系统文件属性知识
1.文件属性权限是12位,现在只看9位,其中每3个一组,为:属主权限.属组权限.其他权限,其中r可读,w可写,x可执行,如图: 2.文件属性之软硬链接 linux系统中有两种链接,为硬链接(ln) ...
- Mybatis 类的转换器
想一个事情 ,例: 我数据库的表 定义了一个表student 里面有一个字段 stu_sex int类型 可是我对应的实体类是 String 类型或者其他类型 这个时候 实体类与数据库表肯定对应不 ...
- JSP(汇聚页)
JSP(汇聚页) ------------------------------------------------------------------------------------------- ...
- 玩PHP必了解的PHP常用符号和函数
原文:http://y312ff.blog.163.com/blog/static/12701109420119119575812/ 近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号 ...
- 实时监测input输入变化 jQuery
$('#production_name').on('input propertychange',function(){ alert('输入一个字弹一回'); });
- JAVA数组的遍历和取最值
1.获取数组中的所有元素,会用到数组的遍历 数组的遍历,通常用for循环. public class ArrayDemo { public static void main(String[] args ...