【Sql Server】实验报告一 数据库工具使用以及数据库的创建与管理

SQLServer数据库创建与管理教程
本文介绍了如何使用SQLServer2017进行数据库的连接、创建、结构管理,包括表的定义、修改、删除,以及添加约束、备份还原、存储文件和SQL语句的实验步骤。还讨论了系统数据库的作用和常见操作中的错误处理。

数据库工具使用以及数据库的创建与管理

一、实验目的

1.掌握数据库定义和删除。

2.掌握基本表的定义、修改、删除。

3.掌握添加、删除约束。

二、实验内容

操作系统:Windows 10

数据库管理系统:SQL Server 2017

SQL Server数据库创建

参考的是教材P82页的“实验3-1数据库、数据表的定义”的内容

  • 实验过程
  1. 课堂实操部分
  1. 数据库连接

数据库有客户端和服务器

连接数据库的方式:

1)localhost

2)localhost\sqlexpress

3) .

4)用本机的IP地址 (查询IP:ipconfig)

5)通过网址访问

6)带实例名

身份验证方式:

windows身份验证:只适用于本地连接,是window是系统的操作的账户,主要用于本地数据库管理

SQL Server身份验证:不受限制,是数据库的账户

登录名:

sa:supper administrator 超级用户

2.新建查询,在工作区可输入SQL语句

3.数据库右键单击-属性(该数据库的信息)-文件(行数据文件:mdf  日志文件:ldf)

数据库的物理结构,内模式(文件保存的位置、大小、增长方式等)

4.备份和还原:

备份:

1)停止数据库的服务再拷贝

2)分离数据库再拷贝

3)右键单击数据库-任务-备份

4)右键单击数据库-任务-导出数据(或者右键-编写数据库脚本)

还原:1)附加数据库( 版本不兼容)2)数据库右键-还原数据库

5.创建数据库:

1)用可视化方式

2)用命令的方式 教材P42

6.系统数据库的作用:

master:记录了sql server系统所有的系统信息包括登录信息、系统设置信息等;

Tempbd:临时数据库

model:用作在SQL Server实例上创建的所有数据库的模板

msdb:用于代理程序调度报警和作业等

7.ssms:SQL Server Management Studio

8.三类存储文件:主文件、次文件、日志文件

b.SQL语句实验部分

1.用SQL语句创建数据库 students,(文件初始大小为6MB,增量1MB,最大100MB;日志文件初始化大小3MB,增量10%,最大8MB,存放E盘)。

实验步骤打开 sql sever数据库,工具栏中选新建查询;输入sql语句后(如下),执行。

CREATE DATABASE [students]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = 'students', FILENAME = 'E:\students\students.mdf' , SIZE = 6MB , MAXSIZE = 100MB, FILEGROWTH = 1MB )
 LOG ON 
( NAME = 'students_log', FILENAME = 'E:\students\students_log.ldf' , SIZE = 3MB , MAXSIZE = 80MB , FILEGROWTH = 10% )

2.用SQL语句按书本的表结构创建表Student、Course、Sc:

USE [students]

GO

CREATE TABLE Student(

Sno CHAR(7) primary key,

Sname NCHAR(5) NOT NULL,

Sex NCHAR(1),

Sage TINYINT,

Sdept NVARCHAR(20)

)

CREATE TABLE Course(

Cno CHAR(6) primary key,

Cname NVARCHAR(20) NOT NULL,

Ccreedit TINYINT,

Semester TINYINT

)

CREATE TABLE Sc(

Sno CHAR(7),

Cno CHAR(6) Primary Key (Sno, Cno),

Grade TINYINT

)
  1. 在表Student中新建地址列:
ALTER TABLE Student

ADD Address NVARCHAR(50)  /*新建列Address*/
  1. 把Address列修改类型为NVARCHAR(30),然后删除这一列:
ALTER TABLE Student

ALTER COLUMN Address NVARCHAR(30) /*修改列Address*/

ALTER TABLE Student

DROP COLUMN Address  /*删除列Address*/
  1. 用外码约束:
/* 给sc中的SnoheCno添加外码约束*/

ALTER TABLE Sc

ADD CONSTRAINT FK_Sc_Student

FOREIGN KEY(Sno) REFERENCES Student(Sno)

ALTER TABLE Sc

ADD CONSTRAINT FK_Sc_Course

FOREIGN KEY(Cno) REFERENCES Course(Cno)
  1. 用唯一约束:
ALTER TABLE Student

ADD CONSTRAINT PK_Sname UNIQUE(Sname)/*给Sname添加唯一约束*/
  1. 用CHECK约束:
ALTER TABLE Sc

ADD CONSTRAINT CK_Grade CHECK(Grade>=0 and Grade<=100)/*给Grade设置为0到100*/
  1. 用DEFAULT约束:
ALTER TABLE Student

ADD CONSTRAINT DF_Sagr DEFAULT 19 FOR Sage/*给Sage设置默认值19*/
  1. 删除上个DEFAULT约束:
ALTER TABLE Student DROP CONSTRAINT DF_Sagr /*给Sage删除默认值设置*/
  • 实验结果

1:def256679be1474eb543e0e4f060b6db.png

2:a9425dff1a224d9da34c59168d39c889.png

3:e21efa713232496bbfa6d5ea6a8c7e7d.png

4-9:39627557484d454da4f831d11fa765bd.png

  • 实验出错问题和解决

在第九步删除约束中,我原先使用的语句是:ALTER TABLE Student ALTER COLUMN Sage DROP DEFAULT,报错:3b13d51c3b8549bfa7d0b1b0025bd3ec.png

,然后改成ALTER TABLE Student ALTER COLUMN Sage DROP CONSTRAINT DF_Sagr,依然报附近有语法错误,最后改成ALTER TABLE Student DROP CONSTRAINT DF_Sagr才成功。

  • 实验心得

本文档为数据库上机实验报告,是自己认认真真步写的,报告包含试验中的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验 实验题目: 数据库管理系统的使用 实验目的: 掌握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.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料组成,不同零件所用的材料可以相同。有些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
数据库随课实验数据库原理及应用》 实验类别: 课内实验 实验课程名称: 数据库原理及应用 实验室名称:软件工程实验实验课程编号: 02060007 总学时: 56 学 分: 3.5 适用专业: 计算机科学技术、网络工程、软件工程 先修课程: 离散数学、计算机导论及操作、数据结构 实验在教学培养计划中地位、作用: 数据库原理及应用是门理论实践相结合的课程,上机实验环节是本课程的重要组成部分。实验的目的是为了配合课堂教学,进步强化对数据库原理的理解。实验的任务是要结合数据库原理和 SQL Server 2000数据库系统,熟练掌握和深入理解课堂教学内容,实现从理论到实践的统实验 SQL的数据定义(2学时) 1、实验目的 掌握DBMS的数据定义功能 掌握SQL语言的数据定义语句 2、实验内容 创建、删除表 查看、修改表的定义 理解索引的特点 创建和删除索引 3、实验要求 熟练掌握SQL的数据定义语句CREATE、ALTER、DROP 写出实验报告 4、实验步骤 设有个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 创建、删除表,例如: CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT, Sdept CHAR(15))
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱因斯坦乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值