数据库课设报告

合集下载

学生选课信息系统数据库课程设计报告(1)

学生选课信息系统数据库课程设计报告(1)

学生选课信息系统数据库课程设计报告(1)学生选课信息系统数据库课程设计报告一、设计背景学生选课是高校本科教育的重要环节之一,选课过程需要学生、教师和管理员之间的良好合作。

为了方便学生选课,提高教学质量,开发一个适合本校实际需求的学生选课信息系统是非常有必要的。

二、系统需求1. 前台系统学生登录系统后可以进行选课、退课和查询课程信息等操作。

系统提供课程介绍和授课教师信息,方便学生选择。

2. 后台系统管理员需要对系统的课程信息、学生选课信息进行管理,包括添加、删除、修改课程信息,管理选课限制,查询学生选课情况等。

3. 数据库设计系统需要设计数据库,存储学生、教师和课程信息,以及学生选课信息的记录。

三、系统功能1. 学生功能(1)学生登录系统进行选课、退课操作。

(2)学生可以查看选课情况、课程信息和授课教师信息。

2. 教师功能(1)教师登录系统可以查看自己的授课情况和课程信息。

(2)教师可以对自己的课程信息进行修改。

3. 管理员功能(1)管理员登录系统可以添加、删除、修改课程信息。

(2)管理员可以设置课程选课限制,管理学生选课情况和课程信息。

四、系统实现1. 前台系统使用HTML、CSS、JavaScript等技术进行开发,实现学生、教师等用户操作界面。

2. 后台系统使用PHP或Java等技术进行开发,实现管理员对系统各个功能的管理操作。

3. 数据库使用MySQL或Oracle等关系型数据库进行设计,存储学生、教师和课程信息、学生选课记录等。

五、系统优化为了提高系统的性能和可用性,需要对系统进行优化,包括:1. 对数据库进行索引优化,提高查询速度。

2. 在前台系统中进行数据缓存,减少对后台系统的请求次数,提高系统响应速度。

3. 对系统进行安全性优化,防止非法入侵和数据泄漏。

六、系统测试在开发完成后,需要进行系统测试,包括功能测试和性能测试。

针对测试中发现的问题和缺陷,进行修复和优化,最终达到高质量的系统交付效果。

数据库课程设计报告范例1:在线考试系统在线考试系统

数据库课程设计报告范例1:在线考试系统在线考试系统

目录1 引言 (1)1.1课程设计选题 (1)1.2课程设计的目的 (1)1.3本选题的设计背景 (1)2 系统分析与设计 (1)2.1 功能及性能分析 (1)2.1.1 功能需求 (1)2.1.2 性能需求 (2)2.1.3 数据流图 (2)2.2 系统的开发运行环境 (3)2.3 系统总体设计 (3)3 数据库设计 (4)3.1 数据库概念结构 (4)3.2 数据库逻辑结构 (5)3.2.1 关系模型及优化 (5)3.2.2 视图的设计 (5)3.3 数据库的实现 (6)3.3.1表 (6)3.3.2 安全性设计 (7)3.3.3 一致性设计 (7)3.3.4触发器的设计 (8)4 详细设计与实现 (9)4.1 登录模块 (9)4.2 考生注册模块 (9)4.3 在线考试模块 (10)4.4 后台功能模块 (13)I4.4.1试题管理模块 (13)4.4.2考生管理模块 (13)4.4.3成绩管理模块 (14)结论 (15)参考文献 (15)II1 引言1.1课程设计选题《在线考试系统》1.2课程设计的目的通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用ASP开发工具实践了《在线考试系统》的数据库应用系统的设计方法、开发过程和SQL SERVER数据库的管理与维护。

最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。

1.3本选题的设计背景随着计算机技术的发展和互联网时代的到来,人们已经进入了信息时代,亦或是数字化时代。

在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,同时希望能够得到科学的评价;教育机构也希望给网上的学生提供更灵活的服务。

在线考试系统正是迎合这一需求而开发的,它旨在探索一种以互联网为基础的考试模式。

通过这种新的模式,为考生创造一种新的考试环境,提高考试工作效率和标准化水平。

数据库实验报告

数据库实验报告

学生学号实验课成绩武汉理工大学学生实验报告书课程名称数据库系统概论开课学院计算机科学与技术学院指导老师学生姓名专业班级2011 —2012 学年第二学期实验课程名称:数据库系统概论实验项目名称关系代数、ALPHA语言、QBE语言查询实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)设有一个SPJ数据库,包括S,P,J,SPJ 4个关系模式:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)试着用关系代数、ALPHA语言、QBE语言完成如下查询:1 求供应工程J1零件的供应商号码SNO;2 求供应工程J1零件P1的供应商号码SNO;3 求供应工程J1零件为红色的供应商号码SNO;4 求没有使用天津供应商生产的红色零件的工程号JNO;5 求至少用了供应商S1所供应的全部零件的工程号JNO。

二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)一般关系运算:1.选择:它是在关系R中选择满足给定条件的诸元组,记作σF(R)={t|t∈R∧F(t)=’真’}2.投影:是从R中选择出若干属性列组成新的关系,记作πA(R){t【A】| t∈R}3.连接 :是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

4.除运算:R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上得投影:元组在X上分量值X的象集Ys包含S在Y上得投影的集合。

三、主要仪器设备及耗材本次实验为理论性实验,只需要对关系代数有一定了解并能写出查询语句集合,不需要什么试验设备。

第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)查询资料,对自己写的查询语句进行验证,仔细检查是否正确。

数据库课程设计报告完整版

数据库课程设计报告完整版

数据库课程设计班级物联网1202学号3120611027姓名杨璐指导老师年轶2014 年1 月目录一、引言 (2)1.目的 (2)2.题目 (2)3.要求 (2)二、系统的分析与设计 (3)1.概念设计 (3)2.逻辑设计 (3)3.系统功能结构 (4)4.完整性设计 (5)三、系统的实现 (6)四、课程设计小结 (22)一、引言1.目的课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力。

课程设计的目的:(1)加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;(2)在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;(3)学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;(4)为毕业设计和以后工作打下必要基础。

2.题目题目2.设计一个大学教学数据库应用系统。

该系统涉及学生、教师、课程、分组、登记。

数据见附表2。

因时间关系,只要求每个学生任选1个题目,如有时间﹑有兴趣,可做另外一题,酌情加分。

3.要求运用数据库基本理论与应用知识,在微机RDBMS(SQL Server)的环境上建立一个数据库应用系统。

要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。

(1)用E-R图设计选定题目的信息模型;(2)设计相应的关系模型,确定数据库结构;(3)分析关系模式各属于第几范式,阐明理由;(4)设计应用系统的系统结构图;(5)通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;(6)完成实验内容所指定的各项要求;(7)分析遇到的问题,总结并写出课程设计报告;(8)自我评价二、系统的分析与设计1.概念设计2.逻辑设计STUDENT(sno,sname,address,zip,state,city,sex) sno是主码TEACHER(tno,tname,phone,salary) tno是主码COURSE(cno,cname,department,credit) cno是主码SECTION(secno,cno,tno,sqty) secno、tno、cno是主码,cno、tno是外码ENROLL(secno,cno,sno,grade) cno,sno是主码,cno,sno是外码3.系统功能结构4.完整性设计/* 包含:关系主码、外码、CHECK约束。

数据库设计报告v1

数据库设计报告v1

数据库课程设计报告 -------人事/工资/考勤管理系统软件学院软件工程专业08级6班姓名:嵇存学号:200800300083任课教师:王诚梅实验教师:助教:一:系统开发平台本系统采用Eclipse为开发工具,后台数据库采用SQL Server 2008二、数据库规划2.1 任务陈述随着公司的规模不断扩大,员工的数量急剧增加,有关员工的各种信息也成倍增长.面对庞大的信息量,有必要开发人事工资考勤管理系统来提高公司人事工资考勤管理工作的效率.通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

公司的人力资源管理的功能范围,也从单一的工资核算、人事管理,发展到可为企业的决策提供帮助的全方位解决方案.这些领域包括人力资源规划、员工考核、劳动力安排、时间管理、招聘管理、员工薪资核算、培训计划、差旅管理等,并同企业管理系统中的财务、生产系统组成高效的、具有高度集成性的企业资源系统.2.2 任务目标本人事工资考勤管理系统包括人事信息管理工资信息管理、考勤信息管理、成绩报表信息管理四大模块。

管理员可以拥有完全的权限管理系统,而员工用户只拥有查询信息和查询信息的权限。

三、系统定义3.1 系统边界1. 系统在员工进入公司时为员工建立人事档案,人事档案的管理由公司经理级人员完成。

人事档案应该包括员工进入公司的时间、员工级别、员工的基本工资、员工所在部门和员工的其他基本信息等。

2. 员工的工资应该包括基本工资和奖金两个部分。

基本工资根据员工的级别划分(试用员工、正式员工、组长、部门经理、总经理),奖金应根据员工的业绩由其直接或更高级领导确定3. 员工在来到公司上班时应该首先登录公司系统签到,离开公司时登录系统签离。

如果办事外出或者出差应由上级领导确认考勤情况。

缺勤或者迟到按一定数额罚款,迟到1小时以上算缺勤。

4. 系统应该可以对基础数据进行维护。

5. 员工调动和离职应保留员工的历史信息,以备日后查询。

《数据库课程设计报告》模板

《数据库课程设计报告》模板

电子信息学院数据库课程设计报告(格式参考)设计题目:专业:班级:学号:姓名:指导老师:日期:至成绩:目录1.课程设计的任务及要求1.1.课程设计任务见各自选题,题目任务详见课程设计题目汇编。

1.2.基本要求●系统分析设计要能完成题目所要求的功能;●对系统进行功能模块分析、主控模块分析与设计;●编程简练、实用,尽可能使系统的功能更加完善和全面;●按以规范化数据库应用系统开发设计过程为主线来组织撰写课程设计报告,通过各步骤关键性图、表等充分表现各阶段的资料与成果;●提高学生的设计报告的组织与撰写能力,强调务必要自己独立完成。

2.课程设计报告撰写●要按照数据库课程设计报告书写规范要求进行(格式参考本文);●课程设计报告要包括封面、目录、正文、小结、参考文献、附录等内容;●正文要包括:系统需求分析;概念结构设计;逻辑结构设计;物理结构设计;数据库与应用系统的实施与测试;安装、用户使用和系统维护说明;关键实现技术等(可选)。

●小结一般包括工作内容、工作量大小、自己完成情况、遇到的问题以及解决方法、收获与体会、今后努力与改进方向等。

3.考核方式与评分办法课程设计总评成绩由三部分组成,各所占比例大致情况:考勤与平时表现占10%,设计与实现的系统(含考核表现)占45%,撰写的报告占30%,陈述答辩占15%。

另外,凡属于下列情形之一者,均为不及格:●书面报告及电子稿两者缺一者;●发现软件相互复制的,包括复制方和被复制方;●发现报告相互抄袭的,包括抄袭方和被抄袭方;●报告通篇由下载网页拼凑而成,无具体实际内容者;●发现提交软件主体是由网上下载而非自己开发者。

4.选题下列给出的选课功能要要求供参考,具体需求分析和功能可以按实际情况做适当调整。

(1)学生学籍管理系统的设计与实现学籍管理负责记录入学、开学注册,基本信息维护、成绩管理、毕业资格审查等功能。

要求:1)操作员管理,增加、修改、删除操作员。

2)建立学生档案管理,输入、修改和删除学生基本信息。

数据库大作业课程设计报告

数据库大作业课程设计报告

数据库⼤作业课程设计报告数据库设计项⽬报告设计题⽬:ATM存取款数据库系统班级级计算机科学与技术学号姓名指导教师起⽌时间1 需求分析1.1 系统⽬标系统的主要⽬标是实现⼀个ATM存取款数据库系统,该系统的适⽤范围是针对⼀个银⾏(光华银⾏)的⽤户。

⽤户可以进⾏开户、办卡、存款、取款等银⾏基本业务。

1.2 系统功能需求1.2.1 功能模块划分系统主要分为⽤户基本信息模块,卡信息模块,⽤户基本操作模块等三个模块。

卡信息模块⼜可分为储蓄卡信息模块和信⽤卡信息模块。

1.2.1 功能描述(1)⽤户基本信息模块。

该模块主要实现⽤户的开户、⽤户授信等功能。

若⽤户只需办理储蓄卡,那么其只需在我⾏开户即可。

若其还想要办理信⽤卡,那么其需要经过我⾏的授信才能办理信⽤卡,即填写相关的财产、收⼊信息。

(2)卡信息模块卡信息模块主要实现⽤户的办卡、注销卡、储蓄卡的升级和降级操作。

由于⽤户办卡类型的不同,可将卡分为储蓄卡以及信⽤卡。

○1储蓄卡模块会记录办卡时⽤户所填的基本信息、储蓄卡类型,及不同储蓄卡所对应的不同属性,如存款利率、年费、转账费⽤等信息。

○2信⽤卡模块会记录办卡时⽤户所填的基本信息、信⽤卡类型,及不同信⽤卡所对应的不同属性,如额度、提现额度、提现额度、异地提现费⽤、年费等信息。

(3)⽤户基本操作模块该模块主要实现⽤户在任选⼀台ATM机,储蓄卡能够进⾏存款、取款、转账等的操作,其中取款若属于异地取款将收取相应费⽤。

⽽信⽤卡能够进⾏提现,还款等操作,⼀种异地取现将收取更多额外的费⽤。

⽤户使⽤储蓄卡和信⽤卡的操作记录会保存在相应的操作记录表中。

2数据库概念设计2.1系统的概念模型2.1.1整体E-R图(1)⽤户基本信息模块:⼀个账户只能对应⼀个⽤户授信信息,⼀个⽤户授信信息也只能对应⼀个账户,所以账户和⽤户授信信息是1:1的关系。

(2)卡信息模块⼀个账户可以拥有多张储蓄卡,⽽⼀张储蓄卡只能归属于⼀个账户,所以账户和储蓄卡是1:M的关系。

数据库课程设计实验报告

数据库课程设计实验报告

数据库课程设计实验报告导语:通过本课程设计,培养学生具有C/S模式的数据库应用软件系统的设计和开发能力。

以下是小编为大家整理的数据库课程设计实验报告,欢迎大家阅读与借鉴!数据库课程设计实验报告有关于数据库实验的心得体会,总的来说,受益匪浅。

在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。

最重要的是我们有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言,尽管自己对C语言非常感兴趣,但还是有些心理上的陌生感。

学习数据库就和我们平时的其它科目学习一样感觉它有永无止境的知识,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。

我认识它是从我接触实验运作开始的,刚开始就是建立数据库,两种验证模式,没什么东西但还觉得不错。

进而就是操作语言了,紧接着就是触发器的使用,进而对数据库高级的使用,等等。

开始知道数据库的时候想学,不知道从何而起,不懂的话怎么问,从什么地方学起。

后来到大三开学后有数据库原理必修课,非常高兴。

当时感觉SQL Sever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。

学了这门课以后发现和我想的基本是一样的,老师对学生也比较和蔼可亲,对我们要求也不是很紧。

让每个人都觉得轻轻松松就能把这门课程学完,没有多么紧张的作业,也没有太苛刻的要求。

当老师在最后说这个课程结束了,回顾一下以前老师给我们讲过的东西,真的有很多是我们应该去注意的。

学习完SQL Sever数据库后感觉可分两大块,一块是开发,一块是管理。

开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。

有点类似于程序员。

开发还需要有较强的逻辑思维和创造能力,自己没有真正做过,但感觉应该会比较辛苦,是青春饭;管理则需要对SQL Sever 数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会弄掉整个数据库,相对前者来说,后者更看重经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、引言 (2)1.1、设计目的 (2)1.2、功能 (2)1.3、实习要求 (2)二、需求分析 (3)2.1、概要设计分析 (3)2.2、功能需求分析图 (3)三、总体设计 (6)3.1、数据库的设计 (6)3.2、应用程序窗体的设计 (8)(1)系统启动页面设计及脚本的编写: (8)(2)新书入库窗口设计: (9)(3)出版社信息管理窗口设计: (13)(4)图书检索窗口如下: (18)(5)图书证管理窗口如下: (21)(6)系统设置窗口如下: (30)(7)图书租借借书登记窗口如下: (31)(8)图书租借还书登记窗口如下: (37)(9)摘要测览窗口如下: (40)(10)摘要测览窗口如下: (41)(11)系统帮助窗口如下: (42)四、运行调试 (43)long和string的区别: (43)对ddlb下拉框的特殊处理: (43)(3)新书入库: (44)(4)图书证管理: (45)(5)图书租借: (45)(6)系统设置: (46)(7)图书测览: (47)(8)菜单: (49)五、总结与心得体会 (50)5.1、总结 (50)5.2、心得体会 (50)六、参考文献 (51)图书管理与查询系统一、引言1.1、设计目的(1)培养综合应用PowerBuilder进行应用程序设计和解决实际问题的能力;(2)加深对PowerBuilder编程环境和编程方法的理解;(3)发挥各人的想像能力和分析能力,拓展思维空间;(4)掌握应用程序设计的基本方法;(5)巩固已经学到的编程技术,学会在编程中学习编程。

1.2、功能(1)图书信息的录入和删除,出版社信息管理等;(2)图书的检索(包括按作者姓名、出版时间、出版社名称、图书类别、书名、关键字等);(3)图书的租借(包括借书登记、限借数量控制、还书登记、过期罚款计算等);(4)借书证件的管理(包括办新证件,挂失、注销等)(5)系统设置(主要是不同类型证件的可借书的总量和借书时间等)(6)统计资料(包括惜出数量与库存数量的比例,各类图书数量与总数量的比例,热门图书统计数据等各种信息资料的统计);(7)图书测览(包括对图书摘要的测览和新书测览);1.3、实习要求(1)按照应用程序设计的4个阶段进行,熟悉每个阶段需要解决的问题以及解决的方法;(2)使用SQL Server设计数据库和数据表,注意把握数据库的设计原则;(3)要求应用程序有菜单栏,操作方便;(4)必须完成功能(1)-(5)。

强调一点:在借书输入证件ID时,首先检索是否在“黑名单”和“挂失表”中,后再校验证件的真伪。

在借、还书时要显示本证件已借书的量和图书信息;证件注销时数据的参照完整性问题。

在系统设置中可随机设置不同借书书证件(如教师和学生)的可借书数量和借书的时间。

(5)应用程序界面和风格不作具体要求,各人按照自己的思路去做,发挥自己的创造。

二、需求分析2.1、概要设计分析根据本次课程设计的要求,把本次课程设计设计为八个模块,并分别实现其功能:(1)图书管理模块:新书入库、出版社信息管理。

(2)图书检索模块:按图书编号检索、按ISBN书号检索、按书名检索、按出版社ID检索。

(3)图书租借管理模块:借书登记办理、还书登记办理、借书过期罚款办理。

(4)借书证管理:借书证办理、借书证挂失办理(挂失和解挂)、借书证注销办理以及黑名单管理。

(5)系统设置模块:不同类型借书证的设置(借书天数、借书本数、过期一本书每天罚款金额)。

(6)统计资料模块:各类图书比例统计、库存与借出比例统计、热门书统计。

(7)图书预览:摘要预览、新书预览。

(8)帮助模块:功能说明、使用说明、版本信息。

2.2、功能需求分析图(2)图书管理模块:新书入库:输入图书信息,图书入库到BookInfo表中,且对图书进行分类,见图书了类型写入到BookClass,将出版社信息写入到PublisherInfo表中。

出版社信息管理:输入出版社publisherid检索出版社信息,若存在即可对该出版社信息进行修改、删除。

若不存在,也可将该出版社添加到PublisherInfo 表中。

(3)图书检索模块:按图书编号检索图书:主要是通过用户输入图书编号Bookid,以Bookid为检索条件对BookInfo表中的图书信息进行检索,并显示到数据窗口dw中。

按图书ISBN书号检索图书:主要是通过用户输入图书的ISBN书号,以ISBN 书号为检索条件对BookInfo表中的图书信息进行检索,并显示到数据窗口dw 中。

按图书书名检索图书:主要是通过用户输入图书书名title,以title为检索条件对BookInfo表中的图书信息进行检索,并显示到数据窗口dw中。

按出版社ID检索图书:主要是通过用户输入出版社ID(publisherid),以publisherid为检索条件对BookInfo表中的图书信息进行检索,并显示到数据窗口dw中。

(4)图书证管理模块:图书证办理:主要实现的是图书证ID不能相同,图书证类型与名称必须匹配。

图书证挂失办理:主要实现通过证件号(有效证件号码)检索证件信息,若挂失,则是挂失标记为1,若要解除挂失,则将挂失标记置为0。

图书证注销办理:主要是通过图书证ID检索图书证信息及图书证借还书信息,若要销毁该图书证,即就是将该图书证从CertificateInfo表中删除,但却不销毁借还书记录。

黑名单管理:主要是通过手动的将某一个借书证添加到黑名单中,或从黑名单中移除。

(5)系统设置模块:系统设置:主要是根据证件名称不同,设置不同证件的借书权限。

(6)图书租借模块:借书登记:主要是检索要借书的图书证是否是合法的图书证(即:该图书证存在、没有挂失、不是黑名单、借书数量没有超过最大限度、没有过期没有还的图书等等)。

还书登记:还书登记不需要知道还书的图书证信息,只需要根据图书编号进行还书即可。

(7)图书测览模块:新书预览:根据课程设计任务书中要求,根据图书的出版日期,在数据窗口dw中显示新书的信息,并且可以通过点击图书信息,在另一个数据窗口dw中获得该图书的详细信息。

概要预览:在数据窗口dw中显示所有图书的简要信息,可以通过点击图书,在mle输入框中中显示该图书的摘要。

(8)帮助信息模块:该模块仅为方便用户使用该系统设置。

三、总体设计3.1、数据库的设计创建数据库Book,该数据库中包含7个表,以供本系统使用。

(2)图书类型表BookClass,主要用来存放图书的类型号及类型名称。

(4)图书证件表CertificateInfo,主要用来存放图书证信息,也包括图书证的(5)借书权限设置表BookBorrowset,这个表是用来控制不同证件类型借书的权限。

(7)逾期罚款表PunishMoney,用来存放逾期的罚款,及逾期天数,以及罚款日3.2、应用程序窗体的设计(1)系统启动页面设计及脚本的编写:该页面为用户启动系统时显示的main页面。

用户可以通过点击上边的菜单栏进行选择要进行的某种操作。

(2)新书入库窗口设计:新书入库,主要实现的是图书的录入,并根据不同的类型分类。

BookInfo 表中可以存在图书名称相同的图书信息。

新书入库中,“入库”按钮在clicked事件下的脚本信息如下所示:long ll_bookid,ll_publisherid,ll_words,ll_number,ll_bg,ll_i,ll_a,ll_bookcount,ll_classidstring ls_title,ls_isbn,ls_author,ls_publisher,ls_keyword,ls_abstract,ls_j,ls_b,ls_classnamedouble ld_pricedate ld_publish,ld_bookinfotime//数据格式检验ld_bookinfotime=today()//新书入库时间ll_bg=0//初始化图书借出或归还标记为0if sle_bookid.text="" OR isNull(sle_bookid.text)then//图书编号验证messagebox("提示","请输入图书编号!")sle_bookid.setfocus()returnelse ll_bookid=long(sle_bookid.text)//取出图书编号ll_classid=long(sle_bookid.text)//取出图书编号给图书分类编号//检验图书编号有无重复select BookInfo.bookidinto :ll_i//记录图书编号from BookInfowhere BookInfo.bookid=:ll_bookid;if ll_i=ll_bookid thenmessagebox("图书编号输入错误","与编号第"+string(ll_i)+"号重复!请更正.")sle_bookid.setfocus()returnend ifend ifif sle_isbn.text="" OR isNull(sle_isbn.text)then//isbn书名验证messagebox("提示","请输入isbn书号!")sle_isbn.setfocus()return end ifif sle_title.text="" OR isNull(sle_title.text)then//书名验证messagebox("提示","请输入书名!")sle_title.setfocus()return end ifif sle_publish.text="" OR isNull(sle_publish.text)then//出版日期验证 messagebox("提示","请输入出版日期!")sle_publish.setfocus()returnend ifif isDate(sle_publish.text)thenld_publish=date(sle_publish.text)//取出版日期,ld_publish用来输入出版日期elsemessagebox("提示","请使用“年-月-日”的日期格式") sle_publish.setfocus()//sle_publish.text=""returnend if//由图书类型ddlb,取出类型选择if ddlb_classname.text="none" thenmessagebox("提示","请选择图书类型!")elsels_classname=trim(ddlb_classname.text)end if//由出版社ddlb,取出类型选择if ddlb_publisher.text="none" thenmessagebox("提示","请选择图书类型!")elsels_publisher=trim(ddlb_publisher.text)end ifif sle_author.text="" OR isNull(sle_author.text)then//作者姓名验证messagebox("提示","请输入作者姓名!")sle_author.setfocus()returnelseif sle_words.text="" OR isNull(sle_words.text)then//字数验证messagebox("提示","请输入字数!")sle_words.setfocus()returnelseif sle_number.text="" OR isNull(sle_number.text)then//印刷册数验证 messagebox("提示","请输入印刷册数!")sle_number.setfocus()returnelseif sle_price.text="" OR isNull(sle_price.text)then//定价验证messagebox("提示","请输入定价!")sle_price.setfocus()returnelseif sle_keyword.text="" OR isNull(sle_keyword.text)then//关键字验证 messagebox("提示","请输入关键字!")sle_keyword.setfocus()returnend if//取出数据ls_isbn=trim(sle_isbn.text)//取出isbn书号ls_title=trim(sle_title.text)//取出书名ls_author=trim(sle_author.text)//取出作者ll_words=long(sle_words.text)//取出字数ll_publisherid=long(sle_publisherid.text)//取出出版社号ll_number=long(sle_number.text)//取出印刷册数ld_price=double(sle_price.text)//取出定价ls_keyword=trim(sle_keyword.text)//取出关键字ls_abstract=trim(mle_abstract.text)//取出摘要//向数据库写入数据//将出版社编号和出版社名称写入数据库insert into "PublisherInfo"("publisherid","publisher")values(:ll_publisherid,:ls_publisher);//将图书类型和图书类型名称写入数据库insert into "BookClass"("classid","classname")values(:ll_classid,:ls_classname);insert into"BookInfo" ("bookid","isbn","title","publish","author","words","publisherid","number","price","keyword","abstract","bg","bookinfotime")values(:ll_bookid,:ls_isbn,:ls_title,:ld_publish,:ls_author,:ll_words,:ll_publisherid,:ll_number,:ld_price,:ls_keyword,:ls_abstract,:ll_bg,:ld_bookinfotime);messagebox("提示","新书《"+ls_title+"》入库成")//数据写入数据库后,将输入控件全部置空sle_bookid.text=""sle_isbn.text=""sle_title.text=""sle_publish.text=""sle_author.text=""sle_words.text=""sle_publisherid.text=""sle_number.text=""sle_price.text="" sle_keyword.text=""mle_abstract.text=""sle_bookid.setfocus()//将光标放到"图书编号"输入栏下拉列表框控件ddlb_publisher的Constructor事件的脚本:this.additem("高等教育出版社")this.additem("人民教育出版社")this.additem("安徽大学出版社")this.additem("北京十月文艺出版社") this.additem("长春出版社")this.additem("大连出版社")this.additem("电子工业出版社")this.additem("上海交通大学出版社") this.additem("社会科学文献出版社")this.additem("中国青年出版社")下拉列表框控件ddlb_classname的Constructor事件的脚本:this.additem("计算机/网络")this.additem("成功/励志")this.additem("动漫/幽默")this.additem("青春文学")this.additem("外国文学")this.additem("名人名著")this.additem("工具书")this.additem("文学")this.additem("小说")this.additem("少儿")this.additem("历史")this.additem("传记")this.additem("文化")this.additem("古籍")this.additem("教材")新书入库中,退出在clicked()事件中的脚本如下:Open(parent)其他窗体中的退出脚本同新书入库。

相关文档
最新文档