在Cassandra中使用表定義建立物化檢視


物化檢視定義為包含特定查詢結果的資料庫物件。它可以被稱為表的子集。基表中的任何更改都將反映在物化檢視中。

語法

CREATE MATERIALISED VIEW view_name
AS SELECT * FROM table_name 
WHERE column_name IS NOT NULL
PRIMARY KEY (provide_primary_key)

這裡:

  • view_name 是物化檢視的名稱,

  • table_name 是基表,

  • column_name 是列

  • provide_primary_key 是基表的主鍵。

示例 1

在這個例子中,我們將瞭解如何為表建立物化檢視。

演算法

  • 步驟 1 - 建立鍵空間

  • 步驟 2 - 在鍵空間中建立表

  • 步驟 3 - 在鍵空間中建立物化檢視

  • 步驟 4 - 從表中選擇資料

  • 步驟 5 - 驗證值不為空

  • 步驟 6 - 提供主鍵。

  • 步驟 7 - 將值插入表中

  • 步驟 8 - 從表中選擇值以獲取所需輸出。

程式碼

CREATE KEYSPACE position WITH REPLICATION= {'class': 'simplestrategy','replication_factor':1}; #keyspace is created 
CREATE TABLE position.employee
(e_id int,e_name char(50),dept char(50),salary int)
#table created inside keyspace
CREATE MATERIALISED VIEW position.cell #materialised view named cell is created
AS SELECT e_id,e_name,dept,salary FROM employee #data is selected 
WHERE e_id IS NOT NULL AND e_name IS NOT NULL #verifying that primary  key values must not be null
PRIMARY KEY (e_id);#primary key provided
INSERT INTO employee values(1,'rahul','developer',40000),
(2,'monu','hr',50000),
(3,'aman','consulting',60000);#data is inserted
SELECT * FROM cell;

輸出

e_id

e_name

dept

salary

1

rahul

developer

40000

2

monu

hr

50000

3

aman

consulting

60000

示例 2

在這個例子中,我們將看到主鍵對建立有效物化檢視的影響。

在這裡,我們將首先建立一個已知主鍵的表。

輸入表

PLANT

P_name

fruit

taste

mango_tree

mango

sweet

lemon_tree

lemon

sour

apple_tree

apple

sweet

P_name = 主鍵

情況 1 - 允許物化檢視

演算法

  • 步驟 1 - 建立物化檢視

  • 步驟 2 - 從基表中選擇值

  • 步驟 3 - 驗證值不為空

  • 步驟 4 - 提供主鍵

  • 步驟 5 - 選擇物化檢視的值

程式碼

CREATE MATERIALISED VIEW nature AS #materialised view created
SELECT * FROM plant #value selected
WHERE p_name IS NOT NULL #condition check for not null
PRIMARY KEY (p_name);# primary key provided
SELECT * FROM nature;

輸出

性質

P_name

fruit

taste

mango_tree

mango

sweet

lemon_tree

lemon

sour

apple_tree

apple

sweet

情況 2 - 不允許物化檢視 -

演算法

  • 步驟 1 - 建立物化檢視

  • 步驟 2 - 從基表中選擇值

  • 步驟 3 - 驗證值不為空

  • 步驟 4 - 提供主鍵

程式碼

CREATE MATERIALISED VIEW nature AS#materialised view created
SELECT * FROM plant#value selected 
WHERE p_name IS NOT NULL AND fruit IS NOT NULL  #condition check for not null
PRIMARY KEY (fruit);# primary key provided

輸出

Invalid Primary key 

結論

建立物化檢視就像建立一個表的子集,以包含特定查詢的結果。在第一個示例中,我們透過建立鍵空間來建立物化檢視,而在第二個示例中,我們專注於透過兩種情況建立有效的物化檢視,其中情況 1 允許物化檢視,情況 2 不允許物化檢視,並因此發現了主鍵的重要性。

更新於:2023年8月22日

71 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.