2 回答

TA貢獻1829條經驗 獲得超4個贊
數據模型按不同的應用層次分成三種類型,分別是概念數據模型、邏輯數據模型、物理數據模型
(1)概念數據模型(ConceptualDataModel):
簡稱概念模型,是面向數據庫用戶的實現世界的模型,主要用來描述世界的概念化結構,它使數據庫的設計人員在設計的初始階段,擺脫計算機系統及DBMS的具體技術問題.
集中精力分析數據以及數據之間的聯系等,與具體的數據管理系統(Database Management System,DBMS)無關。概念數據模型必須換成邏輯數據模型,才能在DBMS中實現。
(2)邏輯數據模型(Logical Data Model):
簡稱數據模型,這是用戶從數據庫所看到的模型,是具體的DBMS所支持的數據模型,如網狀數據模型(Network Data Model)、層次數據模型(Hierarchical Data Model)等。此模型既要面向用戶,又要面向系統,主要用于數據庫管理系統(DBMS)的實現。
(3)物理數據模型(Physical Data Model):
簡稱物理模型,是面向計算機物理表示的模型,描述了數據在儲存介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬件有關。每一種邏輯數據模型在實現時都有其對應的物理數據模型。
DBMS為了保證其獨立性與可移植性,大部分物理數據模型的實現工作由系統自動完成,而設計者只設計索引、聚集等特殊結構。
擴展資料:
數據庫模型
(1)對象模型
(2)層次模型(輕量級數據訪問協議)
(3)網狀模型(大型數據儲存)
(4)關系模型
(5)面向對象模型
(6)半結構化模型
(7)平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)
數據庫的架構可以大致區分為三個概括層次:內層、概念層和外層。
(1)內層:最接近實際存儲體,亦即有關數據的實際存儲方式。
(2)外層:最接近用戶,即有關個別用戶觀看數據的方式。
(3)概念層:介于兩者之間的間接層。

TA貢獻1909條經驗 獲得超7個贊
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進行過濾。
- 2 回答
- 0 關注
- 2331 瀏覽
添加回答
舉報