您的位置:首页 > 数据库

Sql server笔记

2015-11-01 21:44 246 查看
SQL Server是美国微软公司开发并发布的一张性能优越的关系型数据库管理(Relational Database Management System,RDBMS。

在SQL Server中,关键字、命令、函数和语句是不区分大小写的。

数据库技术的发展历经了3个阶段:人工管理、文件系统、数据库系统等3个阶段。

1.数据库三级模式结构:模式、外模式和内模式。

   1.模式:也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图(一个数据库只有一个模式,模式处于三层结构的中间层)

   2.外模式:也称用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述(一个数据库可以有多个外模式)

   3.内模式:也称存储模式,一个数据库只有一个内模式。他是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式

2.三级模式之间的映射

   1.外模式/模式映射(可以有多个)

   2.模式/内模式映射(只有唯一的一个)

--数据模型通常是由数据结构、数据操纵和完整性约束3部分组成。

--常见的数据库模型主要有:层次模型(树形结构)、网状模型(有向图结构)和关系模型(二维表)

--关系模型的基本术语:

   1.关系:一个二维表就是一个关系。

   2.元组:就是二维表中的一行,即表中的记录

   3.属性:就是二维表中的一列,用类型和值表示

   4.域:每个属性取值的变化范围,如性别的域为{男,女}

--关系模型中的数据约束:

   1.实体完整性约束:约束关系的主键属性值不能为空值

   2.参照完整性约束:关系之间的基本约束。

   3.用户定义的完整性约束:反映了具体应用中数据的语义要求。

--三范式:

  1.第一范式(1NF):在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。

  2.第二范式(2NF):若关系模型属于第一范式,则关系中每一个非主关键字段都完全依赖于注关键字段,不能只部分依赖于注关键字的一部分。

  3.第三范式(3NF):若关系模型属于第一范式,且关系中所有非主关键字段都只依赖于主关键字段, 第三范式要求去除传递依赖。

--数据库设计原则:

  1.数据库内数据文件的数据组织应获得最大限度的共享、最小的冗余度,消除数据及数据依赖关系中的    冗余部分,是依赖于同一个数据模型的数据达到有效的分离

  2.保证输入、修改数据时数据的一致性与正确性

  3.保证数据与使用数据的应用程序之间的高度独立性。

--实体之间有3中关系:

  1.一对一关系:大部分相关信息都在一个表中。

  2.一对多关系:指表A中的行可以在表B中有许多匹配行,但是表B中的行只能在表A中有一个匹配行。

  3.多对多关系:多对多关系的建立依靠第3个表(称作连接表)实现的,连接表包含相关的俩个表的主 键列,然后从俩个相关表的主键列分别创建于连接表中匹配列的关系。

--数据库常用对象

  1.表

  2.字段(SQL规范支持5种基本字段类型:字符型、文本型、数值型、逻辑型和日期型)

  3.索引

  4.视图

  5.存储过程:一组为了完成特定功能的SQL语句集合(包含查询、插入、删除和更新等操作)

--一个列不能同时具有NULL属性和IDENTIFY属性,二者只能选其一。

--SQLServer有5种约束

  1.非空(NOT NULL):用户必须在表中的指定列中输入一个值。没个表中可以有多个非空约束

 2.检查(Check):用来指定一个布尔操作,限制输入到列表中的值

 3.唯一性(Unique):使用户的应用程序必须向列中输入一个唯一的值,值不能重复,但是可以为空

 4.主键(primary key):建立一列或多列的组合以必须向列中输入一个唯一的值,值不能重复,但是可以为空。

 5.外键(foreign key):用于建立和加强俩个表数据之间的链接的一列或多列。当一个表中作为主键的一列被添加到另一个表中时,链接就建立了,主要目的是控制存储在外键表中的数据

--unique约束和primary key约束都具有强制唯一性,但是想要强制一列或多列组合(不是主键)的唯一性

  时,应使用unique约束而不是primary key约束

--视图:一种常用的数据库对象,他将查询的结果以虚拟表的形式存储在数据中。视图并不是数据库中以存储数据集的形式存在。视图的结构和内容是建立在对表的查询基础之上的,和表一样包括行和列,这些行列数据都来源于其所引用的表,并且是在引用视图过程中动态生成的。

--T-SQL(transact structured query language)是标准的microsoft sql server的扩展,是标准的sql程 序设计语言的增强版,是用以程序与sql server沟通的主要语言。

--T-SQL的主要组成:

  1.数据定义语言(DDL):用于在数据库系统中对数据库、表、视图、索引等数据库对象进行创建和管理。

  2.数据控制语言(DCL):用于实现对数据库的完整性、安全性等的控制

  3.数据操纵语言(DML):用于插入、修改、删除和查询数据库中的数据、

--注释

  1.ANSI标准注释符:--要注释的内容

  2./*要注释的内容*/注释

 (把所选的行一次都注释的快捷键是shift+ctrl+c,一次取消多行注释的快捷键是shift+ctrl+R)

  

--求1~10之间偶数的和,并用continue控制语句的输出。

  declare @x int,@sum int

  set @x=1

  set @sum=0

  while @x<10

  begin

  set @x=@x+1

     if @x%2=0

        set @sum=@sum+@x

     else

        continue

  end

  print @sum

--左外连接:左外连接的结果集包括left join子句中指定的左表的所有行,而不仅是连接列所匹配的行。若果左表 的某一行在右表中没有匹配,则在关联的结果集行中,来自右表的所有选择列表列均为空值。

--存储过程:是预编译sql语句的集合,这些语句存储在一名称下并作为一个单元来处理。一个存储过程中可以包含 查询、插入、删除、更新等操作的一系列sql语句,当这个存储过程被调用执行时,这些操作也会同时执行。

--SQL Server提供了3种类型的存储过程:

  1、系统存储过程:用来管理sql server和显示有关数据库和用户信息的存储过程

  2.自定义存储过程:用户在sql server中通过采用sql语句创建存储过程

  3.扩展存储过程:通过编程语言创建外部例程,并将这个例程在sql server中作为存储过程使用。

--触发器:一种特殊类型的存储过程,当指定表中的数据发生变化时触发器自动生效。它与表紧密相连,可以看作 是表定义的一部分。触发器不能通过名称被直接调用,更不容许设置参数。不论触发器所进行的操作有多复杂,触发器都只作为一个独立的单元被执行,被看作是一个事务,若在执行触发器的过程中发生了错误 ,则整个事务将会自动回滚。

--触发器包括3种类型的触发器:DML触发器、DDL触发器和登录触发器

--索引:一个单独的、物理的数
4000
据库结构,在sql server中,索引是为了加速对表中数据行的检索而创建的一种分散存储结构。他是针对一个表而建立的,每个索引页面中的行都含有逻辑指针,指向数据表中的物理位置  

        以便加速检索物理数据。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server 数据库