图书管理系统的sqlserver数据库设计示例

这篇文章主要介绍了图书管理系统的sqlserver数据库设计示例,文中通过E_R图、数据字典、数据库脚本代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

首先,在写数据库时需要遵循以下几个原则:

数据库的命名规范:

方便代码的交流和维护

不影响代码的效率,不与大众习惯冲突

使代码更美观,阅读更方便

使代码的逻辑更清晰,更易于理解

术语的定义:

Pascal方法:将标识符的首字母和后面连接的每个单词的首字母都大写 ,可以对三字母或更多的字符的标识符使用。例如:BackColor

Camel方法:标识符的首字母小写,而后面连接的单词首字母都大写。例如:backColor

基本原则:

以大小写敏感编写SQL语句

尽量使用Unicode数据类型

优先使用参数化SQL查询代替拼接SQL查询

禁止使用拼音+英语的方式来命名SQL对象或变量

尽量使用存储过程代替SQL语句

大写t-sql语言的所有关键字,谓词和系统函数

其次:

对数据库进行分析

1.分析数据库,根据图书管理系统的需求分析,列出表

图书类别:主要包括图书的编号,类别名称等

图书基本信息:主要包括图书编号,图书名称,类别编号等

读者类别:主要包括类别编号,类别名称,借书最大量等

读者基本信息:主要包括读者编号,读者姓名,性别,住址,读者类别

借阅表:主要包括记录编号,读者编号,图书编号,借出日期,还入日期。

2。根据分析的数据库画出实体图

图书管理系统的sqlserver数据库设计示例

CREATE DATABASE BMS
 
IF OBJECT_ID(N’t_booktype’,N’U’) IS NOT NULL
 DROP TABLE t_booktype
CREATE TABLE t_booktype(
 typeno int primary key not null,
 typename varchar(30) not null
)
 
IF OBJECT_ID(N’t_books’,N’U’) IS NOT NULL
 DROP TABLE t_books
CREATE TABLE t_books(
 bookno int primary key not null,
 bookname varchar(30) not null,
 typeno int not null
)
 
IF OBJECT_ID(N’t_readertype’,N’U’) IS NOT NULL
 DROP TABLE t_readertype
CREATE TABLE t_readertype(
 readertypeno int primary key not null,
 readername varchar(30) not null,
 lendnumber int not null
)
 
IF OBJECT_ID(N’t_readerinfo’,N’U’) IS NOT NULL
 DROP TABLE t_readerinfo
CREATE TABLE t_readerinfo(
 readerno int primary key not null,
 readername varchar(30) not null,
 readeraddress varchar(30) not null,
 readertypeno int not null
)
 
IF OBJECT_ID(N’t_lendbook’,N’U’) IS NOT NULL
 DROP TABLE t_lendbook
CREATE TABLE t_lendbook(
 recordno int primary key not null,
 readerno int not null,
 bookno int not null,
 lendtime datetime ,
 returntime datetime
)
 
INSERT INTO t_booktype
VALUES(‘1005′,’悬疑类’)
 
 
INSERT INTO t_books
VALUES(‘1025′,’盗墓笔记’,’1005′)
 
 
INSERT INTO t_readertype
VALUES(‘0005′,’黄秋萍’,20)
 
 
INSERT INTO t_readerinfo
VALUES(‘0005′,’黄秋萍’,’南昌市’,’0005′)
 
INSERT INTO t_lendbook
VALUES(‘0005′,’0002′,’1013′,’2004-07-28′,’2004-11-16’)
 
 
SELECT *
FROM t_books
 
UPDATE t_books
SET bookname=’深入理解计算机系统’
WHERE bookno=’1001′
 
UPDATE t_readertype
SET readername=’吴娇’
WHERE readertypeno=’0001′
 
SELECT *
FROM t_readerinfo
 
–查询图书名字
SELECT bookname
FROM t_books
 
–查询图书类别
SELECT typename
FROM t_booktype
 
–查询名字叫吴娇的借书记录
 
SELECT t_readerinfo.readername,t_lendbook.lendtime,t_lendbook.returntime
FROM t_readerinfo join t_lendbook on t_readerinfo.readerno=t_lendbook.readerno
WHERE t_readerinfo.readername=’吴娇’

这里仅进行了部分代码的实现。

如有哪里不正确望指出!

到此这篇关于图书管理系统的sqlserver数据库设计示例的文章就介绍到这了,更多相关图书管理系统 sqlserver数据库设计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:脚本之家

链接:https://www.jb51.net/article/192755.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/895831.html

(0)
上一篇 2025年1月4日 00:25:58
下一篇 2025年1月4日 00:20:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • SQL Server中的集合运算: UNION, EXCEPT和INTERSECT示例代码详解

    这篇文章主要介绍了SQL Server中的集合运算: UNION, EXCEPT和INTERSECT,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 SQL Server中的集合运算包括…

    2025年1月4日
    100
  • SQL Server异常代码处理的深入讲解

    这篇文章主要给大家介绍了关于SQL Server异常代码处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 SQL Server使用TRY…CATC…

    2025年1月4日
    100
  • sqlserver交集差集的用法详解

    这篇文章主要介绍了sql server 交集,差集的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 概述 为什么使用集合运算: 在集合运算中比联接查询和EXIS…

    2025年1月4日 数据库
    100
  • 秒懂drop truncate和delete的区别

    这篇文章主要介绍了秒懂drop、truncate和delete的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操…

    数据库 2025年1月4日
    100
  • 详解SQL通配符

    这篇文章主要介绍了SQL 通配符的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下 通配符可用于替代字符串中的任何其他字符。 SQL 通配符 在 SQL 中,通配符与 SQL LIKE 操作符一起使用。 SQ…

    2025年1月4日 数据库
    100
  • 升级php7+后Typecho无法连接数据库探究

    前面我写了衡天主机升级php版本的文章,里面提到了网站配置和文件的完全备份、还原,而在这之前我所有的子站都是正常可以访问的,不常用的子站今天访问时候却发现了异常。这里说的是 typecho 子站 hard man 输入网址后显得不是主页,而…

    数据库 2025年1月4日
    100
  • MYSQL中char和varchar的区别

    这篇文章主要介绍了MYSQL中 char 和 varchar的区别,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下 CHAR和VARCHAR类型相似,差别主要在存储,尾随空格和检索方式上。 CHAR和VARCHAR相同的是…

    2025年1月4日
    100
  • MySQL8.0如何快速加列

    这篇文章主要介绍了MySQL8.0 如何快速加列,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下 前言: 很早就听说 MySQL8.0 支持快速加列,可以实现大表秒级加字段。笔者自己本地也有8.0环境,但一直未进行测试。本…

    2025年1月4日
    100
  • 聊聊MySQL中的参数

    这篇文章主要介绍了MySQL中的参数是什么,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下 前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥。本篇文章我们来聊聊 MyS…

    数据库 2025年1月4日
    100
  • MySQL中的悲观锁与乐观锁

    这篇文章主要介绍了MySQL中悲观锁与乐观锁的相关资料,帮助大家更好的理解和学习MySQL数据库,感兴趣的朋友可以了解下 在关系型数据库中,悲观锁与乐观锁是解决资源并发场景的解决方案,接下来将详细讲解

    数据库 2025年1月4日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信