当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:20:00  来源:本站整理

SQL猜想[MSSQL防范]

赞助商链接



  本文“SQL猜想[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

               学 习 中 的 思 考
                                      海风
   学习计算机知识常常让人陷入无知的惊骇中,过去冲破沙堡问到底的精神在这里要有所掌握了,我们掌控好一个度的问题,要明确自己到底目前最应当知道的是些什么;不执着于目前还不是时刻该知道的知识,只于心中存在一个问号待今后有意或无意间来办理.疑问是学习的灵丹灵药,我常常抱着猜疑的精神去考虑书本中论述的知识,亦常常先入为主去推敲未知的知识,但有发现自己的猜想有精确之处便洋洋得意,如若有误亦为书中的办理之道叹服与高兴.采集我?yuXvv

MS sql server 心得与猜想:采集我?yuXvv

  数据库是门高深的学问,有些知识固然不太清楚,但我们可以猜测可以考虑.我们知道一个数据库里有很多个表,一个表里有很多字段,一个字段上定义有很多法则.那让我们想想,一个记录里包含全部字段对应的值,而记录的数目是可变的,字段的个数也是可变的,可变加可变让我们成立保护管理数据库带来了便利,问题是,怎样实现这样的功效呢?我们查找数据改正数据时可以挑选指定的字段指定的记录,我们也一样用得很高兴,但是,为什么这模样可行呢?在没有看过数据库存储构造有关书籍之前,让我斗胆地猜想:字段是相对独立的对象,他拥有自己的属性,我们用数组链表把表中的各个字段链接起来,这样我们便可以动态地增减字段数,各个记录字段的对应值都应当有指向上一个与下一个对应字段值的指针,这样就形成一个十字穿插链表,记录也便可以便利地管理了,我们仿佛也能安闲挑选特定的字段来显示与改正了,并且因为有指针这位大侠的帮忙,数据便可以便利地乱放了;但是,还有问题,增减一个字段仿佛要改正全部的记录,我们的SQL语言仿佛也是面向调集的语言,这模样的构造可行么,高效么?我不知道,我只是随便想想罢了.还有啊,数据库里表与表之间的关系,在储存构造里又该若何表述呢?缺省与法则又是若何的绑定到字段呢?唉,算了,到此为止,有空再想.采集我?yuXvv

存储历程:存储历程由一组SQL语句构成,他们共同完成一个任务,我们用一个名字(大概还和一些叫参数的标记构成的一串标记)来表示这组语句;那么,在远程拜候数据库时,我们便可以向数据库所在的服务器发送这个名字,那么服务器就履行对应的SQL语句组,并返回后果给客务机,这就到达削减发送的数据效果.采集我?yuXvv

触发器:触发器定义了一组SQL语句,当我们对指定的表举行改正时,SQL Server 就会触发对应的触发器,履行特定的SQL语句组,以保证数据的精确性和一致性.采集我?yuXvv

索引:由索引页和数据页构成;索引页由一个或几个数据项为关键字举行排序而构成,同一个关键字可以对应一个以上的记录,并存储有指向特定记录的指针,通过关键字的排序可以加快查找记录的速度,数据页是实际的存储数据的页面.填充因子的作用是:因为在内存与硬盘的数据交换中,老是预先或优先把存储位置相近的数据调入内存以削减缺页中止;所以在每个索引页中预先留出一部份空间,使得系统在新增索引信息时可以保持数据的持续性,从而加快查询速度.采集我?yuXvv

数据库的安全:我们要利用SQL Server,需求利用一个登录名来衔接SQL服务器,登录名供应了利用服务器的权利但并没有供应利用服务器中的数据库的权利;用户帐号供应了利用数据库的权利,所以我需求为登录名供应一个用户账号以便在登录服务器的同时能利用此中特定的数据库;差别的用户账号利用数据库的权限是差别的,比方有的用户只能查看数据而不能改正,有的用户可以赋给别的用户利用数据库的权利,于是我们利用角色来为拥有差别权限的用户分类,把拥有相同权限的用用户集合起来管理,我们在成立数据库用户的同时也指定了他在数据中扮演的角色(利用数据库的权限).系统管理员与数据库拥有者拥有管理数据库的最高权利.我们还可认为数据库用户指定对数据库中的表,视图,函数,存储历程所拥有的权限,以从更初级的数据对象来管理数据库安全.采集我?yuXvv

    当我们拥有了利用数据库应有的权限时,在用户利用程序中,我们是怎样利用数据库中的数据的呢?我们可以利用SELECT语句来成立一个暂时表,利用程序用户可以看到的利用的仅限于这个暂时表,这个暂时表拥有指向基表(实际上的有存储数据的表)对应字段数据的指针,通过这个指针,我们便可以间接地改正选定的表中记录记段的数据了.暂时表中的指针指向的,可以是基于特定表中特定字段中的数据,拥有如此小对象的数据的地址,我们因此可以结合查询改正数个表中的数据.视图,可以理解为用一个字符串替换一句SELECT语句,今后要利用特定的SELECT时只需利用这字符串替换就行,这样减轻了我们书写SELECT语句的负担,当然也浪费了存储空间来存储(存在系统表中)SELECT语句的信息.因为利用程序用户是通过指针间接拜候数据的,所以当我们改变数据库的物理存储构造时,没必要改正用户程序,只需改正用户程序中暂时表的数据地址就行了,而地址是动态自动分配的,这样就保证的用户程序的安定性.大概改变物理存储构造,我们只需重新编译一下索引就行了,索引页存有数据的地址,暂时表中的地址可便利地从索引页中获得,索引页不大,获得地址的效率很高.采集我?yuXvv

COM的考虑;采集我?yuXvv

在C++语言中,类封装了数据和操作此中数据的办法(函数),当我们需求操作类中的数据时,我们就需求调用办法函数,要调用函数操作数据就要知道函数的代码段的地址,在同一进程中,地址可以这模样表示:类名.函数名.无论你身在何处,只要你有办法获得函数的地址,知道函数名的定义,便可以利用函数来操作数据并得到返回后果.于是,当我们有办法联接远程计算机并得到此中可运路程序代码中的一个函数地址,我们便可以远程调用(通过网络传输数据)这个函数使之在计算机中运行并将得到返回的后果传输回本地计算机上.我们要计算机完成的任务,基本上都是通过调用函数来完成的.于是,在我们的程序中,假如我们知道其他可独立编译运路程序中的函数的地址,我们便可以调用他来为我们的程序服务.于是我们便可以把各个相对独立的程序结合起来共同完成我们的任务.COM组件对象模子就是为了办理这个技术问题而计划出来的.在COM中,我们计划了各种范例的接口来为函数调用供应地址,每个接口都拥有自己的函数,也可以有自己私有的数据.各个接口类都有一个派生对象作为COM类的一个成员;于是我们便可通过接口类调用(把派生对象地址赋给接口)存在于COM类中的派生对象的成员函数.那么, COM程序编译独立运行,只要能把派生对象地址赋给接口,再在我们需求利用COM中功效的程序中加入接口,调用COM中的函数功效也就可以实现了.COM实现了真正的面向对象技术,他把函数的实现细节完好躲藏了起来,COM组件中,可以便利地新增一个接口来实现新的程序功效,只需在本来的代码加上一个接口代码就行了,本来的接口仍旧可用.COM组件类的存储构造是以二进制情势次序存储的,因此只要知道一个接口的地址便可以通过地址偏移量计算出COM别的接口的地址,也便可以便利地实现接口之间的切换了.我们通过接口调用COM中函数,为了使COM能在差别的语言中利用,专家们计划了尺度接口语言IDL,以此为中介,实现用各种语言书写的有相同功效和参数的接口的转换;当我们用特定语言编写COM时,先把其接口定义转换为IDL接口定义的情势,再通过IDL把接口转换为别的语言所能辨认的接口;这样就实现了COM代码的重用性与语言无关性.采集我?yuXvv

目前我们碰到的最大问题是:若何成立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的帮忙下装载服务器程序,然后再探求类对象返回接口指针.采集我?yuXvv

为了解除客户与对象的并发性和重入限制之间的关系的模子,成立对象与进程和线程之间彼此关系的模子,呈现了套间这个概念.一个套间可被多个对象同享,这些对象同享一组并发性和重入限制,套间被设置为对象接口的一个属性;同一时刻,线程要想利用COM中的办法,必须先进入一个套间中,别的没有进入套间的进程固然也能得到COM办法的地址,但被禁止调用.套间把客户程序所要利用的COM管理起来,以供客户线程方更安全地调用.唉,其实很多知识我目前还不太懂得,不想多说,看了一些书本的描写后,反而让我想起了一些问题.COM是独立编译运行的,里面拥有一些全局变量和在一些办法中需求拜候临界资源,假若有多个客户同时需求利用这些变量会发生一些什么情形呢?采集我?yuXvv

很多时刻,我的一些设法与考虑都只能证明我的无知与菲薄,有实际意义的设法并非很多,可我已习认为惯,别人喜好笑就让他笑去吧,反正我目前的确不懂那些知识的,的确很无知.初学COM,有点消化不良,再次把我带到另一个怅惘,我勤奋施展智力猜测未知,确发现难以找到着力点,推出的后果连自己也认为荒诞好笑.固然目前没能对COM有个系统的认知,不过仍旧相信自己有本领成为COM专家,因为,我喜好计算机技术,因为我要靠他吃饭.采集我?yuXvv


                                             2002年7月8日采集我?yuXvv

  以上是“SQL猜想[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQL猜想
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .