仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 700|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之数据库计划履历谈 一 (引)

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:25:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
mysql的prepare其实是本地PHP客户端模拟的,并没有根据你mysql的设置做字符集的调整。应该交与mysqlserver端做prepare,同时得调用mysql_set_character_set去操作,server才会按照字符集去做转义。计划|数据|数据库|数据库计划数据库计划履历谈

作者:水若冷

一个乐成的办理体系,是由:[50%的营业+50%的软件]所构成,而50%的乐成软件又有[25%的数据库+25%的程序]所构成,数据库计划的优劣是一个关头。假如把企业的数据比做性命所必须的血液,那末数据库的计划就是使用中最主要的一部分。有关数据库计划的质料汗牛充栋,年夜学学位课程里也有专门的报告。不外,就如我们重复夸大的那样,再好的先生也比不外履历的教导。
拔出一些数据库计划心得:

1、计划头脑
对很多程序员来讲,计划一个数据库使用程序并非很难的一件事。可是却有很多数据库使用软件得不到用户的供认,其缘故原由就是后期调研中,信息化计划单元和利用单元没有失掉响应的头脑相同。
这里所说的相同包含用户对软件功效的请求,工夫效益的请求,软件平台的请求,代价的请求和软件保护的请求。这五种请求组成一个乐成使用的软件的一切的调研项目。
可是这里最主要的就是对软件功效的请求,分歧的企业对软件请求的是纷歧样的。上面就软件功效的需求请求做一个提要先容:
1.工具性:
这并非软件工程大概其他参考书中所刻画的软件计划请求,可是这是一个一定的开展趋向。我国软件次要由财政软件起步,财政营业流程是国度一致划定的,批发业的财政流程和建材业的财政营业流程并没有多年夜分歧,以是计划一种软件就能够使用分歧的公司乃至是跨行业的公司也就是很一般的一件事,可是跟着我国市场经济的开展,用信息化手艺来推进企业开展成为一种实在无效的手腕,很多分歧行业的企业乃至偕行业分歧企业对信息化使用软件都有分歧的请求。
在古代程序开辟手艺中,面临工具的手艺是一个年夜的奔腾。可是很多开辟的数据库使用软件并没由熟悉到这一点,以是开辟的软件就没有市场。有一次,一个软件倾销员到我公司来倾销软件,是明煌软件公司的人事办理软件,公司人事部门向导很感乐趣,随口问了几个成绩,个中一个是有无一时工的办理,一个是人为统计查询能不克不及依照职工岁数,岗亭,职称,学历分类统计查询。了局这个软件没有这两项功效,以是人事部门向导很客套的回绝了这个使用软件倾销员的关于演示软件的哀求。
作为一个开辟职员来讲,在一个数据库使用软件加上以上两个功效其实是很一样平常的事情,可是就是由于在开辟时没有面临工具的思索用户的需求招致了此次软件倾销的失利。
以是对一个使用软件来讲一入手下手就思索软件的工具性是一个乐成的需要要素。
2.易用性
关于易用性的优劣不是由开辟部门测定的,也不是由软件评测机构认定的,而是由用户认定的。这是在事情交换中失掉确认的。
很多软件思索精密,比方ORACLE数据库为背景数据库的ORACLE公司的ERP软件办理计划,就没有思索到中国的国情,不仅使用界面分类庞大,并且在事情营业忙碌的时分,因为操纵庞大常常还拔苗助长,到延误了事情,惹得向导抱怨,职工埋怨,反而不如不必。
在发卖体系软件的调试过程当中,我熟悉了一个发卖公司的营业员,他跟我谈了利用软件后的很多感受。他说软件原本是加重事情量的,可是发卖体系有的使用界面就很不友爱,在向收集数据库中录进数据时,录进数据良多,可是软件总请求一会用键盘打字,一会用鼠标点击,这几千项数据输出时,人一会用键盘一会用鼠标,活就像个钟摆,累逝世了,干嘛不计划的都能用键盘把持呢。
现实上就是如许,软件在体例的过程当中必定要多与营业职员交换,懂得事情流程很主要,可是决不克不及无视易用性在全部软件功能中不成无视的比例。
3.扩大性
作为古代软件体系的一部分,可扩大性愈来愈成为组成软件性命的次要功效之一。不管甚么公司都但愿买的软件可以顺应并满意公司营业开展变更的需求,还但愿可以和其他购置的软件一同组成一个完全的企业软件体系。
在软件下去说,这有点坚苦,由于要满意这项请求不仅要展望企业开展偏向,而且在软件中预留出数据互换接口,在使用文档中要发布部分数据库组成乃至时部分源码。
可是从年夜的使用偏向上,我们计划的软件必需到达如许利用的功效。金蝶,用友这两个年夜的软件公司已完成的客户开辟工具包来完成客户化二次开辟的需求。
4.保护功效
为了包管软件一般事情,软件保护是需要的。可是远水救不了近火,谁也不克不及包管软件在妨碍的时分软件保护职员可以实时保护,这就请求在软件计划是要增添软件保护功效。有了软件保护功效,哪怕是复杂的备份功效,也可以在突发事务中将数据丧失降到最低点。

除一样平常功效外,在软件计划时,我以为上述四个功效是注重要增加和完美的,如许我们作出来的数据库使用软件才干够具有更高的利用代价。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

以是我归结积年来所走的弯路及体味,并在网上找了些对数据库计划很有成就的专业人士给人人教授一些计划数据库的技能和履历。精选了个中的60个最好技能,并把这些技能编写成了本文,为了便利索引其内容分别为5个部分:
第1部分-计划数据库之前
这一部分排列了12个基础技能,包含定名标准和明白营业需求等。
第2部分-计划数据库表
统共24个指南性技能,涵盖表内字段计划和应当制止的罕见成绩等。
第3部分-选择键
怎样选择键呢?这里有10个技能专门触及体系天生的主键的准确用法,另有什么时候和怎样索引字段以取得最好功能等。
第4部分-包管数据完全性
会商怎样坚持数据库的明晰和强健,怎样把无害数据下降到最小水平。
第5部分-各类小技能
不包含在以上4个部分中的其他技能,八门五花,有了它们但愿你的数据库开辟事情会更轻松一些。
第1部分-计划数据库之前
1.考查现有情况
在计划一个新数据库时,你不仅应当细心研讨营业需求并且还要考查现有的体系。年夜多半数据库项目都不是重新入手下手创建的;一般,机构内总会存在用来满意特定需求的现有体系(大概没有完成主动盘算)。明显,现有体系其实不完善,不然你就不用再创建新体系了。可是对旧体系的研讨可让你发明一些大概会疏忽的渺小成绩。一样平常来讲,考查现有体系对你相对有优点。
2.界说尺度的工具定名标准
必定要界说数据库工具的定名标准。对数据库表来讲,从项目一入手下手就要断定表名是接纳单数仍是双数情势。别的还要给表的别号界说复杂划定规矩(例如说,假如表名是一个单词,别号就取单词的前4个字母;假如表名是两个单词,就各取两个单词的前两个字母构成4个字母长的别号;假如表的名字由3个单词构成,你无妨重新两个单词中各取一个然后从最初一个单词中再掏出两个字母,了局仍是构成4字母长的别号,其他顺次类推)对事情用表来讲,表名能够加上前缀WORK_前面附上接纳该表的使用程序的名字。表内的列[字段]要针对键接纳一整套计划划定规矩。好比,假如键是数字范例,你能够用_N作为后缀;假如是字符范例则能够接纳_C后缀。对列[字段]名应当接纳尺度的前缀和后缀。再如,假设你的内外有很多多少“money”字段,你无妨给每一个列[字段]增添一个_M后缀。另有,日期列[字段]最好以D_作为名字打头。
反省表名、报表名和查询名之间的定名标准。你大概会很快就被这些分歧的数据库要素的称号弄懵懂了。假设你保持一致地定名这些数据库的分歧构成部分,最少你应当在这些工具名字的开首用Table、Query大概Report等前缀加以区分。
假如接纳了MicrosoftAccess,你能够用qry、rpt、tbl和mod等标记来标识工具(好比tbl_Employees)。我在和SQLServer打交道的时分还用过tbl来索引表,但我用sp_company(如今用sp_feft_)标识存储历程,由于在有的时分假如我发明了更好的处置举措常常会保留好几个拷贝。我在完成SQLServer2000时用udf_(大概相似的标志)标识我编写的函数。
3.工欲利其器
接纳幻想的数据库计划工具,好比:SyBase公司的PowerDesign,她撑持PB、VB、Delphe等言语,经由过程ODBC能够毗连市情下流行的30多个数据库,包含dBase、FoxPro、VFP、SQLServer等,从此无机会我将侧重先容PowerDesign的利用。
4.猎取数据形式资本手册
正在追求示例形式的人能够浏览《数据形式资本手册》一书,该书由LenSilverston、W.H.Inmon和KentGraziano编写,是一本值得具有的最好数据建模图书。该书包含的章节涵盖多种数据范畴,好比职员、机构和事情效能等。其他的你还能够参考:[1]萨师煊 王珊著 数据库体系概论(第二版)初等教导出书社1991、[2][美]StevenM.Bobrowski著Oracle7与客户/服务器盘算手艺从进门到精晓 刘建元等译 电子产业出书社,1996、[3]周中元 信息体系建模办法(下) 电子与信息化 1999年第3期,1999
5.憧憬将来,但不成忘了已往的教导
我发明扣问用户怎样对待将来需求变更十分有效。如许做能够到达两个目标:起首,你能够分明地懂得使用计划在哪一个中央应当更具天真性和怎样制止功能瓶颈;其次,你晓得产生事前没有断定的需求变动时用户将和你一样感应受惊。
必定要记着已往的履历教导!我们开辟职员还应当经由过程分享本人的体味和履历相互匡助。即便用户以为他们不再必要甚么撑持了,我们也应当对他们举行这方面的教导,我们都已经面对过如许的时候“现在如果这么做了该多好..”。
6.在物理理论之行进行逻辑计划
在深切物理计划之前要先辈行逻辑计划。跟着大批的CASE工具不休出现出来,你的计划也能够到达相称高的逻辑水准,你一般能够从全体上更好地懂得数据库计划所必要的各个方面。
7.懂得你的营业
在你百分百地断定体系从客户角度满意其需求之前不要在你的ER(实体干系)形式中到场哪怕一个数据表(怎样,你还没有形式?那请你参看技能9)。懂得你的企业营业能够在今后的开辟阶段勤俭大批的工夫。一旦你明白了营业需求,你就能够本人做出很多决议了。
一旦你以为你已明白了营业内容,你最好同客户举行一次体系的交换。接纳客户的术语而且向他们注释你所想到的和你所听到的。同时还应当用大概、将会和必需等辞汇表达出体系的干系基数。如许你就能够让你的客户改正你本人的了解然后做好下一步的ER计划。
8.创立数据字典和ER图表
必定要花点工夫创立ER图表和数据字典。个中最少应当包括每一个字段的数据范例和在每一个表内的主外键。创立ER图表和数据字典的确有点费时但对其他开辟职员要懂得全部计划倒是完整需要的。越早创立越能有助于制止从此面对的大概凌乱,从而可让任何懂得数据库的人都明白怎样从数据库中取得数据。
有一份诸如ER图表等最新文档其主要性怎样夸大都不外分,这对标明表之间干系很有效,而数据字典则申明了每一个字段的用处和任何大概存在的别号。对SQL表达式的文档化来讲这是完整需要的。
9.创立形式
一张图表赛过千言万语:开辟职员不但要浏览和完成它,并且还要用它来匡助本人和用户对话。形式有助于进步合作效能,如许在先期的数据库计划中几近不成能呈现年夜的成绩。形式不用弄的很庞大;乃至能够复杂得手写在一张纸上就能够了。只是要包管其上的逻辑干系从此能发生效益。
10.从输出输入动手
在界说数据库表和字段需求(输出)时,起首应反省现有的大概已计划出的报表、查询和视图(输入)以决意为了撑持这些输入哪些是需要的表和字段。举个复杂的例子:假设客户必要一个报表依照邮政编码排序、分段和乞降,你要包管个中包含了独自的邮政编码字段而不要把邮政编码糅进地点字段里。
11.报表技能
要懂得用户一般是怎样呈报数据的:批处置仍是在线提交报表?工夫距离是天天、每周、每个月、每一个季度仍是每一年?假如必要的话还能够思索创立总结表。体系天生的主键在报表中很难办理。用户在具有体系天生主键的表内用副键举行检索常常会前往很多反复数据。如许的检干脆能对照低并且简单引发凌乱。
12.了解客户需求
看起来这应当是不言而喻的事,但需求就是来自客户(这里要从外部和内部客户的角度思索)。不要依附用户写上去的需求,真实的需求在客户的脑壳里。你要让客户注释其需求,并且跟着开辟的持续,还要常常扣问客户包管其需求仍旧在开辟的目标当中。一个稳定的真谛是:“只要我瞥见了我才晓得我想要的是甚么”一定会招致大批的返工,由于数据库没有到达客户历来没有写上去的需求尺度。而更糟的是你对他们需求的注释只属于你本人,并且多是完整毛病的。
线上或者测试环境经常出现的误操作总是让DBA同学那么闹心。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-19 11:12:55 | 只看该作者
连做梦都在想页面结构是怎么样的,绝非虚言
深爱那片海 该用户已被删除
板凳
发表于 2015-1-24 13:18:23 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-1 16:07:42 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
若相依 该用户已被删除
5#
发表于 2015-2-7 08:00:23 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
小妖女 该用户已被删除
6#
发表于 2015-3-6 19:42:27 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
小魔女 该用户已被删除
7#
发表于 2015-3-13 07:08:31 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
分手快乐 该用户已被删除
8#
发表于 2015-3-20 16:11:38 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表