樹結構資料庫
目前是最常用的四類資料庫是:
關系型資料庫,是按鏈表或是順序結果進行存儲的.
樹型資料庫,是按樹型結構進行存儲的.
網狀資料庫,是按圖結構進行存儲的
對象資料庫,是按順序結構或是鏈表結構下的塊方式進行存儲的!每一個對象存儲在一個單獨的塊單元中.
目前最常用的是關系型與對象資料庫.
刪除學生表中所有男生信息.
查詢學生表中所有總分大於85的學生的姓名與總分.
『貳』 怎麼往資料庫里插入一個樹形結構的表,並且用一句SQL語句將其遍歷出來
ID Value PID
0 根節點 null
1 節點1 0
2 節點2 0
3 節點3 1
..........
然後查詢出來 再形成樹就可以了
『叄』 請問資料庫有哪些種類呢
資料庫通常分為:
層次式資料庫、網路式資料庫和關系式資料庫三種。
而不同的資料庫是按不同的數據結構來聯系和組織的。
資料庫有類型之分,是根據數據模型劃分的。目前成熟地應用在資料庫系統中的數據模型有:層次模型、網壯模型和關系模型。
一、層次模型:
層次模型是用樹結構表示記錄類型及其聯系的。
樹結構的基本特點是:
1、有且僅有一個結點無父結點;
2、其它結點有且有一個父結點。
在層次模型中,樹的結點是記錄型。上一層記錄型和下一層記錄型的聯系是1:n的。
層次模型就象下面我們給出的一棵倒立的樹。
注意:在層次式資料庫中查找記錄,必須指定存取路徑。這種關系模型不支持m:n聯系。
二、網狀模型:
網狀模型中結點間的聯系不受層次限制,可以任意發生聯系,所以她的結構是結點的連通圖。
網狀模型結構的特點是:
1、有一個以上結點無父結點;
2、至少有一個結點有多於一個父結點。
注意:雖然網狀模型能反映各種復雜的關系,但網狀模型在具體實現上,只支持1:n聯系,對
於m:n聯系可將其轉化為1:n聯系。
三、關系模型:
關系模型的本質就是用若干個二維表來表示實體及其聯系。
關系是通過關系名和屬性名定義的。一個關系可形式化表示為:
R(A1,A2,A3,…,Ai,…)
其中:R為關系名,Ai為關系的屬性名。
目前常用的資料庫管理系統有:
ACCESS、SQL Server、 Oracle、MySQL、FoxPro和Sybase等。
ACCESS 是美國Microsoft公司於1994年推出的微機資料庫管理系統.它具有界面友好、易學易用、開發簡單、介面靈活等特點,是典型的新一代桌面資料庫管理系統。
Oracle公司是全球最大的信息管理軟體及服務供應商,成立於1977年,總部位於美國加州 Redwood shore。Oracle提供的完整的電子商務產品和服務包括: 用於建立和交付基於Web的Internet平台; 綜合、全面的具有Internet能力的商業應用; 強大的專業服務,幫助用戶實施電子商務戰略,以及設計、定製和實施各種電子商務解決方案...
SQL是英文Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種資料庫建立聯系,進行溝通。按照ANSI(美國國家標准協會)的規定,SQL被作為關系型資料庫管理系統的標准語言。SQL語句可以用來執行各種各樣的操作,例如更新資料庫中的數據,從資料庫中提取數據等。目前,絕大多數流行的是關系型資料庫管理系統。
內容來源網路,僅供參考!
『肆』 資料庫中樹形圖的用法
資料庫中樹形圖的用法的用法你知道嗎?下面我就跟你們詳細介紹下資料庫中樹形圖的用法的用法,希望對你們有用。
資料庫中樹形圖的用法的用法如下:
樹形圖用於顯示按照樹形結構進行組織的數據,其用途比較廣泛,如計算機中的文件系統(Windows中的資源管理器)、企業或公司的組成結構等。我們知道在Windows下VB、PB、Delphi等工具提供了一個功能很強的樹型控制項TreeView,利用Treeview控制項可以方便地開發樹形圖。然而在網頁上實現樹形圖就不那麼容易了,現在在asp.net中利用微軟提供的Internet Explorer WebControls它使得網頁上的樹形圖開發與在Windows下一樣的方便,一樣的功能強大,甚至更靈活。
本文介紹用Internet Explorer WebControls開發樹形圖的方法,由於樹形圖結構較復雜,使用起來常不知如何下手。筆者結合最近剛為公司用ASP.NET編寫的應用程序管理器這一具體實例,詳細闡述在ASP.NET下如何將Internet Explorer WebControls的使用與資料庫聯系起來,實現數據分任意多層顯示,方便地進行增加、修改、刪除、移動操作。筆者希望通過對該實例的闡述,達到拋磚引玉的效果,與各位同仁相互交流,共同進步。
Internet Explorer WebControls不在VS.NET的標准Server Control中,要到微軟的站點上下載,下載地址是:
http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
下載安裝後第一次使用時,要右擊工具箱Customize Toolbox…→.NET Framework Components中找到Micosoft.Web.UI.WebControls.Treeview後選中,這樣Treeview控制項就出現在工具箱中了。
一、樹的建立
具體方法是:創建一個資料庫,設計樹圖信息表TREE_INFO,包含NODEID、PARENTID、NODENAME、ADDErss、ICON欄位,其它欄位根據實際業務而定,節點名稱NODENAME將在樹型控制項的節點上顯示,NODEID欄位保存節點的唯一標識號,PARENTID表示當前節點的父節點號,標識號組成了一個“鏈表”,記錄了樹上節點的結構。設計一個Web窗體其上放置TreeView控制項。
PRivate Sub CreateDataSet()’建立數據集
Dim myConn As New SqlConnection()
Dim myCmd As New SqlCommand("select NODEID,NODENAME,PARENTID,ADDRESS,ICON from Tree_info", myConn)
Dim myDataAdapter As New SqlDataAdapter()
myConn.ConnectionString = application("connectstring")
myCmd.CommandText = ""
myCmd.Connection = myConn
myDataAdapter.SelectCommand = myCmd
myDataAdapter.Fill(ds, "tree")
End Sub
建樹的基本思路是:從根節點開始遞歸調用顯示子樹
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreateDataSet()
intiTree(TreeView1.Nodes, 0)
End Sub
Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim intId As Integer
dv.Table = ds.Tables("tree")
dv.RowFilter = "PARENTID=’" & parentId & "’"
For Each drv In dv
tmpNd = New TreeNode()
strId = drv("NODE_ID")
tmpNd.ID = strId
tmpNd.Text = drv("NODE_NAME ")
tmpNd.ImageUrl = drv("ICON").ToString
Nds.Add(tmpNd)
intiTree(Nds(Nds.Count - 1).Nodes, intId)
Next
End Sub
二、增加、刪除樹節點
單純在Treeview 上增加、刪除、修改節點只需用Nodes屬性的Add、 Remove、等方法即可,值得注意的地方是VS.NET中Treeview的Nodes集合與VS6.0中的區別,VS6.0中的是一個大的集合,而VS.NET中的是分層的每個Node下都有Nodes屬性。增加、刪除、修改樹節點時與VS6.0相比有很大差別,特別是刪除時。
Private Sub ButAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButAdd.Click’在選定的節點下添加子節點
Dim tmpNd As New TreeNode(), NdSel As TreeNode
tmpNd.ID = GetNewId()
NdSel = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)’選中的節點
tmpNd.Text = "新節點"
NdSel.Nodes.Add(tmpNd)
Dim myRow As DataRow
myRow = ds.Tables("tree").NewRow()
myRow("NODE_NAME") = tmpNd.ID
myRow("NODE_DESCRipT") = "新節點" & tmpNd.ID & "_" & NdSel.ID
myRow("PARENT_NAME") = NdSel.ID
ds.Tables("tree").Rows.Add(myRow)
End Sub
Private Sub ButDele_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButDele.Click’刪除選中的節點
Dim idx As String = TreeView1.SelectedNodeIndex()
GetNdCol(idx).Remove(TreeView1.GetNodeFromIndex(idx))
Dim dv As New DataView(), recNo As Integer
dv.Table = ds.Tables("tree")
dv.RowFilter= "NODEID=" & NdId
dv.Delete(0)
End Sub
Private Function GetNdCol(ByVal idx As String) As TreeNodeCollection
‘獲得選中節點的父節點的Nodes集合
Dim cnt As Integer, i As Integer
Dim tmpNds As TreeNodeCollection
Dim idxs() As String
idxs = Split(idx, ".")
cnt = UBound(idxs)
If cnt = 0 Then
tmpNds = TreeView1.Nodes
Else
tmpNds = TreeView1.Nodes(CInt(idxs(0))).Nodes
For i = 1 To cnt - 1
tmpNds = tmpNds(CInt(idxs(i))).Nodes
Next
End If
Return tmpNds
End Function
三、修改、移動樹節點
由於伺服器控制項不支持滑鼠拖動事件,所以不能象Windows程序那樣通過拖動移動節點,這里是通過選擇父節點的方式。移動是通過在原位置刪除,新位置添加實現的,要注意在刪除時先保存節點信息。
Private Sub TreeView1_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange
Dim dv As New DataView()
dv.Table = ds.Tables("tree")
Dim tmpNd As TreeNode = TreeNdSel(e.OldNode), tmpNds As TreeNodeCollection
dv.RowFilter= "NODEID=" & tmpNd.ID
dv(0)("NODE_DESCRIPT") = Me.TextBox1.Text
dv(0)("ADDRESS") = Me.TextBox2.Text
dv(0)("TARGET") = Me.TextBox3.Text
dv(0)("ICON") = Me.TextBox4.Text
If dv(0)("PARENTID").ToString <> Me.DropDownList1.SelectedItem.Value Then
‘移動節點
dv(0)("PARENT_NAME") = Me.DropDownList1.SelectedItem.Value
If Me.DropDownList1.SelectedItem.Value = "ROOT" Then
tmpNds = TreeView1.Nodes
Else
tmpNds = FromIdToNode(Me.DropDownList1.SelectedItem.Value, TreeView1.Nodes).Nodes’新的父節點的Nodes集合
End If
GetNdCol(e.OldNode).Remove(tmpNd)
tmpNds.Add(tmpNd)
End If
tmpNd.Text = Me.TextBox1.Text
tmpNd.ImageUrl = Me.TextBox4.Text
tmpNd = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)
dv.RowFilter= "NODEID=" & tmpNd.ID
Me.TextBox1.Text = dv(0)("NODENAME").ToString
Me.TextBox2.Text = dv(0)("ADDRESS").ToString
Me.TextBox3.Text = dv(0)("TARGET").ToString
Me.TextBox4.Text = dv(0)("ICON").ToString
End Sub
Private Function FromIdToNode(ByVal ID As String, ByVal Nds As TreeNodeCollection) As TreeNode
‘由關鍵字查找節點
Dim i As Integer
Dim tmpNd As TreeNode, tmpNd1 As TreeNode
For Each tmpNd In Nds
If tmpNd.ID = ID Then
Return tmpNd
Exit Function
End If
tmpNd1 = FromIdToNode(ID, tmpNd.Nodes)
If Not (tmpNd1 Is Nothing) Then
Return tmpNd1
Exit Function
End If
Next
Return Nothing
End Function