前 言
SQL的全称是结构化查询语言(Structured Query Language),它是关系数据库中最常用的语言。SQL不仅可以管理数据库中的数据,而且可以管理关系数据库本身。为了避免各数据库产品之间的SQL语法不兼容,因此由ANSI(American National Standard Institute,美国国家标准局)制定SQL-92标准,目前,大部分DBMS产品都支持该标准。
本课程的目标是使学生掌握结构化查询语言(SQL),具有查询和管理数据库的能力。
作者:张晨光
本书主要的读者对象
SQL的初学者:本书以应用广泛的SQL Server 2008 数据库为依据,按照数据库操作的一般顺序,由浅到深地介绍Transact-SQL语言,并且在讲解理论的同时辅以大量的实例,便于SQL新手对SQL的理解和学习。
SQL Server数据库的初学者:在学习SQL Server数据库时,用户一般习惯于使用其提供的图形开发管理界面,创建于管理各种对象。实际上,图形界面的操作最终还是转变为相应的Transact-SQL语句对数据库进行操作。因此,建议用户在学习SQL Server数据库时,尽量通过本书介绍的Transact-SQL语言对数据库操作,这样便于用户对SQL Server数据库的深入理解和深入开发。
SQL Server数据库开发人员:本书可以作为SQL Server数据库开发人员在数据库开发过程中的参考手册。涵盖了Transact-SQL的几乎所有的常用语句,且便于速查。
|
数据库系统的发展经历了层次模型和网状模型数据库系统、关系模型数据库系统三个阶段。目前应用最广泛的数据库系统仍然为关系数据库系统,其代表产品如SQL Server、Oracle、DB2等。关系数据库系统主要通过SQL(Structured Query Language)语言进行查询和存取数据库中的数据。本章将主要介绍一些有关数据库系统和SQL语言的基础知识,为后面章节的学习打下基础
|
Ø 数据库系统的基本术语
Ø 关系数据库系统存储数据的方式
Ø SQL Server 2008工具
|
Ø 什么是DBS、DBMS
Ø 什么是DBA
Ø DBS与DBMS的区别
Ø SSMS是什么
Ø 什么是关系、元组、属性、主键
|
数据库系统实际上就是计算机存储数据的一个仓库,系统用户也就是我们,可以对这些存储起来的数据进行一系列的操作。
Ø 基本术语
1、数据(Date)
计算机描述事物的符号记录称为数据。数据是数据库中存储的基本对象,数据的种类很多,主要包括文字、图形、声音、学生的档案记录、货物的运输情况等,他们都可以经过数字化处理后存入计算机。
2、数据库(Database,简称 DB)
数据库,顾名思义,就是存放数据的仓库,过去人们把数据放在文件柜里,现在人们借助计算机和数据库技术,科学地保存和管理大量复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。
所谓数据库是长期存储在计算机内,有组织、可共享的数据集合,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户所共享。
3、数据库管理系统(DatabaseManagement System,简称DBMS)
数据库管理系统是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分。数据库系统的一切操作,包括查询、更新以及各种控制,都是通过DBMS进行的。
DBMS总是基于某种数据模型的,因此可以把它看成某种数据模型在计算机系统上的具体实现。
数据库管理系统是数据库系统的一个重要组成部分,它为用户提供一个可以方便、有效地存取数据库信息的环境。
4、数据库系统(DatabaseSystem,简称DBS)
数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要专门的人员来完成,这些人被称为数据库管理员(Database Administrator,简称DBA)
Ø 技术发展
数据库主要用于数据处理。随着数据处理量的不断增加,数据管理技术应运而生,其演变过程随着计算机硬件和软件的发展,大体经历了文件系统、层次模型和网状模型数据库、关系模型数据库以及新一代数据库系统几个阶段。
1、文件系统阶段
在数据库系统出现前,数据以文件为单位,与计算机程序脱离,有操作系统统一管理。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的共享。
由于数据的组织仍然是面向程序的,所以存在大量的数据冗余,且不能方便地修改和扩充数据的逻辑结构。同时,由于文件之间是相互孤立的,因而他们不能反映现实世界中事物之间的联系。
2、层次模型和网状模型数据库系统
层次模型和网状模型数据库系统也成为第一代数据库。该种数据库系统以有向图为基础,一次一个记录地存放数据,采用的是过程化的存取方法。本书不过多涉及这方面的知识。
3、关系模型数据库系统
关系数据库系统也称为第二代数据库,关系数据库系统以集合代数为基础,一次一个集合地存取数据,采用的是非过程化的存取方法。目前广泛使用的数据库软件都是基于关系模型的关系数据库管理系统。关系模型是现代数据库产品最广泛实现的模型,而且正是关系模型构成了SQL的基础。关系模型是建立自严格的数学概念基础上的。关系模型中的数据的逻辑结构是一章二维表。
关系(Relation):一个关系对应通常说的一张表。
l 元组():表中的一行即为一个元组。
l 属性(Attribute):表中的一列即为一个属性,给每一个属性其一个名称 即为属性名。
l 主键(Key)表中的某个属性组,它可以唯一确定一个元组。
l 域(Domain):属性的取值范围
l 关系模式:对关系的描述如:关系名(属性1、属性2、…,属性n)
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。
4、新一代数据库系统
随着新领域CAD、CAM、GIS、知识库系统、实时系统的出现和发展,对数据库系统提出了更高的要求等。如存储和处理复杂对象,支持复杂数据类型,对常驻内存的对象管理及支持大量对象的存取和计算,实现程序设计语言和数据库语言无缝地集成,支持长事务的处理等。而传统数据库系统由于其自身的局限性很难实现上述功能,因此提出了新一代数据库技术,即第三代数据库系统的概念。
第三代数据库系统对数据模型有了新的发展。数据库技术与其他相关技术相结合,如与分布处理技术相结合,出现了分布式数据库;与面向对象技术相结合,出现了面向对象数据库技术等。另外,数据库技术被应用到特定的领域中,出现了许多新的面向领域的数据库技术,如应用于CAD 、CAM和CIM等领域的工程数据库、统计数据库和空间数据库等。
总之,第三代数据库系统号处于发展阶段,其研究目标为提出一个支持各种应用领域的统一的数据库系统
SQL Server 2008概述
在本节将主要介绍SQLServer 2008提供的集成开发环境创建数据库、表。
Ø SQLServer 2008的版本:
SQL Server 2008推出了很多版本,其版本越高端,则可用的特性就越多。根据从高端到低端的次序以此为:
1、SQL Server 2008企业版()
2、SQL Server 2008开发人员版()
3、SQL Server 2008标准版()
4、SQL Server 2008工作组版()
5、SQL Server 2008精简版()
Ø SQLServer Management Studio
SQL Server Management Studio简称SSMS是SQLServer 2008提供给我们的集成开发环境,我们可以利用SSMS方便地做很多事情,例如创建一个数据库,在数据库中创建一张表等,都成为一件很容易的事。那怎样打开这个开发环境呢,很简单:单击“开始”|“程序”|“Microsoft SQL Server”|“SQL Server Management Studio”选项就启动了ManagementStudio工具。
Ø Transac-SQL语言介绍
1、数据定义语言
数据定义语言(DDL)是指用来定义和管理数据库以及数据库中各种对象的语句,这些语句包括CREATE、ALTER和DROP等。在SQL Server 2008中,数据库对象包括表、视图、触发器、存储过程、规则、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE,ALTER,DROP等语句来完成。
2、数据操纵语言
数据操纵语言(DML)是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等
3、数据控制语言
数据控制语言(DCL)是用来设置或更改数据库用户或角色权限的语句,包括GRANT,DENY,REVOKE等语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行数据控制语言。
4、系统存储过程
系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。一些系统过程只能由系统管理员使用,而有些系统过程通过授权可以被其他用户使用。
|
1、什么是DBMS ?
2、描述关系模型数据库系统的特征
3、简要概述“元组”概念
4、用SQL Server Management Studio工具创建一个数据库
5、用SQL Server Management Studio在刚刚创建的数据库中创建一个数据表,并在此表中填入三条以上的数据
6、什么是DML语言
|
在本章,你已经学到:
1、数据库中的基本术语。诸如:数据 数据库 数据库管理系统 数据库系统
2、关系模型数据库的基本知识
3、SQL Server 2008 的操作界面
SQL ServerManagement Studio(SQL Server管理工作室)
SQL ServerBusiness Intelligence Management Studio(SQL Server商业智能管理工作室)
DatabaseEngine Tuning Advisor (数据库引擎调整建议者)
SQL ServerConfiguration Manager(SQL Server 配置管理器)
4、Transac-SQL语言
数据定义语言
数据操纵语言
数据控制语言
系统存储过程
5、利用SQL Server Management Studio创建数据库
6、利用SQLServer Management Studio创建数据表、修改表、查看表