SQL数据库基本知识
SQL数据库是关系数据库。
“事务”处理用户对数据库表格的修改和数据的操作,一次性完成的一组针对表的操作,要么全部成功,要么全部失败。日志是记录关系数库修改情况的笔记。关系数据库一般都是按照“先写日志”的方法来进行事务操作。
SQL语言全称结构化查询语言,功能包括了查询(Query)、操纵(Manipulation)、定义(Definition)和控制(Control)四个方面,集成数据定义语言(Data Defining Language)和数据操作语言(Data Manufacturing Language)的功能。即可以做为独立语言供终端用户使用,也可以被嵌入某种高级设计语言中使用。
Transact-SQL是全面兼容SQL-92标准的关系数据库查询语言,但做了许多必要的补充。Transact-SQL是SQL-Server功能的核心,不管应用程序的用户界面是什么,只要和数据库服务器进行交互,最终的命令形式都必然体现为Transact-SQL语言。
SQL-Server的数据库对象
表(table):具体组织和存储数据的对象,由行和列组成,行列顺序将可任意,但同一表中列名必唯一,同一数据库中表名必唯一。
主键(primary key):表中一列或多列的组合,其值唯一的标识了表中的一行记录。同一表中,任意两行的主键是能具有相同的值,即主键的值绝对不可以重复。
外键(foreign key):表中一列或多列的组合,存在于表一中,但不是表一的主键;同时存在于表二中,而且是表二的主键,于是称这一列或多列的组合是表一相对于表二的外键,体现了表与表之间的关系。
视图(view):从一个或几个基本表中导出的表。数据库中只存储有视图的定义,而不存储对应的数据,是查看表中数据的一种逻辑方法。视图把用户可以使用的数据定义在视图中,用户就不能使用视图定义以外的其他数据,从而保证了数据库的安全性,具有数据安全性、数据独立性、操作简便性的优点。
约束(constraint):实施数据一致性和数据完整性的方法,对表中各列的聚会范围进行限制,以确保表中的数据都是合理、有效的。主键和外键也是约束的一种形式。
默认值(default):向表中插入新数据时,为没有指定数据的列提供一个默认的数据,也是确保数据一致性和完整性的方法。
规则(rule):确保数据一致性和完整性的方法,提供一种对特定列或用户自定义数据类型列进行约束的机制。
索引(index):提供一种无需扫描整张表,就能实现对数据快速访问的途径,使用索引可以优化查询。
存储过程(stored procedure):一组经过编译的可以重复使用的Transact-SQL代码的组合,在服务器端执行,用户可以调用存储过程,接收存储过程返回的结果。
触发器(trigger):一种特殊的存储过程,与表格相关联。当用户在对指定的表进行某些操作后,触发器会自动执行,用于实施数据的完全性。
数据库框图(database diagrams):用户组织和管理数据库的一种图形化方式,允许用户以可视化的方式创建、编辑、删除数据库对象。
数据类型(data type):数据类型分为系统数据类型和用户自定义数据类型两种。系统数据类型:int,real,char,varchar etc。用户自定义数据类型建立在系统数据类型的基础上,是用户为了使用的方便而对系统数据类型所作的一种扩展。
日志(log):记录用户对数据库采取的所有操作,日志文件是维护数据库完整性的重要工具,当数据库系统崩溃,但仍然保留完好的日志文件,DBA依然可以通过日志文件完成数据库的修复与重建。