当前位置:   article > 正文

数据库原理结束课大作业_数据库大作业

数据库大作业

请结合自己的了解和认识,选择一个熟悉且适中的应用场景,设计并完成该应用对应的数据库。要求完成:

1、需求分析

描述系统所要完成的功能和用到的数据。

学院教务管理系统功能:

教务系统用户分为,学生,教师,能够进行数据库的数据定义、数据操纵、数据控制等处理功能。具体功能应包括:可提供课程安排、课程成绩数据的添加、插入、删除、更新、查询,学生及教职工基本信息查询的功能。

用到的数据:

学生(学号stu_id,学生密码stu_password,姓名stu_name,性别stu_sex,年龄stu_age)

班级(班级编号cla_id,班级名称cla_name)

专业(专业编号maj_id,专业名maj_name,所属院系maj_faculty)

教师(职工号teach_id,姓名teach_name,性别teach_sex,年龄teach_age,教师密码teach_password)

课程(课程编号cou_id,课程名cou_name,课程学时cou_time,学分cou_credit,先修课cou_cpno)

学生-课程:成绩grade

课程-教师:上课时间teaching_time

用户:用户名users_name,用户密码users_password

2、概要模型设计

根据需求,完成E-R图的设计。

3、逻辑结构设计

(1)根据E-R图,给出的关系模式。

将上面的E-R图转换为关系模式(下划线且加粗为主键,斜体且加粗为外键):

学生(学号,学生密码,姓名,性别,年龄,班级编号

班级(班级编号,班级名称,专业编号

专业(专业编号,专业名,所属院系)

教师(职工号,姓名,性别,年龄,教师密码)

课程(课程编号,课程名,课程学时,学分,先修课,职工号

选课(学号课程编号,成绩)把学生表的主键和课程表的主键设置为选课表的联合主键,学号和课程编号同时均为外键

教授(课程编号职工号,上课时间)把课程编号和职工号设置为教授表的联合主键,课程编号和职工号同时均为外键

(2)说说自己设计的表是第几范式,给出必要的判断过程。

学生表、班级表、专业表、教师表、课程表是第二范式,每一列都是不可再分的基本数据项,所有的非主属性完全依赖于码,即不存在非主属性对码的部分函数依赖。

选课表、教授表是BCNF,每一列都是不可再分的基本数据项,所有的非主属性完全依赖于码,不存在非主属性对码的传递依赖和部分依赖,所有主属性对每一个不包含它的码,也是完全函数依赖,同时任何属性都应该函数依赖于码。以选课表为例,SC关系中stu_id,cou_id是码,grade是非主属性,非主属性无法传递函数依赖,(stu_id,cou_id)联合确定grade,只有一个函数依赖。教授表同理。

4、物理结构设计与数据库实施

用SQL实现数据库和所有数据表的创建,包括相应的完整性约束(主外键等)。

(1)--创建数据库affairs

create database affairs;

(2)--创建学生表students

create table students

(stu_id int primary key,

stu_password int not null,

stu_name varchar(20) not null,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/803522
推荐阅读
相关标签
  

闽ICP备14008679号