仓酷云

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

[学习教程] MSSQL网页设计学 习 中 的 思 考

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:27:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。学习中的思考
      海风
进修盘算机常识经常让人堕入蒙昧的害怕中,已往冲破沙堡问究竟的精力在这里要有所克制了,我们掌控好一个度的成绩,要明白本人究竟如今最应当晓得的是些甚么;不固执于如今还不是时分该晓得的常识,只于心中存在一个问号待今后成心或偶然间来办理。疑问是进修的灵丹灵药,我经常抱着嫌疑的精力往思索书籍中叙说的常识,亦经常先进为主往斟酌未知的常识,但有发明本人的推测有准确的地方便志得意满,如如有误亦为书中的办理之道叹服与镇静。
MS SQLServer心得与料想:

数据库是门深邃的学问,有些常识固然不太分明,但我们能够推想能够思索。我们晓得一个数据库里有良多个表,一个内外有良多字段,一个字段上界说有良多划定规矩。那让我们想一想,一个纪录里包括一切字段对应的值,而纪录的数目是可变的,字段的个数也是可变的,可变加可变让我们创立保护办理数据库带来了便利,成绩是,如何完成如许的功效呢?我们查找数据修正数据时能够选择指定的字段指定的纪录,我们也一样用得很乐意,但是,为何如许子可行呢?在没有看过数据库存储布局有关书本之前,让我勇敢地推测:字段是绝对自力的工具,他具有本人的属性,我们用数组链表把表中的各个字段链接起来,如许我们就能够静态地增减字段数,各个纪录字段的对应值都应当有指向上一个与下一个对应字段值的指针,如许就构成一个十字交织链表,纪录也就能够便利地办理了,我们仿佛也能自在选择特定的字段来显现与修正了,并且由于有指针这位年夜侠的协助,数据就能够便利地乱放了;但是,另有成绩,增减一个字段仿佛要修正一切的纪录,我们的SQL言语仿佛也是面向汇合的言语,如许子的布局可行么,高效么?我不晓得,我只是任意想一想而已。另有啊,数据库里表与表之间的干系,在贮存布局里又该怎样表述呢?缺省与划定规矩又是怎样的绑定到字段呢?唉,算了,到此为止,有空再想。

存储历程:存储历程由一组SQL语句构成,他们配合完成一个义务,我们用一个名字(大概还和一些叫参数的标记构成的一串标记)来暗示这组语句;那末,在远程会见数据库时,我们就能够向数据库地点的服务器发送这个名字,那末服务器就实行对应的SQL语句组,并前往了局给客务机,这就到达削减发送的数据效果。

触发器:触发器界说了一组SQL语句,当我们对指定的表举行修正时,SQLServer就会触发对应的触发器,实行特定的SQL语句组,以包管数据的准确性和分歧性。

索引:由索引页和数据页构成;索引页由一个或几个数据项为关头字举行排序而构成,统一个关头字能够对应一个以上的纪录,并存储有指向特定纪录的指针,经由过程关头字的排序能够加速查找纪录的速率,数据页是实践的存储数据的页面。添补因子的感化是:由于在内存与硬盘的数据互换中,老是事后或优先把存储地位邻近的数据调进内存以削减缺页中止;以是在每一个索引页中事后留出一部分空间,使得体系在新增索引信息时可以坚持数据的一连性,从而加速查询速率。

数据库的平安:我们要利用SQLServer,必要利用一个登录名来毗连SQL服务器,登录名供应了利用服务器的权利但并没有供应利用服务器中的数据库的权利;用户帐号供应了利用数据库的权利,以是我必要为登录名供应一个用户账号以便在登录服务器的同时能利用个中特定的数据库;分歧的用户账号利用数据库的权限是分歧的,好比有的用户只能检察数据而不克不及修正,有的用户可以赋给其余用户利用数据库的权利,因而我们利用脚色来为具有分歧权限的用户分类,把具有不异权限的用用户会合起来办理,我们在创立数据库用户的同时也指定了他在数据中饰演的脚色(利用数据库的权限)。体系办理员与数据库具有者具有办理数据库的最高权利。我们还能够为数据库用户指定对数据库中的表,视图,函数,存储历程所具有的权限,以从更初级的数据工具来办理数据库平安。

当我们具有了利用数据库应有的权限时,在用户使用程序中,我们是如何利用数据库中的数据的呢?我们可使用SELECT语句来创立一个一时表,使用程序用户可以看到的利用的仅限于这个一时表,这个一时表具有指向基表(实践上的有存储数据的表)对应字段数据的指针,经由过程这个指针,我们就能够直接地修正选定的表中纪录记段的数据了。一时表中的指针指向的,能够是基于特定表中特定字段中的数据,具有云云小工具的数据的地点,我们因而能够团结查询修正数个表中的数据。视图,能够了解为用一个字符串交换一句SELECT语句,今后要利用特定的SELECT时只需利用这字符串交换就行,如许加重了我们誊写SELECT语句的包袱,固然也华侈了存储空间来存储(存在体系表中)SELECT语句的信息。由于使用程序用户是经由过程指针直接会见数据的,以是当我们改动数据库的物理存储布局时,不用修正用户程序,只需修正用户程序中一时表的数据地点就好了,而地点是静态主动分派的,如许就包管的用户程序的不乱性。大概改动物理存储布局,我们只需从头编译一下索引就好了,索引页存无数据的地点,一时表中的地点可便利地从索引页中猎取,索引页不年夜,猎取地点的效力很高。

COM的思索;

在C++言语中,类封装了数据和操纵个中数据的办法(函数),当我们必要操纵类中的数据时,我们就必要挪用办法函数,要挪用函数操纵数据就要晓得函数的代码段的地点,在统一历程中,地点能够如许子暗示:类名.函数名。不管你身在那边,只需你有举措猎取函数的地点,晓得函数名的界说,就能够利用函数来操纵数据并失掉前往了局。因而,当我们有举措连接远程盘算机并失掉个中可运转程序代码中的一个函数地点,我们就能够远程挪用(经由过程收集传输数据)这个函数使之在盘算机中运转并将失掉前往的了局传输回当地盘算机上。我们要盘算机完成的义务,基础上都是经由过程挪用函数来完成的。因而,在我们的程序中,假如我们晓得其他可自力编译运转程序中的函数的地点,我们就能够挪用他来为我们的程序服务。因而我们就能够把各个绝对自力的程序团结起来配合完成我们的义务。COM组件工具模子就是为懂得决这个手艺成绩而计划出来的。在COM中,我们计划了各类范例的接口来为函数挪用供应地点,每一个接口都具有本人的函数,也能够有本人公有的数据。各个接口类都有一个派生工具作为COM类的一个成员;因而我们便可经由过程接口类挪用(把派生工具地点赋给接口)存在于COM类中的派生工具的成员函数。那末,COM程序编译自力运转,只需能把派生工具地点赋给接口,再在我们必要利用COM中功效的程序中到场接口,挪用COM中的函数功效也就可以完成了。COM完成了真实的面向工具手艺,他把函数的完成细节完整埋没了起来,COM组件中,能够便利地新增一个接口来完成新的程序功效,只需在本来的代码加上一个接口代码就好了,本来的接口仍旧可用。COM组件类的存储布局是以二进制情势按次存储的,因而只需晓得一个接口的地点就能够经由过程地点偏移量盘算出COM别的接口的地点,也就能够便利地完成接口之间的切换了。我们经由过程接口挪用COM中函数,为了使COM能在分歧的言语中利用,专家们计划了尺度接白话言IDL,以此为中介,完成用各类言语誊写的有不异功效和参数的接口的转换;当我们用特定言语编写COM时,先把其接口界说转换为IDL接口界说的情势,再经由过程IDL把接口转换为别的言语所能辨认的接口;如许就完成了COM代码的重用性与言语有关性。

如今我们碰到的最年夜成绩是:怎样创立COM实例并猎取其地点供程序利用,怎样完成COM代码同时被多个程序所共享。这是个使人头痛的成绩,良多中央我都未能了解。为完成COM的共享,我们计划一个一切接口的基类IUnknown接口,IUnknown接口有一个函数QuerInterface来完成接口的切换,一对函数AddRef各Release来增添与削减他的援用计数成员m_dwRef;每当组件前往一个新的接口时,程序就挪用AddRef来使m_dwRef加一,当停止一个接口的利用时就挪用Release来使m_dwRef减一,当m_dwRef变成0时就删除组件工具。由于别的接口都是从IUnknown派生而来的,他们承继了m_dwRef成员,使这个援用计数能准确纪录下正在利用组件的用户数,完成了共享组件的办理。在ATL完成计划中,专家们计划了一个智能指针来封装完成有关援用计数的功效,有人称这类功效的完成者为渣滓搜集器。在服务器方面,我们必要做些甚么筹办呢?我们必要把CLSID、完成文件名等设置信注册到注册表中,以供客户远程激活利用。当客户必要COM服务时,远程盘算机依据客户发过去的CLSID在内存中检察对应组件是不是已被激活,假如已被激活了,即在组件服务程序中寻觅到类工具,再挪用个中的办法创立一个工具,并经由过程QueryInterFace前往一个接口指针给客户利用;假如没被激活,就必要先在注册表中寻觅到与CLSID绝对应的实行程序地点,在SCM的匡助下装载服务器程序,然后再寻觅类工具前往接口指针。

为懂得除客户与工具的并发性和重进限定之间的干系的模子,创建工具与历程和线程之间互相干系的模子,呈现了套间这个观点。一个套间可被多个工具共享,这些工具共享一组并发性和重进限定,套间被设置为工具接口的一个属性;统一时候,线程要想利用COM中的办法,必须先辈进一个套间中,别的没有进进套间的历程固然也能失掉COM办法的地点,但被克制挪用。套间把客户程序所要利用的COM办理起来,以供客户线程方更平安地挪用。唉,实在良多常识我如今还不太分明,不想多说,看了一些书籍的形貌后,反而让我想起了一些成绩。COM是自力编译运转的,内里具有一些全局变量和在一些办法中必要会见临界资本,假如有多个客户同时必要利用这些变量会产生一些甚么情形呢?

良多时分,我的一些设法与思索都只能证实我的蒙昧与浅薄,有实践意义的设法并非良多,可我已习觉得惯,他人喜好笑就让他笑往吧,归正我如今切实其实不懂那些常识的,切实其实很蒙昧。初学COM,有点消化不良,再次把我带到另外一个怅惘,我勉力发扬智力推想未知,确发明难以找到出力点,推出的了局连本人也以为荒诞好笑。固然如今没能对COM有个体系的认知,不外仍旧信任本人有才能成为COM专家,由于,我喜好盘算机手艺,由于我要靠他用饭。


2002年7月8日

因此,我们的第一个“米”,就是二进制日志binlog必须是rowbased的。在rowbase下,二进制日志binlog同时记录了更新前后的整行记录。
不帅 该用户已被删除
沙发
发表于 2015-1-19 13:13:39 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
若天明 该用户已被删除
板凳
发表于 2015-1-26 16:53:00 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
第二个灵魂 该用户已被删除
地板
发表于 2015-2-4 20:06:41 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
分手快乐 该用户已被删除
5#
发表于 2015-2-10 06:22:49 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
小妖女 该用户已被删除
6#
发表于 2015-3-1 00:23:32 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
小魔女 该用户已被删除
7#
发表于 2015-3-10 11:19:05 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
老尸 该用户已被删除
8#
发表于 2015-3-17 06:42:19 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-24 00:24:30 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-27 15:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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