局域网图书资料查询系统
体类型开始,最后再加入独立的局部结构。
>3)消除冲突
冲突分为三类:属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使
之成为能够被所有用户共同理解和接受的同一的概念模型。
3)全局ER模式的优化
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化
。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型
的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
4.3.2 逻辑设计
由于概念设计的结果是ER图,DBMS一般采用关系型,因此数据库的逻辑设计过程就是把ER图转化
为关系模式的过程。由于关系模型古有的优点,逻辑设计可以充分运用关系数据库规范化理论,
使设计过程形式化地进行。设计结果是一组关系模式的定义。
1)导出初始关系模式
图4-5 关系模式集
2)关系子模式
子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模
式中相应数据的联系,即指出概念模式与子模式之间的对应性。
图书信息子模式((编号#,资料名称,作者,出版社,出版日期,ISBN,资料类别,购买日期
,保管人,备注)用户信息子模式(编号,用户代码,用户姓名,登录口令,使用权限,查询显
示项,用户显示头像)
图4-6 部分子模式
4.3.3 数据库的实现
我们选用Microsoft Office中的Access数据库来进行数据库的逻辑设计。首先创建四个基本数据
库表如如4-1-4-5所示,然后建立各个表之间的联系,如图4-8所示。
第五章 局域图书资料查询系统应用程序设计
§5.1 系统模块组成
§5.2 登录模块实现
图5-2 登录模块图
该窗口所含的控件信息如下:
风 格 控件名 说 明
用户名 Single line edit Sle_1 ------
口令 Single line edit Sle_1 Propeties:passwd
登录日期 Edit Mask Em_1 mask type:datamm/dd/yyyy
表5-1 登录模块控件信息表
控件:Sle_1 事件(event):Modified Script of modified:
string input_code,namesetfocus() file://将光标定位在该控件
input_code=string(this.text) file://接收用户输入的值,并赋值给变量select name into
:name from keeperwhere id=:input_code or pym=:input_code;//从用户表里查找满足输入条件
的记录if sqlca.sqlcode=0 then this.Text=name setfocus(sle_2) file://查找成功,则光
标跳转到“口令”控件else if sqlca.sqlcode=100 then messagebox("提示!",& "对不起,
用户不存在!",& StopSign!) return 1 file://查找不到符合条件的记录则提示 else
messagebox("错误!",& "error:"+string(sqlca.sqldbcode)& +"information:"+sqlca.
sqlerrtext) file://SQL出错提示 end ifend if
控件:Sle_2 事件(event):Modified Script of modified: