網狀模型資料庫
A. 資料庫常見的數據模型有哪三種
層次模型、網狀模型、關系模型
1、層次模型:
①有且只有一個結點沒有雙親結點(這個結點叫根結點)。
②除根結點外的其他結點有且只有一個雙親結點。
層次模型中的記錄只能組織成樹的集合而不能是任意圖的集合。在層次模型中,記錄的組織不再是一張雜亂無章的圖,而是一棵"倒長"的樹。
2、網狀模型 :
①允許一個以上的結點沒有雙親結點。
②一個結點可以有多個雙親結點。
網狀模型中的數據用記錄的集合來表示,數據間的聯系用鏈接(可看作指針)來表示。資料庫中的記錄可被組織成任意圖的集合。
3、關系模型:
關系模型用表的集合來表示數據和數據間的聯系。
每個表有多個列,每列有唯一的列名。
在關系模型中,無論是從客觀事物中抽象出的實體,還是實體之間的聯系,都用單一的結構類型。
B. 資料庫分為哪三種
資料庫通常分為三種:
1、層次模型資料庫。
2、網狀模型資料庫。
3、關系模型資料庫。
SQLServer、Oracle等都是關系模型的資料庫,還有一種對象模型的資料庫是在關系模型基礎之上發展起來的,有些書上作為第四種資料庫類型。
C. 層次模型,網狀模型和關系模型的劃分根據是什麼
層次型、網狀型和關系型資料庫劃分的原則是數據之間的聯系方式。層次資料庫是按記錄來存取數據的;網狀資料庫是採用網狀原理和方法來存儲數據;關系型資料庫是以行和列的形式存儲數據。
層次模型特點:
一般情況下,如果只牽涉到個人方面,用到較低的五個層次就足夠了。當一個人覺得有困難時,若能夠找出困難在哪一個層次的話,便能更快、更有效地找出解決辦法。
層次越低的問題,越容易解決。當問題上升至信念或身份的層次時,解決便困難得多。
一般來說,一個低層次的問題,在更高層次里容易找到解決辦法。反之,一個高層次的問題,用一個較其為低的層次的解決辦法,難以產生效果。
D. 資料庫按數據的組織方式來分可以分為哪三種模型
1、層次模型:
①有且只有一個結點沒有雙親結點(這個結點叫根結點)。
②除根結點外的其他結點有且只有一個雙親結點。
層次模型中的記錄只能組織成樹的集合而不能是任意圖的集合。在層次模型中,記錄的組織不再是一張雜亂無章的圖,而是一棵"倒長"的樹。
2、網狀模型 :
①允許一個以上的結點沒有雙親結點。
②一個結點可以有多個雙親結點。
網狀模型中的數據用記錄的集合來表示,數據間的聯系用鏈接(可看作指針)來表示。資料庫中的記錄可被組織成任意圖的集合。
3、關系模型:
關系模型用表的集合來表示數據和數據間的聯系。
每個表有多個列,每列有唯一的列名。
在關系模型中,無論是從客觀事物中抽象出的實體,還是實體之間的聯系,都用單一的結構類型
(4)網狀模型資料庫擴展閱讀
1、無條件查詢
例:找出所有學生的的選課情況
SELECT st_no,su_no
FROM score
例:找出所有學生的情況
SELECT*
FROM student
「*」為通配符,表示查找FROM中所指出關系的所有屬性的值。
2、條件查詢
條件查詢即帶有WHERE子句的查詢,所要查詢的對象必須滿足WHERE子句給出的條件。
例:找出任何一門課成績在70以上的學生情況、課號及分數
SELECT UNIQUE student.st_class,student.st_no,student.st_name,student.st_sex,student.st_age,score.su_no,score.score
FROM student,score
WHERE score.score>=70 AND score.stno=student,st_no
這里使用UNIQUE是不從查詢結果集中去掉重復行,如果使用DISTINCT則會去掉重復行。另外邏輯運算符的優先順序為NOT→AND→OR。
例:找出課程號為c02的,考試成績不及格的學生
SELECT st_no
FROM score
WHERE su_no=『c02』AND score<60
3、排序查詢
排序查詢是指將查詢結果按指定屬性的升序(ASC)或降序(DESC)排列,由ORDER BY子句指明。
例:查找不及格的課程,並將結果按課程號從大到小排列
SELECT UNIQUE su_no
FROM score
WHERE score<60
ORDER BY su_no DESC
4、嵌套查詢
嵌套查詢是指WHERE子句中又包含SELECT子句,它用於較復雜的跨多個基本表查詢的情況。
例:查找課程編號為c03且課程成績在80分以上的學生的學號、姓名
SELECT st_no,st_name
FROM student
WHERE stno IN (SELECT st_no
FROM score
WHERE su_no=『c03』 AND score>80 )
這里需要明確的是:當查詢涉及多個基本表時用嵌套查詢逐次求解層次分明,具有結構程序設計特點。在嵌套查詢中,IN是常用到的謂詞。若用戶能確切知道內層查詢返回的是單值,那麼也可用算術比較運算符表示用戶的要求。
5、計算查詢
計算查詢是指通過系統提供的特定函數(聚合函數)在語句中的直接使用而獲得某些只有經過計算才能得到的結果。常用的函數有:
COUNT(*) 計算元組的個數
COUNT(列名) 對某一列中的值計算個數
SUM(列名) 求某一列值的總和(此列值是數值型)
AVG(列名) 求某一列值的平均值(此列值是數值型)
MAX(列名) 求某一列值中的最大值
MIN(列名) 求某一列值中的最小值
例:求男學生的總人數和平均年齡
SELECT COUNT(*),AVG(st_age)
FROM student
WHERE st_sex=『男』
例:統計選修了課程的學生的人數
SELECT COUNT(DISTINCT st_no)
FROM score
注意:這里一定要加入DISTINCT,因為有的學生可能選修了多門課程,但統計時只能按1人統計,所以要使用DISTINCT進行過濾。
E. 常見的資料庫模型不包括
常用的數據模型中,不包括______。
A) 網狀模型
B) 鏈狀模型
C) 層次模型
D) 關系模型
正確答案
B
答案解析
為了反映事物本身及事物之間的各種聯系,資料庫中的數據必須有一定的結構,這種結構用數據模型來表示。資料庫的主要模型包含三種:層次模型、網狀模型、關系模型。採用某種特定數據模型的資料庫管理系統開發出來的應用系統相應稱為層次資料庫系統、網狀資料庫系統、關系資料庫系統,其中關系模型對資料庫的理論和實踐產生了很大影響,並且其使用最為廣泛。
F. 傳統的資料庫模型有哪三種他們各自的有缺點是什麼
關系模型、網狀模型、層次模型
1、關系模型的缺點是查詢效率不如非關系模型。因此,為了提高性能,必須對用戶的查詢進行優化,增加了開發資料庫管理系統的負擔。
2、網狀模型的缺點是結構比較復雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越復雜,不利於最終用戶掌握。
第二,其DDL,DML語言復雜,用戶不容易使用。用於記錄之間聯系是通過存取路徑實現的,應用程序訪問資料庫時必須選擇適當的存取路徑。因此,用戶必須了解系統的結構的細節,加重了編寫應用程序的負擔。
3、層次模型的缺點
現實世界中很多聯系是非層次性的,如多對多聯系,一個節點具有多個雙親等,層次模型不能自然的表示這類聯系,只能通過引入冗餘數據或引入虛擬結點來解決
對插入和刪除操作的限制比較多
查詢子女結點必須通過雙親結點
(6)網狀模型資料庫擴展閱讀:
層次模型的優點
1、模型簡單,對具有一對多層次關系的部門描述非常自然,直觀,容易理解,這是層次資料庫的突出優點
2、用層次模型的應用系統性能好,特別是對於那些實體間聯系固定的且預先定義好的應用,採用層次模型來實現,其性能優於關系模型
3、層次數據模型提供了良好的完整性支持。
G. 目前最常用的三種數據模型及其特點是什麼
目前最常用的三種數據模型為層次模型、網狀模型和關系模型。
一、層次模型
層次模型將數據組織成一對多關系的結構,層次結構採用關鍵字來訪問其中每一層次的每一部分。
層次模型發展最早,它以樹結構為基本結構,典型代表是IMS模型。
優點是存取方便且速度快;結構清晰,容易理解;數據修改和資料庫擴展容易實現;檢索關鍵屬性十分方便。
二、網狀模型
網狀模型用連接指令或指針來確定數據間的顯式連接關系,是具有多對多類型的數據組織方式。
網狀數據模型通過網狀結構表示數據間聯系,開發較早且有一定優點,目前使用仍較多,典型代表是 DBTG模型。
優點是能明確而方便地表示數據間的復雜關系。
三、關系模型
關系模型以記錄組或數據表的形式組織數據,以便於利用各種地理實體與屬性之間的關系進行存儲和變換,不分層也無指針,是建立空間數據和屬性數據之間關系的一種非常有效的數據組織方法。
優點在於結構特別靈活,概念單一,滿足所有布爾邏輯運算和數學運算規則形成的查詢要求;能搜索、組合和比較不同類型的數據;增加和刪除數據非常方便。
(7)網狀模型資料庫擴展閱讀:
數據模型按不同的應用層次分成三種類型:分別是概念數據模型、邏輯數據模型、物理數據模型。
1、概念模型(Conceptual Data Model),是一種面向用戶、面向客觀世界的模型,主要用來描述世界的概念化結構,它是資料庫的設計人員在設計的初始階段。
2、邏輯模型(Logical Data Model),是一種面向資料庫系統的模型,是具體的DBMS所支持的數據模型。
3、物理模型(Physical Data Model),是一種面向計算機物理表示的模型,描述了數據在儲存介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬體有關。
H. 請問資料庫里的層次模型、網狀模型、關系模型之間的比較
1.層次模型
層次模型是資料庫系統中最早使用的模型,它的數據結構類似一顆倒置的樹,每個節點表示一個記錄類型,記錄之間的聯系是一對多的聯系,基本特徵是:
* 一定有一個,並且只有一個位於樹根的節點,稱為根節點;
* 一個節點下面可以沒有節點,即向下沒有分支,那麼該節點稱為葉節點;
* 一個節點可以有一個或多個節點,前者稱為父節點,後者稱為子節點;
* 同一父節點的子節點稱為兄弟節點。
* 除根節點外,其他任何節點有且只有一個父節點;
圖11.7是一個層次模型的例子。
層次模型中,每個記錄類型可以包含多個欄位,不同記錄類型之間、同一記錄類型的不同欄位之間不能同名。如果要存取某一類型的記錄,就要從根節點開始,按照樹的層次逐層向下查找,查找路徑就是存取路徑。如圖11.8所示。
層次模型結構簡單,容易實現,對於某些特定的應用系統效率很高,但如果需要動態訪問數據(如增加或修改記錄類型)時,效率並不高。另外,對於一些非層次性結構(如多對多聯系),層次模型表達起來比較繁瑣和不直觀。
2.網狀模型
網狀模型可以看作是層次模型的一種擴展。它採用網狀結構表示實體及其之間的聯系。網狀結構的每一個節點代表一個記錄類型,記錄類型可包含若干欄位,聯系用鏈接指針表示,去掉了層次模型的限制。網狀模型的特徵是:
1. 允許一個以上的節點沒有父節點;
2. 一個節點可以有多於一個的父節點;
例如,圖11.9(a)和圖11.9(b)都是網狀模型的例子。圖11.9(a)中節點3有兩個父節點,即節點1和節點2;圖11.9(b)中節點4有三個父節點,即節點1,節點2和節點3。
由於網狀模型比較復雜,一般實際的網狀資料庫管理系統對網狀都有一些具體的限制。在使用網狀資料庫時有時候需要一些轉換。例如,如圖11.10所示。
網狀模型與層次模型相比,提供了更大的靈活性,能更直接地描述現實世界,性能和效率也比較好。網狀模型的缺點是結構復雜,用戶不易掌握,記錄類型聯系變動後涉及鏈接指針的調整,擴充和維護都比較復雜。
3.關系模型
關系模型是目前應用最多、也最為重要的一種數據模型。關系模型建立在嚴格的數學概念基礎上,採用二維表格結構來表示實體和實體之間的聯系。二維表由行和列組成。下面以教師信息表和課程表為例,說明關系模型中的一些常用術語:
表11.1 教師信息表(表名為:tea_info)
TNO(教師編號)
NAME(姓名)
GENDER(性別)
TITLE(職稱)
DEPT(系別)
805
李奇
女
講師
基礎部
856
薛智永
男
教授
信息學院
表11.2 課程表(表名為:cur_info)
CNO(課程編號)
DESCP(課程名稱)
PERIOD(學時)
TNO(主講老師編號)
005067
微機基礎
40
805
005132
數據結構
64
856
1. 關系(或表):一個關系就是一個表,如上面的教師信息表和課程表。
2. 元組:表中的一行為一個元組(不包括表頭)。
3. 屬性:表中的一列為一個屬性。
4. 主碼(或關鍵字):可以唯一確定一個元組和其他元組不同的屬性組。
5. 域:屬性的取值范圍。
6. 分量:元組中的一個屬性值。
7. 關系模式:對關系的描述,一般表示為:關系名(屬性1,屬性2,... ...,屬性n)。
關系模型中沒有層次模型中的鏈接指針,記錄之間的聯系是通過不同關系中的同名屬性來實現的。 關系模型的基本特徵是:
1. 建立在關系數據理論之上,有可靠的數據基礎;
2. 可以描述一對一,一對多和多對多的聯系。
3. 表示的一致性。實體本身和實體間聯系都使用關系描述。
4. 關系的每個分量的不可分性,也就是不允許表中表。
關系模型概念清晰,結構簡單,實體、實體聯系和查詢結果都採用關系表示,用戶比較容易理解。另外,關系模型的存取路徑對用戶是透明的,程序員不用關心具體的存取過程,減輕了程序員的工作負擔,具有較好的數據獨立性和安全保密性。
關系模型也有一些缺點,在某些實際應用中,關系模型的查詢效率有時不如層次和網狀模型。為了提高查詢的效率,有時需要對查詢進行一些特別的優化
I. 資料庫管理系統常見的數據模型有層次模型,網狀模型和什麼
資料庫管理系統常見的數據模型有層次模型,網狀模型和語義模型。
在關系模型基礎上增加全新的數據構造器和數據處理原語,用來表達復雜的結構和豐富的語義的一類新的數據模型。
資料庫管理系統是一個能夠提供數據錄入、修改、查詢的數據操作軟體,具有數據定義、數據操作、數據存儲與管理、數據維護、通信等功能,且能夠允許多用戶使用。另外,資料庫管理系統的發展與計算機技術發展密切相關。
為此,若要進一步完善計算機資料庫管理系統,技術人員就應當不斷創新、改革計算機技術,並不斷拓寬計算機資料庫管理系統的應用范圍,從而真正促進計算機資料庫管理系統技術的革新。
(9)網狀模型資料庫擴展閱讀:
資料庫管理應盡可能地消除了冗餘,但是並沒有完全消除,而是控制大量資料庫固有的冗餘。例如,為了表現數據間的關系,數據項的重復一般是必要的,有時為了提高性能也會重復一些數據項。
通過消除或控制冗餘,可降低不一致性產生的危險。如果數據項在資料庫中只存儲了一次,則任何對該值的更新均只需進行一次,而且新的值立即就被所有用戶獲得。
如果數據項不只存儲了一次,而且系統意識到這點,系統將可以確保該項的所有拷貝都保持一致。不幸的是,許多DBMS都不能自動確保這種類型的一致性。
資料庫應該被有許可權的用戶共享。DBMS的引入使更多的用戶可以更方便的共享更多的數據。新的應用程序可以依賴於資料庫中已經存在的數據,並且只增加沒有存儲的數據,而不用重新定義所有的數據需求。
J. 網狀數據模型必須滿足哪些條件
在資料庫中,把滿足以下兩個條件的基本層次聯系集合稱為網狀數據模型
(1)允許一個以上的結點無雙親。
(2)一個結點可以有多於一個的雙親。
從以上定義看出,網狀模型構成了比層次結構更復雜的網狀結構。
在現實世界中,事物之間的聯系更多的是非層次關系的,用層次模型表示非樹型結構是很不直接的,網狀模型則可以克服這一弊病。網狀模型是一個網路。在資料庫中,滿足以上兩個條件的數據模型稱為網狀模型。