資料庫 概念模型

2021-10-25 05:58:52 字數 3793 閱讀 4754

3.聯絡

4.多對多的關係

5.結合ef core 理解多對多

6.關聯式資料庫

7.正規化

參考文獻

如下內容講的,主要是關係型資料庫

資訊世界的一些基本的概念

實體內部的聯絡,通常指組成實體的各屬性之間的聯絡

實體之間的聯絡,通常指實體集之間的聯絡

關係型資料庫系統,採用關係模型作為資料的組織方式,就是一張規範的二維表

關係的每乙個分量,必須是乙個不可分的資料項,也就是說不允許表中還有表

實體之間的聯絡,有一對一,一對多,多對多等多種型別

多對多關係也很常見,例如學生與選修課之間的關係,乙個學生可以選擇多門選修課,而每個選修課又可以被多名學生選擇。

資料庫中的多對多關聯關係一般需採用中間表的方式處理,將多對多轉化為兩個一對多。

一對多以city和province為例,province有多個city,而乙個city只能有乙個province

using system;

using microsoft.entityframeworkcore;

namespace aspneteffcore.models

protected

override

void

onmodelcreating

(modelbuilder modelbuilder)

public dbset provinces

public dbset cities

}public

class

province

public

int id

public

string name

public

int population

public list cities

}public

class

city

public

string name

public

string areacode

public

int proviceid

public

province province

public

mayor mayor

}}

以city和company為例,乙個city會有多個company,乙個company在多個city都有多個分company

using system;

using microsoft.entityframeworkcore;

namespace aspneteffcore.models

protected

override

void

onmodelcreating

(modelbuilder modelbuilder));

//配置多對多 ,就是兩個一對多,可以不寫

modelbuilder.

entity

<

citycompany

>()

.hasone

(x =

> x.city)

.withmany

(x=> x.citycompany)

.hasforeignkey

(x=>x.cityid)

; modelbuilder.

entity

<

citycompany

>()

.hasone

(x =

> x.company)

.withmany

(x=> x.citycompany)

.hasforeignkey

(x=>x.companyid);}

public dbset cities

public dbset citycompanies

}public

class

city

public

int id

public

string name

public

string areacode

public

int provinceid

public

province province

//多對多對映

public list citycompany

}public

class

company

public

int id

public

string name

public

datetime establishdate

public

string legalperson

//多對多對映

public list citycompany

}//多對多中間model

public

class

citycompany

public

city city

public

int companyid

public

company company

}}

6.1相關概念

理解什麼是笛卡爾積,什麼是域,什麼是基數,

6.2 二維表的6條性質

列是同質的,每乙個列的分量是同一型別的資料,來自同乙個域

不同的類,可能出自同乙個域

列的順序是無所謂的

行的順序是無所謂的

任意兩行的候選碼不能取相同值

分量必須取原子,即每個分量都必須是不可分的資料項

在實際的生產中,基本表並不完全具有這6條特徵,例如有些資料庫產品仍然區分了屬性的順序和元組的順序。

6.3 表的操作

關係模型中,常用的操作,包括查詢、插入、刪除、修改.

查詢又可以分為選擇、投影、並、差、笛卡爾積 等五種操作。

關係操作的特點是集合操作,即操作的物件和結果都是集合。

6.4表的完整性

資料庫表的完整性是對關係的某種約束條件,也就是說關係的值隨著時間的變化時應該滿足的一些約束條件。

7.1 第一正規化

只要表中不再含有其他的表,就說明了符合第一正規化

7.2下面表存在的問題

資料冗餘:每個系班主任名字重複出現,而且重複次數和所有學生的所有課程成績出現次數一樣。

更新異常

插入異常

刪除異常

[1]

資料庫複習 2 概念模型

概念模型的用途 對概念模型的基本要求 實體 entity 客觀存在並相互區別的事物稱為實體。實體可以為具體的人 事 物,也可以是抽象的概念或聯絡。如 張 三 男足勝過了南韓 飛機和路飛 虛擬 屬性 attribute 實體所具有的某一特性稱為屬性。乙個實體可以由若干個屬性來刻畫。如 學生實體可以由學...

資料庫理論 概念模型 邏輯模型 物理模型

在了解了使用者的需求,使用者的業務領域工作情況以後,經過分析和總結,提煉出來的用以描述使用者業務需求的一些概念的東西。如銷售業務中的 客戶 和 定單 還有就是 商品 業務員 主要是抽取出系統中有哪些概念 此時可以不包含屬性,只有實體集,聯絡集的分析結構 表示概念模型最常用的是 實體 關係 圖 e r...

資料庫概念模型和邏輯模型及物理模型

概念模型是面向使用者 面向現實世界的資料模型,與dbms無關。採用概念模型,資料設計 人員可以把主要精力用於了解和描述現實世界上,而把涉及dbms的一些技術性問題推遲 到設計階段解決。需求分析階段完成後,通過分析和總結提煉出資料字典,然後確定實體以及實體之間的聯絡。然後確定實體的屬性,逐步畫出區域性...