V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
HOYU
V2EX  ›  问与答

数据库学习笔记 2 数据库文件基本查询

  •  
  •   HOYU · 2018-03-01 09:16:58 +08:00 · 1008 次点击
    这是一个创建于 2249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年买了一本讲 SqlServer 的书,这几天把这本尘封已久的书拿了出来,准备按照上面的目录撸一遍。

    简单的看了下这本书的目录结构,一共是九个部分

    • 数据库安装
    • 建立数据库和处理数据
    • 高级 T-SQL
    • T-SQL 编程
    • 企业数据管理
    • SQL Server 安全
    • 监视和审计
    • 性能调整和优化
    • 商业智能

    数据库文件

    软件安装对我来说已经驾轻就熟了毕竟已经工作有一段时间了,所以我非常偷懒的跳过了第一部分,从第二部分开始看起。(上一篇也说过,我只装了 sqlserver dev 的数据库引擎,其余什么机器学习呀,Python 和 R 语言还有外部扩展什么的一概没装)

    建立数据库说的就比较简单了,首先说的是如何创建物理数据库,其实就是创建数据库的文件。

    或许是原来玩的数据量都比较小,所以对数据库文件也就没有什么要求和注意,看完关系数据库设计和创建物理数据库架构一章后对数据库文件有了新的认识。

    创建一个数据库默认情况下会产生两种文件,一种是数据库文件扩展名为 mdf,一种是日志文件扩展名为 ldf 并且都在一个目录下。

    其实数据库文件并不是只有 mdf 一种,还有一种数据库从文件的扩展名是 ndf。

    即数据库文件具有主从关系,一个数据库有一个主文件( mdf )和多个从文件( ndf )。

    这样设计的原因我想到的场景是如果主文件被写满了,可以迅速创建一个从文件继续存储数据保证数据库的增长。(感觉集群也能实现同样的功能)

    默认情况下默认情况下会有一个日志文件( ldf )用于记录数据库事物日志,这个日志有可能是恢复数据库的救命稻草日志文件可以有多个没有主从关系。

    效率上并不推荐把数据库文件和日志文件放一起 文件组概念有点没整明白,只知道主组存 mdf 和为分组的所有 ndf 理由是啥不知道。。。有时间再看一下

    数据库基本查询流

    基本操作无非就是数据库的 DML (增删改查)操作,查询除了简单的 select from where 句式外我要注意到有一个去重操作 distinctselect distinct columnname from table可以有效去除查询结果中重复的数据。

    还有就是 CASE 操作,case when thin else end name (别名)简单使用对 0 1 判断很有效,省去在内存中遍历的环节,比如查性别 select sex case when '1' thin '男' else '女' end sexcase

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2364 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:10 · PVG 00:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.