SQL Sever 2012【未完待续】
文章目录
数据库组成
- 数据文件
- 日志文件
-
数据库: DataBase按照一定数据结构来组织、存储和管理数据的仓库。存储在一起的相关的数据一个集合。
-
数据库系统:数据库和数据库管理系统组成。
-
数据库管理系统: (DataBase Management System DBMS) 为管理数据库而设计的一个电脑软件系统
分为两种:
关系数据库:建立在关系模型基础上的数据库 SqlServer HlySQL Oaracle
Access 非关系数据库:不同点:不使用SQL作为查询语言。
数据库:文件的形式
数据库:文件和文件组组成。
-
数据库文件件。. mdf
1)主要数据文件存放数据和数据库的初始化信息。 每个数据库有且只能一个主要数据文
2)次要数据文件 存放除了主要数据文件以外的所有数据的文件。次要数据文件并不是必须的,可以没有。可以是一个也可以是多个.ndf扩展名
3)事务且志文件存放用于恢复数据库的所有日志信息。每个数据库至少要有一个日志文件,也可以有多个。默认.ndf扩展名 -
文件组:是数据库文件的一种逻辑管理单位,它将数据库文件分成不同的文件组,方便对文件的分配和管理
分为两种:
1)主文件组 Primary 主要数据文件和没有明确指派给其他文件组的文件
2)用户自定义的文件组 Create DataBase或alter database 语句;fileGroup关键字指定的文件组
- 设计原则:
- 文件只能是一个文件组的成员
2)文件或文件组不能由一个以上的数据库使用
3)数据和日志信息不能属于同一个文件或文件组
4)日志不能作为文件组的一部分
系统数据库
-
- master数据库 整个数据库的核心;用户不能直接修改该数据库;如果损坏那么整个服务器将不能工作;该数据库中包括所有用户的登录信息、用户所在地、所有的系统配置选项服务器的本地数据库名称和信息等等
-
- model数据库 主要存放数据库的模板
-
- msdb数据库 主要提供运行SQL Sever工作信息de;该服务用来运行用户制定的计划
-
- tempdb数据库 该数据库是临时数据库;用来存放临时的对象;应用关闭后该数据库讲会被清空
创建数据库的方法
- 使用对象资源管理器创建数据库
- 使用Transact-SQL创建数据库
数据库常用对象
表
包含数据库中所有数据的对象,行和列组成,用于组织和存储数据。
字段(表中的列)
一个表可以有多个列
属性:数据类型(决定了该字段存储哪种类型的字段)、大小(长度)、缺省值
字段(列)的数据类型【重点】
- 数值型:
1)整型:
tinyint 微整型 1字节 0~255
smallint 短整型 2字节 -32768~32767
int 整型 4字节 -2147483648~2147483647
bigint 长整型 8字节 -9223372036854775808~9223372036854775807
2)浮点型:
float
近似数值 存在精度损失
1~24 精度7 4字节
25~53 精度15 8字节
近似数值很难确定是否相等, 因此, 应避免对float类型做相等比较, 而只限于比较>或<。
decimal
表示精确数值,不存在精度损失,数据类型decimal(p,s)需要分别指定小数的最大位数和小数位的数量(s)。
p(precision):指定小数的最大位数,小数点的左侧和右侧的数字的总数量不能超过p , p的取值范围是从1到38,默认值为18;
s(cale):指定在小数点右侧的小数位数, p-s是小数点左边的最大位数。s必须是从0到p的值,只有在指定了精度的情况下才能指定s , s的默认值是0,因此,0<=S<=p
-
字符型:
-
日期型:
-
其他类型:
视图
表(虚拟表) 一张或多张表中导出的表 用户查看数据的一种方式,结构和数据是建立在对表的查询基础之上的。
索引
为了给用户提供一种快速访问数据的途径,索引是依赖于表而建立,检索数据时,不用对整个表进行扫描,可以快速找到所需要的数据
存储过程
是一组为了完成特定功能的SQL语狗的集合(可以有查询、插入、修改、删除),编译后,存储在数据库中,以名称进行调用,当调用执行时,这些操作就会被执行
触发器
在数据库中,属于用户定义的SQL事务命令集合,针对于表来说,当对表执行增删改操作时命令就会自动触发而去执行
约束
对数据表的列,进行的一种限制。可以更好的规范表中的列
约束(constraint) 是实现数据完整性的主要方法,主要有以下几种。
- 实体完整性
- IDENTITY
- PRIMARY KEY
- UNIQUE
- 域完整性
- CHECK
- NOT NULL
- DEFAULT
- 参照完整性 FOREIGN KEY外键约束, 匹配另一张表中的主键
缺省值
对表中的列可以指定一个默认值。当进行插入时,如果没有为这个列插入值,那么就会自动以预先设置默认值进行自动补充。
SQL 的主键和外键的作用:
外键取值规则:空值或参照的主键值
- 插入非空值时,如果主键值中没有这个值,则不能插入。
- 更新时,不能改为主键表中没有的值。
- 删除主键表记录时,可以在建外键时选定外键记录一起联删除还是拒绝删除。
- 更新主键记录时,同样有级联更新和拒绝执行的选择。