1. 什麼是數據模型,包含哪幾種類型 (資料庫)
1)數據模型的分類:
最常用的數據模型是概念數據模型和結構數據模型:
①概念數據模型(信息模型):面向用戶的,按照用戶的觀點進行建模,典型代表:E-R圖
②結構數據模型:面向計算機系統的,用於DBMS的實現,典型代表有:層次模型,網狀模型、關系模型,面向 對象模型
數據結構:主要描述數據的類型、內容、性質以及數據間的聯系等,是目標類型的集合。目標類型是資料庫的組成成分,一般可分為兩類:數據類型、數據類型之間的聯系。數據類型如DBTG(資料庫任務組)網狀模型中的記錄型、數據項,關系模型中的關系、域等。
聯系部分有DBTG網狀模型中的系型等。數據結構是數據模型的基礎,數據操作和約束都基本建立在數據結構上。不同的數據結構具有不同的操作和約束。
數據操作:數據模型中數據操作主要描述在相應的數據結構上的操作類型和操作方式。它是操作算符的集合,包括若干操作和推理規則,用以對目標類型的有效實例所組成的資料庫進行操作。
數據約束:數據模型中的數據約束主要描述數據結構內數據間的語法、詞義聯系、他們之間的制約和依存關系,以及數據動態變化的規則,以保證數據的正確、有效和相容。它是完整性規則的集合,用以限定符合數據模型的資料庫狀態,以及狀態的變化。
約束條件可以按不同的原則劃分為數據值的約束和數據間聯系的約束;靜態約束和動態約束;實體約束和實體間的參照約束等。
2. 數學模型是資料庫系統的什麼
數據模型所描述的內容包括三個部分:數據結構、數據操作、數據約束。
1)數據結構:數據模型中的數據結構主要描述數據的類型、內容、性質以及數據間的聯系等。數據結構是數據模型的基礎,數據操作和約束都建立在數據結構上。不同的數據結構具有不同的操作和約束。
2)數據操作:數據模型中數據操作主要描述在相應的數據結構上的操作類型和操作方式。
3)數據約束:數據模型中的數據約束主要描述數據結構內數據間的語法、詞義聯系、他們之間的制約和依存關系,以及數據動態變化的規則,以保證數據的正確、有效和相容。
數據模型按不同的應用層次分成三種類型:分別是概念數據模型、邏輯數據模型、物理數據模型。
1、概念數據模型(Conceptual Data Model):簡稱概念模型,是面向資料庫用戶的實現世界的模型,主要用來描述世界的概念化結構,它使資料庫的設計人員在設計的初始階段,擺脫計算機系統及DBMS的具體技術問題,集中精力分析數據以及數據之間的聯系等,與具體的數據管理系統(Database Management System,簡稱DBMS)無關。概念數據模型必須換成邏輯數據模型,才能在DBMS中實現。
2、邏輯數據模型(Logical Data Model):簡稱數據模型,這是用戶從資料庫所看到的模型,是具體的DBMS所支持的數據模型,如網狀數據模型(Network Data Model)、層次數據模型(Hierarchical Data Model)等等。此模型既要面向用戶,又要面向系統,主要用於資料庫管理系統(DBMS)的實現。
3、物理數據模型(Physical Data Model):簡稱物理模型,是面向計算機物理表示的模型,描述了數據在儲存介質上的組織結構,它不但與具體的DBMS有關,而且還與操作系統和硬體有關。每一種邏輯數據模型在實現時都有起對應的物理數據模型。DBMS為了保證其獨立性與可移植性,大部分物理數據模型的實現工作又系統自動完成,而設計者只設計索引、聚集等特殊結構。
在概念數據模型中最常用的是E-R模型、擴充的E-R模型、面向對象模型及謂詞模型。在邏輯數據類型中最常用的是層次模型、網狀模型、關系模型。
3. 資料庫中的概念模型和數據模型有什麼區別
數據模型是對現實世界數據特徵的抽象,其三要素是(數據結構,數據操作,數據的約束條件)
最常用的數據模型分為概念數據模型和基本數據模型
概念數據模型是按用戶的觀點對數據和信息建模,是現實世界到信息世界的第一層抽象。
基本數據模型是按計算機系統的觀點對數據建模,是現實世界數據特徵的抽象,用於DBMS的實現(層次模型,網狀模型,關系模型)
4. 資料庫主要的模型有哪些
層次模型、網狀模型、關系模型
定義和限制條件:有且僅有一個節點,無父節點,此節點為樹的根;其他節點有且僅有一個父節點;
優點:
①數據結構簡單清晰;
②利用指針記錄邊向聯系,查詢效率高;
③良好的完整新支持;
缺點:
①只能表示1:N的聯系。盡管有許多輔助手段實現M:N的聯系,但比較復雜,不易掌握。
②層次模型的樹是有序樹(層次順序)。對任一結點的所有子樹都規定了先後次序,這一限制隱含了對資料庫存取路徑的控制。
③樹中父子結點之間只存在一種聯系,因此,對樹中的任一結點,只有一條自根結點到達它的路徑。
網狀模型的2個特徵:允許一個以上的節點無雙親;一個節點可以有多於一個的雙親;
優點:
①可以更加清晰表達現實,符合現實中的數據關系;
②可以很快存取操作;
缺點:
①結構復雜;
②不易掌握,網狀模型的DDL,DDM復雜,並且並且要嵌入某一種高級語言(COBOL,c),用戶不易掌握;
③應用程序復雜,記錄之間的聯系通過存取路徑實現的,應用程序在訪問數據時必須選擇合適的存取路徑,因此用戶必須了解系統結構的細節,加重編寫應用程序的負擔;
單一的數據結構——關系
現實世界的實體以及實體間的各種聯系均用關系來表示,從用戶角度看,關系模型中數據的邏輯結構是一張二維表。
優點:
①數據結構單一,關系模型中,不管是實體還是實體之間的聯系,都用關系來表示,而關系都對應一張二維數據表,數據結構簡單、清晰。
②關系規范化,並建立在嚴格的理論基礎上,構成關系的基本規范要求關系中每個屬性不可再分割,同時關系建立在具有堅實的理論基礎的嚴格數學概念基礎上。
③概念簡單,操作方便,關系模型最大的優點就是簡單,用戶容易理解和掌握,一個關系就是一張二維表格,用戶只需用簡單的查詢語言就能對資料庫進行操作。
缺點:
①查詢效率不如格式化數據模型;
②為了提高性能,資料庫管理系統需要優化用戶查詢,增加了資料庫管理系統的開發難度;
5. er模型是反映資料庫應用系統的什麼模型
er模型可以反映資料庫應用系統的關系模型。
從ER模型都關系模型的轉換是將抽象過得數據進一步的整理,轉換完成之後數據就可以以二維表格的形式展現出來,這樣將數據存入資料庫之後有利於。資料庫我們對數據的操作。
ER模型是人們認識客觀世界的一種方法,工具。關系模型是將ER模型轉換成DBMS世界的產物。它們的設計就是為了不斷滿足用戶的需要的體現。
ER模型組成分為實體和聯系,實體是對現實生活中的抽象,實體與實體之間的信息傳輸是通過聯系來實現的。屬性是實體與聯系共享的一個名片。屬性從分類上講有簡單屬性和復合屬性,有單值屬性和多值屬性,儲存屬性和派生屬性。
對ER模型的操作其實就是對ER模型元素的操作,就是對實體,聯系,屬性之間的操作,操作的目的是實現對用戶的需求的同時還要減少數據的冗餘。
6. 什麼是ActiveRecord
積極性記錄
Active Record(活動記錄),是一種領域模型模式,特點是一個模型類對應關系型資料庫中的一個表,而模型類的一個實例對應表中的一行記錄。
中文名
活動記錄
外文名
Active Record
類型
一種領域模型模式
特點
一個模型類對應關系資料庫一個表
在計算機領域中,表示編譯器為每個被激活的函數分配的內存空間。
活動記錄一般都存在棧中。因為棧結構比較簡單,硬體能夠支持。
Active Record 和 Row Gateway (行記錄入口)十分相似,但前者是領域模型,後者是一種數據源模式。關系型資料庫往往通過外鍵來表述實體關系,Active Record 在數據源層面上也將這種關系映射為對象的關聯和聚集。
Active Record 適合非常簡單的領域需求,尤其在領域模型和資料庫模型十分相似的情況下。如果遇到更加復雜的領域模型結構(例如用到繼承、策略的領域模型),往往需要使用分離數據源的領域模型,結合 Data Mapper (數據映射器)使用。
Active Record 驅動框架一般兼有 ORM 框架的功能,但 Active Record 不是簡單的 ORM,正如和 Row Gateway 的區別。著名的例子是全棧(Full Stack) Web 開發框架 Ruby on Rails ,其默認使用一個純 Ruby 寫成的 Active Record 框架來驅動 MVC 中的模型層。
在 Martin Fowler 的 《企業應用架構模式》 一書中曾詳細敘述了本模式。
以下是著名的 Active Record 驅動框架:
SQLObject(Python)
Ruby on Rails ActiveRecord (Ruby)
Yii Framework ActiveRecord (PHP)
Castle ActiveRecord (.NET)
7. 表達實體之間邏輯聯系的E-R模型是資料庫的什麼
表達實體之間邏輯聯系的E-R模型是資料庫的:概念模型。
實體關系模型直接從現實世界中抽象出實體類型和實體間聯系,然後用實體聯系圖(E-R圖)表示數據模型,是描述概念世界,建立概念模型的實用工具。
E-R圖即實體-聯系圖(Entity Relationship Diagram),是指提供了表示實體型、屬性和聯系的方法,用來描述現實世界的概念模型。E-R方法:是「實體-聯系方法」(Entity-Relationship Approach)的簡稱。它是描述現實世界概念結構模型的有效方法。
通常,使用實體-聯系圖(entity-relationship diagram)來建立數據模型。可以把實體-聯系圖簡稱為ER圖,相應地可把用ER圖描繪的數據模型稱為ER模型。ER圖中包含了實體(即數據對象)、關系和屬性等3種基本成分,通常用矩形框代表實體,用連接相關實體的菱形框表示關系,用橢圓形或圓角矩形表示實體(或關系)的屬性,並用直線把實體(或關系)與其屬性連接起來。
8. 資料庫與模型庫的聯系與區別(樸素地花錢提問)
資料庫固名私意是指用來存儲數據的一個虛擬庫存,它的實際用處呢是用來讓別人很清楚直觀的通過數據看到現象的本質,
主要是用來給決策者提供客觀事實的數據分析以幫助決策者做出最明智的判斷,次要呢就是給大眾看的也就是能通過數據讓大眾能夠直接的看出比如自己的工資漲了多少啊,自己公司的營業額是多少啊,等等這樣
模擬庫呢是指儲存虛擬世界比如電腦的三維模擬等來模擬出的一些未來或現在的虛擬模型,用處呢就是存儲模型,能夠讓別人很輕松的進行對比啊,改進啊等等
兩者的關系呢,就是模擬庫可以根據資料庫的客觀真實數據進行可靠.正確的模擬或改進,從而使模擬出的東西更接近實際要求,
這樣既可節約成本又可縮短工期,更可以讓模擬的東西更標准,更符合客觀實際
9. er模型是反映資料庫應用系統的什麼模型
er模型是反映資料庫應用系統的概念模型 ,表示概念模型的方式有多種其中最常用的是E-R模型,由P.PChen於1976年提出,中文為實體-聯系模型。
概念數據模型是面向用戶、面向現實世界的數據模型,是與DBMS無關的。它主要用來描述一個單位的概念化結構。
採用概念數據模型,資料庫設計人員可以在設計的開始階段,把主要精力用於了解和描述現實世界上,而把涉及DBMS的一些技術性的問題推遲到設計階段去考慮。
ER模型包含三類元素:實體、關系、屬性
一、實體(Entities):實體是首要的數據對象,常用於表示一個人、地方、某樣事物或某個事件。一個特定的實體被稱為實體實例(entity instance或entity occurrence)。實體用長方形框表示,實體的名稱標識在框內。一般名稱單詞的首字母大寫。
二、關系(Relationships):關系表示一個或多個實體之間的聯系。關系依賴於實體,一般沒有物理概念上的存在。關系最常用來表示實體之間,一對一,一對多,多對多的對應。關系的構圖是一個菱形,關系的名稱一般為動詞。
關系的端點聯系著角色(role)。一般情況下角色名可以省略,因為實體名和關系名已經能清楚的反應角色的概念,但有些情況下我們需標出角色名來避免歧義。
三、屬性(Attributes):屬性為實體提供詳細的描述信息。一個特定實體的某個屬性被稱為屬性值。Employee實體的屬性可能有:emp-id, emp-name, emp-address, phone-no??。屬性一般以橢圓形表示,並與描述的實體連接。
屬性可被分為兩類:標識符(identifiers),描述符(descriptors)。Identifiers可以唯一標識實體的一個實例(key),可以由多個屬性組成。ER圖中通過在屬性名下加上下劃線來標識。
多值屬性(multivalued attributes)用兩條線與實體連接,eg:hobbies屬性(一個人可能有多個hobby,如reading,movies?)。復合屬性(Complex attributes)本身還有其它屬性。
辨別強實體與弱實體:強實體內部有唯一的標識符。弱實體(weak entities)的標識符來自於一個或多個其它強實體。弱實體用雙線長方形框表示,依賴於強實體而存在。
10. 資料庫中 概念模型,數據結構模型和物理模型三大類的典型代表分別是什麼
概念模型:只是一種設計思想,設計E_R圖的思想
數據結構模型
:就是畫
E-R圖物理模型:就是做資料庫啦