国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

視圖在實(shí)踐中的應(yīng)用

2016-05-19 13:34:27劉新亮孫忠林
電腦知識(shí)與技術(shù) 2016年7期
關(guān)鍵詞:視點(diǎn)視圖數(shù)據(jù)庫

劉新亮++孫忠林

摘要:共享數(shù)據(jù)是存在安全性問題的,由于數(shù)據(jù)量很大,實(shí)際應(yīng)用中用戶只關(guān)心部分?jǐn)?shù)據(jù),因此,如何提高數(shù)據(jù)共享、保證數(shù)據(jù)安全性和提升軟件系統(tǒng)運(yùn)行效率在實(shí)踐應(yīng)用中是復(fù)雜的。該文結(jié)合實(shí)際,給出視圖的一種應(yīng)用方法,應(yīng)用表明能解決數(shù)據(jù)共享、數(shù)據(jù)安全和提升軟件系統(tǒng)運(yùn)行效率的問題。

關(guān)鍵詞:視圖;數(shù)據(jù)庫;權(quán)限;緩存;視點(diǎn)

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)07-0019-02

The Application of View in Practice

LIU Xin-liang,SUN Zhong-lin

(Shandong University of Science and Technology,Qingdao 266590,China)

Abstract: Shared data exits security problems.And because the volume of date is very large,users usually only concern parts of it. How to improve data sharing, how to ensure the data security,and how to make the software system run efficiently are complicated in real life. With practice,this paper provides an application method of view. The practice shows that it can solve the problems of data sharing,data security and improving of software system operating efficiency.

Key words: view; database; jurisdiction; cache; viewpoint

1 概述

視圖是數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度觀察數(shù)據(jù)庫中數(shù)據(jù)的重要機(jī)制。視圖是從一個(gè)或多個(gè)基本表(或視圖)導(dǎo)出的表,它是一個(gè)虛表。數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。

目前,視圖的應(yīng)用十分普遍。對(duì)于需要多次固定查詢數(shù)據(jù)庫的操作,可以通過設(shè)計(jì)視圖來簡化查詢;對(duì)于某些重要數(shù)據(jù)或者隱私數(shù)據(jù),可以通過視圖來限制對(duì)物理表的訪問,從而保證數(shù)據(jù)的安全;分布式數(shù)據(jù)庫中,通過引用視圖可以將不同服務(wù)器的表格簡單的連接起來。以當(dāng)前流行的框架SSH為例,視圖的使用還可以提升其訪問數(shù)據(jù)庫的效率。

2 視圖應(yīng)用的方法

2.1集中用戶視點(diǎn)

隨著當(dāng)前互聯(lián)網(wǎng)的發(fā)展,用戶信息越來越多,存儲(chǔ)到數(shù)據(jù)庫的數(shù)據(jù)量越來越大,對(duì)于數(shù)據(jù)的管理越來越復(fù)雜。數(shù)據(jù)庫表格的設(shè)計(jì)往往不能滿足所有角色的需求,因?yàn)椴煌慕巧?,關(guān)心的數(shù)據(jù)屬性也是不同的,很可能這些數(shù)據(jù)屬性會(huì)分布在不同的數(shù)據(jù)庫表格中。在分布式數(shù)據(jù)庫中,某角色可能還需要集成分布在不同數(shù)據(jù)源的數(shù)據(jù),遇到這種情況,應(yīng)用視圖可以很好地解決相應(yīng)的問題。物理表結(jié)構(gòu)的變動(dòng)對(duì)于已經(jīng)開發(fā)的項(xiàng)目會(huì)帶來不可估量的影響,而應(yīng)用視圖,可以在不改變表結(jié)構(gòu)的情況下,任意組合數(shù)據(jù)庫物理表格的信息,這就可以很方便地為不同的角色設(shè)計(jì)不同的視圖。

在數(shù)據(jù)字段比較多的表格中,可能會(huì)存在某角色只關(guān)心其中的幾個(gè)屬性,如果將所有的屬性全部列舉出來,那么就會(huì)造成用戶的視點(diǎn)不集中。用戶需要自己去過濾不需要的信息,使得系統(tǒng)的友好度降低。利用視圖,可以將該角色感興趣的屬性集合在一起,從而提升系統(tǒng)的友好度。

在UML建模中,可以根據(jù)系統(tǒng)類圖利用數(shù)據(jù)庫正向工程生成物理表,這就使得一個(gè)物理表格往往是設(shè)計(jì)過程中抽象的一個(gè)類。因此,物理表格存放的信息只是一個(gè)抽象類的信息。例如,客戶信息表中只存放客戶信息,而不會(huì)存放收費(fèi)信息。那就可能會(huì)存在某角色需要不同表格中的信息。如果單獨(dú)為該角色設(shè)計(jì)表格,就會(huì)使數(shù)據(jù)冗余。而利用視圖,可以將不同表格中的數(shù)據(jù)連接在一起,集中顯示給用戶。由于視圖本質(zhì)是數(shù)據(jù)庫的查詢語句,視圖展示的內(nèi)容仍然存放在物理表中,因此,數(shù)據(jù)庫的數(shù)據(jù)并沒有冗余。使用視圖,可以查詢不同物理表格中的數(shù)據(jù)而不冗余數(shù)據(jù)。

在分布式數(shù)據(jù)庫中,分布式分區(qū)視圖能使來自一個(gè)或是多個(gè)SQL Server數(shù)據(jù)庫中的數(shù)據(jù)簡潔的連接起來,使用戶可以查詢不同數(shù)據(jù)源的數(shù)據(jù)。

2.2 控制權(quán)限,增強(qiáng)安全性

在項(xiàng)目實(shí)踐過程中,權(quán)限的控制關(guān)系到數(shù)據(jù)安全,因此,權(quán)限的控制非常重要。軟件系統(tǒng)中特定的角色只能操作部分?jǐn)?shù)據(jù),如果角色的權(quán)限過高,那么軟件系統(tǒng)就會(huì)相當(dāng)不安全??蛻羧绻軌虿僮髯约旱氖召M(fèi)信息,那么,軟件系統(tǒng)將完全無法應(yīng)用。利用視圖,可以將用戶與物理表格隔離,從而可以使對(duì)數(shù)據(jù)權(quán)限的控制更加簡便、準(zhǔn)確。視圖隱藏了物理表格的表結(jié)構(gòu),從而大大增強(qiáng)了安全性,用戶只能看到視圖提供的數(shù)據(jù)。使用視圖,還可以在不改變物理表結(jié)構(gòu)的情況下,為新增的角色定制新的視圖,通過授予用戶視圖的權(quán)限來控制對(duì)物理表的訪問,使得軟件系統(tǒng)在保證安全的前提下,可擴(kuò)展性得到了保障。

2.3 減小軟件系統(tǒng)緩存

數(shù)據(jù)庫內(nèi)的物理表格之間會(huì)有各種關(guān)聯(lián),通過主外鍵關(guān)系來進(jìn)行結(jié)構(gòu)化表格之間信息的共享。而以目前流行的框架SSH為例,Hibernate在數(shù)據(jù)持久化過程中,會(huì)將結(jié)構(gòu)化的數(shù)據(jù)庫的表格對(duì)象化,利用面向?qū)ο蟮姆椒▉硖幚頂?shù)據(jù)庫表格,因此,當(dāng)表格中存在外鍵時(shí),那么在Hibernate的實(shí)體層讀取出的實(shí)體會(huì)包含該外鍵對(duì)象的所有信息,如果外鍵對(duì)象中仍有外鍵,那么還會(huì)繼續(xù)讀取。隨著數(shù)據(jù)量的增大,需要讀取的數(shù)據(jù)量就會(huì)急劇增長,從而降低了對(duì)數(shù)據(jù)庫的訪問效率。而如果使用視圖,打斷物理表格之間的關(guān)聯(lián),那么,Hibernate讀取的實(shí)體只有視圖中的屬性,而不會(huì)讀取其他屬性,軟件系統(tǒng)需要的緩存就會(huì)減小,使得軟件系統(tǒng)性能得到優(yōu)化。

3 視圖應(yīng)用的實(shí)踐

本文結(jié)合作者的實(shí)踐經(jīng)歷,將結(jié)合視圖在抄表收費(fèi)系統(tǒng)中的應(yīng)用解釋視圖如何應(yīng)用到軟件系統(tǒng)中。

3.1視圖集中視點(diǎn)的應(yīng)用

在抄表收費(fèi)系統(tǒng)中,根據(jù)權(quán)限分配了許多角色。其中,客戶檔案管理員只需要管理客戶信息表中的信息,而抄表員抄表時(shí)同時(shí)需要客戶信息表和水表卡信息表中的客戶編號(hào)、客戶姓名、手機(jī)號(hào)、客戶地址、水表卡編號(hào)、抄表方式和抄表底數(shù),客戶信息表如表1,水表卡信息表如表2。抄表員需要的數(shù)據(jù)分布在多個(gè)表格中,如果此時(shí)專門設(shè)立一張物理表來適應(yīng)抄表員的需求,會(huì)使得數(shù)據(jù)庫數(shù)據(jù)冗余,軟件系統(tǒng)訪問數(shù)據(jù)庫效率降低。此時(shí),可以通過建立視圖來解決該問題。如表3,將抄表員所需要的分布在各個(gè)表中的信息通過建立視圖的方法,集中到一起,抄表員可以根據(jù)視圖中的信息對(duì)客戶進(jìn)行抄表工作。此視圖的應(yīng)用,體現(xiàn)了視圖在集中用戶視點(diǎn)、查詢多表信息方面的作用。

3.2視圖控制權(quán)限的應(yīng)用

在抄表收費(fèi)系統(tǒng)中,客戶可以查詢自己在客戶信息表中的客戶編號(hào)、客戶姓名、客戶地址、手機(jī)號(hào)、水費(fèi)賬戶和收費(fèi)信息表中的上月繳費(fèi)金額、滯納金金額信息??蛻粜畔⒈砣绫?所示,收費(fèi)表如表4所示。但是,客戶并沒有修改自己的收費(fèi)信息的權(quán)限。此時(shí),建立一張視圖,就可以將兩個(gè)物理表中的信息合并展現(xiàn)給客戶,授予客戶對(duì)客戶繳費(fèi)視圖的訪問權(quán)限,通過利用視圖將客戶與收費(fèi)信息表進(jìn)行隔離,而且作為多表視圖,只允許查詢操作,并不允許修改、增加、刪除等操作。因此,通過應(yīng)用視圖,解決了軟件系統(tǒng)中權(quán)限控制的問題。建立的客戶繳費(fèi)視圖如表5所示。

3.3視圖減小軟件系統(tǒng)緩存的應(yīng)用

在抄表收費(fèi)系統(tǒng)中,水表卡信息表中包含外鍵客戶編號(hào)和水表編號(hào),水表卡信息表如表2所示,客戶信息表如表1所示,水表信息表如表6所示。那么,在Hibernate讀取的實(shí)體中,水表卡的實(shí)體對(duì)象中客戶信息表和水表信息表分別作為水表卡的一個(gè)子對(duì)象出現(xiàn)。因此,客戶信息表和水表信息表中的全部屬性都會(huì)讀取出來,而客戶信息表中又包含客戶狀態(tài)、優(yōu)惠類型等外鍵,水表信息表中又包含水表狀態(tài)等外鍵,這些外鍵所對(duì)應(yīng)的屬性也都需要將實(shí)體讀取出來。在數(shù)據(jù)量小的情況下,運(yùn)行效率沒有太大差別,而當(dāng)數(shù)據(jù)量增大時(shí),就會(huì)大大的消耗不必要的緩存,從而使軟件系統(tǒng)的運(yùn)行效率降低。如果建立一個(gè)視圖,將客戶信息表和水表中的主鍵作為視圖的屬性,系統(tǒng)在讀取實(shí)體的時(shí)候,只是讀取了視圖中的主鍵,而不會(huì)繼續(xù)讀取客戶的其他屬性,這樣,就減輕了讀取實(shí)體時(shí)產(chǎn)生的緩存消耗,使得系統(tǒng)在數(shù)據(jù)量大的情況下仍然可以較快的訪問數(shù)據(jù)庫。

4 結(jié)束語

本文介紹了視圖在集中視點(diǎn)、控制權(quán)限和減小軟件系統(tǒng)緩存方面的作用,希望該文能讓讀者了解如何應(yīng)用視圖去解決上述問題。

參考文獻(xiàn):

[1] 陳增祥.基于SQL Server視圖的數(shù)據(jù)庫安全模型的研究[J]. 電腦與電信,2012 (Z1):51-52.

[2] 劉曉娜,杜永文,藺國梁. 移動(dòng)數(shù)據(jù)庫中組合視圖對(duì)隱私保護(hù)的應(yīng)用[J]. 計(jì)算機(jī)光盤軟件與應(yīng)用,2013(13):13-14.

[3] 王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論[M]. 北京:高等教育出版社,2014.

[4] 涂云杰. 視圖在數(shù)據(jù)庫安全中的應(yīng)用[J]. 電子測試,2015(8):81-82.

[5] 張賀,胡婕,劉夢(mèng)赤. 信息網(wǎng)數(shù)據(jù)庫管理系統(tǒng)的視圖設(shè)計(jì)與實(shí)現(xiàn)[J]. 小型微型計(jì)算機(jī)系統(tǒng),2015(10):2203-2208.

[6] 李強(qiáng). 數(shù)據(jù)庫中視圖的應(yīng)用[J].才智,2012(28):55.

[7] Fritchey, Grant.Dynamic Management Views in Azure SQL Database v12[C].SQL Server Pro,2015.

[8] Tamir Tassa,Ehud Gudes.Secure distributed computation of anonymized views of shared databases[J].ACM Trans.Database Syst.,2012,37(2):1.

猜你喜歡
視點(diǎn)視圖數(shù)據(jù)庫
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
視點(diǎn)
河南電力(2016年5期)2016-02-06 02:11:24
讓你每天一元錢,物超所值——《今日視點(diǎn)—2014精萃》序
新聞前哨(2015年2期)2015-03-11 19:29:22
江西省| 武安市| 华池县| 登封市| 册亨县| 贡觉县| 宣恩县| 蛟河市| 玛曲县| 怀仁县| 甘谷县| 东兴市| 孟村| 霍山县| 吉首市| 桑日县| 弥勒县| 泸水县| 当雄县| 邯郸市| 广平县| 基隆市| 平凉市| 安西县| 全南县| 大同市| 清苑县| 延庆县| 衡山县| 阿拉善盟| 武清区| 南充市| 江都市| 夹江县| 舟曲县| 山阴县| 朝阳县| 深圳市| 洪江市| 泰来县| 普陀区|