年前买了这本书,在家没事看看,二百多页,没几天就看完了。
印象最深的就是这句“所谓专家,就是在一个很小的领域里把所有错误都犯过了的人”。可以看出来作者自己确实犯了很多很多错误,所以书里谈论的问题是实际应用中遇到的真问题,只这一点,我觉得买这本书值了。
其他优点就不说了,没那个谈一件事之前先来一大段吹捧的习惯,技术人,就事论事吧。
整本书看到的核心内容我觉得就是一点,提醒读者关系数据库的核心——“关系”二字。在思考具体应用的设计时,不要忘了关系数据库理论要面对的那些基本问题,为什么会有一范式、二范式、三范式、BC范式,面对的问题是什么。
但在我这些年的工作中,碰到的更多的情况是一 二范式大部分情况下会遵循,三范式就不一定了,是很不一定了。因为你不能单纯的就数据讨论数据,更多情况需要把这个放到一整套系统中就可用性、灵活性来考虑的。很多时候为了减轻某张表过大的访问压力,需要在别的表中存放冗余数据。
再拿最吸引我的第3章“单纯的树”这节举个例子,作者最终给出的比较好的解决方案“闭包表”确实很不错,但如果考虑另外的变量的话,实际情况就不一样了。该方案有个缺陷,即在中间的树关系表中最终将会产生大量数据,如果一个几千上万的原始数据,对应的关系表数据还是可以承受的,但放大到十万、百万呢,树层次有个四五层的话数据量将会多大?
对于作者不断强调的“关系”概念,我也有点保留,如果是做项目,或对已有系统的优化,很多人愿意在数据库的这些上面下功夫去探索。如果是做产品,或者是想要做产品,即便不做产品,原处的系统设计肯定都会弱化数据库的关系这个概念,仅仅把它当成一个存储层,应用的实际表现,如数据一致性等不可能首先依赖于数据库的设计,更多的是在程序中首先保证这一点。
这里无意贬低给出的方案的真实应用价值,而是提醒更多读者,从数据库设计角度考虑问题,书里给出的答案很不错,但真实应用不允许你只站在这个层次,第一位的是,你设计出来的东西的最终表现能否让客户接受。还是那句话,要综合考虑。
相关推荐
sql 反模式。它介绍了如何避免在SQL的使用和开发中陷入一些常见却经常被忽略的误区。它通过讲述各种具体的案例,以及开发人员和使用人员在面对这些案例时经常采用的错误解决方案,来介绍如何识别、利用这些陷阱,...
了解并避免SQL反模式对于提升数据库性能、增强代码可维护性具有重要意义。 #### 二、SQL反模式概述 SQL反模式是指在SQL查询编写、数据库设计或管理过程中出现的一些不良实践或错误的做法,这些做法可能会导致性能...
使用freearc解压
### 如何更改SQL Server服务器的身份验证模式 在安装SQL Server数据库引擎时,用户可以选择将其配置为Windows身份验证模式或SQL Server与Windows混合身份验证模式。这两种模式分别适用于不同的场景:前者仅支持通过...
### SQL Server 2005 Express 混合模式登录设置 #### 一、概述 在 SQL Server 2005 Express 版本中,默认情况下只启用了 Windows 身份验证模式,这意味着用户只能通过 Windows 的账户来进行登录,而无法使用 SQL ...
中文名是《深入解析Microsoft Sql server 2008》,由邀月根据原英文纯手工翻译,加上自己的理解和注释,没有借助任何翻译工具。除了已注明的出处 MSDN 之外,如有转载,请注明来自邀月工作室。
修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL登录模式图解修改SQL...
这是我们上课的用来更改sqlserver数据库的登录模式.为sql方式.不是windows哦
(Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含 最新版本的 Data Transformation Services 2000 运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、 决策支持对象 (DSO) 和 ...
SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示 SQLPrompt最新版本 绿色版 SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS...
SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...
Oracle数据库是世界上最流行的数据库管理系统之一,SQL(Structured Query Language)是用于管理关系数据库的标准语言,而PL/SQL是Oracle数据库特有的编程语言,扩展了SQL的功能,使得能够编写复杂的存储过程和...
在“数据库系统概念大学模式sql文件”中,我们可以看到与大学教育环境相关的数据模型和SQL脚本,这通常包括学生(student)、教师(instructor)、课程(course)、教学(teaches)和选课(takes)等实体及它们之间...
在IT行业中,数据库管理系统是核心组成部分,SQL Server和Oracle分别是微软和甲骨文公司推出的两款广泛应用的关系型数据库系统。在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到...
### SQL Server 2008 从 Windows 登录切换至混合模式登录详解 在 SQL Server 2008 的安全配置中,系统管理员通常会遇到两种登录方式:Windows 身份验证模式和混合身份验证模式。为了更好地理解如何将 SQL Server ...
6. **安全监控**:此外,SQLTracker还可以用于监控潜在的安全风险,比如检测未授权的数据库访问或异常的查询模式。 7. **跨平台支持**:SQLTracker可能支持多种数据库管理系统,如MySQL、Oracle、SQL Server、...