数据库的基本操作(一)

一.数据库:

在这里插入图片描述
(一)数据库的组成:
表:构成数据库的单元,存放数据库中基本数据
视图:对多个表进行组合,进行集中显示
存储过程:模块,可调用,可编程性→存储过程
触发器:避免错误操作,如误删
用户与角色:权限分配,不同用户拥有不同权限
其他数据库部分:索引、约束、规则等

(二)数据库的基本操作:
1.创建数据库:
(1)使用SQL…studio开发环境来创建

操作步骤:
打开操作环境:SQL server mangement Studio——数据库——新建数据库——常规,选项,文件组3个选择页,根据需要进行设置
(2)CREATE DATEBASE语句:(可以下载联机丛书具体理解和学习语法格式。,每个参数都有详细的说明)
在这里插入图片描述
操作:查询分析器(新建查询):
create database database_name 创建数据库关键字+数据库名称
on-主文件,设置主键
数据文件:名称,路径,大小,最大值,按百分比或者其他增长,所属文件组
log on -日文件
日文件名称,路径,大小,最大值,增长依据

拓展:数据库文件:
(1)主要数据文件:扩展名为 .mdf ,每个数据库有且只能有一个。
(2)次要数据文件:扩展名为 .ndf , 可以没有或有多个。
日志文件:扩展名为 .ldf ,用于存放恢复数据库的所有日志信息。

2.查看数据库:
(1)使用目录视图:右键数据库——属性, 选择页——文件
(2)使用函数:参看具体的属性值
新建查询:SELECT DATABASE database_name
(3)使用系统存储过程:数据库语句,如: 新建查询——sp_helpdb_执行
在这里插入图片描述
3.修改数据库:
(1)使用目录视图
数据库的重命名或者其他修改:右键——属性——文件:可以调节文件大小,随着数据的增多可以调整
选项中的恢复模式经常会修改
(2)修改语句:ALTER DATABASE语句
ALTER DATABASE database_name

4.删除数据库
相对应的数据文件都会被删除,删除要慎重。数据库一般可以存放3万多个文件
(1)右击——删除
(2)使用DROP 命令:DROP database_name

(三)分离和附加数据库
分离数据库:是指将数据库从SQL 2008的实例中分离出去,但是不会删除该数据库的文件和事务日志文件。
这样,数据库可以附加到其他的SQL 2008实例上去。
不是所有状态下都可以分离,以下状态:
1.已复制并发布数据库
2.数据库中存在数据库快照
3.数据库处于未知状态。

操作:右击——任务——分离,分离完之后数据库文件可以备份或者复制粘贴。

附加数据库:将当前数据库以外的数据库附加到当前数据库实例中。
在附加数据库时,所有数据库文件(.mdf和.ndf文件)都必须是可用的。若任何数据文件的路径与创建或者上次附加数据库时路径不同,就必须指定文件的当前路径(即若更改路径,则指定当前路径)。附加时,若无日志文件,则系统将创建一个新的日志文件。

附加:右击属性——附加

四.收缩数据库:
数据库磁盘空间太大,用不上,则收缩,释放磁盘空间
右击——任务——收缩:数据库或者文件(都可以收缩)
如:收缩文件:可以更改空间

五:数据库快照
数据库中的数据一直在变化,备份与还原方式或者数据库快照,对某个时间点的数据库进行查看。
数据库快照:为数据库照相片,静态呈现,提供创建快照时只读、静态视图。数据库在变化,但是快照不变。
1.优点:
(1)维护历史数据,生成报表。提供静态视图,可以通过快照访问特定时间点的数据。
(2)将查询实施在快照上,释放主体数据库上的资源。
(3)加快恢复操作效率,快速使数据库恢复到生成快照时的状态,比备份还原快。但是之后将无法对数据进行前滚操作。每天可以创建6-12个滚动快照,每构建一个新的就会删除旧的。可以恢复发生错误前一刻的快照,或根据快照手动创建删除的表或丢失的数据。

2.数据库快照的限制:
(1)不能对数据库进行删除,分离和还原。
(2)会使源数据库的性能受到影响。因为每次更新页时都会对快照执行“写入时复制”操作,导致源数据库上的I/O增加。
(3)不能从源数据库或者任何快照中删除文件。
(4)源数据库必须处于在线状态,除非它在数据库镜像会话中是镜像数据库。

3.创建数据库快照
语法格式:
CREATE DATABASE database_snapshot_name →快照的名称
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 学生成绩管理系统

4.通过快照恢复数据:语句:
RESTORE DATABASE <DATABASE_NAME> →还原数据库
FROM
DATABASE_SNAPSHOT = <DATABASE_SNAPSHOT_NAME>

执行完进行刷新,此时对数据进行分离会出现错误。已经存在数据库快照,执行分离,删除等操作都会失败。

六.复制数据库
方法:右键数据库——任务——复制数据库

猜你喜欢

转载自blog.csdn.net/Ginny97/article/details/84893579