Sql server笔记

来源:互联网 发布:马自达6原厂轮毂数据 编辑:程序博客网 时间:2024/06/03 20:04


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触发器和登录触发器


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






 


 
0 0
原创粉丝点击