《数据库应用基础第二章数据库的基本操作.ppt》由会员分享,可在线阅读,更多相关《数据库应用基础第二章数据库的基本操作.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库应用基础第二章数据库的基本操作 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望复习1 数据2 数据库3 数据库管理系统2.1 2.1 文件和文件组文件和文件组1 1 文件文件主要数据文件:该文件包含数据库的启动信息,并用于存储数据,扩展名是.mdf次要数据文件(可选):由用户定义并存储,这些文件含有不能置于主要数据文件中的所有数据,扩展名是.ndf 事务日志文件:这些文件包含用于恢复数据库的日志信息。每个数据库都必须至少有一个日志文件,扩展名是.ldf SQ
2、L Server 2005 数据库至少具有两个系统文件:数据文件日志文件第二章第二章 数据库的基本操作数据库的基本操作对象对象 作用作用表表 数据库中数据的实际存放处所数据库中数据的实际存放处所视图视图 定制复杂或常用的查询,以便用户使用;定制复杂或常用的查询,以便用户使用;限定用户只能查看表中的特定行或列;限定用户只能查看表中的特定行或列;为用户为用户 提供统计数据而不展示细节提供统计数据而不展示细节索引索引 加快从表或视图中检索数据的效率加快从表或视图中检索数据的效率存储过程存储过程 提高性能;封装数据库的部分或全部细提高性能;封装数据库的部分或全部细 节;帮助在不同的数据库应用程序之间实
3、节;帮助在不同的数据库应用程序之间实 现一致的逻辑现一致的逻辑约束、规则、约束、规则、确保数据库的数据完整性;强制执行业务确保数据库的数据完整性;强制执行业务默认值和触发器默认值和触发器 规则规则登陆、用户、登陆、用户、保障数据安全的基础保障数据安全的基础角色和组角色和组4 SQL ServerSQL Server中常用的数据库对象中常用的数据库对象2 2 文件组文件组为了方便数据的分配、放置和管理,SQL Server允许对文件进行分组处理,每一组赋予一个名称,在同一个组里的文件就组成了文件组2.1 2.1 文件和文件组文件和文件组6事务日志文件*.ldf一到多个次数据文件*.ndf零到多个
4、次数据文件*.ndf零到多个主数据文件*.mdf仅有一个主文件组次文件组事务日志2.1 2.1 文件和文件组文件和文件组需要注意的有:文件或文件组不能由一个以上的数据库同时使用。例如:如果文件 sales.mdf 和 sales.ndf 包含了数据库sales中的数据和对象,那么任何其它数据库都不能使用这两个文件。2.1 2.1 文件和文件组文件和文件组82.2 创建数据库两种方法:两种方法:1.1.以图形化界面创建数据库以图形化界面创建数据库2.2.用用T-SQLT-SQL命令创建数据库命令创建数据库 Transact-SQLTransact-SQL交互式查询语言交互式查询语言9例:在例:在
5、C C盘根目录下创建名为盘根目录下创建名为My_DBMy_DB的数据库,的数据库,其主文件大小为其主文件大小为10MB10MB,最大大小为,最大大小为30MB30MB,日,日志文件大小为志文件大小为10MB10MB。Create DatabaseCreate Database My_dbMy_dbOn On Primary(Name=Primary(Name=My_dbdataMy_dbdata,Filename=Filename=c:my_db.mdfc:my_db.mdf,Size=Size=10mb10mb,Maxsize=Maxsize=30mb30mb,Filegrowth=File
6、growth=2mb2mb)2.2.1 用T-SQL命令创建数据库10Log On Log On(Name=(Name=My_dblogMy_dblog,Filename=Filename=c:my_db.ldfc:my_db.ldf,Size=Size=10mb10mb,Maxsize=Maxsize=20mb20mb,Filegrowth=Filegrowth=25%25%)Collate Collate Chinese_prc_ci_asChinese_prc_ci_as用T-SQL命令创建数据库(SQL语法)Create Database Create Database Databas
7、e_nameDatabase_name On On PrimaryPrimary,nn ,nn LOG On,LOG On,nn Collate Collation_name Collate Collation_name With With;11数据库名称指定关联的指定关联的定义主文件定义主文件数据文件或日数据文件或日志文件的定义志文件的定义12Log On (Name=logical_file_name,Filename=os_file_name,Size=size,Maxsize=max_size|unlimited,Filegrowth=growth_increment),.NColla
8、te Collation_name指定建立数据库的指定建立数据库的日志文件日志文件 指定数据库的缺省排指定数据库的缺省排序方式包含控制语言序方式包含控制语言或字母表用法的规则或字母表用法的规则 数据库的启动位置,数据库的启动位置,也是数据库中其他也是数据库中其他文件的入口位置文件的入口位置 指定文件的指定文件的操作系统文操作系统文件名和路径件名和路径 132 2 事务日志事务日志 每个每个 SQL Server 2005 SQL Server 2005 数据库必须都具数据库必须都具有有事务日志事务日志。事务日志是数据库的一个重。事务日志是数据库的一个重要组件,如果系统出现故障,它将成为最要组件
9、,如果系统出现故障,它将成为最新数据库的唯一来源。新数据库的唯一来源。事务日志是数据库中已发生的所有修改事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录。和执行每次修改的事务的一连串记录。事务日志记录每个事务的开始。事务日志记录每个事务的开始。事务日志支持的操作1.1.恢复个别事务恢复个别事务2.2.SQL ServerSQL Server启动时恢复所有未完成的事启动时恢复所有未完成的事务务3.3.将还原的数据库、文件、文件组或页前将还原的数据库、文件、文件组或页前滚到故障点滚到故障点4.4.支持事务复制支持事务复制5.5.支持备用服务器解决方案支持备用服务器解决方案1415
10、3 3 查看数据库信息查看数据库信息 1.1.图形化界面查看图形化界面查看2.2.T-SQLT-SQL命令查看数据库信息命令查看数据库信息 在在T-SQLT-SQL中,常用的中,常用的:函数函数 DatabasePropertyExDatabasePropertyEx或或 系统存储过程系统存储过程 sp_helpdbsp_helpdb来显示数据库和数据库参数的有关信息来显示数据库和数据库参数的有关信息16使用函数使用函数DatabasePropertyExDatabasePropertyEx的语法为:的语法为:Select DatabasePropertyExSelect DatabasePr
11、opertyEx(Database,property)其中:其中:Database:需要查看的数据库的名称需要查看的数据库的名称Property:数据库的具体属性名数据库的具体属性名 使用系统存储过程使用系统存储过程sp_helpdb的语法为:的语法为:Exec sp_helpdb database_name 例:分别用函数例:分别用函数DatabasepropertyexDatabasepropertyex和和系统存储过程系统存储过程sp_helpdbsp_helpdb两种方法来查两种方法来查看数据库看数据库My_DBMy_DB的属性的属性17Select Databasepropertye
12、x Select Databasepropertyex(My_dbMy_db,collationcollation)GoGoExec Sp_helpdb Exec Sp_helpdb My_dbMy_dbGoGo182.3 管理数据库 打开数据库打开数据库 增加数据库容量增加数据库容量 查看及修改数据库选项查看及修改数据库选项缩减数据库容量缩减数据库容量 更改数据库名称更改数据库名称 查看数据库个数查看数据库个数 删除数据库删除数据库19 在连接在连接SQL ServerSQL Server时,假如没有预先时,假如没有预先指定用户连上哪个数据库,系统会自动连指定用户连上哪个数据库,系统会自动连
13、上上mastermaster数据库,此时要防止由于用户操数据库,此时要防止由于用户操作不当而造成作不当而造成mastermaster数据库的破坏。数据库的破坏。1 1 打开数据库打开数据库打开数据库:打开数据库:Use database_nameUse database_name 202 2 查看及修改查看及修改(1 1)T-SQLT-SQL界面查看界面查看(2)用用T-SQL命令查看数据库命令查看数据库用用sp_optionssp_options系统存储程序查看:系统存储程序查看:Exec sp_dboption Exec sp_dboption mastermastergogo21(3)用
14、用T-SQL命令更改数据库选项命令更改数据库选项更改命令如下更改命令如下(使用权限:使用权限:sa,dbo)sa,dbo):sp_dboptionsp_dboptiondname,optname,true|falsedname,optname,true|false其中:其中:dnamedname:想操作的数据库名称想操作的数据库名称OptnameOptname:欲更改的数据库选项:欲更改的数据库选项true,falsetrue,false:设定数据库选项的值:设定数据库选项的值例:更改例:更改My_DBMy_DB为只读状态为只读状态Exec sp_dboption Exec sp_dbopti
15、on My_DB_DB,read read onlyonly,truetruegogo22(4 4)查看数据库的数量)查看数据库的数量 在在sqlsql查询分析器中执查询分析器中执行如下命令:行如下命令:Use Master Use Master GoGoSelectSelect name name FromFrom Sys.Sysdatabases Sys.Sysdatabases返回结果:返回结果:MasterMasterModelModelMsdbMsdbTempdbTempdb231.增加数据库容量增加数据库容量用用T-SQLT-SQL命令扩增数据库容量命令扩增数据库容量使用权限默认为
16、使用权限默认为dbo(dbo(数据库拥有者数据库拥有者)扩增数据库命令语句如下:扩增数据库命令语句如下:Alter Database Alter Database database_namedatabase_nameModify FileModify File(Name=(Name=file_namefile_name,Size=Size=newsizenewsize)要扩容的数据库要扩容的数据库要扩容的数据库文件名要扩容的数据库文件名(是数据文件还是日志文件)(是数据文件还是日志文件)为该文件指为该文件指定新容量定新容量3 3 增加及缩减数据库容量增加及缩减数据库容量24例:例:数据库文件数
17、据库文件my_dbdatamy_dbdata的初始分配空的初始分配空间大小为间大小为10mb10mb,指派给,指派给my_dbmy_db数据库使用,数据库使用,现在想将其大小扩充至现在想将其大小扩充至20mb20mb,则具体操作,则具体操作命令如下:命令如下:Use Use My_dbMy_dbGoGoAlter Database Alter Database My_dbMy_dbModify File Modify File(Name=(Name=My_dbdataMy_dbdata,Size=Size=20 Mb20 Mb)252.2.缩减数据库容量缩减数据库容量 用户可以通过缩减数据库容
18、量来节省用户可以通过缩减数据库容量来节省设备空间的浪费,其操作也可以通过设备空间的浪费,其操作也可以通过T-SQLT-SQL命令和图形化方式来完成。命令和图形化方式来完成。26 执行执行DBCC ShrinkdatabaseDBCC Shrinkdatabase命令来完成,命令来完成,但在此之前需用但在此之前需用sp_dboptionsp_dboption命令,将想缩减命令,将想缩减容量的数据库设定为单用户模式容量的数据库设定为单用户模式缩减数据库容量命令语句:缩减数据库容量命令语句:Dbcc ShrinkdatabaseDbcc Shrinkdatabase(Database_nameDat
19、abase_name,New_size,New_size,Masteroverride,Masteroverride)用用T-SQLT-SQL命令命令想缩减的数据库想缩减的数据库数据库剩下的数据库剩下的容量容量缩减缩减mastermaster系统数系统数据库据库默认权限为默认权限为sa,dbosa,dbo27例:缩减例:缩减My_DBMy_DB数据库的容量数据库的容量Exec Sp_dboptionExec Sp_dboptionmy_dbmy_db,single single UserUser,truetrueGoGoUse Use My_dbGoGoDBCC Shrinkdatabase(
20、DBCC Shrinkdatabase(my_dbmy_db)GoGoExec Sp_dboption Exec Sp_dboption My_dbMy_db,single single UserUser,falsefalseGoGo284 4 数据库改名数据库改名通过通过T-SQLT-SQL命令更改名称语句如下:命令更改名称语句如下:sp_renamedb OldName,NewNamesp_renamedb OldName,NewName使用权限:使用权限:仅仅sasa可以更改数据库名称可以更改数据库名称例:更改数据库例:更改数据库“My_DBMy_DB”名称为名称为 “tsinghuat
21、singhua”Exec sp_renamedb Exec sp_renamedb My_DBMy_DB,tsing tsing huahuaGoGo295 5 数据库的删除数据库的删除 当删除一个数据库后,仅能用备当删除一个数据库后,仅能用备份数据重建以前的数据库中的数据份数据重建以前的数据库中的数据 如果还有用户正在使用此数据库,如果还有用户正在使用此数据库,则无法删除则无法删除 删除权限仅限于删除权限仅限于dbo,sadbo,sa也可模拟也可模拟成成dbodbo执行此命令执行此命令 30删除数据除数据库命令如下命令如下:Drop Database Drop Database Database_name,database_name.Database_name,database_name.或:或:Sp_dbremove Database_nameSp_dbremove Database_name例例:删除名字为删除名字为tsinghuatsinghua的数据库的数据库Drop Database Drop Database Tsinghua Tsinghua 要删除的数据要删除的数据库名库名数据文件和数据文件和日志文件都日志文件都清除清除
限制150内