1. UML中的邏輯視圖、進程視圖、 實現視圖、部署視圖都是什麼意思
您好,1、場景視圖 :靜態方面用 用例圖 表現,動態方面用活動圖、狀態圖、交互圖表現。
2、邏輯視圖:包含了類、介面、協作,靜態方面用 類圖和對象圖表現,動態方面用活動圖、狀態圖、交互圖表現。
3、開發視圖:(Development View),描述了在開發環境中軟體的靜態組織結構。靜態方面用 組件圖 表示。
4、進程視圖:側重系統的運行特性關注非功能性的需求性能可用性。服務於系統集成人員方便後續性能測試。強調並發性、分布性、集成性、魯棒性容錯、可擴充性、吞吐量等。和邏輯實體類似,可用類圖(擴展)、活動圖、交互圖、狀態圖表現。
5、物理視圖 : 主要描述硬體配置。服務於系統工程人員解決系統的拓撲結構、系統安裝、通信等問題。主要考慮如何把軟體映射到硬體上也要考慮系統性能、規模、可靠性等,靜態方面用 部署圖 表現,動態方面用活動圖、狀態圖、交互圖表現。
2. sql server資料庫分為哪兩種視圖兩種視圖各有什麼不同
視圖是一種虛擬表,來自一個或者多個表的行或者列,視圖並不是資料庫中存儲的數據值,可以簡單的理解視圖就是封裝了一段查詢語句,調用該視圖就得到查詢語句查詢出來的臨時表.
打開需要創建的資料庫,選擇 視圖 右鍵新建視圖-選擇所需的表後->添加,打鉤選擇需要的列保存即可
代碼創建視圖的語法:
create view 視圖名字
as
查詢代碼
示例:
create view view_user
as
selectid from user
go
/*以上為創建一個視圖,視圖裡面存儲的是user表的ID列*/
可以先檢查有沒有改視圖
if exusts(select * from sysobjects where name='視圖名字')/*如果資料庫中存在這個視圖,就刪除該視圖,查不查詢隨便你*/
drop view 視圖名字 /*執行刪除視圖語法*/
3. 物化視圖與一般視圖有何區別
物化視圖是一種特殊的物理表,
「
物化
」(Materialized)
視圖是相對普通視圖而言的。普通
視圖是虛擬表,應用的局限性大,任何對視圖的查詢,
Oracle
都實際上轉換為視圖
SQL
語
句的查詢。這樣對整體查詢性能的提高,並沒有實質上的好處。
1
、物化視圖的類型:
ON DEMAND
、
ON COMMIT
二者的區別在於刷新方法的不同,
ON DEMAND
顧名思義,僅在該物化視圖
「
需要
」
被刷
新了,才進行刷新
(REFRESH)
,即更新物化視圖,以保證和基表數據的一致性;而
ON
COMMIT
是說,一旦基表有了
COMMIT
,即事務提交,則立刻刷新,立刻更新物化視圖,
使得數據和基表一致。
2
、
ON DEMAND
物化視圖
物化視圖的創建本身是很復雜和需要優化參數設置的,特別是針對大型生產資料庫系統
而言。但
Oracle
允許以這種最簡單的,類似於普通視圖的方式來做,所以不可避免的會涉
及到默認值問題。也就是說
Oracle
給物化視圖的重要定義參數的默認值處理是我們需要特
別注意的。
物化視圖的特點:
(1)
物化視圖在某種意義上說就是一個物理表
(
而且不僅僅是一個物理表
)
,
這通過其可以
被
user_tables
查詢出來,而得到佐證;
(2)
物化視圖也是一種段
(segment)
,所以其有自己的物理存儲屬性;
(3)
物化視圖會佔用資料庫磁碟空間,
這點從
user_segment
的查詢結果,
可以得到佐證;
創建語句:
create materialized view mv_name as select * from table_name
默認情況下,
如果沒指定刷新方法和刷新模式,
則
Oracle
默認為
FORCE
和
DEMAND
。
物化視圖的數據怎麼隨著基表而更新?
Oracle
提供了兩種方式,手工刷新和自動刷新,默認為手工刷新。也就是說,通過我們
手工的執行某個
Oracle
提供的系統級存儲過程或包,來保證物化視圖與基表數據一致性。
這是最基本的刷新辦法了。自動刷新,其實也就是
Oracle
會建立一個
job
,通過這個
job
來
調用相同的存儲過程或包,加以實現。
ON DEMAND
物化視圖的特性及其和
ON COMMIT
物化視圖的區別,即前者不刷新
(
手
工或自動
)
就不更新物化視圖,而後者不刷新也會更新物化視圖,
——
只要基表發生了
COMMIT
。
創建定時刷新的物化視圖:
create materialized view mv_name refresh force on demand
start with sysdate
next sysdate+1
(指定物化視圖每天刷新一次)
上述創建的物化視圖每天刷新,但是沒有指定刷新時間,如果要指定刷新時間(比如每
天晚上
10
:
00
定時刷新一次)
:
create materialized view mv_name refresh force on demand
start with sysdate next to_date( concat( to_char( sysdate+1,'dd-mm-yyyy'),'
22:00:00'),'dd-mm-yyyy hh24:mi:ss')
3
、
ON COMMIT
物化視圖
ON COMMIT
物化視圖的創建,和上面創建
ON DEMAND
的物化視圖區別不大。因為
ON DEMAND
是默認的,所以
ON COMMIT
物化視圖,需要再增加個參數即可。
4. 請舉個例子說明hbase的概念視圖和物理視圖的不同
聯系:視圖(view)是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。視圖是基本表的抽象和在邏輯意義上建立的新關系
區別:1、視圖是已經編譯好的sql語句。而表不是
2、視圖沒有實際的物理記錄。而表有。
3、表是內容,視圖是窗口
4、表只用物理空間而視圖不佔用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改
5、表是內模式,視圖是外模式
6、視圖是查看數據表的一種方法,可以查詢數據表中某些欄位構成的數據,只是一些SQL語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。
7、表屬於全局模式中的表,是實表;視圖屬於局部模式的表,是虛表。
8、視圖的建立和刪除隻影響視圖本身,不影響對應的基本表。
5. 請問物化視圖怎麼解釋謝謝!
首先說明:我下面所用的A_QUERY_SQL指一個查詢語句,如select ... from table1 where ..... 。
我們知道創建一般的視圖是create view VIEW_NAME as A_QUERY_SQL這樣的模式,也就是說這個視圖是建立在一個查詢基礎之上的。在這個模式下,每當我們要基於這個VIEW_NAME再去查詢的時候,需要把A_QUERY_SQL執行一次。這樣需要耗費很多的時間。
而物化視圖就不同,它其中的數據卻是現成的,不需要再去執行A_QUERY_SQL。我們在使用物化視圖的過程中基本可以「把它當作一個實際的數據表來看待」,不用再擔心視圖本身的基礎表的效率、優化等(基礎表就是生成視圖本身的原始表,包含在A_QUERY_SQL中)。
一般的視圖是虛擬的,而物化視圖是實實在在的數據區域,是要佔據存儲空間的。
簡單的講就是這樣。
當然,物化視圖在創建和管理上和一般的視圖有不同的地方。相比來講,物化視圖佔用了一定的存儲空間,另外系統刷新物化視圖也需要耗費一定的資源,但是它卻換來了效率和靈活性。
6. 什麼叫「4+1」視圖模型
邏輯視圖(LogicalView),設計的對象模型(使用面向對象的設計方法時)。
過程視圖(ProcessView),捕捉設計的並發和同步特徵。
物理視圖(PhysicalView),描述了軟體到硬體的映射,反映了分布式特性。
開發視圖(DevelopmentView),描述了在開發環境中軟體的靜態組織結構。
架構的描述,即所做的各種決定,可以圍繞著這四個視圖來組織,然後由一些用例(usecases)或場景(scenarios)來說明,從而形成了第五個視圖。
7. physical view是什麼意思
physical view是一個片語,意思是「物理視圖」。
8. 什麼是物化視圖,如何定義,如何使用,請舉例說明
通俗的講,普通視圖的物理存儲在源表空間中,而物化視圖在本地創建新的物理存儲,存儲的結構根據創建物化視圖的Sql來確定。這樣查詢普通視圖相當於在源表中進行查詢,而查詢物化視圖相當於本地表查詢。既然是本地存儲,物化視圖就需要有數據的同步方式,通過對源表是否包含更新日誌來確定物化視圖能否執行增量同步,或者只能進行全表同步。同步進行的實際操作是刪除行並重新插入行。
定義舉例: Create Materialized View As Select * from a inner join b on a.id = b.aid;
比較普通視圖的建立: Create View As Select * from a inner join b on a.id = b.aid;
同步的設置,你查詢一下物化視圖的相關技術說明吧。網上內容很多。
9. 物化視圖和普通視圖的區別是什麼
普通視圖和物化視圖根本就不是一個東西,說區別都是硬拼到一起的,首先明白基本概念,普通視圖是不存儲任何數據的,他只有定義,在查詢中是轉換為對應的定義SQL去查詢,而物化視圖是將數據轉換為一個表,實際存儲著數據,這樣查詢數據,就不用關聯一大堆表,如果表很大的話,會在臨時表空間內做大量的操作。
普通視圖的三個特徵:
1、是簡化設計,清晰編碼的東西,他並不是提高性能的,他的存在只會降低性能(如一個視圖7個表關聯,另一個視圖8個表,程序員不知道,覺得很方便,把兩個視圖關聯再做一個視圖,那就慘了),他的存在未了在設計上的方便性
2、其次,是安全,在授權給其他用戶或者查看角度,多個表關聯只允許查看,不允許修改,單表也可以同WITH READ ONLY來控制,當然有些項目基於視圖做面向對象的開發,即在視圖上去做INSTAND OF觸發器,就我個人而言是不站同的,雖然開發上方便,但是未必是好事。
3、從不同的角度看不同的維度,視圖可以劃分維度和許可權,並使多個維度的綜合,也就是你要什麼就可以從不同的角度看,而表是一個實體的而已,一般維度較少(如:人員表和身份表關聯,從人員表可以查看人員的維度統計,從身份看,可以看不同種類的身份有那些人或者多少人),其次另一個如系統視圖USER_TABLE、TAB、USER_OBJECTS這些視圖,不同的用戶下看到的肯定是不一樣的,看的是自己的東西。
物化視圖,用於OLAP系統中,當然部分OLTP系統的小部分功能未了提高性能會借鑒一點點,因為表關聯的開銷很大,所以在開發中很多人就像把這個代價交給定期轉存來完成,ORACLE當然也提供了這個功能,就是將視圖(或者一個大SQL)的信息轉換為物理數據存儲,然後提供不同的策略:定時刷還是及時刷、增量刷還是全局刷等等可以根據實際情況進行選擇,總之你差的是表,不是視圖。
10. 什麼叫基本表什麼是視圖二者的區別和聯系是什麼
基本表是資料庫中用來存儲數據的對象,是有結構的數據的集合,是整個資料庫系統的基礎。數據在表中式按行和列的格式組織排列的。
視圖是計算機資料庫中的一個虛擬表,其內容由查詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數據。但是,視圖並不在資料庫中以存儲的數據值集形式存在。
基本表、視圖區別為:存在不同、存儲內容不同、操作不同。視圖是由一個或幾個基本表導出形成的虛表。
一、存在不同
1、基本表:基本表是本身獨立存在的表。
2、視圖:視圖本身不存在獨立存儲在資料庫中,是一個虛表。
二、存儲內容不同
1、基本表:基本表存儲的內容是實際的數據。
2、視圖:視圖存儲的內容只有存儲定義,不存放實際數據。
三、操作不同
1、基本表:操作者可以對基本表進行增刪改查四種操作。
2、視圖:操作者只可以對視圖進行查操作,不能進行增刪改操作。
參考資料來源:
網路——表
網路——視圖