當前位置:成語大全網 - 新華字典 - 數據庫按數據的組織方式來分可以分為哪三種模型

數據庫按數據的組織方式來分可以分為哪三種模型

1、層次模型:

①有且只有壹個結點沒有雙親結點(這個結點叫根結點)。

②除根結點外的其他結點有且只有壹個雙親結點。

層次模型中的記錄只能組織成樹的集合而不能是任意圖的集合。在層次模型中,記錄的組織不再是壹張雜亂無章的圖,而是壹棵"倒長"的樹。

2、網狀模型 :

①允許壹個以上的結點沒有雙親結點。

②壹個結點可以有多個雙親結點。

網狀模型中的數據用記錄的集合來表示,數據間的聯系用鏈接(可看作指針)來表示。數據庫中的記錄可被組織成任意圖的集合。

3、關系模型:?

關系模型用表的集合來表示數據和數據間的聯系。

每個表有多個列,每列有唯壹的列名。

在關系模型中,無論是從客觀事物中抽象出的實體,還是實體之間的聯系,都用單壹的結構類型

擴展資料

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進行過濾。

參考資料:

SQL數據庫_百度百科