目标:存储多值属性

反模式:创建多个列。比如产品主图,开始需求是,每个产品都是3张图,但随着时间的推移,可能就不止3张了。

  1、查询:多个列的话,查询时可能不得不用IN,或者多个OR

  2、添加、删除、确保唯一性、判断是否有值:这些都很麻烦

  3、字段总会不够用的

合理使用反模式:

  有时候,一个属性可能最多就有N个值,并且他们的存储位置和顺序都是固定的。这样的话,可以使用反模式。

解决方案:

  创建从属表

建议:同样意义的值应该存在同一列中。

转载于:https://www.cnblogs.com/anyenajie/archive/2012/05/05/2485106.html

SQL反模式笔记7——多列属性相关推荐

  1. SQL反模式笔记17——用一条sql解决复杂问题

    目标:检查sql查询次数 反模式:试图用一条sql解决复杂问题 结果是:性能很低,而且往往得到了一个笛卡尔积. 解决方案:分而治之 用多个sql得到数据,再进行整合.或者union多个sql的结果. ...

  2. SQL反模式:实体-属性-值(EAV)问题(一)

    但以下关系存在时,可能会将数据设置成为EAV模式,比如一个问题(Issue),可能有继承它的bug和特性(FeatureRequest),他们的关系如下,引用AntiPatterns 针对上面的关系, ...

  3. 查询反模式 - 隐式的列

    一.减少输入 程序员都喜欢使用通配符,如: SELECT * FROM Person 又或者省略字段名: INSERT INTO Person VALUES('10','张飞'...) 二.捷径会让你 ...

  4. PL/SQL 中修改数据库中的列属性

    方法一: 鼠标选中表右键 直接(手动)去修改数据库名称,数据库表名称,数据库列名称.列属性 方法二: 使用SQL语句去修改 -- 修改表名 ALTER TABLE tableName RENAME n ...

  5. SQL语句实现取消自增列属性

    由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现 1.如果仅仅是指定值插入,可用以下语句,临时取消 SET IDENTITY_INSERT TableName ON I ...

  6. SQL反模式:实体-属性-值(EAV)问题(二)

    在上一篇文章中,介绍了EAV模式存在的问题,文章链接如下: https://blog.csdn.net/dh858115/article/details/104203110 那么针对EAV的问题有什么 ...

  7. 反模式:神仙大类和黄金大锤

    数学中有正数和负数 物理学有『物质』和『反物质』的存在 武侠小说中有九阳神功也有九阴真经 生活中有婚姻也有出轨 ...... 事物总是充满这种相互矛盾而统一的有趣现象. 对于GoF提出的23种设计模式 ...

  8. 设计模式杂谈——模式与反模式之争

    摘要:探究事物的反面性是一种哲学上的思考,物理学在"物质"之上提出并证实了"反物质"的存在,就像数学上有正数也有负数,武侠小说中有九阳神功也有九阴真经,生活中有 ...

  9. oracle查看列属性,oracle查询列属性

    oracle 动态查询列,查看oracle数据库的表名和列名,oracle查询列名,oracle查询列属性 oracle 查询动态列,查看oracle数据库的表名和列名,oracle查询列名,orac ...

最新文章

  1. ubuntu-14.04 系统安装mysql-5.6.21
  2. STC89C52单片机 使用定时器使LED灯闪烁
  3. “7th-place-solution-microsoft-malware-prediction”——kaggle微软恶意代码检测比赛第七名代码
  4. github gists 101使代码共享漂亮
  5. 解决在Linux下安装Oracle时的中文乱码问题
  6. C# 连接 SQL Server 数据库,出现异常:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接...
  7. 【优化算法】蝠鲼觅食优化算法(MRFO)【含Matlab源码 1435期】
  8. MacbookPro添加硬盘内存
  9. c语言自动选课,C语言实现简单学生选课管理系统
  10. web安全工具介绍(漏洞扫描、信息收集、提升权限的网站、app)持续更新
  11. 单龙芯3A3000-7A1000PMON研究学习-(23)撸起袖子干-分析代码前的准备工作5
  12. 如何设计一个网络程序
  13. 迷你星域冒险服务器维护中,迷你世界星域冒险攻略 星域冒险快速通关技巧[多图]...
  14. 如何打开sql server配置管理器
  15. UX、UI、 IA和IxD傻傻分不清
  16. 最新JDK1.8(JAVA8)an‘zhuang
  17. Flink学习4-流式SQL
  18. 微信查看谁删除了4种方法
  19. java动态生成pdf文件的方法
  20. 第二周:PSP进度条

热门文章

  1. html 动态调用php文件,html静态页面调用php文件的方法
  2. java下载pdf6_疯狂java讲义第6版 电子版(pdf格式)
  3. 语言主程序和子程序的写法_汇编语言程序设计第三篇——汇编程序结构
  4. 多选题spss相关分析_SPSS进行典型相关分析结果总结
  5. cmake 编译curl源码_OpenCV4.0 源码编译
  6. python判断是否是完数_python判断是否完数
  7. 面向服务的计算(SOC)课程相关资料
  8. day02.3-元组内置方法
  9. Linear_algebra_02_行列式
  10. Oracle-RAC等价性验证错误:Result: PRVF-4007 : User equivalence check failed for user grid