数据库原理与应用(7)——_SQL概述、数据库的结构、创建数据库、修改用户数据库

一、SQL概述

基本概念

1、基本表(Base Table):一个关系对应一个基本表;一个或多个基本表对应一个存储文件

2、视图(View):从一个或几个基本表导出的表,是一个虚表(无数据,只有定义)

SQL的主要特点

  • SQL语言是类似于英语的自然语言,简洁易用
  • SQL是一种一体化的语言
  • SQL语言是一种非过程化的语言
  • SQL语言是一种面向集合的语言
  • SQL语言既是自含式语言,又是嵌入式语言
二、数据库的结构
  • 从逻辑上看:描述信息的数据存在数据库中并由DBMS统一管理
  • 从物理上看:描述信息的数据是以文件的方式存储在物理磁盘上,由操作系统进行统一管理。

数据文件和事务日志文件

数据文件1…数据文件n

  • 存放数据库数据和数据库对象的文件
  • 主要数据文件(.mdf)(只有一个)+次要数据文件(.ndf)(可有多个)

事务日志文件

  • 保存用于恢复数据库的日志信息,扩展名为.ldf
  • 当数据库破坏时可以用事务日志还原数据库内容

文件组(File Group)

  • 将多个数据文件集合起来形成的一个整体
  • 一个数据文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用
  • 主要文件组+次要文件组
  • 日志文件不分组,他不属于任何文件组

SQL Server 2012的系统数据库
SQL Server 2012的系统数据库有master、model、msdb、tempdb、resource。

  • master记录所有系统级信息,记录了所有其他数据库的存在。
  • model数据库时所有用户数据库的创建模板,系统将model数据库的全部内容复制到新的数据库中,可以简化数据库及其对象的创建及设置工作。
  • msdb数据库是计划警报和作业。
  • tempdb数据库用作系统的临时存储,主要保存显式创建的临时用户对象和数据库引擎创建的内部对象。
  • resource包含所有系统对象,通过resource数据库可以更为轻松快捷的升级到新的SQL Server版本。
三、创建数据库

用Management Studio创建数据库

也可以用SQL命令创建数据库

创建数据库的SQL命令的语法格式如下所示:

CREATE DATABASE 数据库名称
[ON
[FILEGROUP 文件组名称]
(NAME = 数据文件逻辑名称,
FILENAME = '路径+数据文件名',
SIZE = 数据文件初始大小,
MAXSIZE = 数据文件最大容量,
FILEGROWTH = 数据文件自动增长容量,)]
[LOG ON
NAME = 日志文件逻辑名称,
FILENAME = '路径+日志文件名',
SIZE = 日志文件初始大小,
MAXSIZE = 日志文件最大容量,
FILEGROWTH = 日志文件自动增长容量,)]
[COLLATE 数据库校验方式名称]
[FOR ATTACH]
四、修改用户数据库

通过Management Studio修改

9个选项卡

  • 常规选项卡:包含数据库的状态、所有者、创建日期、大小、可用空间、用户数、备份和维护等信息
  • 文件选项卡:包含数据文件和日志文件的名称、存储位置、初始容量大小、文件增长和文件最大限制等信息
  • 文件组选项卡:可以添加或删除文件组。但是,如果文件组中有文件则不能删除,必须先将文件移出文件组,才能删除文件
  • 选项选项卡:可以设置数据库的许多属性,如排序规则、恢复模式、兼容级别等
  • 更改跟踪选项卡:可以设定是否对数据库的修改进行跟踪
  • 权限选项卡:可以设定用户或角色对此数据库的操作权限
  • 扩展属性选项卡:可以设定表或列的扩展属性。在设计表或列是,通常通过表名或列名来表达含义,当表名或列名无法表达含义时,就需要使用扩展属性
  • 镜像选项卡:可以设定是否对数据库启用镜像备份。镜像备份是一种高性能的备份方案,但需要投入一定的设备成本,一般用于高可靠性环境
  • 事务日志传送选项卡:设定是否启用事务日志传送。事务日志传送备份是仅次于镜像的高可靠性备份方案,可以达到分钟级的灾难恢复能力,实施成本远小于镜像备份,是一种经济实用的备份方案

用SQL命令修改数据库

可以使用ALTER DATABASE命令修改数据库。注意:只有数据库管理人员(DBA)或者具有CREATE DATABASE权限的人员才有权执行此命令。常用的修改数据库的SQL命令的语法格式如下所示:

ALTER DATABASE数据库名称
ADD FILE(具体文件格式)
[,...n]
[TO FILEGROUP 文件组名]
|ADD LOG FILE(具体文件格式)
[,...n]
|REMOVE FILE 文件逻辑名称     //删除
|MODIFY FILE(具体文件格式)    //修改
五、删除数据库

用Management Studio删除

  • 打开“对象资源管理器”,右键单击要删除的数据库,从快捷菜单中选择“删除”
  • 删除数据库后,与此数据库关联的数据库文件和日志文件都会被删除,系统数据库中存储的该数据库的所有信息也会变删除,因此务必要慎重!

用SQL命令删除数据库

DROP DATABASE
数据库名称[,...n]
六、查看数据库

用Management Studio查看

  • 打开“对象资源管理器”,选中“数据库”结点下的某个数据库,单击右键,在快捷菜的那种选中“属性”

通过系统存储过程查看

  • 显示数据库结构:Sp_helpdb[[@dbname=]‘name’]
  • 显示文件信息:Sp_helpfile[[@filename=]‘name’]
  • 显示文件组信息:Sp_helpfilegroup[[@filegroupname=]‘name’]

七、迁移用户数据库

分离和加载数据库

生成脚本

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值