已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer SQLServer 1SQLServer介绍2SQLServer安装3SQLServer使用4SQLServer开发 1SQLServer介绍 1 1SQLServer的发展历程1 2SQLServer的版本1 3SQLServer的特点 1 1SQLServer的发展历程 C S体系结构的关系型数据库管理系统 RDBMS 1988年推出了第一个OS 2版本1992年 SQLServer移植到NT上后 Microsoft成为这个项目的主导者1994年以后 Microsoft专注于开发 推广SQLServer的WindowsNT版本1996年 Microsoft公司推出了SQLServer6 5版本1998年 推出了SQLServer7 0版本2000年推出了SQLServer2000 1 2SQLServer2000的版本 企业版 EnterpriseEdition 一般作为数据库服务器使用标准版 StandardEdition 一般用于小型的工作组或部门个人版 PersonalEdition 主要适用于移动用户开发人员版 DeveloperEdition 适用于应用程序开发 1 3SQLServer2000的特点 真正的客户机 服务器体系结构图形化用户界面丰富的编程接口工具SQLServer与Windows操作系统完全集成具有很好的伸缩性对Web技术的支持SQLServer提供数据仓库工具 2SQLServer安装 2 1SQLServer2000的环境需求2 2SQLServer的系统数据库 2 1SQLServer2000的环境需求 硬件需求计算机 Intel及其兼容计算机 Pentium166Mz或者更高处理器或DECAlpha及其兼容系统 内存 RAM 企业版最少64MB内存 其它版本最少需要32MB内存 建议使用更多的内存 硬盘空间 完全安装 Full 需要180MB的空间 典型安装 Typical 需要170MB的空间 最小安装 Minimum 需要65MB的空间 2 1SQLServer2000的环境需求 软件需求 2 2SQLServer2000的系统数据库 SQLServer2000系统数据库安装成功 系统自动创建6个系统数据库系统数据库的文件存储在安装目录下的MSSQL Data文件夹中 数据库文件的扩展名为 mdf 数据库日志文件的扩展名为 ldf Master数据库记录SQLServer系统的所有系统信息 这些系统信息包括所有的登录信息 系统设置信息 SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息 Model数据库是所有用户数据库和Tempdb数据库的模板数据库 它含有Master数据库的所有系统表子集 这些系统数据库是每个用户定义数据库时都需要的 2 2SQLServer2000的系统数据库 Msdb数据库是代理服务数据库 Tempdb数据库是一个临时数据库 Tempdb数据库由整个系统的所有数据库使用 SQLServer每次启动时 tempdb数据库被重新建立 当用户与SQLServer断开连接时 其临时表被自动删除 Pubs和Northwind数据库是SQLServer自带的两个实例数据库 Northwind数据库 3SQLServer使用 3 1SQLServer的系统表3 2SQLServer的系统存储过程3 3Transact SQL语言介绍3 4SQLServer的常用工具3 5SQLServer的安全性管理3 6SQLServer数据库的创建和管理3 7SQLServer数据库的对象 3 1SQLServer2000的系统表 Sysobjects表SQLServer的主系统表 出现在每个数据库中 它对每个数据库对象含有一行记录 Syscolumns表出现在master数据库和每个用户自定义的数据库中 它对基表或者视图的每个列和存储过程中的每个参数含有一行记录 Sysindexes表出现在master数据库和每个用户自定义的数据库中 它对每个索引和没有聚簇索引的每个表含有一行记录 它还对包括文本 图像数据的每个表含有一行记录 3 1SQLServer2000的系统表 Sysusers表出现在master数据库和每个用户自定义的数据库中 它对整个数据库中的每个WindowsNT用户 WindowsNT用户组 SQLServer用户或者SQLServer角色含有一行记录 Sysdatabases表对SQLServer系统上的每个系统数据库和用户自定义的数据库含有一行记录 只出现在master数据库中 Sysdepends表对表 视图和存储过程之间的每个依赖关系含有一行记录 出现在master数据库和每个用户自定义的数据库中 3 2SQLServer2000的系统存储过程 系统存储过程是由SQLServer2000系统自动创建的存储过程系统存储过程创建并存放于系统数据库master中 并且名称以sp 或者xp 开头 可以从任何数据库中执行系统存储过程 3 3Transact SQL语言简介 结构化查询语言SQL StructuredQueryLanguage SQL语言是关系型数据库环境下的标准查询语言目前 最新的SQL标准是1992年制定的SQL 92微软公司在SQL标准的基础上做了大幅度扩充SQLServer使用的SQL语言称为Transact SQL语言 3 3Transact SQL语言简介 在Transact SQL语言的命令格式中 用 括起来的内容表示是可选的 n 表示重复前面的内容用括起来表示在实际编写语句时 用相应的内容替代用 括起来表示是必选的类似A B的格式 表示A和B只能选择一个 不能同时都选示例SELECTselect list INTOnew table FROMtable source WHEREsearch condition GROUPBYgroup by expression HAVINGsearch condition ORDERBYorder expression ASC DESC 3 4SQLServer2000常用工具 常用工具为了管理SQLServer2000的服务器和客户机 使用SQLServer2000开发数据库和应用程序 SQLServer2000提供了一套常用的管理工具和实用程序 主要的管理工具和实用程序如下 服务管理器企业管理器查询分析器服务器网络实用工具客户端网络实用工具导入和导出数据联机帮助文档 3 5SQLServer2000的安全性管理 SQLServer2000登录身份验证模式SQLServer身份验证Windows身份验证SQLServer数据库的安全性用户成功登录SQLServer服务器后 并不自动拥有对所有数据库的访问权限 用户必须在想要访问的数据库中也有一个帐户 当需要访问某个数据库时 SQLServer的安全系统会根据这个帐户的权限决定是否允许用户访问该数据库 3 5SQLServer2000的安全性管理 SQLServer数据库对象的安全性在创建一个数据库对象时 创建者将自动拥有对该数据库对象的所有权 即可以完全控制该对象 当一个非数据库拥有者想要访问数据库中的对象时 必须事先由数据库拥有者赋予该用户对指定对象的操作权限 管理服务器的安全性服务器角色登陆数据库角色用户特殊帐户sa 3 6SQLServer2000数据库的创建和管理 数据库的存储结构数据库的存储结构分为逻辑存储结构和物理存储结构 数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成 实际上 SQLServer的数据库是由诸如表 视图 索引等各种不同的数据库对象所组成 数据库的物理存储结构是指数据库文件是如何在磁盘上存储的 SQLServer的数据库在磁盘上是以文件为单位存储的 由数据库文件和事务日志文件组成 一个数据库至少应该包含一个数据库文件和一个事务日志文件 3 6SQLServer2000数据库的创建和管理 数据库的创建创建数据库需要一定许可 在默认情况下 只有系统管理员和数据库拥有者可以创建数据库 数据库被创建后 创建数据库的用户自动成为该数据库的所有者 创建数据库的过程实际上就是为数据库设计名称 设计所占用的存储空间和存放文件位置的过程等 可以使用企业管理器和Transact SQL语言创建数据库 数据库的修改 删除数据库的备份 3 7SQLServer2000数据库的对象 3 7 1表3 7 2约束3 7 3数据类型3 7 4视图3 7 5索引3 7 6存储过程3 7 7触发器 3 7 1表 基本概念表是包含数据库中所有数据的数据库对象 用来存储各种信息 在SQLServer2000中 一个数据库中最多可以创建200万个表 用户创建数据库表时 最多可以定义1024列 在同一数据库的不同表中 可以有相同的字段 但在同一个表中不允许有相同的字段 而且每个字段都要求数据类型相同 3 7 1表 表的创建默认值 指定列的默认值 定义为timestamp或带IDENTITY属性的列不能指定 只有常量值 如字符串 SQLServer内部函数 如SYSTEM USER 或NULL值可以用作默认值 精度和小数位数 精度是列的总长度 包括整数部分和小数部分的长度之和 但不包括小数点 小数位数指定小数点后面的长度 标识 指定列是否是标识列 一个表只能创建一个标识列 必须同时指定种子和增量 或者两者都不指定 默认值 1 1 能够成为标识列的数据类型有int smallint tinyint numeric和decimal等系统数据类型 如果其数据类型为numeric和decimal 不允许出现小数位数 公式 用于指定计算列的列值表达式 排序规则 指定列的排序规则 在数据库中表名必须是唯一的 但是如果为表指定了不同的用户 就可以创建多个相同名称的表 3 7 1表 表中数据的操作在企业管理器中操作表中的数据使用SELECT语句查询数据使用INSERT语句插入数据使用UPDATE语句更新数据使用DELETE语句删除数据 SELECT语法 SELECTselect list INTOnew table FROMtable source WHEREsearch condition GROUPBYgroup by expression HAVINGsearch condition ORDERBYorder expression ASC DESC INSERT语法 INSERT INTO table nameWITH n view name rowset function limited column list VALUES DEFAULT NULL expression n derived table execute statement DEFAULTVALUES UPDATE语法 UPDATE table nameWITH n view name rowset function limited SET column name expression DEFAULT NULL variable expression variable column expression n FROM n WHERE WHERECURRENTOF GLOBAL cursor name cursor variable name OPTION n DELETE语法 DELETE FROM table nameWITH n view name rowset function limited FROM n WHERE CURRENTOF GLOBAL cursor name cursor variable name 3 7 2约束 约束是SQLServer提供的自动保持数据库完整性的一种方法列级约束 列级约束是列定义的一部分 只能够应用在一列上 表级约束 表级约束独立于列的定义 可以应用在一个表的多列上 主键约束主键能唯一地确定表中的每一条记录 可以保证实体的完整性 不能取空值 唯一性约束唯一性约束用于指定一个或多个列的组合值具有唯一性 以防止在列中输入重复的值使用唯一性约束的字段允许为空值一个表中可以允许有多个唯一性约束可以把唯一性约束定义在多个字段上唯一性约束用于强制在指定字段上创建一个唯一性索引默认情况下 创建的索引类型为非聚集索引 3 7 2约束 检查约束保证数据库数据的完整性一个列级检查约束只能与限制的字段有关 一个表级检查约束只能与限制的表中字段有关一个表中可以定义多个检查约束每个CREATETABLE语句中每个字段只能定义一个检查约束在多个字段上定义检查约束 必须将检查约束定义为表级约束当执行INSERT语句或者UPDATE语句时 检查约束将验证数据检查约束中不能包含子查询默认约束每个字段只能定义一个默认约束如果定义的默认值长于其对应字段的允许长度 那么输入到表中的默认值将被截断不能加入到带有IDENTITY属性或者数据类型为timestamp的字段上 3 7 2约束 外键约束外键约束主要用来维护两个表之间数据的一致性外键约束提供了字段参照完整性外键约束不能自动创建索引 需要用户手动创建用户想要修改外键约束的数据 必须有对外键约束所参考表的SELECT权限或者REFERENCES权限参考同一表中的字段时 必须只使用REFERENCES子句 不能使用外键子句一个表中最多可以有31个外键约束在临时表中 不能使用外键约束主键和外键的数据类型必须严格匹配 3 7 3数据类型 整型数据类型Bigint Int Smallint Tinyint浮点数据类型Real 4个字节的 最大7位精确位数 Float 可以精确到第15位小数 默认占用8个字节的存储空间 Float数据类型也可以写为float n 的形式 n为1 15之间的整数值 当n取1 7时 系统用4个字节存储它 当n取8 15时 用8个字节存储它 Decimal和numeric 可以提供小数所需要的实际存储空间 可以用2 17个字节来存储 也可以将其写为decimal p s 的形式 例如 decimal 10 5 表示共有10位数 其中整数5位 小数5位 3 7 3数据类型 字符数据类型用来存储各种字母 数字符号和特殊符号 在使用时需要在其前后加上英文单引号或者双引号 Char 其定义形式为 char n n的取值为1 8000 默认n的值为1 Varchar 可以存储长达8000个字符的可变长度字符串 和char类型不同varchar类型根据输入数据的实际长度而变化 其定义形式为 varchar n Nchar 采用Unicode 统一字符编码标准 字符集每个Unicode字符用两个字节为一个存储单位 其定义形式为 nchar n Nvarchar 使用Unicode字符集的Varchar数据类型 其定义形式为 nvarchar n 3 7 3数据类型 日期和时间数据类型Datetime 占用8个字节 用于存储日期和时间的结合体 可以存储从公元1753年1月1日零时起 公元9999年12月31日23时59分59秒之间的所有日期和时间 其精确度可达三百分之一秒 当存储datetime数据类型时 默认的格式是 MMDDYYYYhh mmA M P M 当插入数据或者在其它地方使用datetime类型时 需要用单引号把它括起来 默认January1 190012 00A M 可以接受的输入格式如下 Jan41999 JAN41999 January41999 Jan19994 19994Jan和1999Jan4 datetime数据类型允许使用 和 作为不同时间单位间的分隔符 Smalldatetime 4个字节 存储从1900年1月1日 2079年6月6日内的日期 3 7 3数据类型 文本和图形数据类型Text 容量可以在1 231 1个字节 在定义Text数据类型时 不需要指定数据长度 SQLServer会根据数据的长度自动为其分配空间 Ntext 采用unicode标准字符集 用于存储大容量文本数据 其理论上的容量为230 1 1 073 741 823 个字节 Image 用于存储照片 目录图片或者图画 其理论容量为231 1 2 147 483 647 个字节 货币数据类型Money 用于存储货币值 数值以一个正数部分和一个小数部分存储在两个4字节的整型值中 存储范围为 922337213685477 5808 922337213685477 5808 精度为货币单位的万分之一 Smallmoney 其存储范围为 214748 3468 214748 3467 当为money或smallmoney的表输入数据时 必须在有效位置前面加一个货币单位符号 如 或其它货币单位的记号 3 7 3数据类型 位数据类型Bit称为位数据类型 有两种取值 0和1 在输入0以外的其它值时 系统均把它们当1看待 特殊数据类型Timestamp 也称作时间戳数据类型 是一种自动记录时间的数据类型 主要用于在数据表中记录其数据的修改时间 它提供数据库范围内的唯一值 Uniqueidentifier 也称作唯一标识符数据类型 Uniqueidentifier用于存储一个16字节长的二进制数据类型 它是SQLServer根据计算机网络适配器地址和CPU时钟产生的全局唯一标识符代码 GloballyUniqueIdentifier 简写为GUID 3 7 4视图 视图的概念视图是是从一个或者多个数据表或视图中导出的虚表 视图的结构和数据是对数据表进行查询的结果 视图被定义后便存储在数据库中 通过视图看到的数据只是存放在基表中的数据 当对通过视图看到的数据进行修改时 相应的基表的数据也会发生变化 同时 若基表的数据发生变化 这种变化也会自动地反映到视图中 视图可以是一个数据表的一部分 也可以是多个基表的联合 视图的优点视图可以屏蔽数据的复杂性 简化用户对数据库的操作 视图可以让不同的用户以不同的方式看到不同或者相同的数据集 可以使用视图重新组织数据 视图可以定制不同用户对数据的访问权限 3 7 4视图 创建视图视图的名称只能在当前数据库中创建视图 一个视图中行 列的限制 如果视图中某一列是函数 数学表达式 常量或者来自多个表的列名相同 则必须为列定义名称 不能在视图上创建索引 不能在规则 默认的定义中引用视图 3 7 4视图 使用视图修改视图中的数据时每次修改都只能影响一个基表 不能修改那些通过计算得到的字段 如果在创建视图时指定了WITHCHECKOPTION选项 那么所有使用视图修改数据库信息时 必须保证修改后的数据满足视图定义的范围 执行UPDATE DELETE命令时 所删除与更新的数据必须包含在视图的结果集中 如果视图引用多个表时 无法用DELETE命令删除数据 若使用UPDATE命令则应与INSERT操作一样 被更新的列必须属于同一个表 3 7 5索引 索引的概念数据库中的索引是一个列表 在这个列表中包含了某个表中一列或者若干列值的集合 以及这些值的记录在数据表中的存储位置的物理地址 索引的优点可以大大加快数据检索速度 通过创建唯一索引 可以保证数据记录的唯一性 在使用ORDERBY和GROUPBY子句进行检索数据时 可以显著减少查询中分组和排序的时间 使用索引可以在检索数据的过程中提高系统性能 可以加速表与表之间的连接 这一点在实现数据的参照完整性方面有特别的意义 3 7 5索引 索引的分类聚集索引和非聚集索引复合索引唯一索引 3 7 6存储过程 存储过程的概念SQLServer的存储过程类似于编程语言中的过程 在使用Transact SQL语言编程的过程中 可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程 将其保存在数据库中 并由SQLServer服务器通过过程名来调用它们 这些过程就叫做存储过程 存储过程在创建时就被编译和优化 调用一次以后 相关信息就保存在内存中 下次调用时可以直接执行 存储过程的优点实现了模块化编程 存储过程具有对数据库立即访问的功能 使用存储过程可以加快程序的运行速度 使用存储过程可以减少网络流量 使用存储过程可以提高数据库的安全性 存储过程示例 CREATEPROCEDUREfindproduct articlechar 11 ASSELECT FROMproductWHEREarticlelike articleGO 存储过程执行 EXECUTEfindproduct 电阻 EXECUTEfindproduct article 电阻 EXECfin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会员卡制作合同范本
- 车辆信息售卖合同范本
- 文创咨询服务合同范本
- 村集体入股合同协议书
- 会员卡转让合同范本
- 汽车靠背广告合同范本
- 6《我们神圣的国土 好山好水好风光》(教学设计)-2024-2025学年道德与法治五年级上册统编版
- 产权车位过户协议书
- 政府部门监管合同范本
- 杭州物流运输合同范本
- 水厂配水管道工程可行性研究报告
- 山路交通安全培训课件
- 劳动争议维权课件
- 供货合同范本附件模板
- 国开2025年春本科《国家安全教育》形考作业1-4终考答案
- 硫化氢安全防护知识培训课件
- 2025年中医确有专长考试题库(附答案)与答案
- 民办高校与公办高校结对共建的策略及实施路径
- 2025年-思想道德与法治2023版第五章教学设计教案 遵守道德规范 锤炼道德品格-新版
- 2025年广西国家公务员申论考试真题及答案
- 部队炊事班年度工作总结
评论
0/150
提交评论