Skip to main content

SQL语言基础

基本概念

基本表

一个关系对应一个基本表,一个或多个基本表对应一个独立的存储文件。

视图

视图是由一个或几个基本表导出的表。是一个虚拟的表,不占用存储空间。当基本表发生变化时,视图也会发生变化。例如,有一个学生进本情况表S(SNo,SName,SDept,SClass),现在要查询学生的姓名和所在班级,可以建立一个视图V(SName,SClass),然后查询V表即可。它是在表 S 之上投影出来的。

SQL支持数据库的三级结构,外模式对应视图和部分基本表,模式对应于基本表,内模式对应于存储文件。

SQL数据库的结构

数据文件

Database File,一个数据库可以有一个或多个数据文件,当有多个数据文件时,每个数据文件被定义为一个主文件,其扩展名是 .mdf,其余的数据文件被定义为次数据文件(Secondary Data File),其扩展名是 .ndf。

事务日志文件

Transaction Log File,一个数据库可以有一个或多个事务日志文件,其扩展名是 .ldf。

文件组

File Group,一个数据库可以有一个或多个文件组,每个文件组包含一个主数据文件和零个或多个次数据文件。

基本操作

创建数据库

Management Studio

在 Management Studio 中,可以通过右键单击数据库节点,选择“新建数据库”来创建数据库。

SQL语句

CREATE DATABASE 数据库名

选填语句:

[FILEGROUP 文件组名](
NAME=数据文件逻辑名称,
FILENAME='路径+数据文件名',
SIZE=数据文件初始大小,
MAXSIZE=数据文件最大大小,
FILEGROWTH=数据文件增长大小
)

[LOG ON(
NAME=事务日志文件逻辑名称,
FILENAME='路径+事务日志文件名',
SIZE=事务日志文件初始大小,
MAXSIZE=事务日志文件最大大小,
FILEGROWTH=事务日志文件增长大小
)]

[COLLATE 数据库校验方式名称]
[FOR ATTACH] -- 用于附加数据库,将已经存在的数据库文件附加到数据库中
例子

用 SQL 命令创建一个数据库 Teach,数据文件的逻辑名称为 TeachData,数据文件的物理名称为 TeachData.mdf,数据文件的初始大小为 10M,最大的存储空间为 500MB,存储空间自动增长量为 10MB,日志文件的逻辑名称为 Teach_Log,日志文件物理地存放在D盘根目录下。文件名为 TeachData.ldf,初始存储空间大小为 5MB,最大存储空间为 500MB,存储空间自动增长量为5MB。

CREATE DATABASE Teach
ON
(
NAME=Teach_Data,
FILENAME='D:\TeachData.mdf',
SIZE=10,
MAXSIZE=500,
FILEWORTH=20
)
LOG ON
(
NAME=Teach_Log,
FILENAME='D:\TeachData.ldf',
SIZE=5,
MAXSIZE=500,
FILEWORTH=5
)

修改数据库

可以用 ALTER DATABASE 命令修改数据库。只有数据库管理员(DBA)或者 CREATE DATABASE 权限的才可以有权执行这个命令。下面列出了常用的数据库 SQL 命令的基本格式如下:

ALTER DATABASE
ADD FILE(具体文件格式)
[,...n]
[TO FILEGROUP 文件组名]
|ADD LOG FILE 具体文件格式
[,...n]
|REMOVE FILE 文件逻辑问题
|MODIFY FILE(具体文件格式)
|ADD FILEGROUP 文件组名
|MODIFY FILEGROUP 文件组名
|MODIFY FILEGROUP 文件组名
{
READ_ONLY|READ_WRITE,
| DEFAULT,
| NAME = 新文件组名
}