数据库大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数
据
库
学
生
管
理
系
统
姓名:
学号:
班级:计科
日期:2010年12月25日
1. 系统需求分析
(1)数据需求
a.本系统为了实现学校在校学生基本信息资源的查询、统计、添加、删除、维护与管
理,方便用户的管理与需求。该“学生管理系统”只是对数据库应用技术的一个样
本实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER
图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的
录入(在此从略),最后完成一些简单的关系运算表达式的表达和相关的Select 查
询语句的使用。
b.系统结构简述:
学生管理系统需要完成功能主要包括两个实体:学生的基本信息;课程信息。
实体之间的关系转换为其他表的有:学生课程成绩信息;
1)学生的基本信息表有:学生的学号、姓名、性别、出生时间、专业、总学分、联系方式等。
2)课程信息表有:课程号、课程名、学期、学时、学分等。
3)学生课程成绩信息表有:学号、课程号、成绩、学分等。
c.该数据库需要进行如下数据处理:
◎从学生课程成绩信息表中查询成绩的函数:
输入:学号和课程号
输出:对应的学号和课程号的分数即成绩;
◎从学生基本信息表中删除对应的学生记录:
输入:学号
输出:删除对应的学生记录,若没有对应的学号则输出“没有该学生!”的提示;
◎向学生基本信息表插入数据的函数:
输入:学生档案表的基本信息,包括所有属性列;即学号,姓名,性别,出生时间,专业,总学分,联系方式;
◎学生课程成绩信息表上的触发器,当删除某一个学生的成绩时触发:
当从学生基本信息表中删除学生记录时,若该学号的学生记录在选修表中也有的
话,则提示。
(3)关系模式
1) 学生基本信息(学号,姓名,性别,出生时间,专业,总学分,联系方式)
2) 课程基本信息(课程号,课程名,学期,学时,学分)
3) 学生课程成绩(学号,课程号,成绩,学分)
2. 逻辑设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型
(1)实体图及E-R图
对于学生信息的管理,我们可以将学生实体抽象出来,根据所要实现的功能设计,可建立它们之间的关系,进而实现逻辑结构功能。
学生管理信息系统可以划分的实体有:学生基本信息实体、课程基本信息实体、学生课程成绩信息实体。用E-R图一一描述这些实体。
1.学生基本信息实体
图2.2学生基本信息实体及属性
2.课程基本信息实体
图2.3 课程基本信息实体及属性
3.学生课程成绩信息实体
图2.4 学生课程成绩信息实体及属性
4.学生课程成绩三者实体间的联系图
图2.5三者实体间的联系图3. 物理设计
五. 数据库的实施
(1)创建数据库:
create database 学生管理(2)学生信息表建立:
create table 学生基本信息
(学号 char(13),
姓名 char(16),
性别 char(2),
出生时间 smalldatetime,
专业 char(16),
总学分 tinyint,
联系方式 char(12),
primary key(学号)
)
(3)创建课程信息表:
create table 课程信息
(课程号 char(3),
课程名 char(16),
学期 tinyint,
学时 tinyint,
学分 tinyint,
primary key(课程号)
)
(4)学生课程成绩表建立:
create table 学生课程成绩信息
(学号 char(13),
课程号 char(3),
成绩 tinyint,
学分 tinyint,
primary key(学号,课程号),
foreign key(学号)references 学生基本信息(学号) on update no action,
foreign key(课程号)references 课程信息(课程号) on update no action
)
六.数据初始化
(1)将学生基本信息表中:
insert into 学生基本信息
values ('','张三','男',1988-2-10,'计算机',60,)
insert into 学生基本信息
values ('','李四','男',1987-5-16,'信息工程系',50,)
insert into 学生基本信息
values ('','古丽','女',1986-6-1,'数学系',52,)
insert into 学生基本信息
values ('','小胡','男',1988-5-22,'计算机',62,)
insert into 学生基本信息
values ('','李娜','女',1986-3-11,'英语系',49,)
(2)将课程信息表中:
insert into 课程信息
values ('101','计算机基础',1,60,3)
insert into 课程信息