SQL Server从入门到项目实践(超值版)读书笔记 06

第二篇 核心技术

在了解SQL Server的基本概念、基本应用之后,本篇主要讲解SQL Server数据库的创建与管理、数据表的创建与管理、表的约束条件、SQL数据的查询操作等。

通过本篇的学习,我们将对使用SQL Server数据库进行基础编程具有了一定的水平。

第6章 创建与管理数据库

🎉学习指引:

        数据库是存储数据的仓库,数据的操作也只有创建数据库之后才能进行。

        本章主要介绍数据库的创建与管理,主要内容包括SQL Server数据库的常用对象,命名规则,以及创建、修改和删除SQL Server数据库。

6.1 SQL Server数据库

数据库是按照数据结构来组织、存储和管理数据的仓库,是存储在一起的相关数据的集合。

6.1.1 数据库常用对象

在SQL Server的数据库中,表,字段,索引,视图,存储过程等常用对象被称为数据库对象。

6.1.1.1 表

表是包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据。

6.1.1.2 字段

在数据库中,大多数表的“列”被称为“字段”,字段具有自己的属性,如字段类型、字段大小等,其中,字段类型是字段最重要的属性,它决定了字段能够存储哪种数据。

SQL规范支持五种基本字段类型,即:字符型、文本型、数值型、逻辑型和日期时间型

6.1.1.3 索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

6.1.1.4 视图

视图(View)是从一张或多张表(或视图)导出的表。

视图与表不同,视图是一张虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

6.1.1.5 存储过程

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

存储过程是数据库中的一个重要对象

6.1.2 数据库的组成

SQL Server数据库主要由文件和文件组组成,数据库中的所有数据和对象都被存储在文件中。

6.1.2.1 文件

文件与数据库是多对一的关系:

文件是指数据库中用来存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据文件,一个数据文件只能属于一个数据库。

文件主要分为以下三类:
1.主要数据文件:
存放数据和数据库的初始化信息,每个数据库有且只有一个主要数据文件,默认扩展名为.mdf。
2.次要数据文件:
存放除主要数据文件以外的所有数据文件。有些数据库可能没有次要数据文件,也可能有多个次要数据文件,默认扩展名为.ndf。
3.事务日志文件:
存放用于恢复数据库的所有日志信息,每个数据库至少有一个事务日志文件,也可以有多个事务日志文件,默认扩展名为.ldf。

📢注意:SQL Server不强制使用.mdf、.ndf或者.ldf作为文件的扩展名,但建议使用这些扩展名帮助标识文件的用途。

6.1.2.2 文件组

文件组是数据库文件的一种逻辑管理单位,它将数据库文件分为不同的文件组,方便对文件的分配和管理。

文件组主要分为以下两类:
1.主文件组:
包含主要数据文件和任何没有明确指派给其他文件组的文件,系统表的所有页都分配在主文件组中。
2.用户自定义文件组:
主要是在create database或alter database语句中,使用filegroup关键字指定的文件组。

💡提示:每个数据库中都有一个文件组作为默认文件组运行,默认文件组包含在创建时没有指定文件组的所有表和索引的页。在没有指定的情况下,主文件组为默认文件组。

对文件进行分组时,一定要遵循以下规则:

  • 文件与文件组是多对一的关系;
  • 文件或文件组不能由一个以上的数据库使用;
  • 数据和事务日志信息不能属于同一文件或文件组;
  • 日志文件不能作为文件组的一部分,日志空间与数据空间分开管理

📢注意:系统管理员在进行备份操作时,可以备份或恢复个别的文件或文件组,而不用备份或恢复整个数据库。

6.1.3 认识系统数据库

SQL Server安装完成之后,默认建立4个系统数据库,分别是master、model、msdb、tempdb。

打开SSMS工具,在“对象资源管理器”中的“数据库”结点下面的“系统数据库”结点下,可以看到这4个系统数据库。

6.1.3.1 master数据库

master数据库是SQL Server中最重要的数据库,是整个数据库服务器的核心。

用户不能直接修改,否则整个数据库将不能工作。

6.1.3.2 model数据库

model数据库是SQL Server创建数据库的模板,对它的修改,只会应用于后创建的数据库。

6.1.3.3 msdb数据库

msdb提供运行SQL Server Agent工作的信息。

SQL Server Agent是SQL Server中的一个windows服务,该服务用来运行指定的计划任务。

计划任务是在SQL Server中定义的一个程序,该程序可以自动执行。

6.1.3.4 tempdb数据库

tempdb是SQL Server中的一个临时数据库,用于存放临时对象或中间结果,SQL Server关闭后,该数据库中的内容将被清空,每次重新启动后,tempdb数据库将被重建。

6.2 SQL Server数据库的命名规则

为了提供完善的数据库管理机制,SQL Server设计了严格的命名规则。在创建或引用数据库实例时,都必须遵守这样的命名规则,否则可能会发生一些意想不到的错误。

6.2.1 认识标识符

SQL Server中的所有对象,都可以有一个标识符,对绝大多数对象来说,标识符是必不可少的,但某些对象可以选择是否规定标识符。

对象的标识符一般在创建对象时定义,作为引用对象的工具使用。

6.2.1.1 标识符规则
  1. 标识符的首字符必须市下列字符之一:
    1. 所有在Unicode2.0标准中规定的字符,包括26个英文字母,大小写均可,以及其他一些语言字符,如汉字;
    2. 下划线“_”、符号“@”或符号“#”;
  2. 标识符首字符后的字符可以是以下三种:
    1. 所有在Unicode2.0标准中规定的字符,包括26个英文字母,大小写均可,以及其他一些语言字符,如汉字;
    2. 下划线“_”、符号“@”或符号“#”;
    3. 纯数字,0,1,2,3,4,5,6,7,8,9。
  3. 标识符不允许是T-SQL的保留字。
  4. 标识符内部不允许有空格和特殊字符,因为特殊字符在SQL Server中具有特定意义。
6.2.1.2 标识符分类

在SQL Server中,标识符共有两种类型:一种是规则标识符(Regular Identifer),一种是界定标识符(Delimited Identifer)。

  1. 规则标识符:严格遵守标识符的有关格式,所以在Transact_SQL中凡是规则标识符都不必使用定界符;
  2. 界定标识符:对于不符合标识符格式的标识符要使用界定标识符[ ]或' ',如[AB CDE]中,AB与CDE之间存在空格,所以用方括号括起来,让“AB CDE"这个违反第4条标识符规则的字符串,能够成为一个正常的标识符。
💡注意:
        规则标识符和界定标识符包含的字符数必须在1~128,对于本地临时表,标识符最多可以有116个字符。
6.2.2 对象命名规则

SQL Server数据库管理系统中胡数据库对象名称由1~128字符组成,不区分大小写。

标识符也可以作为对象的名称。

在一个数据库中创建一个数据库对象后,数据库对象的完整名称应该由服务器名、数据库名、所有者名和对象名4个部分组成,其格式如下:

[[[server.][database].][owner_name].]object_name

服务器、数据库和所有者名称即所谓的对象名称限定符。

当引用一个对象时,不需要指定服务器、数据库和所有者,可以利用句号标出它们的位置,从而省略限定符。

💡注意:
        不允许存在4部分名称完全相同的数据库对象。在同一个数据库中可以存在两个名为EXAMPLE的表格,但前提必须是这两个表的所有者不同。
6.2.3 实例命名规则

使用SQL Server,可以在一台计算机上安装多个实例。

SQL Server提供了两种类型的实例,即默认实例和命名实例。

       1.默认实例

此实例由运行它的计算机的网络名称标识,使用以前版本SQL Server客户端软件的应用程序可以链接到默认实例。但是,一台计算机上每次只能有一个版本作为默认实例运行。

       2.命名实例

计算机可以同时运行多个SQL Server命名实例。实例通过计算机的网络名称加实例名称以<计算机名称>\<实例名称>格式进行标识,即computer_name\instance_name,但该实例名称不能超过16个字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值