數(shù)據(jù)庫設(shè)計備忘錄,沒什么新鮮的,只是作為自己的一個備忘~
1、關(guān)系: 1:1,1:N,N:N
2、注意在使用多對多關(guān)系的時候,由于關(guān)系型數(shù)據(jù)庫的限制,我們必須建立一個中間表,用來表明兩者之間的關(guān)系
3、具體的原因是數(shù)據(jù)庫中的表的主鍵應(yīng)該是唯一的,但是如果在兩個存在多對多關(guān)系的數(shù)據(jù)表之間表明兩者之間的關(guān)系的話,就不能夠保證數(shù)據(jù)主鍵的唯一性了,比如說:書籍和作者之間的關(guān)系,我們假設(shè)他們之間是多對多的關(guān)系,一本書籍可以有多個作者,一個作者可以寫多本書籍,如果我們是用兩個表來表明他們之間的關(guān)系,結(jié)構(gòu)如下:
書籍表:
主鍵????作者外鍵??? 名稱?等其它屬性
作者表:
主鍵???書籍外鍵? 姓名等其它屬性
如果我們要向表中存入數(shù)據(jù),那么就會如下所示:
書籍表:
1????????????1???????????應(yīng)用Rails進行敏捷Web開發(fā)
1????????????2?????????? 應(yīng)用Rails進行敏捷Web開發(fā)
作者表:
1????????????1??????????? Dave Thomas
2????????????1??????????? David Heinemeier Hansson
這樣就出現(xiàn)問題了,書籍表中出現(xiàn)了重復(fù)的主鍵,這個可是不行的哦
如果加入一個中間連接表,那么問題就解決了,書籍表和作者表只管負責(zé)存儲他們各自的信息,不需要存儲他們的關(guān)系信息,關(guān)系信息讓連接表進行存儲就好了~,表的結(jié)構(gòu)如下:
書籍表:
主鍵???? 名稱?等其它屬性
1???????????? 應(yīng)用Rails進行敏捷Web開發(fā)
2???????????? Ant使用手冊
作者表:
主鍵???? 姓名等其它屬性
1??????????????????? Dave Thomas
2??????????????? David Heinemeier Hansson
連接表:
主鍵????? 書籍外鍵?? 作者外鍵
1??????????????????????1??????????????1
2????????????????????? 1????????????? 2
這樣,問題就解決了~
1、關(guān)系: 1:1,1:N,N:N
2、注意在使用多對多關(guān)系的時候,由于關(guān)系型數(shù)據(jù)庫的限制,我們必須建立一個中間表,用來表明兩者之間的關(guān)系
3、具體的原因是數(shù)據(jù)庫中的表的主鍵應(yīng)該是唯一的,但是如果在兩個存在多對多關(guān)系的數(shù)據(jù)表之間表明兩者之間的關(guān)系的話,就不能夠保證數(shù)據(jù)主鍵的唯一性了,比如說:書籍和作者之間的關(guān)系,我們假設(shè)他們之間是多對多的關(guān)系,一本書籍可以有多個作者,一個作者可以寫多本書籍,如果我們是用兩個表來表明他們之間的關(guān)系,結(jié)構(gòu)如下:
書籍表:
主鍵????作者外鍵??? 名稱?等其它屬性
作者表:
主鍵???書籍外鍵? 姓名等其它屬性
如果我們要向表中存入數(shù)據(jù),那么就會如下所示:
書籍表:
1????????????1???????????應(yīng)用Rails進行敏捷Web開發(fā)
1????????????2?????????? 應(yīng)用Rails進行敏捷Web開發(fā)
作者表:
1????????????1??????????? Dave Thomas
2????????????1??????????? David Heinemeier Hansson
這樣就出現(xiàn)問題了,書籍表中出現(xiàn)了重復(fù)的主鍵,這個可是不行的哦
如果加入一個中間連接表,那么問題就解決了,書籍表和作者表只管負責(zé)存儲他們各自的信息,不需要存儲他們的關(guān)系信息,關(guān)系信息讓連接表進行存儲就好了~,表的結(jié)構(gòu)如下:
書籍表:
主鍵???? 名稱?等其它屬性
1???????????? 應(yīng)用Rails進行敏捷Web開發(fā)
2???????????? Ant使用手冊
作者表:
主鍵???? 姓名等其它屬性
1??????????????????? Dave Thomas
2??????????????? David Heinemeier Hansson
連接表:
主鍵????? 書籍外鍵?? 作者外鍵
1??????????????????????1??????????????1
2????????????????????? 1????????????? 2
這樣,問題就解決了~