當前位置:首頁 » 操作系統 » 資料庫無限分類

資料庫無限分類

發布時間: 2023-01-18 05:48:24

⑴ 大神請進:如何用php和Mysql實現無限分類相冊

這問題好好笑,你知道什麼情況使用遞歸嗎?你說的步驟沒一處和遞歸有關系,如果你的需求是根據父親Id獲得所有孩子,倒是可以使用遞歸。題目還有個問題,評論和回復也沒有和圖片關聯。你自己下個套自己鑽進去,好好笑。

⑵ 求VB-TREEVIEW 結合資料庫無限分類

何為無限分類?
如果你要實現樹狀結構的數據結構,首先資料庫的設計應該這樣:
1.表必須要具有節點ID,父節點ID之兩個欄位
2.根節點的父節點ID可以設置成為根節點的ID

如下所示:
節點ID父節點ID名稱
----------------------------------------------
11根節點
21一級子節點1
31一級子節點2
42二級子節點1
52二級子節點2
63二級子節點3
73二級子節點4

如果要將上表的數據顯示到TreeView,可以採用遞歸函數調用的方法如下:
Function ListData(ByVal iID as Integer)
'從資料庫獲取此iID所對應的行
'SQL語句如:select * from table1 where 節點ID=iID
'將此行數據顯示到TreeView

'從資料庫獲取以iID為父ID的行
'SQL語句如:select * from table where 父節點ID=iID
'循環調用ListData函數附帶每一行數據的節點ID為參數來顯示子節點的數據

Call ListView(節點ID)
End Function

⑶ MYSQL新建一張無限分類數據表,表結構應該如何建

既然是無限分類,那分類其實就是同等的
所以first欄位去掉,abcd這些放到name,
根據pid=0來判斷是否第一層,
其它欄位照舊就可以了

⑷ 資料庫如何表示分級關系

一種是使用parentid ,這種可以實現理論上的無限分級。

一種是顯示的表設計,然後表之間建立關系,這個適合級別清晰的情形。

⑸ 資料庫有哪幾種

一、關系資料庫

關系型資料庫,存儲的格式可以直觀地反映實體間的關系。關系型資料庫和常見的表格比較相似,關系型資料庫中表與表之間是有很多復雜的關聯關系的。

常見的關系型資料庫有Mysql,SqlServer等。在輕量或者小型的應用中,使用不同的關系型資料庫對系統的性能影響不大,但是在構建大型應用時,則需要根據應用的業務需求和性能需求,選擇合適的關系型資料庫。

雖然關系型資料庫有很多,但是大多數都遵循SQL(結構化查詢語言,Structured Query Language)標准。 常見的操作有查詢,新增,更新,刪除,求和,排序等。

查詢語句:SELECT param FROM table WHERE condition 該語句可以理解為從 table 中查詢出滿足 condition 條件的欄位 param。

新增語句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 該語句可以理解為向table中的param1,param2,param3欄位中分別插入value1,value2,value3。

更新語句:UPDATE table SET param=new_value WHERE condition 該語句可以理解為將滿足condition條件的欄位param更新為 new_value 值。

刪除語句:DELETE FROM table WHERE condition 該語句可以理解為將滿足condition條件的數據全部刪除。

去重查詢:SELECT DISTINCT param FROM table WHERE condition 該語句可以理解為從表table中查詢出滿足條件condition的欄位param,但是param中重復的值只能出現一次。

排序查詢:SELECT param FROM table WHERE condition ORDER BY param1該語句可以理解為從表table 中查詢出滿足condition條件的param,並且要按照param1升序的順序進行排序。

總體來說, 資料庫的SELECT,INSERT,UPDATE,DELETE對應了我們常用的增刪改查四種操作。

關系型資料庫對於結構化數據的處理更合適,如學生成績、地址等,這樣的數據一般情況下需要使用結構化的查詢,例如join,這樣的情況下,關系型資料庫就會比NoSQL資料庫性能更優,而且精確度更高。

由於結構化數據的規模不算太大,數據規模的增長通常也是可預期的,所以針對結構化數據使用關系型資料庫更好。關系型資料庫十分注意數據操作的事務性、一致性,如果對這方面的要求關系型資料庫無疑可以很好的滿足。

二、非關系型資料庫(NoSQL)

隨著近些年技術方向的不斷拓展,大量的NoSql資料庫如MongoDB、Redis、Memcache出於簡化資料庫結構、避免冗餘、影響性能的表連接、摒棄復雜分布式的目的被設計。

指的是分布式的、非關系型的、不保證遵循ACID原則的數據存儲系統。NoSQL資料庫技術與CAP理論、一致性哈希演算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統不可能滿足可用性、一致性與分區容錯性這三個要求,一次性滿足兩種要求是該系統的上限。

而一致性哈希演算法則指的是NoSQL資料庫在應用過程中,為滿足工作需求而在通常情況下產生的一種數據演算法,該演算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質量會隨著節點的變化而產生波動,當節點過多時,相關工作結果就無法那麼准確。

這一問題使整個系統的工作效率受到影響,導致整個資料庫系統的數據亂碼與出錯率大大提高,甚至會出現數據節點的內容遷移,產生錯誤的代碼信息。

但盡管如此,NoSQL資料庫技術還是具有非常明顯的應用優勢,如資料庫結構相對簡單,在大數據量下的讀寫性能好;能滿足隨時存儲自定義數據格式需求,非常適用於大數據處理工作。

NoSQL資料庫適合追求速度和可擴展性、業務多變的應用場景。

對於非結構化數據的處理更合適,如文章、評論,這些數據如全文搜索、機器學習通常只用於模糊處理,並不需要像結構化數據一樣,進行精確查詢,而且這類數據的數據規模往往是海量的,數據規模的增長往往也是不可能預期的;

而NoSQL資料庫的擴展能力幾乎也是無限的,所以NoSQL資料庫可以很好的滿足這一類數據的存儲。

NoSQL資料庫利用key-value可以大量的獲取大量的非結構化數據,並且數據的獲取效率很高,但用它查詢結構化數據效果就比較差。

目前NoSQL資料庫仍然沒有一個統一的標准,它現在有四種大的分類:

1、鍵值對存儲(key-value):代表軟體Redis,它的優點能夠進行數據的快速查詢,而缺點是需要存儲數據之間的關系。

2、列存儲:代表軟體Hbase,它的優點是對數據能快速查詢,數據存儲的擴展性強。而缺點是資料庫的功能有局限性。

3、文檔資料庫存儲:代表軟體MongoDB,它的優點是對數據結構要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統一查詢語言。

4、圖形資料庫存儲:代表軟體InfoGrid,它的優點可以方便的利用圖結構相關演算法進行計算。而缺點是要想得到結果必須進行整個圖的計算,而且遇到不適合的數據模型時,圖形資料庫很難使用。

安全

資料庫安全涉及保護資料庫內容、其所有者和用戶的所有各個方面。它的范圍從防止有意的未經授權的資料庫使用到未經授權的實體(例如,個人或計算機程序)無意的資料庫訪問

資料庫訪問控制涉及控制誰(一個人或某個計算機程序)可以訪問資料庫中的哪些信息。該信息可以包括特定的資料庫對象(例如,記錄類型、特定記錄、數據結構);

對特定對象的特定計算(例如,查詢類型或特定查詢),或者使用到前者的特定訪問路徑(例如,使用特定索引)或其他數據結構來訪問信息)。

資料庫訪問控制由使用專用受保護安全 DBMS 介面的特別授權(由資料庫所有者)人員設置。

這可以在個人基礎上直接管理,或者通過將個人和特權分配給組,或者(在最復雜的模型中)通過將個人和組分配給角色,然後授予權利。數據安全可防止未經授權的用戶查看或更新資料庫。使用密碼,用戶可以訪問整個資料庫或它的子集,稱為「子模式」。

例如,員工資料庫可以包含有關單個員工的所有數據,但一組用戶可能僅被授權查看工資數據,而其他用戶僅被允許訪問工作歷史和醫療數據。如果 DBMS 提供了一種互動式輸入和更新資料庫以及查詢資料庫的方法,則此功能允許管理個人資料庫。

數據安全通常涉及保護特定的數據塊,包括物理保護(即免受損壞、破壞或移除;例如,參見物理安全),或將它們或它們的一部分解釋為有意義的信息(例如,通過查看它們組成的位串,得出特定的有效信用卡號;例如,參見數據加密)。

更改和訪問日誌記錄誰訪問了哪些屬性、更改了什麼以及何時更改。日誌服務通過保留訪問發生和更改的記錄,允許以後進行取證資料庫審計。有時應用程序級代碼用於記錄更改而不是將其留給資料庫。可以設置監控以嘗試檢測安全漏洞。

以上內容參考網路-資料庫

⑹ 求無限分類的資料庫表結構

無限類別、無限級別的資料庫分類結構,以下三個欄位即可:

class_id int PKEY,
upclass int,
classname char(10)

其它產品表中,使用外鍵class_id關聯本表的class_id作為類別。

⑺ 資料庫分為哪幾類

資料庫按照使用和歸類不同,它的分類也是不同的,我基本歸納了如下幾類:
一,按國際上通用的分類方法,資料庫分為以下三大類:
1、參考資料庫(reference
databases),是能指引用戶到另一信息源獲取原文或其他細節的資料庫;
2、源資料庫(source
databases),指能直接提供所需原始資料或具體數據的資料庫。;
3、混合型資料庫(mixed
databases),能同時存貯多種類型數據的資料庫。
二,按數據結構來分類,有三種:
1、層次式資料庫
2、網路式資料庫
3、關系式資料庫
三,常用資料庫分類:
1,ibm
的db2。
2, oracle。
3, informix。
4,sybase。
5,sql
server。
6,postgresql。
7,mysql。

⑻ php+mysql怎麼實現無限級別分類,資料庫怎麼設計只用一條SQL語句讀出數據,怎麼解決+新聞- |—國際新聞

資料庫中給多個父級ID欄位,例如:國內新聞的PID(父級ID)是新聞的ID,體育新聞的PID是國內新聞的ID,這樣通過查找PID就可以找到上一級別。

⑼ 如何用php實現添加無限分類類似織夢後台那種可以無限添加分類

資料庫設置3個欄位 id name fid fid就是頂級id的意思

id name fid
1 分類1 0
2 分類2 0
3 分類1-1 1
4 分類1-2 1
5 分類2-1 2
6 分類2-2 2

資料庫就是這種模式,fid為0的是最大分類。id為3 和 4的分類 是id 為 1 分類的子分類 ,所以fid都為 1 。5和6 是id 為 2的子分類。

你查找資料庫的時候查找 fid=0的數據 ,找出頂級分類 1 和 2 ,再查找fid分別為 1 和 2的分類,就是對應的子類,你用foreach遍歷出來就是了,

⑽ 什麼是 無限極分類(PHP。資料庫)

那是一種關聯關系....sql 里可以叫"自連接" 假設:表 Category 有以下欄位: Id(PK),Cate_Name(varchar),Cate_Parent_Id(int) 數據: Id(編號ID) Cate_Name(類別名稱) Cate_Parent_Id(父級Id) 1 BaseCategory 0 2 News 1 3 Article 1 4 Story 3 說明: Id 為 1 的基類別(沒有父級類別) News,Article 為 基類別下的子分類 Story 為 Article 下的子分類 層次關系: 0 - 2 - 3 - 4 這樣就可以簡單實現無限分類的資料庫的設計了 使用: 給出Id 獲取到它的父類別和所有子類別 Function getParentCategory($Id){ $sql = "select * from Category where Id = (select Cate_Parent_Id from Category where Id = $Id)"; $rs = mysql_query($sql,$conn); ...... //省事期間,給出偽代碼吧 if(記錄不存在 或者 $Id = 1){ return false; //無父級或不存在 }else{ return 查詢出的父級數據數組; } } Function getChildCategory($PId){ $sql = "select * from Category where Cate_Parent_Id = $PId"; 存在則返回數據數組 否則返回false } 上面只是簡單說明下大致思路.. php,J2ee的我沒手寫過,都是通過支持ORM的MVC框架去配置出來的. asp的倒是寫過,需要的話,可以發你 只要邏輯關系整清楚了,就不難了...至於頁面展示,可以用JS或者AJAX

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:515
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:19
linux485 發布:2025-07-05 14:38:28 瀏覽:299
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:750
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:425
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:684
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:233
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:678
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:277
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:828