欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL之数据库的定义与基本操作

程序员文章站 2024-03-22 12:17:04
...

SQL之数据库的定义与基本操作

  • 数据库的定义
  • 创建数据库
  • 更改数据库大小
  • 为数据库增加文件
  • 删除数据库中的文件
  • 数据库的更名
  • 数据库的删除

数据库的定义

数据库是存放有组织数据的集合,可以分为物理数据库和逻辑数据库。
物理数据库:
是指数据库中的逻辑对象在计算机上的存储文件,按类型分为:
1.主数据文件:是其他文件的基础,指向其他文件,以.mdf为后缀,一个   
  数据库中只含有一个主数据文件。
2.辅助数据文件:除主数据文件外的其他文件,以.ndf为后缀,一个数据
  库中可以含有若干个或0个辅助数据文件。
3.事务日志文件:用以记录数据库的事务日志,以便恢复等工作,以.ldf
  结尾,一个数据库至少含有一个以上的事务日志文件。 
逻辑数据库:
1.master数据库:存放系统配置和管理信息的数据库,用于管理控制其他
  数据库。
2.model数据库:为新创建的数据库提供模板,包含新建数据库的系统表。
3.msdb数据库:含有用于恢复和备份数据库信息的数据库。
4.tempdb数据库:包含临时对象的数据库。
注:数据库文件组:用以管理和组织数据库中的数据文件,分为主文件组和
   用户定义文件组。
   主文件组:包含主数据文件及一些未指定文件组的数据文件。
   用户定义文件组:显示地用filegroup创建的文件。

创建数据库

  以下所有的数据库操作均可通过sql server management studio创建本文只使用T-SQL语言编程实现。
  语法:
  create  database database_name  ---定义数据库文件名
  on primary   ------显示定义主文件名(若没有primary)则以出
                      现的第一个文件作为主文件
  (  
     name=logic_name,  -----文件的逻辑名
     filename=physic_name,----文件的物理名
     size=   ,    ------文件初始大小
     maxsize=  , --------文件的最大大小
     filegrowth=  ------文件的增长率
  )
  filegroup  filename  ---定义用户文件组
  (
    ....
   )
  log on   ---定义事务日志文件
  (
     name=logic_name,  -----文件的逻辑名
     filename=physic_name,----文件的物理名
     size=   ,    ------文件初始大小
     maxsize=  , --------文件的最大大小
     filegrowth=  ------文件的增长率
  )

  新建一个数据库book,该数据库拥有一个主数据文件,一个事务日志文件。主数据文件名为book_data,存放位置在d盘data目录下,物理文件名为book_data.mdf,文件初始大小为10mb,文件最大为20mb,文件增长率为20%。事务日志文件名为book_log,存放位置在d盘data目录下,物理文件名为book_log.ldf,文件初始大小为5mb,文件最大为10mb,文件增长率为1mb。
  代码如下:
  create  database book ---定义数据库文件名
      on primary   
      (  
         name='book_data',  -----文件的逻辑名
         filename='d:\data\book_data.mdf',----文件的物理名
         size=10mb,    ------文件初始大小
         maxsize=20mb, --------文件的最大大小
         filegrowth=20%  ------文件的增长率
      )
      log on   ---定义事务日志文件
      (
         name='book_log',  -----文件的逻辑名
         filename='d:\data\book_log.ldf',----文件的物理名
         size=5mb,    ------文件初始大小
         maxsize=10mb, --------文件的最大大小
         filegrowth=1mb  ------文件的增长率
      )  

建立数据库:
SQL之数据库的定义与基本操作

修改数据库的大小

 在修改数据的大小时,修改后的数据库大小应该不小于原来数据的大小。
 语法:
 alter database database_name  ---待修改的数据库的名字
 modify file
 (
   name=logic_name,     ---待修改的数据库的逻辑名
   size=new_size        ---修改后的数据库的大小
 )

代码:

alter database book 
modify file 
(
  name='book_data',
  size=11mb
)

效果:
修改前book数据库大小:
SQL之数据库的定义与基本操作

修改后数据库大小:
SQL之数据库的定义与基本操作

为数据库增加文件

语法:
alter database databse_name —修改数据库的名称
add file|add log file —-为数据库增添文件|逻辑文件
( —文件的定义
name=logic_name,
filename=physic_name,
size=init_size,
maxsize=max_size,
filegrowth=n mb or percent

为book数据库增加一个book1_data的辅助数据文件,物理文件名为:
book1_data.ndf,存放在d:\data目录下,初始大小为2mb,不限制最大文件大小,文件增长率为2mb。
代码:

alter database book 
add file
(
  name='book1_data',
  filename='d:\data\book1_data.ndf',
  size=2mb,
  maxsize=unlimited,
  filegrowth=2mb
 )

效果:
修改前:
SQL之数据库的定义与基本操作

修改后:
SQL之数据库的定义与基本操作

删除数据库文件

 删除数据库文件较为简单,语法:
 alter database dataname
 remove file logic_filename  -------逻辑文件名

删除数据库book中的book1_data文件:
代码:
alter database book 
remove file book1_data
效果:
删除前:

SQL之数据库的定义与基本操作

 删除后:

SQL之数据库的定义与基本操作

更改数据库的名字

更改数据库的名字要用到系统存储过程sp_renamedb oldname,newname
代码:
sp_renamedb 'book','books'
效果:

SQL之数据库的定义与基本操作

删除数据库

 语法:
 drop  database database_name
 删除books数据库:
 代码:
drop database books

效果:
SQL之数据库的定义与基本操作