数据库课程设计报告 完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计
班级物联网1202
学号3120611027 姓名杨璐
指导老师年轶
2014 年1 月
目录
一、引言 (2)
1.目的 (2)
2.题目 (2)
3.要求 (2)
一、引言
1.目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。课程设计的目的:
(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;
(2)在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;
(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;
(4)为毕业设计和以后工作打下必要基础。
2.题目
题目2.设计一个大学教学数据库应用系统。
该系统涉及学生、教师、课程、分组、登记。数据见附表2。
因时间关系,只要求每个学生任选1个题目,如有时间﹑有兴趣,可做另外一题,酌情加分。
3.要求
运用数据库基本理论与应用知识,在微机RDBMS(SQL Server)的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
(1)用E-R图设计选定题目的信息模型;
(2)设计相应的关系模型,确定数据库结构;
(3)分析关系模式各属于第几范式,阐明理由;
(4)设计应用系统的系统结构图;
(5)通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;
(6)完成实验内容所指定的各项要求;
(7)分析遇到的问题,总结并写出课程设计报告;
(8)自我评价
二、系统的分析与设计
1.概念设计
2.逻辑设计
STUDENT(sno,sname,address,zip,state,city,sex) sno是主码
TEACHER(tno,tname,phone,salary) tno是主码
COURSE(cno,cname,department,credit) cno是主码
SECTION(secno,cno,tno,sqty) secno、tno、cno是主码,cno、tno是外码
ENROLL(secno,cno,sno,grade) cno,sno是主码,cno,sno是外码
3.系统功能结构
4.完整性设计
/* 包含:关系主码、外码、CHECK约束。并给出相应的SQL语句*/ COURSE的完整性约束:
cno CHAR(10)PRIMARY KEY
STUDENT的完整性约束:
sno CHAR(10)PRIMARY KEY
TEACHER的完整性约束:
tno CHAR(10)PRIMARY KEY
SECTION的完整性约束:
PRIMARY KEY(secno,tno,cno),
FOREIGN KEY(tno)REFERENCES TEACHER(tno),
FOREIGN KEY(cno)REFERENCES COURSE(cno)
ENROLL的完整性约束:
PRIMARY KEY(cno,sno),
FOREIGN KEY(sno)REFERENCES STUDENT(sno),
FOREIGN KEY(cno)REFERENCES COURSE(cno)
三、系统的实现
题目2
1.创建数据库
创建名为“SCTE”的数据库
2.创建各基本表
CREATE TABLE COURSE
(cno CHAR(10)PRIMARY KEY, cname CHAR(30), department CHAR(30),
credit SMALLINT
);
CREATE TABLE STUDENT (sno CHAR(10)PRIMARY KEY, sname CHAR(30),
address CHAR(30),
zip CHAR(10),
city CHAR(20),
state CHAR(10),
sex CHAR(2)
);
CREATE TABLE TEACHER
(tno CHAR(10)PRIMARY KEY,
tname CHAR(20),
phone CHAR(10),
salary NUMERIC(10,2)
);
CREATE TABLE SECTION
(secno CHAR(2),
tno CHAR(10),
cno CHAR(10),
sqty INT,
PRIMARY KEY(secno,tno,cno),
FOREIGN KEY(tno)REFERENCES TEACHER(tno), FOREIGN KEY(cno)REFERENCES COURSE(cno) );
CREATE TABLE ENROLL
(cno CHAR(10),
secon CHAR(2),
sno CHAR(10),
grade INT,
PRIMARY KEY(cno,sno),
FOREIGN KEY(sno)REFERENCES STUDENT(sno), FOREIGN KEY(cno)REFERENCES COURSE(cno) );