精华内容
下载资源
问答
  • 图书管理系统数据库

    2016-06-30 20:58:14
    图书管理系统数据库
  • PAGE 1 图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接...
  • 图书管理系统数据库设计

    万次阅读 多人点赞 2018-05-26 23:44:35
    图书管理系统数据库设计 博主在github上找的这个项目链接,大家想参考的可以看看! JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager 图书馆流通管理系统:...

       图书管理系统数据库设计

    博主在github上找的这个项目链接,大家想参考的可以看看!

     

    1、摘要:

    一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。

    2、需求分析

    针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:

    Ø       读者信息

    属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注

    主键:读者学号

    Ø       书籍信息

    属性:ISBN,书名,作者,出版社,出版日期,简介,备注

    主键:ISBN

    Ø       管理员信息

    属性:工作号,姓名,性别,电话,家庭住址,备注

    主键:工作号

    2.1 数据流程

    通过对系统的调查和可行性分析,画出系统的数据流程图:

    2.1.1 读者

    学生对图书管理系统的要求有:

    Ø       能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。

    Ø       能够方便地借阅图书、续借图书、归还图书

    Ø       能够查询自己的基本资料、图书情况

    Ø       能够熟悉图书管理系统的使用。

    读者进入系统工作的流程图为:

     

     

     

    注册

    查询

    修改信息

    借阅续借

    图书

    归还

    注销

     

    2.1.2 图书管理员

    他们对图书管理系统的要求有:

    1. 能方便的对图书进行录入登记,注销陈旧的书籍。

    2. 能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。

    3. 能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。

    图书管理员工作的流程图为:

     

     

    注册

    录入图书

    录入新生

    注销图书

    注销学生

    注销

    修改个人信息

    超期处理

     

     

    3、概念模型设计

     数据库需要表述的信息有以下几种:

     (1)读者信息

     (2)书籍信息

    (3)管理员信息

    (4)读者与书籍之间的关系(借阅关系E-R图)

    (5)管理员与书籍之间的关系(管理员_书籍E-R图)

    (6)管理员与学生之间的关系(管理员_学生 E-R图)

    3.1管理员与读者之间的关系

    3.3管理员与书刊之间的关系

    3.3读者与书籍之间的关系(借阅三元关系)

     

    4、逻辑设计

    从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:

    借阅关系

    属性:工作号读者学号,ISBN是否续借,借书日期,还书日期,备注。

    主键:工作号,读者学号,ISBN

    管理员_书籍关系

    属性:工作号,ISBN添加时间,是否在馆

    主键:工作号,ISBN

    管理员_学生关系

    属性:工作号,读者学号,确认借还

    主键:工作号,读者学号

    5、数据库逻辑结构

    5.1图书信息表   

    字段名称

    数据类型

    是否可为空

    ISBN(key)

    varchar(20)

    书名

    varchar(50)

    作者

    varchar(12)

    出版社

    varchar(50)

    出版日期

    datetime

    简介

    varchar(200)

     备注

    varchar(200)

    5.2 读者信息表

    字段名称

    数据类型

    是否可为空

    读者学号(key)

    varchar(12)

    读者姓名

    varchar(10)

    读者性别

    varchar(2)

    联系电话

    varchar(10)

    所在系

    varchar(12)

    生效时间

    datatime

    失效时间

    datatime

    违章状况

    varchar(2)

    累计借书

    int

    备注

    varchar(100)

    5.3 管理员信息表

    字段名称

    数据类型

    是否可为空

    工作号(key)

    varchar(12)

    姓名

    varchar(12)

    性别

    varchar(2)

    电话

    varchar(12)

    住址

    varchar(12)

    备注

    varchar(100)

    5.4 借阅表

             

    字段名称

    数据类型

    是否可为空

    工作号

     char(10)

    ISBN

     char(10)

    读者学号

     char(10)

    借书日期

    datetime

    还书日期

    datetime

    是否续借

    char(4)

    备注

    varchar(100)

     

    5.5 管理员_书籍

    字段名称

    数据类型

    是否可为空

    工作号

    char(10)

    ISBN

    char(10)

    添加时间

    data time

    是否在馆

    char(14)

     

    5.6 管理员_学生

             

    字段名称

    数据类型

    是否可为空

    工作号

    char(10)

    读者学号

    char(10)

    借还确认

    char(4)

     

    6、物理设计   

    从理论‘关系模型’到实现/实施‘数据库建立’,物理文件的安排和建立索引

    6.1 建立索引

    为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:

    (1) 读者信息(读者学号)

    (2) 书籍信息(ISBN)

    (3)管理员信息(工作号)

    (4)借阅(工作号,读者学号,ISBN)

    (5)管理员_书籍(工作号,ISBN)

    (6)管理员_学生(工作号,读者学号)

    6.2 用SQL实现设计

    实现该设计的环境为Windows 2000 Perfessinal+MSSQLServer 2000.0

    6.2.1建立图书信息表

     create table 图书

     (ISBN varchar(20) not null primary key,

      书名 varchar(50) not null,

      作者 varchar(12) not null,

      出版社 varchar(50),

      出版日期 datetime,

      简介 varchar(200),

      备注 varchar(200),)

    6.2.2建立读者信息表

    create table 读者

     (读者学号 varchar(12) not null primary key,

      读者姓名 varchar(10) not null,

      读者性别 varchar(2) not null,

      联系电话 varchar(12),

      所在系   varchar(20) not null,

      生效日期 datetime,

      失效日期 datetime,

      违章状态 char(2),

      累计借书 int,

      备注    varchar(100),)

    6.2.3建立管理员信息表

           create table 管理员

            (工作号 varchar(12) not null primary key,

    姓名   varchar(12) not null,

    性别   varchar(2) not null,

    电话   varchar(12),

    家庭住址 varchar(50),

    备注 varchar(100))

    6.2.4建立借阅表

         create table 借阅

    (工作号 char(10) not null,

    ISBN char(10) not null,

    读者学号 char(10) not null,

    借书日期 datetime not null,

    还书日期 datetime not null,

    是否续借 char(4) not null,

           备注 varchar(100) )

    6.2.5建立管理员_书籍表

            create table 管理员_书籍

    (工作号 char(10) not null,

    ISBN char(10) not null,

    添加时间 datetime,

    是否在馆 char(4))

    6.2.6建立管理员_学生表

           create table 管理员_学生

    (工作号 char(10) not null,

    读者学号 char(10) not null,

    ISBN char(10) not null,

    借还确认 char(4) not null)

    6.2.7建立索引

         CREATE UNIQUE INDEX 图书索引 ON 图书(ISBN)

        CREATE UNIQUE INDEX 读者索引 ON 读者(读者学号)

    CREATE UNIQUE INDEX 管理员索引 ON 读者(工作号)

    CREATE UNIQUE INDEX借阅索引 ON 借阅(工作号,读者学号,ISBN)

    CREATE UNIQUE INDEX管理员_书籍索引 ON 管理员_书籍 (工作号,ISBN读者学号)

    CREATE UNIQUE INDEX管理员_学生ON管理员_学生 (工作号,读者学号)

    6.2.8定义视图

    (1)读者表视图

       CREATE VIEW 读者视图

       AS

          SELECT *

          FROM 读者

    (2)图书表视图

       CREATE VIEW 图书视图

       AS

          SELECT *

          FROM 图书

    (3)管理员表视图

       CREATE VIEW 管理员视图

       AS

          SELECT *

          FROM 管理员者

     

     

    6.2.9管理员操作

    (1)注册(register)

    INSERT INTO 管理员 (工作号,姓名,性别,电话,家庭住址,备注)

    VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注)

    说明:在登记操作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。

    (2)注销(unregister)

    DELETE

    FROM Provider

    WHERE(工作号=#工作号);

    (3)修改个人信息(update)

    UPdate 管理员

    Set (工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址,备注=#备注)

    WHERE(工作号=#工作号)

    (4)增加书籍(addbooks)

    INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注) INSERT INTO 管理员_书籍表(工作号,ISBN,添加时间,是否在馆)

    VALUES(#工作号,#ISBN,#添加时间,#是否在馆)

    (5)删除书籍(deletebooks)

    DELETE 图书

    WHERE(ISBN =# ISBN)

    (6)修改书籍(updatebooks)

    UPDATE 图书(书名=#书名, 作者=#作者, 出版社=#出版社, 出版日期=

    #出版日期, 简介=#简介, 备注=#备注)

    WHERE(ISBN =# ISBN)

    6.2.10读者操作

    (1)注册(register)

    INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,

    生效日期,失效日期,违章状况,累计借书,备注)

    VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系,

    #生效日期,#失效日期,#违章状况,#累计借书,#备注)

    说明:在登记操作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。

    (2)注销(unregister)

    DELETE 读者

    WHERE(读者学号=#读者学号)

    (3)修改个人信息(update)

    UPDATE 读者 Set(读者姓名=#读者姓名,联系电话=#联系电话,

    所在系=#所在系,生效日期=#生效日期,失效日期=#失效日期,

    违章状况=#违章状况,累计借书=#累计借书,备注=#备注)

    WHERE(读者学号=#读者学号)

    (4)查询(select)

       SELECT ISBN,书名,作者,出版社

    FROM图书

    WHERE ISBN=#ISBN OR书名=#书名

    6.2.11管理员对借阅关系的操作 

     (1) 插入读者的信息(insert)

        INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

     VALUES(#工作号,#读者学号,#ISBN,#是否续借,#借书日期,

    #还书日期,#备注)

    (2) 更新信息(update)

    ①更新借出信息

    UPDATE借阅

    SET(借书日期=#借书日期,还书日期=借书日期+30,是否续借=0)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)

    UPDATE管理员_图书

    SET(是否在馆=0)

    WHERE(ISBN=#ISBN)

    UPDATA 学生

    SET (累积借书=累积借书+1)

    WHERE(读者学号=#读者学号)

    INSERT INTO管理员_学生(工作号,读者学号,确认借还,ISBN)

    VALUES(#工作号,#读者学号,”0”, #ISBN))

          ②更新续借信息

    UPDATE 借阅

    SET(是否续借=#是否续借)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)

           ③更新还书信息

    UPDATE管理员_图书

    SET(是否在馆=1)

    WHERE(ISBN=#ISBN)

    UPDATE管理员_学生

    SET(确认借还=”1”)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN=#ISBN)

    6.2.12触发器的建立

     (1)时间触发器:

     Create Trigger 时间

     On 借阅

     For update,insert,delete

     As

     while (select datename(weekday,getdate()))='星期天'

    begin

    print '时间错误'

    end

    (2)update触发器:

         Create Trigger 续借

        On 借阅

    for Update

    As

        If  Update(是否续借)

        begin

        Update 借阅

          Set 还书日期=还书日期+30

          Where 工作号=#工作号

        end   

    7、实验数据示例:测试阶段(代码调试)

    7.1 输入数据设计

    (1)插入管理员

     INSERT INTO 管理员(工作号,姓名,性别,电话,家庭住址,备注)

    VALUES(1001,'张三','男',02885965555,'成都市','呵呵')

    (2)插入读者

    INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,

    生效日期,失效日期,违章状态,累计借书,备注)

    VALUES(20050222,'李瑞','男',02888994456,'环境','2007-05-06','2010-05-06','1',10,'哈')

     (3)插入图书

     INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES('730203009x','数据库原理教程','王珊','清华大学出版社','2006-05-05','数据库教程','哈')

    INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES('7302030091','数据库教程','王书','清华大学出版社','2006-05-05','数据库教程','哈')

     (4)插入管理员_书籍表 

    INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)

    VALUES(1001,'730203009x','2007-7-7','0')

    INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)

    VALUES(1001,'7302030091','2007-7-8','1')

    (5) 插入借阅信息

    INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

    VALUES(1001,20050222,'730203009x','0','2007-7-6','2007-8-6','哈')

    INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)

    VALUES(1001,'20050222','0', '730203009x')

    7.2 完成借阅、续借、归还的操作设计

    假设读者想借书籍名为《数据库教程》且不知道ISBN

    (1)借阅操作如下:

    if((select 书名 from 图书 where ISBN='7302030091')= '数据库教程')

    begin

    INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

    VALUES(1001,20050222,'7302030091','0','2007-7-7','2007-8-7','哈')

    UPDATE 管理员_书籍

    SET 是否在馆='0'

    WHERE ISBN='7302030091'

    UPDATE 读者

    SET 累计借书=累计借书+1

    WHERE 读者学号=20050222

    INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)

    VALUES(1001,20050222,'0','7302030091')

           print '借阅成功!'

       end

    else

       print '借阅失败!'

    (2)续借操作如下:

    if((SELECT 是否续借

       FROM 借阅

       WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091')='0')

    begin

    UPDATE 借阅

    SET 是否续借='1'

    WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091'

    print '续借成功!'

       end

    else

       print '续借失败!'

     (3)还书操作如下:

    If((SELECT 借还确认

     FROM 管理员_学生

     WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN='7302030091')='0')

    BEGIN

    UPDATE 管理员_书籍

    SET 是否在馆='1'

    WHERE ISBN='7302030091'

    print '还书成功!'

        end

     else

     print '还书失败!'

    8、安全性设计

    后台数据库应安装在指定服务器上,用户只能通过登录软件访问数据库表中的数据。

    除上述方法外,不应提供用户其他访问数据库数据的直接或间接途径。

    9、数据库管理与维护说明

          对于本数据的管理与维护,例如数据库的备份与恢复,可以使用T-SQL的BACKUP DATABASE命令和RESTORE DATABASE命令[具体实用说明请参照SQL Server 2000联机丛书]或使用企业管理器中的“所有任务”→“备份数据库(B)”菜单项和或“还原数据库(R)”菜单项操作。

     

    展开全文
  • 图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作 一个设计良好的图书管理系统数据库能够给图书 管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接通过借阅...
  • PAGE 1 图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接...
  • 图书管理系统数据库课程设计全套

    热门讨论 2009-12-28 09:24:23
    图书管理系统数据库课程设计图书管理系统数据库课程设计图书管理系统数据库课程设计
  • 共享图书管理系统共享图书管理系统数据库实现一、数据库设计1.用户2.书籍3.评论4.借阅/共享信息表二、E-R图三、表设计(mysql)1.bs_info2.user3.publisher4.books_info5.borrowed_info6.shared_info7.comment_info8...


    共享图书管理系统数据库实现

    ## 系统目标:
    通过系统分析对基本功能进行定型,在调研和收集现有投入使用的图书管理系统的基础上,增加符合本系统需求所要的功能。其中基础功能包括:图书信息的录入和编目,图书的借阅、续借和归还,图书定期盘点、损坏处理和借阅超期功能,读者和图书管理员的权限管理。根据以上功能设计实现系统,进行测试和改进或添加现有功能,实现借阅-归还-共享为一体的图书系统。


    一、数据库设计

    对于一个共享图书管理系统,对所要处理的数据和信息主要有以下几个。

    1.用户

    使用系统的用户首先要注册,必须填写用户名,密码,手机号,通过自增生成的id来唯一区分用户。用户首先是借阅者,拥有借阅书籍的权限,其次是潜在的分享者,可以把自己的书籍共享进入平台。

    2.书籍

    书籍必须拥有书籍id,书籍名称,出版社,出版日期等等信息,关联一张主题表,以分类书籍其特有的图书主题,其次也关联借阅、共享、评论表,以此展示书籍被用户所关心的数据和信息。

    3.评论

    读者可以针对图书进行评论,如下图所示,包括评论内容,评论时间,评论者,评分等信息。注意评论针对的是一部图书,而并非某一本书(因为有多本)。

    4.借阅/共享信息表

    用户还需要关联一张查看自己借阅和共享书籍的信息表,以查看自己正在借阅和借阅过的书籍,正在共享和共享过的书籍。

    二、E-R图

    E-R图

    三、表设计(mysql)

    1.bs_info

    借阅等级、可借阅最长时间和数量

    CREATE TABLE `bsinfo`(
    	`b_grade` INT PRIMARY KEY,
    	`longest_time` INT,
    	`maximum_count` INT
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    2.user

    用户信息管理表

    CREATE TABLE `user`(
    	`username` VARCHAR(15) NOT NULL,
    	`password` VARCHAR(20) NOT NULL,
    	`phone_num` INT(13) NOT NULL,
    	`email` VARCHAR(20),
    	`address` VARCHAR(30),
    	`authority` INT(1) DEFAULT 0,
    	`user_id` INT PRIMARY KEY AUTO_INCREMENT,
    	`b_grade` INT DEFAULT 0,
    	`totally_borrowed` INT DEFAULT 0,
    	FOREIGN KEY(`b_grade`) REFERENCES bs_info(`b_grade`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    3.publisher

    出版社信息

    CREATE TABLE `publisher`(
    	`press_name` VARCHAR(20) PRIMARY KEY,
    	`press_address` VARCHAR(25),
    	`press_phone` VARCHAR(11)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    4.books_info

    图书信息管理表

    CREATE TABLE `books_info`(
    	`book_id` CHAR(15) PRIMARY KEY,
    	`book_author` VARCHAR(15),
    	`book_name` VARCHAR(15),
    	`press_name` VARCHAR(20),
    	`press_date` DATE,
    	`book_status` VARCHAR(6) CHECK(`book_status` IN(`可借`,`借出`,`不可借`)),
    	`book_counts` INT DEFAULT 0,
    	`book_borrowed_amount` INT DEFAULT 0,
    	FOREIGN KEY(`press_name`) REFERENCES publisher(`press_name`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    5.borrowed_info

    借出标识信息表

    CREATE TABLE `books_info`(
    	`book_id` CHAR(15) PRIMARY KEY,
    	`book_author` VARCHAR(15),
    	`book_name` VARCHAR(15),
    	`press_name` VARCHAR(20),
    	`press_date` DATE,
    	`book_status` VARCHAR(6) CHECK(`book_status` IN(`可借`,`借出`,`不可借`)),
    	`book_counts` INT DEFAULT 0,
    	`book_borrowed_amount` INT DEFAULT 0,
    	FOREIGN KEY(`press_name`) REFERENCES publisher(`press_name`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    6.shared_info

    共享表示信息表

    CREATE TABLE `shared_info`(
    	`shared_id` CHAR(6) PRIMARY KEY,
    	`shared_time` DATE,
    	`shared_back` DATE,
    	`book_id` CHAR(15),
    	`user_id` INT,
    	FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`),
    	FOREIGN KEY(`user_id`) REFERENCES users(`user_id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    7.comment_info

    评论管理表

    CREATE TABLE `comment_info`(
    	`c_id` INT AUTO_INCREMENT PRIMARY KEY,
    	`c_content` VARCHAR(200),
    	`c_time` DATE,
    	`user_id` INT,
    	`book_id` CHAR(15),
    	FOREIGN KEY(`user_id`) REFERENCES users(`user_id`),
    	FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    8.theme_info

    图书主题管理表

    CREATE TABLE `comment_info`(
    	`c_id` INT AUTO_INCREMENT PRIMARY KEY,
    	`c_content` VARCHAR(200),
    	`c_time` DATE,
    	`user_id` INT,
    	`book_id` CHAR(15),
    	FOREIGN KEY(`user_id`) REFERENCES users(`user_id`),
    	FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8;
    

    参考

    https://blog.csdn.net/lingchen336/article/details/104109265
    https://www.cnblogs.com/lesroad/p/9072915.html

    展开全文
  • 图书管理系统数据库设计 一系统概述 1系统简介;数据流图;二系统功能设计;精细化的局部 E-R 图 学生借阅-归还 E-R 图;1;student_id;Records: 0 Duplicates: 0 Warnings: 0 mysql> create index index_brecord on book...
  • 滨江学院 题 目 图书管理系统数据库设计与实现 院 系 年级班级 学生姓名 学 号 学 期 任课教师 2014年12月5日 下载可编辑 .专业.整理. 目 录 TOC \o "1-3" \h \z \u 1 系统分析 2 1.1 需求分析 2 1.2 设计目标 2 ...
  • 6/11/2020 天津职业技术师范大学 天津职业技术师范大学 数据库原理及应用课程设计报告 数据库原理及应用课程设计报告
  • 基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计
  • 非常棒的图书管理系统数据库设计报告,用于学习
  • 天津职业技术师范大学 数据库原理及应用课程设计报告 课程名称 数据库原理及应用 姓 名: 学 号 专 业: 网络工程 班 级: 目?录 O \ "1-3" h \z \u YPERLNK 1背景分析? PEREF _Tc440662738 1 HERLINK 4关系模式? ...
  • (新的项目使用mysql编写的如果有需要要请移步www.vist.top下查看下载地址(GitHub地址))Java小项目-图书管理系统(使用数据库 Windows server 2008),,里面有源码 注释 详细的界面设计数据库设计需求分析的文档及...
  • 图书管理------对所有图书的资料进行添加,修改和删除等操作。 读者管理------对所有读者的资料进行添加,修改和删除等操作。 查询------所有图书、不在馆图书,今天借出图书、今日归还图书、今日新进图书和有条件...
  • 目录 一需求描述和系统边界 2 二需求分析 2 1. 业务需求 . 2 2. 功能需求及数据需求分析 . 2 3. 业务规则分析 . 3 三实体集及属性 4 四联系集及 E-R 图 5 五逻辑数据库设计 6 六数据库编程 7 1. 创建表 . 7
  • 图书管理系统数据库综合应用

    千次阅读 热门讨论 2017-07-27 15:58:02
    图书管理系统数据库综合练习用到下面三个关系表: CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级 BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 BORROW 借书记录。 CNO 借书卡号...

    图书管理系统数据库综合练习用到下面三个关系表:

    CARD      借书卡。    CNO 卡号,NAME   姓名,CLASS 班级

    BOOKS     图书。      BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数

    BORROW    借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期

    备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。


       要求实现如下15个处理:

       


              1. 写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。

    --实现代码:

    CREATE TABLE BORROW(

         CNO int FOREIGN KEY REFERENCES CARD(CNO),

         BNO int FOREIGN KEY REFERENCES BOOKS(BNO),

         RDATE datetime,

         PRIMARY KEY(CNO,BNO))

     

            2. 找出借书超过5本的读者,输出借书卡号及所借图书册数。

    --实现代码:

    SELECT CNO,借图书册数=COUNT(*)

    FROM BORROW

    GROUP BY CNO

    HAVING COUNT(*)>5

     

     

              3. 查询借阅了"水浒"一书的读者,输出姓名及班级。

    --实现代码:

    SELECT * FROM CARD c

    WHERE EXISTS(

         SELECT * FROM BORROW a,BOOKS b

         WHERE a.BNO=b.BNO

             AND b.BNAME=N'水浒'

             AND a.CNO=c.CNO)

     

     

             4. 查询过期未还图书,输出借阅者(卡号)、书号及还书日期。

    --实现代码:

    SELECT * FROM BORROW

    WHERE RDATE<GETDATE()

     

            5. 查询书名包括"网络"关键词的图书,输出书号、书名、作者。

       --实现代码:

    SELECT BNO,BNAME,AUTHOR FROM BOOKS

    WHERE BNAME LIKE N'%网络%'

     

            6. 查询现有图书中价格最高的图书,输出书名及作者。

    --实现代码:

    SELECT BNO,BNAME,AUTHOR FROM BOOKS

    WHERE PRICE=(

         SELECT MAX(PRICE) FROM BOOKS)

     

     

            7. 查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。

    --实现代码:

    SELECT a.CNO

    FROM BORROW a,BOOKS b

    WHERE a.BNO=b.BNO AND b.BNAME=N'计算方法'

         AND NOT EXISTS(

             SELECT * FROM BORROW aa,BOOKS bb

             WHERE aa.BNO=bb.BNO

                 AND bb.BNAME=N'计算方法习题集'

                 AND aa.CNO=a.CNO)

    ORDER BY a.CNO DESC

     

     

            8. 将"C01"班同学所借图书的还期都延长一周。

    --实现代码:

    UPDATE b SET RDATE=DATEADD(Day,7,b.RDATE)

    FROM CARD a,BORROW b

    WHERE a.CNO=b.CNO

         AND a.CLASS=N'C01'

     

             9. 从BOOKS表中删除当前无人借阅的图书记录。

    --实现代码:

    DELETE A FROM BOOKS a

    WHERE NOT EXISTS(

         SELECT * FROM BORROW

         WHERE BNO=a.BNO)

     

     

     

            10.如果经常按书名查询图书信息,请建立合适的索引。

    --实现代码:

    CREATE CLUSTERED INDEX IDX_BOOKS_BNAME ON BOOKS(BNAME)

     

               11. BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)

     

    --实现代码:

    CREATE TRIGGER TR_SAVE ON BORROW

    FOR INSERT,UPDATE

    AS

    IF @@ROWCOUNT>0

    INSERT BORROW_SAVE SELECT i.*

    FROM INSERTED i,BOOKS b

    WHERE i.BNO=b.BNO

         AND b.BNAME=N'数据库技术及应用'

     

             12. 建立一个视图,显示"01"班学生的借书信息(只要求显示姓名和书名)

    --实现代码:

    CREATE VIEW V_VIEW

    AS

    SELECT a.NAME,b.BNAME

    FROM BORROW ab,CARD a,BOOKS b

    WHERE ab.CNO=a.CNO

         AND ab.BNO=b.BNO

         AND a.CLASS=N'01'

             13. 查询当前同时借有"计算方法""组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出

    --实现代码:

    SELECT a.CNO

    FROM BORROW a,BOOKS b

    WHERE a.BNO=b.BNO

         AND b.BNAME IN(N'计算方法',N'组合数学')

    GROUP BY a.CNO

    HAVING COUNT(*)=2

    ORDER BY a.CNO DESC

     

             14. 假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句

    --实现代码:

    ALTER TABLE BOOKS ADD PRIMARY KEY(BNO)

     

            15.1 NAME最大列宽增加到10个字符(假定原为6个字符)

    --实现代码:

    ALTER TABLE CARD ALTER COLUMN NAME varchar(10)

    15.2 为该表增加1NAME(系名),可变长,最大20个字符

    --实现代码:

    ALTER TABLE CARD ADD 系名 varchar(20)

     

    展开全文
  • 2012年6月 目录 TOC \o "1-3" \h \z \u 课题说明 3 程序设计思路 4 程序状态转换图 4 数据库设计 5 程序部分源代码 6 Login.java登录类 6 QueryBook.java查找修改书籍类 10 BookIn.java图书入库类 17 RemoveBook....
  • 图书管理数据库系统 需求分析 1. 功能设计 首先从需求出发构造数据库表再由数据库表结合需求划分系统功能模块 这里把系统的层次划分为四个部分图书维护人员管理图书借阅管理 信息查询能实现以下功能 进行新书入库...
  • --图书管理系统数据库的创建,插入数据--创建数据库CREATE DATABASE BOOKSDBUSE BOOKSDB--创建表CREATE TABLE ReaderType( rdType INT PRIMARY KEY, rdTypeName VARCHAR(20), canLendQty INT, canLendDay INT )...
    --图书管理系统数据库的创建,插入数据
    --创建数据库
    CREATE DATABASE BOOKSDB
    USE BOOKSDB
    --创建表
    CREATE TABLE ReaderType
    (
      rdType INT PRIMARY KEY, 
      rdTypeName VARCHAR(20), 
      canLendQty INT, 
      canLendDay INT 
    )
    CREATE TABLE Reader
    (
      rdID CHAR(9) PRIMARY KEY,
      rdType INT REFERENCES ReaderType(rdType), 
      rdName VARCHAR(20), 
      rdDept VARCHAR(40), 
      rdQQ VARCHAR(13),
      rdBorrowQty INT DEFAULT 0 CHECK(rdBorrowQty BETWEEN 0 AND 10)
    )
    CREATE TABLE Book
    (
      bkID CHAR(9) PRIMARY KEY,
      bkName VARCHAR(50),
      bkAuthor VARCHAR(50), 
      bkPress VARCHAR(50), 
      bkPrice DECIMAL(5,2), 
      bkStatus INT DEFAULT 1 
    )
    CREATE TABLE Borrow
    (
      rdID CHAR(9) REFERENCES Reader(rdID), 
      bkID CHAR(9) REFERENCES Book(bkID), 
      DateBorrow DateTime, 
      DateLendPlan DateTime, 
      DateLendAct DateTime, 
      PRIMARY KEY(rdID, bkID)
    )
    --插入数据
    INSERT INTO READERTYPE VALUES(1,'教师',10,60)
    INSERT INTO READERTYPE VALUES(2,'本科生',5,30)
    INSERT INTO READERTYPE VALUES(3,'硕士研究生',6,40)

    INSERT INTO READERTYPE VALUES(4,'博士研究生',8,50)

    INSERT INTO READER VALUES('rd2017001',1,'王桃群','计算机科学学院','3635751',0)
    INSERT INTO READER VALUES('rd2017002',2,'孙小美','英语学院','11223344',0)
    INSERT INTO READER VALUES('rd2017003',3,'连晓燕','管理学院','55996633',0)
    INSERT INTO READER VALUES('rd2017004',4,'许苗','物理学院','88552277',0)

    INSERT INTO BOOK VALUES('bk2017001','数据库原理及应用','王丽艳','机械工业出版社',33.00,1)
    INSERT INTO BOOK VALUES('bk2017002','高等数学','同济大学数学系','高等教育出版社',32.00,1)
    INSERT INTO BOOK VALUES('bk2017003','当代教育心理学','陈琦','北京师范大学出版社',37.20,1)
    INSERT INTO BOOK VALUES('bk2017004','古代汉语','王力','中华书局',20.40,1)
     
    INSERT INTO BORROW VALUES('rd2017001','bk2017001','2017-01-01','2017-02-01','2017-02-02')
    INSERT INTO BORROW VALUES('rd2017002','bk2017003','2017-02-11','2017-03-21','2017-02-22')
    INSERT INTO BORROW VALUES('rd2017002','bk2017001','2017-04-01','2017-05-01','2017-04-02')
    INSERT INTO BORROW VALUES('rd2017003','bk2017003','2017-06-01','2017-07-01','2017-07-02')
    展开全文
  • 数据库系统是基于mysql数据库设计的,包含了一对一和一对多的关系,存储过程和存储函数均可以正常调用,可供初学者参考和学习
  • 图书管理系统数据库设计实验报告

    万次阅读 多人点赞 2018-01-16 09:28:00
    图书管理系统设计实验报告 PB15051157 茹思淞 一、实验题目及其要求 编写一个图书管理系统,要求具有以下内容: 1)存储图书信息、采购和淘汰情况、租借情况 2)实现图书采购、淘汰...
  • 挺好的资源,大家可以分享一下,不要在意细节.
  • 图书管理系统数据库实验报告

    热门讨论 2009-10-24 13:25:30
    (1)图书管理系统:查询、添加、删除、修改图书资料,可选择是否显示图书。 (2)图书分类管理系统:图书分类添加、修改、删除管理。 3. 教务管理 (1)学生班级管理系统:学生班级添加、修改、删除管理。 (2...
  • 图书管理系统数据库

    千次阅读 2017-09-29 14:14:59
    1、系统进行一个分析 ... 图书管理,  添加图书 、修改图书、删除图书、查看图书  读者管理,  读者添加,读者删除,读者基本信息的修改,读者查看列表, 借书,还书  系统管理  
  • 图书管理员:登录:以图书管理员的身份登录 图书查询:根据书名、作者、图书类型等关键字搜索图书 借书、还书、续借:管理员可以为读者办理借阅图书,归还图书,对图书续借。 查看借阅记录:可以根据读者学号以及...
  • 这次课程设计我们将使用Visual Basic开发SQL Server数据库应用程序 --- 图书管理系统。通过这次课程设计 我们将了解应用程序的实际开发过程,学会运用所学习的知识开发应用程序,为日后的提高打下良好的基础 。 图书...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,678
精华内容 1,471
关键字:

图书管理系统数据库