数据库实习总结1-2

数据库实习1-2
一.在阿里云安装sql server2012
由于在本机安装了Windows server虚拟机,在Windows server上安装了sql server 2012使得系统比较卡,为了之后在sql server2012上操作方便,后来又尝试在阿里云安装sql server,第二次安装时就比较熟练了,下图是整理的安装过程(阿里云公网IP为39.96.45.33)
1.远程登录到阿里云虚拟机
在这里插入图片描述
2.在阿里云Windows server上复制粘贴镜像文件,粘贴过后,双击开始安装
以下是步骤:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下图选择数据库引擎服务和管理工具
在这里插入图片描述在这里插入图片描述
下图是默认实例名
在这里插入图片描述
下图将sql server agent 的startup type选为automatic
在这里插入图片描述
选择混合认证登录,并设置sa的密码
在这里插入图片描述
手动选择一些安装路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下图为安装成功
在这里插入图片描述
下图为打开sql server管理工具
在这里插入图片描述
在这里插入图片描述
二.创建用户登录(39.96.45.33为阿里云公网IP),并建库,建表
1.如下图:点击security-logins-new login
在这里插入图片描述
2.打开后,选择sql server authentication(sql server身份认证)
不选择强制实施密码策略
在这里插入图片描述
选择默认数据库,默认语言
在这里插入图片描述
以下为赋予权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.然后用新创建的登录名登录,如下图:
在这里插入图片描述
4.用创建的sql_test1来新建数据库
Databases-new Database,创建名为test1的数据库
在这里插入图片描述
在这里插入图片描述
5.可以看到多了刚创建的test1数据库,接着在数据库新建表
Databases-test1-Tables-New Table
在这里插入图片描述
新建表名为Table_test1,如下:
在这里插入图片描述
刷新一下,可以看到有新创建的表
在这里插入图片描述
三.对数据库进行全备份,差异备份和日志备份(其中涉及到的recovery和norecovery较难理解,一开始使用了工具操作,后来听了讲解后,试用脚本操作,以下为操作过程)
1.首先在数据库中插入了数据,接着做了全备份
对test1数据库完整备份
Test1-点右键选tasks-Back up,如下图所示
在这里插入图片描述
对数据库做全备份
在这里插入图片描述
全备份存放名为demo1.bak
对应的脚本如下:
在这里插入图片描述
运行完截图如下:
在这里插入图片描述
在这里插入图片描述
下图是还原
在这里插入图片描述
找到备份文件,如下图
在这里插入图片描述
在这里插入图片描述
因为test1数据库存在,所以选择覆盖(之后选择了recovery,按照我的理解来说我以为这样之后不可以再进行差异备份和日志备份的还原,之后成功了,我一开始觉得不会成功,但是后来发现由于用了工具,所以recovery和norecovery在脚本中自动修改了)
在这里插入图片描述
在这里插入图片描述
备份后打开数据如下图左;再插入数据,插入后如图右
在这里插入图片描述在这里插入图片描述
2.差异备份
之后进行差异备份比较,当数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候,数据库的差异备份自然就成为考虑的备份方案之一。差异备份是以上一个全备为基点,这个期间所有差异数据的备份。
差异备份与还原须知:差异备份是上次完整备份之后发生改变的副本。所以还原是需要上次的完整备份和最近一次差异备份。差异备份有两步操作,第一步为还原数据库,第二步还原差异部分。
在这里插入图片描述

  1. 还原数据库
    同上边还原完整备份方法,由于插入数据在完整备份之后,所以还原后没有插入进来的数据,查询时如下图:
    在这里插入图片描述
    之后进行差异备份,然后进行还原
  2. 差异备份
    在这里插入图片描述
    将文件存储到demo_test.bak
    在这里插入图片描述
    之后进行还原,如下图所示(试图还原到插入了两行数据之后)
    在这里插入图片描述
    在这里插入图片描述
    脚本如下:
    在这里插入图片描述
    运行脚本如下在这里插入图片描述
  3. 日志备份
    日志备份是基于前一个全备+日志备份为基点,这个期间的事务日志的备份。(日志备份用于确保还原数据库到某个时间点)

删除掉test1之后,进行差异还原,还原到插入数据之后,查询如左边,之后再进行插入数据如右图,接着做日志备份
在这里插入图片描述在这里插入图片描述
日志文件存放为demo_log.bak
在这里插入图片描述
对应的脚本文件如下:
在这里插入图片描述
之后进行还原
在这里插入图片描述
选择覆盖已有的数据库,关掉连接,recovery state为(recovery)
在这里插入图片描述
对应的脚本如下:
在这里插入图片描述
运行脚本之后的数据如下:
在这里插入图片描述
四.数据库的状态查询(online,offline)
1.下图为设置为offline状态

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

可以看到上图中test1为offline状态
2.设置为online状态

在这里插入图片描述
在这里插入图片描述
五.设置数据库读写
数据库(test1)——properties—options

在这里插入图片描述

本文档为数据库上机实验报告,是自己认认真真一步一步写的,报告包含试验中的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验一 实验题目: 数据库管理系统的使用 实验目的: 掌握SQL SERVER2005的使用和数据库设计的一般方法。 实验内容: (1)SQL SERVER2005的使用 (2)数据库的设计过程并利用SQL SERVER2005建立数据库。 实验二 实验题目: 数据库的定义 实验目的:掌握数据表建立、修改、删除、索引的SQL语句。 实验内容: (1)数据表的建立 (2)数据表的修改 (3)数据表的删除 (4)数据表的索引建立 为S表的DEPT建立唯一索引 (5)视图的建立与删除 建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE) 查询1983年以后出生的计算机系学生基本信息。 建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。 查询计算机系学生选课多于3门的学生学号。 查询计算机系学生2号课不及格的学生学号和成绩。 实验三 实验题目: 数据表的操作 实验目的: 掌握数据表数据操作的SQL语句。 实验内容: SQL语句插入数据操作 SQL语句修改数据操作 SQL语句删除数据操作 SQL语句查询数据操作 维护数据SQL语句: (1)在学生表中插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’) (2)删除数据库中学号为’200213801’的退学学生有关信息。 (3)将计算机系学生2号课成绩全部提高5%。 查询数据SQL语句: (4)统计有学生选修的课程门数。 (5)统计HU老师所授每门课程的学生平均成绩。 (6)统计所有选修人数多于20的课程号和选课人数,并按人数降序排列,若人数相等,则按课程号升序排列。 (7)检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。 (8)检索‘OS’课成绩高于该课平均成绩的同学学号。 (1) 检索计算机系女生的学号和姓名。 (2) 检索全体学生姓名、出生年份和所在系。 (3) 检索未选修任何课程的学生学号。 (4) 检索WANG老师所授课程号、课程名。 (5) 检索所有姓LI同学的基本信息。 (6) 检索选修‘DATABASE’课程的学生学号。 (7) 检索年龄介于LIPING同学年龄和28岁之间的学生基本信息。 (8) 检索选修TIAN老师所授全部课程的学生学号。 实验四 实验题目: T-SQL编程 实验目的: 掌握T-SQL语句的使用。 实验内容: 1.定义一个表变量,用来存储两名学生的学号,姓名,所在系。 2.编写一个自定义的函数,该函数接受一个学生姓名,返回其学生表中基本信息及选课情况。 3.试用CASE语句输出学生表中各年龄段的学生人数。 4.编写存储过程,以系别作为参数,统计指定系别的人数,并作为存储过程的输出。 实验题目: 数据库的完整性 实验目的: 掌握数据库的完整性约束定义,完整性检查及违约处理方式。 掌握触发器的定义及使用。 实验内容: 1. 定义S, C表的完整性约束 2. 定义SC表的完整性约束,要求当其被参照表发生删除操作时,违约处理的方式为级联,当其被参照表发生修改操作时,违约处理的方式为拒绝。 3. 触发器 ☆ 建立一DML触发器,每当学生的成绩发生更新时,将更新的学号,成绩存入g-log表内 ☆ 建立一个INSTEAD OF触发器,每当修改课程表中记录时,利用触发器动作替代修改操作。 ☆ 建立一个DDL 触发器,不允许删除数据库中表,并作出响应。 实验六 实验题目: 数据库的安全性 实验目的: 掌握SQL SERVER 2005的安全控制机制 实验内容: 1. 创建登录 创建lg1,lg2,并设定口令 2. 定义用户 定义user1,user2,user1以lg1登录,user2以lg2登录,user1定义角色ddl_admin,datareader,datawriter 3. 掌握SQL SERVER 2005架构和用户分离的概念 为user1创建架构u1,并建立test表,通过授权模式的方法,授权给user2表访问test的权限 4. 数据库的授权、收权语句 ☆ 将查询SC表和修改GRADE属性的权限授予用户user1。 ☆ 将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。 ☆ 收回所有用户对表S的插入权限。 实验七 实验题目: 数据库的设计 实验目的: 掌握数据库的概念结构设计和逻辑结构与设计,掌握ER图的表示方法即如何将ER模型转化为关系模型 1.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其中有教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课有若干学生选修。 2.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料组成,不同零件所用的材料可以相同。有些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值