您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 网上选课系统数据库大作业
网上选课系统的数据库设计班级:07级化工学院过程装备与控制工程乙班完成时间2008年12月15日组成员及所完成的工作:过控乙班:马新龙3007207284(其他同学都组队后我落单了……)系统名称:网上选课系统一系统需求▼该“网上选课系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些基本方法的熟悉与掌握,先是从数据库的概念模型到ER图的绘制,其次是数据库模式的建立(即为数据库及其基本表的建立(Create)),而后是数据的插入(Insert),最后完成一些简单的关系运算表达式的表达及通过索引、视图、存储过程的建立,进行相关的Select查询语句和update修改数据的操作。■系统结构简述:本系统包括五个实体:学院,年级,学生,课程,教师实体之间的关系转换为其他四个表:所属院系,所属年级,所选课程,代课其中实体“学院”与“学生”之间一对多的关系转换到表“学生”中实体“年级”与“学生”之间一对多的关系实体“教师”与“学生”之间一对多的关系注:各个基本表中关键字已在关系模式中说明▲该数据库需要进行如下数据处理(部分查询、修改、插入操作见论文后面):◆.要查询所有学生的个人信息:学号,姓名,性别,出生年月,学院编号,专业,班级,身份证号,◆.学生要查询本学期所选课程的详细情况,并按“课程类型”分组输入:学号输出:学号,姓名,课程名,学分数,学时数,课程类型,上课所在教室,上课时间◆.修改学生课程信息修改(alter):课程编号,课程名称,学分数,学时数,课程类型◆.插入学生的信息插入:姓名,性别,出生年月,学院编号,专业,班级,身份证号,(新生查询自己的课程同上)◆.教师想查询自己本学期所代的课程及其上课情况:输入:教师姓名输出:教师编号,姓名,课程名,课程类型,上课所在教室,上课时间二ER图1nmnnm1n总体ER图学院编号#所属专业所属院系课程所选课程学生学院年级代课课程编号所在年级上课教室名称教师上课时间年级编号#备注学号#学号#三.关系模式系统中的实体有:学院,年级,学生,课程,教师关系模式如下:学院(学院编号#,院长姓名,名称,学院类型,院办地址,院办电话)年级(年级编号#,名称,备注)学生(学号#,姓名,性别,出生年月,身份证号,学院编号,所在专业)课程(课程编号#,课程名,课程类型,学分数,学时数,上课时间,上课所在教室)教师(教师编号#,姓名,性别,课程名,电话,家庭住址)联系类型有:所属院系,所属年级,所选课程,代课所属院系(学号#,学院编号#,所在专业)所属年级(学号#,年级编号#,备注)所选课程(学号#,课程编号#,选课时间)代课(教师编号#,课程编号#,上课时间,上课教室)四.物理设计下面是一些实体的表:表1学院表字段名类型属性学院编号Char(10)主键名称Char(8)notnull学院类型Char(10)notnull院长姓名Char(20)notnull院办地址Char(100)notnull院办电话Char(10)notnull表2年级表字段名类型属性年级编号Char(10)主键名称Char(10)notnull备注Char(10)表3学生表字段名类型属性学号int(10)主键姓名char(8)notnull性别char(2)notnull出生年月Datetime身份证号Int(18)notnull学院编号char(6)notnull所在专业Char(20)Notnull表4课程表字段名类型属性课程编号char(10)主键课程名称Char(8)notnull课程类型Char(10)学分数smallint(1)学时数smallint(2)上课时间Char(10)notnull上课教室Char(10)notnull表5教师表字段名类型属性教师编号Char(10)主键姓名Char(8)notnull性别Char(2)notnull所教课程名Char(10)notnull联系电话Char(10)notnull家庭住址Char(100)notnull五.系统实现1.数据库及基本表的建立数据库的建立用企业管理器,基本表的建立用T-SQL语言:数据库名称为:网上选课系统数据库设计建立数据库的T-SQL代码如下:Createdatabase网上选课系统数据库设计On(name=‘网上选课系统数据库设计dat’,filename=‘D:\马新龙\网上选课系统数据库设计.mdf’),(name=‘网上选课系统数据库设计dat-1’,filename=‘D:\马新龙\网上选课系统数据库设计.ndf’)Logon(name=’网上选课系统数据库设计log’,filename=’D:\马新龙\网上选课系统数据库设计.lmf’)建立基本表的T-SQL代码如下:use网上选课系统数据库设计createtable学院(学院编号char(10)notnullCONSTRAINTPk-学院编号primarykey,名称char(8)notnull,学院类型char(10)notnull,院长编号char(10)notnull,院办地址char(100)notnull,院办电话char(10)notnull)createtable年级(年级编号char(6)notnullCONSTRAINTPk-年级编号primarykey,年级名称char(10)notnull,备注char(10)notnull)createtable学生(学号int(10)notnullCONSTRAINTPk-学号primarykey,姓名char(8)notnull,性别char(2)notnull,出生年月Datetime,身份证号char(18)notnull,学院编号char(6)notnull,所在专业char(20)notnull)createtable课程(课程编号char(6)notnullCONSTRAINTPk-课程编号primarykey,课程名char(40)notnull,课程类型char(12)notnull,学分数smallint,学时数smallint,上课时间char(10)notnull,上课所在教室char(10)notnull)createtable教师(教师编号char(10)notnullCONSTRAINTPk-教师编号primarykey,姓名char(8)notnull,性别char(2)notnull,课程名char(10),notnull,电话char(10),notnull家庭住址char(100),notnull)2.插入功能(下面主要是一些简单的信息插入)Insertinto学生values(‘3007207284’,’马新龙’,男’,’1988.12.30’,’640302198812302915’,’001’,’过程装备与控制工程’)3.创建索引(提高学生查询所需东西的速度,下面只是几个简单的例子)Createindexidx学生On学生(c姓名)CreateCLUSTEREDIndexidx课程On课程(c课程名,c学分数)4.创建视图(下面只是几个简单的例子)Createviewvw信息AsSelect姓名,所在专业,课程From学生join学院On学生.学院编号=学院.学院编号通过视图简化了对一些表中数据的查询,下面通过视图来执行该查询:Select姓名,所在专业Fromvw信息5.创建存储过程(下面主要说明经常要获得学生姓名,学号,所在专业,为了提高执行速度所做的工作以及教师的姓名,电话)Createprocedure学生资料AsBeginPrint名单Select姓名,学号,所在专业From学生endcreateprocedure教师信息asbeginprint名单select姓名,电话from教师end6.查询数据(下面是一个简单的查询)Select姓名,学号,所在专业From学生Where性别=‘男’下面是关于显示所有学生的信息的查询:Select*From学生7.修改数据(下面是通过上面的视图更新学生的选课信息)Updatevw信息Set所选课程=‘’Where姓名=‘’
本文标题:网上选课系统数据库大作业
链接地址:https://www.777doc.com/doc-6137134 .html