一.数据表和字段的设计
表设计原则
标准化和规范化
数据的标准化有助于消除数据库中的数据冗余 标准化有好几种形式 我们在这里采用Third Normal Form( NF) 因为 NF在性能 扩展性和数据完整性方面达到了最好平衡 遵守 NF 标准的数据库某个表只包括其本身基本的属性 当不是它们本身所具有的属性时需进行分解 表之间的关系通过外键相连接 它具有以下特点 有一组表专门存放通过键连接起来的关联数据
考虑各种变化
在设计数据库的时候考虑到哪些数据字段将来可能会发生变更
字段设计原则 ) 每个表中都应该添加的 个有用的字段 即要求每张数据表中字段不得少于 个 ) 选择数字类型和文本类型尽量充足 在字段类型为数字或文本时 其长度最好比实际所需的大一些 ) 增加自动增长的 *** 作ID字段(czid) ) 增加记录创建的日期字段(CreateDate) ) 增加删除标记字段(isvoid) 在表中包含一个 删除标记 字段 这样就可以把行标记为删除 在关系数据库里不单独删除某一行 一般采用清除数据程序而且要仔细维护索引整体性
二.键和索引的设计
键选择原则
)为关联字段创建外键 )所有的键都必须唯一 )避免使用复合键 )外键总是关联唯一的键字段
使用系统生成的主键设计数据库的时候采用系统生成的键作为主键 那么实际控制了数据库的索引完整性 这样 数据库和非人工机制就有效地控制了对存储数据中每一行的访问 采用系统生成键作为主键还有一个优点 当拥有一致的键结构时 找到逻辑缺陷很容易 不要用用户的键(不让主键具有可更新性)在确定采用什么字段作为表的键的时候 小心用户将要编辑的字段 通常的情况下不要选择用户可编辑的字段作为键
可选键有时可做主键把可选键进一步用做主键 可以拥有建立强大索引的能力
索引使用原则
索引是从数据库中获取数据的最高效方式之一 %的数据库性能问题都可以采用索引技术得到解决
索引外键大多数数据库都索引自动创建的主键字段 但是可别忘了索引外键 它们也是经常使用的键 比如运行查询显示主表和所有关联表的某条记录就用得上 不要索引大型字段(有很多字符) 这样作会让索引占用太多的存储空间
不要索引常用的小型表不要为小型数据表设置任何键 假如它们经常有插入和删除 *** 作就更别这样作了 对这些插入和删除 *** 作的索引维护可能比扫描表空间消耗更多的时间
三 数据完整性设计
完整性实现机制 实体完整性 主键
参照完整性 父表中删除数据 级联删除 受限删除 置空值父表中插入数据 受限插入 递归插入父表中更新数据 级联更新 受限更新 置空值
DBMS对参照完整性可以有两种方法实现 外键实现机制(约束规则)和触发器实现机制
用户定义完整性 NOT NULL CHECK 触发器
用约束而非商务规则强制数据完整性采用数据库系统实现数据的完整性 这不但包括通过标准化实现的完整性而且还包括数据的功能性 在写数据的时候还可以增加触发器来保证数据的正确性 不要依赖于商务层保证数据完整性 它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上
强制指示完整性在有害数据进入数据库之前将其剔除 激活数据库系统的指示完整性特性 这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件
使用查找控制数据完整性控制数据完整性的最佳方式就是限制用户的选择 只要有可能都应该提供给用户一个清晰的价值列表供其选择 这样将减少键入代码的错误和误解同时提供数据的一致性
采用视图为了在数据库和应用程序代码之间提供另一层抽象 可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表 这样做还等于在处理数据库变更时给你提供了更多的自由
lishixinzhi/Article/program/SQL/201311/16258
大数据分析是指对规模巨大的数据进行分析。大数据可以概括为4个V, 数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值(Value)。
大数据开发其实分两种,第一类是编写一些Hadoop、Spark的应用程序,第二类是对大数据处理系统本身进行开发。第一类工作感觉更适用于data analyst这种职位吧,而且现在Hive Spark-SQL这种系统也提供SQL的接口。第二类工作的话通常才大公司里才有,一般他们都会搞自己的系统或者再对开源的做些二次开发。这种工作的话对理论和实践要求的都更深一些,也更有技术含量。
大数据作为时下最火热的IT行业的词汇,随之而来的数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。随着大数据时代的来临,大数据分析也应运而生。
应用案例,与往届世界杯不同的是,数据分析成为巴西世界杯赛事外的精彩看点。伴随赛场上球员的奋力角逐,大数据也在全力演绎世界杯背后的分析故事。一向以严谨著称的德国队引入专门处理大数据的足球解决方案,进行比赛数据分析,优化球队配置,并通过分析对手数据找到比赛的“制敌”方式;谷歌、微软、Opta等通过大数据分析预测赛果...... 大数据,不仅成为赛场上的“第12人”,也在某种程度上充当了世界杯的"预言帝"。
分析开始的时候,数据首先从数据仓储中会被抽出来,被放进RDBMS里以产生需要的报告或者支撑相应的商业智能应用。在大数据分析的环节中,裸数据以及经转换了的数据大都会被保存下来,因为可能在后面还需要再次转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)