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的一些技術性問題推遲 到設計階段解決。需求分析階段完成後,通過分析和總結提煉出資料字典,然後確定實體以及實體之間的聯絡。然後確定實體的屬性,逐步畫出區域性...