2.2数据库的结构、创建、查看、修改、删除

2.2.1数据库的结构

数据库存储方式:文件和文件组

文件类型:

  • 主数据库文件
  • 次要数据库文件
  • 事务日志文件

默认存储路径:“X"\program Files\Microsoft SQL Serve\MSSQL.1\MSSQL\Data"

主数据库文件(PrimaryDatabase File):
         数据库的关键文件,每个数据库都有且只有一个主数据文件。

  • 作用:

    • 存储数据库的启动信息;
    • 存储部分或全部数据;
    • 包含指向数据库中其他文件的指针。
  • 推荐的文件扩展名:mdf

次要数据库文件(Secondary Database File,也称为辅助文件):可以没有,也可以有多个次要数据文件。

  • 作用:存储主数据文件中未存储的剩余数据和数据库对象。
  • 推荐的文件扩展名:.ndf

事务日志文件(Log Data File):每个数据库必须有一个或多个日志文件。

  • 作用:存储用来恢复数据库所需的事务日志信息。
  • 推荐的文件扩展名:.ldf

文件组

  • 定义:命名的文件集合。
  • 作用:方便用户进行数据的管理、分配/放置。
  • 类型
    • 主文件组(有且只有一个)包含主数据文件,以及没有分配给其他文件组的次要数据文件。
    • 用户定义文件组(可以没有,也可以有多个):只能包含次要数据文件。
    • 使用规则:
      (1)一个文件和文件组只能被一个数据库使用;
      (2)一个文件只能属于一个文件组;
      (3)日志文件不能属于文件组。
      在这里插入图片描述

使用文件组管理分配数据的好处:

  • 使数据库结构清晰
  • 方便用户管理
  • 提升效率

数据库对象

  • 类型:
    • 表(Table)
    • 视图(View)
    • 存储过程(Stored Procedures)
    • 触发器(Triggers)
    • 用户定义数据类型(User-defined Data Types)
    • 用户自定义函数(User-defined Functions)
    • 索引(Indexes)
    • 约束
  • 表示方法:
    服务器名.数据库名.所有者名.对象名
    serve.database.owner.object
    在这里插入图片描述

2.2.2系统数据库

SQL Server 2005 的系统数据库分别是:

  • master数据库

  • model数据库

  • msdb数据库

  • tempdb数据库

  • master数据库

    • 作用:记录SQL Server的所有系统级信息,如果master数据库不可用,SQL Server无法启动。
  • model数据库

    • 作用:所有数据库的模板。可以向model数据库中增加其他数据库对象,这些对象都能被以后创建的数据库所继承。
  • msdb数据库

    • 作用:由SQL Server Agent(SQL Server代理)来计划警报和作业。
  • tempdb数据库

    • 作用:是连接到SQL Server 实例的 所有用户都可用的全局资源,它保存了所有临时表和临时存储过程。

2.2.3创建数据库

方法:

  • 使用SQL Server Management Studio
  • 使用SQL语句

创建“完整”数据库的操作顺序:
1.给数据库命名并设定数据库的所有者。
2.定义文件组。
3.为文件组分配数据文件
4.创建表并设置表的相关选项、约束规则
5.将表放入到文件组中
6.创建其他数据库对象

一、使用SQL Server Management Studio
1. 步骤
(1)给数据库命名
(2)定义文件组

  • “文件组”选项卡 → “添加”
  • “常规”选项卡 → “文件组” → “新文件组”

(3)为文件组分配数据文件

  • 数据库文件的配置:
    • 文件名(逻辑名称)
    • 文件类型
    • 文件组
    • 初始大小
    • 自动增长
    • 路径

2.“选项”选项卡的设置

  • 恢复模式:
    • 简单
    • 完整
    • 大容量日志
  • 兼容级别:SQL Server7.0、2000、2005
  • 自动关闭:指定在上一个用户退出后,数据库是否完全关闭并释放资源。选择后,数据库文件可以像普通文件一样处理(如复制)。
  • 限制访问:指定那些用户可以访问该数据库。可能拥有的值有:
    • Multiple:数据库的正常状态,允许多个用户同时访问该数据库。
    • Single:用于维护操作,一次只允许一个用户访问该数据库。
    • Restricted:只有db_owner、dbcreate或sys admin角色的成员才能使用该数据库。

3.查看数据库信息
在这里插入图片描述
二、使用SQL语句
1.SQL简介:SQL是1974年由Boyce和Chamberlin提出的,是关系数据库中的标准语言。

  • SQL特点:

    • 功能全面,可以完成数据库中的全部工作。
    • 用户只需提出“做什么”,而不必指明怎么做。SQL语言将用户的要求提交给系统,自动完成全部工作。
    • SQL语言非常简洁、简单,很接近英语自然语言。
    • SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用
    • 尽管在不同环境下SQL的使用方式不同,但SQL语言的语法基本是一致的。
  • SQL主要功能:在这里插入图片描述

2.创建数据库

  • 语法:
create database database_name
[on
[[primary]<filespec>[,...n]
[,<filegroup>[,...n]]]
[log on {
   
   <filespec>[,...n]}]
[collate<collation_name>]
[for attach]

<filespec>::=
(name='逻辑文件名',
filename = '存放数据库的物理路径和文件名'
[,size = 数据文件的初始大小]
[,maxsize = 指定文件的最大大小]
[,filegrowth = 指出文件每次的增量])
<filegroup>::=
{
filegroup filegroup_name[default]
<filespec>[,...n]
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对应的结构与代码的一一对应:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.4查看数据库信息

1
1
1
1
    

1.sp_helpdb[数据库名]

  • 功能:
    • 不指定数据库参数,将显示服务器中所有数据库的信息。
    • 指定具体数据库参数,将显示指定数据库的信息。

2.sp_databases

  • 功能:
    • 显示服务器中所有可以使用的数据库的信息。

3.sp_helpfile[逻辑文件名]

  • 功能:查看当前数据库中文件的信息
    • 不指定文件名参数,将显示当前数据库中所有文件的信息。
    • 指定具体文件名参数,将显示数据库中指定文件的信息。

4.sp_helpfilegroup[文件组名]

  • 功能:
    • 不指定文件组名参数,将显示数据库中所有文件组的信息。
    • 指定具体文件组名参数,将显示数据库中指定文件组的信息。

2.2.5修改数据库

方法:

  • 使用SQL Server Management Studio
  • 使用SQL语句

修改内容:

  • 数据库组成
  • 数据库选项

※使用SQL语句

  • (1)修改数据库组成
    语法:
alter database database_name
{
   
   add file <filespec>[,...n]
	[to filefoup filegroup_name]  /*在文件组中增加数据文件*/
| add log file <filespec>[,...n]  /* 增加事务日志文件*/
| remove file logical_file_name   /*删除数据文件*/
| add filegroup filegroup_name    /*增加文件组*/
| remove filegroup filegroup_name /*删除文件组*/
| modify file <filespec>[,...n]   /*修改文件属性*/
| modify name = new_dbname        /* 更新数据库名称*/

在这里插入图片描述
在这里插入图片描述

  • (2)修改数据库选项
    方法一:
alter database database_name
set database_options[value]

‘value’:选项值,可以为true、false、on、off。
在这里插入图片描述
在这里插入图片描述

2.2.6删除数据库

方法:

  • 使用SQL Server Management Studio
  • 使用SQL语句

语法:drop database database_name[,...n]

猜你喜欢

转载自blog.csdn.net/diviner_s/article/details/107232684