SQLserver数据库技术介绍.ppt

上传人:ni****g 文档编号:569458105 上传时间:2024-07-29 格式:PPT 页数:63 大小:530.02KB
返回 下载 相关 举报
SQLserver数据库技术介绍.ppt_第1页
第1页 / 共63页
SQLserver数据库技术介绍.ppt_第2页
第2页 / 共63页
SQLserver数据库技术介绍.ppt_第3页
第3页 / 共63页
SQLserver数据库技术介绍.ppt_第4页
第4页 / 共63页
SQLserver数据库技术介绍.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《SQLserver数据库技术介绍.ppt》由会员分享,可在线阅读,更多相关《SQLserver数据库技术介绍.ppt(63页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、MicrosoftOfficeSystem和新的开发工具包的紧密集成n增强的报表服务n增强的数据访问接口n增强的数据分析服务n增强的数据复制服务n改进的开发工具n可以为不同规模的企业构建和部署经济有效的BI解决方案1.3SQLServer的组件n数据库引擎(DatabaseEngine)n分析服务(AnalysisServices)n报表服务(ReportingService)n集成服务(IntegrationServicenSQLServer2005管理平台n商业智能开发平台n配置管理器nSQLServer联机丛书1.4SQLServer2005的版本nSQLServer2005企业版nSQ

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

6、owner.objectdatabase.objectowner.objectobjectn部分指定的名称管理数据库管理数据库介绍数据库管理员最核心的工作创建和管理SQLServer数据库。介绍如何使用SQLServer管理器和系统存储过程实现大多数与数据库相关的任务。内容提要n创建数据库n修改数据库n删除数据库n数据库备份n数据库还原n系统数据库介绍4.1创建数据库nSQLServer的数据库,一般至少包括两个文件:n数据文件:用来存储数据库的数据和对象,如表、索引、存储过程和视图等。默认的扩展名为“mdf”n日志文件:用来存储日志的文件,包括恢复数据中的所有事务所需的信息。扩展名为“ldf

7、”创建新数据库的注意事项n默认情况下,只有系统管理员可以创建新数据库。n给数据库指定的名字必须遵循SQLServer命名规范:n所有的新数据库都是model数据库的备份。这意味着新数据库不可能比model数据库当前的容量更小。n单个数据库可以存储在单个文件上,也可以跨越多个文件存储。n数据库的大小可以被扩展或者收缩。n当新的数据库创建时,SQLServer自动地更新master数据库的sysdatabases系统表。文件与文件组n数据库文件数据库文件:存放数据库数据和数据库对象的文件n主数据库文件:.MDF文件n次数据库文件:.NDF文件n日志文件日志文件:是用来记录数据库更新情况的文件n主日

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

9、0MB数据和15MB日志的Demo数据库CREATEDATABASEDemoONPRIMARY(NAME=Demo_data,FILENAME=c:Demo.mdf,SIZE=50MB,MAXSIZE=70MB,FILEGROWTH=1MB)LOGON(NAME=Demo_log,FILENAME=c:Demo.ldf,SIZE=15MB,MAXSIZE=20MB,FILEGROWTH=1MB)数据库对象属性设置4.2修改数据库n使用SQLServer管理器修改数据库n打开数据库属性对话框n修改数据文件大小n修改日志文件大小n按确定保存n使用Transact-SQL语句修改数据库语法:ALTE

10、RDATABASEdatabaseADDFILE,.nTOFILEGROUPfilegroup_name|ADDLOGFILE,.n|REMOVEFILElogical_file_name|ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILE|MODIFYFILEGROUPfilegroup_namefilegroup_property修改数据库文件和日志文件例如:USEmasterALTERDATABASEDemoMODIFYFILE(NAME=Demo_log,MAXSIZE=25MB)GOUSEmaster

11、ALTERDATABASEDemoMODIFYFILE(NAME=Demo_log,SIZE=20MB)GO4.3删除数据库DROPDATABASE语句的语法:例如:表示删除当前的MyDB。DROPDATABASEDemoDROPDATABASEdatabase_name,n4.4数据库备份和恢复n备份n备份就是指对SQLServer数据库或事务日志进行复制。数据库备份记录了在进行备份这一操作时数据库中所有数据的状态。如果数据库因意外而损坏,这些备份文件将在数据库恢复时被用来恢复数据库。n恢复n恢复就是把遭受破坏、丢失数据或出现错误的数据库恢复到原来的正常状态。这一状态是由备份决定的,但是为了

12、维护数据库的一致性,在备份中未完成的事务并不进行恢复。数据库备份类型n数据库备份n数据库备份是指对数据库的完整备份,包括所有的数据及数据库对象。n事务日志备份n事务日志备份是指对数据库发生的事务进行备份,包括从上次进行事务日志备份、差异备份和数据库完全备份之后,所有已经完成的事务。n差异备份n差异备份是指将最近一次数据库备份以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。n文件和文件组备份n文件或文件组备份是指对数据库文件或文件夹进行备份,但其不像完整的数据库备份那样同时也进行事务日志备份。创建和删除备份设备n使用SQLServer管理器创建备份设备n使用sp_addump

13、device创建备份设备usemasterexecsp_addumpdevicedisk,pubss,c:backdevbackdevpubs.bakn使用SQLServer管理器删除备份设备n使用sp_dropdevice删除备份设备sp_dropdevicepubss,c:backdevbackdevpubs.bak使用管理器备份数据库n用SQLServer管理器备份数据库用Transact-SQL语句备份数据库/*创建备份设备*/usemasterexecsp_addumpdevicediskpubssc:mssql7backuppubss.dat/*备份数据库*/backupdatab

14、asepubstopubss/*创建事务日志备份设备*/usemasterexecsp_addumpdevicediskpubsslogc:mssql7backuppubsslog.dat/*备份事务日志*/backuplogpubstopubsslog4.5还原数据库n使用管理器还原数据库使用RESTORE命令还原数据库例如:还原数据库pubs至2009年4月1日前的状态。Restoredatabasepubsfrompubss1,pubss2withnorecoveryrestorelogpubsfrompubsslog1withnorecoveryrestorelogpubsfrompu

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

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

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

18、某些列必须有值数据库才能正确运行。n决定是否要在表中使用以及何时使用约束、默认设置或规则。n所需索引的类型,哪里需要索引,哪些列是主键,哪些是外键。使用SQLServer管理器创建表n1展开对象资源管理器中的“数据库”“Demo”选项,右击“表”对象,在弹出的菜单中选择“新建表”选项n2进入表设计界面,切换到“属性”面板,输入表名,在“列名”和“数据类型”中填入相应的数据信息,设置好主键,单击“保存”使用Transact_SQL语句创建表创建表的Transact_SQL语句为CREATETABLE。CREATETABLE的语法格式:CREATETABLEdatabase_name.owner.

19、|owner.table_name(|column_nameAScomputed_column_expression|:=CONSTRAINTconstraint_name|PRIMARYKEY|UNIQUE,.n)ONfilegroup|DEFAULTTEXTIMAGE_ONfilegroup|DEFAULT创建学生信息表创建学生信息表StudentCREATE TABLE Student(ID char(7) not null,Name char(10) not null,Sex char(2) not null,Birthday datetime not null,Birth_place

20、 varchar(50) not null,Class char(10) not null)创建和使用5种基本约束nPRIMARYKEY(主键约束)nFOREIGNKEY(外键约束)nUNIQUE(唯一约束)nCHECK(检查约束)nDEFAULT(默认值约束)数据完整性分类n实体完整性n域完整性n参照完整性PRIMARYKEY约束列级PRIMARYKEY约束的定义格式:表级PRIMARYKEY约束的定义格式:CONSTRAINTconstraint_namePRIMARYKEYCLUSTERED|NONCLUSTEREDWITHFILLFACTOR=fillfactorONfilegroup

21、|DEFAULTCONSTRAINTconstraint_namePRIMARYKEYCLUSTERED|NONCLUSTERED(column,.n)WITHFILLFACTOR=fillfactorONfilegroup|DEFAULTFOREIGNKEY约束表级FOREIGNKEY约束的定义格式:列级FOREIGNKEY约束的定义格式:CONSTRAINTconstraint_nameFOREIGNKEY(column,n)REFERENCESref_table(ref_column)NOTFORREPLICATIONCONSTRAINTconstraint_nameFOREIGNKEY

22、REFERENCESref_table(ref_column)NOTFORREPLICATIONUNIQUE约束列级UNIQUE约束的定义格式:表级UNIQUE约束的定义格式:CONSTRAINTconstraint_nameUNIQUECLUSTERED|NONCLUSTEREDWITHFILLFACTOR=fillfactorONfilegroup|DEFAULTCONSTRAINTconstraint_nameUNIQUECLUSTERED|NONCLUSTERED(column,.n)WITHFILLFACTOR=fillfactorONfilegroup|DEFAULTCHECK约束

23、n表级CHECK约束定义格式:n列级CHECK约束定义格式:CONSTRAINTconstraint_nameCHECKNOTFORREPLICATION(搜索条件)CONSTRAINTconstraint_nameCHECKNOTFORREPLICATION(逻辑表达式)DEFAULT约束constraint_name:指出所建立的DEFAULT约束的名称。constant_expression表达式为列提供默认值。CONSTRAINTconstraint_nameDEFAULTconstant_expression5.2修改表ALTERTABLE语句的语法ALTERTABLEtableAL

24、TERCOLUMNcolumn_namenew_data_type(precision,scale)COLLATENULL|NOTNULL|ADD|DROPROWGUIDCOL|ADD|column_nameAScomputed_column_expression,.n|WITHCHECK|WITHNOCHECKADD,.n|DROPCONSTRAINTconstraint_name|COLUMNcolumn,.n|CHECK|NOCHECKCONSTRAINTALL|constraint_name,.n|ENABLE|DISABLETRIGGERALL|trigger_name,.nCREA

25、TETABLEdoc_exa(column_aINT)GOALTERTABLEdoc_exaADDcolumn_bVARCHAR(20)NULLALTERTABLEdoc_excADDcolumn_bVARCHAR(20)NULLCONSTRAINTexb_uniqueUNIQUEALTERTABLEdoc_exdWITHNOCHECKADDCONSTRAINTexd_checkCHECK(column_a1)GOEXECsp_helpdoc_exaGODROPTABLEdoc_exaGO5.3查看表sp_help的语法格式:其中,name参数说明所检索表的名称。sp_helpname5.4删

26、除表n执行DROPTABLE语句删除数据表。nDROPTABLE的语法格式:其中,table_name为待删除表的名称。DROPTABLEtable_name5.5创建和使用规则n创建规则在Transact-SQL中,执行CREATERULE语句创建规则。nCREATERULE的语法格式:CREATERULEruleAScondition_expression例如:CREATERULErange_ruleASrange=$1000ANDrange$20050规则应用sp_bindrule的语法格式:sp_bindrulerulename=rule,objname=object_name,fut

27、ureonly=futureonly_flag例如:USEmasterEXECsp_bindrulerange_rule,employees.Salary解除规则n解除绑定规则:sp_unbindrulesp_unbindruleobjname=object_name,futureonly=futureonly_flag例如:EXECsp_unbindruleemployees.salary删除规则n删除规则:DROPRULErule,.n例如:DropRulerange_rule5.6创建和使用默认n创建默认:CREATEDEFAULT语句语法:CREATEDEFAULTdefaultASc

28、onstant_expression例如:CREATEDEFAULTphonedfltASunknown绑定默认n绑定默认值:sp_bindefaultn语法:sp_bindefaultdefname=default,objname=object_name,futureonly=futureonly_flag例如:EXECsp_bindefaulttoday,employees.hiredate解除默认绑定解除绑定:sp_unbindefault语法:sp_unbindefaultobjname=object_name,futureonly=futureonly_flag例如:EXECsp_unbindefaultemployees.hiredate删除默认n删除默认:DropDefaultn语法:DROPDEFAULTdefault,.n例如:DROPDEFAULTphonedflt

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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