重建機房收費系統想起的三正規化

2021-05-24 13:28:42 字數 2124 閱讀 2571

定義: •

關係:描述實體、屬性、實體間的聯絡。 –

從形式上看,它是一張二維表,是所涉及屬性的笛卡爾積的乙個子集。 •

關係模式:用來定義關係。(簡單理解就是每張表的表頭那一行) •

關聯式資料庫:基於關係模型的資料庫,利用關係來描述現實世界。 –

從形式上看,它由一組關係組成。 •

關聯式資料庫的模式:定義這組關係的關係模式的全體。

關係模式的簡化標準:

關係模式 r

:關係名 u

:組成該關係的屬性名集合

為乙個三元組:r(

u, f)

當且僅當

u上的乙個關係

r 滿足f時,

r稱為關係模式r(

u, f

)的乙個關係

關係模式是型,關係是值。一條記錄是乙個元組,關係是元組的集合。

函式依賴:

定義:

設r(u)

是乙個屬性集

u上的關係模式,x和

y是u的子集。若對於

r(u)

的任意乙個可能的關係r,

r中不可能存在兩個元組在

x上的屬性值相等,而在

y上的屬性值不等,

則稱「x

函式確定

y」 或

「y函式依賴於

x」,記作

x→y。

例項:stuno

函式決定

stuname

和studept

或者說stuname

和studept

函式依賴

於stuno 記作

:stuno→stuname 

,stuno→studept 。

平凡函式依賴與非平凡函式依賴: •

若x→y,但y

不包含於

x,則稱

x→y是非平凡的函式依賴 •

若x→y,但y

包含於x,   

則稱x→y

是平凡的函式依賴

完全函式依賴和部分函式依賴: •

在關係模式

r(u)

中,如果

x→y,並且對於

x的任何乙個真子集

x',都有

x'→ y, 則稱y

完全函式依賴於

x,記作

x f y。

若x→y,但y

不完全函式依賴於

x,則稱

y部分函式依賴於

x,記作

x p y。

例子: 例: 

在關係s(stuno, studept, mastername, courseno, grade)中,

(1)(

stuno,courseno

)→grade

由於:stuno →grade

,courseno → grade,

因此:(stuno, courseno) f   grade f

:完全函式依賴(

full)

(2)(

stuno,courseno

)→ sdept

stuno →studept

(stuno,courseno)  p  sdept p

:部分函式依賴(

part)

三正規化:

第一正規化:

第二正規化:

第二正規化(

2nf)是在第一正規化(

1nf)的基礎上建立起來的,即滿足第二正規化(

2nf)必須先滿足第一正規化(

1nf)。第二正規化(

2nf)要求資料庫表中的每個例項或行必須可以被唯一地區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。例如員工資訊表中加上了員工編號(

emp_id

)列,因為每個員工的員工編號是唯一的,因此每個員工可以被唯一區分。這個唯一屬性列被稱為主關鍵字或主鍵、主碼。

第二正規化(

2nf)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列,以儲存各個例項的唯一標識。簡而言之,第二正規化就是屬性完全依賴於主鍵。

第三正規化:

機房收費系統(三)

收費系統到今天已經完工了,有些小bug,基本的功能都已實現,這次做機房收費系統中,遇到了很多問題,包括技術上的,包括知識面上的。不怕不知道,就怕不知道。心態問題 在寫 的過程中或者是在畫圖的過程中,心態一定要放平,不要讓一些無所謂的爛七八糟的東西來打擾和影響你的學習。這次寫 中有的時候自己突然心血來...

重建機房收費系統資料庫

本來這次想偷懶,不想對資料庫有什麼改動,但是由於正跟著另乙個專案,得到了些啟發,想在機房系統上試試,有不足之處,還希望各位多多指教。這次把資料庫重新整合了一下,剩下了7個表,大概的結構用列表的形式表示出來,是這樣的 把登錄檔分開了,變成了兩個表 卡表和學生表卡表 卡號學號 餘額日期 時間充值教師 狀...

(三)查詢功能 機房收費系統

前提 機房最先熟悉的是查詢,通過查詢,漸漸地明白了機房的整個布局,本來很畏懼橋機房,但有了開始的途徑就覺得一切可以進行了。接下來是我對查詢的簡單理解 內容 查詢是最常見的,所以要熟悉以邪見的資料庫查詢語句的書寫方式,慢慢的熟悉資料庫。vb中資料庫查詢語句 任務一 判斷卡號是否為空 if txtcar...