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數據庫_百度百科