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

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

一、实验目的

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才成功。

  • 实验心得

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库随课实验数据库原理及应用》 实验类别: 课内实验 实验课程名称: 数据库原理及应用 实验室名称:软件工程实验实验课程编号: 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))
2008数据库实验 1.SQL SEVER 2000的系统工具使用交互方式建库、建表 2.T—SQL的简单查询、连接查询 3.子查询及组合 4.数据控制、数据导入/导出、数据备份和恢复 实验1 SQL SEVER 2000的系统工具使用交互方式建库、建表实验 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000企业管理器和查询分析器创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (3)熟悉企业管理器和查询分析器的界面和操作。 (3)创建数据库和查看数据库属性。 (4)创建表、确定表的主码和约束条件。 (5)查看和修改表的结构。 (6)向数据库输入数据,观察违反列级约束时出现的情况。 (7)修改数据。 (8)删除数据,观察违反表级约束时出现的情况。 实验2 T—SQL的简单查询、连接查询 实验目的和要求:,了解SQL语句的数据定义与数据更新功能,了解SQL语句的查询功能,掌握SQL中的数据定义语句的用法,熟练掌握SQL中的插入、修改和删除语句的操作,熟练掌握使用SQL语句进行数据库的简单查询、连接查询。 实验内容和步骤: (1)在SQL SEVER 2000的查询分析器里,用SQL语句建库、建表并插入记录。 (2)修改表结构,包括修改属性列的数据类型,增加新的属性列,删除已有的属性列。 (3)使用单个元组和多元组插入。 (4)简单查询操作,包括投影、选择、数据排序、模糊匹配查询等。如果结果不正确,要进行修改,直至正确为止。 (5)连接查询操作,包括等值连接、自然连接、一般连接、自身连接、外连接。 实验3 子查询及组合 实验目的和要求:了解SQL语句的查询功能,理解视图的概念。熟练掌握使用SQL语句进行数据库的嵌套查询及组合查询的操作;掌握视图创建语句和视图的使用方法,加深对视图作用的理解。 实验内容和步骤: (1)在DBMS的交互式环境里,用SQL语句建库、建表并插入记录。 (2)使用In、比较符和Exists操作符进行嵌套查询操作。 (3)分组查询,包括分组条件表达、选择组条件表达的方法。 (4)集合查询。 (5)使用视图创建语句建视图,通过视图查询数据 (6)带子查询的修改和删除 (7)通过视图修改和删除数据 实验4 数据控制、数据的导入/导出、数据库备份和恢复 实验目的和要求:掌握数据控制(安全性)的方法,了解SQL SEVER 2000的数据备份和恢复机制,掌握SQL SEVER 2000中数据库备份和恢复的方法。 实验内容和步骤: (1)使用SQL对数据进行安全性控制,包括授权和权利收回。 (2)查看授权和权利收回后的结果 (3)SQL SEVER 2000工具对表中的数据导出到其它格式的文件。 (4)将其它格式的文件数据导入到数据库中。 (5)使用SQL SEVER 2000工具创建一个数据库的备份(海量备份、增量备份)。 (6)使用SQL SEVER 2000工具及所创建数据库备份恢复这个数据库
本文档为数据库上机实验报告,是自己认认真真一步一步写的,报告包含试验中的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验实验题目: 数据库管理系统的使用 实验目的: 掌握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
发出的红包

打赏作者

爱因斯坦乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值