一.数据库
数据库
- 存放数据的地方,长期,有组织,并且可以共享的数据集合
- 具有较小的冗余度,较高数据独立性和易扩展性,可被多个用户共享
数据库组成:
- 表:存放数据库中基本数据
- 视图:对多个表进行组合,进行集中显示
- 存储过程:可编程性→存储过程
- 触发器:避免错误操作
- 用户与角色:不同用户拥有不同权限
- 其他数据库部分:约束、规则等
数据库模型:
- 层次模型
- 网状模型
- 关系模型(最常见的数据模型)
创建数据库
create database student
查看数据库状态
- 使用目录视图
右键数据库——属性
- 使用函数
- 使用系统存储过程
新建查询——sp_helpdb_执行
修改数据库名称
- 第一种方法:使用目录视图
右键数据库——重命名
需要注意的是这样修改只是把数据库名称修改,但其数据库文件的名称并没有随着数据库名称的变化而变化,如果想数据库文件的名称和数据库名称相对应,则右键数据库——属性——文件(修改) - 第二种方法:使用函数
alter database 现在的名字 modify name = 改后的名字
删除数据库
- 第一种方法:使用目录视图
右键数据库——删除 - 第二种方法:使用函数
drop database 所删数据库名称
分离和附加数据库
分离数据库
将数据库从SQL Server 2008 的实例中分离出去,但不会删除数据库的文件盒事务日志文件
在下列状态下无法分离数据库
- 已复制并发布数据库
- 数据库中存在数据库快照
- 数据库处于位置状态
附加数据库
- 将当前数据库以外的数据库附加到当前数据库实例中
- 附加时,所有数据库文件(.MDF & .NDF)都是可用的
收缩数据库
方法:右键数据库——任务——收缩
复制数据库
方法:右键数据库——任务——复制数据库
数据库快照
数据库中的数据在随时用而变化
在某时间点,创建快照,包含静态数据,备份等内容,数据库在不断变化,但快照不会再改变
优点:
- 维护历史数据以生成报表
- 将查询实施在数据库的快照上
- 加快恢复操作效率
快照的限制:
- 不能对数据库进行删除、分离或还原
- 源数据库的性能受到影响,写入操作会使I/O增加
- 补鞥呢从源数据库或任何中删除文件
- 源数据库必须处于在线状态,除非该数据库在数据库镜像会话重视镜像数据库
创建数据库快照
CREATE DATABASE 快照的名称
ON
(NAME = logical snapshot_name
FILENAME = 'OS_FILE_NAME'
)[,…n]
AS SNAPSHOT Of source_database_name
[;]
例如
create database studentinfo_snap
on
{name= 学生成绩管理系统,filename = '路径'}
as snapshot of 学生成绩管理系统
从数据库快照中恢复数据
RESTORE DATABASE <DATABASE_NAME>
FROM
DATABASE_SNAPSHOT = <DATABASE_SNAPSHOT_NAME>
期待后续章节吧