2.61k likes | 2.81k Views
第三章:关系数据库标准语言 SQL. 本章学习内容. SQL概述、数据库的体系结构 创建及 管理数据库 管理数据表 管理表数据 数据库单表查询 数据库综合查询 视图的创建及删除. 本次课主讲内容. SQL 基础知识 SQL Server 2005 基础知识 SQL Server 2005 体系结构 创建及管理数据库. 一、 SQL 基础知识.
E N D
本章学习内容 SQL概述、数据库的体系结构 创建及管理数据库 管理数据表 管理表数据 数据库单表查询 数据库综合查询 视图的创建及删除
本次课主讲内容 • SQL基础知识 • SQL Server 2005基础知识 • SQL Server 2005体系结构 • 创建及管理数据库
一、SQL基础知识 • SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言,是一个通用的、功能极强的关系数据库语言;其功能并不仅仅是查询;主要用来对存放在计算机中的数据库进行组织、管理和检索。 • 标准的SQL语句几乎可以在所有的关系型数据库上不加修改地使用。Access、Visual Foxpro、Oracle这样的数据库同样支持标准的SQL。
当前,几乎所有关系数据库管理软件都支持SQL,许多软件厂商对SQL基本命令集还进行了不同程度的扩充和修改;当前,几乎所有关系数据库管理软件都支持SQL,许多软件厂商对SQL基本命令集还进行了不同程度的扩充和修改; • 如Transact-SQL是SQL Server 2005在SQL的基础上添加了变量、运算符、函数及流程控制语句及注解。那么别的关系型数据库就不支持T-SQL语言,语言是SQL Server系列产品独有的。
1、SQL概述(P78) • 1974年被Boyce和Chamberlin提出,并在IBM公司研制的关系数据库管理系统System R上实现。由于SQL简单易学,功能丰富,因此被数据库厂商所采用。 • 1986年,美国国家标准局ANSI的数据库委员会批准了SQL作为关系数据库语言的美国标准,同年公布了SQL的标准文本。 • 1987年,国际标准话组织ISO也通过了这一标准。
2、SQL语言特点 • 综合统一 • 高度非过程化 • 面向集合的操作方式 • 以同一种语法结构提供多种使用方式 • 语言简洁,易学易用;
二、SQL Server 2005基础知识 • 是微软公司生产的一款软件产品,2005是版本号,在此之前还有SQL Server 6.5、7.0、2000等。 • Server是网络和数据库中常见的一个术语,译为服务器。这说明SQL Server 2005是一款用于提供服务的软件产品。 • 扩展了SQL Server 2000 的性能、可靠性、可用性、可编程性和易用性。接下来我们来了解SQL Server 2005相关内容。
2、版本信息 • Enterprise Edition(企业版) • Standard Edition(标准版) • Developer Edition(开发版) • Workgroup Edition(工作组版) • Express Edition(简易版)
3、安装环境 • SQL Server 2005的硬件环境需求 • SQL Server 2005的软件环境需求 • SQL Server 2005的网络环境需求 • SQL Server 2005的其他安装需求
4、SQL Server 2005平台 • SQL Server 2005已经不再是传统意义上的SQL Server 2000数据库,而是整合了很多数据分析服务的数据平台。 • 从数据库到数据库平台,这是SQL Server 2000和SQL Server 2005的本质区别!
主要服务: • 数据库引擎 • 分析服务(Analysis Services)简称SSAS • 集成服务(Integration Services)简称SSIS • 报表服务(Reporting Services)简称SSRS • 复制 • 服务代理(Services Broker) • 通知服务(Notification Services) • 全文搜索
三、数据库的体系结构 • 数据库是存储和管理数据的对象; • 从逻辑上看, 数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,所有与数据处理操作相关的信息都存储在数据库中。 • 从物理上看, SQL Server 2005数据库是指用于存储数据库的文件及文件组。数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的。
1、逻辑数据库 • 逻辑角度的数据库呈现为各种数据库对象,这些数据对象是用于编写数据库应用系统和管理数据库的单位。 • SQL Server 2005的数据库对象主要包括表(table)、视图(view)、索引(index)、默认(default)、存储过程(stored procedure)、触发器(trigger)和约束(constraint)等。
在T-SQL语句中,数据库对象可使用两种对象名:在T-SQL语句中,数据库对象可使用两种对象名: • 完全限定名:在SQL Server 2005上创建的每个对象都有唯一的完全限定名。它包括四个部分:服务器名、数据库名、模式名、所有者名和对象名,其格式为: Server. database. schema. owner. object • 部分限定名:只包含对象完全限定名中的一部分的对象名称 • 使用T-SQL编程时,使用全名往往很繁琐且没有必要,所以常省略完全限定名中的某些部分。 • 对象全名中的前4部分可被省略。
SQL Server 2005数据库逻辑组成 • SQL Server 2005数据库分为三类 : • 系统数据库 • master 、model 、msdb、tempdb • 示例数据库 • Northwind、pubs • 用户数据库 • 根据用户需要创建的数据库管理单位;
2、物理数据库 • 物理角度的SQL Server 2005数据库呈现为各种操作系统文件。 • 在默认安装路径C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下存放了数据库的数据文件。
SQL Server 2005的每个数据库都必须包含下面两类文件。 • 数据文件:用于存放所有数据和数据库中建立的所有逻辑对象。又分为主要数据文件和次要数据文件。 • 日志文件:记录了用户对数据库进行的所有操作。
1)主要数据文件(Primary Data File) • 主数据文件简称主文件,它是数据库的关键文件,包含了数据库的启动信息。 • 每个数据库必须有且仅能有一个主文件; • 其默认扩展名为.MDF; • 唯一的
2)次要(辅助)数据库文件(Secondary Data File) • 辅助数据文件简称辅(助)文件,用于存储未包括在主文件内的其他数据。 • 辅助文件的默认扩展名为.NDF。 • 辅助文件是可选的,根据具体情况,可以创建多个辅助文件,也可以不用辅助文件。一般当数据库很大时,有可能需要创建多个辅助文件;而数据库较小时,则只要创建主文件而不需要辅助文件。 • 零个、一个或多个
3)日志文件(Transaction Log File) • 日志文件用于保存恢复数据库所需的事务日志信息。 • 每个数据库至少有一个日志文件,也可以有多个。 • 日志文件的扩展名为.LDF。 • 至少一个
4)数据库文件组 • 为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。 • 主文件组(Primary FileGroup) • 用户定义文件组(Secondary FileGroup)
四、创建及管理数据库 在建立用户逻辑组件之前(如基本表)必须首先建立数据库。 而建立数据库时完成的最实质任务是向操作系统申请用来存储数据库数据的物理磁盘存储空间。这些存储空间以操作系统文件的方式体现,它们的相关信息将存储在master数据库及其系统表中。
创建SQL Server 2005数据库可以在Management Stuio中以图形界面的方式交互完成,或者在查询界面下通过SQL语句完成。 界面方式管理数据库 命令方式下管理数据库
1)界面方式创建数据库 以学生-课程数据库为例,在Management Stuio中以图形界面的方式练习创建数据库,修改数据库。 例1:要求创建一个学生-课程数据库(名称为student)。
逻辑名称:数据文件和日志文件名称 文件类型:数据文件及日志文件 文件组:各个数据文件所属的文件组名称 初始大小:文件大小 自动增长:文件按指定的大小增长,也可限制到最大容量。 路径:存放文件的物理目录 文件名:显示数据文件和日志文件的物理名称
Student数据库默认创建选项: 名称:主数据文件为student,日志文件为student_log; 主数据文件初始大小为3MB,增量为1MB; 日志文件初始大小为1MB,增量为10%; 主数据文件和日志文件都存放在C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA目录下,文件分别为student.mdf 和student_log.ldf; 文件组Primary 。
例2:要求在本地磁盘D创建一个学生-课程数据库(名称为student1),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,初始大小都为1MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。例2:要求在本地磁盘D创建一个学生-课程数据库(名称为student1),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,初始大小都为1MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
3)界面方式修改数据库 在数据库创建后,数据文件和日志物理文件名就不能更改了,对已存在的数据库可以进行如下修改: 改变文件的大小和增长方式 增加或删除数据文件 增加或删除日志文件 增加或删除数据文件组
小 结 • SQL基础知识 • 概述、SQL特点、基础概念 • SQL Server 2005基础知识 • 发展史、版本信息、安装环境、平台 • SQL Server 2005体系结构 • 逻辑角度、物理角度 • 界面方式下创建及管理数据库 • 创建,修改、删除
本次课学习内容 • 命令方式下管理数据库 • 管理数据表 • 界面方式创建、修改、删除表 • 命令方式创建、修改、删除表
1、命令方式下管理数据库 • 创建数据库:CREATE • 修改数据库:ALTER • 删除数据库:DROP
1)命令方式下创建数据库 在使用T-SQL语句创建数据库中,其核心是CREATE DATABASE 语句。该语句基本语法格式是: CREATE DATABASE database_name /*指定数据库名*/ [ON file子句] /*指定数据库文件和文件组属性 [LOG ON file子句] /*指定日志文件属性*/
file子句 • NAME=logical_file_name, • FILENAME=’os_file_name’ • [,SIZE=size] • [,MAXSIZE={max_size|UNLIMITED}] • [,FILEGROWTH=grow_increment]) • [,...n]
例1:要求创建一个学生-课程数据库(名称为student)。例1:要求创建一个学生-课程数据库(名称为student)。 Create database student 例2:要求在本地磁盘D创建一个学生-课程数据库(名称为student1),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
CREATE DATABASE student1 ON ( NAME = stu, FILENAME = 'D:\stu.mdf' , SIZE = 3MB , MAXSIZE = 500MB , FILEGROWTH = 10%) LOG ON ( NAME = stu_log, FILENAME = ‘D:\stu_log.ldf’ , SIZE = 1MB , MAXSIZE = unlimited,FILEGROWTH = 1MB )
2)命令方式修改数据库 主要内容: 增加或删除数据文件 改变数据文件的大小和增长方式 增加或删除日志文件 改变日志文件的大小和增长方式 增加或删除文件组
语法格式 Alter database database_name {add file <filespec>[,…n] [to filegroup filegroupname] |add log file <filespec>[,…n] |remove file logical_file_name [with delete] |modify file <filespec> |modify name=new_databasename |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name }
3)命令方式删除数据库 语法格式: DROP DATABASE 〈,数据库名组〉 例1:将数据库student删除,可使用下述语句。 DROP DATABASE student GO
练习题 1、创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。
例2:修改数据库student现有数据文件的属性,将主数据文件的最大大小改为50MB,增长方式改为每次2MB增长。例2:修改数据库student现有数据文件的属性,将主数据文件的最大大小改为50MB,增长方式改为每次2MB增长。 例3:对数据库student增加数据文件student2,初始大小为10MB,最大大小为50MB,按10%增长。 例4:删除新增的数据文件student2 例5:将数据库student的名字改为DB。