‘壹’ 如何设计一个好的,可扩展性的数据库
如何设计一个好的,可扩展性的数据库
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
‘贰’ 根据本讲要获得一个好的数据库需要什么
要获得一个好的数据库需要资源齐全,界面简便易用,设计美观大方。
传统的数据库方案并不具备强大的弹性伸缩能力,比如说常见的Oracle,MySQL,PostgreSQL等数据库,在面对数据量的爆发性的增长时,往往很容易遇到存储的瓶颈。
因此,不得不选用一些集群方案,如 Oracle RAC、 MySQL Sharding等,但这些解决方案同云计算的弹性伸缩能力想比,还是会有不小的差距。云时代用户需要的是可以随需应变,弹性支撑各种业务的数据库系统。
企业的数据库注意
在云时代,因为所有的数据库资源都是分布式存储的,每个数据库节点出现问题都是很正常的事情,所以就必须有一种可以实现数据一致性的数据复制方式来保证服务的高可用。
云数据库虽然可以做到弹性扩容,但当并发大到一定规模,云数据库需要在很高的并发下,依然可以维持系统的稳定。因此,云时代的数据库必须有合理的架构设计,才能更好的支持系统的需求。
‘叁’ 怎么做数据库
如下:
‘肆’ 什么样的数据库是一个好的数据库
数据库一般是指关系型数据库,它通过数据间的依赖性来组织数据,所以一个好的数据库应该充分挖掘数据间的依赖关系,减小数据冗余。
至于建立数据库的好处,数据库可以使独立的数据通过他们之间的关系联系起来,这样便于更快速彻底有效的利用数据获得信息。归根结底,数据库就是数据+关系。关系就是他最大的优点。
‘伍’ 怎么做一个完整的数据库
你要是建ORACLE数据库,还是MSSQL数据库呢?在建立数据库之前,需要对其进行设计分析。
需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。概念设计对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
物理设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。验证设计在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。运行与维护设计在数据库系统正式投入运行的过程中,必须不断地对其进行调整与修改。
数据库设计步骤 至今,数据库设计的很多工作仍需要人工来做,除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。所以数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更加工程化、更加规范化和更加方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法。
‘陆’ 建立数据库的原则(怎样建立一个好的数据库)
主目录分类要清楚详细(也就是要实现的功能)无论是自己,或别人看到你的数据库名(或表名)都一目了然。
****每个表之间的关联要明确,表之间的访问,可读写(也就是安全,约束)要明确***这点最重要。
在表字段追加方式和追加内容要明确(每个表字段之间的关系一定要清楚,不然到时候会给你的表结构带来许多不便)。
在这之前最好是写出详细的需求分析说明,用图把层次结构画出来,这要在建的时候才不会混乱。
还有就是当你在写程序涉及到数据库的时候,如果你的WEB(FORM)与最初设计的数据库需求分析不同的话,最好是把需求分析也改为一致。这样才能够同步。尽量避免写程序的时候再回头设计数据库。
以上是我自己的看法,可能同行内有更好的解决办法,多多参考.多多总结..
‘柒’ 如何构建一个完善的数据库,如何来处理表与表关系.
SQL Server本身就是一个完善的数据库,提供可视化编程,后台完成所有拖放处理操作,不管有没有数据都可以使用,不需要编译。
一个比较合理的数据库设计应该考虑数据的交互性和挖掘能力、处理效率以及日志记录。
建立数据表,注意以下几点:
表建立的时候要有主键和索引,表与表之间要能使用主键相联系,举例说在A表里我做完一次记录要生成一个单号,B表里面是依据单号来做下一个流程,而不是依据记录的每一条数据
取名尽量使用英文+下划线,SQL Server里对汉字需要转码,影响工作效率,按照他的默认编码方式操作有助于提高数据处理速度
建立数据表的列数不要太多,用编码规则来建立逻辑
注意字段存储空间,限制字段长度,少用注释和image
存储过程尽量简洁实用
建立视图,为了别的客户端使用,尽量建立视图,做好完整的数据分析,别的接口程序或者客户端直接就可以拿去使用。做视图注意几点:
多个表操作写在一个视图里,不要嵌套太多视图
连接查询要适当的筛选
跨服务器操作视图,要建立服务器链接表,尽量使用内网链接,把服务器链接表做成查询视图,放在本地服务器数据库里,这样就等同本地操作
视图之间保留连接字段作为主要索引
建立计划作业,有计划地进行数据同步更新和备份标识工作,注意事项:
备份数据尽量放数据库里同步复制
计划任务避开工作高峰期
建立存储过程,记录操作日志,把日志以数据表的形式存储,注意事项:
存储过程对本表操作,不要交互太多表
精简参数数量,注意参数存储空间
对记录修改删除、更新标记的时候尽量使用时间来索引
建立关系图,给表与表之间建立直接关系,整理整体挖掘数据性能。
建立计划更新任务,优化数据库整体性能。
‘捌’ 什么数据库最强大
最近搞数据库,本人也就个人常识谈谈:
其实就像上面所说,没有什么最强大的,只是起应用范围不一样而已.试想一想,如果一种东西在各方面都有绝对的实力战胜其它所有事物,那么它就成了垄断,其他的东西就没有存在的价值了.当然这都是废话.不过作为一个职业搞软件的人一般是不会问这样的问题.相信你还对这方面不是很了解.我谁边说几种数据库以及其应用给你参考一下:
ACCESS:又称为桌面数据库,其操作简单方便,适合于开发小型项目,其数据一般在20000条以内.好处就是很简单,处理很友好,现在很多
Offic自带的.难点就是数据处理能力不是很乐观,而且管理不严格也不安全,并仅适合于一定平台环境.如果你做一个1万元以内或左右的项目可以使用这种数据库.
SQL
Server/Sybase:我把这种数据库成为适合于学习的数据库,因为它是你开发大型数据库的基础,这比起上述数据库要适合于开发大型一些的项目,一般是几十万的.但其本质更加适合于教学.因为对机器要求不高(如果只装此软件,不包含其它开发环境256M内存就差不多了,不过搞开发不够,如果你知道客户数据库和服务器数据库就知道了),而其操作和大型数据库类似.因为现在很普遍的数据库就称为:
"关系数据库".不过像SQL
Server是微软的产品,所以对应于高级语言开发的话比较有天性目前市场上的C#.NET技术.
MySql:这是一种比上一种数据库可能在功能上要强大一点的数据库系统,此数据库也是很流行的.本人对本数据库接触不多,在此就不多说了.
Oracle:此数据库是自称为世界上最为强大的一种数据库系统,的确,其数据处理能力(不论是管理能力\存取能力\搜索能力\计算能力)是上述所有数据库所无与能比的,所以它在世界上非常流行,其都用于开发大型软件系统,小的项目也要上百万,当然如果你要用它来开发几十万的项目也不是不型,只不过派不上用场(好象在农村的破路上买一辆"奔驰"来开一样,这就是我为什么说实用范围了).当然其功能强大需要超强的硬件支持.我们老师上次做的一个系统把整套硬软设备配置完成就花了200多万.所以其一般用于开发大型项目而且一般用于商业软件开发,比如现在世界上非常流行的ERP(企业资源管理)几乎都是用这样的数据库开发的.
BD2:当然,与Oracle一直枪世界第一称号的数据库就是DB2了,它也是非常强大的,至于谁好,我也说不大上来,只不过我知道,IBM不论从各方面(只要是技术,不论是硬件还是软件,此不包含其经济问题)它都是世界的老大哥,DB2就是它的东西,所以它绝对是个好东西.而为什么商业软件大部分都是用Oracle那,那是正是因为它自己太强大了所有就从硬件到软件进行全面自我化,它的软件别人硬件安全不了,它的硬件必须要用它的操作系统,否则指令集不识别,安全不上.当然数据库就是这样了,当然就不容于市场了,它的东西太好,那么技术就高,那么就太贵了.这也是IBM被联想都给收购的一个重要原因.不过IBM的机器毕竟是好,稳定,速度那是必须相当好,所以很多机关政府都用它的机器,当然就要用它的数据库了.像中国的银行都是使用DB2数据库,因为都使用的是IBM的电脑.
我说能说的差不多就这么多了,希望能给你点帮助.
‘玖’ 我想建立一个数据库系统,用哪个数据库好
追求和office的兼容性,无疑最佳选择就是office系列里的access了。操作和维护也比较简单。追求功能强大的话可以用oracle,只是可能要借助第三方工具来进行维护了。
‘拾’ 如何在人脑建立一个数据库!
目前来说,靠个人的力量比较困难。难道你要把20000位圆周率投射到视网膜上,还是直接把他切入视神经?不过将类似的存储芯片嵌入大脑不难,人体也有生物电,可以提供电量。当来还要一块处理芯片把数字信号变成模拟信号输入神经。但是,能潜入人类意识的数据库也比较难设计啊,读取不难,你还需要一种能管理数据库的软件,通过探测脑电波来获取你的指令(好像已经有类似的轮椅了)。总而言之,像My SQL对大脑来说没啥用,自己单独设计一个至少要十年。