基于C语言和SQL SERVER数据库实现的图书管理系统

摘 要

本文根据《数据库应用系统设计》课程要求而做。选择图书馆管理系统设计与开发是因为觉得图书馆管理系统对我们的帮助很大,并且经常去图书馆,对图书馆的大部分功能及流程还是比较了解,而且现在有些地方可能还不够完善。这次课程设计目标是建立一个比较好的图书馆管理系统,方便学生查询,方便管理员管理,节省时间,提高效率。

关键词:图书馆数据库,图书馆管理系统,嵌入式SQL

第1章 概述

1.1 项目背景

随着科技的发展,尤其是计算机技术的迅猛发展,图书馆管理的问题从以往的人工管理,到现在的电脑化,系统化,是对图书馆管理方法的质的飞跃,这些技术不仅让图书馆管理变得更加方便、快捷、提高效率,对于用户来说也是有极大地帮助,系统化的图书馆让人们可以更方便的去找书,借书,还书等等一系列的功能,从而让图书馆实现了它的最大化价值。同时对于图书馆本身来说,通过系统,它可以提高图书管理的效率,也是图书馆的科学化、正规化管理的最好方法。所以,图书馆管理系统的研究开发,是一个特别值得去做的研究。

1.2 编写目的

根据所学的数据库系统与程序设计的知识,针对图书管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。

1.3 软件定义

本系统采用VC++6.0集成开发系统作为前台开发Windows窗体控制平台,采用SQL Server 2008作为后台数据库的管理程序。

点击此处下载文档和源码

 

SQL数据库项目示例,该项目包含源码课程设计主题。DROP DATABASE IF EXISTS `BOOK_SYSTEM`; -- 创建DATABASE CREATE DATABASE BOOK_SYSTEM; -- 使BOOK_SYSTEM USE BOOK_SYSTEM; -- 户表 CREATE TABLE IF NOT EXISTS `T_USER` ( `ID` int AUTO_INCREMENT NOT NULL, `USER_NAME` varchar(20), `USER_PASSWORD` varchar(20), PRIMARY KEY (`ID`) ); INSERT INTO `T_USER` VALUES ('1', 'crazyit', 'crazyit'); -- 书种类 CREATE TABLE IF NOT EXISTS `T_BOOK_TYPE` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `TYPE_NAME` varchar(50), -- 种类名称 `TYPE_INTRO` varchar(200), -- 种类简介 PRIMARY KEY (`ID`) ); -- 出版社 CREATE TABLE IF NOT EXISTS `T_PUBLISHER` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `PUB_NAME` varchar(50), -- 出版社名称 `PUB_TEL` varchar(50), -- 联系电话 `PUB_LINK_MAN` varchar(50), -- 联系人 `PUB_INTRO` varchar(200), -- 简介 PRIMARY KEY (`ID`) -- 声明主键 ); -- 书 CREATE TABLE IF NOT EXISTS `T_BOOK` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID字段,自增 `BOOK_NAME` varchar(50), -- 书名称 `BOOK_INTRO` varchar(200), -- 书简介 `BOOK_PRICE` double, -- 书的单价 `TYPE_ID_FK` int NOT NULL, -- 种类外键 `PUB_ID_FK` int NOT NULL, -- 出版社外键 `IMAGE_URL` varchar(200), -- 缩略图URL `AUTHOR` varchar(200), -- 作者 `REPERTORY_SIZE` bigint(10), -- 库存数量 FOREIGN KEY (`TYPE_ID_FK`) REFERENCES `T_BOOK_TYPE` (`ID`), -- 声明种类的外键 FOREIGN KEY (`PUB_ID_FK`) REFERENCES `T_PUBLISHER` (`ID`), -- 声明出版社外键 PRIMARY KEY (`ID`) ); -- 交易记录表, 一个交易记录包括多个书的销售记录, 一次交易可能有多本书 CREATE TABLE IF NOT EXISTS `T_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime,-- 交易日期 PRIMARY KEY (`ID`) ); -- 书的销售记录, 一条记录对应一本书 CREATE TABLE IF NOT EXISTS `T_BOOK_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `BOOK_ID_FK` int, -- 销售的书 `T_SALE_RECORD_ID_FK` int, -- 该书的销售记录所对应的交易记录 `TRADE_SUM` int(10), -- 销售数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), FOREIGN KEY (`T_SALE_RECORD_ID_FK`) REFERENCES `T_SALE_RECORD` (`ID`), PRIMARY KEY (`ID`) ); -- 入库记录表, 一次入库会入多本书 CREATE TABLE IF NOT EXISTS `T_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime, -- 入库日期 PRIMARY KEY (`ID`) ); -- 书的入库记录 CREATE TABLE IF NOT EXISTS `T_BOOK_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID自增 `BOOK_ID_FK` int, -- 入库的书 `T_IN_RECORD_ID_FK` int, -- 对应的入库记录 `IN_SUM` int(10), -- 入库数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), -- 声明书的外键 FOREIGN KEY (`T_IN_RECORD_ID_FK`) REFERENCES `T_IN_RECORD` (`ID`), -- 声明入库记录外键 PRIMARY KEY (`ID`) );
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

demongwc

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值