zoukankan      html  css  js  c++  java
  • 数据库系列之数据库管理(1)

    数据库分类

    1 系统数据库:Master, model, tempdb, msdb

    Master数据库:存储SQL Server系统的所有系统级信息。包括:登录帐户、连接服务器和系统配置设置;master数据库记录所有其他数据库及这些数据库文件位置、大小、数据表的相关信息;还记录SQL Server的初始化信息。如果master数据库不可用,则SQL Server无法启动。

    Model数据库:提供了SQL Server创建所有数据库的模板。

    Msdb数据库:主要被SQL Server代理用于进行复制、作业调度以及管理警报等活动,该数据库通常用于调度任务或排除故障。

    Tempdb数据库:为SQL Server所有用户提供可共用的全局资源,它保存所有临时表和临时存储过程。每次启动SQL Server是都会重新创建tempdb数据库。

    2 用户数据库

    数据库文件


    主数据文件 master data file(.mdf):包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象存储在该文件中。
    次(节点)数据文件 node data file(.ndf):可选文件,用于保存数据。用于将数据分散存储到多个磁盘中,每个数据库可以有多个次数据文件。
    事务日志文件log data file(.ldf):用于记录对数据库的各种操作情况。

    一个数据库至少应该有一个主数据文件和一个事务日志文件,可以有多个节点数据文件和多个日志文件。
    逻辑名称:指定数据库文件和事务日志文件,默认情况下数据库文件的文件名与数据库名称一样,而事务日志文件的文件名默认是一个“_log”,但是这两个文件的文件名都可以直接修改。
    文件类型:区别当前文件是数据文件还是日志文件。
    文件组:显示当前数据库文件所属文件组,一个数据库文件只能存在一个文件组中。
    初始化:指定文件的初始化大小,数据库文件默认为3MB,日志文件默认1MB,也可以根据实际情况修改。
    自动增长:随着时间的推移,数据内容越来越多,就需要不断的分配空间。可设置不同的自动增长方式。(讲解两者的区别)
    路径:指定文件存放位置。默认情况下,SQL Server将存放路径设置为安装目录下的data子目录

    数据库管理方式

    • SQL Server Management studio
    • SQL语句

    数据库管理

    1 创建

    --创建语法格式
    CREATE  DATABASE  databasesName
    ONprimary ]
    (
          name ='databases_data',--表示数据库文件的逻辑名
          filename =‘路径databases_data.mdf’,--表示数据库文件的物理文件名
          size =XXmb,--表示数据库文件的初始大小
          maxsize=XXmb,--表示数据库文件的最大大小
          filegrowth=xx--表示数据库文件的增长速度
    )
    [ log on ]
    (
          name ='databases_log',--表示日志文件的逻辑名
          filename =‘路径databases_log.ldf’,--表示日志文件的物理文件名
          size =XXmb,--表示日志文件的初始大小
          maxsize=XXmb,--表示日志文件的最大大小
          filegrowth=xx--表示日志文件的增长速度
     )
    --创建实例一:主数据文件+日志文件
    create database Systop
    on  primary
    (  /*以下是主数据文件的属性*/
       name=‘Systop', --主数据文件的逻辑名称
       filename='E:SystopDBSystop.mdf',--主数据文件的物理路径
       size=3mb, --主数据文件的初始大小
       maxsize=unlimited, --主数据文件的最大值
       filegrowth=10%  --主数据文件的增长率
    )
    log on
    (  /*以下是日志文件的属性*/
       name=‘Systop_log', --日志文件的逻辑名称
       filename= 'E:SystopDBSystop_log.ldf',  --日志文件的物理路径
       size=1mb,  --日志文件的初始大小
       filegrowth=10%  --日志文件的增长率
    )
    go
    
    --创建实例二:主数据文件+次数据文件+日志文件
    create database Systop
    on  primary
    (  /*以下是主数据文件的属性*/
       name=‘Systop', --主数据文件的逻辑名称
       filename='E:SystopDBSystop.mdf',--主数据文件的物理路径
       size=3mb, --主数据文件的初始大小
       maxsize=unlimited, --主数据文件的最大值
       filegrowth=10%  --主数据文件的增长率
    ),
    (/*以下是次要数据文件的属性*/
       name='Systop_sec1’, --次要数据文件的逻辑名称
       filename= 'E:SystopDBSystop_sec1.ndf',  --次要数据文件的物理路径
       size=3mb, --次要数据文件的初始大小
       filegrowth=10% --次要数据文件的增长率
    )
    log on
    (  /*以下是日志文件的属性*/
       name= 'Systop_log', --日志文件的逻辑名称
       filename= 'E:SystopDBSystop_log.ldf‘,  --日志文件的物理路径
       size=1mb,  --日志文件的初始大小
       filegrowth=2MB  --日志文件的增长率
    )
    go

    2 判断数据库是否存在

    系统自带master系统数据库,sysdatabases 是其中一个系统数据表,存放所有数据库的一些信息。
    use master
    Select * from sysdatabases

    3 删除数据库

    --语法
    Drop database 数据库名
    --实例一
    Drop database Systop
    
    --实例二:正确的删除数据库方式 
    use master   --设置当前数据库为master
    go
    if exists (select * from sysdatabases where name='Systop')
       drop database Systop


    使用SQL Server数据库管理系统删除
     无标题
    删除后,数据库文件也一并删除。

    4 修改数据库

    ALTER DATABASE  databasesName
        ADD FILE <文件格式> [TO FILEGROUP 文件组名]
    |   ADD LOG FILE <文件格式>
    |   REMOVE FILE 逻辑文件名
    |   ADD FILEGROUP 文件组名
    |   REMOVE FILEGROUP 文件组名
    |   MODIFY FILE <文件格式>
    |   MODIFY FILEGROUP 文件组名,文件组属性

  • 相关阅读:
    python_day2(列表,元组,字典,字符串)
    爬取校花网美眉图
    python FTP常见用例
    mysql-调优
    mysql-事务与存储引擎
    mysql-基本命令与索引
    python基础(三)闭包、装饰器、迭代器、生成器
    Git的http与ssh配置
    python基础(二)抽象
    ssh-keygen 签名ca证书
  • 原文地址:https://www.cnblogs.com/cmhunter/p/4278738.html
Copyright © 2011-2022 走看看