❶ 請高手解釋一下Oracle的資料庫樹的功能是什麼謝謝!
Oracle提供了大量索引結構,每種索引結構都有其好處和不足:
* B樹索引。從最早的Oracle發行版本開始,Oracle就一直使用的標准樹索引就是B樹索引。
* 點陣圖索引。當某個索引列含有很少數量的不同的值(即低基數)時,使用點陣圖索引。這對於那些只讀資料庫而言速度超快,但對需要經常性更新的系統不適合。
* 點陣圖連接索引。這是針對來自其他表的數據列出現在某個連接表的多列索引時使用的索引。下面是在from子句和where子句中使用類似SQL的創建索引的惟一語法。
❷ 三. 在資料庫一表中設計一種表示樹的方案;
create tablename
(parent_id varchar(100),
child_id varchar(100)
level varchar(10)
)
解釋:parent_id 父ID,child_id子ID,level層級
如果需要添加別的屬性也可以直接加進來
❸ 資料庫表有3列,Id,Name,ParentId,已從資料庫讀出數據,如何遞歸成一棵樹
資料庫是什麼資料庫?
我先假設你是 Oracle 吧。
CREATE TABLE test_tree (
test_id INT NOT NULL,
pid INT,
test_val VARCHAR(10),
PRIMARY KEY (test_id)
);
INSERT INTO test_tree VALUES(1, NULL, '.NET');
INSERT INTO test_tree VALUES(2, 1, 'C#');
INSERT INTO test_tree VALUES(3, 1, 'J#');
INSERT INTO test_tree VALUES(4, 1, 'ASP.NET');
INSERT INTO test_tree VALUES(5, 1, 'VB.NET');
INSERT INTO test_tree VALUES(6, NULL, 'J2EE');
INSERT INTO test_tree VALUES(7, 6, 'EJB');
INSERT INTO test_tree VALUES(8, 6, 'Servlet');
INSERT INTO test_tree VALUES(9, 6, 'JSP');
INSERT INTO test_tree VALUES(10, NULL, 'Database');
INSERT INTO test_tree VALUES(11, 10, 'DB2');
INSERT INTO test_tree VALUES(12, 10, 'MySQL');
INSERT INTO test_tree VALUES(13, 10, 'Oracle');
INSERT INTO test_tree VALUES(14, 10, 'SQL Server');
INSERT INTO test_tree VALUES(15, 13, 'PL/SQL');
INSERT INTO test_tree VALUES(16, 15, 'Function');
INSERT INTO test_tree VALUES(17, 15, 'Procere');
INSERT INTO test_tree VALUES(18, 15, 'Package');
INSERT INTO test_tree VALUES(19, 15, 'Cursor');
INSERT INTO test_tree VALUES(20, 14, 'T-SQL');
使用 START WITH CONNECT BY 語句實現樹狀查詢
通過根節點 向下查詢子節點
SELECT
LPAD(' ', 2*(LEVEL-1)) || test_val AS test_val
FROM
test_tree
START WITH
test_id IN (1, 6, 10)
CONNECT BY PRIOR test_id = pid;
TEST_VAL
-----------------------------------------------------------
.NET
C#
J#
ASP.NET
VB.NET
J2EE
EJB
Servlet
JSP
Database
DB2
TEST_VAL
-----------------------------------------------------------
MySQL
Oracle
PL/SQL
Function
Procere
Package
Cursor
SQL Server
T-SQL
20 rows selected.
❹ 根據資料庫表動態生成樹一定要有id 和 pid嗎
只要能實現父子關系的對應即可,你不用id,pid,可以把id里帶著父id,如a,a1,a11...這樣的層級關系,但是實際過程中處理,分析,特別是查詢的時候要復雜一些
❺ 在資料庫 如何實現多級樹啊 表結構要怎麼設置 比較好
在資料庫中建立一張表,表中中有這幾個欄位:
id 當前層級的編號,
name 當前層級的文字表示,
parentid 當前層級的父層級id,
order 用於同一層級元素排序,也就是兄弟節點排序
layer 表示當前層級所處於的級別
目前我想到這幾個欄位。我想應該夠了。當然,根據你的具體需求,可以增加一些欄位,表示其他信息。