当前位置:文档之家› 空间数据库报告

空间数据库报告

武汉理工大学
《空间数据库》实验报告
班级:地理1502班姓名:xx 学号:xxx
第1章需求分析
1.1需求概述
图书管理系统主要是适用于学校的,通过oracle数据库进行逻辑处理,实现对图书、读者(学生)、出版社信息的增删改查,核心功能是实现借书和还书操作,亮点是增添了学生可以挂失和修改密码的功能。

下面设计的图书管理信息系统,这些功能均已实现。

1.2功能需求
图1.1
第2章概念设计
2.1 实体与属性
根据需求建立五个实体(admin,book,publisher,reader,booktype),并赋予其各自的属性,如图2.1
图2.1
2.2 初步E-R图
将各个局部E-R图合并,消除属性冲突、命名冲突、结构冲突,然后再用分析的方法或者规范化理论来消除冗余,生成基本E-R图,流程如图2.2,合并后的初步E-R图如图2.3所示。

图2.2
图2.3
第3章逻辑设计
3.1 逻辑结构设计
逻辑结构设计的流程图如图3.1所示,主要包括三个部分:1、将基本E-R图根据七条转化原则转化为一般数据模型;2、根据所选用的DBMS(Oracle)的功能及限制,将数据模型转换为Oracle 规定的模型。

图3.1
3.2 优化后的模型
管理员(职工号,姓名,性别,年龄,密码)
借阅者(卡号,姓名,年龄,性别,密码,专业,学院,最大借阅量)书籍(索书号,书名,作者,出版社号,类型号,价格,是否被借阅)出版社(出版社号,出版社名,电话,地址)
类型(类型号,类型名,所在楼层)
借阅(借阅号,借阅时间,归还时间,是否过期,卡号,索书号)
第4章物理设计
4.1 设计数据表
管理员表(admin)
图书表(book)
图书类型表(bookType)
借阅表(borrow)
4.2创建表空间及用户
创建表空间:
create tablespace lib datafile 'D:\biaokongjian\lib.dbf' size 32M autoextend on next 32m maxsize 2048m extent management local;
4.3创建数据表
管理员表:
create table admin ---用户表
(
adminId varchar2(10) primary key, --管理员Id
adminName varchar2(8) not null, --管理员姓名
adminSex varchar2((2), --性别
adminAge number, --年龄
adminPass varchar2(10) --管理员登录密码);
读者表
create table reader --图书类别表
(
readerId varchar2(10) primary key, --读者编号
readerPass varchar2(10) not null, --读者登录密码
readerName varchar2(10) not null, --读者姓名
readerSex varcahr2(2) not null, --性别
readerAge number not null, --年龄
readerDept varchar2(20) not null --学院
readerZhuanye varchar2(20) not null --专业
maxNumber number, --最大借阅量
Islost varchar2(2) --是否挂失
);
图书表
create table book --图书表
(
bookId varchar2(10) primary key, --图书Id
bookName varchar2(20) not null, --图书名称
bookWritter varchar2(10) not null, --作者
bookType number not null foreign key (bookTypeId) references bookType (bookTypeId) ,
--图书类型Id
publisherId varchar2(10) not null foreign key (publishId) references publisher (publisherId) ,
--出版社Id
bookPrice float not null, --价格
Ifborrow varchar2(2) not null --是否借出
);
图书类型表
create table booktype --图书类型表
(
bookTypeId number primary key, --图书类型Id
bookTypeName varchar2(10) not null, --图书类型名称
flow vachar2(4) not null, --楼层
);
借阅表
create table borrow --借阅表
(
borrowId varchar2(10) primary key --借阅流水账
bookId varchar2(10) not null foreign key (bookId) reference from book(bookId),
--图书Id
readerId varchar2(10) not null foreign key (readerId ) reference from reader(readerId),
--读者Id
borrowTime varchar2(50) not null, --借阅时间
returnTime varchar2(50), --还书时间
outTime varchar2(6) --是否归还
);
出版社表
create table bookType --出版社表
(
publisherId varchar2(10) primary key --出版社Id
publisherName varchar2(20) not null --出版社名称
publisherAddress varchar2(20) not null --出版社地址
borrowTime varchar2(50) not null, --借阅时间
publisherTel varchar2(11) --出版社电话
);
4.4插入具体数值
表格里面的具体数值需要人工导入或者用代码添加进去,在此不一一赘述。

第5章实现与维护
5.1 C#总体设计
为了实现上述的所有功能,C#里需要创建以下窗体和相应的方法类:为了实现上述的所有功能,C#里需要创建以下窗体和相应的方法类:addbook.cs addpublisher.cs addreader.cs admin.cs adminborrow.cs adminsearchbook.cs adminsearchpublisher.cs adminsearchreader.cs Dbhelper.cs login.cs reader.cs readerborrow.cs readerinfo.cs
reachersearchinfo.cs readersearcherbook.cs userhelper.cs;
具体所实现的功能如图5.1所示:
图.5.1
5.2 成果展示
登录界面如下,可以选择不同身份登录(管理员和借阅者),这种设计便于管理图书信息系统,实现不同人群所需要的不同功能。

其中管理员和借阅者信息均保存在数据库中,通过判断语句,如果能找到匹配的信息,就会登录成功,否则就会失败。

如果以管理员身份登录,登录成功后弹出“管理员”的主界面,若以借阅者身份登录,则弹出“借阅者”主界面,同时登录窗体会隐藏。

这里利用MenuStrip控件和工具栏控件ToolStrip控件将功能集成起来。

实现的功能
总结
通过这次比较完整的一个程序的设计,我们摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我们的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我们查阅文献资料、对程序整体的把握等其他能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我们的能力得到了锻炼,经验得到了丰富。

这是我们都希望看到的也正是我们进行课程设计的目的所在。

虽然课程设计内容繁多,过程繁琐,但付出都有了回报。

通过这次实验,我对空间数据库的设计有了更加深入的了解与掌握,也更加充分完善的学习了C#里各种组件的运用,各种算法的应用,类
的应用,各种控件的利用。

总的来说受益匪浅,谢谢老师为我们提供这次锻炼机会。

相关主题