MS SQL Server数据库原理

MS SQL Server数据库原理

一、 数据库基本概念

  1. 数据库系统(DBS):采用数据库技术的计算机系统,由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)和软件平台(软件)五部分构成的运行实体。
  2. 数据库管理系统:位于用户与操作之间的一层数据管理软件。
  3. 关系数据库:支持关系模型的数据库。关系模型有数据结构(二维表)、关系操作集合(关系代数、关系演算、二者结合特点的SQL语言)和完整性约束(实体完整性、参照完整性和用户定义的完整性)三部分组成。
  4. SQL=Structured Query Language(结构化查询语言)

二、 数据库常用对象

  1. 表:包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据。
  2. 字段:表中每列称为一个字段,字段有有自己的属性。
  3. 索引:单独的、物理的数据库结构。依赖于表建立的,是数据库程序无须对整个表进行扫描,就可以找到所 需数据。
  4. 视图:从一张或多张表中导出的表(也称虚拟表),是用户查看数据表中数据的一种方式。
  5. 存储过程:是一组为了完成特定功能的SQL语句集合

三、 数据库组成=文件+文件组

  1. 文件:储存数据库中的所有数据和对象(如表、存储过程和触发器)
    主要数据文件.mdf,存放数据和数据库的初始化信息。
    次要数据文件.ndf,存放主要数据库以外的所有数据文件。
    事务日志文件.ldf,存放用于恢复数据库的所有日志信息。
  2. 文件组
    主文件组:包含主要数据文件和任何没有明确指派给其他文件组的文件。
    用户定义文件组:在CREATE DATABASE或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组。

四、 系统数据库

  1. Master数据库:记录SQL Server实例的所有系统级信息,包括实例范围的元数据、端点、连接服务器和系统配置设置。
  2. Tempdb数据库:临时数据库,用于保存临时对象或中间结界集。
  3. Model数据库:用作SQL Server实例上创建的所有数据库的模板。
  4. Msdb数据库:用于SQL Server代理计划警报和作业。

五、 SQL Server命名规则

  1. 标识符格式
    首字母必须为:统一码(Unicode)所定义的字母或‘_’、‘@’(表示局部变量或参数)、‘#’(表示临时表或过程),‘##’开始的标识符表示全局临时对象。
  2. 标识符分类
    常规标识符:符合标识符的格式规则。
    分隔标识符:包含在双引号“”或者方括号[]内的标识符。该标识符可以不符合标识符的格式规则。
  3. 对象命名规则
    数据库对象的名字由1~128个字符组成,不区分大小写。完整名称应该由服务器名、数据库名、拥有者名和对象名四部分组成,格式如:
    [[[server.][database].][owner_name].]object.name
    服务器、数据库和所有者的名称即所谓对象名称限定符。
    对象名的有效格式如下:
    Server.database.owner_name.object_name
    Server.database…object_name
    Server…owner_name.object_name
    Server…object_name
    Database.owner_name.object_name
    Database…object_name
    Owner_name.object_name
    Object_name
    指定了所有四个部分的对象名称被称为完全合法名称。

六、 数据库的创建与管理(创建、修改、删除)

七、 数据表基础知识

  1. 基本数据类型
    整形数据类型:BIT INT SMALLINT TINYINY
    货币数据类型:MONEY SMALLMONEY
    浮点数据类型:REAL FLOAT DECIMAL NUMERIC
    日期/时间数据类型:DATETIME SMALLDATETIME DATA DATETIME DATETIMESTAMPOFFSET
    字符数据类型:CHAR NCHAR(n) VARCHAR NVARCHAR(n)
    二进制数据类型:BINARY VARBINARY
    图像和文本数据类型:TEXT NTEXT(n) IMAGE
    用户自定义数据类型:不是真正的数据类型,提供一种加强数据库内部元素和基本数据类型之间一致性的机制。

八、学习管理数据表

  1. 创建数据表
  2. 修改数据表
  3. 创建、删除和修改约束
    ①非空约束:确定列中是否允许空值的关键字。
    ②主键约束:能够唯一地标识表中的每一行。
    ③唯一约束:当在表中已创建主键,但又要保证其他数据列的值唯一是,可以使用唯一(UNIQUE)约束。
    ④检查约束:通过限制输入到列中的值来强制域的完整性。
    ⑤默认约束:用户可以定义一个值,每当用户没有在某一列中输入值是,则将所定义的值提供给这一列。
    ⑥外键约束:外键(FK)用于建立两个表数据之间连接的一列或多列。

九、 关系的创建与维护
SQL Server当数据库中包含多个表时,需要通过主关键字来建立表间的关系,使各表之间能够协调工作。
关系是通过匹配键列中的数据而工作的,而键列通常是两个表中具有相同名称的列,在数据表间创建关系可以显示某个表中的列连接到另一个表中的列。

  1. 一对一关系
    表A中的一条记录确实在表B中有且只有一条相匹配的记录。特点:分隔一个含有许多列的表;出于安全考虑而隔离表的某一部分;存储可以很容易删除的临时数据,只需删除表即可删除这些数据;存储只应用与主表子集的信息。
  2. 一对多关系
    表A中的行可以在表B中有许多匹配行,但表B中的行只能在表A中有一个匹配行。
  3. 多对多关系
    两个表彼此为一对多的关系,则为多对多关系。

十、 视图
视图为数据呈现提供了多样的表现形式,用户可以通过它浏览表中感兴趣的数据。视图可分为:标准视图、索引视图、分区视图。

  1. 创建视图
  2. 查看视图信息
  3. 在视图中插入数据记录
  4. 在视图中修改数据记录
  5. 在视图中删除数据记录
  6. 删除视图

十一、 SQL Server 2008维护

  1. 脱机与联机数据库
  2. 分离和附加数据库
  3. 导入导出数据
  4. 备份和恢复数据库
  5. 收缩数据库和文件
  6. 生成与执行SQL脚本
    脚本是存储在文件中的一系列SQL语句,是可再用的模块化代码。

十二、 T-SQL概述
T-SQL是标准的SQL程序设计语言增强版,是用以程序与SQL Ssever沟通的主要语言。

  1. T-SQL语言组成
    数据定义语言:DDL,用于对数据库、表、视图、索引等数据库对象进行创建和管理。
    数据控制语言:DCL,用于对数据完整性、安全性等控制。
    数据操作语言:DML,用于插入、修改、删除和查询数据。
  2. T-SQL语句结构
    每条SQL语句均由一个谓词(Verb)开始,该谓词描述这条语句要产生的动作,后面紧接一个或多个子句,子句给出被谓词作用的数据或提供谓词动作的详细信息,每一条子句都由一个关键字开始。
    SELECT 子句
    INTO 子句
    FROM 子句
    WHERE 子句
    GROUP BY 子句
    HAVING 子句
    ORDER BY 子句
  3. 变量
    声明局部变量需用DECLARE
    DECLARE
    {
    @varaible_name datatype [,…n ] --局部变量名必须@开头
    }
    SELECT @varaible_name = expression --SET亦能赋值
    [FROM table_name[,…n ] WHERE clause] --局部变量赋值
  4. 运算符
    不等于运算符: <>
    逻辑运算符:ALL(全对)、AND(与)、ANY(有一个对)、BETWEEN(范围内)、EXISTS(存在)、IN(在其中)、LIKE(匹配)、NOT(非)、OR(或)、SOME(有一些对)
    位运算符:&(按位AND)、|(按位OR)、^(按位异或)、~(按位NOT)
  5. 通配符
    匹配指定范围内或者属于方括号所指定的集合中的任意单个字符。在SQL中通常用LIKE关键字与通配符结合起来实现模拟查询。
    % :包含零个或更多
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值