2 回答

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

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個贊
1、層次模型:
①有且只有一個結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)(這個結(jié)點(diǎn)叫根結(jié)點(diǎn))。
②除根結(jié)點(diǎn)外的其他結(jié)點(diǎn)有且只有一個雙親結(jié)點(diǎn)。
層次模型中的記錄只能組織成樹的集合而不能是任意圖的集合。在層次模型中,記錄的組織不再是一張雜亂無章的圖,而是一棵"倒長"的樹。
2、網(wǎng)狀模型 :
①允許一個以上的結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)。
②一個結(jié)點(diǎn)可以有多個雙親結(jié)點(diǎn)。
網(wǎng)狀模型中的數(shù)據(jù)用記錄的集合來表示,數(shù)據(jù)間的聯(lián)系用鏈接(可看作指針)來表示。數(shù)據(jù)庫中的記錄可被組織成任意圖的集合。
3、關(guān)系模型:
關(guān)系模型用表的集合來表示數(shù)據(jù)和數(shù)據(jù)間的聯(lián)系。
每個表有多個列,每列有唯一的列名。
在關(guān)系模型中,無論是從客觀事物中抽象出的實(shí)體,還是實(shí)體之間的聯(lián)系,都用單一的結(jié)構(gòu)類型
擴(kuò)展資料
1、無條件查詢
例:找出所有學(xué)生的的選課情況
SELECT st_no,su_no
FROM score
例:找出所有學(xué)生的情況
SELECT*
FROM student
“*”為通配符,表示查找FROM中所指出關(guān)系的所有屬性的值。
2、條件查詢
條件查詢即帶有WHERE子句的查詢,所要查詢的對象必須滿足WHERE子句給出的條件。
例:找出任何一門課成績在70以上的學(xué)生情況、課號及分?jǐn)?shù)
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是不從查詢結(jié)果集中去掉重復(fù)行,如果使用DISTINCT則會去掉重復(fù)行。另外邏輯運(yùn)算符的優(yōu)先順序?yàn)镹OT→AND→OR。
例:找出課程號為c02的,考試成績不及格的學(xué)生
SELECT st_no
FROM score
WHERE su_no=‘c02’AND score<60
3、排序查詢
排序查詢是指將查詢結(jié)果按指定屬性的升序(ASC)或降序(DESC)排列,由ORDER BY子句指明。
例:查找不及格的課程,并將結(jié)果按課程號從大到小排列
SELECT UNIQUE su_no
FROM score
WHERE score<60
ORDER BY su_no DESC
4、嵌套查詢
嵌套查詢是指WHERE子句中又包含SELECT子句,它用于較復(fù)雜的跨多個基本表查詢的情況。
例:查找課程編號為c03且課程成績在80分以上的學(xué)生的學(xué)號、姓名
SELECT st_no,st_name
FROM student
WHERE stno IN (SELECT st_no
FROM score
WHERE su_no=‘c03’ AND score>80 )
這里需要明確的是:當(dāng)查詢涉及多個基本表時用嵌套查詢逐次求解層次分明,具有結(jié)構(gòu)程序設(shè)計(jì)特點(diǎn)。在嵌套查詢中,IN是常用到的謂詞。若用戶能確切知道內(nèi)層查詢返回的是單值,那么也可用算術(shù)比較運(yùn)算符表示用戶的要求。
5、計(jì)算查詢
計(jì)算查詢是指通過系統(tǒng)提供的特定函數(shù)(聚合函數(shù))在語句中的直接使用而獲得某些只有經(jīng)過計(jì)算才能得到的結(jié)果。常用的函數(shù)有:
COUNT(*) 計(jì)算元組的個數(shù)
COUNT(列名) 對某一列中的值計(jì)算個數(shù)
SUM(列名) 求某一列值的總和(此列值是數(shù)值型)
AVG(列名) 求某一列值的平均值(此列值是數(shù)值型)
MAX(列名) 求某一列值中的最大值
MIN(列名) 求某一列值中的最小值
例:求男學(xué)生的總?cè)藬?shù)和平均年齡
SELECT COUNT(*),AVG(st_age)
FROM student
WHERE st_sex=‘男’
例:統(tǒng)計(jì)選修了課程的學(xué)生的人數(shù)
SELECT COUNT(DISTINCT st_no)
FROM score
注意:這里一定要加入DISTINCT,因?yàn)橛械膶W(xué)生可能選修了多門課程,但統(tǒng)計(jì)時只能按1人統(tǒng)計(jì),所以要使用DISTINCT進(jìn)行過濾。
- 2 回答
- 0 關(guān)注
- 2356 瀏覽
添加回答
舉報