高等学校计算机应用规划教材 SQL Server2019数据库教程 主编 于晓鹏 副主编 于萍 于 淼 孙启隆 齐长利 清华大学出版社 北京
高等学校计算机应用规划教材 SQL Server 2019 数据库教程 主 编 于晓鹏 副主编 于 萍 于 淼 孙启隆 齐长利 北 京
目 录 第1章数据库基础… 第2章初识SQL Server2019…31 1.1数据库系统基本概念… 2.1 SQL Server版本介绍 …31 1.1.1信息… 2.2 SOL Server2019优势 …32 11.2数据…1 2.3 SOL Server2019的安装-35 1.13数据处理…2 2.3.1下载SQL Server2019…35 L.1.4数据库…2 2.3.2安装SOL Server2019.36 1.1.5数据库管理系统……3 2.4 SQL Server2019组件和工具…41 1.1.6数据库系统……4 习题2… …43 1.2数据管理技术的发展 ……4 第3章数据库的创建与管理…45 1.2.1人工管理阶段 4 3.1 系统数据库 45 12.2文件系统阶段…5 3.2数据库结构 46 12.3数据库系统阶段 6 3.2.1数据库文件 …46 1.3数据模型 …7 3.2.2文件组 47 13.1现实世界…8 3.3创建数据库 …48 1.3.2信息世界 …8 3.4管理数据库 50 1.3.3机器世界…10 3.4.1查看数据库信息…51 1.4关系数据库… …11 3.4.2修改数据库…51 1.4.1关系模型…11 3.4.3重命名数据库…52 1.4.2关系数据库的规范化理论…15 3.4.4打开数据库…53 1.5数据库系统的体系结构 …… 20 3.4.5分离和附加数据库 53 1.5.1数据库系统的三级模式结构…20 3.4.6删除数据库 57 1.5.2数据库的二级映像与数据的 3.4.7收缩数据库…58 独立性…21 3.4.8移动数据库 …62 1.6数据库系统设计简介. 22 习题3…62 1.6.1需求分析阶段… 22 1.6.2 概念结构设计阶段…22 第4章数据表的创建与管理…66 1.6.3逻辑结构设计阶段… 23 4.1 创建数据表 66 1.6.4物理结构设计阶段…23 4.2管理数据表…69 1.6.5数据库实施阶段 24 4.2.1使用Transact-SQL语句增加 1.6.6数据库运行和维护阶段…25 删除和修改字段…69 习题1…26 4.22重命名数据表…71
目 录 第 1 章 数据库基础···························1 1.1 数据库系统基本概念····················· 1 1.1.1 信息 ·································· 1 1.1.2 数据 ·································· 1 1.1.3 数据处理 ···························· 2 1.1.4 数据库 ······························· 2 1.1.5 数据库管理系统 ··················· 3 1.1.6 数据库系统 ························· 4 1.2 数据管理技术的发展 ··············· 4 1.2.1 人工管理阶段 ······················ 4 1.2.2 文件系统阶段 ······················ 5 1.2.3 数据库系统阶段 ··················· 6 1.3 数据模型 ······························ 7 1.3.1 现实世界 ···························· 8 1.3.2 信息世界 ···························· 8 1.3.3 机器世界 ···························10 1.4 关系数据库 ··························11 1.4.1 关系模型 ···························11 1.4.2 关系数据库的规范化理论 ······15 1.5 数据库系统的体系结构 ···········20 1.5.1 数据库系统的三级模式结构 ···20 1.5.2 数据库的二级映像与数据的 独立性 ······························21 1.6 数据库系统设计简介 ··············22 1.6.1 需求分析阶段 ·····················22 1.6.2 概念结构设计阶段 ···············22 1.6.3 逻辑结构设计阶段 ···············23 1.6.4 物理结构设计阶段 ···············23 1.6.5 数据库实施阶段 ··················24 1.6.6 数据库运行和维护阶段 ·········25 习题 1········································26 第 2 章 初识 SQL Server 2019·········· 31 2.1 SQL Server 版本介绍 ··············31 2.2 SQL Server 2019 优势··············32 2.3 SQL Server 2019 的安装···········35 2.3.1 下载 SQL Server 2019 ···········35 2.3.2 安装 SQL Server 2019 ···········36 2.4 SQL Server 2019 组件和工具 ····41 习题 2········································43 第 3 章 数据库的创建与管理············· 45 3.1 系统数据库 ··························45 3.2 数据库结构 ··························46 3.2.1 数据库文件 ························46 3.2.2 文件组 ······························47 3.3 创建数据库 ··························48 3.4 管理数据库 ··························50 3.4.1 查看数据库信息 ··················51 3.4.2 修改数据库 ························51 3.4.3 重命名数据库 ·····················52 3.4.4 打开数据库 ························53 3.4.5 分离和附加数据库 ···············53 3.4.6 删除数据库 ························57 3.4.7 收缩数据库 ························58 3.4.8 移动数据库 ························62 习题 3········································62 第 4 章 数据表的创建与管理············· 66 4.1 创建数据表 ··························66 4.2 管理数据表 ··························69 4.2.1 使用 Transact-SQL 语句增加、 删除和修改字段··················69 4.2.2 重命名数据表 ·····················71
第1章 数据库基础 随着科学技术和社会经济的飞速发展,人们掌握的信息量急剧增加,要充分地开发和 利用这些信息资源,就必须有一种新技术,能对大量的信息进行识别、存储、处理与传播。 随着计算机软硬件技术的发展,20世纪60年代末,数据库技术应运而生,并从20世纪70 年代起得到了迅速的发展和广泛的应用。 数据库是数据管理的有效技术,是计算机科学的重要分支。如今,信息资源已成为各 个部门的重要财富和资源,建立一个满足各级部门信息处理要求的行之有效的信息系统也 成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技 术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理 (On-Line Transaction Processing,OLTP)到联机分析处理(On-Line Analysis Processing, OLAP),从一般企业管理到计算机辅助设计与制造(Computer Aided Design,CAD/Compter Aided Manufacturing,CAM、计算机集成制造系统(Computer Integrated Manufacturing System,CMS)、电子政务(e-Government)、电子商务(e-Commerce))、地理信息系统(Geographic Information System,GIS)等,越来越多的应用领域采用数据库技术来存储和处理信息资源。 特别是随着互联网的发展,广大用户可以直接访问并使用数据库,例如通过网络订购图书、 日用品、机票、火车票,通过网上银行转账存款取款、检索和管理账户等。数据库已经 成为每个人生活中不可缺少的部分。 数据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据 库技术作为数据管理的最新技术,目前己被广泛应用于各个领域。如今,数据库的建设规 模、数据库信息量的大小和使用频度,己经成为衡量一个国家信息化程度的重要标志。 1.1 数据库系统基本概念 本节主要介绍有关数据库的信息、数据、数据处理、数据库、数据库管理系统和数据 库系统等概念。 1.1.1信息 信息是人脑对现实世界中的客观事物及事物之间联系的抽象反映,它向人们提供了关 于现实世界实际存在的事物及其联系的有用知识。 1.1.2数据 数据是人们用各种物理符号,把信息按一定格式记载下来的有意义的符号组合。数据 是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字,例如93
第 1 章 数据库基础 随着科学技术和社会经济的飞速发展,人们掌握的信息量急剧增加,要充分地开发和 利用这些信息资源,就必须有一种新技术,能对大量的信息进行识别、存储、处理与传播。 随着计算机软硬件技术的发展,20 世纪 60 年代末,数据库技术应运而生,并从 20 世纪 70 年代起得到了迅速的发展和广泛的应用。 数据库是数据管理的有效技术,是计算机科学的重要分支。如今,信息资源已成为各 个部门的重要财富和资源,建立一个满足各级部门信息处理要求的行之有效的信息系统也 成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技 术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理 (On-Line Transaction Processing,OLTP)到联机分析处理(On-Line Analysis Processing, OLAP),从一般企业管理到计算机辅助设计与制造(Computer Aided Design,CAD/Compter Aided Manufacturing,CAM)、计算机集成制造系统(Computer Integrated Manufacturing System,CIMS)、电子政务(e-Government)、电子商务(e-Commerce)、地理信息系统(Geographic Information System,GIS)等,越来越多的应用领域采用数据库技术来存储和处理信息资源。 特别是随着互联网的发展,广大用户可以直接访问并使用数据库,例如通过网络订购图书、 日用品、机票、火车票,通过网上银行转账存款取款、检索和管理账户等。数据库已经 成为每个人生活中不可缺少的部分。 数据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据 库技术作为数据管理的最新技术,目前已被广泛应用于各个领域。如今,数据库的建设规 模、数据库信息量的大小和使用频度,已经成为衡量一个国家信息化程度的重要标志。 1.1 数据库系统基本概念 本节主要介绍有关数据库的信息、数据、数据处理、数据库、数据库管理系统和数据 库系统等概念。 1.1.1 信息 信息是人脑对现实世界中的客观事物及事物之间联系的抽象反映,它向人们提供了关 于现实世界实际存在的事物及其联系的有用知识。 1.1.2 数据 数据是人们用各种物理符号,把信息按一定格式记载下来的有意义的符号组合。数据 是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字,例如 93
2· SQL Server2019数据库教程 1000、99.5、-330.86、¥60、$726等。其实数字只是最简单的一种数据,是对数据的传统 和狭义的理解。广义的理解认为数据的种类很多。例如,文本(text)、图形(graph)、图像 (image)、音频(audio)、视频(video)、学生的档案记录、货物的运输情况等都是数据。 可以对数据做如下定义:描述事物的符号记录被称为数据。描述事物的符号可以是数 字,也可以是文字、图形、图像、音频、视频等。数据有多种表现形式,它们都可以经过 数字化后存入计算机。 在现代计算机系统中,数据的概念是广义的。早期的计算机系统主要用于科学计算, 处理的数据是数值型数据,如整数、实数、浮点数等。现在计算机存储和处理的对象十分 广泛,表示这些对象的数据也随之变得越来越复杂。 数据的表现形式还不能完全表达其内容,需要经过解释,数据和关于数据的解释是不 可分的。例如,88是一个数据,它可以是一个学生某门课的成绩,也可以是某个人的体重, 还可以是某个班的学生人数。数据的解释是指对数据含义的说明,数据的含义称为数据的 语义,数据与其语义是不可分的。 在日常生活中,人们可以直接用自然语言(如汉语)来描述事物。例如,日常生活中我 们这样描述某校软件工程专业一位学生的基本情况:张三,男,1999年5月生,吉林省四 平市人,2018年入学。这在计算机中常常如下描述: (张三,男,199905,吉林省四平市,软件工程,2018) 即把学生的姓名、性别、出生年月、出生地、所在专业、入学时间等组织在一起,构成一 个记录。这里的学生记录就是描述学生的数据,这样的数据是有结构的。记录是计算机中 表示和存储数据的一种格式或一种方法。 1.1.3数据处理 数据处理是指对各种形式的数据进行收集、整理、加工、存储和传播的一系列活动的 总和。其目的之一是从大量的原始数据中提取出对人们有价值的信息,作为行动和决策的 依据:目的之二是借助计算机科学地保存和管理大量的复杂数据,以便人们能利用这些信 息资源。 1.1.4数据库 数据库(Database,DB),顾名思义,是存放数据的仓库。只不过这个仓库是在计算机 存储设备上,而且数据是按一定的格式存放的。 人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来,以供进一步加 工处理,抽取有用信息。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧 增加。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和 管理大量复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。 严格地讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数 据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)人、较高 的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享
• 2 • SQL Server 2019 数据库教程 1000、99.5、-330.86、¥60、$726 等。其实数字只是最简单的一种数据,是对数据的传统 和狭义的理解。广义的理解认为数据的种类很多。例如,文本(text)、图形(graph)、图像 (image)、音频(audio)、视频(video)、学生的档案记录、货物的运输情况等都是数据。 可以对数据做如下定义:描述事物的符号记录被称为数据。描述事物的符号可以是数 字,也可以是文字、图形、图像、音频、视频等。数据有多种表现形式,它们都可以经过 数字化后存入计算机。 在现代计算机系统中,数据的概念是广义的。早期的计算机系统主要用于科学计算, 处理的数据是数值型数据,如整数、实数、浮点数等。现在计算机存储和处理的对象十分 广泛,表示这些对象的数据也随之变得越来越复杂。 数据的表现形式还不能完全表达其内容,需要经过解释,数据和关于数据的解释是不 可分的。例如,88 是一个数据,它可以是一个学生某门课的成绩,也可以是某个人的体重, 还可以是某个班的学生人数。数据的解释是指对数据含义的说明,数据的含义称为数据的 语义,数据与其语义是不可分的。 在日常生活中,人们可以直接用自然语言(如汉语)来描述事物。例如,日常生活中我 们这样描述某校软件工程专业一位学生的基本情况:张三,男,1999 年 5 月生,吉林省四 平市人,2018 年入学。这在计算机中常常如下描述: (张三,男,199905,吉林省四平市,软件工程,2018) 即把学生的姓名、性别、出生年月、出生地、所在专业、入学时间等组织在一起,构成一 个记录。这里的学生记录就是描述学生的数据,这样的数据是有结构的。记录是计算机中 表示和存储数据的一种格式或一种方法。 1.1.3 数据处理 数据处理是指对各种形式的数据进行收集、整理、加工、存储和传播的一系列活动的 总和。其目的之一是从大量的原始数据中提取出对人们有价值的信息,作为行动和决策的 依据;目的之二是借助计算机科学地保存和管理大量的复杂数据,以便人们能利用这些信 息资源。 1.1.4 数据库 数据库(Database,DB),顾名思义,是存放数据的仓库。只不过这个仓库是在计算机 存储设备上,而且数据是按一定的格式存放的。 人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来,以供进一步加 工处理,抽取有用信息。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧 增加。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和 管理大量复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。 严格地讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数 据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度(redundancy)、较高 的数据独立性(data independency)和易扩展性(scalability),并可为各种用户共享
第1章数据库基础 3· 概括地讲,数据库数据具有永久存储、有组织和可共享3个基本特点。 1.1.5数据库管理系统 数据库管理系统(Database Management System,DBMS)是一种系统软件,介于应用程 序和操作系统之间,用于帮助人们管理输入计算机中的大量数据。例如,用于创建数据库, 向数据库中存储数据,修改数据库中的数据,从数据库中提取信息,等等。具体来说,一 个数据库管理系统应具备如下功能。 (I)数据定义功能。数据库管理系统提供数据定义语言(Data Definition Language, DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。 (2)数据组织、存储和管理。数据库管理系统要分类组织、存储和管理各种数据,包括数 据字典、用户数据、数据的存取路径等。用户要确定以何种文件结构和存取方式在存储器上组 织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和 方便存取,提供多种存取方法(如索引查找、hash查找、顺序查找等)来提高存取效率。 (3)数据操纵功能。数据库管理系统还提供数据操纵语言(Data Manipulation Language, DML),用户可以使用它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。 (4)数据库的事务管理和运行管理。数据库在建立、运用和维护时由数据库管理系统 统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的 开发使用及发生故障后的系统恢复。 (⑤)数据库的建立和维护功能。包括数据库初始数据的输入、转换功能,数据库的转 储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实 用程序或管理工具完成的。 (⑥)其他功能。包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库 管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间互访和互 操作功能,等等。 数据库管理系统在计算机系统中的地位如图1-1所示。它运行在一定的硬件和操作系 统平台上。人们可以使用一定的开发工具,利用DBMS提供的功能,创建满足实际需求的 数据库应用系统。 应用系统 应用开发工其 DBMS 操作系统 硬件 图1-1数据库管理系统在计算机系统中的地位
第 1 章 数据库基础 • 3 • 概括地讲,数据库数据具有永久存储、有组织和可共享 3 个基本特点。 1.1.5 数据库管理系统 数据库管理系统(Database Management System,DBMS)是一种系统软件,介于应用程 序和操作系统之间,用于帮助人们管理输入计算机中的大量数据。例如,用于创建数据库, 向数据库中存储数据,修改数据库中的数据,从数据库中提取信息,等等。具体来说,一 个数据库管理系统应具备如下功能。 (1) 数据定义功能。数据库管理系统提供数据定义语言(Data Definition Language, DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。 (2) 数据组织、存储和管理。数据库管理系统要分类组织、存储和管理各种数据,包括数 据字典、用户数据、数据的存取路径等。用户要确定以何种文件结构和存取方式在存储器上组 织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率和 方便存取,提供多种存取方法(如索引查找、hash 查找、顺序查找等)来提高存取效率。 (3) 数据操纵功能。数据库管理系统还提供数据操纵语言(Data Manipulation Language, DML),用户可以使用它操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改等。 (4) 数据库的事务管理和运行管理。数据库在建立、运用和维护时由数据库管理系统 统一管理和控制,以保证事务的正确运行,保证数据的安全性、完整性、多用户对数据的 开发使用及发生故障后的系统恢复。 (5) 数据库的建立和维护功能。包括数据库初始数据的输入、转换功能,数据库的转 储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实 用程序或管理工具完成的。 (6) 其他功能。包括数据库管理系统与网络中其他软件系统的通信功能,一个数据库 管理系统与另一个数据库管理系统或文件系统的数据转换功能,异构数据库之间互访和互 操作功能,等等。 数据库管理系统在计算机系统中的地位如图 1-1 所示。它运行在一定的硬件和操作系 统平台上。人们可以使用一定的开发工具,利用 DBMS 提供的功能,创建满足实际需求的 数据库应用系统。 图 1-1 数据库管理系统在计算机系统中的地位
。4 SOL Server2019数据库教程 根据对信息的组织方式的不同,数据库管理系统可以分为关系、网状和层次3种类型。 目前使用最多的数据库管理系统是关系型数据库管理系统(RDBMS)。例如,SQL Server、 Oracle、Sybase、Visual FoxPro、DB2、Informix、Ignres等都是常见的关系数据库管理系统。 1.1.6数据库系统 数据库系统(Database System,DBS)是由数据库、数据库管理系统(及其应用开发工具)、 应用程序和数据库管理员(Database Administrator,DBA)组成的存储、管理、处理和维护数 据的系统。应当指出的是,数据库的建立、使用和维护等工作只靠一个数据库管理系统远 远不够,还要有专门的人员来完成,这些人被称为数据库管理员。 在数据库系统中,数据库提供数据的存储功能,数据库管理系统提供数据的组织、存 取、管理和维护等基础功能,数据库应用系统根据应用需求使用数据库,数据库管理员负 责全面管理数据库系统。 1.2 数据管理技术的发展 数据库技术是应数据管理任务的需要而产生的。数据管理是指对数据进行分类、组织、 编码、存储、检索和维护,它是数据处理的中心问题。 在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工 管理、文件系统、数据库系统3个阶段。 1.2.1人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算。当时的硬件状况是:外存只有 纸带、卡片、磁带,没有磁盘等直接存取存储设备:软件状况是:没有操作系统,没有管 理数据的专门软件:数据处理方式是批处理。批处理(Batch)是一种简化的脚本语言,它应 用于DOS和Windows系统中,是由DOS或者Windows系统内嵌的命令解释器(通常是 COMMAND.COM或者CMD.EXE)解释运行,类似于UNX中的Shel脚本。批处理文件 具有.bat或者.cmd的扩展名,其最简单的例子是逐行书写在命令行中用到的各种命令。更 复杂的情况,它需要使用f、for、goto等命令控制程序的运行过程,如同C、BASIC等高 级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供 的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不 仅能使用命令行软件,任何32位的Windows程序都可以放在批处理文件中运行。人工管 理数据具有如下特点。 (1)数据不保存。由于当时计算机主要用于科学计算,一般不需要将数据长期保存, 只是在计算某一课题时将数据输入,用完就撤走。它不仅对用户数据如此处置,对系统软 件有时也是这样。 (2)应用程序管理数据。数据需要由应用程序自己设计、说明(定义)和管理,没有相应
• 4 • SQL Server 2019 数据库教程 根据对信息的组织方式的不同,数据库管理系统可以分为关系、网状和层次 3 种类型。 目前使用最多的数据库管理系统是关系型数据库管理系统(RDBMS)。例如,SQL Server、 Oracle、Sybase、Visual FoxPro、DB2、Informix、Ignres 等都是常见的关系数据库管理系统。 1.1.6 数据库系统 数据库系统(Database System,DBS)是由数据库、数据库管理系统(及其应用开发工具)、 应用程序和数据库管理员(Database Administrator,DBA)组成的存储、管理、处理和维护数 据的系统。应当指出的是,数据库的建立、使用和维护等工作只靠一个数据库管理系统远 远不够,还要有专门的人员来完成,这些人被称为数据库管理员。 在数据库系统中,数据库提供数据的存储功能,数据库管理系统提供数据的组织、存 取、管理和维护等基础功能,数据库应用系统根据应用需求使用数据库,数据库管理员负 责全面管理数据库系统。 1.2 数据管理技术的发展 数据库技术是应数据管理任务的需要而产生的。数据管理是指对数据进行分类、组织、 编码、存储、检索和维护,它是数据处理的中心问题。 在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工 管理、文件系统、数据库系统 3 个阶段。 1.2.1 人工管理阶段 20 世纪 50 年代中期以前,计算机主要用于科学计算。当时的硬件状况是:外存只有 纸带、卡片、磁带,没有磁盘等直接存取存储设备;软件状况是:没有操作系统,没有管 理数据的专门软件;数据处理方式是批处理。批处理(Batch)是一种简化的脚本语言,它应 用于 DOS 和 Windows 系统中,是由 DOS 或者 Windows 系统内嵌的命令解释器(通常是 COMMAND.COM 或者 CMD.EXE)解释运行,类似于 UNIX 中的 Shell 脚本。批处理文件 具有.bat 或者.cmd 的扩展名,其最简单的例子是逐行书写在命令行中用到的各种命令。更 复杂的情况,它需要使用 if、for、goto 等命令控制程序的运行过程,如同 C、BASIC 等高 级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供 的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不 仅能使用命令行软件,任何 32 位的 Windows 程序都可以放在批处理文件中运行。人工管 理数据具有如下特点。 (1) 数据不保存。由于当时计算机主要用于科学计算,一般不需要将数据长期保存, 只是在计算某一课题时将数据输入,用完就撤走。它不仅对用户数据如此处置,对系统软 件有时也是这样。 (2) 应用程序管理数据。数据需要由应用程序自己设计、说明(定义)和管理,没有相应
第1章数据库基础 5· 的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物 理结构,包括存储结构、存取方法、输入方式等。因此,程序员负担很重。 (3)数据不共享。数据是面向应用程序的,一组数据只能对应一个程序。当多个应用程 序涉及某些相同的数据时必须各自定义,无法互相利用、互相参照,因此程序与程序之间有 大量的冗余数据。 (4)数据不具有独立性。数据的逻辑结构或物理结构发生变化后,必须对应用程序做相 应的修改,数据完全依赖于应用程序,称之为数据缺乏独立性,这就加重了程序员的负担。 在人工管理阶段,应用程序与数据之间的一一对应关系如图1-2所示。 应用程序 数据1 应用程序2 数据2 44 应用程序n 数据n 图1-2人工管理阶段应用程序与数据之间的对应关系 1.2.2文件系统阶段 20世纪50年代后期到60年代中期,这时硬件方面己有了磁盘、磁鼓等直接存取存储 设备:软件方面,操作系统中己经有了专门的数据管理软件,一般称其为文件系统:处理 方式上不仅有了批处理,而且能够联机实时处理。 1.文件系统优点 使用文件系统管理数据具有如下优点。 (1)数据可以长期保存。由于计算机大量用于数据处理,数据需要长期保留在外存上 反复进行查询、修改、插入和删除等操作。 (2)由文件系统管理数据。由专门的软件即文件系统进行数据管理,文件系统把数据 组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,提供 了对文件进行打开与关闭、对记录读取和写入等存取方式。 2.文件系统的缺点 文件系统实现了记录内的结构性。但文件系统仍存在以下缺点。 (1)数据共享性差,冗余度大。在文件系统中,一个(或一组)文件基本上对应于一个应 用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立 各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同 数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。 (2)数据独立性差。文件系统中的文件是为某一特定应用服务的,文件的逻辑结构是 针对具体的应用来设计和优化的,因此要想对文件中的数据再增加一些新的应用会很困难。 而且,当数据的逻辑结构改变时,应用程序中文件结构的定义必须修改,应用程序中对数
第 1 章 数据库基础 • 5 • 的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物 理结构,包括存储结构、存取方法、输入方式等。因此,程序员负担很重。 (3) 数据不共享。数据是面向应用程序的,一组数据只能对应一个程序。当多个应用程 序涉及某些相同的数据时必须各自定义,无法互相利用、互相参照,因此程序与程序之间有 大量的冗余数据。 (4) 数据不具有独立性。数据的逻辑结构或物理结构发生变化后,必须对应用程序做相 应的修改,数据完全依赖于应用程序,称之为数据缺乏独立性,这就加重了程序员的负担。 在人工管理阶段,应用程序与数据之间的一一对应关系如图 1-2 所示。 图 1-2 人工管理阶段应用程序与数据之间的对应关系 1.2.2 文件系统阶段 20 世纪 50 年代后期到 60 年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取存储 设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称其为文件系统;处理 方式上不仅有了批处理,而且能够联机实时处理。 1. 文件系统优点 使用文件系统管理数据具有如下优点。 (1) 数据可以长期保存。由于计算机大量用于数据处理,数据需要长期保留在外存上 反复进行查询、修改、插入和删除等操作。 (2) 由文件系统管理数据。由专门的软件即文件系统进行数据管理,文件系统把数据 组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,提供 了对文件进行打开与关闭、对记录读取和写入等存取方式。 2. 文件系统的缺点 文件系统实现了记录内的结构性。但文件系统仍存在以下缺点。 (1) 数据共享性差,冗余度大。在文件系统中,一个(或一组)文件基本上对应于一个应 用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立 各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同 数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。 (2) 数据独立性差。文件系统中的文件是为某一特定应用服务的,文件的逻辑结构是 针对具体的应用来设计和优化的,因此要想对文件中的数据再增加一些新的应用会很困难。 而且,当数据的逻辑结构改变时,应用程序中文件结构的定义必须修改,应用程序中对数
6 SQL Server2019数据库教程 据的使用也要改变,因此数据依赖于应用程序,缺乏独立性。可见,文件系统仍然是一个 不具有弹性的无整体结构的数据集合,即文件之间是孤立的,不能反映现实世界事物之间 的内在联系。 在文件系统阶段,应用程序与数据之间的关系如图1-3所示。 应用程序1 数据1 应用程序2 数据2 文件系统 应用程序n 数据n 图13文件系统阶段应用程序与数据之间的关系 1.2.3 数据库系统阶段 20世纪60年代后期以来,计算机管理的对象规模越来越大,应用范围越来越广,数 据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。 这时硬件已有大容量磁盘,硬件价格下降:软件则价格上升,为编制和维护系统软件 及应用程序所需的成本相对增加:在处理方式上,联机实时处理要求更多,并开始提出和 考虑分布处理。在这种背景下,以文件系统作为数据管理手段己经不能满足应用的需求, 于是为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术 便应运而生,出现了统一管理数据的专门软件系统一数据库管理系统。 用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统标志 着数据管理技术的飞跃。数据库系统阶段使用数据库技术来管理数据。数据库技术发展至 今已经是一门非常成熟的技术,它克服了文件系统的不足,并增加了许多新功能。在这一 阶段,数据由数据库管理系统统一控制,数据不再面向某个应用而是面向整个系统,因此 数据可以被多个用户、多个应用共享,概括起来具有以下主要特征。 (1)数据库能够根据不同的需要按不同的方法组织数据,最大限度地提高用户或应用 程序访问数据的效率。 (2)数据库不仅能够保存数据本身,还能保存数据之间的相互联系,保证了对数据修 改的一致性。 (3)在数据库中,相同的数据可以共享,从而降低了数据的冗余度。 (4)数据具有较高的独立性,数据的组织和存储方法与应用程序相互独立,互不依赖, 从而大大降低了应用程序的开发代价和维护代价。 (⑤)提供了一整套的安全机制来保证数据的安全、可靠。 (6)可以给数据库中的数据定义一些约束条件来保证数据的正确性(也称完整性)。 在数据库系统阶段,应用程序和数据库之间的关系如图1-4所示
• 6 • SQL Server 2019 数据库教程 据的使用也要改变,因此数据依赖于应用程序,缺乏独立性。可见,文件系统仍然是一个 不具有弹性的无整体结构的数据集合,即文件之间是孤立的,不能反映现实世界事物之间 的内在联系。 在文件系统阶段,应用程序与数据之间的关系如图 1-3 所示。 应用程序1 数据1 应用程序2 数据2 应用程序n 数据n …… …… 文件系统 图 1-3 文件系统阶段应用程序与数据之间的关系 1.2.3 数据库系统阶段 20 世纪 60 年代后期以来,计算机管理的对象规模越来越大,应用范围越来越广,数 据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。 这时硬件已有大容量磁盘,硬件价格下降;软件则价格上升,为编制和维护系统软件 及应用程序所需的成本相对增加;在处理方式上,联机实时处理要求更多,并开始提出和 考虑分布处理。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求, 于是为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术 便应运而生,出现了统一管理数据的专门软件系统——数据库管理系统。 用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统标志 着数据管理技术的飞跃。数据库系统阶段使用数据库技术来管理数据。数据库技术发展至 今已经是一门非常成熟的技术,它克服了文件系统的不足,并增加了许多新功能。在这一 阶段,数据由数据库管理系统统一控制,数据不再面向某个应用而是面向整个系统,因此 数据可以被多个用户、多个应用共享,概括起来具有以下主要特征。 (1) 数据库能够根据不同的需要按不同的方法组织数据,最大限度地提高用户或应用 程序访问数据的效率。 (2) 数据库不仅能够保存数据本身,还能保存数据之间的相互联系,保证了对数据修 改的一致性。 (3) 在数据库中,相同的数据可以共享,从而降低了数据的冗余度。 (4) 数据具有较高的独立性,数据的组织和存储方法与应用程序相互独立,互不依赖, 从而大大降低了应用程序的开发代价和维护代价。 (5) 提供了一整套的安全机制来保证数据的安全、可靠。 (6) 可以给数据库中的数据定义一些约束条件来保证数据的正确性(也称完整性)。 在数据库系统阶段,应用程序和数据库之间的关系如图 1-4 所示
第1章数据库基础 7· 应用程序1 数据库 应用程序2 管理系统 数据库 应用程序n 图1-4数据库系统阶段应用程序和数据库之间的关系 1.3 数据模型 数据库技术是计算机领域中发展最快的技术之一。数据库技术的发展是沿着数据模型 的主线推进的。模型,特别是具体模型,对人们来说并不陌生。一张地图、一组建筑设计 沙盘、一架精致的航模飞机都是具体的模型,一眼望去就会使人联想到真实生活中的事物。 模型是对现实世界中某个对象特征的模拟和抽象。例如,航模飞机是对生活中飞机的 一种模拟和抽象,它可以模拟飞机的起飞、飞行和降落,它抽象了飞机的基本特征一一机 头、机身、机翼、机尾。 数据模型(Data Model)也是一种模型,它是对现实世界数据特征的抽象。也就是说,数 据模型是用来描述数据、组织数据和对数据进行操作的。 数据库是某个企业、组织或部门所涉及数据的综合,它不仅要反映数据本身的内容, 而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人 们必须事先把具体事物转换成计算机能够处理的数据。在数据库技术中,使用数据模型来 抽象表示现实世界中的数据和信息。 现实世界中的数据要进入数据库中,需要经过人们的认识、理解、整理、规范和加工。 可以把这一过程划分成3个主要阶段,即现实世界阶段、信息世界阶段和机器世界阶段。 现实世界中的数据经过人们的认识和抽象,形成信息世界:信息世界中用概念模型来描述 数据及其联系,概念模型按用户的观点对数据和信息进行建模,不依赖于具体的机器,独 立于具体的数据库管理系统,是对现实世界的第一层抽象;根据所使用的具体机器和数据 库管理系统,需要对概念模型进行进一步转换,形成在具体机器环境下可以实现的数据模 型,称为逻辑模型。对现实世界数据的抽象过程,如图1-5所示。 现实世界 认识、抽象 信息世界: 概念模型 ,转换 机器世界:DBMS支持的数据模型 图15对现实世界数据的抽象过程
第 1 章 数据库基础 • 7 • …… 应用程序1 应用程序2 应用程序n 数据库 数据库 管理系统 图 1-4 数据库系统阶段应用程序和数据库之间的关系 1.3 数 据 模 型 数据库技术是计算机领域中发展最快的技术之一。数据库技术的发展是沿着数据模型 的主线推进的。模型,特别是具体模型,对人们来说并不陌生。一张地图、一组建筑设计 沙盘、一架精致的航模飞机都是具体的模型,一眼望去就会使人联想到真实生活中的事物。 模型是对现实世界中某个对象特征的模拟和抽象。例如,航模飞机是对生活中飞机的 一种模拟和抽象,它可以模拟飞机的起飞、飞行和降落,它抽象了飞机的基本特征——机 头、机身、机翼、机尾。 数据模型(Data Model)也是一种模型,它是对现实世界数据特征的抽象。也就是说,数 据模型是用来描述数据、组织数据和对数据进行操作的。 数据库是某个企业、组织或部门所涉及数据的综合,它不仅要反映数据本身的内容, 而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人 们必须事先把具体事物转换成计算机能够处理的数据。在数据库技术中,使用数据模型来 抽象表示现实世界中的数据和信息。 现实世界中的数据要进入数据库中,需要经过人们的认识、理解、整理、规范和加工。 可以把这一过程划分成 3 个主要阶段,即现实世界阶段、信息世界阶段和机器世界阶段。 现实世界中的数据经过人们的认识和抽象,形成信息世界;信息世界中用概念模型来描述 数据及其联系,概念模型按用户的观点对数据和信息进行建模,不依赖于具体的机器,独 立于具体的数据库管理系统,是对现实世界的第一层抽象;根据所使用的具体机器和数据 库管理系统,需要对概念模型进行进一步转换,形成在具体机器环境下可以实现的数据模 型,称为逻辑模型。对现实世界数据的抽象过程,如图 1-5 所示。 机器世界:DBMS支持的数据模型 现实世界 认识、抽象 信息世界:概念模型 转换 图 1-5 对现实世界数据的抽象过程
。8 SQL Server2019数据库教程 1.3.1现实世界 在现实世界阶段,把现实世界中客观存在并可以相互区分的事物称为实体。实体可以 是实际存在的东西,也可以是抽象的。例如,学生、课程、零件、仓库、项目、案件、选 课等都是实体。 每一个实体都具有一定的特征。例如,对于“学生”实体,它具有学号、姓名、性别、 生日等特征:对于“零件”实体,它具有名称、规格型号、生产日期、单价等特征: 具有相同特征的一类实体的集合构成实体集。例如,所有的学生构成“学生”实体集: 所有的课程构成“课程”实体集:所有的部门构成“部门”实体集等。 在一个实体集中,用于区分实体的特征被称为标识特征。例如,对于学生实体,学号 可以作为其标识特征,因为通过不同的学号可以区分不同的学生实体,而性别则不能作为 其标识特征,因为通过性别“男”或“女”并不能识别出具体是哪个学生。 1.3.2信息世界 人们对现实世界的对象进行抽象,并对其进行命名、分类,在信息世界用概念模型来 对其进行描述。信息世界涉及的主要概念如下。 1.实体(Entity) 客观存在并可相互区别的事物被称为实体。实体可以是具体的人、事、物,也可以是 抽象的概念或联系,例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、 部门的一次订货、教师与院系的工作关系(即某位教师在某院系工作)等都是实体。 2.属性(Attribute) 实体所具有的某一特性被称为属性。一个实体可以由若干个属性来刻画。例如,学生 实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成,属性组合 (201315121,张山,男,199505,计算机系,2013)即表征了一个学生。 3.域(Domain) 属性的取值范围被称为该属性的域。例如,姓名的域为字符串集合:年龄的域为不小 于零的整数:性别的域为(男,女)。 4.码(Key) 唯一标识实体的属性集被称为码。例如,学号是学生实体的码。 5.实体型(Entity Type) 具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和 刻画同类实体,被称为实体型。例如,学生(学号,姓名,性别,出生年月,所在院系,入 学时间)就是一个实体型
• 8 • SQL Server 2019 数据库教程 1.3.1 现实世界 在现实世界阶段,把现实世界中客观存在并可以相互区分的事物称为实体。实体可以 是实际存在的东西,也可以是抽象的。例如,学生、课程、零件、仓库、项目、案件、选 课等都是实体。 每一个实体都具有一定的特征。例如,对于“学生”实体,它具有学号、姓名、性别、 生日等特征;对于“零件”实体,它具有名称、规格型号、生产日期、单价等特征。 具有相同特征的一类实体的集合构成实体集。例如,所有的学生构成“学生”实体集; 所有的课程构成“课程”实体集;所有的部门构成“部门”实体集等。 在一个实体集中,用于区分实体的特征被称为标识特征。例如,对于学生实体,学号 可以作为其标识特征,因为通过不同的学号可以区分不同的学生实体,而性别则不能作为 其标识特征,因为通过性别“男”或“女”并不能识别出具体是哪个学生。 1.3.2 信息世界 人们对现实世界的对象进行抽象,并对其进行命名、分类,在信息世界用概念模型来 对其进行描述。信息世界涉及的主要概念如下。 1. 实体(Entity) 客观存在并可相互区别的事物被称为实体。实体可以是具体的人、事、物,也可以是 抽象的概念或联系,例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、 部门的一次订货、教师与院系的工作关系(即某位教师在某院系工作)等都是实体。 2. 属性(Attribute) 实体所具有的某一特性被称为属性。一个实体可以由若干个属性来刻画。例如,学生 实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成,属性组合 (201315121,张山,男,199505,计算机系,2013)即表征了一个学生。 3. 域(Domain) 属性的取值范围被称为该属性的域。例如,姓名的域为字符串集合;年龄的域为不小 于零的整数;性别的域为(男,女)。 4. 码(Key) 唯一标识实体的属性集被称为码。例如,学号是学生实体的码。 5. 实体型(Entity Type) 具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和 刻画同类实体,被称为实体型。例如,学生(学号,姓名,性别,出生年月,所在院系,入 学时间)就是一个实体型