SQLServer第2章数据库的创建与管理.ppt

上传人:za****8 文档编号:13190184 上传时间:2020-06-07 格式:PPT 页数:40 大小:342.51KB
返回 下载 相关 举报
SQLServer第2章数据库的创建与管理.ppt_第1页
第1页 / 共40页
SQLServer第2章数据库的创建与管理.ppt_第2页
第2页 / 共40页
SQLServer第2章数据库的创建与管理.ppt_第3页
第3页 / 共40页
点击查看更多>>
资源描述
,SQLServer数据库,1,使用企业管理器创建数据库,2,使用Transact-SQL语言创建数据库,3,数据库的修改和删除,4,数据库迁移,第2章数据库的创建与管理,2.1SQLServer数据库,SQLserver2000作为一个数据库管理系统(DBMS),它的主要功能就是管理数据库及其其他数据库对象,为了方便用户操作数据库和数据库对象,系统提供了两个实用工具,其中一个是以图形可视化界面操作数据库及其数据库对象的企业管理器,另一个是以SQL语句方法操作数据库及其数据库对象的查询分析器,一、SQLServer数据库结构,数据库的物理结构数据库文件类型数据文件主要数据文件和次要数据文件日志文件文件组主文件组用户定义文件组数据库的逻辑结构,数据库的物理结构,在SQLserver中任何一种数据库的内容都是以文件的形式存储在磁盘上的,具体来说就是以数据库文件和事务日志文件的形式存储在磁盘上的,所以我们通常说数据库由数据库文件和事务日志文件组成,一个数据库至少应包含一个数据库文件和一个事务日志文件。,数据库文件类型,数据库文件(DatabaseFile)是存放数据库中的所有数据和数据库对象(表、视图等)的一种文件。分为两种类类型:1.主数据文件:是数据库的起点,用来存储数据库的启动信息和部分或全部数据。扩展名为“.mdf”。注意:一个数据库只能有一个主数据文件。2.次数据文件:用来存储主数据库没有存储的其它数据。扩展名为“.ndf”。注意:一个数据库可以有0个或多个次数据文件。,日志文件,日志文件用来记录SQLServer的所有事务以及由这些事务引起的数据库数据的变化。所谓事务就是一个单元的工作,该单元的工作要么全部完成,要么全部取消。SQLServer2000是遵守先写日志再执行数据库修改的数据库系统,在数据库数据的任何变化写到磁盘之前,首先在日志文件中做记录,因此如果SQLServer系统发生出错,甚至出现数据库系统崩溃时,数据库管理员(DBA)可以通过日志文件完成数据库的修复与重建。,日志文件,每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的默认文件扩展名是.ldf。建立数据库时,SQLServer会自动建立数据库的事务日志。一般情况下,一个简单的数据库可以只有一个主数据文件和一个日志文件。如果数据库很大或很重要,则可以设置多个次要数据文件或更多的日志文件。,文件组,为了对数据库中的数据文件(主、次)进行有效管理,SQLServer系统允许将多个数据库文件按照其类型进行分组,相同类型的归纳为同一组,并赋予此组一个名称,这就是文件组。,文件组,SQLServer2000有两种类型的文件组:主文件组和用户定义文件组。主文件组包含主要数据文件(.mdf)和任何没有明确指派给其它文件组的其它文件。用户定义文件组是在CREATEDATABASE(创建数据库)或ALTERDATABASE(修改数据库)语句中,使用FILEGROUP关键字另外指定的文件组。,使用文件组需要注意以下几点:,SQLServer2000中的文件或文件组不能由一个以上数据库使用;每个数据库中的文件只能是一个文件组的成员;日志文件不属于任何文件组。如果文件组中的某个数据文件遭到破坏,那么整个文件组中的数据都无法使用。,二、SQLServer数据库类型,SQLServer2000数据库分为三种类型:系统数据库、示例数据库和用户自定义的数据库。相同点:三种数据库都能够创建数据库对象、存储数据以及管理数据不同点:(1)只有系统数据库可以用来操作和管理数据库系统。(2)系统数据库(4个)和样本数据库(2个)一般是在安装SQLServer2000的同时,系统自动建立的。而用户自定义的数据库是用户自己创建的。,系统数据库master数据库:是SQLServer2000的总控数据库。master数据库从整体上控制SQLServer系统和用户数据库应用程序的运行。它记录了所有的登录标识系统配置SQLServer初始化设置用户数据库及其初始化信息。由于master数据库是非常重要的一个系统的数据库,所以一般禁止用户直接访问。tempdb数据库:是SQLServer系统的一个临时数据库,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。在连接断开时自动清除。,系统数据库model数据库:是建立所有数据库的模板库,所有在本系统中创建的新数据库的内容,刚开始都与这个模板数据库完全一样。msdb数据库:是SQLServer2000代理服务所使用的数据库,用来执行预定的任务,如数据库备份和数据转换、调度警报和作业等。,示例数据库Pubs和Northwind数据库这两个是样本数据库,SQLServer文档和联机丛书的大部分实例都是在这两个示例数据库基础上生成的,这是为了方便初学者使用。,用户数据库,用户数据库是用户在开发具体应用程序时,因实际需要而在SQLServer2000系统中建立的的数据库,它们都以model系统数据库为样板。用户数据库也可从其他数据库管理系统建立的数据库经转换而来。,2.2创建数据库,若要创建数据库,必须确定数据库的名称、所有者、大小,以及用于存储数据库的文件和文件组。,创建数据库的方法:1、使用企业管理器(EnterpriseManager)创建数据库。2、在查询分析器中利用Transact-SQL语言创建数据库。,1、使用企业管理器创建数据库,()在企业管理器中,单击工具栏中的图标,或在数据库文件夹或其下属任一数据库图标上单击右键,选择新建数据库选项。()在常规(General)页框中,要求用户输入数据库名称以及排序规则名称。()点击数据文件(DataFiles)页框,该页框用来输入数据库文件的逻辑名称、存储位置、初始容量大小和所属文件组名称,如图3-10所示。()点击事务日志(TransactionLog)页框,该页框用来设置事务日志文件信息,如图3-11所示。()单击图3-11中的“确定”按钮,则开始创建新的数据库。,2、使用Transact-SQL语言创建数据库,简单语法如下:CREATEDATABASE数据库名ON子句LOGON子句说明:ON子句:用来定义数据文件(.mdf.ndf)属性。LOGON句:用来定义日志文件(.ldf)属性,1.ON子句格式ONPRIMARY(name=数据文件逻辑文件名,filename=数据文件物理文件名,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),n,FILEGROUP文件组名(数据文件定义),n,关于数据库文件以及所属文件组的定义选项。(,n表示可以定义多个),指数据库创建后在所有T-SQL语句中引用该文件时的名字。,存放到磁盘上时的具体路径和文件名。操作系统借助于该项去访问相应数据。,指定数据库文件的初始大小,指定数据库文件的最大大小,表明文件大小不限,指定数据库文件每次的增量:10%2MB,2.LOGON子句格式LOGON(name=日志文件逻辑文件名,filename=日志文件物理文件名,SIZE=初始大小,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),n,【例2-1】创建一个BOOK数据库,CREATEDATABASEBOOKON(NAME=BOOK1,FILENAME=F:SQL2008BOOK1.MDF,SIZE=5,MAXSIZE=15,FILEGROWTH=2),(NAME=BOOK2,FILENAME=F:SQL2008BOOK2.NDF,SIZE=2,FILEGROUPyyy,【例2-1】创建一个BOOK数据库,MAXSIZE=10,FILEGROWTH=10%)LOGON(NAME=BOOK_LOG,FILENAME=F:SQL2008BOOK_LOG.LDF,SIZE=1,MAXSIZE=10,FILEGROWTH=1),2.4修改数据库,修改数据库的方法:1、使用企业管理器(EnterpriseManager)修改数据库。2、在查询分析器中利用Transact-SQL语言修改数据库。,在企业管理器中修改数据库,方法:选定某个数据库右键单击快捷菜单的属性。扩大数据库:按至少1MB增加收缩数据库:自动和手动,利用企业管理器修改数据库,设置中的各选项说明如下:ANSINULL默认设置:允许在数据库表的列中输入空(NULL)值。递归触发器:允许触发器递归调用。SQLServer设定的触发器递归调用的层数最多为32层。自动更新统计信息:允许使用SELECTINTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入数据。残缺页检测:允许自动检测有损坏的页。自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。,自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。自动创建统计信息:在优化查询(QueryOptimizer)时,根据需要自动创建统计信息。使用被引用的标识符:标识符必须用双引号括起来,且可以不遵循Transact-SQL命名标准。,2.利用企业管理器修改数据库,用Transact-SQL语句修改数据库,在查询分析器中,可以使用ALTERDATABASE语句来对数据库进行修改。ALTERDATABASE功能:在数据库中添加或删除文件和文件组。更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称及其各种属性。,简要语法,ALTERDATABASE数据库名ADDFILE,.n|ADDLOGFILE,.n|REMOVEFILE逻辑文件名|ADDFILEGROUP文件组名|REMOVEFILEGROUP文件组名|MODIFYFILE|MODIFYNAME=新数据库名,内容:(NAME=逻辑文件名,FILENAME=物理文件名,SIZE=文件大小,MAXSIZE=maxsize|UNLIMITED,FILEGROWTH=文件的增长增量),【例子2-2】,ALTERDATABASEBOOKMODIFYFILE(NAME=book1,SIZE=8)ALTERDATABASEBOOKREMOVEFILEbook2,Name选项必须有;文件创建后只能修改其sizemaxsizefilegrowth属性,不能修改namefilename;Size的值只能比原来扩大,【例子2-3】,ALTERDATABASETEACHDBADDFILE(NAME=TEACHDB1,FILENAME=F:SQL2008TEACHDB1.NDF,SIZE=4,MAXSIZE=10,FILEGROWTH=10%),用Transact-SQL语句收缩数据库,语法:DBCCSHRINKDATABASE(数据库名,目标百分比)说明:目标百分比指收缩后文件中所要剩余的可用空间的百分比.(语法上应是一个正数,分数学上的百分比数据)【例子2-4】dbccshrinkdatabase(teachdb,10),删除数据库,删除数据库的方法:1、使用企业管理器(EnterpriseManager)删除数据库。2、在查询分析器中利用Transact-SQL语言删除数据库。,其语法如下:DROPDATABASE数据库名,n【例3-3】dropdatabasebook,2.5数据库迁移,分离和附加SQLServer数据库1分离和附加数据库的作用当在SQLServer2000中新建一个数据库时,系统数据库master记载了此数据库的相应信息,从而将它附加到SQLServer中来。此时,服务器拥有对该数据库的一切管辖权,包括对它的所有访问和管理操作。,分离和附加数据库的作用,但出于以下原因,我们有时需要将一个数据库从SQLServer中分离出来,使其中的所有数据文件和日志文件脱离服务器独立存在,然后又将它附加到原SQLServer或另一台计算机的服务器中:例如:将数据库移到其他计算机的SQLServer中使用。例如:改变存放数据库数据文件和日志文件的物理位置、名称。,分离数据库,数据库分离以后,在企业管理器树状结构窗口中就找不到该数据库了。此时,可将该数据库对应的数据文件和日志文件移动到其他磁盘或计算机去,再进行附加数据库操作。,分离数据库,通过数据库分离来改变数据库中数据文件和日志文件的存储位置例如:创建了一个数据库BOOK,原数据文件和日志文件存放位置:D:SQL2008BOOK1.MDFD:SQL2008BOOK2.NDF(1)将主数据文件BOOK1.MDF改名、改存储位置。D:bookshop.mdf(2)将次数据文件BOOK2.NDF改名。D:SQL2008BOOKshop.NDF,附加数据库,启动企业管理器在企业管理器树状结构窗口中,在数据库结点上单击鼠标右键,在弹出的快捷菜单上,选择所有任务中的“附加数据库”命令,如图所示。在“附加数据库”对话框中的“要附加数据库的MDF文件:M”文本框中输入主数据文件的存放路径及文件名,也可单击按钮查找选择对应的.mdf文件。这里找到已经WINDOWS资源管理器移到D盘根目录并改名bookshop.mdf的主数据文件。,附加数据库,选定主数据文件后,在中间框中将显示原数据库各文件名和当前文件位置。如果在当前主数据文件所在的位置找不到原来的文件,则在该文件的当前位置行会出现红色“”提示,如上页图所示。这时就应重新输入正确的路径和文件名。用鼠标和键盘手工修正了错误的文件位置和文件名后,原来的“”将变成“”。可在“附加为A:”右边的文本框中输入该数据库附加到SQLServer后的新文件名。在“指定数据库所有者:S”右边的列表框中选择一个用户帐户作为该数据库的所有者。按“确定”按钮即显示消息框,提示附加数据库顺利完成。提示:SQLServer2000中,也可以使用系统存储过程sp_detach_db来分离数据库,用sp_attach_db来附加数据库。,导入和导出数据,在SQLServer2000系统中,我们不但可以通过分离和附加数据库实现对SQLServer数据库的迁移,还可以利用系统工具在SQLServer数据库和其他异种数据库之间进行数据的导入和导出。利用SQLServer2000系统提供的导入和导出数据工具可以把SQLServer数据库(表)中的数据直接转换为其它系统可以使用的数据,例如:转换成FoxPro数据库、Excel表格、Access数据库、Oracle数据库,甚至文本文件等。同样也可以将这些系统中的数据转换为SQLServer中的数据,供SQLServer使用。从而实现各种不同系统和应用之间数据的移植和共享。,导入和导出数据,数据的导入或导出不仅牵涉到数据传输,还存在数据格式转换等问题。这些工作实际上都是借助于SQLServer提供的DTS(DataTransformServices)-数据传输服务来完成的。,1.使用“导入导出数据”工具将数据在SQLServer表中excel电子表格中转换。【例如】将student数据库中的class_info导出到excel表中。方法:在企业管理器窗口中选择工具菜单数据转换服务导出数据方法二:选择开始菜单程序McirsoftSQLServer导入导出数据方法三:在企业管理器窗口中选择工具菜单向导数据转换服务导出向导注意:可以借助于这种方式进行表的复制。实际上就是导出时的目的地设置为SQLserver。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!