澳门在线威尼斯官方 > 电脑数据库 > 学习笔记

原标题:学习笔记

浏览次数:78 时间:2019-09-17

《SQL Server 从入门到领会》

第1章 数据库基础

1.2 数据库的系统布局

1.2.1 数据库三级形式结构

  1. 模式
    格局也称逻辑形式或概念格局,它是数据库中全体数据的逻辑结构和特征的描述,是负有顾客的公共数据视图。二个数据库唯有八个方式,情势处于三级协会的中间层。
    定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性完整性要求
  2. 外模式
    外格局也称客商方式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。外格局是格局的子集。贰个数据库能够有七个外方式。
    外模式是保证数据安全性的一个有力措施。
  3. 内模式
    内格局也称存储情势,一个数据库唯有三个内情势。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式

    ### 1.2.2 三级格局里面包车型地铁投射

    为了能够在里面贯彻数据库的3个抽象档期的顺序的联络和转移,数据库管理体系在三级情势之间提供了两层映射。

  4. 外形式/方式映射
    对应于同三个情势能够有自由多少个外格局。对于每三个外形式,数据库系统都有一个外情势/情势映射。当形式改变时,由数据库管理员对一一外情势/格局映射作相应的变动,能够使外方式保持不改变。依靠数据外形式编写的应用程序就不用修改,保证数据与程序的逻辑独立性

  5. 形式/内形式映射
    情势/内形式映射独一,定义了数据库的大局逻辑结构与仓库储存结构之间对应涉及。当数据库的寄存结构改换时,由数据库助理馆员对格局/内格局映射作相应改换,能够使格局保持不改变,应用程序相应地也不做改造。保证数据与程序的物理独立性

    1.3 数据模型

    数据模型是一种对客观事物抽象化的表现方式。它对客观事物加以抽象,通过计算机来管理具体世界中的具体育赛事物。它客观地显示了具体世界,易于精通,与大家对表面东西描述的认知相平等。

    ### 1.3.1 数据模型的定义

    数据模型由数据结构、数据操作、完整性约束组成。
    数据结构:是对系统静态特征的叙说。描述对象富含数据的门类、内容、行政和数量里面的相互关系。
    数据操作:是对系统动态特征的呈报,是对数据库中各样对象实例的操作。
    完整性约束:是完整性法则的集聚。他定义了给定数据模型中多少及其关系所享有的制裁和水保法则。

    ### 1.3.2 常见的数据模型

  6. 层次模型:用树形结构意味着实体类型及实体间关系的数据模型成为等级次序模型。

  • 每棵树有且仅有贰个无大人节点,称为根。
  • 树中除根外全体节点有且只有一个大人。
  1. 网状模型:用有向图结构意味着实体类型及实体间联系的数据模型成为网状模型。用网状模型编写应用程序及其复杂,数据的独立性很差。
  2. 关系模型:以二维表来说述数据。在关系模型中,每一种表有五个字段列和记录行,每个字段列有固定的属性(数字、字符、日期等)。关系模型数据结构轻易、清晰、具备极高的多寡独立性,因而是现阶段主流的数据库数据模型。
  • 关系:二维表
  • 元组:二维表一行,表中的记录
  • 属性:二维表一列,用项目和值表示
  • :各样属性取值的成形范围,如性别的域为{男,女}

事关模型中的数据约束:

  • 实体完整性约束:约束关系的主键属性值无法为空
  • 参照完整性约束:关系里面包车型客车大旨约束
  • 用户定义的完整性约束:反应具体使用中数量的语义供给

    ### 1.3.3 关周到据库的标准化

    首先范式(1NF)、2NF、3NF、鲍依斯-科得范式(BCNF)、4NF、5NF。其中,NF是Normal Form的缩写。一般景色下,只要把数量标准到第三范式标准即可满意急需。

  • 1NF:在一个关乎中,化解重复字段,且各字段都是比十分小的逻辑存款和储蓄单位。

  • 2NF:1NF基础上,消去非主属性对键的部分函数正视
  • 3NF:2NF基础上,消去非主属性对键的传递函数信赖
  • BCNF:3NF基础上,消去主属性对键的传递函数依赖
  • 4NF:BCNF基础上,消去表中的多值重视
    详尽表明

    ### 1.3.4 关周详据库的安排性标准

  1. 数据库内文件的数据协会应获得最大限度的分享、最小的冗余度,解决数据及数据正视关系中的冗余部分,使重视于同两个数据模型的多寡达到有效的分别。
  2. 管教输入、修改数据时数据的一致性与不易。
  3. 保障数据与运用数据的应用程序之间取得惊人独立性。

    ### 1.3.5 实体与关系

    实业是指客观存在并可互相区分的事物,也足以是空虚的概念或关系。实体之间有三种关系。

  4. 一对一涉嫌:表A中的一条记下确实在表B中有且只有一条相相称的笔录。在一对一事关中,大部分相关音信都在四个表中。
    学生与学生的身份证号

  5. 一对多涉及:表A中的行能够在表B中有非常多相称行,不过表B中的行只可以在表A中有二个相称行。
    一个学生只属于一个班,一个班有多名学生
  6. 多对多涉及:关系中的每一种表的行在相关表中负有七个相称行。在数据库中,多对多涉及的树立是借助第三个表(称作连接表)完结的,连接表满含相关的八个表的主键列,然后从多少个相关表的主键列分别创立与连接表中的相配列的关联。
    一个学生可以选择多门课,一门课也有多名学生

详细表明

1.4 常见关周全据库

Oracle在并行管理、实时性、数据管理速度方面都有较好的属性。

第4章 创制与治本数据库

4.1 认知数据库

威尼斯澳门在线 ,4.1.1 数据库基本概念

关周全据库
关周详据库是永葆关系模型的数据库。关系模型由关周全据结构、关系操作集合和完整性约束3片段构成。

  1. 关系数据结构:在啊关系模型中数据结构单一,现实世界的实体以及实体间的调换均用关系来代表,实际上关系模型中数据结构正是一张二维表
  2. 关系操作集合:关系操作分为关系代数、关系演算、具备关系代数和涉及演算双重特点的言语(SQL语言)
  3. 完整性约束

    ### 4.1.2 数据库常用对象

  • :表是带有数据库中具备数据的数据库对象,由行和列组成,用于协会和仓库储存数据。
  • 字段:表中每列成为叁个字段,字段具备友好的天性,如字段类型、字段大小等。当中,字段类型是字段最入眼的属性,它调整了字段能够存款和储蓄哪个种类多少。
  • 索引:索引是叁个独门的、无力的数据库结构。它是依赖于表创设的,在数据库中索引是数据库程序没有需求对整个表实行围观,就能够在里面找到所需的多寡。
  • 视图:视图是从一张或多张表中程导弹出的表(也称设想表),是客商查看数据表中数据的一种方法。表中包含多少个被定义的数据列与数量行,其结交涉数量创建在对表的查询基础上。
  • 存储过程:存款和储蓄进程是一组为了完成一定功用的SQL语句会集(满含查询、插入、删除和改进等操作),经编现在以名称的款型储存在SQL Server服务器端的数据库中,由客户通过制订存款和储蓄进度更的名字来实施。当那些蕴藏进程被调用试行时,这个操作也会被同一时间实践。

    4.2 SQL Server的命名标准

    ### 4.2.1 标识符

  1. 标志符格式
  • 标记符的首字符必得是Unicode所定义字符,'_' '@' '#'。
    '@'初步的标记符表示局地变量或参数
    '#'起初的标志符表示有时表或进程
    '##'初始的标志符表示全局偶然对象
  • 标记符后的存在延续字符
    Unicode 2.0 标准中所定义的字母。
    源于拉丁字母或其它国家/地区脚本的十进制数字。
    '@' '$' '#' '_'
  • 标记符不容许是Transact-SQL的保留字
    微软官方文档
  • 不容许嵌入空格或任何特殊字符
  1. 标记符分类
  • 例行标志符:符合标记符的格式法规
  • 相隔标志符:蕴含在“”[]内的标记符。该标识符能够不合乎标志符的格式法规。

    ### 4.2.2 对象命名法则

    在贰个数据库中开创了三个数据库对象后,数据库对象的一体化名称应当由服务器名、数据库名、拥有者名和对象名4局地组成
    [[[server.][database].][owner_name].]object_name
    服务器、数据库和全体者的称谓即所谓的靶子名称限定符。当引用贰个对象时,无需内定服务器、数据库和全数者,能够动用句号标出他们的岗位,进而省略限定符。
    钦定了具备4哥部分的对象名称被称作完全合法名称。

    ### 4.3.3 使用处理器删除数据库

    删去数据库时必须满意以下原则

  • 比如数据库设计日志传输操作,在剔除数据库以前必须撤回日志传送操作

  • 若要删除为作业复制公布的数据库,或删除为统一复制公布或订阅的数据库,必须首先从数据库中删去复制。借使数据库已破坏,不可能去除复制,能够先将数据库设置为脱机状态,然后再删除数据库。
  • 倘若数据库中设有数据库快速照相,必需首先删除数据库快速照相。
    系统数据库(msdb、model、master、tempdb)不可能删除,删除数据库后应立即备份master数据库,因为删除数据库将更新master数据库中的信息。

    第5章 操作数据表与视图

    5.1 数据表基础知识

    ### 5.1.1 基本数据类型

    主导数据类型详细的情况
    char、varchar、nchar、nvarchar的区别:

    ### 5.1.2 客户定义数据类型

  1. 行使T-SQL语句创制顾客自定义数据类型

成立客商自定义数据类型
语法:

sp_addtype [ @typename = ] type,   
    [ @phystype = ] system_data_type   
    [ , [ @nulltype = ] 'null_type' ] ;

实例:

USE test
EXEC sp_addtype postcode,'char(8)','not null'

除去客户自定义数据类型
语法:

sp_droptype [ @typename = ] 'type'

实例:

USE test
EXEC sp_droptype postcode

5.1.3 数据表的数据完整性

Microsost SQL Server 二零一零提供多样威胁数据完整性的编制。

  1. NULL or NOT NULL
    表的每一列都有一组属性,如名称、数据类型、数据长度和为空性等,列的持有属性即整合列的定义。列能够定义为允许或不允许空值。
  • NULL:暗中同意景况下,列允许空值,即允许客户在大增加少是省略该列的值。
  • NOT NULL:差异意在并未有一些名列暗中同意值的景况下该列的值。
  1. 默认值
    若果在插入行时未有一些名列的值,那么暗中同意值将点名列中所使用的值。暗许值能够使任何取值为常量的对象,如放置函数和数学表明式等。
  • 在CREATE TABLE中使用DEFAULT关键字创造默断定义,将常量表明式指派为列的暗中同意值,那是正统方法。
    - 使用CREATE DEFAULT语句创建默认对象,然后使用sp_bindefault系统存储过程将它绑定到列上,这个一个向前兼容的功能。[此效能就要Microsoft SQL Server的前程版本中删除]
  1. IDENTITY(特征标记属性)
    数据表中一旦某列被指派IDENTITY,系统将机关为表中插入的新行生成三番五次递增的数码。因为标志值平时独一,所以标记列平时定义为主键。
    IDENTITY属性适用于INT、SALLINT、TINYINT、DE福克斯L(P,0)、UMEOdysseyIC(P,0)数据类型的列。
  2. 约束
    封锁是用来定义Microsoft SQL Server 二零一零自动强制数据库完整性的方法。使用约束优先于选用触发器、法则和暗中同意值。SQL Server 二〇一〇中国共产党有以下5种约束。
  • NOT NULL:使客户必须在表的钦定列中输入壹个值。各样表中能够有多少个非空约束。
  • Check(检查):用来钦赐一个布尔操作,限制输入到表中的值。
  • Unique(独一性):营造一列或多列的结合以独一标志表中的每一行。逐步得以确认保证实体完整性,叁个表只可以有二个主键,同一时间稳步中的列无法经受空值。
  • Foreign key(外键):用于创设和压实多少个表数据里面包车型大巴链接的一列或多列。当贰个表中作为主键的一列被增添到另贰个表中时,链接就确立了,首要目标是调节存款和储蓄在外键表中的多寡。

    5.3 创制、删除和更换约束

    封锁是SQL Server提供的自动强制数据完整性的一种办法,它是经过定义列的取值准绳来保证数据的完整性,是挟持完整性的专门的事业机制。使用约束优先于选取触发器、准则和暗中同意值。查询解析器也使用约束定义生成高品质的询问推行安插。

    ### 5.3.3 UNIQUE约束

    当在表中已开立主键,但又要确认保障别的数据列的值唯临时,能够选择UNIQUE约束。
    选用UNIQUE约束能够确定保障在非主键列中部输入重复的值。UNIQUE约束和PWranglerIMA大切诺基Y KEY约束都兼备强制独一性,但想要强制一列或多列组合(不是PRubiconIMA标致RCZY KEY)的独一性时,应利用UNIQUE约束实际不是PEscortIMAXC90Y KEY约束。
    可以对一个表定义多个UNIQUE约束,但只能定义一个PRIMARY KEY约束。而且UNIQUE约束允许NULL。当与参与UNIQUE约束的任何值一起使用时,每列只允许一个NULL。FOREIGN KEY约束可以引用UNIQUE约束。
    操作:

表->设计->索引/键->增加
列:选择列
类型:唯一键

5.3.4 CHECK约束

CHECK约束通过限制输入到列中的值来强制域的完整性。此类约束类似于FOREIGN KEy约束,可以决定归入到列中的值。

  • FOREIGN KEY约束:从其余表获得有效值列表
  • CHECK约束:通过不急于求成其他列中的数据的逻辑表明式显明有效值。
    始建CHECK约束可以将某列数据的取值范围限定在钦赐的界定内,进而防范输入的数目超出钦赐的限制。
    操作
表->设计->CHECK约束->增加
表达式:old>18 and old<100

5.3.5 暗中认可约束

私下认可约束使顾客能够定义二个值,每当顾客未有在某一列中输入值时,则将所定义的值提须要这一列。假使客户对此列未有特定的渴求,能够选取暗中认可约束来为此列输入私下认可值。
即使列为NOT NULL,设置默认约束后,可不进行输入,会使用默认值。
操作

表->设计->选中列->列属性
默认值或绑定:https://image.baidu.com/s/101.jpg

5.3.6 FK(外键)约束

FK适用于创建五个表数据里面连接的一列或多列。通过将保存表中主键值的一列或多列扩张到另三个表中,可创制四个表之间的链接,这么些列就成为首个表的外键。
操作

表->设计->关系->增加
表和列规范:选择主键表的列和外键表的列
INSERT和UPDATE规范
删除规则
不执行任何操作:报错不执行
级联:删除主键表列的同时将关联的外键表中的列同时删除
更新规则
级联:更新主键表列的同时将关联的外键表中的列同时更新

SQL的主键和外键的效益:
外键取值准绳:空值或参照的主键值。

  • 插入非空值时,要是主键表中未有那么些值,则无法插入。
  • 创新时,不能够改为主键表中未有的值。
  • 删去主键表记录时,你能够在建国门外键时选定外键记录一齐级联删除依然驳回删除。
  • 履新主键记录时,同样有级联更新和拒绝施行的挑三拣四。

    5.4 关系的创设与维护

    ### 5.4.1 一对一关乎

    在一对一事关中,超越50%相关音信都在贰个表中。特点

  • 细分三个饱含非常多列的表

  • 出于安全着想而隔开表的某一局地
  • 积累能够很轻巧删除的临时数据,只需删除表就能够删除这几个数量
  • 存款和储蓄值应用于主表子集的音信。
    若果连个相关列都以主键或具备独一约束关系,创设的正是一对一关系。

    ### 5.4.2 一对多涉及

    一对多关系是最常见的涉嫌项目,是指表A中的行可以在表B中有许多相配行,不过表B中的行只可以在表A中有贰个相配行
    万一在相关列中唯有一列是主键或富有独一约束,则开创的是一对多关系。

    ### 5.4.3 多对多涉及

    多对多涉及是指涉嫌中每个表的行在相关表中享有多少个相配行。在数据库中,多对多涉及的创设是重视第3哥表即连接表完毕的,连接表包括相关的四个表的主键列,然后从七个相关表的主键列分别成立与链接表中相配列的涉及。

    5.5 视图概述

    视图是一种常用的数据库对象,它将查询的结果以设想表的样式积存在数量中。视图并不在数据库中以存储数据集的格局存在。视图的布局和剧情是确立在对表的询问基础之上的,和表同样席卷行和列,这几个行列数据都来自其所引述的表,况兼是在援用视图进程中动态变化的。
    视图中的内容是有询问定义来的,何况视图和查询都是通过SQL语句定义的,他们全数广吉安一和差异之处。

× 视图 查询
存储 视图存储为数据库设计的一部分, 查询不存储
排序 只有当视图包括TOP子句才能排序视图 可以排序任何查询结果
加密 可以加密视图 不能加密查询

可以禁止全体客商访谈数据库的基表,而必要顾客只可以通过视图操作数据。这种艺术能够保证客户和应用程序不受有些数据库修改的震慑

5.6 使用企管器管理视图

正式视图:保存在数据库中的SELECT查询语句,即一般意义上明白的视图。
索引视图:创立有目录的视图成为索引视图。他通过测算并积攒有和煦的数量,可以提升某个项目查询的属性,尤其适用于聚焦大多行的询问,但不太相符于常常更新的大旨数据集。
分区视图:是在一台或多台服务器间水平统一一组表中的分区数据,以使数据看上去来源于一个表。

本文由澳门在线威尼斯官方发布于电脑数据库,转载请注明出处:学习笔记

关键词:

上一篇:数据加密功能解析,Server数据加密功能解析

下一篇:没有了