270 likes | 386 Views
第 2 章. 创建数据库和设置数据类型. 本章任务. 创建和管理数据库 创建表并设置数据类型. 1 、数据库文件. 数据文件 —— 数据文件是数据库对象的物理存储器,所有的数据库数据物理上都是存储在数据文件中。 日志文件 —— 日记文件记录了用户对数据库进行操作的信息。日记文件在恢复数据库数据、维护数据库的一致性方面起着举足轻重的作用。 文件组 —— 至少要有一个数据文件和一个日志文件 (.ldf) 。数据文件又分为主文件 (.mdf) 和次文件 (.ndf) ,只能有一个主文件,可以有多个次文件。. 2 、系统数据库. 系统数据库是不能删除的。
E N D
第2章 创建数据库和设置数据类型
本章任务 • 创建和管理数据库 • 创建表并设置数据类型
1、数据库文件 • 数据文件——数据文件是数据库对象的物理存储器,所有的数据库数据物理上都是存储在数据文件中。 • 日志文件——日记文件记录了用户对数据库进行操作的信息。日记文件在恢复数据库数据、维护数据库的一致性方面起着举足轻重的作用。 • 文件组——至少要有一个数据文件和一个日志文件(.ldf)。数据文件又分为主文件(.mdf)和次文件(.ndf),只能有一个主文件,可以有多个次文件。
2、系统数据库 系统数据库是不能删除的。 • Master——记录着所有系统级别信息,包括所有的登录帐户和系统配置以及所包含的数据库、数据文件的位置。 • Model——Model数据库是新建数据库的模板。 • Msdb——Msdb数据库提供了SQL Server 2005代理程序调度、警报、作业以及记录操作员等活动信息。 • Tempdb——Tempdb数据库保存了所有的临时表和临时存储过程。
3、创建数据库 • 一种是使用图形化工具——右击【数据库】节点【创建新的数据库】 • 另一种是命令行方式 ——CREATE DATABASE 创建数据库需要说明的属性: • 数据库名称 • 主文件和日志文件的逻辑文件名、物理文件名、初始大小、最大尺寸、文件的增量
例1 创建数据库Sales • 各个属性要求如下:
Create database数据库名 [On {[primary ] (name = 逻辑文件名, FileName ='操作系统下的文件名和路径' [,Size =文件初始容量] [,MaxSize ={文件最大容量|unlimited}] [,FileGrowth = 文件的增量]) } [ ,...n ] ] [Log on {(Name = 逻辑文件名, FileName ='操作系统下的文件名和路径' [,Size =文件初始容量] [,MaxSize ={文件最大容量|unlimited}] [,FileGrowth = 文件的增量]) } [ ,...N ] ] 使用命令行方式创建数据库
例2 创建数据库NewSales • 各个属性要求如下:
例3 创建包括文件组的数据库StuInfo • 各个属性要求如下:
4、管理数据库 • 管理数据库的内容通常包括显示数据库信息、扩充数据库容量、配置数据库、重命名数据库和删除数据库。
4_1 显示数据库信息 • 使用图形化工具显示数据库信息 • 右击数据库【属性】命令 • 使用命令行方式显示数据库信息 • 使用SP_HELPDB database_name命令
4_2 扩充数据库容量 • 扩充数据库容量可以使用两种方法来实现。 • 方法一:增加数据文件和事务日志文件的容量。 • 方法二:为数据库增加文件组,而后在文件组中增加数据文件和日志文件。
使用图形化工具扩充数据文件、日记文件容量 • 使用图形化工具扩充数据文件、日记文件容量的步骤如下: • 在SSMS中,右键单击所需的数据库【属性】,在“数据库属性”对话框中的选择“文件”选项,在“数据文件”窗口直接修改数据文件、日记文件的初始大小。 • 例5 扩充销售数据库Sales的文件容量 • 例6 在NewSales数据库中增加一个用户自定义文件组Client1
使用命令扩充数据库容量 • 修改数据库文件的大小,命令格式: • 例7 扩充数据库NewSales的容量 AlterDataBase数据库名 Modify File ( name = 逻辑文件名, [,Size = 文件初始容量] [,MaxSize = {文件最大容量|unlimited } ] [,FileGrowth = 文件增长幅度] )
使用命令为数据库增加文件组 • 在数据库中建立文件组命令格式: • 增加文件组到数据库 AlterDatabase数据库名 Add FileGroup 文件组名 Alterdatabase数据库名 Add File ( Name = 逻辑文件名, FileName ='操作系统下的文件名和路径' [,Size = 文件初始容量] [,MaxSize = {文件最大容量|unlimited } ] [,FileGrowth = 文件增长幅度] ) To FileGroup 文件组名
增加事务日志文件到数据库中 AlterDatabase数据库名 Add Log File ( Name = 逻辑文件名, FileName ='操作系统下的文件名和路径' [,Size = 文件初始容量] [,MaxSize = {文件最大容量|unlimited } ] [,FileGrowth = 文件增长幅度] )
例8 在NewSales数据库增加文件组 • 要求如下:
4_3 配置数据库 • 使用Management Studio图形化工具 • 在命令行方式下使用系统存储过程SP_DBOPTION • 例9 显示数据库Sales可以进行重新设置的选项 ; • 例10 使用命令行方式将NewSales数据库设置为只读。 • 例11 将NewSales数据库设置为单用户方式 sp_DBoption ['数据库名'][ ,'选项名'][ ,'值']
4_4 重命名和删除数据库 • 重命名数据库 • 删除数据库 • 删除数据库失败有以下几种情况: (1)当数据库正在执行数据复制时; (2)数据库正在恢复时; (3)当有用户正在对数据库进行操作时。 Sp_RenameDb '数据库原名','数据库新名' Drop DataBase 数据库名[ ,...n]
4_5 分离与附加数据库 • 使用图形工具分离与附加数据库:执行【任务】【分离】/【附加】 • 分离数据库的命令: • 附加数据库的命令: sp_detach_Db '数据库名'[,[ @skipchecks = ] 'skipchecks' ] sp_attach_DB '数据库名' ,'主数据文件的路径'
5、创建表 • 在设计表时,一般应考虑: (1)表所包含的列数,每一列的数据类型,列是否允许空值; (2)表是否需要索引,哪些列是主键,哪些列是外键; (3)表是否需要约束、默认设置或规则。
5、创建表 • 使用SSMS 图形化工具创建表 • 展开所需的数据库节点,右击“表”节点【新建表】命令,输入相关的“列名”、“数据类型”,设置是否允许空。 • 使用命令行方式创建表 Create Table[[数据库名.]表所有者.]表名 (列名 列的属性 [,…n] )
为下列各项选择最佳的数据类型,以便最大程度地节省内存空间:为下列各项选择最佳的数据类型,以便最大程度地节省内存空间: Int Smallint age char firstName Varchar School sumOfPeople Decimal Numeric Decimal Numeric peScore Bit compare