基于C#的图书管理系统数据库设计报告

news2024/11/23 8:02:17

第一章 问题描述

1.1 图书管理系统简介

本系统利用.NET处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关读者、出版社、书籍、借阅和管理者的信息等。

本系统的结构分为读者信息管理模块、出版社信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块、报表显示模块和查询处理模块。

1.2 数据需求

根据系统的需求,首先将要记录的信息分类,要记录的信息如下。

⑴读者信息:包括证号、姓名、联系方式、已借书数目、读者类别和能否借书等。

⑵出版社信息:包括名称、地址、网址、E-mail等。

⑶书籍信息:包括书号、丛书系列、作者、责任编辑、字数、定价、出版时间、主题分类、二级分类、馆内借阅分类、总册数、库存量、出版社和书名等。

⑷借阅信息:包括借阅日期、应归还日期、实际归还日期、能否续借、书号和证号等。

⑸管理者信息:包括管理者名称、对应密码和对应权限等。

根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。

1.3 事务需求

经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块,如1.1图。

⑴在读者信息管理部分,要求如下。

  1. 可以浏览读者信息。
  2. 可以对读者信息进行维护,包括添加及删除等操作。

⑵在出版社信息管理部分,要求如下。

  1. 可以浏览出版社信息。
  2. 可以对出版社信息进行维护,包括添加及删除等操作。

⑶在书籍信息管理部分,要求如下。

  1. 可以浏览书籍信息。
  2. 可以对书籍信息进行维护,包括添加及删除等操作。

⑷在借阅信息管理部分,要求如下。

  1. 可以浏览借阅信息。
  2. 可以对借阅信息进行维护操作。

⑸在管理者信息管理部分,要求如下。

  1. 显示当前数据库中管理者情况。
  2. 对管理者信息维护操作。

图1.1 系统业务逻辑关系

第二章 解决方案

数据库主要着重于数据对象的属性和数据对象之间的关系的分析。一般采用E-R图,即实体-关系模型来分析数据对象的属性和数据对象之间的关系。

2.1 E-R模型设计

第一章 问题描述

1.1 图书管理系统简介

本系统利用.NET处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关读者、出版社、书籍、借阅和管理者的信息等。

本系统的结构分为读者信息管理模块、出版社信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块、报表显示模块和查询处理模块。

1.2 数据需求

根据系统的需求,首先将要记录的信息分类,要记录的信息如下。

⑴读者信息:包括证号、姓名、联系方式、已借书数目、读者类别和能否借书等。

⑵出版社信息:包括名称、地址、网址、E-mail等。

⑶书籍信息:包括书号、丛书系列、作者、责任编辑、字数、定价、出版时间、主题分类、二级分类、馆内借阅分类、总册数、库存量、出版社和书名等。

⑷借阅信息:包括借阅日期、应归还日期、实际归还日期、能否续借、书号和证号等。

⑸管理者信息:包括管理者名称、对应密码和对应权限等。

根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。

1.3 事务需求

经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块,如1.1图。

⑴在读者信息管理部分,要求如下。

  1. 可以浏览读者信息。
  2. 可以对读者信息进行维护,包括添加及删除等操作。

⑵在出版社信息管理部分,要求如下。

  1. 可以浏览出版社信息。
  2. 可以对出版社信息进行维护,包括添加及删除等操作。

⑶在书籍信息管理部分,要求如下。

  1. 可以浏览书籍信息。
  2. 可以对书籍信息进行维护,包括添加及删除等操作。

⑷在借阅信息管理部分,要求如下。

  1. 可以浏览借阅信息。
  2. 可以对借阅信息进行维护操作。

⑸在管理者信息管理部分,要求如下。

  1. 显示当前数据库中管理者情况。
  2. 对管理者信息维护操作。

图1.1 系统业务逻辑关系

第二章 解决方案

数据库主要着重于数据对象的属性和数据对象之间的关系的分析。一般采用E-R图,即实体-关系模型来分析数据对象的属性和数据对象之间的关系。

2.1 E-R模型设计

2.1.1 实体列表

实    体

描     述

读    者

所有借阅者,查阅者,由证件号标识

出 版 社

图书馆所有图书所属出版社,由出版社编号标识

书    籍

图书馆所有图书,由刊号标识

借    阅

书号、证号、借阅日期、应归还日期等属性,由方式标识

系统管理员

系统维护人员

2.1.2 系统的E-R模型

该图书管理系统的E-R模型,如下图所示

2.2 设计数据库

2.2.1创建数据库

(1)在服务器资源管理器中的任一节点右击。

(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名Library,选中“使用WindowsNT集成安全性”单选按钮。

(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。

2.2.2创建数据表

创建数据库后,为Library数据库添加数据表,步骤如下。

(1)在服务器资源管理器中右击数据库Library下的“表”文件夹。在弹出的快捷菜单中执行“新建表”命令,出现表设计器。

(2)添加表的字段和其他详细资料。各表数据结构如下表所示。

表  名

列  名

数据类型

长 度

主  键

出版社信息

出版社名称

varchar

50

Yes

出版社地址

varchar

50

网址

char

50

E-mail

char

50

读者信息

证号

int

4

Yes

姓名

varchar

20

联系方式

varchar

50

已借书数目

int

4

读者类别

int

4

能否借书

bit

1

密码

varchar

6

借阅信息

书号

char

10

Yes

证号

int

4

Yes

借阅日期

datetime

8

应归还日期

datetime

8

实际归还日期

datetime

8

续借

bit

1

书籍信息

书号

char

10

Yes

丛书系列

nchar

50

作者

nchar

50

责任编辑

nchar

50

字数

int

4

定价

money

8

出版时间

datetime

8

主题分类

nchar

50

二级分类

char

50

馆内借阅分类

int

4

总册数

int

4

库存量

int

4

出版社

varchar

50

书名

varchar

50

管理者信息

用户名称

char

20

Yes

密码

char

20

权限

int

4

表2.1 图书管理系统各表数据结构

2.2.3连接数据库

为数据库Library和本系统之间建立一个数据连接。

(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中的Microsoft OLE DB Provider for SQL Server项。单击“下一步”切换到Connection选项卡。

(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库Library,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。

2.3主窗体设计

创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“主窗体”,把“主窗体”作为本系统中的主界面。在窗体中添加两个Pannel控件,7个Button控件和7个Linklabel控件。(详细部分正在设计中,略。)

第四章 结束语

任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。

数据库应用系统开发的过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段。根据数据库应用系统的复杂程度,不一定完全刻板地遵守上述步骤,但是,可行性研究、需求分析、系统设计、程序编码、程序调试是不可缺少的。

本次课程设计制作了一个简单的图书馆管理系统,实现了一些图书管理和借阅功能,但与实际系统还是有很大差别的。首先是对应用情况做了简单的理想化处理,因而难以反映实际工作中可能遇到的实际问题;其次,未考虑用户操作中可能出现的错误的处理,而实际上这种错误的处理程序可能占应用系统的很大一部分。如本系统在需求分析和程序健全性方面均存在一些问题,为了解决这些不完善之处,需要在今后的进一步学习中,逐步深入,不断积累经验,不但提高。

2.1.1 实体列表

实    体

描     述

读    者

所有借阅者,查阅者,由证件号标识

出 版 社

图书馆所有图书所属出版社,由出版社编号标识

书    籍

图书馆所有图书,由刊号标识

借    阅

书号、证号、借阅日期、应归还日期等属性,由方式标识

系统管理员

系统维护人员

2.1.2 系统的E-R模型

该图书管理系统的E-R模型,如下图所示

2.2 设计数据库

2.2.1创建数据库

(1)在服务器资源管理器中的任一节点右击。

(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名Library,选中“使用WindowsNT集成安全性”单选按钮。

(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。

2.2.2创建数据表

创建数据库后,为Library数据库添加数据表,步骤如下。

(1)在服务器资源管理器中右击数据库Library下的“表”文件夹。在弹出的快捷菜单中执行“新建表”命令,出现表设计器。

(2)添加表的字段和其他详细资料。各表数据结构如下表所示。

表  名

列  名

数据类型

长 度

主  键

出版社信息

出版社名称

varchar

50

Yes

出版社地址

varchar

50

网址

char

50

E-mail

char

50

读者信息

证号

int

4

Yes

姓名

varchar

20

联系方式

varchar

50

已借书数目

int

4

读者类别

int

4

能否借书

bit

1

密码

varchar

6

借阅信息

书号

char

10

Yes

证号

int

4

Yes

借阅日期

datetime

8

应归还日期

datetime

8

实际归还日期

datetime

8

续借

bit

1

书籍信息

书号

char

10

Yes

丛书系列

nchar

50

作者

nchar

50

责任编辑

nchar

50

字数

int

4

定价

money

8

出版时间

datetime

8

主题分类

nchar

50

二级分类

char

50

馆内借阅分类

int

4

总册数

int

4

库存量

int

4

出版社

varchar

50

书名

varchar

50

管理者信息

用户名称

char

20

Yes

密码

char

20

权限

int

4

表2.1 图书管理系统各表数据结构

2.2.3连接数据库

为数据库Library和本系统之间建立一个数据连接。

(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”命令,打开Data Link Properties对话框。切换到Provider选项卡,选中列表框中的Microsoft OLE DB Provider for SQL Server项。单击“下一步”切换到Connection选项卡。

(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后选择数据库Library,然后单击Test Connection按钮。如果测试成功,单击“确定”按钮。

2.3主窗体设计

创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗体命名为“主窗体”,把“主窗体”作为本系统中的主界面。在窗体中添加两个Pannel控件,7个Button控件和7个Linklabel控件。(详细部分正在设计中,略。)

第四章 结束语

任何一个社会组织和企业公司在发展过程中都会产生大量的数据,这些数据的组织存储、分析统计有利于提高企业的发展,有利于提高企业的效率。这些数据的组织和存储就是数据模型,就是数据库应用系统开发的任务。

数据库应用系统开发的过程一般包括可行性研究、需求分析、系统设计、程序编码、程序调试和系统维护六个阶段。根据数据库应用系统的复杂程度,不一定完全刻板地遵守上述步骤,但是,可行性研究、需求分析、系统设计、程序编码、程序调试是不可缺少的。

本次课程设计制作了一个简单的图书馆管理系统,实现了一些图书管理和借阅功能,但与实际系统还是有很大差别的。首先是对应用情况做了简单的理想化处理,因而难以反映实际工作中可能遇到的实际问题;其次,未考虑用户操作中可能出现的错误的处理,而实际上这种错误的处理程序可能占应用系统的很大一部分。如本系统在需求分析和程序健全性方面均存在一些问题,为了解决这些不完善之处,需要在今后的进一步学习中,逐步深入,不断积累经验,不但提高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1003768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云轻量应用服务器详细介绍_轻量值得买吗?

腾讯云轻量应用服务器开箱即用、运维简单的轻量级云服务器,CPU内存带宽配置高并且价格特别优惠,轻量2核2G3M带宽95元一年、2核2G4M优惠价112元一年,396元三年、2核4G5M带宽168元一年,628元3年、4核8G12M带宽446元一年,…

面经pc端项目

创建项目 安装脚手架-----创建项目------选择自定义 sass基础语法 https://www.sass.hk/ sass语法有两个:sass(旧) scss(新) 1.scss语法 和less语法类似,支持嵌套,支持变量… scss: $变量名 less: @变量名 $color:orange; .box{width: 400px;height: 400px;borde…

Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改

要修改SSH的显示样式,您可以使用自定义的PS1(提示字符串1)变量来更改命令行提示符的外观。在您的情况下,您想要的格式似乎包括日期和时间,以及当前目录。以下是一个示例PS1设置,可以实现您所描述的样式&…

LVS -DR

一、DR模式数据包流向分析 1.Client 客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源IP是 CIP,目的IP 是VIP)到达内核空间。 2.Director Server(负载均衡器)和 R…

【猿灰灰赠书活动 - 06期】- 【计算机考研书单——408专属】

👨‍💻本文专栏:赠书活动专栏(为大家争取的福利,免费送书) 👨‍💻本文简述:博文为大家争取福利,与机械工业出版社合作进行送书活动 👨‍&#x1f…

【软件测试】设计优秀的测试用例

前言 我从来没有好好的写过一个测试用例,之前做开发虽然写单元测试和流程测试,基本上都是基于自己的代码,而且单元测试和流程测试的框和规范已经非常完善,你只需要填空就行,后来转做自动化测试,但我的做事…

Python入门教程 | Python 函数与参数

函数简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这…

【数据结构】 Map和Set详解

文章目录 &#x1f340;Map与Set的概念及场景&#x1f333;Map与Set模型介绍&#x1f3a8;Map 的使用&#x1f4cc;Map说明&#x1f4cc;Map.Entry<K, V>的说明&#x1f4cc;Map 的常用方法说明&#x1f6a8;注意事项&#x1f6a9;TreeSet的使用 &#x1f38b;Set 的说明…

无涯教程-JavaScript - IPMT函数

描述 IPMT函数根据定期,固定的还款额和固定的利率返回给定投资期限内的利息支付。 语法 IPMT (rate, per, nper, pv, [fv], [type])争论 Argument描述Required/OptionalRateThe interest rate per period.RequiredPerThe period for which you want to find the interest a…

Linux安装Redis(详细教程)

Linux安装Redis 注&#xff1a;希望将redis安装到此目录 /usr/local/redis 希望将安装包下载到此目录 /usr/local/src 可自己选择 1.创建安装目录/usr/local/redis mkdir /usr/local/redis 2.进入安装包目录 cd /usr/local/redis 3.进行下载安装包 wget https://download…

多重数据保障,数据安全可靠!移动云云数据库 my SQL成为多行业“守护者”

投入高、周期长、不灵活、持续运维压力大、既费时又耗钱&#xff0e;&#xff0e;&#xff0e;&#xff0e;&#xff0e;传统自建数据库基于传统开发模式的限制&#xff0c;存在很多使用的痛点和不足。而移动云的云数据库mySQL&#xff0c;可以说通过自己的优势一一击破了这些使…

uniapp-地区的四级联动

本来填写订单的页面选地址是三级联动的 但是由于领导的要求&#xff0c;需要改成四级联动 解决思路 最开始用的是官方的 picker , 所以我去翻看了uniapp 的官网 我们需要用到的是多列模式 解决步骤 1. 先封装对应的请求 /*** 获取省市县街道的列表*/ export const getA…

电脑和手机查看ip地址

文章目录 看电脑 ip 地址查看手机 ip 地址浏览器访问网址获取ip&#xff08;电脑和手机都能用&#xff09; 看电脑 ip 地址 【方法一】 1、电脑右下角找到连接的网络 2、拉到最下面属性即可看到 IP 地址 在这里插入图片描述 【方法二】 1、Win R 然后输入 cmd 打开命令行 …

Springboot后端跨域处理

跨域 当一台服务器资源从另一台服务器&#xff08;不同的域名或者端口&#xff09;请求一个资源或者接口&#xff0c;就会发起一个跨域HTTP请求。 同源&#xff1a;协议、域名、端口都相同 只要一个不同&#xff0c;就是跨域。 例子 请求方响应方是否跨域原因http://www.ba…

BIO NIO AIO演变

Netty是一个提供异步事件驱动的网络应用框架&#xff0c;用以快速开发高性能、高可靠的网络服务器和客户端程序。Netty简化了网络程序的开发&#xff0c;是很多框架和公司都在使用的技术。 Netty并非横空出世&#xff0c;它是在BIO&#xff0c;NIO&#xff0c;AIO演变中的产物…

R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...

全文链接&#xff1a;https://tecdat.cn/?p33609 Reaven和Miller&#xff08;1979&#xff09;研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D&#xff0c;并发现了一个奇特的图案&#xff0c…

Golang教程与Gin教程合集,入门到实战

GolangGin框架GormRbac微服务仿小米商城项目实战视频教程Docker Swarm K8s云原生分布式部署 介绍&#xff1a; Go即Golang&#xff0c;是Google公司2009年11月正式对外公开的一门编程语言&#xff0c;它不仅拥有静态编译语言的安全和高性能&#xff0c;而 且又达到了动态语言开…

将linux上的文件/文件夹下载到本地

要进行此操作 你的电脑需要有 ssh 如果没有安装 可以参考我的文章 windows系统安装SSH 其实非常简单 但您需要知道自己的文件在哪个路径下 如果不知道 例如 我知道我想下的文件叫 dist 可我不知道他在那个目录 我们可以在服务器中输入 find / -name "dist"这样 所有…

treeview形式的checkbox(wpf、c#)

如何实现treeview形式的checkbox&#xff0c;并且父节点和子节点的选中状态可相互影响。示例图&#xff1a; 代码如下&#xff1a; wpf代码&#xff1a;treeview绑定的数据是PermissionDataCollection。 <TreeView ItemsSource"{Binding PermissionDataCollection}…

只需3步,用华为云CodeArts快速搭建一个网上商城

华为云软件开发生产线CodeArts是面向开发者提供的一站式云端DevSecOps平台&#xff0c;其提供的10多个子服务覆盖了需求下发、代码提交、代码检查、代码编译、验证、部署、发布等软件交付全生命周期环节&#xff0c;提供软件研发流程的端到端支持。 华为端到端&#xff08;HE2…