数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。尤其在信息技术高速发展的今天,数据库技术的应用深入到了社会的各个领域,学习和掌握数据库知识非常必要。本书主要面向非计算机专业学生,通俗易懂、应用性强,有助于学生全面、系统地掌握数据库基础知识,并能结合所学专业开发具有应用价值的数据库管理系统。
SQLServer是微软公司的关系型数据库系统产品,在20世纪80年代后期开始开发,先后推出了多个版本。目前,SQLServer2012成熟且具有众多的新特性,已成为数据库管理系统领域的引领者。SQLServer2012作为微软公司的信息平台解决方案,不仅延续现有数据平台的强大能力,全面支持云技术,提供对企业基础架构最高级别的支持,还提供更多、更全面的功能,以满足不同人群对信息的需求,因此许多高校均将其列入教学内容。
数据库原理与应用是普通高等院校非计算机专业的一门应用型专业基础课,它的主要任务是研究数据的存储、使用和管理,讲解数据库的基本原理、方法和应用技术,使学生能有效地使用现有的数据库管理系统和软件开发工具设计和开发数据库应用系统。
结合数据库原理与应用技术的最新发展,本书全面讲述了数据库的基本原理和SQLServer2012的应用,共包含4部分内容:一是数据库基础部分;二是SQLServer2012部分;三是以VBNET为前端设计工具、SQLServer2012作为数据库平台的数据库应用开发部分;四是SQLServer2012上机实验部分。各部分的内容概述如下。
1数据库基础部分。第1章数据库技术概述,通过引入一个简单的数据库应用系统,概述数据库和数据库系统的组成、数据库系统的体系结构、数据库系统的发展和常见的关系型数据库系统。第2章关系数据库,概述关系模型、数据库系统设计的基本过程和数据库规范化基础。
2SQLServer2012部分。第3章SQLServer数据库,介绍了SQLServer2012的组成、SQLServer2012数据备份与恢复和SQLServer2012数据库安全性管理。第4章SQLServerManagementStudio管理数据库,建立与维护数据库、数据表和索引。第5章关系数据库标准语言SQL,简介SQL、数据定义语言、数据操纵语言、数据查询语言和视图的操作。第6章数据库编程,介绍TransactSQL语言基础、存储过程、触发器和游标。
3数据库应用开发部分。第7章VBNET程序设计基础,介绍了VBNET基本概念、VBNET可视化界面设计、VBNET基本语法和程序调试。第8章ADONET数据访问技术,简介了ADONET、ADONET的数据访问对象、DataSet对象、数据绑定方式、DataView对象和DataGridView对象。第9章数据库应用系统开发案例,讲解需求分析、设计与实现数据库、设计与实现系统、系统测试以及形成应用系统开发文档。
4SQLServer2012上机实验部分。第10章实验指导包括初识SQLServerManagementStudio、SQL数据定义语言、SQL数据操纵语言、使用SQL语句实现单表查询、使用SQL语句连接查询和嵌套查询、使用SQL语句创建与更新视图、流程控制语句、使用TSQL语句创建与更新存储过程、使用TSQL语句创建与更新触发器、建立VBNET和数据库的连接以及数据库应用系统设计。
本书以培养应用型和创新型数据库技术人才为目标,结合作者多年教学实践、教学改革以及应用实践编写而成,具有以下特点。
00
1实例贯穿始终。以SQLServer2012为数据库管理系统平台,引入学生熟悉的系统为示例贯穿始终,以对实例的分析解决为主线,将分散的知识点通过实例融合在一起,使学生更容易理解和掌握不同知识点的应用环境,从而加深对知识点的掌握程度,并提高应用的灵活性。
2体系完整、条理清晰。以SQLServer2012为数据库管理系统平台,分别从理论、实例、实训和综合案例的角度,系统地介绍数据库的基本原理、SQLServer数据管理和使用方法以及数据库系统的开发方法,内容全面,知识点丰富,有助于读者理解、掌握与应用数据库。
3任务驱动,注重实践。紧扣理论知识点,附有小结、习题和上机实践,方便读者更加深入地进行学习。本书的系统开发案例,将数据库原理与应用技术融入实际案例中,强调实践性,突出实用性,让读者系统地体验从数据库规划设计到数据库运行维护的全过程。
4图文并茂。本书由浅入深、循序渐进,反映新概念、新技术,用精选的图表以及大量的截图来阐述知识内容,有助于读者加深概念理解、巩固知识和掌握要点;力求图文并茂,清晰展现概念、理论以及操作方法,使读者易于学习和掌握,逐步培养读者的学习兴趣,为实践教学打好基础。
为了便于教学,本书提供了丰富而完整的教学和学习资源,包括PPT、课后习题答案、例题样本数据库和例题源代码等。
本书由同济大学经济管理学院吴冰、徐德华编著,编者感谢同济大学经济管理学院的研究生陈小慧、卢彦君、杜宁和陈雯霞同学在本书编写过程中做了大量的资料整理和录入工作。
由于水平有限,书中难免有不妥之处,敬请广大读者和专家学者批评指正。
编者2017年3月
吴冰,管理学博士,同济大学经管学院副教授。主要研究方向:知识管理和Web数据挖掘。主要讲授《数据库原理与应用》和《管理信息系统》等课程,其中《管理信息系统》被评为2007年上海市精品课程。主持多项同济大学教改项目,包括《ERP精品实验建设》和《数据库原理与应用教材建设》,并在核心期刊发表多篇教改论文。出版《物流信息系统》《管理信息系统》等教材,其中《管理信息系统》被评为“十二五”规划教材。
第1章数据库技术概述
本章通过网上购物系统示例,引入数据库系统;介绍数据库系统的组成、数据管理技术的发展历程和常见的关系型数据库系统,为数据模型的建立打下基础。
11数据库示例及概述
111应用系统示例
本节以网上购物系统为例,介绍数据库应用系统。
网上购物系统主要有以下功能。
1系统登录
系统登录界面如图11所示,请思考:
问题(1):系统如何判断所输入的用户名和密码正确?
图11系统登录界面
2商品信息的录入、修改、删除和查询
商品信息管理界面如图12所示,请思考:
问题(2):商品信息的维护由谁负责?
问题(3):商品信息更新后,为什么客户能及时得到更新后的商品信息?
图12商品信息管理
以上问题的答案如下。
问题(1):所有用户名和密码都存储在数据库中。网上购物系统只是一个应用程序,处理的数据必须从特定的数据源中提取,这个数据源就是数据库。
00
00
问题(2):商品信息的维护由商家根据实际进货、库存和销售情况完成。
问题(3):虽然客户和商家分布于不同的地理位置,但是他们通过网络共享数据库中的信息,操作对象是相同的。因此,商品信息会随着商家的更新而及时发生变化。
112数据库概述
111节的网上购物系统示例,充分展示了随着计算机与网络的普及,数字技术正改变人类赖以生存的社会环境,并因此使人类的生活和工作环境具备了更多的数字化特征。计算机技术的发展为科学有效地进行数据管理提供了先进的工具和手段,用计算机管理数据的方法已经渗透到社会的各个领域。
1数据与信息
数据是数据库系统研究和处理的对象,是用来记录信息的可识别的符号。数据用型和值来表示。数据的型是指数据内容存储在媒体上的具体形式(例如,姓名、地址);值是指所描述的客观事物的本体特性(例如,周四、上海市静安区)。数据在数据处理领域中涵盖的内容非常广泛,不仅包括数字、字母、文字等常见符号,还包括图形、图像、声音等媒体数据。
信息是消息,通常以文字、声音或图像的形式来表现。在软件开发过程中,所管理的很多文档中不同的数据条目通常附有相关的说明,这些说明就是起到了信息的作用。信息是反映客观世界中各种事物的特征和变化,并可借助某种载体加以传递的有用知识。
数据是信息的一种具体表示形式,信息是各种数据所包括的意义。信息可用不同的数据形式来表现,信息不随数据的表现形式而改变。例如,1980年10月1日与19801001。信息和数据的关系是:数据是信息的载体,是信息的具体表现形式。
2数据处理与数据管理
数据处理是将数据转换成信息的过程,其根本目的就是从大量的、已知的数据中,根据事物之间的固有联系和规律,通过对数据的收集、转换和组织,数据的输入、存储、合并、计算和更新,数据的检索和输出等过程,提取出有价值、有意义的信息,作为决策的依据。
数据管理是数据处理的中心问题,一般情况下,数据管理应包括以下3方面内容。
(1)数据组织和数据保存。为了使数据能够长期保存,数据管理工作需要将得到的数据合理地分类组织,并存储在计算机硬盘等物理介质上。
(2)数据维护。数据管理工作要根据需要随时进行增、删、改数据的操作,即增加新数据、修改原数据和删除无效数据。
(3)数据查询和数据统计。数据管理工作要提供数据查询和数据统计功能,以便快速准确地得到需要的数据,满足各种使用要求。
数据库系统的核心任务是数据管理,数据库系统已成为计算机应用的一个重要分支,下面将详细介绍数据库管理技术的产生和发展。
3数据库管理技术的产生和发展
1)人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算,相当于一个计算工具。当时的硬件状况是,外在只有纸带、卡片、磁带,没有磁盘等直接的存储设备,数据不保存在计算机内;软件状况是,没有操作系统,没有管理数据的专门软件;数据处理方式是批处理。数据的管理由程序员个人考虑安排,只有程序的概念,没有文件的概念;用户程序与物理地址直接关联,效率低,数据管理不安全灵活;数据与程序不具备独立性,数据成为程序的一部分,数据面向程序,即一组数据对应一个程序,导致程序之间大量数据重复。在人工管理阶段,应用程序与数据之间的对应关系可用图13表示。
图13人工管理阶段应用程序
与数据之间的对应关系
2)文件系统阶段
从20世纪50年代后期到60年代中期,硬件方面已经有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够实时处理。所有文件由文件管理系统进行统一管理和维护。文件系统管理数据具有以下特点。
(1)数据可以长期保存。由于计算机大量用于数据处理,数据需要长期保留在外存上反复进行查询、修改、插入和删除等操作。
(2)由文件系统管理数据。由文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件。程序和数据之间由文件系统提供存取方法进行转换,使应用程序和数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于设计算法,而且数据在存储上的改变不一定反映在程序上,大大节省了维护程序的工作量。
文件系统阶段存在数据冗余性、数据不一致性、数据联系弱、数据安全性差、缺乏灵活性等问题。文件系统阶段应用程序与数据之间的对应关系如图14所示。
3)数据库系统阶段
自20世纪60年代后期以来,计算机管理的对象规模越来越大,应用范围越来越广,以文件系统作为数据管理手段已不能满足应用的需求,为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,出现了数据库技术和统一管理数据的专门软件系统——数据库管理系统(DBMS)。数据库系统阶段应用程序与数据之间的对应关系如图15所示。
图14文件系统阶段应用程序与
数据之间的对应关系
图15数据库系统阶段应用程序与
数据之间的对应关系
从文件系统到数据库系统,标志着数据管理技术的飞跃,下面详细讨论数据库系统的组成。
12数据库系统的组成
数据库系统(databasesystem,DBS)一般由数据库(database,DB)、数据库管理系统(databasemanagementsystem,DBMS)、应用系统(application)、数据库管理员(administrator)和用户(user)组成,如图16所示。
图16数据库系统的组成
数据库系统的查询过程可以概括为:用户通过应用系统输入查询条件,应用系统将查询条件转化成数据库查询命令并提交给数据库管理系统,数据库管理系统接收到查询命令后,解析执行命令并在操作系统的帮助下从数据库中提取数据返回应用系统,再由应用系统以直观友好的格式显示出查询结果。
121数据库
数据库是按一定的数据模型组织、存储和使用的相关联的数据集合,不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。
1数据库的分类
数据库可以分成两类:桌面型数据库和网络数据库。
1)桌面型数据库
桌面型数据库,其主要特点如下。
(1)主要运行在个人计算机上,操作系统通常为桌面型操作系统。
(2)没有或只提供有限的网络应用功能。
(3)提供功能较弱的数据库管理工具和功能较强的前端开发工具。
(4)管理简单,使用方便。
(5)主要应用于小型的数据库系统,满足日常小型办公需要。
对于并发用户数不多和安全性能要求不高的场合,使用桌面型数据库可以体现出管理简单、使用方便的优势。目前,许多小型的Web站点后台的数据库就是Access。
2)网络数据库
网络数据库的主要特点如下。
(1)运行在网络操作系统之上。
(2)具有强大的网络功能和分布式功能,可以根据具体的情况组合成各种模式。
(3)一般来说,数据库系统管理工具、前端开发工具和后台数据库是可以分离的。
(4)技术先进,功能强大。
(5)具有完备的数据库安全性。
2数据库的主要特点
数据库的主要特点有以下5个方面。
1)数据实现集中控制,具有统一的数据结构
整个数据库按一定的结构形式构成,利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
2)实现数据共享
数据库系统从整体角度看待和描述数据,数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。用户可以同时存取数据且互不影响,大大提高了数据库的使用效率,同时数据共享可以大大减少冗余度、节约存储空间。
3)减少数据的冗余度
由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据和数据冗余,维护了数据的一致性。
4)数据的独立性
数据的独立性包括数据的物理独立性和数据的逻辑独立性。
物理独立性指,用户的应用程序与数据库物理结构是相互独立的,当数据的物理结构改变时,可以保持数据的逻辑结构不变,从而应用程序也不必改变。
逻辑独立性指,用户的应用程序与数据库的逻辑结构是相互独立的,应用程序是依据数据的局部逻辑结构编写,即使数据的逻辑结构改变了,应用程序也不必修改。
5)具有安全控制机制
(1)安全性控制:数据的安全性是指保护数据,以防止不合法使用造成数据的泄密、破坏、丢失、错误更新和越权使用,使每个用户只能按规定对某些数据以某些方式进行使用和处理。
(2)完整性控制:数据的完整性是指数据的正确性、有效性、相容性和一致性。完整性检查是指将数据控制在有效的范围内,或保证数据之间满足一定的关系。
(3)并发控制:当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使数据库的完整性和一致性遭到破坏,因此必须对用户的并发操作加以控制和协调,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。
(4)故障的发现和恢复:当计算机系统遭到硬件故障、软件故障、操作员误操作或恶意破坏时,可能会导致数据错误或数据全部、部分丢失,数据库必须及时发现故障和修复故障,从而防止数据被破坏。
122数据库管理系统
数据库管理系统(databasemanagementsystem,DBMS)是指数据库系统中对数据库进行管理的软件系统,是数据库系统的核心组成部分,数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过数据库管理系统进行。
数据库管理系统是位于用户与操作系统之间的系统软件。数据库管理系统在操作系统支持下运行,借助于操作系统实现对数据的存储和管理,使用户方便地定义数据和操纵数据,使数据能被各种不同的用户共享,并能够保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的数据恢复。数据库管理系统与用户之间的接口称为用户接口,提供给用户可使用的数据库语言。
1数据库管理系统的主要功能
数据库管理系统种类很多,功能与性能方面存在一定的差异。通常,数据库管理系统的功能包含以下6方面。
1)数据库定义
通过数据库管理系统提供的数据定义语言对数据库的数据对象进行定义,实现全局逻辑结构、局部逻辑结构、物理结构定义以及权限定义等。
2)数据操作
通过数据操纵语言实现对数据库的各种操作功能,如查询、排序、统计、输入、输出、添加、插入、删除、修改等功能。
3)数据库运行管理
管理数据库的运行是数据库管理系统运行时的核心工作,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用、发生故障后的系统恢复。
4)数据组织、存储和管理
数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,数据库管理系统负责组织、存储和管理这些数据,确定以何种文件结构和存取方式组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及随机查找、顺序查找、增加、删除、修改等操作的时间效率。
5)数据库的建立和维护
建立数据库,包括数据库初始数据的输入与数据转换等。维护数据库,包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。
6)数据通信功能
数据库管理系统需要提供与其他软件系统进行通信的功能,具备与操作系统的联机处理、分时系统及远程作业输入的相应接口。例如,提供与其他数据库管理系统或文件系统的接口,从而能够将数据转换为另一个数据库管理系统或文件系统能够接受的格式,或者接收其他数据库管理系统或文件系统的数据。
2数据库管理系统的组成
为了提供上述6方面的功能,数据库管理系统通常由下列4部分组成。
1)数据定义语言及其编译程序
数据定义语言(datadefinitionlanguage,DDL)用于定义数据库和有关约束条件,通过数据描述语言编译器将其翻译成相应的内部表示,保存在数据字典中。
2)数据操纵语言或查询语言及其编译(或解释)程序
……