35
农农农 农农农农农 () 农农农 农农农农农 () 农农农 农农农农农 () 农农 农农农农农农农农农农农农农农农农农 农农农 农农农农农 () 农农 农农农

《 (农业)数据库应用 》 课程

Embed Size (px)

DESCRIPTION

《 (农业)数据库应用 》 课程. (农业)数据库应用 主讲:谭春茂. 上海农林职业技术学院农业信息工程系. 《 (农业)数据库应用 》 课程. 任务二 蔬菜数据库创建与管理. 上海农林职业技术学院农业信息工程系. 任务描述:. - PowerPoint PPT Presentation

Citation preview

(农业)数据库应用(农业)数据库应用

《(农业)数据库应用》课程 上海农林职业技术学院农业信息工程系

(农业)数据库应用

主讲:谭春茂

(农业)数据库应用(农业)数据库应用

《(农业)数据库应用》课程 上海农林职业技术学院农业信息工程系

任务二 蔬菜数据库创建与管理

(农业)数据库应用(农业)数据库应用任务描述:

在上一次任务中,我们完成了数据库 SQL Server 的安装和配置,接下来我们就要对将要使用的数据库进行创建。数据库和数据表是SQL Server 最基本的操作对象,与数据库相关的一些基本概念,数据库和数据表的创建、查看、修改、删除是 SQL Server 的最基本操作,是进行数据库管理与开发的基础。首先们我就来创建将要使用的数据库及数据库查看,修改,删除等相关操作以及数据库的附加和分离等基本操作。

(农业)数据库应用(农业)数据库应用1 . SQL Server 的数据库文件类型

根据数据库文件的作用不同,可以将数据库文件分为发下三类:

( 1 )主数据文件 (Primary File)

主数据文件是数据库的起点,用来存放数据库的数据和数据库的启动信息。每个数据库都有且必须仅有一个主数据文件。主数据文件的默认扩展名是 .MDF 。主数据文件都有两个名称,操作系统文件名(物理文件名)和逻辑文件名。

( 2 )次数据文件 (Secondary File)

次数据文件也叫辅助数据文件。次数据文件是可选的,主要用来存放不在主数据文件中的其他数据和对象。使用次数据文件可以扩展存储空间。次数据文件的默认扩展名是 .NDF 。

( 3 )事务日志文件 (Transaction Log)

事务是一个单元的工作,该单元的工作要么全部完成,要么全部不完成。 Microsoft SQL Server 2005 系统具有事务的功能,可以保证数据库操作的一致性和完整性。 SQL Server 系统使用数据库的事务日志来实现事务的功能。凡是对数据库进行增、删、改等操作,都会记录在事务日志文件中。如果数据库被破坏时可以使用该日志文件来恢复数据库的数据。每个数据库至少要有一个事务日志文件,事务日志文件的扩展名是 .LDF 。

(农业)数据库应用(农业)数据库应用SQL Server 的数据库文件组

文件组就是文件的逻辑集合。文件组可以把一些指定的文件组合在一起以方便管理和分配数据。以提高数据的查询速度,便于数据库的维护。例如:某个数据中,三个文件( data1.ndf 、 data2.ndf 、 data3.ndf )分别创建在三个不同的磁盘驱动器上,并且为他们指定了一个文件组 fgroup1 。创建表后可以明确的指定存放在fgroup1 中。这样对该表中数据的查询将分布在这三个磁盘上同时进行,因此可以通过并行执行访问来提高查询的性能。

通过使用文件组还可以简化数据库的维护工作:

( 1 )备份和恢复单独的文件或文件组,而非整个数据库,可以提高效率。

( 2 )将可维护性要求相近的表和索引分配到相同的文件组中。

( 3 )为自己的文件组指定可维护性高的表。

使用文件和文件组时,应该考虑以下因素:

( 1 )一个文件或者文件组只能用于一个数据库,而不能用于多个数据库。

( 2 )一个文件只能是某个文件组的成员,不能同时是多个文件给的成员。

( 3 )数据库的数据信息和日志信息不能放在同一个文件或文件组中,数据文件和日志文件总是分开的。

( 4 )日志文件永远也不能是任何文件组的一部分。

(农业)数据库应用(农业)数据库应用

《(农业)数据库应用》课程 上海农林职业技术学院农业信息工程系

SQL Sever 包含了 6个系统数据库 :Master 、Model 、MSDB 、TempDB 、 Resource 、 Distribution 。

其实系统数据包含了Master, Model, MSDB, TempDB, 和一个隐藏的 Resource 数据库。如果你的服务是一个分布式的据库服务,那就还有个系统的 distribution数据库。

所以我们一般安装完成后,可以看到前 4个数据库

sql server2005 系统数据库

(农业)数据库应用(农业)数据库应用Master 数据库

Master 数据库记录了所有的 SQL Server 数据库系统的系统级信息。包括实例范围内的元数据,如登录帐号,终端,连接服务器和系统配置设置元数据。另外, Master 是数据库,记录了所有其他数据库的基本信息,以及这些数据库文件的位置,并记录为 SQL Server 的初始化信息。因此,如果Master 数据库不可用的话, SQL Server 是无法启动的。但是在 SQL

Server 2005 或者更高版本里并不是把系统信息存储在 master 数据库中,而是在 Resource 数据库。但是,系统的信息在逻辑上表现还是在Master 数据库中。而且我们知道,这些系统数据库是存放在 C:\

Program Files\Microsoft SQL Server\

MSSQL10.MSSQLSERVER\MSSQL\DATA 。 对于 Master 数据库来说,数据文件和日子文件分别是在该路径下的

master.mdf和mastlog.ldf 。

(农业)数据库应用(农业)数据库应用Model 数据库

Model 数据库是一个模板数据库。每当创建一个新的数据库(包括系统数据库的 TempDB ),会创建一个以 Model 数据库为副本数据库,并更改成你创建数据库时所用的名称。这样的的优点是可以通过模板数据库先前创建好基本对象,然后创建新数据库,这样新建立的数据库就有了该基本对象。

(农业)数据库应用(农业)数据库应用MSDB 数据库

MSDB 数据库是 SQL Server代理的数据库。这是因为 SQL

Server代理是通过使用 MSDB 数据库来做存储自动化作业定义,作业调度,操作定义,触发提醒定义。代理是负责几乎所有自动化操作和调度操作。 MSDB 还包含了所有的工作准备,比如对于开始任何工作,得到了状态或停止作业命令,这些都是运行在 MSDB 数据库中。

MSDB 数据库不仅仅是 SQL Server代理来大量使用的唯一服务,比如 Broker服务,数据库邮件服务和 Reporting服务也是使用MSDB 数据库来保存调度信息。除了之外, SQL Server 集成服务( SSIS )也利用了 MSDB 数据库为 SSIS包存储。

(农业)数据库应用(农业)数据库应用TempDB 数据库

TempDB 数据库是由 SQL Server 用于暂时存储数据的。 TempDB 数据库被经常使用的在 SQL Server 操作中,所以认真的计划和评价它的大小和位置是至关重要的,以确保有效的 SQL Server 数据库操作。 TempDB 数据库被数据库引擎用来保存和存储临时对象(如临时表,视图,游标和表值变量),这些当然也可以由由数据库程序员创建使用。

此外, TempDB 数据库被 SQL Server 数据库引擎用来保存中间查询结果,用于排序操作前或操作其他数据。例如,如果你写一个查询,返回 100 行,你想通过一个结果的日期值排序时, SQL Server 可能首先把未排序的结果发送到一个临时工作表中,然后将执行排序操作,然后返回排序你的结果。如果联机索引操作执行中, tempdb 数据库会保存这个索引。

另一个需要牢记的一点是,对于 TempDB 数据库,是所有用户可以访问的,可以创建和创造和修改临时对象。这种访问有可能会带来死锁和大小限制的问题,因此就像任何其他 SQL Server 数据库,对 tempdb 数据库的监测是很重要的。

(农业)数据库应用(农业)数据库应用Resource 数据库

接着介绍下 Resource 系统数据库。 Resource 数据库是一个只读数据库,包含所有的 SQL Server 实例使用的系统对象。 Resource 数据库是无法访问作为一个正常的数据库,也不能像正常数据库那样操作。它在逻辑上被看作是系统模式上的。它不包含任何用户数据或元数据。然而,它包含了所有的系统对象的结构和说明。

这种设计使得能够快速建立一个新的服务包应用,只要更换一个新的现有 Resource

数据库的。而且,假如要恢复一个服务包,你也只要把旧的 Resource 数据库更换成新的 Resource 数据库。这样极大的方面了数据库服务要求删除或增加了新的系统对象后简单安全运行。 Resource 数据库的物理文件名是mssqlsystemresource.mdf和mssqlsystemresource.ldf 。默认情况下,这些文件位于 C:\Program Files\Microsoft SQL Server\MSSQL.1\

MSSQL\Data\ 下。每个 SQL Server 实例都只有一个关联的mssqlsystemresource.mdf 文件,和其它实例不共享此文件。资源数据库依赖于master 数据库的位置。注意,如果你移动 master 数据库,则必须同时移动资源数据库到相同的位置。

(农业)数据库应用(农业)数据库应用数据库文件和文件组

数据库文件 主文件用于存放数据,每个数据库都必须有一个主文件。扩展名为 .MDF

次要文件也用于存放数据,一个数据库可以没有也可以有多个 Secondary 文件。扩展名为 .NDF

事务日志文件包含用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。扩展名为 .LDF

文件组 允许对文件分组以便对它们进行管理 。 比如,将数据文件 data1.mdf、 data2.mdf和 data3.mdf 分别创建在三个

盘上,这三个文件组成文件组 fgroup1 ,在创建表的时候,就可以指定一个表创建在文件组 fgroup1 上。这样该表的数据就可以分布在三个盘上,在对该表执行查询时,可以并行操作,大大提高了查询效率。

(农业)数据库应用(农业)数据库应用SQL Server 的文件和文件组必须遵循以下规则:

(1) 一个文件和文件组只能被一个数据库使用。

(2) 一个文件只能属于一个文件组。

(3) 数据和事务日志不能共存于同一文件或文件组上。

(4) 日志文件不能属于任何文件组。

(农业)数据库应用(农业)数据库应用数据库对象

表 由行和列组成,是存储数据的地方

视图 虚表,是查看一个或者多个表的一种方式。

用户自定义函数 实现用户定义的某种功能。

存储过程 一组预编译的 SQL语句,可以完成指定的操作。

触发器 一种特殊类型的存储过程,当某个操作影响到它保护的数据时,它就会自动触发执行。

索引 加快检索数据的方式。

规则 限制表中列的取值范围。

默认值 自动插入的常量值。

用户自定义数据类型 限制输入到表中的数据类型。

(农业)数据库应用(农业)数据库应用利用 SSMS 创建数据库

教师演示操作

利用 SSMS 创建蔬菜销售系统数据库

数据库名称: VegtablesDB

创建蔬菜销售系统数据库,查看,修改,删除

(农业)数据库应用(农业)数据库应用演示操作

创建名为 "Vegetables" 的数据库 , 数据库包含一个主数据文件和一个事务日志文件。主数据文件的逻辑名为 "Vegetables" ,初始容量大小为 3MB ,最大容量为 20MB ,文件增长量为 1MB;日志文件的逻辑名为 "Vegetables_log" , 初始容量大小为 1MB ,最大容量为 10MB ,文件增长量为 10% ,数据文件和日志文件都保存在默认目录下。操作步骤如下:

(农业)数据库应用(农业)数据库应用

( 1 )启动 SQL Server Management Studio ,在“对象资源管理器”窗口中,右击数据库节点,在弹出的快捷菜单中选择“新建数据库”命令,如图所示。

(农业)数据库应用(农业)数据库应用

单击“新建数据库”命令,打开“新建数据库”对话框,如图所示,在这个对话框中包含 3 个选择页:“常规”、“选项”和“文件组”。

(农业)数据库应用(农业)数据库应用

(农业)数据库应用(农业)数据库应用

(农业)数据库应用(农业)数据库应用使用 T-SQL 创建数据库

SQL ( Structured Query Language )语言,又称作结构化查询语言。它是一种用户操作关系数据库的通用语言。标准 SQL语言提供支持,各大型 DBMS厂商对标准 SQL做了扩充,如微软的Transaction-SQL ,甲骨文的 PL/SQL 。

Transact-SQL ( T-SQL )是 ANSI标准 SQL 数据库查询语言的一个强大的实现,是 Microsoft公司在关系型数据库管理系统SQL Server 中对 SQL 的扩展,具有 SQL 的主要特点,同时增加了变量、运算符、函数、流程控制和注释等语言元素。

(农业)数据库应用(农业)数据库应用使用 T-SQL 创建数据库

在 SQL Server 2005 中,除使用 SQL Server Management

Studio 以图形界面创建数据库外 , 还可以在查询编辑器中用 T-

SQL语句中的 CREATE DATABASE语句创建数据库 , 下面介绍如何使用 CREATE DATABASE语句创建数据库。

(农业)数据库应用(农业)数据库应用创建数据库语法

CREATE DATABASE 数据库名

ON

(

NAME = 数据文件逻辑名称 ,

FILENAME = ' 存取路径 \ 数据文件名 ',

SIZE = 数据文件初始大小 ,

FILEGROWTH = 数据文件增长率 %

)

LOG ON

(

NAME = 日志文件逻辑名称 ,

FILENAME = ' 存取路径 \ 日志文件名 ',

SIZE = 日志文件初始大小 ,

FILEGROWTH = 日志文件增长率 %

)

(农业)数据库应用(农业)数据库应用实例

创建名为“ Vegetablest” 的数据库 , 数据库包含一个主数据文件和一个事务日志文件。主数据文件的逻辑名为“ Vegetablest” ,操作系统文件名为“ Vegetablest.mdf” ,初始容量大小为 5MB ,最大容量为20MB ,文件增长量为 15%;日志文件的逻辑名为“ Vegetablest” ,操作系统文件名为“ Vegetablest_log.ldf”, 初始容量大小为 3MB ,最大不受限制,文件增长量为 1MB ,数据文件和日志文件都保存在 C 盘的根目录下。

CREATE DATABASE Vegetablest

ON PRIMARY

(NAME=' Vegetablest ',

FILENAME='c:\Vegetablest_data.mdf',

SIZE=5MB,

MAXSIZE=20MB,

FILEGROWTH=15%)

LOG ON

(NAME=' Vegetablest_log',

FILENAME='c:\ Vegetablest_log.ldf',

SIZE=3MB,

FILEGROWTH=1MB)

GO

(农业)数据库应用(农业)数据库应用

(农业)数据库应用(农业)数据库应用使用 SSMS 管理数据库

数据库信息查看 数据库的信息包括:数据库基本信息、状态、空间大小、已经使用空间等

信息。

(农业)数据库应用(农业)数据库应用修改数据库

数据库创建成功后,可以根据需要随时修改数据库信息,除上节介绍的修改数据选项外,还包括:数据库更名、扩大数据库容量、收缩数据库容量等操作。

1 .数据库更名

数据库一旦创建成功后,一般情况下不要轻易的更改数据库的名称。因为可能有一些应用程序已经使用了该数据库。如果要更改了数据库名,相应的在其他使用了该数据库的地方也要做修改。使用 SQL Server

Management Studio 修改库数据库名的方法和步骤如下:

( 1 )启动 SQL Server Management Studio ,在“对象资源管理器”窗口中,展开“数据库”节点,右击要修改的 "Vegetables" 数据库,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”对话框中。

( 2 )在弹出的“数据库属性”对话框中 , 单击“选项”选择项,将数据库选项中的“限制访问”设置为“ Single” 用户模式,此时, "Vegetables" 数据库旁边就有个单用户标志。

( 3 )右击 "Vegetables" 数据库,在弹出的快捷菜单中,选择“重命名”命令,此时,数据库名称变成可编辑状态,输入新的数据库名称即可。

( 4 )更名后,将数据库选项中的“限制访问”设置为“Multipe” 用户模式。

(农业)数据库应用(农业)数据库应用扩大数据库容量

在创建数据时,用户都会指定容量。如果数据库的数据量不断膨胀,超过指定的容量时,必须为它增加容量。可以通过 3种方式来扩大数据库,第一种:设置数据库自动增长,可以在创建数据库时设置;第二种:直接修改数据库的数据文件和日志文件的大小;第三种:在数据库中增加辅助数据库文件和日志文件。使用 SQL Server

Management Studio 修改库数据库名的方法和步骤如下:( 1 )启动 SQL Server Management Studio ,在“对象资源管理器”窗口中,展开“数据库”节点,右击要修改的 "Vegetables" 数据库,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”对话框中。

( 2 )在弹出的“数据库属性”对话框中 , 单击“选项”选择项,单击数据库选项中的“文件”选项,此时,就可以修改 "Vegetables" 数据库的初始大小和增长方式,操作方法与创建数据库时的方法相同。

若要通过增加数据辅助文件和日志文件来增加数据库的容量,可以执行如下操作:

在弹出的“数据库属性”对话框中 , 单击“选项”选择项,单击数据库选项中的“文件”选项,对话框中显示当前数据库的数据文件和日志文件信息,单击“添加”按钮,就可以增加需要的辅助数据文件和日志文件,操作方法与创建数据库时的方法相同。

( 3 )设置完成后,单击“确定”按钮,所操作的设置立即生效。

(农业)数据库应用(农业)数据库应用收缩数据库容量

当在数据库的使用过程中,发现创建数据库时指定的容量过大,为减少存储空间的浪费,我们可以通过操作来减少数据库的容量,称“收缩数据库”。

(农业)数据库应用(农业)数据库应用附加、分离和删除数据库

除上面所介绍的数据库操作外,数据库管理操作还包括附加数据库、

分离数据库和删除数据库。操作的原因:1. 转移存放位置

2. 程序移植中,放到另外一台服务器中

(农业)数据库应用(农业)数据库应用附加数据库

启动 SQL Server Management Studio,在【对象资源管理器】窗口中,右击【数据库】节点,在弹出的快捷菜单中选择【附加】命令,打开【附加数据库】对话框中

(农业)数据库应用(农业)数据库应用分离数据库

分离数据库是指将数据库从Microsoft SQL Server 实例中删除,但是该数据库的数据文件和日志文件仍保存在该服务器的硬盘上。使用 SQL Server Management Studio 分离数据库名的方法和步骤如下:

( 1 )启动 SQL Server Management Studio ,在【对象资源管理器】窗口中,展开【数据库】节点,右击要分离的【 Vegetables】数据库,在弹出的快捷菜单中选择【任务】→【分离】命令,打开【分离数据库】对话框,

( 2 )在弹出的【分离数据库】对话框中 , ,显示要分离数据库的选项,如图

(农业)数据库应用(农业)数据库应用删除数据库

使用 SQL Server Management Studio 删除库数据库的方法和步骤为:启动 SQL Server Management Studio ,在【对象资源管理器】窗口中,展开【数据库】节点,右击要删除的数据库,在弹出的快捷菜单中选择【删除】命令,打开【删除数据库】单击【确定】按钮,完成数据库的删除操作。

使用 T-SQL语句删除数据库

使用 SQL语句删除数据库需要使用 DROP DATABASE语句。使用 DROP DATABASE语句可以一次删除多个数据库。语法格式为:

DROP DATABASE 数据库名列表

(农业)数据库应用(农业)数据库应用任务小结

本节主要介绍了利用 SQL Server2005 的 SSMS 和使用 SQL语句来创建数据库,并利用 SSMS 管理数据库,同时介绍了数据库的附加分离和删除操作。这些技能掌握后,为后续学习构造一个数据库环境,下节将在我们这次任务的数据库基础上创建数据库的相关表。

(农业)数据库应用(农业)数据库应用学生技能操作

实训二:蔬菜数据库创建与管理