SQL反模式

[美] Bill Karwin

出版时间

2011-08-31

ISBN

9787115261274

评分

★★★★★
AI导读
核心看点
  • 剖析SQL开发中常见的设计误区与陷阱
  • 提供针对反模式的具体识别方法与解决方案
  • 深入讲解数据库范式及树形结构存储策略
适合谁读
  • 从事SQL数据库开发与管理的工程师
  • 希望提升数据库设计能力的程序员
  • 需要维护遗留系统或优化数据结构的开发者
读前提醒
  • 建议结合实际项目案例对照阅读以加深理解
  • 注意区分反模式适用场景与最佳实践的区别
  • 部分技术细节可能涉及特定数据库版本的特性
读者共识
  • 内容实用且接地气,极具参考价值
  • 帮助开发者避免重蹈前人设计错误的覆辙
  • 虽翻译略有瑕疵,但核心观点清晰易懂

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "这句查询语句所找到的后代路径分别是 1/4/5、1/4/6 以及 1/4/6/7。"
  • "在多个列中查找一个值的语法是冗长乏味的。你可以通过一种非传统的方式来使用 IN,从而使得这个查询变得更加精简:"
  • "类似地,用户不能直接输入一个NULL。程序的输入端可能会使用一些特殊处理来引导用户输入NULL。比如,微软的.NET 2.0及以上版本,为Web界面提供了一个叫做ConvertEmptyStringToNull的方法。参数和绑定字段会自动地将空字符串转换成NULL。"
  • "Parameter.ConvertEmptyStringToNull 属性:获取或设置一个值,该值指示在 Parameter 对象绑定到的值为 String.Empty 时是否应将其转换为 null。 语法:public bool ConvertEmptyStringToNull { get; set; } 属性值:类型:System.Boolean。如果在 Parameter 绑定到的值为 String.Empty 时应将其转换为 null,则为 true;否则为 false。 默认值为 true。"
  • "①搜索用户指定关键字。从 keywords、keyword_id 或 NULL 返回整型主键,如果这个词之前未出现过。"
  • "比如,SHA-256 算法将我们的密码 xyzzy,转换成了一个 256 位的串,若使用 16 进制表示是一个 64 字节的字符串。"
  • "下面是对 Accounts 表的重定义。SHA-256 的哈希密码总是一个 64 字节的字符串,因此这一列的类型是固定长度的 CHAR。"
  • "比如,MySQL 6.0.5 的 SSL 扩展支持包含了 SHA2() 的函数,它默认返回一个 256 位的哈希串。"
作者简介
Bill Karwin作为软件工程师、咨询师和管理者,他在20年间开发并支持了各种各样的应用、程序库以及服务器,如PHP 5的Zend Framework, Interbase关系型数据库,以及Enhydra Java应用服务器等。他一直无私地分享他的专业知识,来帮助其他程序员提高效率、获得成功。他曾以各种方式回答了上千个关于SQL的疑问,其中不乏一些 严重但又经常被忽略的问题。
目录
第1 章 引言  1
1.1 谁需要这本书  2
1.2 本书内容  2
1.2.1 本书结构  3
1.2.2 反模式分解  4

显示全部
用户评论
【1】所谓专家,就是在一个很小的领域里把所有错误都犯过了的人。 【2】简约律:当你有两个相互竞争的理论能得出同样的结论,那么简单的那个更好。 【3】软件开发人员需要不断地在简单和灵活之间进行取舍。
DBA教你手写SQL黑魔法
你必须知道的SQL
浅显易懂,难得能一口气看完一本书了。最后把 ActiveRecord 翻成活动记录模式很别扭。
虽然大多数例子还是PHP的,但是多次提到Rails框架..
又读了一遍,全是活生生的数据库经验。作者语言风趣幽默,比小说还好看。 “在varchar里放逗号分割的列表来解决一对多问题就如同乱穿马路,都是为了不好好过天桥”
书是好书,直到你发现公司不让用外键不让用存储过程不让用视图也不让用join
Antipatterns这个词翻译成反模式,很直观的中式翻译,但是让人抓不着头脑,就跟什么反脆弱什么的一样,美国人似乎很喜欢用这个词。书中讲述的各种经典"设计"留下的坑,并讲述填坑方案,10年后依然受益匪浅。
感觉还不错
前三分之一还不错
下载
收藏