文档章节

初学数据库设计的瓶颈

Pcat
 Pcat
发布于 2015/12/05 13:01
字数 566
阅读 34
收藏 0
怎么设计一个好的数据库呢?
1、首先充分体现系统的需求,数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,准确的表达数据间关系。
2、保证数据的准确性和一致性,通过主外键、非空、限制、唯一索引等保证数据的健壮。
3、提高数据的查询效率,通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。
4、有好的扩展性,在必要时能根据需求扩展数据结构。

数据库设计的步骤(个人观点):

1、需求分析: 首先想清楚你要设计一个怎么样的数据库,设计的这个数据库有什么实际的意义,数据库里面应该包含什么样的信息。

2、逻辑设计:分好每一个实体,以及实体包含的属性,每个实体之间有什么联系。对于数据的范式我只记得第一范式没有重复的列,第二、第三范式还有BC范式要通过具体的设计、创表才会有更加深层次的理解.弄清楚实体之间的约束,保证数据的一致性。在什么样的情况下保留一定的冗余数据来提高程序效率。一般数据的冗余和程序的高效性是二选一的。要确保设计的数据库可拓展性较好,当用户需 要添加新功能时,原有数据库表只需做少量修改即可。然后开始画ER图。

3、物理设计:(因为我的第一个数据库还没有设计好,所以以下的两点以概念总结)是在逻辑设计基础上,结合具体DBMS对实体、属性、关系进行命名、分配存储空间等过程,设计成的物理模型也就是数据库结构了.

4、维护更新:维护:定时优化你的数据查询,定时备份.更新:插入数据了,添加新的触发器,存储过程了,等等!

© 著作权归作者所有

Pcat
粉丝 7
博文 48
码字总数 19039
作品 0
梧州
私信 提问
程式设计第一课:对该死的蠢电脑保持耐心

yo~小弟出社會工作一兩年了,有一些心得想分享給工程師們 小弟的網誌有安裝繁體、簡體中文轉換的plugin,可以在上面逛! http://blog.turn.tw/?p=2568 ------------------------------------...

尤川豪
2015/09/16
809
4
itext poi 学习之旅 (3)读取数据库信息并由excel展现出来

DBConnection.java 连接数据库操作 package com.zkbj.poi; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;impor......

fbh
2016/07/23
0
0
tale/MoveCryptica

#MoveCryptica 最近玩了一个android游戏叫复古拼图,英文名是Cryptica。有点像华容道,要用最短的移动次数,将砖块各就各位,还是非常有挑战的。 于是乎,在初学php的前提下,本人试着去写出...

tale
2015/02/15
0
0
ruby用telnet得到的主机返回信息怎么显示在一个TkText?

尊敬的前辈您好,小弟是初学Ruby,最近公司要用ruby写个东西,网上关于ruby的资料比较少, 我是找遍了各种资料,才把界面写好,现在又遇到瓶颈了, 所以我想跟你请教个问题: http://www.osc...

jcgaogs
2012/12/31
219
0
性能瓶颈分析方法

一、性能瓶颈分析方法有以下七点: 1.整个系统架构分析 2.系统响应时间消耗 3.利用图表分析 4.查看事务响应时间,通过事务摘要图分析事务响应时间,哪个消耗最大(通过小用户量和大用户量的响...

金龙鱼管家
2016/11/02
76
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot+jpa 错误信息org.springframework.beans.factory.BeanCreationException

报错信息 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/a......

冥焱
25分钟前
1
0
威胁快报|新兴挖矿团伙借助shodan作恶,非web应用安全再鸣警钟

近日,阿里云安全发现了一个使用未授权访问漏洞部署恶意Docker镜像进行挖矿的僵尸网络团伙。我们给这一团伙取名为Xulu,因为该团伙使用这个字符串作为挖矿时的用户名。 Xulu并不是第一个攻击...

迷你芊宝宝
32分钟前
2
0
十大经典排序算法动画与解析

排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记...

夜黑人模糊灬
35分钟前
5
0
7. java枚举

1. 枚举是什么 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便 2. 为什么不用静态常量来替代枚举类呢? 3. 常用方式 3.1 方式1 枚举类: package cn.ali.tencent...

20190513
36分钟前
1
0
elasticsearch – 弹性搜索:“Term”,“Match Phrase”和“Query String”之间的差异

术语查询匹配单个术语,因为它是:不分析值。 所以,它不必根据你索引的情况而降低。 如果您在索引时间提供Bennett并且未分析该值,则以下查询将不返回任何内容: { "query": { "te...

xiaomin0322
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部