zoukankan      html  css  js  c++  java
  • 数据库的横表和纵表

    一下

    先来说说横表和纵坐表的概念,先来看看以下两图:

    第一张图就是横表,一行表示了一个实体记录,这就是我们传统的设计表的形式

    第二张图就是纵表,他的一行记录,是用于表示某个学生的属性名和属性值对应关系,像这边有两个属性(名字和性别),在纵表中就要用两条记录来表示一个学生。

    从上面可以观察出,横表的好处是清晰可见,一目了然,但是有一个弊端,如果现在要把这个表加一个字段,那么就必须重建表结构。对于这种情况,在纵表中只需要添加一条记录,就可以添加一个字段,所消耗的代价远比横表小,但是纵表的对于数据描述不是很清晰,而且会造成数据库数量很多,两者利弊在于此。所以,应该把不容易改动表结构的设计成横表,把容易经常改动不确定的表结构设计成纵表。

    在实际开发中,经常需要互相转换横表和纵表的形式,这里贴个从纵表数据转成横表显示的形式。

    1
    2
    3
    4
    Selectstudent_no, 
            max(decode(field_name,'student_name',field_value)) Asstudent_name,
            max(decode(field_name,'student_sex',field_value )) Asstudent_sex 
        Fromcuc_student_y GroupBystudent_no;
  • 相关阅读:
    luogu2568GCD题解--欧拉函数
    POJ1845Sumdiv题解--约数之和
    luogu1731生日蛋糕题解--恶心剪枝
    luogu1156垃圾陷阱题解--背包DP
    CF336C-Vasily the Bear and Sequence题解--贪心
    luogu2261余数求和题解--整除分块
    UVA10140PrimeDistance题解--质数/技巧
    CSP2019 游记
    CSP-SJX2019 和积和
    NOIP2018 游记
  • 原文地址:https://www.cnblogs.com/google4y/p/2370140.html
Copyright © 2011-2022 走看看