資料庫表關系
㈠ 如何設計資料庫中表的關系
1.理解您的數據
在設計表之前,應明確您打算如何處理數據,還要了解隨著時間的推移數據會發生什麼樣的變化。您所做的假設將會影響最終的設計。
2.您需要什麼樣的數據
設計應用程序時,關鍵要了解設計的最終結果,以便確保您准備好所有必需的數據並知道其來源。例如,報表的外觀、每個數據的來源以及所需的所有數據是否都存在。對項目損失最大的莫過於在項目後期發現重要報表缺少數據。
3.明確所需數據的類型和來源
知道需要什麼樣的數據後,就必須確定數據的來源。數據是否從其他數據源中導入?數據是否需要清理或驗證?用戶是否需要輸入數據?明確所需數據的類型和來源是資料庫設計的第一步。
4.您打算如何處理這些數據?
用戶是否需要編輯這些數據?如果需要,應如何顯示數據以便於用戶理解和編輯?有沒有驗證規則和相關的查找表?要求對編輯和刪除保留備份的數據輸入有沒有相關聯的審核問題?需要為用戶顯示哪些摘要信息?是否需要生成導出文件?了解這些信息後,就可以想像欄位之間是如何相互關聯的了。
5數據之間如何相互關聯?
將數據分組放入相關欄位(例如與客戶相關的信息、與發票相關的信息等),每個欄位組都代表要建立的表。然後考慮如何將這些表相互關聯。例如,哪些表具有一對多關系(例如,一個客戶可能持有多張發票)?哪些表具有一對一關系(這種情況下,通常會考慮將其組合到一個表中)?
6.隨著時間的推移數據會發生什麼樣的變化?
設計表之後,常常會由於沒有考慮時間的影響而導致以後出現嚴重問題。許多表設計在當時使用時效果非常好,但是,常常會因為用戶修改數據、添加數據以及隨時間的推移而崩潰。開發人員經常會發現需要重新設計表的結構來適應這些變化。表的結構發生變化時,所有相關的內容(查詢、窗體、報表、代碼等)也必須隨之更新。理解並預測數據會隨時間推移發生哪些變化,可以實現更好的設計,減少問題的發生。
7.學習如何使用查詢
了解如何分析和管理數據同樣很重要。您應該深刻理解查詢的工作原理,理解如何使用查詢在多個表之間鏈接數據,如何使用查詢對數據進行分組和匯總,以及如何在不需要以規范化格式顯示數據時使用交叉表查詢。
好的數據設計的最終目標就是要平衡兩個需要:既要隨著時間的推移有效地存儲數據,又要輕松地檢索和分析數據。理解查詢的功能對正確設計表很有幫助。
㈡ 簡述關系資料庫中表與表的3種關系
1)一對一的關系
例如:一個人對應一個唯一的身份證號,即為一對一的關系。
2)一對多關系
例如:一個班級對應多名學生,即為一對多關系
3)多對多關系
例如:一個學生可以選多門課程,而同一門課程可以被多個學生選修,彼此的對應關系即是多對多關系。
㈢ 資料庫表關系
我們在資料庫中再建立1個技術職務人員評估表,即對職工表中的每類技術職務人員
在「資料庫設計器」中,通過鏈接不同表的索引可以很方便地建立表之間的關系,
㈣ 資料庫中 表關系怎樣建立
在資料庫里建立3個表,分別是.
order;
food;
order-
建立1個欄位?
1.圖片和視頻文件不要寄存在資料庫中,而應當利用文件系統寄存,資料庫中只寄存讀取他們位置信息便可;
..
㈤ 資料庫和表的關系
資料庫里是有很多 很多的表的
表裡的數據就是你需要展示的內容!!
㈥ 如何定義資料庫表之間的關系(上)
建立關系在開始著手考慮建立關系表之間的關系之前,你可能需要對數據非常熟悉。只有在熟悉數據之後,關聯會比你剛開始的時候更明顯。你的資料庫系統依賴於在兩個數據表中找到的匹配值來建立關系。如果在資料庫系統中發現了一個匹配值,系統將從兩個數據表中提取數據並創建一個虛擬的記錄。例如,你可能想要查看某個特定的作者所寫的全部書籍,在本文中,系統將從 「books」和「authors」這兩個數據表中查找相關的匹配值。需要注意的是,在大多數情況下,查詢的結果是動態的,這意味著對這條虛擬記錄所做的任何改動都將可能作用到底層的數據表上,這一點是非常重要的。 進行匹配的值都是主鍵和外鍵的值。(關系模型不要求一個關系必須對應的使用一個主鍵來確定。你可以使用數據表中的任何備選關鍵字來建立關系,但是使用主鍵是大家都已經接受的標准。)主鍵(primary key)唯一的識別表中的每個記錄。而外鍵(foreign key)只是簡單的將一個數據表中的主鍵存放在另外一個數據表中。同樣地,對於你來說也不需要做太多的工作——只是簡單地將主鍵加到關系表中,並將其定義為外鍵。 唯一需要注意的是,外鍵欄位的數據類型必須和主鍵的數據類型相同。但是有些系統可以允許這條規則有一個例外,它允許在數字和自動編號(autonumbering)欄位(例如在sql伺服器系統中訪問identity和autonumber)之間建立關系。此外,外鍵的值可以是空(null),盡管強烈建議在沒有特別原因的情況下,不要讓外鍵為空。你有可能永遠都不會有機會來使用需要這項功能的資料庫。 現在回到我們的示例關系表,並開始輸入合適的外鍵。(請繼續在紙上打草稿——在你的資料庫系統中創建真正的數據表還為時過早。要知道在紙上糾正錯誤要容易得多。)要記住,你正在把主鍵的值添加到關系表裡。只要調用實體之間的關系就行了,而其他的就簡單了: 書籍和分類是有關系的。
書籍和出版社是有關系的。
書籍和作者是有關系的。
作者和郵政編碼(zip)是有關系的。
郵政編碼和城市是有關系的。
城市和州是有關系的。 這一步並不是一成不變的,你可能會發現在規范化的過程中加入外鍵會更容易一些。在把欄位移動到一個新的數據表時,你可能要把這個新數據表的主鍵添加到原來的數據表裡,將其作為外鍵。但是,在你繼續規范化剩餘數據的時候,外鍵常常會發生改變。你會發現在所有這些數據表被全部規范化之後,一次添加所有的外鍵,這樣效率會更高。 操作數據表
現在讓我們一次操作一個數據表,就從books數據表開始,它在這個時候只有三個欄位。
㈦ ER圖與資料庫表的關系是神馬
E-R圖提供了表示資料庫表的實體類型、屬性和聯系的方法,是表示概念關系模型的一種方式。為表述實體聯系模式圖形式的數據表模型提供了圖形符號。這種數據表模型典型的用在基於資料庫的信息系統設計的需求分析階段,用來描述信息需求和/或要存儲在資料庫中的表信息的類型。
(7)資料庫表關系擴展閱讀:
E-R圖設計的正確與否取決於資料庫設計人員能否真正把握表的各個客觀對象和他們之間發生的活動,這需要作準確深入的用戶需求分析。這些表對象如果需要記錄的話,就抽象為E-R圖中的實體。
描述實體的眾多相關數據就抽象為實體的屬性,將具有相同屬性的眾多實體抽象為實體型。它們之間發生的活動如果也需要記錄的話,就抽象為E-R圖中的聯系,這是E-R圖設計的重點。
㈧ 資料庫和資料庫表到底是啥關系
paradox資料庫我沒有使用過,資料庫是各種數據表的一個集合或者說是一個容器。一般應用情況下一個資料庫系統建立一個資料庫,但這個資料庫中根據需要建立若干個數據表。但如果你的應用比較復雜也可以建立兩個資料庫,這個是根據具體的需求來確定的。
你所說的.db文件我在網路上檢索到一個paradox資料庫的介紹文件,我無法黏貼全文,將其第一段貼出來,如需要文件請留下電子郵箱地址,我發給你。
PARADOX資料庫是Boland以前在DELPHI下利用BDE進行操作的桌面資料庫,目前已經很少使用,以致ADO都不提供它的引擎了(也害得我吃了不少苦頭)。PARADOX資料庫本身以獨立的表存在的,一個表就可以看成是一個庫,或者也可以說是一個文件夾就是一個庫,文件夾里的PARADOX數據表就是該庫的各個表。PARADOX數據表的擴展名是db,此外還有一些其他的文件類型,作為數據表的輔助,但用ADO對其進行處理時,使用*.DB的文件就已經足夠。
㈨ 如何定義資料庫表之間的關系
唯一需要注意的是,外鍵欄位的數據類型必須和主鍵的數據類型相同。但是有些系統可以允許這條規則有一個例外,它允許在數字和自動編號(autonumbering)欄位(例如在SQL伺服器系統中訪問Identity和AutoNumber)之間建立關系。此外,外鍵的值可以是空(Null),盡管強烈建議在沒有特別原因的情況下,不要讓外鍵為空。你有可能永遠都不會有機會來使用需要這項功能的資料庫。 現在回到我們的示例關系表,並開始輸入合適的外鍵。(請繼續在紙上打草稿——在你的資料庫系統中創建真正的數據表還為時過早。要知道在紙上糾正錯誤要容易得多。)要記住,你正在把主鍵的值添加到關系表裡。只要調用實體之間的關系就行了,而其他的就簡單了: 書籍和分類是有關系的。 書籍和出版社是有關系的。 書籍和作者是有關系的。 作者和郵政編碼(ZIP)是有關系的。 郵政編碼和城市是有關系的。 城市和州是有關系的。 這一步並不是一成不變的,你可能會發現在規范化的過程中加入外鍵會更容易一些。在把欄位移動到一個新的數據表時,你可能要把這個新數據表的主鍵添加到原來的數據表裡,將其作為外鍵。但是,在你繼續規范化剩餘數據的時候,外鍵常常會發生改變。你會發現在所有這些數據表被全部規范化之後,一次添加所有的外鍵,這樣效率會更高。 操作數據表 現在讓我們一次操作一個數據表,就從Books數據表開始,它在這個時候只有三個欄位。很明顯,Authors、Categories和Publishers數據表的主鍵會被添加到Books里。當你完成的時候,Books數據表就有了七個欄位: Books Title (PK) ISBN (PK) Price FirstNameFK (FK) Authors.FirstName many-to-many LastNameFK (FK) Authors.LastName many-to-many CategoryFK (FK) Categories.Category many-to-many PublisherFK (FK) Publishers.Publisher one-to-many 要記住,Authors數據表裡的主鍵是一個基於姓和名兩個欄位的復合關鍵字。所以你必須要把這個兩個欄位都添加到Books數據表裡。要注意,外鍵欄位名的結尾包含有FK這個後綴。加入這個後綴有助於提高可讀性和自我歸檔。通過名稱這種方式來區別外鍵會使得追蹤它們更簡單。如果主鍵和外鍵的名稱不同,這沒有關系。 這里出現了三種關系:Books和Authors、Books和Categories,以及Books和Publishers。這三種關系中所存在的兩種問題可能沒有那麼明顯: Books和Authors之間的關系:一本書可以有多個作者。 Books和Categories之間的關系:一本書可以被歸入多個類。 這兩者的關系是多對多的關系。先前我告訴過你,數據表不能直接實現這樣的關系,而需要第三個聯系表來實現。(Books和Publishers的關系是一對多的關系,就像現在所說的,這樣是沒有問題的。) 這兩個新發現的多對多關系將需要一個聯系表來包含來自每個數據表的主鍵,並將其作為外鍵。新的聯系表是:BooksAuthorsmmlink TitleFK (FK) Books.Title one-to-many ISBNFK (FK) Books.ISBN one-to-many FirstNameFK (FK) Authors.FirstName one-to-many LastNameFK (FK) Authors.LastName one-to-many BooksCategoriesmmlink TitleFK (FK) Books.Title one-to-many ISBNFK (FK) Books.ISBN one-to-many CategoryFK (FK) Categories.Category one-to-many 沒有必要更改Categories、Authors或者Publishers數據表。但是,你必須把FirstNameFK、LastNameFK和CategoryFK這三個外鍵從Books里移走: Books Title (PK) ISBN (PK) Price PublisherFK (FK) Publishers.Publisher one-to-many 現在,讓我們轉到Authors數據表上來,它現在有兩個欄位。每個作者都和ZIPCodes數據表中的郵政編碼的值相關。但是,每個郵政編碼會和多個作者相關。要實現這種一對多的關系,就要把ZIPCodes數據表中的主鍵添加進Authors數據表作為外鍵: Authors FirstName (PK) LastName (PK) ZIPCodeFK (FK) ZIPCodes.ZIPCode one-to-many 至此,你已經准備好了處理剩下的地址部分了。看到它們被分在不同的數據表裡是很讓人奇怪的,但是這是遵照BCNF正確規范化數據的結果。每個郵政編碼的值只會有一個對應的城市值和州值。每個城市和州的值只會被輸入進其對應的數據表裡一次。ZIPCodes和Cities數據表需要外鍵欄位來實現這些關系: ZIPCodes ZIPCode (PK) CityFK (FK) Cities.City one-to-many Cities City (PK) StateFK (FK) States.State one-to-many States State (PK) 從一個到九個 最後,你有了九個數據表:Books、Authors、Categories、Publishers、ZIPCodes、Cities、States、BooksAuthorsmmlink和BooksCategoriesmmlink。圖A是這個示例數據表的資料庫最終的圖形形式。很難想像一個簡單的數據表會被分成九個數據表。 圖A 最初的一個數據表現在需要九個數據表了 由於這個示例資料庫很簡單,你可能會問這些關系有什麼作用。看起來仍在保存冗餘的數據,只不過形式不同罷了——通過外鍵來實現。這是因為我們的數據表現在只有很少幾個欄位。試想一下有十幾個欄位的數據表,會是什麼樣的一個情形。需要承認的是,你仍然需要把數據表的主鍵作為外鍵保存進關系表裡,但是至多可能最多增加一到兩個欄位。比較一下為這個數據表裡的每一條記錄都添加十幾個條目的情形吧。
㈩ SQL資料庫的表與表之間的關系怎麼連接
表與表之間是通過主外鍵鏈接的
可以通過『資料庫關系圖』進行鏈接
將要連接的表選中,然後用滑鼠拖動
列
例如
定義表Student、Course和SC之間的關系圖。
要求:先要定義好三個表的主鍵SNO、CNO、(SNO,CNO)
(1) 展開資料庫「學生管理」節點,在「資料庫關系圖」上擊右鍵,選擇「新建資料庫關系圖」命令,彈出新建資料庫關系圖向導,選擇要添加到關系圖中的表Student、Course和SC,這三個表將出現在新關系圖窗口中。每個表顯示包含的屬性和定義的主鍵,拖動標題欄可以改變它們在窗口中的位置。
(2) 將Student表的屬性SNO拖動到SC表的SNO上,松開滑鼠彈出「創建關系」窗口,設置後單擊「確定」按鈕。在Student表和SC表之間會自動出現一條連線,說明創建關系成功。同樣的方法可以創建Course表和SC表之間的關系。
(3) 單擊關閉按鈕保存。
(4) 試著修改或刪除Student、Course和SC表中的數據,看看定義關系後有何作用。