1、12教材与课时安排使用教材:使用教材:SQL Server SQL Server 数据库技术与应用数据库技术与应用 清华大学出版社清华大学出版社课程安排:课程安排:授课:授课:1616学时学时 实验:实验:1616学时学时3第一章第一章 概概 述述 4本章主要内容本章主要内容1 1.1.1 数据库概述数据库概述1.1.2 SQL2 SQL语言的特点及使用语言的特点及使用51 1.1.1 数据库概述数据库概述 1.1.1 1.1.1 信息与数据信息与数据 1.1.2 1.1.2 数据库数据库 1.1.1.1.3 3 数据库管理系统数据库管理系统1.1.41.1.4 数据库系统数据库系统1.1.5
2、1.1.5 数据库管理员数据库管理员1.1.6 1.1.6 数据模型数据模型6信息信息是现实世界在人们头脑中的反映,是现实世界在人们头脑中的反映,它以文字、数据、符号、声音、图像等它以文字、数据、符号、声音、图像等形式记录下来,可以进行传递和处理,形式记录下来,可以进行传递和处理,为人们的生产、建设、管理等提供依据。为人们的生产、建设、管理等提供依据。数据数据是描述事物的符号记录。数据的概是描述事物的符号记录。数据的概念包含两方面的含义:第一,其内容是念包含两方面的含义:第一,其内容是信息;第二,其表现方式是符号。信息;第二,其表现方式是符号。1.1.1 1.1.1 信息与数据信息与数据71.
3、1.2 1.1.2 数据库数据库 数据库数据库是存储在一起的相关数据的是存储在一起的相关数据的集合,这些数据是结构化的,无误集合,这些数据是结构化的,无误的或无冗余的,并为多种应用提供的或无冗余的,并为多种应用提供服务;数据的存储独立于使用它的服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和检索原有数据均能按一种公用的和可控的方式进行。和可控的方式进行。8编编号号姓名性别别 出生年月家庭地址联联系电话电话备备注1 12 23 34 45 56 67 78 89 91010数据库是如何保存数据的?数据库是如何保存数据的?9
4、1.1.1.1.3 3 数据库管理系统数据库管理系统 数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。应用程序1应用程序3应用程序2数据库管理系统DBMS数据库DBMS是开发各种数据库应用系统的基础软件。是开发各种数据库应用系统的基础软件。101.1.41.1.4 数据库系统数据库系统 数据库系统(DataBase System,DBS)是指计算机系统引入数据库后的系统,一般由数据库、数据库管理系统DBMS及其开发工具、应用系统、数据库管理员和用户构成,其核心是DBMS。111.1.51.1.5 数据
5、库管理员数据库管理员 使用数据库、对数据库进行各种操作使用数据库、对数据库进行各种操作的人统称为数据库的用户,其中包括的人统称为数据库的用户,其中包括终端用户、应用程序员和数据库管理终端用户、应用程序员和数据库管理员。员。由业务水平高、资历较深的人员担由业务水平高、资历较深的人员担任。任。121.1.6 1.1.6 数据模型数据模型 数据模型就是数据特征的抽象,是一数据模型就是数据特征的抽象,是一种专门用来抽象、表示和处理现实世界种专门用来抽象、表示和处理现实世界中数据与信息的工具。中数据与信息的工具。数据模型所描述的内容包括如下三数据模型所描述的内容包括如下三部分:部分:13 数据结构:数据
6、结构:数据模型中的数据结构主要描述数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据的类型、内容、性质以及数据间的联系等。数据操作:数据操作:数据模型中的数据操作主要描述在数据模型中的数据操作主要描述在相应的数据结构上的操作类型和操作方式。相应的数据结构上的操作类型和操作方式。数据约束数据约束:数据模型中的数据约束主要描述数结:数据模型中的数据约束主要描述数结构内数据间的语法、词义联系、它们之间的制构内数据间的语法、词义联系、它们之间的制约和依存关系以及数据动态变化的规则,以保约和依存关系以及数据动态变化的规则,以保证数据的正确性、有效性和相容性。证数据的正确性、有效性
7、和相容性。14 数据模型按照不同的应用层次可以分为以下 三种类型:。(1)概念数据模型:简称概念模型,是面向数据库用户的现实世界的模型,是对现实世界的第一层抽象,主要用来描述世界的概念化结构。(2)逻辑数据模型:简称数据模型,一般又称“结构数据模型”。这是用户从数据库中所看到的模型,是具体的DBMS所支持的数据模型,其包括网状数据模型、层次数据模型。15(3)物理数据模型:简称物理模型,是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。161 概念数据模型(1)模型中的基本概念 概念模型是对真实世界中问题域内事务的描述,而不是
8、对软件设计的描述,它是真实世界到信息世界的第一层抽象,是数据库设计的有力工具,也是数据库开发人员与用户之间进行交流的语言。17 实体之间的联系是错综复杂的,就两个实体型的联系来说,可以分为以下三类:1)一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可没有)与之联系,反之亦然,那么实体集A和实体集B之间的联系称为“一对一联系”,记作1:1 例如,在一个学校中,只能给每名学生分配一个学号,并且一个学号只对应着一个学生,因此,学生和学号之间具有一对一的联系。18实体集A实体集B联系名学生学号分配1111192)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B
9、中有n个实体(n=0)与之联系,则称实体集A与实体集B具有一对多联系,记作1:n 例如,一名学生只能属于一个班级,但一个班级内可以有多名学生,因此,班级与学生之间具有一对多联系20实体集A实体集B联系名学生班级分配1nn1213)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n(n=0)个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中有m(m=0)个实体与之联系,则称实体集A与实体集B具有多对多联系,记作m:n 例如,一名学生可以学习多门课程,一门课程也可以被多个学生同时学习,因此,学生和课程之间具有多对多联系。22mnm分配学生课程n实体集A实体集B联系名学生分
10、配mn23(2)概念模型的表示方法 概念模型的表示方式中最常用的是实体联系方法,用这个方法描述的概念模型称为实体联系模型,简称E-R模型。实体联系模型用简单的图形方式来描述现实世界中的数据,这种描述不涉及数据在数据库中的表示和存取方法。241.1.7层次模型层次模型是较早用于数据库技术的一种数据模型,采用树形结构来表示各类实体以及实体间的联系。层次模型必须满足两个条件:1.有且只有一个结点没有双亲结点,称之为根结点;2.除了根结点外,其他结点有且仅有一个双亲结点。251.1.8网状模型网状模型是用网络结构来表示实体类型及实体间的联系的模型。网状模型必须满足两个条件:1.允许一个结点有双亲结点
11、2.允许一个以上的结点没有双亲结点。261.1.9 关系模型1.基本概念关系:一个关系对应着一张二维表元组或记录:表中的每一行叫做一个元组。属性:表格中的一列称为关系的一个属性、即记录中的一个字段。分量:指一个元组在一个属性上的值。27关键字:也叫主码,是指表中的某个属性或属性组,通过它可以唯一确定一个元组。外部关键字:在一个关系中含有的另一个关系的关键字相对应的属性组称为该关系的外部关键字。外部关键字或者取空值,或者取外部表中对应的关键字中的某值。关系模式:指对一个关系的结构描述,即在关系模式中要指出元组集合的结构,可以形式化地表示为R(U,D,F),其中,R为关系名,U为组成该关系的属性名
12、集合,F为属性间的数据依赖关系集合。28 2.操作 关系模型的操作主要包括查询、插入、修改和删除四种,都是建立在关系之上的操纵,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。(1)数据查询。用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。29(2)数据插入。数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。(3)数据删除。数据删除的基本单位是一个关系内的元组,它的功能是将指定关系内的元组删除。(4)数据修改。数据修改是在一个关系中指定的元组与属性。301.1.2 2 SQL SQL语言的特点及使用语言的特点及使用 1 概念
13、概念 SQLSQL是用来对存放在计算机中的数据是用来对存放在计算机中的数据库进行组织、管理和检索的库进行组织、管理和检索的语言语言。SQLSQL一词是一词是“Structured Query LanguageStructured Query Language(结构式查询语言)(结构式查询语言)”的缩写的缩写311982 ANSI 着手SQL标准化工作1986 ANSI 第一个SQL标准1987 ISO SQL标准 1992 ISO SQL-92至今-SQL 标准计算机数据库查询语言2 2 发展历程发展历程:323 SQL3 SQL的功能的功能数据定义(Definition)数据操纵(Manip
14、ulation)数据管理(Management)存取保护(Access Protection)处理控制(Control)33SQLSQL按其功能可以分为三大部分:按其功能可以分为三大部分:数据定义数据定义语言语言(DDLDDL)定义、撤销和修定义、撤销和修改数据库对象改数据库对象数据操纵数据操纵语言语言(DMLDML)数据库中数据数据库中数据的修改和检索的修改和检索数据控制数据控制语言语言(DCL)(DCL)用于数据访问用于数据访问权限的控制权限的控制34SQLSQL的使用的使用:一般它都与其他编程语言一般它都与其他编程语言(如如DELPHIDELPHI、PowerbuilderPowerbu
15、ilder、VBVB、VCVC等等)结合来使用,这些结合来使用,这些用来作为前台开发语言,而这用来作为前台开发语言,而这些语言大多数是面向对象的语些语言大多数是面向对象的语言言354 4.特点特点(1 1)一体化的特点)一体化的特点(2 2)统一的语法结构,多种使用方式)统一的语法结构,多种使用方式(3 3)高度非过程化)高度非过程化(4 4)语言简洁)语言简洁(5 5)客户机)客户机/服务器(服务器(Client/ServerClient/Server)结构结构(6 6)支持异类复制)支持异类复制(7 7)InternetInternet数据库功能的集成数据库功能的集成36(1)(1)一体化
16、的特点一体化的特点SQLSQL语言能完成数据库生命期当中的全语言能完成数据库生命期当中的全部活动,如:部活动,如:定义关系模式定义关系模式 录入数据以建立数据库录入数据以建立数据库 查询、更新、维护查询、更新、维护 数据库重构数据库重构 数据库安全性控制数据库安全性控制37(2)(2)统一的语法结构,多种使用方式统一的语法结构,多种使用方式SQLSQL有有两种使两种使用方式用方式联机使用方式联机使用方式嵌入程序方式嵌入程序方式大多数的大多数的程序接口程序接口采用嵌入采用嵌入的的SQL虽然使用方式不同,虽然使用方式不同,SQL的语法的语法结构是一致的。结构是一致的。38(3)(3)高度非过程化高
17、度非过程化 在在SQLSQL中,只需用户提出中,只需用户提出“干什干什么么”,而无须指出,而无须指出“怎么干怎么干”存取路径的选择和存取路径的选择和SQLSQL语句操作的过语句操作的过程由系统自动完成程由系统自动完成 如:如:查询等,不必指明路径查询等,不必指明路径39(4)(4)语言简洁语言简洁SQLSQL语法简单、易学语法简单、易学SQL功能功能动词动词数据定义数据定义 CREATE数据操纵数据操纵 INSERT、UPDATE、DELETE、SELECT 数据控制数据控制 GRANT 40(5)SQL Server 的应用结构 目前数据库应用系统的开发一般是基于目前数据库应用系统的开发一般
18、是基于Client/ServerClient/Server(简称(简称C/SC/S)模式的,这样模式的,这样的系统结构有的系统结构有3 3个部分:个部分:41(6)(6)支持异类复制:支持异类复制:它可以将它可以将SQL ServerSQL Server数据复制到数据复制到其他的数据库中其他的数据库中 包括包括AccessAccess、OracleOracle、SybaseSybase和和DB2DB2,并采用,并采用ODBCODBC作为其连接机制作为其连接机制42(7)Internet(7)Internet数据库功能的集成:数据库功能的集成:SQL ServerSQL Server的数据库引擎
19、提供对的数据库引擎提供对WebWeb技术的支持,支持数据库信息自动技术的支持,支持数据库信息自动发布到发布到HTMLHTML文档文档435 SQL Server 2008 的特点有关企业数据平台方面的新特性有关企业数据平台方面的新特性有关动态开发方面的新特性有关动态开发方面的新特性有关超越型关系数据库方面的特性有关超越型关系数据库方面的特性有关广泛深入的洞察力方面的特性。有关广泛深入的洞察力方面的特性。441.2.2 关系数据库模型简介 关系数据库关系数据库是一种所有用户可见是一种所有用户可见数据都严格按表的形式组织起来的表,数据都严格按表的形式组织起来的表,且所有且所有库操作库操作都针对这些
20、表中的数据都针对这些表中的数据 关系数据模型关系数据模型是以集合论中的关系是以集合论中的关系(relation)(relation)概念为基础发展起来的概念为基础发展起来的数数据模型据模型。45几个概念数据模型:数据模型:是数据库管理系统用来表示是数据库管理系统用来表示实体实体与实体之与实体之间联系的方法。间联系的方法。实体:实体:客观事物在信息世界中称为实体客观事物在信息世界中称为实体(EntityEntity),它是现实世界中任何可区分、),它是现实世界中任何可区分、识别的事物。实体可以是具体的人或物,也识别的事物。实体可以是具体的人或物,也可以是抽象概念可以是抽象概念 例:例:图书图书
21、联系人联系人46 实体具有许多特性,实体所具有的实体具有许多特性,实体所具有的特性称为特性称为属性属性(AttributeAttribute)。一个实)。一个实体可用若干属性来刻画体可用若干属性来刻画 例:例:联系人联系人 图书图书47数据库系统所支持的模型主要有 关系模型关系模型 层次模型层次模型 网状模型网状模型通过关系,按给定的选通过关系,按给定的选择条件,选出符合条件择条件,选出符合条件的元组,较灵活的元组,较灵活要查找一个记录必须从要查找一个记录必须从根记录开始,按给定条根记录开始,按给定条件沿一个层次路径进行件沿一个层次路径进行查找查找在查找语句中要说明查在查找语句中要说明查找的对
22、象和存取的路径,找的对象和存取的路径,操作较繁琐操作较繁琐48 班班 级级社社 团团学生学生4950(1 1)关系中不允许出现相同的元组。关系中不允许出现相同的元组。因为数学上集合中没有相同的元因为数学上集合中没有相同的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。(2 2)关系中元组的顺序(即行序)是无关紧要的关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以,在一个关系中可以任意交换两行的次序。因为集合中的元素是无序的,所以作为集合任意交换两行的次序。因为集合中的元素是无序的,所以作为集合元素的元组也是无序的
23、。根据关系的这个性质,可以改变元组的顺元素的元组也是无序的。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。(3 3)关系中属性的顺序是无关紧要的关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。交,即列的顺序可以任意交换。交换时,应连同属性名一起交换,否则将得到不同的关系。换时,应连同属性名一起交换,否则将得到不同的关系。(4 4)同一属性名下的各个属性值必须来自同一个域,是同一类型的数同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。据。(5 5)关系中各个属性必须有不
24、同的名字关系中各个属性必须有不同的名字,不同的属性可来自同一个域,不同的属性可来自同一个域,即它们的分量可以取自同一个域。即它们的分量可以取自同一个域。(6 6)关系中每一分量必须是不可分的数据项关系中每一分量必须是不可分的数据项,或者说所有属性值都是,或者说所有属性值都是原子的,是一个确定的值,而不是值的集合。原子的,是一个确定的值,而不是值的集合。51关系模型关系模型是是RDBMSRDBMS的基础,的基础,它包括三它包括三部分部分数据结构数据结构关系的完整性规则关系的完整性规则 关系操作集合关系操作集合 52 关系模型的数据结构为单一的关系模型的数据结构为单一的数据结构由行和列组成的两维表
25、,数据结构由行和列组成的两维表,任意任意两行互不相同,列值是不可分两行互不相同,列值是不可分的的数据项,行和列的次序可任意数据项,行和列的次序可任意 abcdabcdaxyz两行相同两行相同d=m+n列值可分列值可分53关系模型的完整性关系模型的完整性实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性用主键唯一标志用主键唯一标志表中行和列,主表中行和列,主键的任一属性不键的任一属性不能为空能为空外键或者为空,外键或者为空,或者等于它所参或者等于它所参照的表的主键的照的表的主键的某个值某个值对某一具体对某一具体的数据库的的数据库的约束条件约束条件54 关系模型的操作表达能力
26、非常强大,关系模型的操作表达能力非常强大,定义了很多的操作,其中主要有选择定义了很多的操作,其中主要有选择(select operation)(select operation)、投影、投影(project(project operation)operation)、集合、连接等操作、集合、连接等操作 55一、一、SQL Server 2005 版本SQL Server 2005 Enterprise Edition(32位和64位)SQL Server 2005 Standard Edition(32位和64位)SQL Server 2005 Workgroup Edition(仅适用于32位
27、)SQL Server 2005 Developer Edition(32位和64位)SQL Server 2005 Express Edition(仅适用于32位)1.2.3 SQL Server 2005的安装的安装56二、32位平台上安装和运行SQL Server 2005的硬件要求SQL Server 2005版本版本 处理器型号处理器型号 处理器速度处理器速度 内存内存(RAM)SQL Server 2005企业版企业版(Enterprise Edition)SQL Server 2005开发者版开发者版(Developer Edition)SQL Server 2005标准版(标准
28、版(Standard Edition)SQL Server 2005工作组版工作组版(Workgroup Edition)Pentium III及其兼及其兼容处理器,或者更容处理器,或者更高型号。高型号。至少至少600 MHz,推荐推荐1GHz或更或更高。高。至少至少512MB,推荐推荐1GB或更或更大。大。SQL Server 2005简化版简化版(Express Edition)Pentium III及其兼及其兼容处理器,或者更容处理器,或者更高型号。高型号。至少至少600 MHz,推荐推荐1GHz或更或更高。高。至少至少192MB,推荐推荐512MB或或更大更大57三、SQL Serve
29、r 2005各组件对磁盘空间的要求服务和组件服务和组件 硬盘需求硬盘需求 数据库引擎及数据文件,复制,全文搜索等数据库引擎及数据文件,复制,全文搜索等150 MB分析服务及数据文件分析服务及数据文件35 KB报表服务和报表管理器报表服务和报表管理器40 MB通知服务引擎组件,客户端组件以及规则组件通知服务引擎组件,客户端组件以及规则组件5 MB集成服务集成服务9 MB客户端组件客户端组件12 MB管理工具管理工具70 MB开发工具开发工具20 MBSQL Server联机图书以及移动联机图书联机图书以及移动联机图书15 MB范例以及范例数据库范例以及范例数据库390 MB58四、软件需求 下表
30、列出常见的操作系统是否支持运行SQL Server 2005的各种不同版本。企业版企业版 开发版开发版 标准版标准版 工作组版工作组版 简化版简化版 Windows 2000不支持不支持不支持不支持不支持不支持不支持不支持不支持不支持Windows 2000 Professional Edition SP4不支持不支持支持支持支持支持支持支持支持支持Windows 2000 Server SP4 支持支持支持支持支持支持支持支持支持支持Windows 2000 Advanced Server SP4 支持支持支持支持支持支持支持支持支持支持Windows 2000 Datacenter Edi
31、tion SP4支持支持支持支持支持支持支持支持支持支持Windows XP Home Edition SP2不支持不支持支持支持不支持不支持不支持不支持支持支持Windows XP Professional Edition SP2不支持不支持支持支持支持支持支持支持支持支持Windows 2003 Server SP1支持支持支持支持支持支持支持支持支持支持Windows 2003 Enterprise Edition SP1支持支持支持支持支持支持支持支持支持支持59五、安装组组件 数数据库库包括:系统数统数据库库+用户数户数据库库4个个系系统统数数据据库库master数据库数据库 控制控
32、制SQL Server的所有方面。这个数据库中包括所有的配置信息、用的所有方面。这个数据库中包括所有的配置信息、用户登录信息、当前正在服务器中运行的过程的信息。户登录信息、当前正在服务器中运行的过程的信息。model数据库数据库 是建立所有用户数据库时的模板。当你建立一个新数据库时,是建立所有用户数据库时的模板。当你建立一个新数据库时,SQL Server会把会把model数据库中的所有对象建立一份拷贝并移到新数据库中。在数据库中的所有对象建立一份拷贝并移到新数据库中。在模板对象被拷贝到新的用户数据库中之后,该数据库的所有多余空间都将模板对象被拷贝到新的用户数据库中之后,该数据库的所有多余空间
33、都将被空页填满。被空页填满。msdb数据库数据库 是是SQL Server中的一个特例。如果你查看这个数据库的实际定义,会中的一个特例。如果你查看这个数据库的实际定义,会发现它其实是一个用户数据库。不同之处是发现它其实是一个用户数据库。不同之处是SQL Server拿这个数据库来做拿这个数据库来做什么。所有的任务调度、报警、操作员都存储在什么。所有的任务调度、报警、操作员都存储在msdb数据库中。该库的另数据库中。该库的另一个功能是用来存储所有备份历史。一个功能是用来存储所有备份历史。SQL Server Agent将会使用这个库。将会使用这个库。tempdb数据库数据库 是一个非常特殊的数据
34、库,供所有来访问你的是一个非常特殊的数据库,供所有来访问你的SQL Server的用户使用。的用户使用。这个库用来保存所有的临时表、存储过程和其他这个库用来保存所有的临时表、存储过程和其他SQL Server建立的临时用建立的临时用的东西。例如,排序时要用到的东西。例如,排序时要用到tempdb数据库。数据被放进数据库。数据被放进tempdb数据库,数据库,排完序后再把结果返回给用户。每次排完序后再把结果返回给用户。每次SQL Server重新启动,它都会清空重新启动,它都会清空tempdb数据库并重建。永远不要在数据库并重建。永远不要在tempdb数据库建立需要永久保存的表。数据库建立需要永久保存的表。601.2 SQL Server 2005的安装的安装61
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。