资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,数据库技术与应用,*,数据库技术与应用,数据库技术与应用教材编写组,第,1,章 数据库技术概论,数据库技术的产生与发展,数据库系统,数据模型,关系数据库,SQL Server 2008,数据库概述,Transact-SQL,语言简介,关系模型、关系运算、关系数据库设计,2,问题提出,什么是,数据库技术,?,数据库的,地位,如何?,什么是,大数据,?,什么是,云计算,?,3,?,1.1,数据库技术的产生与发展,人工管理阶段,文件管理阶段,数据库管理阶段,新型数据库系统,4,1.1,数据库技术的产生与发展,人工管理阶段(,40,年代中,50,年代中),程序与数据是一个整体,一个程序中的数据无法被其他程序使用,因此程序与程序之间存在大量的重复数据。,硬件方面:没有磁盘等直接存取的外存储器。,软件方面:没有对数据进行管理的系统软件。,特点,不能共享数据;,程序复杂;,数据无法长期保存。,5,6,1.1 数据库技术的产生与发展,文件管理阶段,(,50,年代末,60,年代中),计算机开始用于大量数据管理。,硬件方面:有了直接存取的大容量外存储器,软件方面:出现了操作系统(包含文件系统),特点,程序共享数据;,可长期保存数据;,数据冗余度较大;,程序对数据依赖性较强;,缺乏对数据的统一控制管理。,1.1 数据库技术的产生与发展,数据库管理阶段,(,60,年代末,现在),数据库是在数据库管理系统的集中控制之下,按,一定的组织方式,存储起来的、,相互关联,的数据集合。,特点,数据的共享性高,,冗余度低,易扩充,数据独立性高,数据由,DBMS,统,一管理和控制,7,8,1.1,数据库技术的产生与发展,新型数据库系统,分布式数据库,(,Distributed Database System,,,DDBS,),是地理上分布在计算机网络的不同结点,逻辑上属于同一系统的数据库系统;,支持局部应用,存取本地结点或另一结点的数据,也支持全局应用,同时存取两个或两个以上结点的数据。,特点,数据是分布的,数据是逻辑相关的,结点的自治性,分布式数据库系统主要应用于航空、铁路、旅游订票系统、银行通存通兑系统、水陆空联运系统、跨国公司管理系统、连锁配送管理系统等等。,9,1.1 数据库技术的产生与发展,新型数据库系统,面向对象数据库系统,(,Object-Oriented Database System,,,OODBS,),是将面向对象的模型、方法和机制,与先进的数据库技术有机地结合而形成的新型数据库系统。,基本设计思想,一方面把面向对象语言向数据库方向扩展,使应用程序能够存取并处理对象,另一方面扩展数据库系统,使其具有面向对象的特征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂应用的实体和联系建模。,面向对象数据库系统对一些特定应用领域(如,CAD,等),能较好地满足了其应用需求。,1.1 数据库技术的产生与发展,新型数据库系统,多媒体数据库系统,(,Multimedia Database System,,,MDBS,),能存储和管理多种媒体的数据库系统。,特点,如果能够对多媒体数据和传统的字符型数值数据采用统一的方法进行管理,该系统将成为最理想、最有效的数据管理方法。,多媒体数据库系统主要应用于军事、医学病例管理、航天测控、商标管理、地理信息系统、数字图书馆、期刊出版系统等。,10,1.1 数据库技术的产生与发展,新型数据库系统,数据仓库技术,(,Data Warehouse,,,DW,),数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。,数据仓库是一个环境。,数据仓库系统包括:,数据仓库技术;,联机分析处理技术(,OLAP),;,数据挖掘技术(,DM),;,数据仓库技术应用领域遍及通信、,零售业、金融以及制造业。,11,1.1 数据库技术的产生与发展,新型数据库系统,12,内存数据库系统,(,Main Memory DataBase,,,MMDB,),是实时系统和数据库系统的有机结合。,抛弃了,磁盘数据管理,的传统方式,基于全部,数据都在内存,中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多,一般都在,10,倍以上。,特点,“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。,内存数据库系统目前广泛应用于航空、军事、电信、电力、工业控制等领域。,1.2,数据库系统,1.2.1,数据库系统的组成,1.2.2,数据库的结构体系,1.2.3,数据库系统的特点,13,1.2.1,数据库系统组成,数据库系统(,DBS,),是指基于数据库的计算机应用系统。它是由计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。,应用程序,1,应用程序,2,应用程序,n,数据库管理,系统,(,DBMS),数据库管理员,(,DBA),数据库,(,DB,),数据,软件,系统,DBS,14,1.2.2,数据库的结构体系,数据库的结构体系,数据库领域公认的,标准结构,是三级,模式,结构及二级映射。,三级模式,外模式,概念模式,内模式,二级映射则概念模式,/,内模式的映射,外模式,/,概念模式的映射,把解决某类问题的方法总结归纳到理论高度,即模式。,15,1.2.2,数据库的结构体系,三级模式结构及二级映射,用于定义概念模式和内模式之间的对应性。一般在内模式中描述。,用于定义外模式和概念模式间的对应性。在外模式中描述。,16,1.2.3,数据库系统的特点,数据结构化,数据共享性高、冗余度低,具有较高的数据独立性,有统一的数据控制功能,17,1.3,数据模型,1.3.1,数据模型的组成要素,1.3.2,数据抽象的过程,1.3.3,概念模型,1.3.4,逻辑模型,18,1.3,数据模型,数据,(,data,)是描述事物的符号记录。,模型,(,Model),是现实世界的抽象。,数据模型,(,Data Model,)是数据特征的抽象,是数据库管理的教学形式框架。,数据库系统,中用以提供信息表示和操作手段的形式构架。,19,1.3.1,数据模型的组成要素,数据模型的,3,要素,数据结构,数据结构是所研究的对象类型的集合。这些对象和对象类型是数据库的组成成分。一般可分为两类:一类是与数据类型、内容和其它性质有关的对象;一类是与数据之间的联系有关的对象。,数据操作,数据操作是指对各种对象类型的实例(或值)所允许执行的操作的集合,包括操作及有关的操作规则。,数据的完整性约束,数据的约束条件是完整性规则的集合。用来确保数据的正确性、有效性和一致性。,20,1.3.2,数据抽象的过程,数据模型是对现实世界进行抽象和转换的结果。,21,对现实世界的抽象,现实世界是存在人们头脑之外的客观世界,由客观事物及其联系组成。,观念世界中的概念模型,是对现实世界的抽象和描述。用概念模型描述,机器世界中的逻辑模型和物理模型,是指现实世界在计算机中的体现与反映。,1.3.3,概念模型,概念模型,是面向用户、面向,现实世界,的数据模型,它与,DBMS,无关。,它主要用来描述一个单位的概念化结构。,采用概念数据模型,数据库设计人员可以在设计的开始阶段,把主要精力用于了解和描述现实世界上,而把涉及,DBMS,的一些技术性的问题推迟到设计阶段去考虑。,22,1.3.3,概念模型,与现实世界对应的概念,实体,:客观存在并可相互区别的事物,实体集,:具有相同属性的实体的集合,属性,:实体所具有的某一特性称为实体的属性,类型与值,:属性类型就是属性名及其取值类型,属性值就是属性所取的具体值。,实体间的联系,:实体集之间的对应关系。,例:负责人与其单位的联系,一对一联系,1,:,1,例:单位与职工的联系,一对多联系:,n,例:实体(集)课程与实体(集)学生,多,对多联系,m,:,n,23,1.3.3,概念模型,E-R,图,(用,E-R,图描述现实世界的概念模型),实体,-,联系方法(,Entity-Relationship Approach,),E-R,方法也称为,E-R,模型,使用图形方式(,4,种原素:,椭圆,长方形,凌形,无向的线,),1,1,负责人,管理,单位,证件号,姓名,职称,单位代码,单位名称,电话,1,m,单位,包含,职工,24,概念模型如何描述?,1.3.4,逻辑模型,逻辑模型,是指数据的逻辑结构,。在,数据库中,逻辑模型,有层次、关系,、,网状模型。,在,进行数据库设计时,总是先设计,E-R,模型,然后再把,E-R,模型转换成计算机能实现的逻辑,数据模型,。,层次,模型,用层次结构(树形结构)来表示实体及实体之间的联系,如,IMS,(,IP,多媒体系统)系统。,25,1.3.4,逻辑模型,网状模型,没有惟一的根结点,且每一个结点都可以与其他任意个结点相连,这样便成了网状结构。,用网状结构来表示实体及实体之间的联系,如:,DBTG,(,数据库任务组,)系统,26,1.3.4,逻辑模型,关系模型,用,二维表格,结构来表示实体以及实体之间联系。,操作的对象和结果都是二维表。,采用关系模型的数据库称为关系数据库。,关系模型与层次型、网状型的,本质区别,在于数据描述的一致性,模型概念单一。,学生登记表,学号,姓名,性别,出生日期,901040101,王文清,男,1986.10.17,901040102,毛建宇,男,1985.3.07,901040103,李超男,女,1986.8.10,901040104,覃江燕,女,1986.12.25,27,1.4,关系数据库,1.4.1,关系数据库的基本概念,1.4.2,关系运算,1.4.3,关系的完整性约束,1.4.4,关系数据库设计实例,28,1.4.1,关系数据库的基本概念,关系,,表示多个实体之间的相互关联,是一种,规范化了的,二维表格。,没有重复行、重复列,并且每个行列的交叉点只有一个基本数据的二维表格看成一个关系。,不是二维表,29,二维表,1.4.1,关系数据库的基本概念,30,基本术语,关系,:,一张二维表,元组,:,表中的一行或记录,属性,:,表中的一列或字段,属性值,:表中行和列的交叉位置,域,:,属性的取值范围,表结构:,表中的第,1,行,关键字,:,能唯一区分、确定不同元组的单个属性或属性组合,外部关键字,:也是表中的一个或多个字段,外部关键字的值与相关表的主关键字相匹配。,1.4.2,关系运算,关系模式,它由一个关系名以及它所有的属性名构成。是指对,关系结构,的描述,一般表示为:,关系名(属性,1,,属性,2,,属性,3,,,,属性,n,),例:学生(学号,姓名,性别,出生日期),课程(课程代码,课程名称,学分),选课(学号,课程代码,成绩),n,选课,学生,课程,学号,姓名,性别,出生日期,成绩,课程代码,课程名称,学分,m,31,1.4.2,关系运算,关系的基本运算有两类,传统的集合运算(,并、差、交,等),专门的关系运算(,选择、投影、连接,等,),传统的关系运算,交、并、差,-,、笛卡尔积,。,交:,它是,R,和,S,共同具有记录的集合。生成新关系,新关系结构与,R,和,S,相同。记作,RS,。,并:,R,中的元素和,S,中的元素共同组成的集合。生成新关系,新关系结构与,R,和,S,相同。记作记作,RS,。,差:,它是从,R,中去掉,S,中存在的记录集合。生成新关系,新关系结构与,R,和,S,相同。记作,R-S,。,笛卡尔积:记作,RS,,它的关系模式是,R,和,S,的模式的并集,关系的值是,R,中的每条记录连接,S,中的每个记录的记录集合。,32,1.4.2,关系运算,专门的关系运算(,3,种),选择(,Selection,)运算,从一个关系中选择出满足给定条件的所有记录,它是原关系的一个子集,结构与原关系相同。选择运算提供了横向划分(或称分割)关系的手段。,Select *FROM,表名,WHERE,条件,投影(,Projection,)运算,从一个关系,R,中按所需顺序选取若干属性组成新关系。投影运算提供纵向划分(或称分割)关系的手段。新关系的属性通常少于原关系。,Select,列,1,,列,2,,,FROM,表名,连接(,Join,)运算,把两个关系,R,和,S,按相应属性值的比较条件联接起来。它是,R,和,S,笛卡尔积的子集。有,6,个比较运算符,:,、,=,、,=,、,=,、,33,1.4.2,关系运算,34,1.4.3,关系的完整性约束(,3,种),实体完整性,实体完整性就是指关系的主属性不能取空值,并且不允许两个元组的关键字值相同。,即一个二维表中没有两个完全相同的行。,参照完整性,参照完整性规则就是,定义外部关键字与主关键字之间的引用规则,,即对于,R,中每个元组在,F,上的值必须取空值或等于,S,中某个元组的主关键字值。,用户定义完整性,针对某一具体关系数据库的约束条件,,它反映某一具体应用所涉及的数据必须满足的语义要求。,例如规定关系中某一属性的取值范围。,35,1.4.4 关系数据库设计实例,1n,联系到关系模型的转化,把每个实体分别转化为一个关系,实体名作为关系名,实体属性作为关系的属性,并在,1n,联系的,n,方增加一个属性,该属性存放与该实体相联系的另一个实体的关键字。,例如,根据学院与学生两个实体(,1,:,n,)所转化的关系是:,学院(,编号,,学院名称),学生(,学号,,姓名,性别,出生日期,班级,电话,地址,简历,,编号,),编号是指学院的编号,36,1.4.4 关系数据库设计实例,mn,联系到关系模型的转化,表,1-3,中学生与课程的联系是多对多的联系,。对这样的联系进行关系模型转化时,把两个实体独立地转化为两个关系,转化时,将实体名作为关系名,实体属性转化为关系属性,除此以外单独设置一个关系描述两个实体间的联系,其属性由两个实体的关键字组成。,例如:,学生(,学号,,姓名,性别,出生日期,班级,电话,地址,简历),其中学号作为关键字,课程(,课程号,,课程名称,课程类型,学分,备注),其中课程号作为关键字,选课(,学号,,,课程号,,成绩),其中学号和课程号的组合作为关键字,37,1.4.4 关系数据库设计实例,11,联系到关系模型的转化,将两个实体按上述实体转化方法分别转化为两个关系,并对每个属性增加一个外部关键字,外部关键字由与本实体相联系的对方实体的关键字组成。,例如:,学生(,学号,,姓名,性别,出生日期,班级,电话,地址,简历,编号),学院(,编号,,学院名称),课程(,课程号,,课程名称,课程类型,学分,备注),选课(,学号,,,课程号,,成绩),38,1.4.4 关系数据库设计实例,学生信息数据库,列名,数据类型,宽度,说明,列名,数据类型,宽度,说明,St_ID,char,10,学号(主关键字),St_Name,varchar,20,姓名,St_Sex,char,2,性别,Born_Date,datetime,8,出生日期,Cl_Name,varchar,15,班级名称,Telephone,varchar,20,联系电话,Address,varchar,150,联系地址,Resume,varchar,255,简历,39,1.5 SQL Server 2008,数据库概述,40,1.5.1 SQL Server,的初步认识,1.5.2 SQL Server 2008,的服务器组件,1.5.3 SQL Server 2008,常用管理工具,1.5.4 SQL Server,数据类型,1.5.1 SQL Server,的初步认识,41,SQL Server 2008,是一个使用,客户机,/,服务器,体系结构的关系型数据库管理系统。,SQL,Server,的发展,1987,年赛贝尔公司发布了,Sybase SQL Server,系统,2008,年微软公司发布了,Microsoft SQL Server 2008,系统,其代码名称为,Katmai,(卡特迈)。,SQL,Server2008,的版本,SQL Server 2008,系统提供了,7,种不同的版本,这些版本分别是,企业版、标准版、开发版、工作组版、学习版、移动版和,Web,版。,SQL,Server2008,的安装(见,P20),1.5.2 SQL Server 2008,的服务器组件,42,主要组件,数据库引擎(,Database Engine,),Analysis Services,(,分析服务,),Reporting Services,(,报表服务,),Integration Service,(,集成服务,),SQL Server,Compact Edition,(,精简版,),一,个适用于嵌入到移动应用的精简数据库产品,SQL Server 2008,的版本不同,提供的服务器组件可能也不相同。,1.5.3 SQL Server 2008,常用管理工具,43,P24,表,1.9,管理工具,功,能,SQL Server Management Studio,用于编辑和执行查询,以及启动标准向导任务,SQL Server,配置管理器,管理服务器和客户端网络配置设置,SQL Server Profiler,提供用于监视,SQL Server,数据库引擎实例或,Analysis Services,实例的图形用户界面,数据库引擎优化顾问,可以协助创建索引、索引视图和分区的最佳组合,SQL Server Business Intelligence Development Studio,用于包括,Analysis Services,、,Integration Service,和,Reporting Services,项目在内的商业解决方案的集成开发环境,Reporting Services,配置管理器,提供报表服务器配置的统一的查看、设置和管理方式,SQL Server,安装中心,安装、升级到或更改,SQL Server 2008,实例中的组件,44,1.5.3 SQL Server,数据类型,SQL Server,支持,4,种基本数据类型:,数值数据类型,字符和二进制数据类型,日期时间数据类型,逻辑数据类型,45,1.5.3 SQL Server,数据类型,数值数据类型(大致可分为,4,种基本类型),整数数据类型,int4,字节,smallint2,字节,tinyint1,字节,bigint8,字节,浮点数据类型,:,用于存储系统所能提供的最大精度保留的实数数据。,FLOAT,数据类型可精确到第,15,位小数,占,8,字节,-1.79,10,308,+1.79,10,308,REAL,数据类型可精确到第,7,位小数,占,4,字节,-3.40,10,38,+3.40,10,38,46,1.5.3 SQL Server,数据类型,精确数值数据,类型,用于存储有小数点且小数点后位数确定的实数。格式:,decimal(p,s),numeric(p,s),其中,:,P,精度,,S,小数位数,。两者功能上等同,货币数据类型,Money,:存储,长度是,8,字节,货币数据值,介于,-263 263-1,Smallmoney,:存储长度是,4,字节,介于,-231 231-1,decimal,和,numeric,类型适用于货币数据的处理。,47,1.5.3 SQL Server,数据类型,字符和二进制数据类型,字符数据类型,(,要用单引号括起来,),存储汉字、英文字母、数字符号和其他符号。,定长,char,数据类型,变长,varchar,数据类型,文本,text,数据类型,Unicode,,多字节的字符数据类型,nchar(n),、,nvarchar(n),和,ntext,。,指不管对哪个地区、哪种语言均采用双字节(,16,位)编码,即世界上所有的字符统一进行编码。,48,1.5.3 SQL Server,数据类型,二进制数据类型,用于存储二进制数或字符串(,3,种):,binary,定义形式为,binary(n),,,n,的取值为,1,8000,,若不指定则,n,默认为,1,。,varbinary,varbinary(n),,通过存储输入数据的实际长度而节省存储空间,存取速度比,binary,类型慢。,存储大小为所输入数据的实际长度 加,4,个字节。若输入的数据超过,n+4,个字节,则截断后存储。,image,可存储,1,231-1,个字节的二进制数据。,image,数据类型存储的是二进制数据而不是文本字符,不能用作变量或存储过程的参数。,49,1.5.3 SQL Server,数据类型,日期时间数据类型,Datetime,占用,8,字节空间。,存储从,1753,年,1,月,1,日到,9999,年,12,月,31,日的日期和时间数据,精确到百分之三秒(或,3.33,毫秒),Smalldatetime,占用,4,字节空间。,存储从,1900,年,1,月,1,日到,2079,年,6,月,6,日的日期和时间数据,精确到分钟,例如,:,Oct 25 2005,2005-10-25,或,2005/10/25,20051025,2005-10-25 3:28:56 PM,2005-10-25 15:28:56,英文数字格式,(2005,年,10,月,25,日,),数字加分隔符格式,12,小时格式(,PM,下午),24,小时格式,50,1.5.3 SQL Server,数据类型,逻辑数据类型,为,bit,,用于判断真,/,假的场合,长度为,1,个字节。,表示方法,整型数据,1(,真,),、,0(,假,),或,NULL,。,uniqueidentifier,数据类型,可存储,16,字节的二进制值,其作用与全局唯一标记符(,Globally Unique Identifier,,,GUID,)一样。,GUID,是唯一的二进制数:世界上的任何两台计算机都不会生成重复的,GUID,值。,例如,6F9619FF-8B86-D011-B42D-00C04FC964FF,51,1.6 Transact-SQL语言简介,1.6.1 SQL,与,Transact-SQL,1.6.2,运算符与表达式,1.6.3,语句块和注释,1.6.4,流程控制语句,52,1.6.1 SQL,与,Transact-SQL,SQL,语言,SQL,是结构化查询语言,(Structured Query Language),的英文缩写,是一种使用关系模型的数据库应用语言。,功能:,(1),数据查询语言,DQL,(2),数据定义语言,DDL,(3),数据操纵语言,DML,(4),数据控制语言,DCL,Transact-SQL,(1),增加了流程控制语句。,(2),加入了局部变量、全局变量等许多新概念,可写出更复杂的查询语句。,(3),增加了新的数据类型,处理能力更强。,53,1.6.2,运算符与表达式,标识符(,2,种),常规,标识符,例,:,SELECT,*,FROM,TableX,-,标识符为,TableX,表,WHERE,KeyCol,=124,-,标识符为,KeyCol,列名,分隔,标识符,包含在双引号(,“,)或方括号(,)中。,标识符是保留字或包含空格,则使用分隔标识符。,例,:,SELECT,*,FROM TableX,-,可选择的分隔标识符,WHERE KeyCol=124,-,可选择的分隔标识符,数据库对象的名称被看成是该对象的标识符。,标识符包含的字符数必须在,1128,之间。,首字,是字母、下划线(_)、at符号()或者数字符号,54,1.6.2,运算符与表达式,常量与变量,常量,程序运行中保持常值的数据,即程序本身不能改变其值的数据,称为常量,在程序中经常直接使用文字符号表示。,变量,在程序运行过程中可以改变其值的数据,称为变量。,常量类型,字符串和二进制常量,字符串常量括在单引号内。,例如,Cincinnati,、,OBrien,、,Process X is 50%complete.,为字符串常量。,二进制常量具有前辍,0 x,是十六进制数字字符串,不使用引号。,例如,:,0 xAE,、,0 x12Ef,、,0 x69048AEFDD010E,、,0 x(,空串,),为二进制常量。,55,1.6.2,运算符与表达式,日期,/,时间常量,datetime,常量使用特定格式的字符日期值表示,用单引号括起来。使用,“,/,”,、,“,.,”,、,“,-,”,作日期,/,时间常量的分隔符。,例如:,SELECT CAST(2000-05-08 12:35:29.998 AS smalldatetime),数值常量,整型常量:例如,,1894,、,2,为整型常量。,浮点常量,:,主要采用科学记数法表示,如,101.5E5,、,0.5E-2,为浮点常量。,精确数值常量:如,1894.1204,、,2.0,为精确数值常量。,货币常量:如,$12.5,、,$542023.14,为货币常量。,unique identifier,常量是表示,GUID,(全局惟一标识符)值的字符串。可以使用字符或二进制字符串格式指定。,56,1.6.2,运算符与表达式,逻辑数据常量,逻辑数据常量使用数字,0,或,1,表示,并且不使用引号。,非,0,的数字当作,1,处理。,空值,(NULL),空值意味着用户在向表中插入数据时可以忽略该列值。空值可以表示,整型、实型、字符型,数据。,57,1.6.2,运算符与表达式,变量,用于临时存放数据,变量中的数据随程序的运行而变化。,变量有,名字,、,类型和值,三个要素,变量的命名使用常规标识符,即以字母、下划线,(_),、,at,符号,(),、数字符号,(#),开头,后续字母、数字、,at,符号、美元符号,($),、下划线的字符序列。,不允许嵌入空格或其他特殊字符。,58,1.6.2,运算符与表达式,变量的使用范围,局部变量(变量名前加,),由用户定义。定义格式,DECLARE,local_variable data_type,.n,变量名,),、小于,(=),、小于等于,(=),和不等于,(!=),等。,逻辑运算符,运算符,含 义,AND,如果两个布尔表达式都为,TRUE,,那么结果为,TRUE,。,OR,一个为,TRUE,,那么结果就为,TRUE,。,NOT,对任何其他布尔运算符的值取反。,LIKE,如果操作数与一种模式相匹配,那么值为,TRUE,。,IN,如果操作数等于表达式列表中的一个,那么值为,TRUE,。,ALL,如果一系列的比较都为,TRUE,,那么值为,TRUE,。,ANY,如果一系列的比较中任何一个为,TRUE,,那么值为,TRUE,。,BETWEEN,如果操作数在某个范围之内,那么值为,TRUE,。,EXISTS,如果子查询包含一些行,那么值为,TRUE,。,64,1.6.2,运算符与表达式,连接运算符,连接运算符(,+,)用于两个字符串数据的连接,通常也称为字符串运算符。,例如,,Dr.+Computer,Dr.Computer,运算符的优先级别,(),*,、,/,、,%,+,、,-,NOT,AND,OR,65,1.6.3,语句块和注释,语句块,BEGIN.END,BEGIN,sql_statement statement_block,END,注释,单行注释,“,-”,多行注释,“,/*/”,66,1.6.4,流程控制语句,选择控制,条件执行语句,IF,ELSE,IF Boolean_expression,sql_statement statement_block,-,条件表达式为真时执行,ELSE,sql_statement statement_block,-,条件表达式为假时执行,67,1.6.4,流程控制语句,CASE,函数,格式,1,:简单,CASE,函数,将某个表达式与一组简单表达式进行比较以确定结果。,CASE,input_expression,WHEN when_expression THEN result_expression,.n,ELSE else_result_expression,END,格式,2,:,CASE,搜索函数,,CASE,计算一组逻辑表达式以确定结果。,CASE,WHEN,Boolean_expression,THEN result_expression,.n,ELSE else_result_expression,END,68,1.6.4,流程控制语句,循环控制,WHILE boolean_expression,sql_statement statement_block,BREAK,sql_statement statement_block,CONTINUE,BREAK,语句使程序完全跳出循环,结束,WHILE,语句的执行。,CONTINUE,语句使程序跳过,CONTINUE,语句后面的语句,回到,WHILE,循环的第一行命令。,本章小结,(,1,)数据库,的几个,基本概念,数据管理的发展过程;,数据,、数据库、数据库管理系统、,数据库系统;,数据库系统三级模式结构和体系结构,;,(,2,)数据模型,数据模型的三要素;概念模型,,E-R,模型;三种主要数据模型。,(,3,)关系数据库,关系数据库的几个基本概念,关系运算,关系的完整性约束,关系数据库设计。,(,4,),SQL Server 2008,数据库系统,(,5,),Transact-SQL,语言,69,本章思考,(,1,)什么是数据库、数据库管理系统、数据库系统?它们之间有什么联系?,(,2,)当前,主要有哪几种新型数据库系统?它们各有什么特点?用于什么领域,试举例说明?,(,3,)什么是数据模型?目前数据库主要有哪几种数据模型?它们各有什么特点?,(,4,)关系数据库中选择、投影、连接运算的含义是什么?,(,5,)关键字段的含义是什么?它的作用是什么?,(,6,)什么是,E-R,图?,E-R,图是由哪几种基本要素组成?这些要素如何表示?,70,本章结束,71,数据库技术与应用,数据库技术与应用教材编写组,第,2,章 数据库的管理与使用,SQL Server,数据库的存储结构,数据库的创建,数据,库的修改,数据库,的删除,数据库的分离和附加,数据库的扩大和收缩,数据库的存储结构、创建、修改、分离和附加,73,问题提出,数据库的管理指的是什么?,是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。,数据库管理的主要内容是什么?,数据库的建立,数据库的调整,数据库的重组,数据库的重构,数据库的安全控制,数据的完整性控制和对用户提供技术支持,如何实现数据库的管理?,74,?,2.1 SQL Server,数据库的存储结构,2.1.1,逻辑存储结构,2.1.2,物理存储结构,75,2.1 SQL Server,数据库的存储结构,76,2.1.1,逻辑存储结构,逻辑存储结构,指的是数据库是由,哪些性质的信息,所组成。,它主要应用于面向用户的,数据组织和管理,,如数据库的表、视图、存储等。由于这些对象是存储在数据库中,因此也叫数据库对象。,数据库对象,77,2.1.1,逻辑存储结构,数据库类型,SQL Server 2008,数据库分为系统数据库和用户数据库。,系统数据库,是由系统创建和维护的数据库。在,SQL Server 2008,中有:,master,、,model,、,msdb,和,tempdb,共,4,个系统数据库,78,数据库名称,数据库描述,master,master,数据库记录,SQL Server,系统的所有系统级信息。主要包括实例范围的元数据、端点、链接服务器和系统配置设置以及记录了所有其他数据库的存在、数据库文件的位置以及,SQL Server,的初始化信息。,model,提供了,SQL Server,实例上创建的所有数据库的模板。,msdb,主要由,SQL Server,代理用于计划警报和作业。,tempdb,tempdb,系统数据库是一个全局资源,可供连接到,SQL Server,实例的所有用户使用,并可用于保存显式创建的临时用户对象、,SQL Server,数据库引擎创建的内部对象,和一些版本数据等。,2.1.1,逻辑存储结构,数据库类型,用户数据库,用户数据库分为系统提供的示例数据库和用户创建的数据库。,示例数据库(默认的示例数据库),AdventureWorks,:自行车制造公司的业务数据。,AdventureWorksDW,:是,Analysis Services,(分析服务)的示例数据库,用户创建的数据库,79,2.1.2,物理存储结构,数据库的物理存储结构指的是数据库文件在磁盘中是如何存储的。,数据库文件,存放数据库数据和数据库对象的文件。,3,种类型:,主数据文件(,.mdf,):一个数据库只能有一个主数据文件,次数据文件,(.ndf),:一个数据库可以有零个或多个次数据文件,事务日志文件,(.ldf),:一个数据库可以有一个或多个事务日志文件,80,2.1.2,物理存储结构,数据库文件的存储形式,81,数据库页的结构,2.1.2,物理存储结构,数据库文件组,出于分配和管理目的,可以将数据库文件分成不同的文件组(,File Group,,文件的逻辑集合)。,主文件组(,Primary FileGroup,):,系统文件分配到此组,每一个数据库中的主文件和未被放入其他组的次要文件在此组中。,用户定义文件组(,Secondary FileGroup,),默认文件组:未指定对象所属文件组的对象都被放入此组,注意:,事务日志文件不属于任何文件组。,82,2.2,数据库的创建,2.2.1,使用对象资源管理器创建数据库,2.2.2,使用,T-SQL,语言创建数据库,83,2.2,数据库的创建,在建立用户逻辑组件之前(如基本表)必须先建立数据库。,Sql serve
展开阅读全文