大家好,又见面了,我是你们的朋友全栈君。
文章目录
- 一、SQL Server数据库的相关概念
- 1、逻辑数据库
- 2、物理数据库
- 二、SQL Server数据库的基本操作
- 1、使用SQL Server Management Studio (创建/修改/删除)数据库
- 2、使用SQL语句(创建/修改/删除)数据库
- 【数据库文件的类型】
- 【主要】
- 【次要】
- 【事务日志】
- 文件组
- 1.主文件组(PRIMARY)
- 2.用户定义文件组
- 【文件组特性】
一、SQL Server数据库的相关概念
1、逻辑数据库
从用户的角度看,组成数据库的逻辑成分称为数据库对象,SQL Server数据库由存放数 据的表以及支持这些数据的存储、检索、安全性和完整性的对象所组成。
2、物理数据库
从系统的观点看,数据库是存储逻辑数据的各种对象的实体,它们存放在计算机的存储 介质中,从这个角度称数据库为物理数据库。SQL Server的物理数据库架构包括:页和区、数据 库文件、数据库文件组等。
二、SQL Server数据库的基本操作
1、使用SQL Server Management Studio (创建/修改/删除)数据库
2、使用SQL语句(创建/修改/删除)数据库
下面是代码实现以上功能:
代码语言:javascript复制-- 判断数据库是否存在,若存在删除数据库
if exists(select *from sysdatabases where name='std')
drop database std
-- 创建默认数据库名称
create database std
另查询数据库
代码语言:javascript复制-- 查询数据库里面的所有数据库
select *from sysdatabases
结果如下:
【数据库文件的类型】
【主要】
主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库只有一个主要数据文件。主要数据文件的建议文件扩展名是 .mdf。
【次要】
次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是 .ndf。
【事务日志】
事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是 .ldf。
文件组
SQL Server 为了更好的管理数据文件,提供了文件组概念,分为两种:主文件组(PRIMARY)和用户定义文件组。
1.主文件组(PRIMARY)
存放主数据文件和任何没有明确指定文件组的其他文件。
2.用户定义文件组
是在创建或修改数据库时用FILEGROUP关键字定义的文件组,存放次要数据文件。
每个数据库只有一个主要数据文件,日志文件可以有多个,文件组的作用:可以扩大数据库存储空间,提高查询效率。
【文件组特性】
(1)一个文件只能属于一个文件组。 (2)只有数据文件才能归属于某个文件组,日志文件不属于任何文件组。 (3)每个数据库中都有一个默认的文件组在运行,可以指定默认文件组,没有指定的话,则默认为主文件组。 (4)若没有用户定义文件组,则所有的数据文件都存放在主文件组中。
代码语言:javascript复制-- 创建数据库(主数据文件.mdf,次数据文件.ndf,日志文件.ldf)
if exists(select *from sysdatabases where name='sdb2')
drop database sdb2
create database sdb2 -- 创建数据库名称
on primary -- primary:主要的; 最重要的;
(name=sdb2_data, -- 主数据文件逻辑名称
filename='F:sdb2.mdf', -- 文件路径
size=10, -- 文件大小
maxsize=100, -- 最大值
filegrowth=5) -- 表示增量
,
(name='sdb2_datandf', -- 次数据文件逻辑名称
filename='F:sdb2_datandf',
size=10,
maxsize=100,
filegrowth=5)
log on --日志文件,逻辑文件
(name='sdb2_log',
filename='F:sdb2.ldf',
size=8mb,
maxsize=50mb,
filegrowth=8mb )
-- 查找删除数据库
if exists(select *from sysdatabases where name='sdb2')
drop database sdb2
其他操作参考:(以后会详细介绍)
代码语言:javascript复制create database sdb2 -- 创建数据库名称
-- 修改数据库的逻辑文件名
alter database sdb2 -- 改变,更改,改动; 修改
modify name=studentdb2
alter database sdb2 set offline -- 将数据库设置为脱机状态(离线)
alter database sdb2 set online -- 将数据库设置为联机状态
------------------------------------------------------
create database sdb3
drop database sdb3
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170928.html原文链接:https://javaforall.cn