美工实战数据库设计——图书管理系统Anne.Guo

一、数据库大致经历了以下几个阶段:

1.人工管理阶段;

2.文件系统阶段;

3.数据库系统阶段;

数据库系统有一下几个特点:

1)数据结构化

2)数据独立性高

指的是应用程序与磁盘存储数据之间的相互独立;

3)数据共享性高,冗余度低;

4)统一的数据控制;

其中包括了数据安全性(用口令检查用户的合法身份)、数据的完整性(指的是数据的正确性、有效性和兼容性)、数据库并发控制、数据库恢复。

4.高级数据库技术发展阶段;

1)分布式数据库系统;

2)面向对象数据库系统;

二、数据库的基本概念

1.数据(Data)

2.数据库(DataBase,DB)

数据库是长期存储在计算机内、有组织的、可共享的数据集合;

3.数据库管理系统(DataBaseManagementSystem,DBMS)

4.数据库系统(DataBaseSystem,DBS)

三、数据模型

1.数据模型:一组描述数据库的概念;

数据模型均由以下三部分组成:数据结构、数据操作和数据约束条件;

(1)数据结构:用于描述系统的静态特性

(2)数据操作:用于描述系统的动态特性

(3)数据约束条件:一组完整性规则的集合

2.实体联系模型

3.常用的数据模型:

1)层次模型;

是用树形结构来表示实体及实体间的联系;而基于层次模型的描述可以看出,只能解决一对多的实体联系,不能直接表达多对多联系的复杂结构;

2)网状模型;

3)关系模型;

4)面向对象模型;

四、数据库系统结构

数据库的体系结构由三级构成:内部级、概念级和外部级。

五、数据模型

数据模型由以下三部分组成:数据结构、数据操作和数据约束条件;

1)数据结构:用于描述系统的静态特性;

2)数据操作:用于描述系统的动态特性;

3)数据约束条件:一组完整性规则的集合;

六、常用数据库管理软件

1.SQLServer;

2.Oracle数据库;

包括Oraclette数据库服务器和客户端;

3.DB2数据库

IBM公司研制的一种关系型数据库系统;

4.MySQL数据库

小型关系型数据库管理系统,开发者为瑞典MySQLAB公司

5.Access数据库

微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是office系列软件之一;

七、数据库开发概述

1.数据库系统访问技术;

数据库服务的主流标准接口主要有ODBC、OLEDB、ADO、JDBC.

1)开放数据库连接(OpenDatabaseConnecitivity,ODBC)

ODBC是一种重要的访问数据库的应用程序编程接口(API)它的核心就是基于标准的SQL语句,因此,数据库必须支持SQL语句;

其有个重要的优点就是以统一的方式处理所有的数据库;

2)OLEDB

OLEDB是Microsoft公司提供的关于数据库系统级程序的接口(System-LevelProgrammingInterface),是微软公司数据库访问的基础。OLEDB对象本身是COM(组件对象模型)。

3)动态数据对象(ADO)

ADO(ActiveDataObjects)是一种简单的对象模型,可以被开发者用来处理任何OLEDB数据,可以由脚本语言或高级语言调用;

4)Java数据库连接(JDBC)

JDBC(JavaDatabaseConnectivity)是Java应用中访问表类型数据源的应用编程接口,这些数据源包括基于SQL的数据库、存储在电子数据表单中的数据或存储在文件中的数据。

2.网络数据库系统编程技术

1)通用网关结构(CGI)编程

通用网关结构(CommonGatewayInterface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端;它的弱点是速度慢和安全性差;

2)动态服务器页面(ASP)

动态服务器页面(ActiveServerPages,ASP)是Mircrosoft公司推出的一种取代CGI的技术,是一种真正简便易学,功能强大的服务器编程技术;

3)JAVA服务器页面(JSP)

JAVA服务器页面(JavaserverPages,JSP)是Sun公司倡导、许多公司参与建立的发布的一种动态网页技术标准;

八、结构化查询语言(StructuredQueryLanguage,SQL)

1.SQL的特点:

SQL功能丰富,语言简洁,集数据查询、数据操纵、数据定义和数据控制功能于一体;

(1)综合统一;

(2)高度非过程化;

(3)可移植性;

(4)以同一种语法结构提供两种使用方式;

(5)易学易用;

2.数据定义语言(DataDescriptionLanguage,DDL)

常见的DDL语句包括CREATE,ALTER,DROP等。

CREATE语句

1)创建数据库

CREATEDATABASEdatabase_name;

例如创建物流信息数据库

CREATEDATABASESI(LogisticsInformation)

2)创建表

在向数据库输入数据之前,必须县创建表;格式如下

CREATETABLELogistics;

建表时需要给出数据的数据类型及与该表完整性约束条件;

CHAR(n)

完整性约束条件

在设计建立一个数据库需要以下6个步骤:

step1.需求分析;而在这一阶段最常用的是SA结构化分析法和表达用户需求的数据字典和DFD数据流图;

step2.概念结构设计;而此阶段最主要的环节是画出E—R图;

step3.逻辑结构设计;

step4.数据库物理设计;

step5.数据库实施和维护;

step6.数据的载入;是个很复杂的阶段,可以手工输入,也可以转录,但是需要反复的校验;

下面就以一个图书馆信息管理来举例按照以下步骤创建一个简单的数据库的流程;

需求分析:来分析下图书馆信息管理通过这个名字大家就可以知道一般用来查询图书信息,借阅者信息;经过仔细分析之后列出以下信息

读者信息:卡号,姓名,性别,身份证号,头像等;

书信息:状态,编号,位置等;

概念设计:E-R图如下

注:而作为联系的图书库存量本身也是有属性的;

先建立一个Reader(读者)表

CREATETABLEReader(IdINTPRIMARYKEY,CardNumVARCHAR(50),FullNameNVARCHAR(50),GenderCHAR(2),IdentityCardVARCHAR(20),AvatarIMAGE);执行完以上代码之后会自动生成一个数据为空的表如下其中CardNum为主键。

依次建立所需“Book”(书)表其中设置主键为:

CREATETABLEBook(IdINTPRIMARYKEY,ContentIdINT,[Status]NVARCHAR(50),PositionNVARCHAR(200));建立“Content”(书目)表

CREATETABLEContent(IdINTPRIMARYKEY,ISBNVARCHAR(20),AuthorNVARCHAR(50),TitleNVARCHAR(50),PublishingNVARCHAR(50),PublishTimeDATETIME,CategoryNVARCHAR(50));建立“BorrowingInformation”(借阅信息)表

CREATETABLEBorrowingInformation(BookIdINT,ReaderIdINT,BorrowingTimeDATETIME,ReturnTimeDATETIME,IfReturnBIT,PRIMARYKEY(BookId,ReaderId,BorrowingTime));逻辑结构设计:E-R图转换为关系模型

3.创建视图

视图只存在定义,而不是存在真正的数据。其有5个优点:

a.视图可以简化用户操作;

b.视图使用户能以多种角度看待同一数据;

c.视图对重构数据库提供了一定的逻辑独立性;

d.视图能够对机密数据提供安全保护;

e.适当的利用视图可以清晰的表达查询;

创建视图的基本格式:

CREATEVIEWnameASSELECTnameFROMname

[WITHCHECKOPTION];

创建"必修"课程的视图

CREATEVIEWRequiredCoursesASSELECT*FROMCourseWHERECourseType='必修'4.创建索引

基本格式如下:

CREATEINDEXindex_nameONtable-name;

根据Student表为Name列创建一个名为Student_name的索引:

CREATEINDEXStudent_nameONStudent(Name);5.创建存储过程

CREATEPROCEDUREprocedure_name@parameter_nameASSQL_statements;

存储过程中支持输入和输出两个参数并可以返回一个整数值用以进行状态检测。

例如创建一带输入和输出的存储过程(创建一个Number的存储过程):

CREATEPROCEDURENumber@depCHAR(20),--用来存储用户输入的院系的值(变量以@开头)@numINTOUT--用来存储SELECT语句的结果并输出给用户(变量以@开头)ASSET@num=(SELECTCOUNT(StudentID)FROMStudentWHEREDepartment=@dep);6.触发器

是一种特殊类的存储过程,一般在运行插入、删除、更新时自动运行。

其语法格式如下:

CREATETRIGGERtrigger_nameONtable-nameFOR{INSERT,UPDATE,DELETE}ASSQL-statements;

例创建一个简单的触发器,当更新Student表示显示一条信息:

CREATETRIGGERUpdONStudentFORUPDATE

AS

PRINT'Student已经被修改!'

7.创建用户和角色

其格式如下:

CREATEUSERuser_name;用户对自己建立的表和视图拥有全部的操作权限。

CREATEROLErole_name;角色是允许用户在数据库中执行特定功能的一个或一组权限。

二)修改表

其格式如下:

ALTERTABLEtable_nameADDcolumn_name/DROP(完整性约束名)/MODIFYcolumn_name;

例向Course表中添加一个新列“Teacher”,其数据类型为CHAR型。

ALTERTABLECourseADDTeacherCHAR(10);不论表中是否有数据,新增加的列一律为空值;

修改Course表中Teacher列的数据类型为VARCHAR型

ALTERTABLECourseMODIFYTeacherVARCHAR(10);

DROP语句是用来删除数据库、表、视图、索引、存储过程和触发器。

a.删除数据库

DROPDATABASEdatabase_name;可以彻底删除数据库的数据和它在磁盘上的物理结构。

例删除SI数据库

DROPDATABASESI;

b.删除数据表

DROPTABLEtable_name;可以从数据库中删除数据表。

例删除Student表

DROPTABLEStudent;

c.删除视图

DROPVIEWview_name;

d.删除索引

DROPINDEXindex_name;

e.删除存储过程

DROPPROCEDUREprocedure_name;

f.删除触发器

DROPTRIGGERtrigger_name;

九、数据操作语言(DataManipulationLanguage,DML)

(1)、INSERT语句

顾名思义大家都知道这是向数据库中插入数据,其包含两种写法:一插入一条记录,用INSERTVALUES;二插入子查询的结果,用INSERTSELECT;

其基本语法如下:

INSERTINTO表的名字(col1,col2....)VALUES(value1,value2,value3....)

实例:向“student表中”插入学生信息元组(‘、、、、、、’)

INSERTINTOStudent(StudentID,Name,Gender,Birthday,Origin,Department)VALUES('090202','王玲','女','1986-03-4','重庆','音乐系')介绍另外一种基本语法如下:

INSERTINTO表的名字(col1,col2....)SELSCTcol1,col2....FROM表的名字WHERE插入查询结果的新表

实例:把Student表中中文系学生的信息插入到CDIS表;

CREATETABLECDIS(StudentIDCHAR(10)PRIMARYKEY,NameCHAR(20),GenderCHAR(2),);INSERTINTOCDIS(StudentID,Name,Gender)SELECTStudentID,Name,GenderFROMStudentWHEREDepartment='中文系';(2)、SELECT语句

数据库的查询是数据库的核心操作,所以现在要深一步讲解;

其基本语法格式如下:

SELECT[DISTINCT|ALL]解释为每一个获得数据语句的开始,修正字DISTINCT可以去掉重复行;ALL是默认返回全部数据;*通ALL相同;

FROM表1|视图解释为从一个表中或视图中;

WHERE内容解释为语句限制返回的行必须满足限定的条件;

GROUPBY内容HAVING条件解释为讲所有列名相同的行组织在一起,而HAVING必须在GROUPBY实行,来限制选择组的满足条件;

ORDERBY内容;解释为通过指定列来对内容进行排序;

实例如下:单表查询

A查询学生的全部信息:

SELECT*FROMStudent;SELECT*FROMGrade;成绩表SELECT*FROMCourse;课程表其显示结果如下:

成绩表全部信息显示如下:

课程表显示如下:

B查询学生的学号、姓名和籍贯;

SELECTStudentID,Name,OriginFROMStudent;其显示结果如下:

C查询有哪些院系;

D查询经贸系的学生信息;

SELECT*FROMStudentWHEREDepartment='经贸系';也可以写成WHEREDepartmentIN('经贸系');其显示结果如下:

E查询成绩大于70分的学生的学号,查询结果按学号升序排列;

F查询成绩在50-70之间学生的学号;

G查找名叫“郭靖”学生的信息;

以下两张结果均为LIKE扩展而来;

H查询没有成绩的学生;

J查询“中文系”是“上海”的学生信息;

K查询选修了06号课程并且考试成绩为空的学生数量;

常用聚集函数如下表:

L查询选修了3门课的学生的学号

M查询考试不及格的学生的学号,姓名,课程和成绩;

注:连接多表查询需要用表名.列名的格式来加以区分;

N嵌套查询查询05号课程的不及格的学生的学号和姓名。

十一、集合查询:

SELECT语句的查询结果是元组的集合,所以对列数相同且数据类型也相同多的SELECT语句的结果可以进行集合操作。

包含了三个并(UNION)、交(INTERSECT)、差(EXCEPT)

O查询信息系和音乐系的学生信息

十二、UPDATE语句;

其基本格式如下:

UPDATEtable_nameSETcolun_name=value1colun_name2.....

WHERE控制语句;

P将04号课程改为必修;

十三、DELETE删除语句

注:只能删除一条语句,而不是删除表,如果删除表需要用DROPTABLE.

DELETEFROMtable_name

WHERE控制语句

Q删除张华的学生信息;

W把查询Student表的权限授予所有用户;

GRANTSELECTONStudentTOPUBLIC;运行成功之后就授予所有用户权限。

其基本定义格式如下:

GRANT什么样的权限

ON表名或者被授予权限的对象

TO用户名字PUBLIC;

还有另外一种形式为:

GRANTrole

TOuser_name

WITHADMINOPTION;

最后一句红色字母表示获得权限的角色或用户还可以把这种权限在授予其他的角色;

X把角色Y授予用户张

GRANTYTO张;Y收回所有用户对Grade表的查询权限。

REVOKESELECTONGradeTOPUBLIC;上述命令执行完毕;

而BEGINTRANSACTION(开始运行的)、COMMIT、ROLLBACK(表示回滚)语句是SQL中定义事务的语句;其事务具有四个特性:原子性、一致性、隔离性、持续性。

THE END
1.构建高效图书馆信息管理系统:从数据库到用户体验简介:图书馆信息管理系统是图书馆数字化转型的关键工具,它通过优化图书借阅流程和提升服务质量,减轻工作人员负担。系统基于数据库设计存储图书和读者信息,并提供图书录入、查询、借阅、归还、预约等多功能模块。用户体验设计简化操作,系统扩展性考虑未来需求。技术上采用B/S架构,前端和后端分离,中间件框架处理数据访问和业https://blog.csdn.net/weixin_42504649/article/details/143784493
2.图书馆管理数据架构图图书馆管理系统框架图图书馆管理数据架构图 图书馆管理系统框架图 1用例图 主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。 【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。 用例图所包含的元素如下:actor、usecase、子系统、四中关系(如下:)https://blog.51cto.com/u_16099280/7785083
3.图书管理系统数据模型ER图20240203.pptx图书管理系统数据模型E-R图XXX,ACLICKTOUNLIMITEDPOSSIBILITIES汇报人:XXX目录01添加目录项标题02图书管理系统概述03实体-关系图(E-R图)04图书管理系统实体分析05图书管理系统关系分析06图书管理系统E-R图设计添加章节标题PART01图书管理系统概述PART02图书管理系统的定义和功能定义:图书管理系统是一种用于管理图书馆藏书https://m.renrendoc.com/paper/309783453.html
4.图书管理系统数据模型er图20231130095856.doc管理系统图书管理系统数据模型e-r图.doc 22页内容提供方:语子 大小:117.5 KB 字数:约1.12万字 发布时间:2023-12-02发布于湖北 浏览人气:201 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)图书管理系统数据模型e-r图.doc 关闭预览 想预览更多内容,点击免费在线预览全https://max.book118.com/html/2023/1130/5121324013011020.shtm
5.数据治理:元数据及元数据管理策略方法和技术示例3:图书馆中的元数据 图书馆都会用一个叫作“图书目录”的文件夹来管理藏书,图书目录包含图书名称、编号、作者、主题、简介、摆放位置等信息,用来帮助图书管理员管理和快速查找图书。元数据就如同图书馆的图书目录一样,能够帮助数据管理员管理数据。 示例4:元数据好比字典 https://maimai.cn/article/detail?fid=1764226521&efid=pZndI-4jw66BTIK70mfYmQ
6.500多个全球及各国重要数据网站集锦(老素材,而且里面的内容需要普林斯顿大学Pliny Fisk经济学和金融图书馆http://www.princeton.edu/~econlib/ 提供经济学,金融方面的论文,数据,经济学和金融学网站等。 50. 现代资本主义市场经济基本数学模型 单篇论文。 http://www.zippercn.com/shuzhong.htm 51. 望劲天涯路 含刘正山在经济学领域的学术成果、专着、经济https://www.shangyexinzhi.com/article/2689667.html
7.图书管理系统分析(精选十篇)图书管理系统分析(精选十篇) 图书馆不仅需要管理成千上万的图书, 还要对频繁更替的借还书信息和纷繁复杂的读者信息等进行正确梳理。随着网络技术的普及, 可以实现一种自动化控制的信息管理系统, 它具有智能化、信息化和系统化的特点, 不仅降低图书管理成本, 而且能使管理https://www.360wenmi.com/f/cnkeyrc64zlp.html
8.图书馆书目检索系统2.3.5 基于知识管理的决策支持系统的结构形式 2.3.6 三部件和三系统结构的决策支持系统的比较与分析 2.4 决策支持系统的分类 2.5 决策支持系统的应用 本章小结 习题 第3章 数据库与数据库管理 3.1 数据和数据管理 3.2 数据库和数据模型 3.2.1 数据库 https://elib.nuist.edu.cn/space/searchDetailLocal/mb7f23dfcacfef66dc9156baa9edd737d
9.图书管理系统用例图7篇(全文)图书管理系统 UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。3.掌握建模工具的使用。 二、实验内容 根据以下需求设计一个图书馆管理系统的用例图模型,包括:用例图和主要用例的描述文档。 https://www.99xueshu.com/w/filesaiudqen.html
10.社会实践评语范文第一,这个评分标准没有摆正基地所在高校的图书馆与基地图书馆的关系。《贵州省高等学校人文社会科学研究基地管理办法》(2006)规定,“研究基地应拥有独立于学校图书馆的专门图书资料室”,评分标准要求学校图书馆的藏书30万册,该要求对于设有基地的大学来说并不是十分困难的事情。一般来讲,各省教育厅在选取人文社会科学https://www.gwyoo.com/haowen/144275.html
11.地质信息化建设研究进展与展望(5)开发建设了数字地质资料管理核心业务系统, 为地质资料数据的有效管理和服务提供了计算机网络系统平台。 2.3 基本建成数字地质图书馆 (1)形成了规模庞大、权威性高的在线地学文献数据资源池, 可在线接入国内外权威地学文献数据库20多个, 可供使用的文献数据达7亿多条。 (2)地质调查系统单位图书文献联合编目60多万http://www.zgdzdcbjb.com/article/2023/2095-8706-10-2-1.html
12.图书借阅系统甘特图绘制(图书馆管理系统甘特图)本篇文章给大家谈谈图书借阅系统甘特图绘制,以及图书馆管理系统甘特图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。今天给各位分享图书借阅系统甘特图绘制的知识,其中也会对图书馆管理系统甘特图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、干货笔记|项目管理之https://www.huoban.com/news/post/128575.html
13.空间数据的元数据开源地理空间基金会中文分会开放地理空间实验室空间数据的元数据? Metadata可以译成元数据,是描述数据的数据。在地理空间数据中,元数据是说明数据内容、质量、状况和其他有关特征的背景信息。元数据并不是一个新的概念。实际上传统的图书馆卡片、出版图书的版权说明、磁盘的标签等都是元数据。纸质地图的元数据,https://www.osgeo.cn/tutorial/k1054