1.简述数据库的两种存储结构。
答:数据库的物理存储结构指的是保存数据库各种逻辑对象的物理文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,SQL Server 2008将数据库映射为一组操作系统文件。
逻辑存储结构:数据库是存储数据的容器,即数据库是一个存放数据的表和支持这些数据的存储、检索、安全性和完整性的逻辑成分所组成的集合。
2.数据库由哪几种类型的文件组成?其扩展名分别是什么?
答:(1) 主数据文件:主数据文件是数据库的起点,指向数据库中的其他文件。主数据文件的推荐文件扩展名是 .mdf。
(2) 辅助数据文件:(有0到多个)除主数据文件以外的所有其他数据文件都是辅助数据文件。辅助数据文件的推荐文件扩展名是 .ndf。
(3) 事务日志文件:(有1到多个)日志文件包含着用于恢复数据库的所有日志信息。日志文件的推荐文件扩展名是 .ldf。
3.简述SQL Server 2008中文件组的作用和分类。
答:为了便于管理和分配数据而将文件组织在一起,通常可以为一个磁盘驱动器创建一个文件组(File Group),将多个数据库文件集合起来形成一个整体。
SQL Server中的数据库文件组分为主文件组(Primary File Group)和用户定义文件组(user_defined Group)。
//数据库的创建,修改,删除T-SQL语句。
4.使用SQL Server Management Studio创建名为"inventory"的数据库,并设置数据库主文件名为inventory_data,初始大小为10MB,日志文件名为inventory_log,初始大小为2MB。所有的文件都放在目录"E:\DATA"中。
答:略。
5.删除习题4创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名及存放位置同上,要求:inventory_data最大为无限大,增长速度为20%,日志文件初始大小为2MB,最大为5MB,增长速度为1MB。
答:CREATE DATABASE inventory
(NAME = ' inventory_data',
FILENAME = 'E:\DATA\ inventory_data.MDF' ,
SIZE = 10MB,
FILEGROWTH = 20%) //增长速度
LOG ON
(NAME =' inventory_log',
FILENAME = 'E:\DATA\ inventory_log. LDF',
SIZE = 2MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB)
6.请分别使用SQL Server Management Studio和T-SQL语句创建数据库Student,要创建的数据库的要求如下所示:数据库名称为Student,包含3个20MB的数据库文件,2个10MB的日志文件,创建使用一个自定义文件组,主文件为第一个文件,主文件的后缀名为.mdf,次要文件的后缀名为.ndf;要明确地定义日志文件,日志文件的后缀名为.ldf;自定义文件组包含后两个数据文件,所有的文件都放在目录"E:\DATA"中。
答:create database Student
on
(name=Student1,
filename='E:\DATA\Student1.MDF',
size=20,
maxsize=unlimited),
FILEGROUP FG1 //新建文件组
(name= Student2,
filename='E:\DATA\Student2.NDF',
size=30,
maxsize= unlimited), //无限大
(name= Student3,
filename='E:\DATA\Student3.NDF',
size=30,
maxsize= unlimited)
log on
(name=Studentlog1,
filename='E:\DATA\Studentlog1.LDF',
size=10,
maxsize= unlimited),
(name=Studentlog2,
filename='E:\DATA\Studentlog2.LDF',
size=10,
maxsize= unlimited)
修改:
(1)增加已有数据库文件的初始大小:
ALTER database 数据库名 //alter 是修改的意思
MODIFY FILE //modify是修改的意思
(NAME = 逻辑文件名,
SIZE = 文件大小)
(2)增加数据库文件
ALTER database 数据库名
ADD FILE | ADD LOG FILE
(NAME = '数据文件名',
filename='E:\DATA\Studentlog1.LDF',
size=10,
maxsize= unlimited,
FILEGROWTH = 5%)
(3)删除数据库文件
ALTER database 数据库名
REMOVE FILE 逻辑文件名 //remove 移去,删除
(4)数据库更名
sp_renamedb '旧名字','新名字'
删除:
(1)删除数据库文件:如上修改的(3)
(2)删除数据库:
DROP DATABASE 数据库名