前言
21世纪已经成为“数据”的世界,无处不在的物联网和传感器,使数据/信息呈爆炸式增长。在数据/信息的快速传输、高效计算、海量存储等方面不断发展的前提条件下,数据成了未来社会发展的一种崭新的不可见资源。过去常说的“信息爆炸”“海量数据”已经成为事实,未来越来越多的IT基础架构将会部署在公有云、私有云或者混合云上,而数据库作为架构中最重要的基础部分,也将发挥越来越重要的作用。
数据库技术就是研究各类数据的结构、存储、设计、管理和使用的一门学科。数据库技术自20世纪60年代中期产生以来,已成为计算机领域发展最快的学科分支之一,也是应用最广泛的技术之一。数据库技术作为数据管理的最有效手段,已经成为各类信息系统的核心技术和基础,广泛应用到教育、医疗、商业、科学研究、行政管理等行业。例如各种类型的管理信息系统及App、电子商务与电子政务、大中型网站、决策支持系统、企业资源规划、客户关系管理、数据仓库与数据挖掘等,都是以数据库技术作为重要的支撑。可以说,只要有计算机存在,就有数据库技术存在;只要有系统存在,就有数据库技术存在。因此,数据库的建设规模、应用深度成为衡量一个国家信息化程度的重要标志。在市场需求的驱动下,数据库技术成为当前高校计算机及相关专业的必修课程以及非计算机专业选修的核心课程之一。
在云计算和大数据时代,传统的面向结构化数据的关系数据库已不再是一枝独秀,各种NoSQL数据库不断涌现。NoSQL数据库面向半结构化和非结构化的数据,不进行类似关系数据库的复杂的处理,弥补了传统关系数据库的不足。基于此,本书结合目前流行的关系数据库SQL Server 2019和非关系数据库MongoDB,以21世纪对数据人才培养的需求为突破点,着力培养以数据的观点来看待世界,描述和解释世界,进而改造世界,并且能够理解数据、组织数据、管理数据、展示数据、应用数据的复合型人才。
本书内容包括8章。第1章为数据库基础知识。从数据、大数据的基本概念入手,介绍数据管理技术发展的5个阶段,从而引出数据库的概念。阐述了数据库系统的组成与数据库有关的名词术语,最后介绍了数据库系统的三级模式结构和二级映像功能。
第2章数据模型与关系数据库。从数据模型的三要素:数据结构,数据操作,完整性约束3个方面介绍了层次模型、网状模型和关系模型,最后重点介绍了关系模型的数据结构、数据操作、完整性约束。
第3章关系数据库标准语言SQL。从数据定义,数据操纵,数据检索3个方面介绍了SQL语句的使用,包括创建数据库、创建表、数据的增删改查、Transact-SQL的流程控制以及视图,索引、存储过程、触发器等数据库对象的创建与使用。
第4章关系数据库规范化理论。介绍了函数依赖、关系数据库的范式及规范化步骤。
第5章MongoDB数据库基础。介绍了NoSQL数据库管理系统MongoDB的安装、访问、管理(包括数据库的管理、集合和文档的管理)以及数据查询、索引、数据的导入与导出。
第6章数据库的安全与维护。从数据库的完整性控制、并发控制、数据库的备份与恢复介绍了SQL Server 2019和MongoDB在数据库安全性方面的实现与操作。
第7章数据库设计。从需求分析、概念结构设计、逻辑结构设计、物理设计、实施、运行与维护等方面介绍了数据库设计的整个流程。
第8章SQL Server 2019基础。介绍了Microsoft SQL Server 2019安装、登录、系统数据库以及主要管理工具的使用。
本教材的主要特色如下:
1)将关系数据库和非关系数据库的理论和操作结合进行介绍。结合目前流行的关系数据库SQL Server 2019和非关系数据库MongoDB,通过对比,强化理解关系数据库(对应结构化数据)和非关系数据库(对应于半结构化和非结构化数据)的不同本质,因本质不同导致了二者应用领域的不同。
2)数据库理论与实际应用相对照。在注重理论性、系统性和科学性的同时,兼顾理论的具体实现,以培养学生解决实际问题能力。比如,在讲第2章数据模型与关系数据库的理论——数据模型的三要素时,以关系模型为例,讲解关系数据库在数据模型上的具体实现;在讲第6章数据库的安全与维护理论时,也讲解SQL Server和MongoDB在数据库安全理论上的具体实现。
本书可作为高等学校计算机相关专业本科生和专科生的教材,也可作为从事相关专业的工程技术人员的参考用书。
在本书的编写过程中,参考了国内外大量的数据库技术的书刊及文献资料,在此一并对资料的作者表示感谢,主要的参考书籍和研究论文在书后的参考文献列出。书中全部的Transact-SQL(T-SQL)语句、MongoDB shell命令都已上机调试通过。
在编写过程中,编写团队开展了多次交流与研讨,对书稿进行了多次修改与完善,它的完成凝聚了所有作者的心血与智慧,凝聚了一个团队的教学成果。但由于编者水平和时间所限,书中疏漏之处在所难免,恳请同行专家和读者批评指正。
本书在编写过程中,得到了山东财经大学计算机科学与技术学院的相关领导、同事以及朋友、家人的大力支持与帮助,在此一并表示诚挚的谢意!本书的编写得到了山东省高等学校青创人才引育计划项目、山东财经大学“数据库原理及应用”课程思政项目以及山东财经大学计算机科学与技术学院教材建设专项经费的资助,特此致谢!
赵有恩
2021年7月于济南