




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩:____大连工业大学艺术与信息工程学院《数据库原理》课程设计报告设计题目:工资管理系统作者姓名:学号:学号:指导教师:大连工业大学艺术与信息工程学院《数据库原理》课程设计报告 第40页 DATE\@"yyyy-M-d"2019-9-8《工资管理系统》系统设计文档一、设计要求本课程设计要求实现学籍管理的基本功能,主要的表有:学生基本信息、学院信息、系信息、专业信息、班级信息等,所设计的学籍管理信息系统应包含输入输出、查询、插入、删除等基本功能。此外还要保证数据库的一致性,完整性和安全性。一、需求分析(一)开发背景和意义(二)系统需求概况对于学校而言,学籍资源是学校重要的数据资源,面对如此众多的学籍信息,学籍管理的规范很重要,学籍管理系统可实现如下信息的管理:(1).学生基本信息管理学生基本信息包括:学号、姓名、年龄、性别、籍贯、所属的班级号、学生个人登陆密码等。(2).班级基本信息管理班级的基本信息包括:班级号、班级名称、班级负责人、该班所在的年级、专业号。(3).专业基本信息管理专业的基本信息包括:专业号、专业名称、专业负责人、、系号。(4).系基本信息管理系的基本信息包括:系号、系名称、系负责人、、学院号。(5).学院基本信息管理学院的基本信息包括:学院号、学院名称、学院负责人、学院地址、学院等。其中,班级号需要和实际存在的班级号对应起来,专业号需要和实际存在的专业号对应起来,系号需要和实际存在的系号对应起来,学院号需要和实际存在的学院号对应起来。此外,与本校实际情况相结合会涉及到管理权限的问题:如学生有权登陆查看自己的基本信息,除了密码以外无权修改其他信息,管理员无权查看学生的个人密码因此,在数据库设计和前台应用程序设计的时候,应对这些问题给予解决方案。二、概念结构设计(一)关系(括号内为属性,加直下划线的为主键,加波浪下划线的为外键)学生(学号、姓名、年龄、性别、籍贯、班级号、密码)班级(班级号、班级名称、班级负责人、年级、专业号)专业(专业号、专业名称、专业负责人、、系号)系(系号、系名称、系负责人、、学院号)学院(学院号、学院名称、学院负责人、学院地址、学院)(2)ER图系统的ER图如下:学生学生班级属于属于属于属于姓名年龄籍贯学号班号专业号负责人班名年级专业专业号系号负责人专业名系学院号系名负责人系号1n1nn1n1性别班号密码学院学院名学院号地址负责人(ER图要结合自己的题目画出来,这个必须用visio画出来,必须准确)三、逻辑结构设计(一)数据库存储的数据表如下(括号内为属性,加直下划线的为主键,加波浪下划线的为外键):Sudent(学号、学生姓名、学生年龄、学生性别、学生籍贯、班号、密码)Class(班号、班名、班负责人、年级、专业号)Specialty(专业号、专业名、专业负责人、专业、系号)Department(系号、系名、系负责人、系、学院号)College(学院号、学院名、学院负责人、学院地址、学院)数据表关系图如下:(二)各个数据库表(要求用三线表表示)1、管理员表(admin)用于存放管理员的姓名、密码。这些信息主要是为了管理员在登陆界面时所需要的。表1“管理员”表字段设置序号字段名称名称数据类型长度主键约束1Admin_name管理员名char10Y非空2Admin_password密码char10N非空2、用户表(parent)用于存放用户ID、幼儿ID、姓名、密码、性别、、地址。这些信息主要是为了用户登陆和显示幼儿信息时所需要的。表2“用户”表字段设置序号字段名称名称数据类型长度主键约束1Parent_id用户IDint4Y非空2Children_id幼儿IDchar10N非空3Paren_name用户姓名char10N非空4Paren_password密码char10N非空5Paren_sex性别char10N非空6Paren_tellchar10N非空7Paren_address地址char10N非空3、教师表(teacher)用于存放教师的ID、姓名、性别、身高、毕业学校、照片。这些信息主要是为了显示教师信息时所需要的。表3“教师”表字段设置序号字段名称名称数据类型长度主键约束1Teacher_idIdint4Y非空2Teacher_name姓名char10N非空3Teacher_sex性别char10N非空4Teacher_height身高char10N非空5Teacher_school毕业学校varchar50N非空6Teacher_photo照片nvarchar50N非空4、新闻表(news)用于存放新闻ID、标题、内容、时间。这些信息主要是为了发布和浏览新闻时所需要的。表4“新闻”表字段设置序号字段名称名称数据类型长度主键约束1News_idIdint4Y非空2News_title标题char10N非空3News_info内容varchar50N非空4News_date时间smalldatetime4N非空5、幼儿表(children)用于存放幼儿ID、姓名、性别、出生日期、入园日期、班级、照片。这些信息主要是为了显示幼儿信息时所需要的。表5“幼儿”表字段设置序号字段名称名称数据类型长度主键约束1Children_id幼儿Idint4Y非空2Children_name姓名char10N非空3Children_sex性别char10N非空4Children_age出生日期datetime8N非空5Children_date入园日期datetime8N非空6Children_class班级char10N非空7Children_photo照片nvarchar16N非空6、幼儿健康表(health)用于存放幼儿ID、身高、体重、饮食状况、睡眠状况、卫生状况。这些信息主要是为了显示幼儿健康状况时所需要的。表6“幼儿健康”表字段设置序号字段名称名称数据类型长度主键约束1Children_idIdint4Y非空2Health_height身高char10N非空3Health_weight体重char10N非空4Health_diet饮食char10N非空5Health_sleep睡眠char10N非空6Health_health卫生char10N非空7、留言板表(message)用于存放用户ID、幼儿ID、标题、内容、发布时间、回复内容、回复时间。这些信息主要是为了发布和回复留言板时所需要的。表7“留言板”表字段设置序号字段名称名称数据类型长度主键约束1Parent_id用户Idint4Y非空2Message_title标题char10N非空3Message_info内容varchar50N非空4Message_time发布时间datetime8N非空5Reply回复内容varchar50N非空6Reply_time回复时间datetime8N非空(三)视图为了使用户直观的查询数据,数据库中设置了以下视图:1、学生视图学生视图是通过基本表Student、Class、Specialty、Department、College连接得到的。代码为:SELECTdbo.Student.学号,dbo.Student.学生姓名,dbo.Student.学生年龄,dbo.Student.学生性别,dbo.Student.学生籍贯,dbo.College.学院名,dbo.Department.系名,dbo.Specialty.专业名,dbo.Class.班名,dbo.Class.年级,dbo.Student.密码FROMdbo.StudentINNERJOINdbo.ClassONdbo.Student.班号=dbo.Class.班号INNERJOINdbo.SpecialtyONdbo.Class.专业号=dbo.Specialty.专业号INNERJOINdbo.DepartmentONdbo.Specialty.系号=dbo.Department.系号INNERJOIN2、班级视图班级视图是通过基本表Class、Specialty、Department、College连接得到的。代码为:SELECTdbo.Class.班号,dbo.Class.班名,dbo.Class.年级,dbo.Class.班负责人,dbo.College.学院名,dbo.Department.系名,dbo.Specialty.专业名FROMdbo.ClassINNERJOINdbo.SpecialtyONdbo.Class.专业号=dbo.Specialty.专业号INNERJOINdbo.DepartmentONdbo.Specialty.系号=dbo.Department.系号INNERJOINdbo.CollegeONdbo.Department.学院号=dbo.College.学院号WHERE(dbo.Class.班号<>0)3、专业视图专业视图是通过基本表Specialty、Department、College连接得到的。代码为:SELECTdbo.Specialty.专业号,dbo.Specialty.专业名,dbo.Specialty.专业负责人,dbo.Specialty.专业,dbo.College.学院名,dbo.Department.系名FROMdbo.SpecialtyINNERJOINdbo.DepartmentONdbo.Specialty.系号=dbo.Department.系号INNERJOINdbo.CollegeONdbo.Department.学院号=dbo.College.学院号WHERE(dbo.Specialty.专业号<>0)4、系视图系视图是通过基本表Department、College连接得到的。代码为:SELECTdbo.Department.系号,dbo.Department.系名,dbo.Department.系负责人,dbo.Department.系,dbo.College.学院名FROMdbo.DepartmentINNERJOINdbo.CollegeONdbo.Department.学院号=dbo.College.学院号WHERE(dbo.Department.系号<>0)5、管理员视图鉴于管理员不能查看学生密码这一实际情况,在管理员登陆时,应不显示“密码”这一列,代码为:SELECTdbo.Student.学号,dbo.Student.学生姓名,dbo.Student.学生年龄,dbo.Student.学生性别,dbo.Student.学生籍贯,dbo.College.学院名,dbo.Department.系名,dbo.Specialty.专业名,dbo.Class.班名,dbo.Class.年级FROMdbo.StudentINNERJOINdbo.ClassONdbo.Student.班号=dbo.Class.班号INNERJOINdbo.SpecialtyONdbo.Class.专业号=dbo.Specialty.专业号INNERJOINdbo.DepartmentONdbo.Specialty.系号=dbo.Department.系号INNERJOINdbo.CollegeONdbo.Department.学院号=dbo.College.学院号四、物理结构设计与实现(一)开发方案的选择作为数据库课程设计,本系统分为两个部分:后台数据库和前台程序。考虑到基于SQL语言的数据库的先进性和安全性,并结合实用性,我选择了MicrosoftSQLServer2021作为后台数据库。考虑到与数据库结合的实用性,我选择了java作为前台程序的开发平台。后台数据库存储数据表,接受前台程序的查询和更新要求,并向前台程序提供数据库服务。此外,对于数据库数据的完整性、安全性的实现,也需要后台数据库的支持。前台程序实际上是一个人与数据库的接口,或称界面。它负责接受用户的查询和更新请求,并将这些请求转化为数据库管理系统(DBMS)能识别的数据库操作语言,再接受数据库管理系统发回的操作结果显示在界面上。在实现数据库数据的完整性和安全性上,前台程序提供了功能上的支持。(二)具体物理实现数据库物理结构设计(建库、建表、索引、视图、触发器、存储过程、事务);初始数据录入。1、建库createdatabaseSelectCourseon(name=selectcourse,filename='D:\SelectCourse\selectcourse.mdf')
2、建表(1)、用户表(用户名,用户密码)useSelectCoursecreatetableAdmins(
Namevarchar(10)notnullprimarykey,
Passwordsvarchar(8)notnull)
insertintoAdminsvalues('abc','123')insertAdminsvalues('bcd','123')insertAdminsvalues('vnd','128')insertAdminsvalues('khd','129')insertAdminsvalues('qwerty','125')
insertintoAdminsvalues('dfg','123')insertAdminsvalues('fds','123')insertAdminsvalues('gdg','128')insertAdminsvalues('gde','129')insertAdminsvalues('qwe','125')select*fromAdmins(2)、课程类别表(课程类别号,课程类别名称)useSelectCoursecreatetableCouCateTb(CouCateIdvarchar(6)notnullprimarykey,CouCatenvarchar(20)notnull)
insertintoCouCateTbvalues('101','计算机')insertCouCateTbvalues('102','管理类')insertCouCateTbvalues('103','化工类')insertCouCateTbvalues('104','机械类')insertCouCateTbvalues('105','艺术类')
select*fromCouCateTb
(3)、系别表(系别号,系别名称)useSelectCoursecreatetableDeptTb(DeptIdvarchar(2)notnullprimarykey,DeptNamenvarchar(20)notnull)
insertintoDeptTbvalues('JS','计算机系')insertDeptTbvalues('GL','管理系')insertDeptTbvalues('HG','化工系')insertDeptTbvalues('JC','机车系')insertDeptTbvalues('YS','艺术系')
select*fromDeptTb
(4)、学生表(学号,姓名,性别,籍贯,系别号,专业)useSelectCoursecreatetableStudentTb(StudentIdvarchar(8)notnullprimarykey,StudentNamevarchar(10)notnull,Sexchar(2)notnull,StuHomevarchar(30)notnull,DeptIdvarchar(2)notnull,constraintDeptId_StudentTbforeignkey(DeptId)referencesDeptTb(DeptId),majorvarchar(20)notnull)
insertStudentTbvalues('01080301','杨杨','男','广东广州','JS','软件测试','优秀')insertStudentTbvalues('01080302','李鹏','男','广东深圳','JS','软件测试','良好')insertStudentTbvalues('01080303','王海','男','广东珠海','JS','软件测试','优秀')insertStudentTbvalues('01080304','朱红','女','天津','JS','软件测试','良好')insertStudentTbvalues('01080305','李一','男','广东深圳','JS','软件测试','优秀')insertStudentTbvalues('01080306','王二','男','广东珠海','JS','软件测试','良好')insertStudentTbvalues('01080307','杨三','男','广东广州','JS','软件测试','良好')insertStudentTbvalues('01080308','李四','女','广东深圳','JS','软件测试','优秀')insertStudentTbvalues('01080309','王五','女','广东珠海','JS','软件测试','良好')insertStudentTbvalues('01080310','王六','女','广东珠海','JS','软件测试','中等')insertStudentTbvalues('01080311','杨二','男','广东广州','JS','软件测试','优秀')insertStudentTbvalues('01080312','李玲','女','广东深圳','JS','软件测试','中等')insertStudentTbvalues('01080313','王价','男','广东揭阳','JS','软件测试','优秀')insertStudentTbvalues('01080314','朱三','女','广东清远','JS','软件测试','中等')insertStudentTbvalues('01080315','李明','男','广东深圳','JS','软件测试','优秀')
insertintoStudentTbvalues('02080101','丁香','女','广东清远','GL','会计学','中等')insertintoStudentTbvalues('02080102','赵县','男','上海浦东','GL','会计学','优秀')insertintoStudentTbvalues('02080103','李静','女','广东揭阳','GL','会计学','中等')insertintoStudentTbvalues('02080104','王同同','男','上海','GL','会计学','优秀')insertintoStudentTbvalues('02080105','李茯苓','女','内蒙古','GL','会计学','中等')insertintoStudentTbvalues('02080106','张大','男','新疆','GL','会计学','中等')insertintoStudentTbvalues('02080107','陈明','女','广东清远','GL','会计学','良好')insertintoStudentTbvalues('02080108','林子','男','上海浦东','GL','会计学','良好')insertintoStudentTbvalues('02080109','何小敏','女','广东揭阳','GL','会计学','良好')insertintoStudentTbvalues('02080110','曾家国','男','上海','GL','会计学','中等')insertintoStudentTbvalues('02080111','李小龙','男','内蒙古','GL','会计学','优秀')insertintoStudentTbvalues('02080112','张三星','男','新疆','GL','会计学','中等')insertintoStudentTbvalues('02080113','任东东','男','上海','GL','会计学','优秀')insertintoStudentTbvalues('02080114','刘宁','女','内蒙古','GL','会计学','中等')insertintoStudentTbvalues('02080115','王强强','男','新疆','GL','会计学','中等')
select*fromStudentTb
(5)、教师表(教师编码,教师名字,教师职称,系别号)useSelectCoursecreatetableTeacherTb(TeacherIdchar(6)notnullprimarykey,TeaNamechar(10)notnull,TeaTitlechar(10)notnull,DeptIdvarchar(2)notnull,constraintDeptId_TeacherTbforeignkey(DeptId)referencesDeptTb(DeptId))
insertTeacherTbvalues('JS1001','林天','教授','JS')insertTeacherTbvalues('JS1002','刘海','副教授','JS')
insertintoTeacherTbvalues('GL1003','李立','教授','GL')insertintoTeacherTbvalues('GL1004','何敏','副教授','GL')
insertTeacherTbvalues('HG1005','张吕一','讲师','HG')insertTeacherTbvalues('HG1006','吕虹','副教授','HG')
insertTeacherTbvalues('JC1007','王山','副教授','JC')insertTeacherTbvalues('JC1008','高义义','讲师','JC')
insertTeacherTbvalues('YS1009','肖妮儿','讲师','YS')insertTeacherTbvalues('YS1010','李婷','教授','YS')select*fromTeacherTb
(6)、课程表(课程号,课程名称,课程类别号,课程总学分,任课教师编码)useSelectCoursecreatetableCourseTb(CouIdchar(4)notnullprimarykey,CouNamevarchar(10)notnull,CouCateIdvarchar(6)notnull,constraintCouCateId_CourseTbforeignkey(CouCateId)referencesCouCateTb(CouCateId),Creditsintnotnull,TeacherIdchar(6)notnull,constraintTeacherId_CourseTbforeignkey(TeacherId)referencesTeacherTb(TeacherId))
insertintoCourseTbvalues('J01','计算机基础','101','4','JS1001')
insertintoCourseTbvalues('J02','计算机应用','101','3','JS1002')
insertintoCourseTbvalues('J03','网页设计','101','4','JS1001')
insertintoCourseTbvalues('J04','计算机工程','101','3','JS1002')
insertintoCourseTbvalues('J05','C语言','101','4','JS1001')
insertintoCourseTbvalues('J06','JAVA语言','101','3','JS1002')
insertCourseTbvalues('G03','市场营销','102','3','GL1003')insertCourseTbvalues('G04','会计学','102','3','GL1004')insertCourseTbvalues('G05','网络营销','102','4','GL1003')insertCourseTbvalues('G06','财务管理学','102','2','GL1004')insertCourseTbvalues('G01','会计电算化','102','3','GL1003')insertCourseTbvalues('G02','会计基础','102','3','GL1004')
insertCourseTbvalues('H05','化工与材料','103','3','HG1005')insertCourseTbvalues('H06','化工实验','103','2','HG1006')insertCourseTbvalues('C07','车辆工程','104','1','JC1007')insertCourseTbvalues('C08','自动化','104','3','JC1008')insertCourseTbvalues('Y09','现代艺术','105','1','YS1009')insertCourseTbvalues('Y10','审美艺术','105','2','YS1010')
select*fromCourseTb
(7)、选课表(学号,课程号,课程名称,教师编号,教师名字,课程是否已选,是否已考试)useSelectCoursecreatetableSelectCourseTb(StudentIdvarchar(8)notnull,
CouIdchar(4)notnull,constraintCouId_SelectCourseTbforeignkey(CouId)referencesCourseTb(CouId),CouNamevarchar(10)notnull,TeacherIdchar(6)notnull,TeaNamechar(10)notnull,SelectYesOrNOchar(2)notnull,TestYesOrNOchar(2)notnull,Gradeintnull,constraintSprimarykey(StudentId,CouId,TeacherId))insertintoSelectCourseTbvalues('01080301','J01','计算机基础','JS1001','林天','是','否',null)insertintoSelectCourseTbvalues('01080301','J02','计算机应用','JS1002','刘海','是','否',null)insertSelectCourseTbvalues('01080301','J03','网页设计','JS1001','林天','是','是',null)insertintoSelectCourseTbvalues('01080301','J04','计算机工程','JS1002','刘海','是','是',95)insertSelectCourseTbvalues('01080301','J05','C语言','JS1001','林天','是','是',80)insertintoSelectCourseTbvalues('01080301','J06','JAVA语言','JS1001','林天','是','是',85)
insertSelectCourseTbvalues('01080302','J01','计算机基础','JS1001','林天','是','否',null)insertintoSelectCourseTbvalues('01080302','J02','计算机应用','JS1002','刘海','是','是',null)insertSelectCourseTbvalues('01080302','J03','网页设计','JS1001','林天','是','是',90)insertintoSelectCourseTbvalues('01080302','J04','计算机工程','JS1002','刘海','是','是',98)insertSelectCourseTbvalues('01080302','J05','C语言','JS1001','林天','是','是',92)insertintoSelectCourseTbvalues('01080302','J06','JAVA语言','JS1001','林天','否','否',null)
insertSelectCourseTb(StudentId,CouId,CouName,TeacherId,TeaName,SelectYesOrNO,TestYesOrNO)values('01080303','J01','计算机基础','JS1001','林天','是','是')
insertSelectCourseTbvalues('02080101','G03','市场营销','GL1003','李立','是','是',null)insertintoSelectCourseTbvalues('02080101','G04','会计学','GL1004','何敏','是','是',null)insertSelectCourseTbvalues('02080101','G05','网络营销','GL1003','李立','是','是',null)insertintoSelectCourseTbvalues('02080101','G06','财务管理学','GL1004','何敏','是','是',88)insertSelectCourseTbvalues('02080101','G01','会计电算化','GL1003','李立','是','是',92)insertintoSelectCourseTbvalues('02080101','G02','会计基础','GL1004','何敏','是','是',80)
insertSelectCourseTbvalues('02080102','G03','市场营销','GL1003','李立','是','否',null)insertintoSelectCourseTbvalues('02080102','G04','会计学','GL1004','何敏','是','是',88)insertSelectCourseTbvalues('02080102','G05','网络营销','GL1003','李立','是','是',75)insertintoSelectCourseTbvalues('02080102','G06','财务管理学','GL1004','何敏','是','是',90)insertSelectCourseTbvalues('02080102','G01','会计电算化','GL1003','李立','是','是',87)insertintoSelectCourseTbvalues('02080102','G02','会计基础','GL1004','何敏','否','否',null)
insertintoSelectCourseTbvalues('01080304','J01','计算机基础','JS1001','林天','是','是',null)insertintoSelectCourseTbvalues('01080305','J01','计算机基础','JS1001','林天','是','是',78)insertintoSelectCourseTbvalues('01080306','J01','计算机基础','JS1001','林天','是','是',85)insertintoSelectCourseTbvalues('01080307','J01','计算机基础','JS1001','林天','是','是',89)insertintoSelectCourseTbvalues('01080308','J01','计算机基础','JS1001','林天','是','是',62)insertintoSelectCourseTbvalues('01080309','J01','计算机基础','JS1001','林天','是','是',61)insertintoSelectCourseTbvalues('01080310','J01','计算机基础','JS1001','林天','是','是',82)insertintoSelectCourseTbvalues('01080311','J01','计算机基础','JS1001','林天','是','是',89)
insertintoSelectCourseTbvalues('01080312','J01','计算机基础','JS1001','林天','是','是',75)insertintoSelectCourseTbvalues('01080313','J01','计算机基础','JS1001','林天','是','是',96)insertintoSelectCourseTbvalues('01080314','J01','计算机基础','JS1001','林天','是','是',91)insertintoSelectCourseTbvalues('01080315','J01','计算机基础','JS1001','林天','是','是',71)
insertintoSelectCourseTbvalues('01080304','J02','计算机基础','JS1001','林天','是','是',null)insertintoSelectCourseTbvalues('01080305','J02','计算机基础','JS1001','林天','是','是',78)insertintoSelectCourseTbvalues('01080306','J02','计算机基础','JS1001','林天','是','是',85)insertintoSelectCourseTbvalues('01080307','J02','计算机基础','JS1001','林天','是','是',89)insertintoSelectCourseTbvalues('01080308','J02','计算机基础','JS1001','林天','是','是',88)insertintoSelectCourseTbvalues('01080309','J02','计算机基础','JS1001','林天','是','是',85)insertintoSelectCourseTbvalues('01080310','J02','计算机基础','JS1001','林天','是','是',82)insertintoSelectCourseTbvalues('01080311','J02','计算机基础','JS1001','林天','是','是',89)insertintoSelectCourseTbvalues('01080312','J02','计算机基础','JS1001','林天','是','是',85)insertintoSelectCourseTbvalues('01080313','J02','计算机基础','JS1001','林天','是','是',96)insertintoSelectCourseTbvalues('01080314','J02','计算机基础','JS1001','林天','是','是',91)insertintoSelectCourseTbvalues('01080315','J02','计算机基础','JS1001','林天','是','是',71)select*fromSelectCourseTb
(8)、授课表(编号,课程号,教师编号,教师名字,上课时间,上课地点)useSelectCoursecreatetableGivenCourse(GivenIdintnotnullprimarykey,CouIdchar(4)notnull,constraintCouId_GivenCourseforeignkey(CouId)referencesCourseTb(CouId),TeacherIdchar(6)notnull,constraintTeacherId_GivenCourseforeignkey(TeacherId)referencesTeacherTb(TeacherId),TeaNamechar(10)notnull,HaveTimevarchar(30)notnull,HaveAddesschar(10)null)
insertintoGivenCoursevalues('1','J01','JS1001','林天','每周星期二(09:00-11:00)','Jb302')insertintoGivenCoursevalues('3','J02','JS1002','刘海','每周星期三(14:00-15:35)','Ja301')insertGivenCoursevalues('2','g01','GL1003','李立','每周星期一(09:00-11:00)','Jc302')insertGivenCoursevalues('4','g02','GL1004','何敏','每周星期一(09:00-11:00)','Jc302')insertintoGivenCoursevalues('5','H05','HG1005','张吕一','每周星期四(09:00-11:00)','Jb302')insertGivenCoursevalues('6','H06','HG1006','吕虹','每周星期四(08:00-09:35)','Ja105')insertintoGivenCoursevalues('7','C07','JC1007','王山','每周星期五(14:00-15:35)','Ja301')insertGivenCoursevalues('8','C08','JC1008','高义义','每周星期一(09:00-11:00)','JD302')values('9','Y07','YS1009','肖妮儿','每周星期三(14:00-15:35)','JD301')insertGivenCoursevalues('10','Y08','YS1010','李婷','每周星期二(09:00-11:00)','JD302')
相关操作要求的实现1、为每个实体表和关系表创建合适的索引(聚簇索引、复合索引)、主码、外码;
createnonclusteredindexPK1onStudentTb(StudentId);createuniquenonclusteredindexCourseTbonCourseTb(Credits);createnonclusteredindexSelectCourseTbonSelectCourseTb(StudentId,CouId)
2、创建课程类别取值范围为计算机类、管理类、机械类、化工类的规则,并与相应的列绑定
;
createruleCouCateas@CouCatein('管理类','经济类','电子类','计算机类','化工类','艺术类')goexecsp_bindrule'CouCate','CouCateTb.CouCate'go
3、在成绩实体中创建成绩默认值为的默认,并与相应的列绑定;useSelectCoursealtertableSelectCourseTbADDCONSTRAINTpk_GradesDEFAULT(60)FORGrade
insertSelectCourseTb(StudentId,CouId,CouName,TeacherId,TeaName,SelectYesOrNO,TestYesOrNO)values('01080303','J01','计算机基础','JS1001','林天','是','是')
4、创建一个可以通过课程类别和任课教师进行查询课程的存储过程;
useSelectCoursegocreateprocproCourse@课程类别char(20),@任课教师char(10)asselectCouIdas课程号,CouNameas课程名称,CouCateIdas课程类别号,Creditsas课程总学分,TeacherIdas教师编号fromCourseTbwhereCouCateId=@课程类别andTeacherId=@任课教师
useSelectCoursegoEXECUTE
proCourse
@课程类别='101',@任课教师='JS1001'
useSelectCoursegoEXECUTE
proCourse
@课程类别='101',@任课教师='JS1002'
5、通过触发器定义已选课未考试的学生不能从学生实体中删除;useSelectCoursegocreatetriggerSelect_studentTreonSelectCourseTbAFTER
deleteasbegindeclare@StudentIdCHAR(8)declare@SelectYesOrNOchar(2)declare@TestYesOrNOchar(2)Select@StudentId=StudentId,@SelectYesOrNO=SelectYesOrNO,@TestYesOrNO=TestYesOrNOfromDELETEDif
notexists(selectSelectYesOrNO,TestYesOrNOfromSelectCourseTbwhere
SelectYesOrNO='是'andSelectYesOrNO=@SelectYesOrNOand
TestYesOrNO=@TestYesOrNOandTestYesOrNO='否')deleteStudentTbwhereStudentId=@StudentIdprint'已选课未考试的学生不能从学生实体中删除!'enddeletefromSelectCourseTbwhere
StudentId='01080301'andSelectYesOrNO='是'andTestYesOrNO='否'go6、通过触发器定义平均成绩低于分的学生不能评为优秀学生;
useSelectCoursegoifexists(selectnamefromsysobjects
wherename='student_tri'andtype='TR')droptriggerstudent_trigocreatetriggerstudent_trionstudentTbinsteadofupdateasbegindeclare@studentidchar(8)declare@tint
select@studentid=studentIdfrominsertedselect@t=avg(Grade)fromSelectCourseTbwherestudentId=@studentidgroupbystudentId
if@t<90print'平均成绩低于分的学生不能评为优秀学生!'endgoupdatestudentTbset
ExcelentYesOrNO='优秀'wherestudentid='01080301'
7、建立包括选课学生的学号,姓名,系别,所选课程号,课程名,和成绩的视图;createview选课学生的视图asselectS.StudentId,S.StudentName,S.DeptId,CouId,CouName,GradefromStudentTbSjoinSelectCourseTbSEonS.StudentId=SE.StudentIdgoSELECT*FROM选课学生的视图
8、使用事务,保证数据一致性。
useSelectCoursegobegintrantran_inst
insertintoAdmins(Name,Passwords)
values('ab5','153')
savetranint_poitinsertAdmins(Name,Passwords)values('bc3','143')goinsertAdmins(Name)values('b443')goif@@ERROR<>0
rollbacktranint_poit
go
committrantran_inst
go
9、统计查询(1)
在选课关系中,统计出选修课程超过4门以上的学生信息。
select*fromStudentTb
whereStudentIdin(selectStudentIdfrom
SelectCourseTb
groupbyStudentIdhavingcount(*)>4)
(2)
检索出成绩优秀的、性别为女的学生信息。
select*fromStudentTbwhereSex='女'andStudentId
in(selectStudentIdfromSelectCourseTbwhereGrade>=80)
(3)
统计出平均分在分以上的学生的信息,并将结果按平均分升序排列。selectStudentId,AVG(Grade)as平均分into#学生平均分表fromSelectCourseTbgroupbyStudentId
selectStudentTb.*,平均分fromStudentTb,#学生平均分表whereStudentTb.StudentId=#学生平均分表.StudentIdand平均分>80orderby平均分
(4)
统计出至少有名学生选修的课程的平均分,统计项包含课程编号和平均分。
selectCourseTb.CouId,avg(allGrade)平均分
fromStudentTb,CourseTb,SelectCourseTb
where
CourseTb.CouId=SelectCourseTb.CouIdandStudentTb.StudentId=SelectCourseTb.StudentId
groupby
CourseTb.CouIdhavingcount(*)>=10go(三)前台应用设计前台程序的开发平台我选择了java编写前台程序。数据库的连接本程序采用BDE方式连接数据库。在程序中添加TQuery控件,由其连接BDE。再添加TDataSource控件,由其接受TQuery发回的数据集,并发送给数据控制控件。管理员登陆管理员用固定的用户名administer登陆,程序通过判断用户输入的用户名,查询不同的数据表,得到该用户的密码,和用户输入的密码比较。若密码正确,则根据用户的不同显示不同的界面;若密码错误,则提示重新输入。管理员成功登陆后,显示一个选项卡界面,五各选项卡分别显示五张数据表。如下图所示:在学生表的选项卡上,还设置了数据查询控件:用户可在输入框中输入学号或姓名,通过点击不同的按钮按学号查询或按姓名查询。管理员也可查询全部学生的信息。另外,为了操作方便,管理员可以按原表方式和直观方式查看数据。在原表方式下,管理员可以看到基本表的结构和数据;在直观方式下,管理员可以看到连接后得到的视图,这样数据显示得更为直观。因为管理员拥有更新数据的权限,所以在直观方式下,更新功能被屏蔽;而在原表方式下,更新功能被打开,管理员可以对任一数据表进行修改、插入和删除等更新操作。学生登陆学生登陆时用户名为学号,和管理员登陆一样,程序会判断密码,密码正确后,显示如下图所示界面(以学号为20210001的学生为例):学生用户登陆后,显示一个数据表控件,其中只显示该学生的个人信息;在数据表控件下方设置了几个显示框控件,直观的分项显示了学生个人的所有信息;学生个人只有修改除密码外数据的权限,因此上述控件的ReadOnly属性均被设置为Ture,设置一个编辑框控件,接受学生输入的新密码,并写入数据库。五、设计体会及总结(1)设计是否达到预定的目标
(2)有哪些收获?
(3)尚存在哪些不足?
(4)对今后学习和工作的影响等学生学籍管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面,对于前者要求建立起数据一致性和完整性强,数据安全性好的数据库,而对于后者则要求应用程序功能完善,易使用等特点。因此,可以通过建立学籍管理信息系统,使学生学籍管理工作科学化、规范化、程序化,促使提高信息处理的速度和正确性,使学校的信息流程和流向清晰化、合理化,第一时间把握学生信息,以提高整体教学水平。此次课程设计是学习完《数据库原理》课程后进行的一次全面的综合练习,通过这次课程设计,加深了我对数据库基础理论和基本知识的理解,使我掌握了使用数据库设计与使用的基本方法,提高了运用数据库解决实际问题的能力,进一步巩固了我所学的知识,提高了我的动手能力。六、参考资料1.数据库系统概论》萨师煊,王珊主编高等教育出版社2.《SQLsever2021与IBMDB2数据库实验指导教程》林仲达,王似雪主编清华大学出版社3.《Delphi数据库开发毕业设计指导及实例》刘瑞新主编机械工业出版社如还有再补充
咖啡店创业计划书第一部分:背景在中国,人们越来越爱喝咖啡。随之而来的咖啡文化充满生活的每个时刻。无论在家里、还是在办公室或各种社交场合,人们都在品着咖啡。咖啡逐渐与时尚、现代生活联系在一齐。遍布各地的咖啡屋成为人们交谈、听音乐、休息的好地方,咖啡丰富着我们的生活,也缩短了你我之间的距离,咖啡逐渐发展为一种文化。随着咖啡这一有着悠久历史饮品的广为人知,咖啡正在被越来越多的中国人所理解。第二部分:项目介绍第三部分:创业优势目前大学校园的这片市场还是空白,竞争压力小。而且前期投资也不是很高,此刻国家鼓励大学生毕业后自主创业,有一系列的优惠政策以及贷款支持。再者大学生往往对未来充满期望,他们有着年轻的血液、蓬勃的朝气,以及初生牛犊不怕虎的精神,而这些都是一个创业者就应具备的素质。大学生在学校里学到了很多理论性的东西,有着较高层次的技术优势,现代大学生有创新精神,有对传统观念和传统行业挑战的信心和欲望,而这种创新精神也往往造就了大学生创业的动力源泉,成为成功创业的精神基础。大学生创业的最大好处在于能提高自己的潜力、增长经验,以及学以致用;最大的诱人之处是透过成功创业,能够实现自己的理想,证明自己的价值。第四部分:预算1、咖啡店店面费用咖啡店店面是租赁建筑物。与建筑物业主经过协商,以合同形式达成房屋租赁协议。协议资料包括房屋地址、面积、结构、使用年限、租赁费用、支付费用方法等。租赁的优点是投资少、回收期限短。预算10-15平米店面,启动费用大约在9-12万元。2、装修设计费用咖啡店的满座率、桌面的周转率以及气候、节日等因素对收益影响较大。咖啡馆的消费却相对较高,主要针对的也是学生人群,咖啡店布局、格调及采用何种材料和咖啡店效果图、平面图、施工图的设计费用,大约6000元左右3、装修、装饰费用具体费用包括以下几种。(1)外墙装饰费用。包括招牌、墙面、装饰费用。(2)店内装修费用。包括天花板、油漆、装饰费用,木工、等费用。(3)其他装修材料的费用。玻璃、地板、灯具、人工费用也应计算在内。整体预算按标准装修费用为360元/平米,装修费用共360*15=5400元。4、设备设施购买费用具体设备主要有以下种类。(1)沙发、桌、椅、货架。共计2250元(2)音响系统。共计450(3)吧台所用的烹饪设备、储存设备、洗涤设备、加工保温设备。共计600(4)产品制造使用所需的吧台、咖啡杯、冲茶器、各种小碟等。共计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年火车站站内档位租凭合同
- 2024图书管理员数据分析能力试题及答案
- 2025年美甲店员工劳动保护及安全协议合同
- 二零二五年度单位食堂食品安全监管合作协议
- 2025年度高科技企业销售公司商业秘密保密协议
- 2025年度红色教育基地研学旅游合作协议
- 二零二五年度新能源技术研发人员薪酬及知识产权保护合同
- 2025年度高空作业安全协议责任书(高空电力线路施工安全协议)
- 二零二五年度旅游服务劳务外包保密合同
- 2025年度生物科技研发经典同借款合同
- 2024.8.1十七个岗位安全操作规程手册(值得借鉴)
- 电影《白日梦想家》课件
- 2024年中职高考数学计算训练 专题10 解三角形的相关计算
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 电石(碳化钙)安全技术说明书
- 四川省会计师事务所服务收费标准
- 中国品牌授权行业发展环境、市场运行态势及投资前景分析预测报告
- 第6课《北宋的政治》省公开课一等奖全国示范课微课金奖课件
- 【人教版】《劳动教育》六下 劳动项目九《捐赠旧衣服》教学设计
- 矿卡司机安全教育考试卷(带答案)
- 初中英语不规则动词表(译林版-中英)
评论
0/150
提交评论