资源描述
北京联合大学内部讲义
《数据库应用技术》
实验指导书
北京联合大学自动化学院
信息自动化教研部
2023年9月
实验一 创建数据库
一、目的
1.注册SQL Server服务器。
2.了解MS SQL Server环境及包含组件。
3.掌握创建数据库的T-SQL命令。
二、内容
1.进入Windows 2023,点击“开始”→“程序” → Microsoft SQL Server 2023 →服务管理器,打开SQL Server 服务管理器。
2.通过点击、、按钮分别启动、暂停、停止SQL Server服务,观测Windows 状态栏中有关SQL Server服务图标状态,见图1-1。
图1-1 SQL Server服务图标
3.点击“开始”→“程序” → Microsoft SQL Server 2023 →公司管理器,打开SQL Server 公司管理器,观测窗口中菜单栏的重要项目、功能。
4.在公司管理器中查看SQL Server 2023有哪些组件。
5.点击数据库对象前“+”号,查看“数据库”的构成,见图1-2。
展开+号
图1-2 公司管理器
6.点击“开始”→“程序” → Microsoft SQL Server 2023 →联机丛书,进入帮助系统,熟悉帮助系统的使用。
7.打开“我的电脑”或“资源管理器”在磁盘空间以自己的姓名或学号建立文献夹。
8.点击“开始”→“程序” → Microsoft SQL Server 2023 →查询分析器,在图1-3所示的连接到SQL Server窗口中,选择“windows 身份验证”单选项,并点击“拟定”按钮,打开SQL Server 查询分析器。
图1-3 连接到SQL Server窗口
9.在图1-4所示查询分析器的右半部分空白窗口中输入Create Database 命令,建立数据库,数据库文献存储在环节7建立的文献夹下,数据库名自由定义,主数据库文献大小2MB,以10%的速度增长,日记文献大小1MB,以1MB速度增长。命令输入完毕后,点击工具栏中执行按钮运营命令,记录执行结果。
执行按钮
图1-4 SQL 查询分析器
三、学时
2学时
四、思考题
1.安装MS SQL Server的软硬件规定是什么?
2.简述数据库的组成。
实验二 表的操作
一、目的
1.创建及修改表。
2.掌握约束建立方法。
二、内容
用查询分析器在已建立的数据库中建立如下数据表。
1. 使用create table语句建立student表(不涉及约束)。
student表
属性名
数据类型
可否为空
含义
Sno
Char(7)
否
学号(主键)
Sname
Varchar(20)
否
学生姓名
Ssex
Char(2)
否
性别(男或女,默认为男)
Sage
Smallint
可
年龄
Clno
Char(5)
否
学生所在班级(外键)
2.使用create table语句建立course表、class表和grade表(涉及约束)。
course表
属性名
数据类型
可否为空
含义
Cno
Char(1)
否
课程号(主键)
Cname
Varchar(20)
否
课程名称
Credit
Smallint
可
学分
class表
属性名
数据类型
可否为空
含义
Clno
Char(5)
否
班级号(主键)
Speciality
Varchar(20)
否
班级所在专业
Inyear
Char(4)
否
入校年份
Number
Integer
可
班级人数(大于等于1,小于等于240)
Monitor
Char(7)
可
班长学号
grade表
属性名
数据类型
可否为空
含义
Sno
Char(7)
否
学号(外键)
Cno
Char(1)
否
课程号(外键)
Gmark
Decimal(4,1)
可
成绩(大于等于0,小于等于100)
3.为grade表建立主键约束。
4.使用Alter table语句增长student表的约束。
5.给student表增长一个属性Nation(民族),数据类型Varchar(20)。
6.删除student表中属性Nation。
三、学时
2学时
四、思考题
建立student表、course表、class表和grade表中的约束时有顺序规定吗?
实验三 数据的检索
一、目的
1.掌握SELECT – FROM – WHERE 语句结构及使用。
2.掌握各种查询。
3.学习连接查询的方法。
二、内容
1. 打开Pubs数据库。
2. 在authors表中检索居住在"OaklAND"城市的作者姓名,并显示他们所在的城市名。
3. 在authors表中找出住在"CA"州的姓"White"的作者名,并显示他们的州名。
4. 在authors表中找出编号第五六位是"80"的作者的姓名,并显示他们的作者编号。
5. 在titles表中检索出书价大于15元的书名及其价格。
6. 在titles表中显示包含"computer"字样的书名。
7. 在titles表中找出1994年后出版的书,并显示其价格、出版日期和书名。
8. 在titles表中显示价格大于20元的书名及其价格,其中价格以降序方式显示,书名以升序方式显示。
9. 求出minit不等于A,job_id的数值不大于8的职工所在pub_id和minit。
10. 查找出出版社所在city不是以y结尾的城市名。
11. 查出作者所在城市为"oakland"的 zip 号,并按降序排列。
12. 写出 job_lvl 在100与200之间的人名。
13. 记录authors表中的作者总数,并以"authors表的记录总数"为标题显示出来。
14. 在titles表中求1991年后出版的书的平均价格,以"平均数"为标题显示出来。
15. 查找出最低工资min_lvl不大于25的雇员的fname。
16. 显示出居住在"CA"州的作者1994年后出版书的日期及作者编号和所在州名。
17. 显示出城市为Boston的出版社出版的所有图书名称及出版社所在的城市名。
18. 显示出居住在"CA"州的作者1994年后出版书的日期及作者编号、所在州名和订单订书数量sales.qty,按sales.qty的降序排序。
19. 显示出job_lvl大于100而小于250的人lname和job_desc(含等于)。
20. 显示出图书类型(type)为business的图书的price和royaltyper 。
21. 显示出stor_name和ord_date并按ZIP降序排列。
22. 查找出emp_id是以M打头的雇员job_lvl、pub_name和job_desc,并且以job_lvl排序输出。
23. 求出每个州ord_num以A开头以6结尾的zip最小值。
24. 查出订书的书店名称及订书日期,stores.stor_name显示为“名称”,sales.ord_date显示为“日期”。
25. 查找出pub_id不等于1389的出版社出版的图书的作者的信息,并且以au_id排序。
26. 查找出与contract不是0的作者所在州相同的stor_id。
27. 找出minit为A, min_lvl为75的人名。
28. 请将表roysched中所有title_id相同的hirange相加,求和,显示为"id和"。
29. 写出不在美国(USA)的出版社出版的图书名及国家名。
30. 查找出出版社pub_id=1389的所在州的作者的au_lname及州名。
三、学时
4学时
实验四 数据更新
一、目的
1.掌握Insert命令。
2.掌握Update命令。
3.掌握Delete命令。
二、内容
1.用查询分析器向表中插入如下数据(写出相应语句)。
student表
course表
class表
grade表
2.修改学号为’2023110’的学生的成绩为70分。
3.删除学号为’2023110’的学生的成绩记录。
三、学时
1学时
四、思考题
向student表、course表、class表和grade表中输入数据时有顺序规定吗?
实验五 使用视图
一、目的
1.理解视图的作用
2.掌握创建视图的SQL命令。
二、内容
用查询分析器建立如下视图。
1.建立班级为00311的学生信息视图。
2.建立一个学生姓名和课号的一个视图。
3.建立01312班选修了1号课程的学生视图Stu_01312_1。
4.建立01312班选修了1号课程并且成绩不及格的学生视图Stu_01312_2。
5.建立视图Stu_year,由学生学号、姓名、年龄组成。
三、学时
1学时
实验六 使用规则和默认
一、目的
1.理解规则和默认的作用
2.掌握创建、使用规则和默认的SQL命令。
二、内容
用查询分析器完毕下列操作。
1.创建数据库。
2.使用create table语句建立student表。
student表
属性名
数据类型
可否为空
含义
Sno
Char(7)
否
学号
Sname
Varchar(20)
否
学生姓名
Ssex
Char(2)
可
性别
Sage
Smallint
可
年龄
Clno
Char(5)
否
学生所在班级
3.创建默认对象df_sex为男。
4.将默认对象df_sex绑定到student表的Ssex列。
5.查看student表上约束信息。
6.分别输入以下两条命令,观测student表的Ssex列数据。
Insert into student (Sno,Sname,Sage,Clno) values(‘0306312’,’张三’,19,’03063’)
Insert into student values(‘0306315’,’李四’,’女’,20,’03063’)
7.将默认对象df_sex从student表的Ssex列撤消。
8.输入以下命令,观测student表的Ssex列数据。
Insert into student (Sno,Sname,Sage,Clno) values(‘0306318’,’王五’,20,’03063’)
9.创建规则对象r_clno,使其第一、二、四、五位数据满足[0-9],第三位数据满足[0-2]。
10.将规则对象r_clno绑定到student表的Clno列。
11.查看student表上约束信息。
12.设计输入数据,测试对Clno列数据的约束规则。
三、学时
2学时
展开阅读全文