360 likes | 501 Views
数据库原理与 SQL Server. 第 2 章 管理数据库. 第 2 章 管理数据库. 2.1 了解数据 库 — 数 据库的构成 2.2 编程语 言 — Transact -SQL 2.3 管理数据第一步 — 建 立数据库 2.4 共享数据 — 发布和订阅数据库 实训 创建数据库. 2.1 了解数据库 — 数据库的构成. 数据库( Database , DB )是数据的集合,数据通过数据库管理系统( DBMS )存储在表( Table )中,若干相关的表就组成了数据库。
E N D
数据库原理与SQL Server 第2章 管理数据库
第2章 管理数据库 • 2.1 了解数据库—数据库的构成 • 2.2 编程语言—Transact-SQL • 2.3 管理数据第一步—建立数据库 • 2.4 共享数据—发布和订阅数据库 实训 创建数据库
2.1 了解数据库—数据库的构成 数据库(Database,DB)是数据的集合,数据通过数据库管理系统(DBMS)存储在表(Table)中,若干相关的表就组成了数据库。 SQL Server 2000与其他常用的数据库管理系统一样,是关系型数据库管理系统(RDBMS)。在关系数据库中,数据库是以关系的方式组织数据的,关系也就是表。
2.1.1 数据库基础知识 1.数据库技术的出现和发展 人工管理阶段、文件系统阶段、数据库系统阶段 。 2.数据库系统构成 数据库、数据库管理系统 、数据库系统 、数据库管理员。
2.1.2 SQL Server数据库类型 SQL Server 2000数据库分为两类: • 系统数据库(System Databases)。 • 用户数据库(User Databases)。 当SQL Server 2000安装完成后,包括4个系统数据库和2个样本数据库。
数据库简介 • 系统数据库。 master:系统中的所有系统级信息,最重要。 model:模板数据库,包含用户数据库的所有基本信息。 msdb:服务信息。 tempdb:中间信息。 • 样本数据库。 pubs:出版公司数据库。 northwind:贸易公司数据库。 • 用户数据库 。 创建用户数据库时系统自动复制model中的内容。
2.1.3 数据库中的对象 • Table(表):存放数据。 • View(视图):虚拟表,表中数据定制实现访问。 • Index(索引):表的索引,提高查询速度。 • Stored Procedure(存储过程):减轻网络流量。 • Trigger(触发器):以表动作为前提的一组SQL语句 。
2.1.4 数据库文件和文件组 • SQL Server 2000的数据库由一系列的文件和文件组组成。 • 数据库中的对象都是存储在特定的文件中。
1.数据库文件 • 主数据文件 扩展名为mdf,每个数据库有且仅有一个主数据文件。 • 次数据文件 扩展名为ndf,每个数据库可以没有也可以有多个次数据文件。 • 事务日志文件 扩展名为ldf,每个数据库必须至少有一个事务日志文件。当数据库出现意外时就可以通过备份库和事务日志文件来恢复数据库。
2.文件组 • 文件组(Filegroup)是一个命名文件集合。 • SQL Server 2000的文件组包括主文件组、和用户自定义文件组两类文件组。
2.2 编程语言—Transact-SQL 2.2.1 SQL概述 • SQL是结构化查询语言Structured Query Language的缩写,主要应用于关系数据库。目前使用的SQL标准是ANSI SQL-99。 • 各关系数据库系统 产品均对SQL进行了扩充,Transact-SQL是SQL Server中的ANSI SQL-99的实现 。
2.2.2Transact-SQL的组成 • 数据定义(Data Definition Language, DDL) • 数据操纵(Data Manipulation Language, DML) • 数据控制语句(Data Control Language, DCL) • 附加语言元素(Additional Language Elements)
2.2.3 Transact-SQL的结构 • 每条Transact-SQL语句均由一个谓词(Verb)开始,该谓词描述这条语句要产生的动作。 • 谓词后紧接着一个或多个子句(Clause),子句中给出了被谓词作用的数据或提供谓词动作的详细信息。每一个子句由一个关键字开始。
2.3 管理数据第一步—建立数据库 2.3.1 创建数据库 1.使用SQL语句 2.使用SQL—EM
1.使用SQL语句 CREATE DATABASE <数据库名> [ON {[PRIMARY](NAME=<数据文件逻辑文件名>, FILENAME='<数据文件物理文件名>' [,SIZE=<数据文件大小>] [,MAXSIZE=<数据文件最大尺寸>] [,FILEGROWTH=<数据文件增量>]) }[,…n] ]
1.使用SQL语句 [LOG ON {(NAME=<逻辑文件名>, FILENAME='<事务日志文件逻辑文件名>' [,SIZE=<事务日志文件大小>] [,MAXSIZE=<事务日志文件最大尺寸>] [,FILEGROWTH=<事务日志文件增量>]) }[,…n] ] [FOR RESTORE]
例2-1 创建student数据库。 在D盘的example文件夹下创建一个student数据库,主文件名为student_data.mdf,事务日志文件名为student_log.ldf。(1) 启动“查询分析器”,输入SQL语句。(2) 按F5键或单击工具栏上的“执行查询”图标执行。 脚本:
例2-2 创建customer数据库。 包含1个数据文件和1个事务日志文件。数据文件为主数据文件,其逻辑文件名为customer,实际文件名为customer.mdf,初始容量为10 MB,最大容量为50 MB,自动增长时的递增量为2 MB。事务日志文件的逻辑文件名为customer_log,实际文件名为customer_log.1df,初始容量为5 MB,最大容量为30MB,自动增长时的递增量为1 MB。 脚本:
例2-3 创建archive数据库。 包含3个数据文件和2个事务日志文件。主数据文件的逻辑文件名为archl,实际文件名为archdatl.mdf,两个次数据文件的逻辑文件名分别为arch2和arch3,实际文件名分别为archdat2.ndf和archdat3.ndf。两个事务日志文件的逻辑文件名分别为archlogl和archlog2,实际文件名分别为archklogl.1df和archklog2.1df。上述文件的初始容量均为5 MB,最大容量均为50 MB,递增量均为1MB。 脚本:
2.使用SQL-EM (1)启动SQL-EM,指向左侧窗口的“数据库”结点,单击右键,打开快捷菜单,选择“新建数据库”命令,打开“数据库属性”对话框。 (2) 在“名称”框中输入数据库名。单击“数据文件”选项卡可以指定创建数据库的数据文件的详细信息。 (3) 单击“事务日志”选项卡可以指定数据库的事务日志文件的详细信息。 (4) 单击“确定”按钮,完成数据库的创建。
2.3.2 修改数据库 1.使用SQL语句 2.使用SQL-EM
1.使用SQL语句 ALTER DATABASE <数据库名> {ADD FILE <文件格式>[,…n] [TO FILEGROUP <文件组名>] |ADD LOG FILE <文件格式>[,…n] |REMOVE FILE <逻辑文件名> |ADD FILEGROUP <文件组名> |REMOVE FILEGROUP <文件组名> |MODIFY FILE <文件格式> |MODIFY FILEGROUP <文件组名> <文件组属性> }
1.使用SQL语句 <文件格式>::= (NAME=<逻辑文件名> [,FILENAME='<物理文件名>'] [,SIZE=<文件大小>] [,MAXSIZE={<文件最大尺寸>|UNLIMITED}] [,FILEGROWTH=<文件增量>])
例2-4 调整库的大小。 将例2-2中的数据库customer的主数据文件customer的大小调整为20 MB。 脚本: ALTER DATABASE customer MODIFY FILE (NAME=customer, SIZE=20MB)
例2-5 增加次数据文件。 将例2-2中的数据库customer增加一个次数据文件customer_1。 脚本: ALTER DATABASE customer ADD FILE (NAME=customer_1, FILENAME='d:\mssql\data\customer_1.ndf ', SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=20%)
例2-6 添加数据文件。 首先创建一个名为test的数据库,其主数据文件的逻辑文件名和实际文件名分别为testdatl和tdatl.mdf。然后使用向该数据库中添加一个数据文件,其逻辑文件名和实际文件名分别为testdat2和tdat2.ndf。两个数据库文件的初始容量均为5 MB,最大容量均为10 MB,递增量均为20%。 脚本:
2.使用SQL-EM (1) 启动SQL-EM,指向左侧窗口要修改的“数据库”结点,单击右键,打开快捷菜单,选择“属性”命令,打开“数据库属性”对话框。 (2) 单击“数据文件”选项卡,可以对构成该数据库的数据文件进行修改。单击“事务日志”选项卡,可以对构成指定数据库的事务日志文件进行修改。其他选项卡的使用与此类似。 (3) 单击“确定“按钮,完成对指定数据库的修改。
2.3.3 删除数据库 1.使用SQL语句 2.使用SQL-EM
1.使用SQL语句 DROP DATABASE <数据库名>[,…n] 例2-7删除数据库test。 脚本: DROP DATABASE test
2.使用SQL-EM (1) 启动SQL-EM,指向左侧窗口要删除的“数据库”结点,单击右键,打开快捷菜单,选择“删除”命令,打开“删除数据库”对话框。 (2) 单击“删除”按钮,指定数据库将被删除。
2.3.3 重新命名数据库 sp_renamedb ‘<旧数据库名> ’,‘<新数据库名> ’ 例2-8将数据库archive名修改为arch。 脚本: sp_renamedb 'archive' 'arch'
2.4 共享数据—发布和订阅数据库 • 发布和订阅是SQL Server 2000复制模型中的两个术语。通过复制,将一个源服务器上的数据库传递到其他本地服务器或远程服务器上,从而使分布在不同服务器上的数据保持同步。 • 被复制的数据称为被发布的数据,包含被发布数据的服务器称为发布服务器。请求数据复制的服务器称为订阅服务器或订阅者。分发服务器是发布服务器与订阅服务器之间的中介。发布服务器把源数据复制到分发服务器上,订阅服务器则通过分发服务器来订阅全部或部分已发布数据。
2.4.1 使用向导配置发布和分发 • 在复制数据库以前,首先需要对与复制相关的分发服务器、分发数据库和订阅服务器进行配置。 • SQL-EM→指定数据库服务器→右侧复制图标→单击右键→配置发布、订阅服务器和分发:分发服务器、快照文件夹。
2.4.2创建发布 • 定义发布包含源数据库中的数据。 • SQL-EM→指定数据库服务器复制文件夹→右侧发布内容图标→单击右键→新建发布:发布数据库、类型、项目。
2.4.3 订阅发布 • 订阅是对发布到指定订阅服务器的数据或数据库对象的请求。 • SQL-EM→指定数据库服务器复制文件夹→右侧订阅图标→单击右键→新建请求订阅:发布数据库、目的数据库。
实训 创建数据库 实验名称:创建数据库 目的要求:掌握SQL Server 2000中创建数据库的方法 操作步骤: (1)在D盘根目录下创建文件夹“student”。 (2)使用SQL-EM创建数据库student。 (3)指定student的主数据文件为student.mdf,事务日志文件名为student.ldf,并存放在D盘student文件夹中。 (4)数据库其他属性设置取默认值。 (5)发布和订阅所创建的数据库student。