《SQLServer数据库基础课程.ppt》由会员分享,可在线阅读,更多相关《SQLServer数据库基础课程.ppt(76页珍藏版)》请在优知文库上搜索。
1、SQL Server数据库基础课程学习目标 掌握数据库相关基础知识 掌握SQL Server的安装、管理、维护 掌握简单的T-SQL语句 会编写触发器、存储过程数据库基础 什么是数据库 数据库是指长期储存长期储存在计算机内的、有组织的有组织的、可可共享共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 从发展的历史看,数据库是数据管理数据管理的高级阶段,它是由文件管理系统发展起来的。 数据库由数据库管理系统(数据库管理系统(DBMS)统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员(数据管理员
2、(DBA)负责创建、监控和维护整个数据库。数据库发展历史 1950年代:打孔机、穿孔卡片。“数据管理就是管理卡片”。顺序存储。 1956年,IBM的磁盘驱动器、“2英寸盘”、“5M盘”。“随机文件存储”。 1970年代,DBMS数据库模型 层次 网状 关系 关系模型是目前最为流行的一种数据模型,用二维表格结构表示实体集,关键码表示实体间的联系 面向对象常见数据库 Access DB2 Foxbase/Foxpro Informix SQL Server MySQL Oracle常用术语数据库技术术语关系模型术语SQL术语记录类型关系模型基本表文件关系,实例基本表,表格记录元组行属性,字段,数据
3、项属性列关键码 超键 在关系模式中,能唯一标识元组的属性集称为超键(Super Key) 候选键 如果一个属性集能唯一标识元组,且又不含有多于属性,那么这个属性集被称为候选键(Candidate Key) 主键 关系模式中用户正在使用的候选键称之为主键(Primary Key) 外键 如果关系模式R中某属性集是其他模式的候选键,那么该属性对模型R而言是外键FK_银行卡信息表_REFERENCE_身份证信息表银行卡信息表卡号姓名性别身份证号有效期发卡行卡的类型联系方式金额身份证信息表身份证号姓名性别出生日期籍贯民族家庭地址有效期发卡所照片数据库对象表: 由行和列组成 每列又称为一个字段,每列的标
4、题称为字段名 一行数据称为一个或一条记录,它表达有一定意义的信息组合 一个数据库表由一条或多条记录组成,没有记录的表称为空表。 每个表中通常都有一个主关键字(也叫主键),用于唯一地确定一条记录。主键不允许空值。不能存在具有相同的主键值的两个行学号姓名性别年龄籍贯班级001张三男20山东003002李四男21辽宁003字段名字段名记录记录主键主键数据库对象 外键:存在于B表中的A表的主键学号姓名性别年龄籍贯班级001张三男20山东003002李四男21辽宁003课程号课程名G001软件测试基础G002软件质量学号课程号成绩001G00180001G00290002G00260.数据库对象索引(I
5、ndex) 索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。视图(View) 是一个虚拟的表,在数据库中并不实际存。 视图是由查询数据库表产生的,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。 触发器(Trigger) 触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。存储过程(Stored Procedure) 存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。 SQL Se
6、rver 关系数据库简介 SQL Server是由Microsoft开发和推广的关系数据库管理系统,最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQL Server近年来不断更新版本: 1996年,Microsoft 推出了SQL Server 6.5版本; 1998年,SQL Server 7.0版本和用户见面; 2000年,SQL Server 2000推出; 2005年,微软发布了SQL Server 2005 2008年,微软发布了最新的SQL Server 2008SQL Server 常见版本 企业版(
7、Enterprise Edition) 标准版(Standard Edition) 个人版(Personal Edition) 开发者版(Developer Edition)安装、运行 SQL Server 2000 的软件需求 SQL Server 2000企业版必须运行于安装Windows NT Server Enterprise Edition 4.0或者Windows2000 Advanced Server以及更高版本的操作系统下。 SQL Server 2000标准版必须运行于安装Windows NT Server Enterprise Edition 4.0、Windows NT
8、Server 4.0、Windows 2000 Server以及更高版本的操作系统下。 SQL Server 2000 个人版可在多种操作系统下运行,如可运行于Windows 9x,Windows NT 4.0或Windows 2000的服务器版或工作站版的操作系统下。 SQL Server 2000 开发者版可运行于上述Windows 9x以外的所有操作系统下。SQL Server安装SQL Server 系统数据库简介 Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQL Serve
9、r的初始化信息和其它系统数据库及用户数据库的相关信息。 Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需要的。 Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。 Tempdb是一个临时数据库,默认大小是8M;它为所有的临时表、临时存储过程及其它临时操作提供存储空间。 Pubs和Northwind数据库是两个示例数据库SQL Server 系统表简介1. sysobjects表SQL Server 的主系统表sysobjects出现在每个数据库中,它对每个数据库对象含
10、有一行记录。2. syscolumns表系统表syscolumns出现在master数据库和每个用户自定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数含有一行记录。3. sysindexes表系统表sysindexes出现在master数据库和每个用户自定义的数据库中,它对每个索引和没有聚簇索引的每个表含有一行记录,它还对包括文本/图像数据的每个表含有一行记录。SQL Server 系统表简介4. sysusers表系统表sysusers出现在master数据库和每个用户自定义的数据库中,它对整个数据库中的每个Windows NT用户、Windows NT用户组、SQL Serv
11、er 用户或者SQL Server 角色含有一行记录。5. sysdatabases表系统表sysdatabases对SQL Server 系统上的每个系统数据库和用户自定义的数据库含有一行记录,它只出现在master数据库中。6. sysdepends表系统表Sysdepends对表、视图和存储过程之间的每个依赖关系含有一行记录,它出现在master数据库和每个用户自定义的数据库中。7. sysconstraints表系统表sysconstraints对使用CREATE TABLE或者ALTER TABLE语句为数据库对象定义的每个完整性约束含有一行记录,它出现在master数据库和每个用户
12、自定义的数据库中。SQL Server 工具和实用程序 企业管理器 服务管理器 查询分析器 事件探查器 导入和导出数据 联机帮助文档企业管理器(Enterprise Manager)服务管理器( Service Manager Manager)查询分析器(Query Analyzer)事件探查器导入和导出数据导入和导出数据联机帮助文档注册一个新的数据库链接服务器备份数据库还原数据库还原数据库分离数据库分离数据库附加数据库附加数据库数据库维护计划数据库维护计划生成数据库结构脚本生成数据库结构脚本标准SQL语言 SQL(Structured Query Language)语言最早是由Boyce和C
13、hamberlin在1974年提出,起初称之为SEQUEL(Structured English Query Language )。设计目的是为了便于对System R数据库系统存储数据进行操作。 1986年ANSI批准SQL语言作为关系型数据库语言的标准,1987年ISO也通过了这一标准。 目前,几乎所有的关系型数据库管理系统都支持SQL语言。 Transact-SQL语言 数据定义语言数据定义语言(DDL,Data Definition Language)包括创建数据库表结构、创建视图和创建表的索引,以及删除已经存在的表、视图和索引等。数据定义语句的SQL动词是CREATE,DROP 和A
14、LTER。 数据操纵语言数据操纵语言(DML,Data manipulation Language)主要用于创建数据库表后,查询、输入、删除和修改表中的数据。 SQL动词是SELECT ,INSERT,DELETE和UPDATE。数据控制语言数据控制语言(DCL,Data Control Language)包括数据库事务管理功能和数据保护功能,对数据库提供完整性约束控制,控制数据库的安全性;提供了多用户并发控制和恢复的功能,支持事务提交和回滚等。SQL动词是GRANT和REVOKE。 系统存储过程系统存储过程(System Stored Procedure)存储过程是SQL语句和流程控制语句的
15、预编译集合,是封装重复任务操作的方法。SQLServer的对象命名约定 三段式名字标识对象:. 前两者可以省略,数据库名默认是当前数据库,所有者默认式数据库的所有者dbo,如:Pubs.dbo.authorsNorthwind.dbo.scNorthwind.dbo.sc.grade创建练习数据库和表 使用企业管理器添加数据库创建练习数据库和表 使用企业管理器分别添加表(c,s,sc)创建练习数据库和表 使用企业管理器添加各个表的记录(c,s,sc)Select 语句 查询课程表,查询学生表 查询课程表,只显示课程名和教师名别名AS 使用别名是增加select语句的可读性,语法是:数据表名 a
16、s 数据表别名 如:Select e.员工编号,e.员工姓名 from 员工表 as eSelect ame, p.teacher from c as pUnion 将两个或两个以上的查询结果合并为一个结果集,语法:Select 语句Union all Select 语句 默认情况下,union将从最终结果集中删除重复的记录;如果希望保留所有记录,使用all关键字条件查询条件查询 Select * from 表名 where 查询条件 例如:Select * from s where sname=wang=等于大于=大于等于=小于等于不等于LIKE字符串比较测验In在某个数组中Between and在某个范围中exists是否存在模糊查询 Like关键字的提供使我们的模糊查询有了基础,Like关键字后提供了_下划线和%百分号这两种通配符。多表查询多表查询 -联接查询联接查询 Select * from s, sc得到一个非常大的结果集:s表和sc表的笛卡尔积 Select * from s,sc where s.s#=sc.s# Select * from s,sc,c where s