SQL Server从入门到精通(转)

SQL Server数据库结构和管理

今天阿猪和大家正式进入SQL Server的第二次学习,所有的学习笔记阿猪都是跟着《大型数据库管理系统 技术、应用于实例分析》和结合(百度文库)总结归纳出来的,在今后的讲解中阿猪只使用SQL命令来编写,好的接下来那就一起学习共同进步

数据库物理存储结构

数据库物理存储是指数据库的数据以什么方式存储在计算机磁盘上,又是怎样在磁盘空间管理器管理下运行的。
1.1数据库文件和文件组
数据库在磁盘上是以文件为单位存储,由数据库文件和事务日志文件组成
  ×主数据库文件:不许有一个。扩展名.mdf
  ×次数据库文件:有的有有的没有,还可能多个,扩展名.ndf
  ×事务日志文件:包含恢复数据库所需要的所有日志信息,至少有一个日志文件,也可多个,扩展名.ldf
1.数据库文件组:多个文件归纳为同一组,控制各个文件的存放位置,减轻单个磁盘驱动器的存储负载,提高数据库存储效率
2.建立数据库文件和文件组应注意:
  (1)数据文件不能跨文件组使用,数据文件和文件组不能跨数据库使用
创建数据库
  (2)日志文件是独立的,数据库内的数据和日志不能同时存入相同的文件或文件组
3.主文件组和此文件组

数据库逻辑组织

系统数据库
(1)master数据库:由系统表组成,不允许修改
(2)tempdb数据库:记录用户创建所有临时表,临时数据,重启后为空
(3)model数据库:建立新数据库的模板
(4)msdb数据库:用于复制、作业调度等

数据库的创立与管理

阿猪觉得这一部分很重要索引进行了深入学习查阅了百度文库,来更详细的讲解没有弄例题,大家就把课本上的多加练习一下

说明 :[]括起来的内容表示是可选的;
    [,…n]表示重复前面的内容
    <>表示在实际编写语句时用相应的内容代替
    {}表示是必选的
    A|B表示AB只能选一个不能同时都选
数据库创立:
 语法格式:
  CREATE DATABASE database_ name
  [ON [PRIMARY]  [[, …n]
   [, [, …n]] ]
  [LOG ON {[ , …n]]
  [FOR LOADIFOR ATTACH]
  ::=
  ( [NAME=logical_file name , ]
  FILENAME= ='os_ file_ name’
  [ , SIZE= =size]
  [,MAXSIZE= ={max_ sizeIUNLIMITED}]
  [ , FILEGROWTH=growth _increment] ) [, …n]
  ::=
  FILEGROUP filegroup _name [, …n]
备注:
  1.database_ name :新数据库的名称。数据库名称在 服务器中必须唯- - ,最长为128个字符,并且要符合标 识符的命名规则。每个服务器管理的数据库最多为32767个。
  2.ON :指定存放数据库的数据文件信息。列表用于定义主文件组的数据文件,列表用于定义用户文件组及其中的文件。
  3.PRIMARY :用于指定主文件组中的文件。主文 件组的第一个由指定的文件是主文件。如果 不指定PRIMARY关键字,则在命令中列出的第- -个 文件将被默认为主文件。
  4.LOG ON :指明事务日志文件的明确定义。如果 没有本选项,则系统会自动产生-个文件名前缀与数 据库名相同,容量为所有数据库文件大小1/4的事务日 志文件。
  5. FOR LOAD :表示计划将备份直接装入新建的数据库,主要是为了和过去的SQL Server版本兼容。
  6.FOR ATTACH :表示在- -组已经存在的操作系统文件中建立-个新的数据库。
  7.NAME :指定数据库的逻辑名称。
  8.FILENAME :指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称- – -对应。
  9.SIZE :指定数据库的初始容量大小。如果没有指定主文件的大小,则SQL Server默认其与模板数据库中的主文件大小一致,其它数据库文件和事务日志文件则默认为1MB。指定大小的数字size可以使用KB、MB、GB和TB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB ,默认值为1MB。主文件的size不能小于模板数据库中的主文件。
 10.MAXSIZE ;指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。
 11.FILEGROWTH :指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。增加量可以确定为以KB、MB作后缀的字节数或以%作后缀的被增加容量文件的百分比来表示。默认后缀为MB.如果没有指定FILEGROWTH ,则默认值为10%.每次扩容的最小值为64KB。

修改数据库结构
语法格式:
  ALTER DATABASE database
  { ADD FILE < filespec> [, … n] [ TO FILEGROUP filegroup_ name ]
  | ADD LOG FILE < filespec> [ ,…n ]
  | REMOVE FILE logical_ file_ name
  | ADD FILEGROUP filegroup_ name
  |REMOVE FILEGROUP filegroup_ name
  | MODIFY FILE < filespec>
  | MODIFY NAME = new_ dbname
  |MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_nume }
  |SET < optionspec> [ ,…n ] [ WITH < termination> ]
  | COLLATE < collation_name>
  }
备注
  1.database是要更改的数据库的名称。
  2.ADD FILE 指定要添加文件。
  3.TO FILEGROUP指定要将指定文件添加到的文件组。
  4.filegroup_ name 是要添加指定文件的文件组名称。
  5.ADD LOG FILE指定要将日志文件添加到指定的数据库。
  6.REMOVE FILE从数据库系统表中删除文件描述并删除物理文件。只有在 文件为空时才能删除。
  7.ADD FILEGROUP指定要添加文件组。
  8.MODIFY FILE指定要更改给定的文件,更改选项包括 FILENAME、SIZE、 FILEGROWTH和MAXSIZE。-次只能更改这些属性中的- -种。必须在 中指定NAME ,以标识要更改的文件。如果指定了 SIZE ,那么新大小必须比文件当前大小要大。若要更改数据文件或日志文件的逻辑名称,应在 NAME选项中指定要改名的逻辑文件名称,并在 NEWNAME选项中指定文件的新逻辑名称。
  9.MODIFY FILEGROUP filegroup. name{ filegroup property | NAME = new_ filegroup name }指定要修改的文件组和所需的改动。如果指定filegroup_ name 和NAME =new_ filegroup. name,则将此文件组的名称改为 new_ filegroup_ name。如果指定filegroup. name和filegroup. property , 则表示给定文件组属性将应用于此文件组。
   filegroup. property的值有:
  1.READONLY指定文件组为只读。不允许更新其中的对象。主文件组 不能设置为只读。只有具有排它数据库访问权限的用 户才能将文件组标记为只读。
  2.READWRITE逆转READONLY属性。允许更新文件组中的对象。只 有具有排它数据库访问权限的用户才能将文件组标记 为读/写。
  3.DEFAULT将文件组指定为默认数据库文件组。只能有一个数据库 文件组是默认的。CREATE DATABASE语句将主文 件组设置为初始的默认文件组。如果在CREATE TABLE、ALTER TABLE或者CREATE INDEX语 包中没有指定文件组,则新表及索引将在默认文件 组一中创建。
查看数据库
语法:
SP_HELPDB 数据库名
删除数据库
语法:
DROP DATABASE 数据库名

好了今天这一章的内容就结束了,如果有错误的地方欢迎大家指出,来共同学习共同交流,如果觉得好给个小赞赞 谢谢啦

原文链接:https://blog.csdn.net/m0_46315852/article/details/104515758

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值