数据库原理及应用教程0301课件_第1页
数据库原理及应用教程0301课件_第2页
数据库原理及应用教程0301课件_第3页
数据库原理及应用教程0301课件_第4页
数据库原理及应用教程0301课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用技术数据库原理及应用教程0301格言

Timethestudypainistemporary,hasnotlearnedthepainislife-long.------哈佛图书馆馆训数据库原理及应用教程0301今日格言Thestudycertainlyisnotthelifecomplete.But,sincecontinuallylifepartof-studiesalsoisunabletoconquer,whatbutalsocanmake? ------哈佛图书馆馆训数据库原理及应用教程0301今日格言学习并不是人生的全部。但,既然连人生的一部分——学习也无法征服,还能做什么呢?------哈佛图书馆馆训数据库原理及应用教程0301第三章关系数据库标准语言SQLSQL是结构化查询语言(StructuredQueryLanguage)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。SQL语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言。数据库原理及应用教程0301第三章关系数据库标准语言SQL3.1SQL的基本概念与特点3.2了解SQLServer20003.3创建与使用数据库3.4创建与使用表3.5创建与使用索引3.6数据查询3.7数据操纵3.8视图3.9数据控制数据库原理及应用教程03013.1SQL的基本概念与特点3.1.1SQL语言的发展及标准化3.1.2SQL语言的基本概念3.1.3SQL语言的主要特点数据库原理及应用教程0301SQL语言的基本概念基本表(BASETABLE):是独立存在的表,不是由其它的表导出的表。一个关系对应一个基本表,一个或多个基本表对应一个存储文件。数据库原理及应用教程0301SQL语言的基本概念视图(VIEW):是一个虚拟的表,是从一个或几个基本表导出的表。它本身不独立存在于数据库中,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。数据库原理及应用教程0301SQL语言的基本概念例如:学生数据库中有学生基本情况表STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT),此表为基本表,对应一个存储文件。可以在其基础上定义一个男生基本情况表STUDENT_MALE(SNO,SNAME,SAGE,SDEPT),数据库原理及应用教程0301SQL语言的基本概念它是从STUDENT中选择SSEX=’男’的各个行,然后在SNO,SNAME,SAGE,SDEPT上投影得到的。在数据库中只存有STUDENT_MALE的定义,而STUDENT_MALE的记录不重复存储。数据库原理及应用教程0301SQL语言的基本概念在用户看来,视图是通过不同路径去看一个实际表,就象一个窗口一样,我们通过窗户去看外面的高楼,可以看到高楼的不同部分,而透过视图可以看到数据库中自己感兴趣的内容。SQL语言支持数据库的三级模式结构,如图3.1所示。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。数据库原理及应用教程0301SQL语言的基本概念SQL视图1视图2基本表1基本表2基本表3基本表4存储文件1存储文件2外模式模式内模式图3.1SQL语言支持的关系数据库的三级逻辑结构

数据库原理及应用教程0301SQL语言的主要特点SQL语言类似于英语的自然语言,简洁易用。SQL语言是一种非过程语言,即用户只要提出“干什么”即可,不必管具体操作过程,也不必了解数据的存取路径,只要指明所需的数据即可。SQL语言是一种面向集合的语言,每个命令的操作对象是一个或多个关系,结果也是一个关系。数据库原理及应用教程0301SQL语言的主要特点SQL语言既是自含式语言,又是嵌入式语言。可独立使用,也可嵌入到宿主语言中。自含式语言可以独立使用交互命令,适用于终端用户、应用程序员和DBA;嵌入式语言使其嵌入在高级语言中使用,供应用程序员开发应用程序。数据库原理及应用教程0301SQL语言的主要特点SQL语言具有:数据查询(QUERY)数据定义(DEFINITION)数据操纵(MANIPULATION)数据控制(CONTROL)四种语言一体化的功能数据库原理及应用教程0301第三章关系数据库标准语言SQL3.1SQL的基本概念与特点3.2了解SQLServer2000

3.3创建与使用数据库3.4创建与使用表3.5创建与使用索引3.6数据查询3.7数据操纵3.8视图3.9数据控制数据库原理及应用教程03013.2了解SQLServer2000SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS)它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本SQLServer近年来不断更新版本数据库原理及应用教程03013.2了解SQLServer20001996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。数据库原理及应用教程0301SQLServer2000常见的版本企业版(EnterpriseEdition)标准版(StandardEdition)个人版(PersonalEdition)开发者版(DeveloperEdition)数据库原理及应用教程0301SQLServer2000常见的版本SQLServer2000企业版必须运行于安装WindowsNTServerEnterpriseEdition4.0或者Windows2000AdvancedServer以及更高版本的操作系统下。SQLServer2000标准版必须运行于安装WindowsNTServerEnterpriseEdition4.0、WindowsNTServer4.0、Windows2000Server以及更高版本的操作系统下。数据库原理及应用教程0301SQLServer2000常见的版本SQLServer2000个人版可在多种操作系统下运行,如可运行于Windows9x,WindowsNT4.0或Windows2000的服务器版或工作站版的操作系统下。SQLServer2000开发者版可运行于上述Windows9x以外的所有操作系统下。数据库原理及应用教程03013.2了解SQLServer20003.2.1SQLServer2000的主要组件3.2.2企业管理器3.2.3查询分析器数据库原理及应用教程0301SQLServer2000的主要组件企业管理器查询分析器服务管理器客户端网络实用工具服务器网络实用工具导入和导出数据在IIS中配置SQLXML支持事件探查器联机丛书数据库原理及应用教程0301企业管理器企业管理器是基于一种新的被称为微软管理控制台(MicrosoftManagementConsole)的公共服务器管理环境,它是SQLServer中最重要的一个管理工具。企业管理器不仅能够配置系统环境和管理SQLServer,而且由于它能够以层叠列表的形式来显示所有的SQLServer对象,因而所有SQLServer对象的建立与管理都可以通过它来完成。数据库原理及应用教程0301企业管理器管理SQLServer服务器;建立与管理数据库;建立与管理表、视图、存储过程、触发程序、角色、规则、默认值等数据库对象,以及用户定义的数据类型;备份数据库和事务日志、恢复数据库;复制数据库;数据库原理及应用教程0301企业管理器设置任务调度;设置警报;提供跨服务器的拖放控制操作;管理用户帐户;建立Transact-SQL命令语句管理和控制SQLMail。数据库原理及应用教程0301查询分析器SQLServer2000新的图形化查询分析器用于输入和执行Transaction-SQL语句,并且迅速查看这些语句的结果,以分析和处理数据库中的数据。这是一个非常实用的工具,对掌握SQL语言,深入理解SQLServer的管理工作有很大帮助。数据库原理及应用教程0301第三章关系数据库标准语言SQL3.1SQL的基本概念与特点3.2了解SQLServer2000

3.3创建与使用数据库3.4创建与使用表3.5创建与使用索引3.6数据查询3.7数据操纵3.8视图3.9数据控制数据库原理及应用教程0301创建与使用数据库在SQLServer2000中,创建一个数据库将至少产生两个文件,即数据文件和日志文件一个数据库至少应包含一个数据文件和一个事务日志文件数据库原理及应用教程0301数据文件数据文件是存放数据库数据和数据库对象的文件一个数据库可以有一个或多个数据文件,一个数据文件只属于一个数据库主要数据文件:扩展名为.mdf,存储数据库的的启动信息和部分或全部数据,一个数据库一个主要数据文件次要数据文件:扩展名为.ndf,用来存储主要数据文件没有存储的其他数据数据库原理及应用教程0301事务日志文件记录数据库更新情况的文件,扩展名为.ldf一个数据库可以有一个或多个事务日志文件采用“Write-Ahead(提前写)方式的事务,即对数据库的修改先写入事务日志中,再写入数据库。数据库原理及应用教程0301事务日志文件系统先将更改操作写入事务日志中,再更改存储在计算机缓存中的数据由系统以固定的时间间隔执行CHECKPOINT命令,将更改过的数据批量地写入硬盘特点:在执行数据更改时会设置一个开始点和结束点,如果在到达结束点前中断操作,则重新启动后还原数据库到未被修改的状态数据库原理及应用教程0301文件组将多个数据文件集合起来形成一个整体,每个文件组有一个组名一个文件只能存储在一个文件组,一个文件组只能被一个数据库使用主要文件组和次要文件组数据库原理及应用教程0301SQLServer的系统数据库SQLServer2000有6个系统数据库:Master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。数据库原理及应用教程0301SQLServer的系统数据库Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需要的。数据库原理及应用教程0301SQLServer的系统数据库Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其它临时操作提供存储空间。数据库原理及应用教程0301SQLServer的实例数据库Pubs和Northwind数据库是两个实例数据库,它们可以作为SQLServer的学习工具。数据库原理及应用教程03013.3.3创建用户数据库每个数据库都由以下几个部分的数据库对象所组成:关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。数据库原理及应用教程03013.3.3创建用户数据库使用向导创建数据库使用企业管理器(EnterpriseManager)创建数据库使用Transact-SQL语言创建数据库数据库原理及应用教程0301使用向导创建数据库在企业管理器的“工具”菜单中选择“向导”菜单创建数据库数据库原理及应用教程0301使用企业管理器创建数据库在数据库文件夹或其下属任一数据库图标上单击右键,选择新建数据库选项数据库原理及应用教程0301使用Transact-SQL语言创建数据库CREATEDATABASEdatabase_name[ON[PRIMARY][<>[,…n][,<>[,…n]]][LOGON{<>[,…n]}][FORRESTORE]<>::=([NAME=logical_,]‘os_’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,])[,…n]<>::=<>[,…n]数据库原理及应用教程0301使用Transact-SQL语言创建数据库database_name:数据库的名称,最长为128个字符。PRIMARY:该选项是一个关键字,指定主文件组中的文件。LOGON:指明事务日志文件的明确定义。NAME:指定数据库的逻辑名称,这是在SQLServer系统中使用的名称,是数据库在SQLServer中的标识符。数据库原理及应用教程0301使用Transact-SQL语言创建数据库:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。SIZE:指定数据库的初始容量大小。MAXSIZE:指定操作系统文件可以增长到的最大尺寸。:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。数据库原理及应用教程0301使用Transact-SQL语言创建数据库创建了一个教学数据库Teach,该数据库的主数据文件逻辑名称为Teach_data,物理文件名为Teach.mdf,初始大小为10MB,最大存储空间为50MB,存储空间自动增长量为5MB;数据库的日志文件逻辑名称为Teach_log,日志文件物理地存储在D:盘的根目录下,文件名为Teach.ldf,初始大小为5MB,最大尺寸为25MB,增长速度为5MB。数据库原理及应用教程0301使用Transact-SQL语言创建数据库createdatabaseTeachOn( NAME=Teach_data, ='D:\Teach_data.mdf',

SIZE=10,MAXSIZE=50,

)logon(

name=‘Teach_log’, 'D:\Teach_data.ldf',

size=5,

maxsize=25,

)数据库原理及应用教程03013.3.4修改用户数据库利用企业管理器修改数据库使用ALTERDATABASE语句修改数据库数据库原理及应用教程0301利用企业管理器修改数据库数据库原理及应用教程0301利用企业管理器修改数据库数据库原理及应用教程0301利用企业管理器修改数据库ANSINULL默认设置:允许在数据库表的列中输入空(NULL)值。递归触发器:允许触发器递归调用。SQLServer设定的触发器递归调用的层数最多为32层。自动更新统计信息:允许使用SELECTINTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入数据。残缺页检测:允许自动检测有损坏的页。自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。数据库原理及应用教程0301使用ALTERDATABASE语句修改数据库Alterdatabasedatabasename{add>[,…n][to]|addlogfile<>[,…n]|remove[withdelete]|modifyfile<>|modifyname=new_databasename|add|remove|modify{}}

数据库原理及应用教程0301使用ALTERDATABASE语句修改数据库ALTERDATABASENorthwindMODIFYFILE( NAME=Northwind, )数据库原理及应用教程03013.3.5删除用户数据库利用企业管理器删除数据库利用SQL语句删除数据库数据库原理及应用教程0301利用企业管理器删除数据库数据库原理及应用教程0301利用SQL语句删除数据库Drop语句可以从SQLServer中一次删除一个或多个数据库。其语法如下:

Dropdatabasedatabase_name[,…n]例子:删除数据库Teach: DROPDATABASE Teach数据库原理及应用教程03013.3.5查看数据库信息利用企业管理器查看数据库信息利用系统存储过程显示数据库信息数据库原理及应用教程0301利用企业管理器查看数据库信息:方法一数据库原理及应用教程0301利用企业管理器查看数据库信息:方法二数据库原理及应用教程0301利用系统存储过程显示数据库信息用系统存储过程显示数据库结构用系统存储过程显示文件信息用系统存储过程显示文件组信息数据库原理及应用教程0301用系统存储过程显示数据库结构使用系统存储过程Sp_helpdb显示数据库结构,语法:

Sp_helpdb[[@dbname=]’name’]例子:

Sp_helpdb@dbname='Teach‘ EXECSp_helpdbNorthwide数据库原理及应用教程0301用系统存储过程显示文件信息使用系统存储过程Sp_helpfile显示数据库文件信息,语法:

Sp_helpfile[[@]’name’]例子:

Sp_helpfile@='Teach_Data‘ EXECSp_helpfile数据库原理及应用教程0301用系统存储过程显示文件组信息使用系统存储过程Sp_help显示数据库文件信息,语法:

Sp_help[[@=]’name’]例子:

Sp_help@='PRIMARY‘ EXECSp_helpfile数据库原理及应用教程0301第三章关系数据库标准语言SQL3.1SQL的基本概念与特点3.2了解SQLServer2000

3.3创建与使用数据库3.4创建与使用表3.5创建与使用索引3.6数据查询3.7数据操纵3.8视图3.9数据控制数据库原理及应用教程03013.4创建与使用数据表3.4.1数据类型3.4.2创建数据表3.4.3定义数据表的约束3.4.4修改数据表3.4.5删除基本表3.4.6查看数据表数据库原理及应用教程03013.4.1数据类型1.整型数据类型2.浮点数据类型3.字符数据类型4.日期和时间数据类型5.文本和图形数据类型数据库原理及应用教程03013.4.1数据类型6.货币数据类型7.位数据类型8.二进制数据类型9.特殊数据类型10.新增数据类型数据库原理及应用教程03011.整型数据类型int(integer):int(或integer)数据类型可以存储从-231到231-1范围之间的所有正负整数。Smallint:可以存储从-215(-32,768)到215-1范围之间的所有正负整数。Tinyint:可以存储从0到255范围之间的所有正整数。数据库原理及应用教程03012.浮点数据类型浮点数据类型用于存储十进制小数。浮点数值的数据在SQLServer中采用只入不舍的方式进行存储。Real:可以存储正的或者负的十进制数值,最大可以有7位精确位数。Float:可以精确到第15位小数,其范围从-1.79E-308到1.79E+308。数据库原理及应用教程03012.浮点数据类型Decimal和numeric:Decimal数据类型和numeric数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2到17个字节来存储从-1038-1到1038-1之间的数值。数据库原理及应用教程03013.字符数据类型字符数据类型可以用来存储各种字母、数字符号和特殊符号。

Char:其定义形式为char(n),每个字符和符号占用一个字节的存储空间。Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串。Nchar:其定义形式为nchar(n)。Nvarchar:其定义形式为nvarchar(n)。数据库原理及应用教程03013.字符数据类型字符数据类型可以用来存储各种字母、数字符号和特殊符号。

Char:其定义形式为char(n),每个字符和符号占用一个字节的存储空间。Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串。Nchar:其定义形式为nchar(n)。Nvarchar:其定义形式为nvarchar(n)。数据库原理及应用教程03014.日期和时间数据类型Datetime:用于存储日期和时间的结合体。它可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间。Smalldatetime:与datetime数据类型类似,但其日期时间范围较小,它存储从1900年1月1日到2079年6月6日内的日期。数据库原理及应用教程03015.文本和图形数据类型Text:用于存储大量文本数据,其容量理论上为1到231-1个字节,但实际应用时要根据硬盘的存储空间而定。

Ntext:与text数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。Image:用于存储照片、目录图片或者图画,其理论容量为231-1个字节。数据库原理及应用教程03016.货币数据类型Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,精度为货币单位的万分之一。Smallmoney:与money数据类型类似,但其存储的货币值范围比money数据类型小,其存储范围为-214748.3468到214748.3467。数据库原理及应用教程03017.位数据类型Bit:称为位数据类型,其数据有两种取值:0和1,长度为1字节。数据库原理及应用教程03018.二进制数据类型Binary:其定义形式为binary(n),数据的存储长度是固定的,即n+4字节,当输入的二进制数据长度小于n时,余下部分填充0。

Varbinary:其定义形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。其它含义同binary。数据库原理及应用教程03019.特殊数据类型Timestamp:亦称时间戳数据类型,它提供数据库范围内的唯一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。

Uniqueidentifier:用于存储一个16字节长的二进制数据类型,它是SQLServer根据计算机网络适配器地址和CPU时钟产生的唯一号码而生成的全局唯一标识符代码(GloballyUniqueIdentifier,简写为GUID)。数据库原理及应用教程030110.新增数据类型Bigint:用于存储从-263到263-1之间的所有正负整数。sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQLServer数据。数据库原理及应用教程030110.新增数据类型table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。数据库原理及应用教程03013.4创建与使用数据表3.4.1数据类型3.4.2创建数据表3.4.3定义数据表的约束3.4.4修改数据表3.4.5删除基本表3.4.6查看数据表数据库原理及应用教程03013.4.2创建数据表在SQLServer2000中,每个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论