VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之SQL Server数据库概述及常见数据库对

 SQL Server数据库概述

SQL Server中的数据库是由数据表的集合组成的,每个数据表中包含数据以及其他数据库对象,这些对象包括视图、索引、存储过程和触发器等。
数据库系统使用一组操作系统文件来映射数据库管理系统中保存的数据库,数据库中的所有数据和对象都存储在其映射的操作系统文件中。这些操作系统文件可以是数据文件或日志文件。
要熟练地理解和掌握数据库,必须对数据库的一些基本概念及构成有一个清楚的认识。

2.1.1  常见数据库对象

数据库中存储了表、视图、索引、存储过程、触发器等数据库对象,这些数据库对象存储在系统数据库或用户数据库中,用来保存SQL Server数据库的基本信息及用户自定义的数据操作等。
1.表与记录
表是数据库中实际存储数据的对象。由于数据库中的其他所有对象都依赖于表,因此可以将表理解为数据库的基本组件。一个数据库可以有多个行和列,并且每列包含特定类型的信息。列和行也可以称为字段与记录。字段是表中纵向元素,包含同一类型的信息,例如读者卡号(Rcert)、姓名(name)和性别(Sex)等;字段组成记录,记录是表中的横向元素,包含有单个表内所有字段所保存的信息,例如读者信息表中的一条记录可能包含一个读者的卡号、姓名和性别等。如图2-1所示为【图书管理系统(BookDateBase)】数据库中【读者信息(Reader)】数据表的内容.

图2-1  【读者信息(Reader)】数据表
2.视图
视图是从一个或多个基本(数据)表中导出的表,也被称为虚表。视图与表非常相似,也是由字段与记录组成。与表不同的是,视图不包含任何数据,它总是基于表,用来提供一种浏览数据的不同方式。视图的特点是,其本身并不存储实际数据,因此可以是连接多张数据表的虚表,还可以是使用WHERE子句限制返回行的数据查询的结果。并且它是专用的,比数据表更直接面向用户。如图2-2所示是正在创建的视图,它的结果来自【图书管理系统(BookDateBase)】数据库中的【读者信息(Reader)】表、【图书信息(Books)】表和【借阅信息(BorrowOrReturn)】表。

图2-2  【读者信息_借阅信息_图书信息表】视图
3.索引
索引是一种无须扫描整个表就能实现对数据快速访问的途径,使用索引可以快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如【读者信息(Reader)】数据表中的【员工卡号(Rcert)】列。如果要查找某一读者姓名,索引会帮助用户更快地获得所查找的信息。
4.约束
约束是SQL Server 2008实施数据一致性和完整性的方法,是数据库服务器强制的业务逻辑关系。约束限制了用户输入到指定列中值的范围,强制了引用完整性。主键和外键就是约束的一种形式。当在数据库设计器中创建约束时,约束必须符合创建和更改表的ANSI标准。
5.数据库关系图
在讲述规范化和数据库设计时会详细讲述数据库关系图,这里只要清楚数据库关系图是数据库设计的视觉表示,它包括各种表、每一张表的列名以及表之间的关系。在一个实体关系(Entity-Relationship,或者叫E-R关系图)中,数据库被分成两部分:实体(如“生产企业”和“顾客”)和关系(“提供货物”和“消费”)。
6.默认值
如果在向表中插入新数据时没有指定列的值,则默认值就是指定这些列中所的值。默认可以是任何取值为常量的对象。默认值也是SQL Server提供确保数据一致性和完整性的方法。
在SQL Server 2008中,有两种使用默认值的方法。第一种,在创建表时,指定默认值。如果使用SQL Server Management Studio,则可以在设计表时指定默认值。如果使用Transact-SQL语言,则在CREATE TABLE语句中使用DEFAULT子句。第二种,使用CREATE DEFAULT语句创建默认对象,然后使用存储过程sp_binddefault将该默认对象绑定到列上。
7.规则
规则和约束都是限制插入到表中的数据类型的信息。如果更新或插入记录违反了规则,则插入或更新操作被拒绝。此外,规则可用于定义自定义数据库类型上的限制条件。与约束不同,规则不限于特定的表。它们是独立对象,可绑定到多个表,或者甚至绑定到特定数据类型(从而间接用于表中)。
8.存储过程
存储过程与其他编程语言中的过程类似,原因主要有以下几点:
l  接收输入参数并以输出参数的格式向调用过程或批处理返回多个值
l  包含用于在数据库中执行操作(包括调用其他过程)的编程语句
l  向调用过程或批处理的返回状态值,以指明成功或失败(以及失败的原因)
l  可以使用EXECUTE语句来运行存储过程。但是,存储过程与函数不同,因为存储过程不返回取代其名称的值,也不能直接在表达式中使用。
9.触发器
触发器是一种特殊类型的存储过程,这是因为触发器也包含了一组Transact-SQL语句。但是,触发器又与存储过程明显不同,例如触发器可以执行。如果希望系统自动完成某些操作,并且自动维护确定的业务逻辑和相应的数据完整,那么可以通过使用触发器来实现。
触发器可以查询其他表,而且可以包含复杂的Transact-SQL语句。他们主要用于强制服从复杂的业务规则或要求。例如,用户可以根据商品当前的库存状态,决定是否需要向供应商进货。
 
 
10.用户和角色
用户是指对数据库有存取权限的使用者。角色是指一组数据库用户的集合,和Windows中用户组类似。数据库中的用户组可以根据需要添加,用户如果被加入到某一角色,则将具有该角色的所有权限。

相关教程