sqlserver学习

上传人:小** 文档编号:89127301 上传时间:2019-05-19 格式:DOC 页数:139 大小:645KB
返回 下载 相关 举报
sqlserver学习_第1页
第1页 / 共139页
sqlserver学习_第2页
第2页 / 共139页
sqlserver学习_第3页
第3页 / 共139页
sqlserver学习_第4页
第4页 / 共139页
sqlserver学习_第5页
第5页 / 共139页
点击查看更多>>
资源描述

《sqlserver学习》由会员分享,可在线阅读,更多相关《sqlserver学习(139页珍藏版)》请在金锄头文库上搜索。

1、SQL Server2000全面资料3.1 基本概念3.1.1 数据Data所谓数据就是描述事物的符号在我们的日常生活中数据无所不在数字文字图表图象声音等都是数据人们通过数据来认识世界交流信息3.1.2 数据库DB 即Database数据库顾名思义就是数据存放的地方在计算机中数据库是数据和数据库对象的集合所谓数据库对象是指表Table 视图View 存储过程Stored Procedure触发器Trigger 等这些数据库对象将在以后的章节中介绍3.1.3 数据库管理系统DBMS数据库管理系统是用于管理数据的计算机软件数据库管理系统使用户能方便地定义和操纵数据维护数据的安全性和完整性以及进行多

2、用户下的并发控制和恢复数据库3.1.4 数据库系统DBS 即Database System数据库系统狭义地讲是由数据库数据库管理系统和用户构成广义地讲是由计算机硬件操作系统数据库管理系统以及在它支持下建立起来的数据库应用程序用户和维护人员组成的一个整体3.2 关系数据库数据库这一概念提出后先后出现了几种数据模型其中基本的数据模型有三种层次模型系统网络模型系统和关系模型系统60 年代末期提出的关系模型具有数据结构简单灵活易学易懂且具有雄厚的数学基础等特点从70 年代开始流行发展到现在已成为数据库的标准目前广泛使用的数据库软件都是基于关系模型的关系数据库管理系统3.2.1 关系模型RM 即Rela

3、tional Model关系模型把世界看作是由实体Entity 和联系Relationship 构成的所谓实体就是指现实世界中具有区分与其它事物的特征或属性并与其它实体有联系的对象在关系模型中实体通常是以表的形式来表现的表的每一行描述实体的一个实例表的每一列描述实体的一个特征或属性所谓联系就是指实体之间的关系即实体之间的对应关系联系可以分为三种 一对一的联系如一个人只有一种性别一个人性别为一对一的联系 一对多的联系如相同性别的人有许多个性别人为一对多的联系 多对一的联系如很多人有同一个性别人性别为多对一的联系通过联系就可以用一个实体的信息来查找另一个实体的信息关系模型把所有的数据都组织到表中表

4、是由行和列组成的行表示数据的记录列表示记录中的域表反映了现实世界中的事实和值3.2.2 关系数据库RDB 即Relational Database所谓关系数据库就是基于关系模型的数据库1 关系数据库管理系统RDBMS关系数据库管理系统就是管理关系数据库的计算机软件2 关键字Key关键字是关系模型中的一个重要概念它是逻辑结构不是数据库的物理部分侯选关键字Candidate Key如果一个属性集能惟一地标识表的一行而又不含多余的属性那么这个属性集称为侯选关键字主关键字Primary Key主关键字是被挑选出来作表的行的惟一标识的侯选关键字一个表只有一个主关键字主关键字又可以称为主键 公共关键字Co

5、mmon Key在关系数据库中关系之间的联系是通过相容或相同的属性或属性组来表示的如果两个关系中具有相容或相同的属性或属性组那么这个属性或属性组被称为这两个关系的公共关键字 外关键字Foreign Key如果公共关键字在一个关系中是主关键字那么这个公共关键字被称为另一个关系的外关键字由此可见外关键字表示了两个关系之间的联系以另一个关系的外关键字作主关键字的表被称为主表具有此外关键字的表被称为主表的从表外关键字又称作外键3.3 常见的数据库对象数据库对象是数据库的组成部分常见的有以下几种3.3.1 表Table数据库中的表与我们日常生活中使用的表格类似它也是由行Row 和列Column组成的3.

6、3.2 索引Index索引是根据指定的数据库表列建立起来的顺序它提供了快速访问数据的途径并且可监督表的数据使其索引所指向的列中的数据不重复3.3.3 视图View视图看上去同表似乎一模一样具有一组命名的字段和数据项但它其实是一个虚拟的表在数据库中并不实际存在视图是由查询数据库表产生的它限制了用户能看到和修改的数据由此可见视图可以用来控制用户对数据的访问并能简化数据的显示即通过视图只显示那些需要的数据信息3.3.4 图表Diagram在SQL Server 中图表其实就是数据库表之间的关系示意图利用它可以编辑表与表之间的关系3.3.5缺省值Default缺省值是当在表中创建列或插入数据时对没有指

7、定其具体值的列或列数据项赋予事先设定好的值如3.3.6 规则Rule规则是对数据库表中数据信息的限制它限定的是表的列3.3.7 触发器Trigger触发器是一个用户定义的SQL 事务命令的集合当对一个表进行插入更改删除时这组命令就会自动执行3.3.8 存储过程Stored Procedure存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句经编译后存储在数据库中的SQL 程序3.3.9 用户User所谓用户就是有权限访问数据库的人3.4 范式构造数据库必须遵循一定的规则在关系数据库中这种规则就是范式范式是符合某一种级别的关系模式的集合关系数据库中的关系必须满足一定的要求即满足不同的范

8、式目前关系数据库有六种范式第一范式1NF 第二范式2NF 第三范式3NF第四范式4NF 第五范式5NF 和第六范式6NF 满足最低要求的范式是第一范式1NF 在第一范式的基础上进一步满足更多要求的称为第二范式2NF 其余范式以次类推一般说来数据库只需满足第三范式3NF 就行了下面我们举例介绍第一范式1NF 第二范式2NF 和第三范式3NF3.4.1第一范式1NF在任何一个关系数据库中第一范式1NF 是对关系模式的基本要求不满足第一范式1NF 的数据库就不是关系数据库所谓第一范式1NF 是指数据库表的每一列都是不可分割的基本数据项同一列中不能有多个值即实体中的某个属性不能有多个值或者不能有重复的

9、属性如果出现重复的属性就可能需要定义一个新的实体新的实体由重复的属性构成新实体与原实体之间为一对多关系在第一范式1NF 中表的每一行只包含一个实例的信息例如对于图3-2 中的员工信息表不能将员工信息都放在一列中显示也不能将其中的两列或多列在一列中显示员工信息表的每一行只表示一个员工的信息一个员工的信息在表中只出现一次简而言之第一范式就是无重复的列3.4.2 第二范式2NF第二范式2NF 是在第一范式1NF 的基础上建立起来的即满足第二范式2NF必须先满足第一范式1NF 第二范式2NF 要求数据库表中的每个实例或行必须可以被惟一地区分为实现区分通常需要为表加上一个列以存储各个实例的惟一标识如图3

10、-2 员工信息表中加上了员工编号emp_id 列因为每个员工的员工编号是惟一的因此每个员工可以被惟一区分这个惟一属性列被称为主关键字或主键主码第二范式2NF 要求实体的属性完全依赖于主关键字所谓完全依赖是指不能存在仅依赖主关键字一部分的属性如果存在那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体新实体与原实体之间是一对多的关系为实现区分通常需要为表加上一个列以存储各个实例的惟一标识简而言之第二范式就是非主属性非部分依赖于主关键字3.4.3 第三范式3NF满足第三范式3NF 必须先满足第二范式2NF 简而言之第三范式3NF要求一个数据库表中不包含已在其它表中已包含的非主关键字信息例如

11、存在一个部门信息表其中每个部门有部门编号dept_id 部门名称部门简介等信息那么在图3-2的员工信息表中列出部门编号后就不能再将部门名称部门简介等与部门有关的信息再加入员工信息表中如果不存在部门信息表则根据第三范式3NF 也应该构建它否则就会有大量的数据冗余简而言之第三范式就是属性不依赖于其它非主属性Transact-SQL 语言Transact-SQL 是ANSI SQL 的加强版语言它提供了标准的SQL命令另外还对SQL 命令做了许多扩充提供类似Basic PascalC 等第三代语言的基本功能如变量说明程序流程控制语言功能函数等不过SQL Server是定位在Server 上的系统它只

12、负责提供和储存数据就像汽车的引擎它只提供汽车的动力其它功能由前端设计工具如FoxPro Delphi Power Builder Visual Basic 等来处理因此我们一般称SQL Server Oracle Informix 等数据库系统为数据库引擎要了解Transact-SQL 就必须先了解SQL 语言因此我们先介绍SQL 语言熟悉SQL 语言的读者可跳过这一节4.1 SQL 语言SQL 语言是一种介于关系代数与关系演算之间的语言其功能包括查询操纵定义和控制4个方面是一个通用的功能极强的关系数据库语言4.1.2 SQL 语言的组成SQL 语言主要由以下几部分组成 数据定义语言DDL D

13、ata Definition Language 数据操纵语言DML Data Manipulation Language 数据控制语言DCL Data Control Language 其它语言要素Additional Language ElementsSQL 语句数目种类较多其主体大约由40 条语句组成如表4-1 所示表4-1 主要的SQL 语句语句功能数据操作SELECT从数据库表中检索数据行和列INSERT向数据库表添加新数据行DELETE从数据库表中删除数据行UPDATE更新数据库表中的数据数据定义CREATE TABLE创建一个数据库表DROP TABLE从数据库中删除表ALTER

14、TABLE修改数据库表结构CREATE VIEW创建一个视图DROP VIEW从数据库中删除视图CREATE INDEX 为数据库表创建一个索引DROP INDEX从数据库中删除索引CREATE PROCEDURE创建一个存储过程DROP PROCEDURE从数据库中删除存储过程CREATE TRIGGER创建一个触发器DROP TRIGGER从数据库中删除触发器CREATE SCHEMA向数据库添加一个新模式DROP SCHEMA 从数据库中删除一个模式CREATE DOMAIN创建一个数据值域ALTER DOMAIN改变域定义DROP DOMAIN从数据库中删除一个域数据控制GRANT授予

15、用户访问权限DENY 拒绝用户访问REVOKE解除用户访问权限事务控制COMMIT 结束当前事务ROLLBACK中止当前事务SET TRANSACTION定义当前事务数据访问特征程序化SQLDECLARE为查询设定游标EXPLAN 为查询描述数据访问计划OPEN检索查询结果打开一个游标FETCH检索一行查询结果CLOSE 关闭游标PREPARE为动态执行准备SQL 语句EXECUTE 动态地执行SQL 语句DESCRIBE 描述准备好的查询4.1.3例4-3 查询工作级别为2 的员工姓名查询结果按部门分组use panguselect e_name dept_idfrom employeewhere job_level = 2group by dept_id e_name运行结果如下e_name dept_id- -李四1001以上是对SQL 语言的简单介绍对没有接触过SQL 语言的读者看了这一节就算入门了我们在后面的章节中会用到更多类型的SQL 语句St

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号