数据库原理及应用课程设计任务书辽宁工程技术大学软件学院软件工程系一、课程设计目的和任务数据库原理及应用课程设计是软件工程专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件设计的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。同时,此次设计对于同学将来的毕业设计和具体工作实践将有重要的意义。二、课程设计基本要求根据课程设计时间的安排选择适当大小的设计课题,课题的选择可以是实际问题,也可以是虚构的问题。根据题目的基本需求,根据所学的数据库设计理论、方法,写出详细的设计说明书。三、课程设计内容(一)基本要求文档中除了在封面应有题目、班级、姓名、学号和课程设计日期以外,其正文一般有如下几个方面的内容:1、需求分析明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。此阶段文档不要求画出数据流图、数据字典,但对系统的信息要求(数据分析)和处理要求(功能分析)要详尽。这是系统的起点也是关键。通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。需求分析的重点是:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。2、概要设计对需求分析阶段收集到的数据进行分类、组织,形成实体、实体的属性,初步标识实体的码,设计分E-R图。各子系统的分E-R图设计好以后,下一步要将所有的分E-R图综合成一个系统的总E-R图。,确定实体之间的联系类型(1:1,1:n,m:n)。(划分实体和属性的基本准则参照教材,同时考虑合并E-R图所产生的冲突问题和冗余问题。)(1)画出系统各部分(子系统)E-R模型图。(2)消除冲突和冗余,合并各部分E-R模型图,形成总体E-R模型图。(3)若系统较简单可直接画出系统总体E-R模型图。3、逻辑设计把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,即将实体和实体间的联系转换为关系模式,并确定这些关系模式的属性和码。(转换原则参见教材)。根据所学得的关系模式规范化理论,对关系模式进行优化,使其基本满足三范式要求。4、物理设计为给定的逻辑数据模型选取一个最适合应用环境的物理结构,要求详细写出基本表的结构,包括表明、各个字段名、字段描述、类型、长度、是否为空等,同时标出基本表的主码、外码、索引等。格式见表:基本表名称字段名称中文名称类型(长度)取值范围是否非空主关键字备注username用户名varchar(6)NY在选中的DBMS支持下,在服务器设备上定义数据库中的基本表、视图、触发器、用户、权限等。5、将所设计的数据库在SQLServer2000上实现。6、设计系统查询功能及要求,写出主要的查询SQL语句。(二)参考题目(共10个参考题目,请同学根据自己学号的最后一位选择相对应的题目)1、工资管理系统(1)目标:1)实现月工资计算和打印输出相应的工资表格;2)实现与工资管理有关的档案管理。3)提高工资管理工作效率,降低出错率。(2)功能要求:档案管理1)保存有关工资计算以及工资管理所必须的数据2)能对各种数据进行插入、修改、删除等操作3)能对数据进行查询、统计工资计算1)正确计算出个人月工资、部门月工资以及全厂月工资。2)能对病假扣款系数进行修正。3)能打印输出工资计算表、个人工资单、部门工资单、工资汇总表四种表格。数据要求:每个职工的各种数据分为三类:1)职工的代号、姓名、性别、出生日期、参加工作日期、所属部门、人员类别、工种职别、技术等级、技术职称、文化程度、民族、籍贯、现住址。2)职工的基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、房租。3)职工的出勤日数、公伤日数、产假日数、病假日数、旷工日数、事假日数、加班日数、夜班日数、病假系数。工资单数据:本月基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、加班费、夜班费、房租、病假扣款、事假扣款、旷工扣款、其它扣款、实发工资。2、研究生招生信息管理系统系统概述:研究生招生信息的管理工作大致分为三个阶段,第一阶段是考生报名,第二阶段是考生成绩统计,第三阶段是录取情况统计。在第一阶段,每个考生都要将自己的简历和报考情况填入一张表中。这些信息将作为每个考生的档案,由招生人员管理,后两个阶段的统计工作要用到这些档案。第二阶段的工作是对考生成绩进行统计。当考生成绩都评出之后,招生人员将把每个考生的各科成绩汇总起来,计算出总分、平均分,同时统计出各科的及格率、不及格率及各分数段的考生人数来,由此来分析本年考生的质量和水平。第三阶段的工作是进行录取后的统计。当录取名单确定之后,招生人员要进行统计、分析本年的录取情况,如统计录取生的成绩、年龄、来源等情况,并进行计划招生数和实际招生数的比较等。由此获得本年研究生的录取情况。数据要求:1)考生档案:考号、姓名、性别、年龄、政治面貌、是否应届、学力、来源、报考专业、报考类别。2)考生成绩:考号、姓名、政治、外语、基础科目、专业基础科目、专业科目。3)录取名单:考号、录取单位、复试科目、复试成绩。4)专业字典:专业代码、专业名称、计划内招生数、计划外招生数。3、汽车修理管理系统功能要求:(1)数据登记把各种手填单据中的数据及时登记到系统中、并要求能进行修改。这些单据包括修车登记单、汽车修理单、零件入库单、零件出库单。(2)查询能查询登记单、修理单、汽车、车主、修理公、零件库存的有关数据。(3)编制并显示零件订货计划月报表。(4)打印发票发票中包括顾客姓名、汽车牌号、修理项目、修车费(=修理费+零件费)。零件费=∑(零件价格×耗用数量)修理费=小时工资×修理小时×3(5)打印修理工工资月报表某修理工的月工资=(∑小时工资)×修理小时4、房产管理系统功能要求:该系统应具有分房、调房、退房和咨询统计功能。房产科把用户申请表(按照统一的格式由用户填写)输入系统后,系统首先检查申请表的合法性,对不合法的申请表系统拒绝接受,对合法的申请表根据类型分别进行处理。如果是分房申请,则根据申请者的情况计算其分数,当分数高于阈值分数时,按分数高低将申请单插到分房队列的适当位置。每月最后一天进行一次分房活动,从空房文件中读出空房信息,把好房优先分配给排在分房队列前面的符合该登记住房条件的申请者,从空房文件中删除掉这个房号的信息,从分房队列中删除申请单,并把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租并将算出的房租写到房租文件中。如果是退房申请,则从住房文件和房租文件中删除有关的信息,再把此房号的信息写到空房文件中。如果是调房申请,则根据申请者的情况确定其住房等级,然后在空房文件中查找属于给等级的空房,退掉原住房,再进行与分房类似的处理。住户可向系统询问目前分房的阈值分数,居住某类房屋的条件,某房号的单位面积房租等信息。房产科可以要求系统打印出住房情况的统计表,或更改某类房屋的居住条件、单位面积房租等。数据要求:住房标准文件:住房面积、最低住房分数(按住房面积大小递增排列)。房产文件:房号、住房面积、分配标志、每平方米房租(按房号递增排列)。住房文件:户主、部门、职称、家庭人口、住房分数、房号、住房面积(按户主名拼音字母顺序排列)。住房要求:户主+[分房要求∣调房要求∣退房要求]。分房要求:部门、职称、家庭人口、住房分数、要求住房面积。调房要求:部门、职称、家庭人口、住房分数、原住房面积、原房号、要求调房面积。退房要求:部门、房号。5、健康档案管理系统功能要求:该系统的健康文件包括病历文件和体检文件。(1)登记将学生的健康信息插入健康文件;(2)修改修改一个学生的健康档案记录;(3)删除删除学生的健康档案记录;(4)查询可以组合各种条件进行查询,显示学生健康信息并打印健康文件报表;(5)统计对学生的基本健康状况进行各种必要的统计和分析,由一般统计和动态分析两种。一般统计包括计数和求平均值;动态分析由健康历史求出平均年增长值和年增长率。数据要求:体检文件:学号、姓名、性别、系别、年龄、身高、体重、胸围、日期病历文件:学号、姓名、性别、系别、诊断、日期6、学籍管理系统功能要求:(1)学生注册登记提供给系统最基本的学籍信息。(2)学生成绩登记按专业分类,以年级为单位,登记学生在校期间每门课程的成绩。(3)学籍更改登记包括简历更改、成绩更改、休复转退学登记、奖惩登记。(4)资料统计统计各专业某年计某学期的学习成绩情况。以考试为例,分作90~100分,80~89分,70~79分,60~69分,60分以下五档人数及占总人数的百分率。按照学生的年龄大小、地区的来源、政治面貌作人数的统计。(5)个人情况查询查询成绩、简历、休复转退学及奖惩情况。数据要求:简历数据:学号、姓名、性别、学制、地区、年龄、政治面貌、民族、奖惩记录、休复转退标记7、培训中心信息管理系统系统概述:培训中心的日常业务是:学员发来的电报、文件、电话,经收集、分类后,予以分别处理。如果是报名的,则将报名数据送给负责报名的职员,他们要查阅课程文件,检查是否额满,若不满,在学员文件、课程文件上登记,并开出报名单交财务人员,财务人员开发票经复审后通知学员;如果是付款的,则由财务人员在账目文件上登记,经复审后给学员一张收据;如果是查询的,则交负责查询的部门在查询课程文件后给出大幅;如果是要注销原来选修的课程,则由注销人员在课程、学员、账目文件上作相应修改后通知学员;另外,课程管理员要经常对课程数据进行维护。数据要求:课程文件:课程号、课程名、学时、收费、上课地点、教师、招收人数、已报名人数学员文件:班级代号、班主任、学员学号、学员姓名、报名时间、交款额账目文件:日期、班级代号、学员学号、课程号、交款额8、教材购销管理系统功能要求:销售子系统(1)审查有效性学生将购书单交给教材科秘书,秘书通过查阅各班学生用书表、售书登记表检查是否允许该生买书。(2)开发票如果允许学生买书,教材科会计将按购书单查阅教材存量表,如果有书且数量够,则开交款发票,否则,将购书单中无法购买的书的信息写入缺书登记表,以备以后补售教材。(3)登记并开领书单教材科出纳员根据发票上的总金额收取现金,并进行售书登记,同时开领书单,学生将领书单交给保管员,领书。(4)补售教材采购部门进书后,教材科秘书根据进书通知和缺书登记表给没买到教材的学生发补售通知单。采购子系统(1)教材入库采购员采购教材后,将进书单交给秘书,秘书修改教材库存和待购量。(2)统计秘书每月按书号和出版社统计缺书,形成待购教材表和缺书单,供采购员采购时使用。数据要求各班学生用书表:班级、书号、书名、数量售书登记表:学号、姓名、书号、数量缺书登记表:学号、姓名、书号、数量教材存量表:书号、单价、数量待购教材表:书号、数量缺书单:书号、数量、出版社、地址、电话教材一览表:书号、书名、出版社、地址、电话9、企业资产管理功能要求:1)企业资产购置:将企业资产信息插入企业资产数据文件。2)企业资产的领用:企业资产发放给相关部门使用,登记相关信息。3)企业资产的内部调拨:由一个部门调拨到另一个部门,登记相关信息。4)企业资产出租:本企业资产出租给其他企业,对租赁费用、时间等登记管理5)企业资产的报废:企业资产达到报废年限或其他原因报废,登记相关报废信息。对以上具体功能的查询、统计功能数据要求资产数据:资产代码、资产名称、资产类型、规格型号、单位、制造厂家、购置日期、原值(帐面价值)等资产领用数据:资产代码、资产名称、领用部门、领用日期、经办人资产调拨数据:资产代码、资产名称、调入部门、调出部门、调拨日期、经办人资产出租数据:资产代码、资产名称、租