爱飞 发表于 2015-1-16 22:36:52

MSSQL编程:数据库计划办法、标准与技能

我们分析上面的两个操作,都有一个“删除数据”的过程。标准|技能|计划|数据|数据库|数据库计划数据库计划办法、标准与技能(保举)
1、数据库计划历程
数据库手艺是信息资本办理最无效的手腕。数据库计划是指关于一个给定的使用情况,机关最优的数据库形式,创建数据库及其使用体系,无效存储数据,满意用户信息请求和处置请求。
数据库计划中需求剖析阶段综合各个用户的使用需求(实际天下的需求),在观点计划阶段构成自力于呆板特性、自力于各个DBMS产物的观点形式(信息天下模子),用E-R图来形貌。在逻辑计划阶段将E-R图转换成详细的数据库产物撑持的数据模子如干系模子,构成数据库逻辑形式。然后依据用户处置的请求,平安性的思索,在基础表的基本上再创建需要的视图(VIEW)构成数据的外形式。在物理计划阶段依据DBMS特性和处置的必要,举行物理存储布置,计划索引,构成数据库内形式。
1.需求剖析阶段
需求搜集和剖析,了局失掉数据字典形貌的数据需求(和数据流图形貌的处置需求)。
需求剖析的重点是查询拜访、搜集与剖析用户在数据办理中的信息请求、处置请求、平安性与完全性请求。
需求剖析的办法:查询拜访构造机构情形、查询拜访各部门的营业举动情形、帮忙用户明白对新体系的各类请求、断定新体系的界限。
经常使用的查询拜访办法有:仆从功课、开查询拜访会、请专人先容、扣问、计划查询拜访表请用户填写、查阅纪录。
剖析和表达用户需求的办法次要包含自顶向下和自底向上两类办法。自顶向下的布局化剖析办法(StructuredAnalysis,简称SA办法)从最下层的体系构造机构动手,接纳逐层分化的体例剖析体系,并把每层用数据流图和数据字典形貌。
数据流图表达了数据和处置历程的干系。体系中的数据则借助数据字典(DataDictionary,简称DD)来形貌。
数据字典是各种数据形貌的汇合,它是关于数据库中数据的形貌,即元数据,而不是数据自己。数据字典一般包含数据项、数据布局、数据流、数据存储和处置历程五个部分(最少应当包括每一个字段的数据范例和在每一个表内的主外键)。
数据项形貌={数据项名,数据项寄义申明,别号,数据范例,长度,
         取值局限,取值寄义,与其他数据项的逻辑干系}
数据布局形貌={数据布局名,寄义申明,构成:{数据项或数据布局}}
数据流形貌={数据流名,申明,数据流来历,数据流去处,
         构成:{数据布局},均匀流量,岑岭期流量}
数据存储形貌={数据存储名,申明,编号,流进的数据流,流出的数据流,  
        构成:{数据布局},数据量,存取体例}
处置历程形貌={处置历程名,申明,输出:{数据流},输入:{数据流},
          处置:{扼要申明}}
2.观点布局计划阶段
经由过程对用户需求举行综合、归结与笼统,构成一个自力于详细DBMS的观点模子,能够用E-R图暗示。
观点模子用于信息天下的建模。观点模子不依附于某一个DBMS撑持的数据模子。观点模子能够转换为盘算机上某一DBMS撑持的特定命据模子。
观点模子特性:
(1)具有较强的语义表达才能,可以便利、间接地表达使用中的各类语义常识。
(2)应当复杂、明晰、易于用户了解,是用户与数据库计划职员之间举行交换的言语。
观点模子计划的一种经常使用办法为IDEF1X办法,它就是把实体-接洽办法使用到语义数据模子中的一种语义模子化手艺,用于创建体系信息模子。
利用IDEF1X办法创立E-R模子的步骤以下所示:
2.1第零步——初始化工程
这个阶段的义务是从目标形貌和局限形貌入手下手,断定建模方针,开辟建模企图,构造建模步队,搜集源质料,制订束缚和标准。搜集源质料是这阶段的重点。经由过程查询拜访和察看了局,营业流程,原有体系的输出输入,各类报表,搜集原始数据,构成了基础数据材料表。
2.2第一步——界说实体
实体集成员都有一个配合的特性和属性集,能够从搜集的源质料——基础数据材料表中间接或直接标识出年夜部分实体。依据源质料名字表中暗示物的术语和具有“代码”开头的术语,如客户代码、代办署理商朝码、产物代码等将其名词部分代表的实体标识出来,从而开端找出潜伏的实体,构成开端实体表。
2.3第二步——界说接洽
IDEF1X模子中只同意二元接洽,n元接洽必需界说为n个二元接洽。依据实践的营业需乞降划定规矩,利用实体接洽矩阵来标识实体间的二元干系,然后依据实践情形断定出毗连干系的势、干系名和申明,断定干系范例,是标识干系、非标识干系(强迫的或可选的)仍是非断定干系、分类干系。假如籽实体的每一个实例都必要经由过程和父实体的干系来标识,则为标识干系,不然为非标识干系。非标识干系中,假如每一个籽实体的实例都与并且只与一个父实体联系关系,则为强迫的,不然为非强迫的。假如父实体与籽实体代表的是统一实际工具,那末它们为分类干系。
2.4第三步——界说码
经由过程引进交织实体撤除上一阶段发生的非断定干系,然后从非交织实体和自力实体入手下手标识侯选码属性,以便独一辨认每一个实体的实例,再从侯选码中断定主码。为了断定主码和干系的无效性,经由过程非空划定规矩和非多值划定规矩来包管,即一个实体实例的一个属性不克不及是空值,也不克不及在统一个时候有一个以上的值。找出误认切实其实定干系,将实体进一步分化,最初机关出IDEF1X模子的键基视图(KB图)。
2.5第四步——界说属性
从源数据表中抽取申明性的名词开辟出属性表,断定属性的一切者。界说非主码属性,反省属性的非空及非多值划定规矩。别的,还要反省完整依附函数划定规矩和非传送依附划定规矩,包管一个非主码属性必需依附于主码、全部主码、仅仅是主码。以此失掉了最少切合干系实际第三范式的改善的IDEF1X模子的全属性视图。
2.6第五步——界说其他工具和划定规矩
界说属性的数据范例、长度、精度、非空、缺省值、束缚划定规矩等。界说触发器、存储历程、视图、脚色、同义词、序列等工具信息。
3.逻辑布局计划阶段
将观点布局转换为某个DBMS所撑持的数据模子(比方干系模子),并对其举行优化。计划逻辑布局应当选择最适于形貌与表达响应观点布局的数据模子,然后选择最符合的DBMS。
将E-R图转换为干系模子实践上就是要将实体、实体的属性和实体之间的接洽转化为干系形式,这类转换一样平常遵守以下准绳:
1)一个实体型转换为一个干系形式。实体的属性就是干系的属性。实体的码就是干系的码。
2)一个m:n接洽转换为一个干系形式。与该接洽相连的各实体的码和接洽自己的属性均转换为干系的属性。而干系的码为各实体码的组合。
3)一个1:n接洽能够转换为一个自力的干系形式,也能够与n端对应的干系形式兼并。假如转换为一个自力的干系形式,则与该接洽相连的各实体的码和接洽自己的属性均转换为干系的属性,而干系的码为n端实体的码。
4)一个1:1接洽能够转换为一个自力的干系形式,也能够与恣意一端对应的干系形式兼并。
5)三个或三个以上实体间的一个多元接洽转换为一个干系形式。与该多元接洽相连的各实体的码和接洽自己的属性均转换为干系的属性。而干系的码为各实体码的组合。
6)统一实体集的实体间的接洽,即自接洽,也可按上述1:1、1:n和m:n三种情形分离处置。
7)具有不异码的干系形式可兼并。
为了进一步进步数据库使用体系的功能,一般以标准化实际为引导,还应当得当地修正、调剂数据模子的布局,这就是数据模子的优化。断定数据依附。打消冗余的接洽。断定各干系形式分离属于第几范式。断定是不是要对它们举行兼并或分化。一样平常来讲将干系分化为3NF的尺度,即:
表内的每个值都只能被表达一次。
•?表内的每行都应当被独一的标识(有独一键)。
表内不该该存储依附于其他键的非键信息。
4.数据库物理计划阶段
为逻辑数据模子拔取一个最合适使用情况的物理布局(包含存储布局和存取办法)。依据DBMS特性和处置的必要,举行物理存储布置,计划索引,构成数据库内形式。
5.数据库实行阶段
使用DBMS供应的数据言语(比方SQL)及其宿主言语(比方C),依据逻辑计划和物理计划的了局创建数据库,体例与调试使用程序,构造数据进库,并举行试运转。数据库实行次要包含以下事情:用DDL界说数据库布局、构造数据进库、体例与调试使用程序、数据库试运转
6.数据库运转和保护阶段
数据库使用体系经由试运转后便可投进正式运转。在数据库体系运转过程当中必需不休地对其举行评价、调剂与修正。包含:数据库的转储和恢复、数据库的平安性、完全性把持、数据库功能的监视、剖析和改善、数据库的重构造和重机关。

建模工具的利用
为加速数据库计划速率,今朝有良多数据库帮助工具(CASE工具),如Rational公司的RationalRose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner和Oracle公司的OracleDesigner等。
ERwin次要用来创建数据库的观点模子和物理模子。它能用图形化的体例,形貌出实体、接洽及实体的属性。ERwin撑持IDEF1X办法。经由过程利用ERwin建模工具主动天生、变动和剖析IDEF1X模子,不但能失掉优异的营业功效和数据需求模子,并且能够完成从IDEF1X模子到数据库物理计划的变化。ERwin工具绘制的模子对应于逻辑模子和物理模子两种。在逻辑模子中,IDEF1X工具箱能够便利地用图形化的体例构建和绘制实体接洽及实体的属性。在物理模子中,ERwin能够界说对应的表、列,并可针对各类数据库办理体系主动转换为得当的范例。
计划职员可依据必要选用响应的数据库计划建模工具。比方需求剖析完成以后,计划职员可使用Erwin画ER图,将ER图转换为干系数据模子,天生数据库布局;画数据流图,天生使用程序。
2、数据库计划技能
1.计划数据库之前(需求剖析阶段)
1)了解客户需求,扣问用户怎样对待将来需求变更。让客户注释其需求,并且跟着开辟的持续,还要常常扣问客户包管其需求仍旧在开辟的目标当中。
2)懂得企业营业能够在今后的开辟阶段勤俭大批的工夫。
3)器重输出输入。
在界说数据库表和字段需求(输出)时,起首应反省现有的大概已计划出的报表、查询和视图(输入)以决意为了撑持这些输入哪些是需要的表和字段。
举例:假设客户必要一个报表依照邮政编码排序、分段和乞降,你要包管个中包含了独自的邮政编码字段而不要把邮政编码糅进地点字段里。
4)创立数据字典和ER图表
ER图表和数据字典可让任何懂得数据库的人都明白怎样从数据库中取得数据。ER图对标明表之间干系很有效,而数据字典则申明了每一个字段的用处和任何大概存在的别号。对SQL表达式的文档化来讲这是完整需要的。
5)界说尺度的工具定名标准
数据库各类工具的定名必需标准。
2.表和字段的计划(数据库逻辑计划)
表计划准绳
1)尺度化和标准化
数据的尺度化有助于打消数据库中的数据冗余。尺度化有好几种情势,但ThirdNormalForm(3NF)一般被以为在功能、扩大性和数据完全性方面到达了最好均衡。复杂来讲,恪守3NF尺度的数据库的表计划准绳是:“OneFactinOnePlace”即某个表只包含其自己基础的属性,当不是它们自己所具有的属性时需举行分化。表之间的干系经由过程外键相毗连。它具有以下特性:有一组表专门寄存经由过程键毗连起来的联系关系数据。
举例:某个寄存客户及其有关订单的3NF数据库便可能有两个表:Customer和Order。Order表不包括订单联系关系客户的任何信息,但表内会寄存一个键值,该键指向Customer内外包括该客户信息的那一行。
现实上,为了效力的原因,对表不举行尺度化偶然也是需要的。
2)数据驱动
接纳数据驱动而非硬编码的体例,很多战略变动和保护城市便利很多,年夜年夜加强体系的天真性和扩大性。
举例,假设用户界面要会见内部数据源(文件、XML文档、其他数据库等),无妨把响应的毗连和路径信息存储在用户界面撑持内外。另有,假如用户界面实行事情流之类的义务(发送邮件、打印信笺、修正纪录形态等),那末发生事情流的数据也能够寄存在数据库里。脚色权限办理也能够经由过程数据驱动来完成。现实上,假如历程是数据驱动的,你就能够把相称年夜的义务推给用户,由用户来保护本人的事情流历程。
3)思索各类变更
在计划数据库的时分思索到哪些数据字段未来大概会产生变动。
举例,姓氏就是云云(注重是东方人的姓氏,好比女性娶亲后从夫姓等)。以是,在创建体系存储客户信息时,在独自的一个数据内外存储姓氏字段,并且还附加肇端日和停止日等字段,如许就能够跟踪这一数据条目标变更。

字段计划准绳
4)每一个表中都应当增加的3个有效的字段
•?dRecordCreationDate,在VB下默许是Now(),而在SQLServer下默许为GETDATE()
•?sRecordCreator,在SQLServer下默许为NOTNULLDEFAULTUSER
•?nRecordVersion,纪录的版本标志;有助于正确申明纪录中呈现null数据大概丧失数据的缘故原由
5)对地点和德律风接纳多个字段
形貌街道地点就短短一行纪录是不敷的。Address_Line1、Address_Line2和Address_Line3能够供应更年夜的天真性。另有,德律风号码和邮件地点最好具有本人的数据表,其间具有本身的范例和标志种别。
6)利用脚色实体界说属于某种别的列
在必要对属于特定种别大概具有特定脚色的事物做界说时,能够用脚色实体来创立特定的工夫联系关系干系,从而能够完成自我文档化。
举例:用PERSON实体和PERSON_TYPE实体来形貌职员。例如说,当JohnSmith,Engineer提拔为JohnSmith,Director以致最初爬到JohnSmith,CIO的高位,而一切你要做的不外是改动两个表PERSON和PERSON_TYPE之间干系的键值,同时增添一个日期/工夫字段来晓得变更是什么时候产生的。如许,你的PERSON_TYPE表就包括了一切PERSON的大概范例,好比Associate、Engineer、Director、CIO大概CEO等。另有个替换举措就是改动PERSON纪录来反应新头衔的变更,不外如许一来在工夫上没法跟踪团体所处地位的详细工夫。
7)选择数字范例和文本范例只管充分
在SQL中利用smallint和tinyint范例要出格当心。好比,假设想看看月发卖总额,总额字段范例是smallint,那末,假如总额凌驾了$32,767就不克不及举行盘算操纵了。
而ID范例的文本字段,好比客户ID或订单号等等都应当设置得比一样平常设想更年夜。假定客户ID为10位数长。那你应当把数据库表字段的长度设为12大概13个字符长。但这分外占有的空间却无需未来重构全部数据库就能够完成数据库范围的增加了。
8)增添删除标志字段
在表中包括一个“删除标志”字段,如许就能够把行标志为删除。在干系数据库里不要独自删除某一行;最好接纳扫除数据程序并且要细心保护索引全体性。
3.选择键和索引(数据库逻辑计划)
键选择准绳:
1)键计划4准绳
•?为联系关系字段创立外键。
•?一切的键都必需独一。
•?制止利用复合键。
•?外键老是联系关系独一的键字段。
2)利用体系天生的主键
计划数据库的时分接纳体系天生的键作为主键,那末实践把持了数据库的索引完全性。如许,数据库和非野生机制就无效地把持了对存储数据中每行的会见。接纳体系天生键作为主键另有一个长处:当具有分歧的键布局时,找到逻辑缺点很简单。
3)不要用用户的键(不让主键具有可更新性)
在断定接纳甚么字段作为表的键的时分,可必定要当心用户将要编纂的字段。一般的情形下不要选择用户可编纂的字段作为键。
4)可选键偶然可做主键
把可选键进一步用做主键,能够具有创建壮大索引的才能。

索引利用准绳:
索引是从数据库中猎取数据的最高效体例之一。95%的数据库功能成绩都能够接纳索引手艺失掉办理。
1)逻辑主键利用独一的成组索引,对体系键(作为存储历程)接纳独一的非成组索引,对任何外键列接纳非成组索引。思索数据库的空间有多年夜,表怎样举行会见,另有这些会见是不是次要用作读写。
2)年夜多半数据库都索引主动创立的主键字段,可是可别忘了索引外键,它们也是常常利用的键,好比运转查询显现主表和一切联系关系表的某笔记录就用得上。
3)不要索引memo/note字段,不要索引年夜型字段(有良多字符),如许作会让索引占用太多的存储空间。
4)不要索引经常使用的小型表
不要为小型数据表设置任何键,假设它们常常有拔出和删除操纵就更别如许作了。对这些拔出和删除操纵的索引保护大概比扫描表空间损耗更多的工夫。

4.数据完全性计划(数据库逻辑计划)
1)完全性完成机制:
实体完全性:主键
参照完全性:
父表中删除数据:级联删除;受限删除;置空值
父表中拔出数据:受限拔出;递回拔出
父表中更新数据:级联更新;受限更新;置空值
DBMS对参照完全性能够有两种办法完成:外键完成机制(束缚划定规矩)和触发器完成机制
用户界说完全性:
NOTNULL;CHECK;触发器
2)用束缚而非商务划定规矩强迫数据完全性
接纳数据库体系完成数据的完全性。这不仅包含经由过程尺度化完成的完全性并且还包含数据的功效性。在写数据的时分还能够增添触发器来包管数据的准确性。不要依附于商务层包管数据完全性;它不克不及包管表之间(外键)的完全性以是不克不及强加于其他完全性划定规矩之上。
3)强迫唆使完全性
在无害数据进进数据库之前将其剔除。激活数据库体系的唆使完全性特征。如许能够坚持数据的干净而能迫使开辟职员投进更多的工夫处置毛病前提。
4)利用查找把持数据完全性
把持数据完全性的最好体例就是限定用户的选择。只需有大概都应当供应给用户一个明晰的代价列表供其选择。如许将削减键进代码的毛病和曲解同时供应数据的分歧性。某些大众数据出格合适查找:国度代码、形态代码等。
5)接纳视图
为了在数据库和使用程序代码之间供应另外一层笼统,能够为使用程序创建专门的视图而不用非要使用程序间接会见数据表。如许做还即是在处置数据库变动时给你供应了更多的自在。
5.其他计划技能
1)制止利用触发器
触发器的功效一般能够用其他体例完成。在调试程序时触发器大概成为搅扰。假设你的确必要接纳触发器,你最好会合对它文档化。
2)利用经常使用英语(大概其他任何言语)而不要利用编码
在创立下拉菜单、列表、报表时最好依照英语名排序。假设必要编码,能够在编码旁附上用户晓得的英语。
3)保留经常使用信息
让一个表专门寄存一样平常数据库信息十分有效。在这个内外寄存数据库以后版本、比来反省/修复(对Access)、联系关系计划文档的称号、客户等信息。如许能够完成一种复杂机制跟踪数据库,当客户埋怨他们的数据库没有到达但愿的请求而与你接洽时,如许做对非客户机/服务器情况出格有效。
4)包括版本机制
在数据库中引进版本把持机制来断定利用中的数据库的版本。工夫一长,用户的需求老是会改动的。终极大概会请求修正数据库布局。把版本信息间接寄存到数据库中更加便利。
5)体例文档
对一切的快速体例、定名标准、限定和函数都要体例文档。
接纳给表、列、触发器等加正文的数据库工具。对开辟、撑持和跟踪修正十分有效。
对数据库文档化,大概在数据库本身的外部大概独自创建文档。如许,当过了一年多工夫后再回过火来做第2个版本,出错的时机将年夜年夜削减。
6)测试、测试、重复测试
创建大概订正数据库以后,必需用用户新输出的数据测试数据字段。最主要的是,让用户举行测试而且同用户一道包管选择的数据范例满意贸易请求。测试必要在把新数据库投进实践服务之前完成。
7)反省计划
在开辟时代反省数据库计划的经常使用手艺是经由过程其所撑持的使用程序原型反省数据库。换句话说,针对每种终极表达数据的原型使用,包管你反省了数据模子而且检察怎样掏出数据。
3、数据库定名标准
1.实体(表)的定名
1)表以名词或名词短语定名,断定表名是接纳单数仍是双数情势,别的给表的别号界说复杂划定规矩(例如说,假如表名是一个单词,别号就取单词的前4个字母;假如表名是两个单词,就各取两个单词的前两个字母构成4个字母长的别号;假如表的名字由3个单词构成,重新两个单词中各取一个然后从最初一个单词中再掏出两个字母,了局仍是构成4字母长的别号,其他顺次类推)
对事情用表来讲,表名能够加上前缀WORK_前面附上接纳该表的使用程序的名字。在定名历程傍边,依据语义拼集缩写便可。注重,因为ORCLE会将字段称号一致成年夜写大概小写中的一种,以是请求加高低划线。
举例:
界说的缩写Sales:Sal发卖;
Order:Ord定单;
Detail:Dtl明细;
则发卖定单明细表定名为:Sal_Ord_Dtl;
2)假如表大概是字段的称号唯一一个单词,那末倡议不利用缩写,而是用完全的单词。
举例:
界说的缩写MaterialMa物品;
物品表名为:Material,而不是Ma.
可是字段物品编码则是:Ma_ID;而不是Material_ID
3)一切的存储值列表的表后面加上前缀Z
目标是将这些值列表类排序在数据库最初。
4)一切的冗余类的定名(次要是累计表)后面加上前缀X
冗余类是为了进步数据库效力,非标准化数据库的时分到场的字段大概表
5)联系关系类经由过程用下划线毗连两个基础类以后,再加前缀R的体例定名,前面依照字母按次排列两个表名大概表名的缩写。
联系关系表用于保留多对多干系。
假如被联系关系的表名年夜于10个字母,必需将本来的表名的举行缩写。假如没有其他缘故原由,倡议都利用缩写。
举例:表Object与本身存在多对多的干系,则保留多对多干系的表定名为:R_Object;
表Depart和Employee;存在多对多的干系;则联系关系表定名为R_Dept_Emp
2.属性(列)的定名
1)接纳成心义的列名,表内的列要针对键接纳一整套计划划定规矩。每个表都将有一个主动ID作为主健,逻辑上的主健作为第一组候选主健来界说,假如是数据库主动天生的编码,一致定名为:ID;假如是自界说的逻辑上的编码则用缩写加“ID”的办法定名。假如键是数字范例,你能够用_NO作为后缀;假如是字符范例则能够接纳_CODE后缀。对列名应当接纳尺度的前缀和后缀。
举例:发卖定单的编号字段定名:Sal_Ord_ID;假如还存在一个数据库天生的主动编号,则定名为:ID。
2)一切的属性加上有关范例的后缀,注重,假如还必要别的的后缀,都放在范例后缀之前。
注:数据范例是文本的字段,范例后缀TX能够不写。有些范例对照分明的字段,能够不写范例后缀。
3)接纳前缀定名
给每一个表的列名都接纳一致的前缀,那末在编写SQL表达式的时分会失掉年夜年夜的简化。如许做也的确出缺点,好比损坏了主动表毗连工具的感化,后者把大众列名同某些数据库接洽起来。
3.视图的定名
1)视图以V作为前缀,其他定名划定规矩和表的定名相似;
2)定名应只管表现各视图的功效。
4.触发器的定名
触发器以TR作为前缀,触发器名为响应的表名加上后缀,Insert触发器加_I,Delete触发器加_D,Update触发器加_U,如:TR_Customer_I,TR_Customer_D,TR_Customer_U。
5.存储历程名
存储历程应以UP_开首,和体系的存储历程辨别,后续部分次要以动宾情势组成,并用下划线支解各个构成部分。如增添代办署理商的帐户的存储历程为UP_Ins_Agent_Account。
6.变量名
变量名接纳小写,若属于词组情势,用下划线分开每一个单词,如@my_err_no。
7.定名中其他注重事项
1)以上定名都不得凌驾30个字符的体系限定。变量名的长度限定为29(不包含标识字符@)。
2)数据工具、变量的定名都接纳英笔墨符,克制利用中文定名。相对不要在工具名的字符之间留空格。
3)当心保存词,要包管你的字段名没有和保存词、数据库体系大概经常使用会见办法抵触
5)坚持字段名和范例的分歧性,在定名字段并为其指定命据范例的时分必定要包管分歧性。假设数据范例在一个内外是整数,那在另外一个内外可就别酿成字符型了。

相干材料:
"数据库计划指南"我们分析上面的两个操作,都有一个“删除数据”的过程。

飘飘悠悠 发表于 2015-1-19 18:50:49

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?

莫相离 发表于 2015-1-26 22:41:02

总感觉自己还是不会SQL

老尸 发表于 2015-2-10 13:45:02

对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。

爱飞 发表于 2015-3-1 12:00:28

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

小魔女 发表于 2015-3-10 16:43:45

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

不帅 发表于 2015-3-17 09:08:15

比如日志传送、比如集群。。。

透明 发表于 2015-3-24 04:56:16

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
页: [1]
查看完整版本: MSSQL编程:数据库计划办法、标准与技能