本文的目标就是要确认那些使用了主键,却混淆了主键的本质而造成的一种反模式。一、确立主键规范 每个了解数据库设计的人都知道,主键对于一张表来说是一个很重要,甚至必需的部分。这确实是事实,主键是好的数据库设计的一部分。主键是数据库确保数据行在整张表唯一性的保障。它是定位到一条记录并且确保不会重复存...
分类:
数据库 时间:
2015-07-17 18:33:34
阅读次数:
230
教你如何确定该网站是否有sql注入漏洞。介绍了5中方法来确定sql注入漏洞
分类:
数据库 时间:
2015-07-17 18:29:26
阅读次数:
163
一、说明问题 其实这篇非常简单,因为大家都是用这个方法解决的,我决定用自己的语言来描述清楚这一个问题。 假设,我们有一个列,这个列只能够取某些有效值。比如一个用户表,我们有一个姓氏列,我们需要限定里面的值为中国的姓氏,比如:赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨。二、反模式 对于这个问题,其实只有初...
分类:
数据库 时间:
2015-07-17 18:24:08
阅读次数:
181
1> dbg:tracer().{ok,}2> dbg:p(all, c).{ok,[{matched,nonode@nohost,26}]}3> dbg:tpl(test, g, dbg:fun2ms(fun(_) -> exception_trace() end)).{ok,[{matched,...
分类:
数据库 时间:
2015-07-17 18:24:14
阅读次数:
303
Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ...
分类:
数据库 时间:
2015-07-17 18:24:04
阅读次数:
146
有一些开发人员不推荐使用完整性约束,你可能听过以下这么几点不使用外键的原因。 1、数据更新有可能和约束冲突。 2、当前的数据库设计如此灵活,以致于不支持引用完整性约束。 3、数据库为外键建立的索引会影响性能。 4、当前使用的数据库不支持外键。 5、定义外键的语法并不简单,还需要查阅。一...
分类:
数据库 时间:
2015-07-17 18:25:32
阅读次数:
292
可变属性的需求:我们需要在数据库里面存储很多电器,比如电视,冰箱等等。通常,在程序中,我们的类图为:EVA设计 对于这种继承下来的可变属性时,有一种办法是创建另外一张表,将属性当成行来存储。 其中存储的数据类似下面这样: 这样的设计称为:实体-属-值,简称:EVA,或者又叫开放架构...
分类:
数据库 时间:
2015-07-17 18:24:39
阅读次数:
159
相信有过开发经验的朋友都曾碰到过这样一个需求。假设你正在为一个新闻网站开发一个评论功能,读者可以评论原文甚至相互回复。 这个需求并不简单,相互回复会导致无限多的分支,无限多的祖先-后代关系。这是一种典型的递归关系数据。 对于这个问题,以下给出几个解决方案,各位客观可斟酌后选择。一、邻接表:依...
分类:
数据库 时间:
2015-07-17 18:23:56
阅读次数:
172
问题现象:delphi 为什么不能连接oracle问题处理:加一句OraSession1.Options.Net := True;
分类:
数据库 时间:
2015-07-17 18:23:03
阅读次数:
125
我之前曾参与维护过一个舆情监控系统,该系统每天源源不断地监控着互联网上的新闻,不断从网上下载新闻保存进入数据库。提出问题 为了表述简单,我特意模拟了一张类似的表: CREATE TABLE NEWS( Id int PK, Title nvarchar(500...
分类:
数据库 时间:
2015-07-17 18:20:43
阅读次数:
197
个人觉得对sql的玩转其实是sql中各种函数方法的理解的透彻。原始数据表要求查询的结果排序其实刚看题目可能觉得要用group by但是再网下继续思考可能就没有思路了但是如果你接触过over的试用可能问题就不是那么难了具体的sql语句如下select *from t_jeff2 order by m....
分类:
数据库 时间:
2015-07-17 18:20:17
阅读次数:
157
一、浮点类型简介 整型是一个很有用的数据类型,但只能存储整数,比如1、199、-19。但不能表述像2.5这样的浮点数。如果数据对精度要求很高,你需要使用另一种数据类型来取代整型。比如算钱的时候通常需要精确到小数点后两位,像$19.95。 在这里首先来介绍下SQLServer中的浮点数:浮点类型是.....
分类:
数据库 时间:
2015-07-17 18:13:02
阅读次数:
185
一、乱穿马路模式介绍 程序员通常使用逗号分隔的列表来避免在多对多关系中创建交叉表,这种设计方式定义为一种反模式,称为乱穿马路。 例如:在一个产品管理系统中,一个人可以有多个产品,一个产品必须对应一个人,因此有如下数据库: 但是,随着时间的推移,出现了一个产品可能会有多个联系人。于是为了最小...
分类:
数据库 时间:
2015-07-17 18:10:47
阅读次数:
154
说明:本教程主要包括以下三个部分:1. 源代码编译安装Nginx2. 源代码编译安装php以及mysql、redis扩展模块3. 配置虚拟主机文中所涉及安装包程序均提供下载链接,欢迎使用运行环境以及前置条件:Ubuntu 12.04 LTS 已安装g++编译环境所有源程序路径位于:root@ubun...
分类:
数据库 时间:
2015-07-17 18:08:23
阅读次数:
199
久久未更新。。。 换好工作出去玩耍了一趟, 现在安装机器啦~装一个mysql 到centos 7, 一次转载一篇文章, 记录下:原文地址:http://www.phpini.com/mysql/rhel-centos-yum-install-mysql在 RHEL 及 CentOS 7 開始, 預設...
分类:
数据库 时间:
2015-07-17 18:08:07
阅读次数:
178
问题现象:在一次开发过程中,遇到了delphi无法编辑oracle表。问题原因:原来是自己误操作控件的属性了。问题处理:OraQuery1.ReadOnly:=False;OraQuery1.LocalUpdate:=True;
分类:
数据库 时间:
2015-07-17 18:07:03
阅读次数:
135
Centos系统mysql 忘记root用户的密码: 第一步:(停掉正在运行的mysql)[root@maomao ~]#/etc/init.d/mysqldstopStoppingMySQL:[ OK ]第二步:使用 “--skip-grant-tables”参数重新启动mysql[root@.....
分类:
数据库 时间:
2015-07-17 18:03:42
阅读次数:
165