图书管理系统c++_小白是这样打造图书管理系统的(二)

aada8784ea2f0c3068c3f9c6df39d2b7.png WeChat @网管小贾 | www.sysadm.cc

前文参考:

《小白是这样打造图书管理系统的(一)》

书接上文,我们说到我们已经完成了数据库后台核心以及访问核心的客户端工具的安装。

完成了这些,我们就可以开始构建我们想要的数据库了。

这时,认真听讲的你肯定会举起小手提问,为什么要构建数据库,构建怎样的数据库,怎么构建?

不错,小同学你很聪明嘛,不过不要着急,待我慢慢道来!

在使用数据库前,我们肯定需要先设计好它,然后再导入到数据后台引擎中才能正常使用。

打个比方,就好比图书放在书架上一样,图书需要事先分门别类。

那么,图书是怎么做到分门别类的呢?

很简单啊,设计不同类别的书架,再把相应类别的图书放上去不就好了!

你看看,类似论如何把大象塞进冰箱,就是这么简单哈!

那么如何设计不同类别的书架呢?

这正是我们现在要解决的问题,当然,我们是通过设计数据库来实现,把不同类别的数据放到相应类别的数据字段中。

第二弹:设计数据库

一、数据表结构
1、创建数据库

在 Windows 系统命令控制台上,输入以下命令。

# 新建目录 C:\BMS2020\DATA,用于放置数据库文件mkdir -p C:\BMS2020\DATA

在 SSMS 查询窗口中执行以下命令。

-- 创建数据库 BMS2020USE [master]CREATE DATABASE [BMS2020] ON  PRIMARY( NAME = N'BMS2020', FILENAME = N'C:\BMS2020\DATA\BMS2020.mdf' , SIZE = 6144KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON( NAME = N'BMS2020LOG', FILENAME = N'C:\BMS2020\DATA\BMS2020.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

09cd528ff7c12947e3e83b26a5e0d108.png

右击 SSMS 左侧数据库一项,刷新后点开 BMS2020 > 表,可以看到还没有用户表。

cec5058f85cc9ca1d8017d11d3ed5a06.png

2、创建数据表

使用以下SQL语句构建数据表,一共三张表,分别是图书数据表、读者数据表和日志数据表。

USE [BMS2020]-- 图书数据表CREATE TABLE [dbo].[bms_book]([book_ID] [nchar](20) NULL,[book_title] [nchar](50) NULL,[book_Press] [nchar](20) NULL,[book_Author] [nchar](20) NULL,[book_ISBN] [nchar](20) NULL,[book_PublishTime] [datetime] NULL,[book_Price] [nchar](10) NULL,[book_DateStorage] [datetime] NULL,[book_BeLent] [tinyint] NULL,[book_BeLentCounts] [int] NULL,[book_Remark] [text] NULL) ON [PRIMARY]
-- 读者数据表CREATE TABLE [dbo].[bms_reader]([reader_ID] [nchar](15) NULL,[reader_Name] [nchar](10) NULL,[reader_Gender] [nchar](10) NULL,[reader_BeLent] [tinyint] NULL,[reader_BeLentCounts] [int] NULL) ON [PRIMARY]-- 日志数据表CREATE TABLE [dbo].[bms_log]([log_ID] [nchar](20) NULL,[log_Reader_ID] [nchar](15) NULL,[log_Reader_Name] [nchar](10) NULL,[log_Book_ID] [nchar](20) NULL,[log_Book_Title] [nchar](50) NULL,[log_Date_Lent] [datetime] NULL,[log_Date_Return] [datetime] NULL) ON [PRIMARY]

三张数据表成功生成了。

2c7836b8803693391a328e7b79913836.png

如果你在设计数据表结构时,发现无法保存更改,那么就需要在 SSMS 选项中修改设定。

c74e3c5a22f5f7b50e90b810208d6bdd.png

SSMS 菜单的 工具 > 选项 ,找到左侧 设计器 > 表设计器和数据库设计器 ,把右侧 阻止保存要求重新创建表的更改 一项的钩去掉后确定保存即可。

39f43f98ea7a788a7bc4cd08c0245819.png

二、填充测试数据

光有了数据表还远远不够,里面空空如也没有数据,我们得往里面放点测试数据。

我们要管理图书,当然系统中先要有图书,所以我们需要先导入图书信息。

-- 填充图书数据USE [BMS2020]INSERT INTO [dbo].[bms_book]           ([book_ID]           ,[book_title]           ,[book_Press]           ,[book_Author]           ,[book_ISBN]           ,[book_PublishTime]           ,[book_Price]           ,[book_DateStorage]           ,[book_BeLent]           ,[book_BeLentCounts])     VALUES           ('B20130605161450'           ,'中国茶道-茶'           ,'内蒙古人民出版社'           ,'陈虹'           ,'9787204084500'           ,'2006-06-01 00:00:00.000'           ,'30'           ,'2013-06-04 19:21:25.000'           ,0           ,0),   ('B20130605161451'           ,'江南--不沉之舟'           ,'中国文联出版社'           ,'祝勇'           ,'9787507962712'           ,'2006-01-03 00:00:00.000'           ,'22'           ,'2013-06-04 20:02:14.000'           ,0           ,0),          ('B20130605161452'           ,'放弃是一种有效选择'           ,'中国纺织出版社'           ,'韩岊'           ,'9787506440806'           ,'2013-06-07 00:00:00.000'           ,'18'           ,'2013-06-04 19:21:25.000'           ,0           ,0)

05a602b8ddbea94c0e4efabe8590abeb.png

其次,我们还需要读者信息。

-- 填充读者信息USE [BMS2020]INSERT INTO [dbo].[bms_reader]           ([reader_ID]           ,[reader_Name]           ,[reader_Gender]           ,[reader_BeLent]           ,[reader_BeLentCounts])     VALUES           ('R00001'           ,'胡闹闹'           ,'男'           ,0           ,0),   ('R00002'           ,'亚历特山大'           ,'男'           ,0           ,0),           ('R00003'           ,'安妮卡烈尼不娜'
          ,'女'           ,0           ,0)

f1906676e72405bfe21a78c7d415052d.png

最后,是读者借阅图书的记录信息。

-- 填充借阅记录信息USE [BMS2020]INSERT INTO [dbo].[bms_log]           ([log_ID]           ,[log_Reader_ID]           ,[log_Reader_Name]           ,[log_Book_ID]           ,[log_Book_Title]           ,[log_Date_Lent]           ,[log_Date_Return])     VALUES          ('L20130705153849'           ,'R00001'           ,'胡闹闹'           ,'B20130605161452'           ,'放弃是一种有效选择'           ,'2020-07-05 15:43:09.000'           ,'2020-07-15 15:43:09.000')

1d1923716f6ea83199b0e747fa90e2ca.png

以上仅仅作为演示例子,设计了一些基本的数据表和字段。

如果是在实际复杂业务情况下,可能会涉及到更多的字段或数据表。

比如图书种类(文学类还是科技类等)、图书所在书架位置或图书其它一些信息等等。

又比如不同批次图书或不同部门图书等等情况下的多表关联问题等等。

还有,为了更加简单易理解,这里不涉及索引之类的内容,我们先把项目做出个雏形出来,有了初步的感性认识后再细化强化完善各个功能。

OK,数据我们已经设计好了,下一步我们就可以通过编程来访问操作这些数据了。

那么具体怎么做呢?

好了,休息一下先,我知道好学的你不累,但直觉告诉我,下一集是重点,内容繁多。

咱们下一集再展开细讲,不要迟到哦!

继续阅读:

《小白是这样打造图书管理系统的(三)》

本文博客链接:https://www.sysadm.cc/index.php/vbbiancheng/762-vb-library-management-system-2

WeChat @网管小贾 | www.sysadm.cc

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值