数据库认证实验答案
更新时间:2024-06-06 21:37:02 阅读量: 综合文库 文档下载
实验二 数据库设计方法
为一个综合性运动会建立数据库,涉及的实体如下: 实验要求1:设计概念模型的E-R图。
运动会数据系统E-R图编号名称团长姓名运动员编号姓名性别年龄代表团1:n运动员参赛成绩竞赛项目项目编号编号名称比赛地点比赛时间
实验要求2:推出关系数据库。 关系模式:
代表团(代表团编号,代表团名称,团长姓名)
运动员(运动员编号,姓名,性别,年龄,代表团编号) 参赛项目(项目编号,项目名称,比赛时间,比赛地点) 参赛(运动员编号,项目编号,参赛成绩)
实验思考
1、简述E-R图的构成三要素。
实体、属性、联系
2、简述关系的性质。
关系中不允许出现相同的元组
关系中元组的顺序(即行序)可任意 关系中属性的顺序可任意
同一属性名下的各个属性值必须来自同一个域,必须是同一类型的数据 关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。
关系中每一个分量必须是不可分的数据项,或者说所有的属性值都是原子的,即是一个确定的值,而不是值的集合
3、实体之间的联系有哪几种,并简述之。
一对一、一对多、多对多
4、试举出三个实例,要求实体型之间分别有一对一、一对多、多对多的联系。
一对一:班级与班长之间的联系:
一个班级只有一个正班长
一个班长只在一个班中任职
一对多:班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习
多对多:课程与学生之间的联系:
一门课程同时有若干个学生选修
个学生可以同时选修多门课程
实验四 表的管理
实验内容:
1、 使用企业管理器按下表结构创建表
create database Course_Class_Student use Course_Class_Student; create table Course (
CourseID int primary key,
CourseName varchar(20) not null, Category char(8), Period smallint , Credit tinyint )
use Course_Class_Student; create table ClassInfo (
ClassID int not null,
ClassName varchar(20) not null, )
2、使用T-SQL语句按下表结构创建表
use Course_Class_Student create table student (
StudentNum char(9) primary key not null, StudentName varchar(8) not null, Sex bit,
Birthday smalldatetime , ClassID int )
4、使用T-SQL语句修改表的结构
alter table student add Nation varchar(20) alter table student add Stature int
5、使用企业管理器实现对数据的操作
insert into Course values (1,'哲学','公共',36,2) insert into Course values (2,'实用英语(1)','公共',72,3) insert into Course values (3,'实用英语(2)','公共',72,3) insert into Course values (4,'计算机应用基础','公共',102,5)
insert into Course values (5,'C语言程序设计','专业基础',102,5) insert into Course values (6,'关系数据库技术基础','专业基础',102,5)
6、使用T-SQL语句实现对数据的操作
(1)使用INSERT语句向Course表中添加记录:(计算机网络,专业基础,72,4)
insert into Course values (7,'计算机网络','专业基础',72,4)
(2)使用UPDATE语句将Course表中的“计算机应用基础”课的学时数改为106。
update Course set Period=106 where CourseName = '计算机应用基础'
(3)使用DELETE语句将Course表中的公共课全部删除。
delete from Course where Category = '公共'
7、使用T-SQL语句按下表结构创建表(在创建表时定义约束)
create table Grade(
StudentNum char(9) NOT NULL , CourseID int NOT NULL ,
DailyGrade decimal(5,1) CHECK (DailyGrade BETWEEN 0 AND 20), PracticeGrade decimal(5,1) CHECK (PracticeGrade BETWEEN 0 AND 30), TestGrade decimal(5,1) CHECK (TestGrade BETWEEN 0 AND 50) )
8、使用T-SQL语句修改表的结构
(1)为班级表ClassInfo添加入学时间EnrollDate字段,并定义入学时间不小于2001年9月1日。
ALTER TABLE ClassInfo add EnrollDate DATETIME CHECK (EnrollDate >= 2001-09-01)
(2)为班级表ClassInfo定义主键约束,定义班级号ClassID为主键。
Alter table ClassInfo add primary key(ClassID)
9、使用企业管理器定义约束
(1)为学生表Student定义外键约束,使ClassID参照班级表ClassInfo中的ClassID,并为约束设置级联更新。
(2)为班级表ClassInfo的ClassName定义唯一约束。
10、 默认值对象的创建与使用
(1)使用T-SQL语句创建名为DF_GRADE的默认值对象,值为0。
create default DF_GRADE AS 0
(2)使用企业管理器将DF_GRADE绑定到成绩表Grade中的DailyGrade、PracticeGrade和TestGrade字段上。
exec sp_bindefault 'DF_GRADE','grade.DailyGrade' exec sp_bindefault 'DF_GRADE','grade.PracticeGrade' exec sp_bindefault 'DF_GRADE','grade.TestGrade'
(3)使用sp_unbindefault存储过程将DF_GRADE从DailyGrade、PracticeGrade和TestGrade字段上解除。
exec sp_unbindefault 'grade.DailyGrade' exec sp_unbindefault 'grade.PracticeGrade'
exec sp_unbindefault 'grade.TestGrade'
(4)删除DF_GRADE默认值对象。
DROP DEFAULT df_grade
实验思考:
1、删除表的命令是什么?要将实验中的Student表删除,命令应怎样写?
drop table tableName drop table Student
2、要将Course表中的学分字段删除,相应的SQL语句怎么写?
alter table Course drop column Credit
3、若要删除第9题(1)中所建立的外键约束,使用企业管理器应怎么做?使用T-SQL语句应怎么做?
数据库关系图->新建数据库关系图->将相关的列属性进行连接 T-SQL语句:
alter table student add constraint FK_student_classId foreign key(classId) references ClassInfo(classId)
4、默认值约束和默认值对象是一回事吗? 不是一回事,
实验七 索引
实验内容:
1、 使用企业管理器为学生表stud_info创建一个以stud_id为索引关键字的惟一聚簇索引。
USE student
GO
CREATE INDEX old_index ON stud_info(stud_id)
2、
引名称修改为new_index。
exec sp_rename 'old_index','new_index';
将上一步所建立的索
3、 将前述所建立的new_index索引删除。
drop index student.new_index
4、 使用T-SQL语句为教师表teacher_info创建一个名为Teacher_Index的惟一非聚簇索引,索引关键字为教师编号teacher_id,降序,填充因子为80%。
CREATE UNIQUE NONCLUSTERED INDEX Teacher_Index ON teacher_info(teacher_id) ASC WITH
PAD_INDEX, FILLFACTOR=80,
5、使用T-SQL语句将教师表中的Teacher_Index删除。
drop index teacher.Teacher_Index
6、为stud_info表创建一个基于“入学成绩mark,学号stud_id”组合列的非聚集、复合索引cj_xh_index。
USE student
GO
CREATE INDEX cj_xh_ihdex ON stud_info(mark,stud_id)
7、为lesson_info创建一个基于“课程号course_id,课程类型course_type”组合列的惟一、聚集、复合索引kc_lx_index。
USE student GO
CREATE UNIQUE CLUSTERED INDEX kc_lx_index ON lesson_info(course_id,course_type) WITH
PAD_INDEX, FILLFACTOR=80,
实验九 存储过程
实验内容:
1、 创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。
2、创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程。
3、创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程。
4、修改存储过程“proc_4”,用于查询不小于指定成绩的学生的基本信息,具体 成绩由调用时决定。
5、创建一个名为“proc_5”的存储过程,用于求一个3位整数的反序数。例如123的反序数为321。
create proc proc_4 @a int as
declare @b int,@c int,@t int,@s int begin
set @t=@a % 10
select @b=@a/10,@b=@b % 10 set @c=@a/100
set @s=@t*100+@b*10+@c select @s end go
exec proc_4 123
正在阅读:
数据库认证实验答案06-06
2016年中国医科大学《计算机应用基础(本科)》在线作业课件03-08
城投公司融资工作汇报02-22
初中寒假日记500字作文600字02-04
日本“肯定列表制度”知识问答08-16
女娲造人教学案02-13
社会学选择题05-11
8.SF300恒电位仪说明书06-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 答案
- 实验
- 认证
- 数据库
- AEO海关一般认证文件006 责任追究制度
- 毛概第7章练习题
- 通信接口协议综述
- 医 疗 广 告 审 查 证 明 - 31269
- 18年高考语文二轮复习专题07古代诗词鉴赏与名言名篇教学案(含解
- 淮南矿业集团张集煤矿2011年安全1号文
- 福建省地方税务系统发票真伪鉴定管理办法
- 《深圳市建筑工程竣工验收技术资料统一用表》目录
- 丙烷脱氢制丙烯工艺技术
- 政府保安服务投标书范本
- 小涧镇文明创建汇报
- 2018年运城市小升初数学模拟试题(共8套)详细答案
- VFP程序设计题目和答案
- 八年级(上)物理经典易错题集锦71例(带答案)Word版可打印
- 全国2014年中考英语题型分类汇编 短文填空(填词型)
- 5技术改造项目贷款产品风险方案
- 地下车库细则
- 土地利用规划作业1参考答案
- 交响情人梦相关乐曲
- 资本性支出项目管理标准