数据库原理与应用实验报告Word文件下载.docx
《数据库原理与应用实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用实验报告Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
实验数据记录及分析(或程序及运行结果)
思考:
1.为什么只有当SQLServer服务启动了之后才能使用SQLServerManagementStudio来使用和管理SQLServer数据库?
2.启动SQLServer服务的方法有哪几种?
怎样实现该服务的自动启动?
评语:
日期:
年月日
实验二:
数据库操作
1.了解数据库的结构;
2.学会使用图形化方法创建、修改、删除数据库;
3.熟练使用T-SQL命令创建、修改、删除数据库。
1.启动SQLServer服务;
2.启动SQLServerManagementStudio,利用图形化方法创建数据库student(如下表所示);
3.利用图形化方法修改数据库student,增加一个数据文件到新建的文件组studata中,其中:
逻辑文件名为student_data1,物理文件名为D:
\DATA\student_data1.ndf,初始大小为50MB,以30%的速度增长,最大文件大小为500MB;
4.利用图形化方法删除数据库student;
5.利用T-SQL命令重复上述工作。
选项
参数
数据库名称
student
数
据
文
件
逻辑文件名
student_data
物理文件名
C:
\DATA\student_data.mdf
文件组
PRIMARY
初始大小
3MB
最大文件大小
不受限制
增量
1MB
日
志
student_log
\LOG\student_log.ldf
200MB
10%
1.你的老板要求你创建一个数据量为20G的数据库,但是你现在的硬盘上没有一个这么大空闲容量的分区,只有3个空闲容量约为8G的分区,请问,你该如何完成这个任务?
2.你想创建一个初始大小为5MB的数据库,但是你却发现你创建的数据库其初始大小是10MB,且不能小于这个值,请问是什么原因?
实验三:
数据表操作
1.了解表的结构和SQLServer的基本数据类型;
2.学会使用图形化方法创建、修改、删除数据表;
3.熟练使用T-SQL命令创建、修改、删除数据表;
4.学会创建各种约束。
2.启动SQLServerManagementStudio,利用图形化方法在数据库student中创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表所示;
3.利用图形化方法对数据表进行如下修改:
●在表stu_info中,增加备注字段,字段名memo,字段类型nvarchar,字段长度200;
●在表course_info中,对于字段course_name设置UNIQUE约束;
●在表stu_grade中,对于字段grade设置CHECK约束,其取值在0到100之间;
●在表stu_grade中,对于字段stu_id设置FOREIGNKEY约束,其取值参照表stu_info中stu_id字段的取值;
4.利用图形化方法向以上表中输入一些数据,体会约束的作用;
5.利用图形化方法删除表stu_info、course_info、stu_grade;
6.利用CREATETABLE命令在数据库student中创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表所示;
7.利用ALTERTABLE命令对表进行如下修改:
●在表stu_info中,增加身份证号码字段,字段名code,字段类型char,字段长度18,不允许为空;
●在表stu_info中,对于字段code设置UNIQUE约束;
●在表stu_info中,删除身份证号码字段code;
●在表stu_info中,对于字段sex设置CHECK约束,其取值仅为“男”或“女”;
●在表course_info中,增加先行课字段,字段名pre_course_id,其取值参照该表中course_id字段的取值;
8.利用图形化的方法向以上表中输入一些数据,体会约束的作用;
9.利用DROPTABLE命令删除表stu_info、course_info、stu_grade。
学生信息表(stu_info)
列名
数据类型
大小
小数位
是否为空
默认值
约束
含义
stu_id
char
10
否
主键
学号
name
nvarchar
20
姓名
birthday
date
生日
sex
nchar
1
男
性别
address
籍贯
mark
smallint
入学成绩
major
专业
sdept
院系
课程信息表(stu_info)
course_id
3
课程号
course_name
课程名
course_type
2
考试
课程类型
course_mark
tinyint
课程学分
学生成绩表(stu_grade)
主键、外键
grade
decimal
5
成绩
1.创建和删除表stu_info、course_info和stu_grade在顺序上分别有什么要求?
2.删除字段对字段有什么要求?
日期:
实验四:
数据的插入、修改和删除
1.学会使用图形化方法对表中数据进行插入、修改和删除;
2.
1.熟练使用T-SQL命令对表中数据进行插入、修改和删除;
3.了解数据在插入、修改和删除时要注意数据的完整性。
2.启动SQLServerManagementStudio,利用图形化方法向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表。
3.利用图形化方法对表数据进行如下修改:
●在表stu_info中,将学号(stu_id)为“2007070101”同学的籍贯(address)改为“河南洛阳”;
●在表stu_grade中,将成绩(grade)小于60分的所有同学成绩增加10%;
4.利用图形化方法删除数据表stu_grade中成绩(grade)小于60分的选课记录;
5.利用INSERTINTO命令向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表;
6.利用UPDATE命令修改表数据:
●在表stu_info中,将学号(stu_id)为“2007070102”同学的院系(sdept)改为“会计学院”;
●在数据表stu_grade中,将信息学院成绩(grade)小于60分的所有同学成绩置空;
7.利用DELETE命令删除表数据:
●在表stu_info中,删除所有籍贯(address)为“河南洛阳”的同学信息;
●在表stu_grade中,删除“张元选修操作系统”这一选课信息;
8.假设有表“借阅(借书证号,书名,借阅日期,是否到期)”,修改表中各记录在字段“是否到期”上的值,用借阅日期与当前日期比较,当差值大于规定期限(如60天)时,将字段“是否到期”的值由“否”(默认值)改为“是”。
STU_ID
NAME
BIRTHDAY
SEX
ADDRESS
MARK
MAJOR
SDEPT
2007070101
张元
1985-10-09
河南郑州
580
计算机科学与技术
信息学院
2007070102
张红
1985-01-14
NULL
河南开封
565
2007070103
王明
1986-07-08
河南洛阳
570
2007070104
李伟
1986-03-11
564
2007070201
郑澜
1985-12-01
河南平顶山
567
电子商务
2007070202
赵恒
1986-02-03
河南周口
566
2007070203
张兰
1986-04-06
女
河南许昌
571
2007080101
1985-09-12
578
会计学
会计学院
2007080102
钱丽
1985-11-23
河南安阳
573
2007080201
孙楠
1986-11-19
河南南阳
577
财务管理
COURSE_ID
COURSE_NAME
COURSE_TYPE
COURSE_MARK
COURSE_TIME
PRE_COURSE_ID
701
计算机基础
50
NULL
702
操作系统
4
703
计算机网络
704
数据库原理
考查
706
Java
40
801
宏观经济学
802
初级会计
803
财政学