数据库技术介绍PPT_第1页
数据库技术介绍PPT_第2页
数据库技术介绍PPT_第3页
数据库技术介绍PPT_第4页
数据库技术介绍PPT_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术简介,1,本章内容,应用背景 数据库应用程序设计方案简介 SQL SERVER简介 SQL SERVE组件 SQL SERVER版本 SQL SERVER数据库中的对象,应用背景,随着计算机技术的蓬勃发展,计算机应用已经涉及人们日常生活、工作的各个领域。 数据处理是计算机四大应用(科学计算、过程控制、数据处理和辅助设计)的一个主要方面,而且已经渗透到许多其他应用领域。,1.1数据库系统应用程序设计方案简介,数据库和数据库系统的基本概念 几种数据库系统应用程序模型 常用的数据库访问接口,数据库及数据库系统概念,数据库,顾名思义,是存放数据的仓库 数据库系统是指在计算机系统中引入数据库后

2、的系统,一般由数据库、数据库管理系统、应用程序系统和数据库用户几个部分组成。,数据库系统应用程序模型,单层模型: 基于早期的文件和程序集成的一种开发模型 两层模型: 又称C/S模型,将数据和程序代码分离,采用客户端请求和服务端响应方式实现数据共享 三层/N层模型 : 又称B/S模型,将代码中的界面表示(表示层)和程序逻辑(商业规则,中间层)分离,数据访问更加灵活。,常用数据库访问接口,开放数据库互联(ODBC)和DB库 内嵌SQL 数据访问对象(Data Access Object,DAO) 远程数据库对象(Remote Data Object,RDO) OLE DB ADO(Active D

3、ata Object) ADO.Net(ADO+),1.2SQL Server简介,SQL Server起源 SQL Server不是一个数据库。它是一种客户机/服务器关系型数据库管理系统,简称RDBMS SQL Server是一个作为服务运行的Windows应用程序 SQL Server是一个全面的、集成的、端到端的数据解决方案,SQL Server的特点,真正的客户机/服务器体系结构。 图形化用户界面 丰富的编程接口工具 SQL Server与Windows NT完全集成 具有很好的伸缩性 对Web技术的支持 SQL Server提供数据仓库功能,SQL Server 2005具有的新特性

4、,实现了与Microsoft Visual Studio、Microsoft Office System和新的开发工具包的紧密集成 增强的报表服务 增强的数据访问接口 增强的数据分析服务 增强的数据复制服务 改进的开发工具 可以为不同规模的企业构建和部署经济有效的BI解决方案,1.3 SQL Server的组件,数据库引擎(Database Engine) 分析服务(Analysis Services) 报表服务(Reporting Service) 集成服务(Integration Service SQL Server 2005管理平台 商业智能开发平台 配置管理器 SQL Server联机

5、丛书,1.4 SQL Server 2005的版本,SQL Server 2005企业版 SQL Server 2005标准版 SQL Server 2005工作组版 SQL Server 2005学习版 SQL Server 2005开发版 SQL Server 2005移动版,1.5 SQL Server中常用的数据对象,表 数据类型 视图 存储过程 触发器 约束 索引,数据库对象,数据库对象的引用方法,全限定名称,SQL Server对象的完整名称包括4个标识符:服务器名称、数据库名称、对象的所有者名称和对象名称。格式如下:,Server.database.owner.object,Se

6、rver.database.object Server.owner.object Server.object database.owner.object database.object owner.object object,部分指定的名称,管理数据库,介绍数据库管理员最核心的工作创建和管理SQL Server数据库。 介绍如何使用SQL Server管理器和系统存储过程实现大多数与数据库相关的任务。,内容提要,创建数据库 修改数据库 删除数据库 数据库备份 数据库还原 系统数据库介绍,4.1 创建数据库,SQL Server的数据库,一般至少包括两个文件: 数据文件:用来存储数据库的数据和对

7、象,如表、索引、存储过程和视图等。默认的扩展名为“mdf” 日志文件:用来存储日志的文件,包括恢复数据中的所有事务所需的信息。扩展名为“ldf”,创建新数据库的注意事项,默认情况下,只有系统管理员可以创建新数据库。 给数据库指定的名字必须遵循SQL Server命名规范: 所有的新数据库都是model数据库的备份。这意味着新数据库不可能比model数据库当前的容量更小。 单个数据库可以存储在单个文件上,也可以跨越多个文件存储。 数据库的大小可以被扩展或者收缩。 当新的数据库创建时,SQL Server自动地更新master数据库的sysdatabases系统表。,文件与文件组,数据库文件:存放

8、数据库数据和数据库对象的文件 主数据库文件:.MDF文件 次数据库文件:.NDF文件 日志文件 :是用来记录数据库更新情况的 文件 主日志文件 次日志文件 文件组 :将多个数据库文件集合起来形成的一个整体 主文件组 次文件组,使用管理器创建数据库,1.首先确保已经成功连接到服务器 2.选择“对象资源管理器”面板中的“数据库”选项并右击,在弹出的快捷菜单中选择“新建数据库”选项。,在弹出窗口的“数据库名称”中输入数据库名“Demo”,所有者使用默认值,设置好参数之后,单击“确定”按钮即可创建一个以Demo命名的数据库,使用Transact-SQL语句创建数据库,CREATE DATABASE语句

9、的语法: CREATE DATABASE database_name ON PRIMARY ,.n , ,.n LOG ON ,.n FOR LOAD | FOR ATTACH ,创建50MB数据和15MB日志的Demo数据库,CREATE DATABASE Demo ON PRIMARY ( NAME = Demo_data , FILENAME= c: Demo.mdf, SIZE=50MB, MAXSIZE=70MB, FILEGROWTH=1MB ) LOG ON( NAME= Demo _log , FILENAME= c: Demo.ldf, SIZE=15MB, MAXSIZE=

10、20MB, FILEGROWTH=1MB ),数据库对象属性设置,4.2 修改数据库,使用SQL Server管理器修改数据库 打开数据库属性对话框 修改数据文件大小 修改日志文件大小 按确定保存,使用Transact-SQL语句修改数据库,语法:ALTER DATABASE database ADD FILE ,.n TO FILEGROUP filegroup_name | ADD LOG FILE ,.n | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_

11、name | MODIFY FILE | MODIFY FILEGROUP filegroup_name filegroup_property ,修改数据库文件和日志文件,例如: USE master ALTER DATABASE Demo MODIFY FILE ( NAME = Demo _log, MAXSIZE = 25MB ) GO USE master ALTER DATABASE Demo MODIFY FILE ( NAME = Demo _log, SIZE = 20MB) GO,4.3 删除数据库,DROP DATABASE语句的语法: 例如: 表示删除当前的MyDB。,D

12、ROP DATABASE Demo,DROP DATABASE database_name,n,4.4 数据库备份和恢复,备份 备份就是指对SQL Server数据库或事务日志进行复制。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。如果数据库因意外而损坏,这些备份文件将在数据库恢复时被用来恢复数据库。 恢复 恢复就是把遭受破坏、丢失数据或出现错误的数据库恢复到原来的正常状态。这一状态是由备份决定的,但是为了维护数据库的一致性,在备份中未完成的事务并不进行恢复。,数据库备份类型,数据库备份 数据库备份是指对数据库的完整备份,包括所有的数据及数据库对象。 事务日志备份 事务日志备份是

13、指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。 差异备份 差异备份是指将最近一次数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。 文件和文件组备份 文件或文件组备份是指对数据库文件或文件夹进行备份,但其不像完整的数据库备份那样同时也进行事务日志备份。,创建和删除备份设备,使用SQL Server管理器创建备份设备 使用sp_addumpdevice创建备份设备 use master exec sp_addumpdevice disk, pubss, c:backdevbackdevpubs.bak 使用

14、SQL Server管理器删除备份设备 使用sp_dropdevice删除备份设备 sp_dropdevice pubss, c:backdevbackdevpubs.bak,使用管理器备份数据库,用SQL Server管理器备份数据库,用Transact-SQL语句备份数据库,/* 创建备份设备*/ use master exec sp_addumpdevice disk pubss c:mssql7backuppubss.dat /* 备份数据库*/ backup database pubs to pubss /* 创建事务日志备份设备*/ use master exec sp_addum

15、pdevice disk pubsslog c:mssql7backuppubsslog.dat /* 备份事务日志*/ backup log pubs to pubsslog,4.5 还原数据库,使用管理器还原数据库,使用RESTORE命令还原数据库,例如:还原数据库pubs至2009年4月1日前的状态。 Restore database pubs from pubss1, pubss2 with norecovery restore log pubs from pubsslog1 with norecovery restore log pubs from pubslog2 with rec

16、overy , stopat = Apr 1 2009 15:00 am,4.6 SQL Server系统数据库介绍,数据库目录系统表 每个数据库都使用数据库目录系统表来记录它的设计和使用情况。每一个SQL Server创建的数据库都包含下列19个数据库目录系统表 master数据库 master数据库是SQL Server中最重要的数据库。它存储的信息包括可用的数据库、为每一个数据库分配的空间、使用中的进程、用户账户、活动的锁、系统错误信息和系统存储过程等。 master数据存储在master.mdf中,事务日志存储在mastlog.ldf中。由于这个数据库非常重要,所以不允许用户直接修改它

17、。,msdb数据库 msdb数据库由SQL Server Agent服务使用,用来管理警报和任务。它还存储由SQL Server管理的数据库的每一次备份和恢复的历史信息。 msdb数据存储在msdbdata.mdf中,它的事务日志存储在msdblog.ldf中。 model数据库 任何一个新创建的数据库都包含前面描述的19个系统表。这19个系统表是在创建新数据库时从model数据库复制而来的。model数据库的主要作用是为新的数据库充当模板。 tempdb数据库 tempdb数据库是被所有SQL Server数据库和数据库用户共享的数据库。它用来存储临时信息,如对一个未建索引的表查询时创建的临

18、时索引的排序信息。,管理数据库及其完整性,内容提要,表是SQL Server 2005中最基本的数据库对象,它包含了数据库中所有的数据。表设计的好坏直接决定着一个数据库中的好坏,从而决定这个整个数据库应用系统的成败。 在数据库中,表表现为列的集合。与电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的一个域,要点: 创建表 修改表 删除表 创建和使用规则 创建和使用默认,5.1 创建表,表的设计过程中需要完成的主要任务: 设计表的各列及每一列的数据类型,尽量使表中不出现冗余信息,使其达到三级范式要求。 决定哪些列允许空值,某些列必须有值数据库才能正确运

19、行。 决定是否要在表中使用以及何时使用约束、默认设置或规则。 所需索引的类型,哪里需要索引,哪些列是主键,哪些是外键。,使用SQL Server管理器创建表,1展开对象资源管理器中的“数据库”“Demo”选项,右击“表”对象,在弹出的菜单中选择“新建表”选项 2进入表设计界面,切换到“属性”面板,输入表名,在“列名”和“数据类型”中填入相应的数据信息,设置好主键,单击“保存”,使用Transact_SQL语句创建表,创建表的Transact_SQL语句为CREATE TABLE。 CREATE TABLE的语法格式:,CREATE TABLE database_name. owner .| o

20、wner. table_name ( | column_name AS computed_column_expression | := CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE ,.n ) ON filegroup | DEFAULT TEXTIMAGE_ON filegroup | DEFAULT ,创建学生信息表Student,CREATE TABLE Student ( ID char(7) not null, Name char(10) not null, Sex char(2) not null, Birthday datet

21、ime not null, Birth_place varchar(50) not null, Class char(10) not null ),创建和使用5种基本约束,PRIMARY KEY(主键约束) FOREIGN KEY(外键约束) UNIQUE(唯一约束) CHECK(检查约束) DEFAULT(默认值约束),数据完整性分类,实体完整性 域完整性 参照完整性,PRIMARY KEY约束,列级PRIMARY KEY约束的定义格式: 表级PRIMARY KEY约束的定义格式:,CONSTRAINT constraint_name PRIMARY KEY CLUSTERED | NONC

22、LUSTERED WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT , CONSTRAINT constraint_name PRIMARY KEY CLUSTERED | NONCLUSTERED ( column ,.n ) WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT ,FOREIGN KEY约束,表级FOREIGN KEY约束的定义格式: 列级FOREIGN KEY约束的定义格式:, CONSTRAINT constraint_name FOREIGN KEY (column

23、,n) REFERENCES ref_table ( ref_column ) NOT FOR REPLICATION , CONSTRAINT constraint_name FOREIGN KEY REFERENCES ref_table ( ref_column ) NOT FOR REPLICATION ,UNIQUE约束,列级UNIQUE约束的定义格式: 表级UNIQUE约束的定义格式:,CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCLUSTERED WITH FILLFACTOR = fillfactor ON filegrou

24、p | DEFAULT , CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCLUSTERED ( column ,.n ) WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT ,CHECK约束,表级CHECK约束定义格式 : 列级CHECK约束定义格式 :, CONSTRAINT constraint_name CHECKNOT FOR REPLICATION(搜索条件), CONSTRAINT constraint_name CHECKNOT FOR REPLICATION(逻辑表达式),

25、DEFAULT约束, constraint_name:指出所建立的DEFAULT约束的名称。 constant_expression表达式为列提供默认值。, CONSTRAINT constraint_name DEFAULT constant_expression,5.2 修改表,ALTER TABLE 语句的语法 ALTER TABLE table ALTER COLUMN column_name new_data_type ( precision , scale ) COLLATE NULL | NOT NULL |ADD | DROP ROWGUIDCOL | ADD | column

26、_name AS computed_column_expression ,.n | WITH CHECK|WITH NOCHECK ADD ,.n | DROP CONSTRAINT constraint_name | COLUMN column ,.n | CHECK | NOCHECK CONSTRAINT ALL | constraint_name ,.n | ENABLE | DISABLE TRIGGER ALL | trigger_name ,.n ,CREATE TABLE doc_exa ( column_a INT) GO ALTER TABLE doc_exa ADD co

27、lumn_b VARCHAR(20) NULL ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL CONSTRAINT exb_unique UNIQUE ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a 1) GO EXEC sp_help doc_exa GO DROP TABLE doc_exa GO,5.3 查看表,sp_help的语法格式: 其中,name参数说明所检索表的名称。,sp_help name,5.4 删除表,执行DROP TABLE语句删除数据表。 DROP TABLE的语法格式: 其中,table_name为待删除表的名称。,DROP TABLE table_name,5.5 创建和使用规则,创建规则 在Transact-SQL中,执行CREATE RULE语句创建规则。 CREATE RULE的语法格式:,CREATE RULE rule AS condition_expression 例如: CREATE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论