280 likes | 497 Views
认识数据库应用及运行环境. SQL SERVER 概述. 什么是 SQL SERVER SQL SERVER 入门知识 客户端 / 服务器组件 SQL SERVER 服务 SQL SERVER 数据库 SQL SERVER 安全性 SQL SERVER 的实际使用. SQL SERVER 入门知识. SQL 是什么 ? 结构化查询语言 , 是关系数据库的国际标准语言 (1987 年 ISO 通过这一标准 , 有 SQL-89 标准和 SQL-92 标准 ). 是主流产品支持的语言。 其他数据库语言 : QBE 、 Quel 、 Datalog
E N D
SQL SERVER概述 • 什么是SQL SERVER • SQL SERVER入门知识 • 客户端/服务器组件 • SQL SERVER服务 • SQL SERVER数据库 • SQL SERVER安全性 • SQL SERVER的实际使用
SQL SERVER入门知识 • SQL是什么? • 结构化查询语言,是关系数据库的国际标准语言(1987年ISO通过这一标准,有SQL-89标准和SQL-92标准).是主流产品支持的语言。 • 其他数据库语言: • QBE、Quel、Datalog • SQL SERVER是什么? • 由一系列产品和技术组成的关系数据库管理系统(RDBMS),负责以下工作: • 维护数据库数据之间的关系; • 保证数据存储的正确性,并且保证定义数据之间的关系的种种规则不会被违背; • 当出现系统故障的时候,将所有数据恢复到能够保证一致性的某种状态;
SQL SERVER入门知识 • 桌面型数据库: • 针对日常小型办公需要,广泛应用于单机环境. • 在桌面型操作系统环境下. • 不提供或仅提供的网络应用功能. • 没有或仅有较弱的安全方案. • 较强的前端开发工具与较弱的数据库管理集为一体. • 侧重于可操作性、易开发和简单管理 • 如:ACCESS
SQL SERVER入门知识 • 网络数据库 • 需网络操作系统支持; • 数据库系统管理工具、前端开发工具和后台数据库是可以分离的; • 具有强大的网络功能和分布式功能; • 提供完备的数据安全方案,提供完善的数据库备份和恢复手段。
SQL SERVER入门知识 • SQL SERVER管理两种数据库: • OLTP数据库: • 即Online Transaction Processting (联机事务处理). • 为降低数据库的冗余信息,并加快数据库更新的速度,数据被组织存放到关系表中. • SQL Server允许大量用户执行事务处理. • 日常开发的大量数据库系统是OLTP系统. • OLAP数据库: • 即Online Analysis Processing(联机分析处理). • 通过对大量数据库进行组织和汇总, Analysis Services能够对数据进行快速组织、分析,得到对公司的决策有价值的内容,如专家系统、决策支持系统。
客户端/服务器组件 • 网络数据库的两种工作模式: • C/S(客户机/服务器)模式 • 优点:速度较快,功能完备。 • 缺点:维护升级很不方便,如QQ软件; • B/S(浏览器/服务器)模式 • 优点:维护简单,客户机无须维护和升级; • 缺点:功能不完善主要用于浏览查询信息,响应速度较慢
客户端/服务器组件 • 客户端: • 一般来软件角度讲,指享受网络服务软件的计算机,通常在硬件上配置不高。 • 如:安装IE浏览器、QQ聊天软件. • 服务器: • 一般指提供网络服务软件的计算机. • 如:安装了DBMS的数据库服务器、安装了IIS软件的WEB服务器. • 注:当然,一台机既可以是服务器,又可以是客户机.
客户端/服务器组件 • SQL Server使用客户端/服务器构架,由客户端组件和服务器组件组成,把工作负荷分担到服务器上运行的任务和客户端运行的任务. • 客户端负责业务逻辑,并将数据呈现给用户. • 服务器管理数据库,并负责各个请求分配服务器资源.
客户端/服务器组件 • 客户端组件: • 客户端应用程序。 • 数据库API(OLE DB 和ODBC),是应用程序与 SQL Server之间的接口,(有些使用HTTP协议,不用数据库API ). • 客户端Net-Library:通信软件组件,管理客户端的路由和网络连接。
客户端/服务器组件 • 服务器组件: • 服务器Net-Library: • 管理客户端与服务器的通信。 • SQL Server 能够并发监控多个Net-Library。 • 客户端与服务器的成功通信,需要客户端Net-Library与服务器的某个Net-Library相匹配。 • TCP/IP套接字Net-Library是传输最快的Net-Library,但在局域网中,速度只会有细微差别. • 开放式数据服务(ODS):处理网络连接传递客户请求给SQL Server进行处理,自动监听安装在服务器上的所有服务器Net-Library 。 • 关系引擎:负责对T-SQL语句的解析,对产生的执行计划进行优化。 • 存储引擎:管理数据库文件和文件空间的利用情况,控制并发访问,执行日志记录和恢复,还能够实现数据库一致性检查程序(DBCC)、备份与恢复等实用功能。
SQL SERVER服务 • SQL SERVER包括以下几种服务类型: • SQL Server服务: • 关系型数据库的引擎,OLTP依赖于该服务。确保数据的一致性和完整性。 • SQL Server Agent服务: • SQL Server服务协同工作,实现自动化的事务处理,进行自动化的任务, 建立管理警报、本地和多服务器作业以及操作员。 • Microsoft 分布式事务处理协调器(MS DTC): • 分布式事务的协调,保证事务的完整性。 • MS DTC 允许在一个事务中包括几个不同的数据源,适当协调处理可以保证全部服务器中的所有更新要么成为永久性,要么回滚所有更新。 • Microsoft Search服务: • 加强SQL Search文本查询功能。 • 注:这些服务既可作为Windwos 2005 的服务来运行,也可作为应用程序来运行。
SQL SERVER数据库 • DB类型:系统DB 和用户DB • 系统DB: • Master:存储账号信息、权限、系统信息、环境信息; • Msdb:Agent使用。 • Model:模板DB • Tempdb:临时DB • Distribution:用于SQL Server之间的复制。 • 用户DB • 用于存储用户数据。
服务器 实例 Database Table或对象 SQL SERVER数据库 • SQL Server对象的层次结构
SQL SERVER数据库 • 在一个服务器下可有多个实例(最多50个实例)。 • 实例:是虚拟的SQL SERVER服务器,其权限、安全、对象都是独立的。 • 数据存储方案: • 方法1: 敏感 财务Data表 生产Data表
SQL SERVER数据库 • 方法2: 财务DB 特点: 安全性较低 生产Data
SQL SERVER数据库 • 方法3: 特点: 1、安全性高 2、只需一套SQL Server软件(可安装50个实例) 3、但性能低 财务DB 实例1 生产Data 实例2
SQL SERVER数据库 • 方法4: 特点: 1、2台服务器各有自已的服务器管理员、数据库管理员安全、稳定。 2、但需2套SQL Server软件。 财务DB 服务器1 生产Data 服务器2
SQL SERVER数据库 • 使用方法: • 不考虑费用:使用方法4; • 不考虑性能:使用方法3; • 不考虑安全:方法1或方法2;
SQL SERVER数据库 • DB对象:表、数据类型、PK、FK、CHECK、INDEX、视图、函数、存储过程、触发器。 • 命名规则: • 完整名称(包括4个标识):Server.DataBase.Owner.Object • 在当前默认目录下可省略当前默认的信息: 服务器默认为本地服务器的当前实例,数据库默认为当前数据库,所有者默认为指定数据库与当前连接的登录标识相应的用户名称) • 例:DataBase.Owner.Object • DataBase. .Object:(在当前拥有者帐户下,Owner可省略,但点不能省)。 • Owner.Object • Object
SQL SERVER数据库 • 系统表 • 元数据: • SQL SERVER存储某个SQL SERVER实例下有关数据库中系统和对象的信息,这些信息称这元数据,元数据包含了有关数据属性的信息。 • 常用系统表: • Syslogins: master中,记录SQLSERVER的登录账户 • Sysmessages: master中,记录每个系统错误或警告 • Sysdatabases master中,记录SQL SERVER上的每个数据库 • Sysusers:所有数据库中,记录数据库中的用户、角色 • Sysobjects:所有数据库,记录数据库中的每一个对象。
SQL SERVER数据库 • 元数据检索 可以像查询任何其他数据库表一样,以同样的方式查询系统表,检索有关系统的信息,但是,不应该编写直接查询系统表的脚本,原因是,如果未来的产品版本中系统表发生变化时,你的脚本可能失效,而应使用系统存储过程、系统函数或系统提供的信息架构视图。 • 系统存储过程(下面是常用的3个) • Sp_help 对象名:提供指定数据库对象的信息 • Sp_helpdb 数据库名:提供指定数据库的信息 • Sp_helpindex 表名:提供指定表的索引信息
SQL SERVER数据库 • 系统函数和元数据函数 • DB_ID(名称):返回数据库ID • USER_NAME(用户标识):返回用户名 • COL_LENGTH(列):返回列的宽度 • 信息模式视图 • INFORMATION_SCHEMA.TABLES:数据库中表的列表 • INFORMATION_SCHEMA.COLUMNS:列的信息 • INFORMATION_SCHEMA.TABLES_PRIVILEGES:数据库安全信息
SQL SERVER安全性 • SQL Server的身份验证: (三层身份验证): • 检查是否允许在SQL Server上登录。 • 用windwls操作系统账号登录 • 用SQL SERVER账号登录 • 检查是否允许访问数据库 • 检查是否允许访问对象。 • 角色
SQL SERVER的实际使用 • 使用SQL SERVER包括维护与实现SQL SERVER数据库和开发应用程序. • 一般使用图形工具(对于特写数据库,最好用此)和脚本(对作业型的重复执行的,如备份,最好用此) • 管理SQL SERVER数据库 • 常见的维护任务 • 安装、配置SQL SERVER和设置SQL SERVER的安全性。 • 构建数据库
SQL SERVER的实际使用 • 任务包括: • 为数据库和日志分配磁盘空间; • 向数据库中导入数据和从数据库中导出数据; • 定义和实现数据库的安全特性; • 为重复执行的任务创建自动作业; • 设置将数据分发到多个站点的复制; • 管理正在进行的操作:导入和导出数据、备份和恢复数据库与日志、监视与调整数据库。 • 常用的维护管理工具 • SQL SERVER管理平台 • SQL SERVER配置管理器 • SQL SERVER外围应用配置器 • SQL SERVER命令提示符管理工具:osql和bcp • SQL SERVER Profiler • SQL SERVER帮助和联机丛书
SQL SERVER的实际使用 • 实现SQL SERVER数据库步骤: • 设计数据库:建立模型; • 创建数据库和数据库对象:包括表、数据完整性机制、数据输入和检索对象(通常为存储过程)、适宜的引擎和安全性设计; • 测试和调整应用程序与数据库
数据库系统概念 • 什么是数据库系统 • 什么是数据库 • 什么是数据库管理系统 • 什么是数据应用系统 • 什么是数据库系统相关人员 • 什么是数据库的数据模型 • 什么是关系数据库 • 什么是数据仓库 • 什么是数据库元数据 • (P11)