毕业论文:图书馆管理系统开发与分析内容摘要:

类型 在库册数 读者信息信息 读者账号 读者姓名 出生年月 院系 班级 联系电话 密码 家乡 新疆财经大学 2020 届 学年实习报告 9 3. 逻辑结构设计 数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。 如果程序运行过程中需要总金额,可 以实时计算。 不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。 这就是所谓的第四范式。 数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。 表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。 另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成 CHAR(1)或 BIT 型。 建议实际应用中定义成 CHAR(1)字段可以存储多种可能的 状态,在最初设计时,可能我们没有考虑到的一些情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。 本 系统 数据库中 包括的主要表如下 : 图书信息表: 字段名称 (ColumnName) 类型 (Datatype) 字段大小 (width) 可否为空 (null) 图书 编号 char 10 N 图书名称 char 20 N 出版社 char 20 Y 出版日期 date Y 作者 char 20 Y 类型 char 10 N 在库册数 integer N 新疆财经大学 2020 届 学年实习报告 10 读者信息表: 字段名称 (ColumnName) 类型 (Datatype) 字段大小 (width) 可否为空 (null) 读者账号 char 10 N 读者姓名 char 20 N 性别 Char 2 Y 院系 char 20 N 班级 Char 20 N 出生年月 Date 20 Y 联系电话 char 10 Y 家乡 Char 20 Y 密码 char 20 N 用 户表: 字段名称 (ColumnName) 类型 (Datatype) 字段大小 (width) 可否为空 (null) 账号 char 10 N 用户名 char 20 N 联系电话 Char 11 N 住址 char 20 N 密码 Char 10 N 权限 Char 8 N 借阅表: 字段名称 (ColumnName) 类型 (Datatype) 字段大小 (width) 可否为空 (null) 借阅编号 char 10 N 借阅编号 char 20 N 图书编号 Char 11 Y 数量 char 20 Y 日期 Char 10 N 四、系统实现 (一)数据库的连接 在该系统中 , 我们先建立一个 “ workspace” ,命名为 “ ”, 然后再建立一个新疆财经大学 2020 届 学年实习报告 11 “ application” ,命名为 “ ”, 接着建立窗口 “ login” 和 “ w_main”, 最后我们要建立了一个数据库 “ ”, 里面包括了上文所描述的四个基本表 , 其设计如上所述 ,并在检验连接成功后在 “ ” 中与我们的 “ 接收订单系统 ” 建立连接 , 其连接语句为 : // Profile = ODBC = False = ConnectString=39。 DSN=。 UID=dba。 PWD=sql39。 connect using sqlca。 if 0 then messagebox(失败。 ,数据库连接失败。 ) halt else messagebox(成功。 ,数据库连接成功。 ) open(logo) end if (二) 闪屏界面的实现 1 .闪屏界面 窗口的 open 事件代码如下: 新疆财经大学 2020 届 学年实习报告 12 timer() 窗口的 timer 事件代码如下: if = then timer(0) open(login) close(logo) else = + end if ( 三 )用户登陆 实现 1 .用户登陆界面 图 登陆窗口图 功能介绍:本窗口主要是检查操作员输入的用户名及密码是否正确,如果正确,允许登录。 如果错误,显示出错误提示。 操作方法:填写 “ 用户名 ” 与 “ 密码 ” 后,点击 “ 登录 ” 按钮进行验证,点击 “ 取消 ” 退出。 2 .主要代码如下 在窗口对象 w_login 中 定义 以下 全局 变量 : string b1,b2,b3 int int1 = 1 登录窗口 w_lpgin 的 登录按钮 P_1 的 clicked 事件下程序代码如下 : if =39。 39。 then messagebox(39。 39。 ,39。 姓名不能为空 39。 ) 新疆财经大学 2020 届 学年实习报告 13 return end if if =39。 39。 then messagebox(39。 39。 ,39。 密码不能为空 39。 ) return end if if then select yh_info.id,yh_info.mm,yh_info.qx into:b1,:b2,:b3 from yh_info where yh_info.id =: using sqlca。 if b1 = then messagebox(39。 39。 ,39。 无此用户 !39。 ) return end if if b2= then open(w_main) close(login) if b3=管理员 then .m_读者更改密码 .enabled=false .m_借阅 .enabled=false .m_还书 .enabled=false end if if b3=工作人员 then .m_读者更改密码 .enabled=false .m_读者信息维护 .enabled=false .m_图书信息维护 .enabled=false .m_用户管理 .enabled=false end if else messagebox(39。 提示 39。 ,39。 密码错误 !, 39。 ) int1 = int1+1 =39。 39。 新疆财经大学 2020 届 学年实习报告 14 () end if if int1 3 then messagebox(39。 提示 39。 ,39。 您已经输入三次错误的密码 ,您无权登录此系统 ,系统即将退出 !!!39。 ) close(login) end if elseif then select dz_info.dzid,dz_info.mm into:b1,:b2 from dz_info where dz_info.dzid=: using sqlca。 if b1 = then messagebox(39。 39。 ,39。 无此用户 !39。 ) return end if if b2= then open(w_main) close(login) .m_管理员即工作人员更改密码 .enabled=false .m_借阅 .enabled=false .m_还书 .enabled=false .m_读者信息维护 .enabled=false .m_图书信息维护 .enabled=false .m_用户管理 .enabled=false else messagebox(39。 提示 39。 ,39。 密码错误 !, 39。 ) int1 = int1+1 =39。 39。 () end if if int1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。