2012-09-17 70 views
1

我剛開始使用SQL Server數據庫的.NET項目。我被給了一個腳本,用所有表格,SP等設置數據庫,但沒有數據。播種DB的策略

我最初的衝動是進入數據庫並手動輸入一些虛擬數據來設置幾個用戶等,以便我可以開始使用該應用程序。但是,每次我嘗試添加記錄時,外鍵約束都會阻礙。不幸的是,我無法向您展示架構,但是在這種情況下我可以遵循一般策略嗎?

回答

1

如果您有FK的阻礙,您需要開始在所有'主'表中輸入數據。然後你可以輸入數據到你的孩子或細節表中。

例如,假設您有Orders表和Customers表以及訂單和客戶之間的FK, '主表'將是客戶,在這個例子中,詳細表就是您的訂單表。您可能首先需要輸入一些客戶,以便在您輸入訂單時,可以爲其分配客戶,而不會因爲沒有客戶而導致FK錯誤。

我懷疑這個例子非常接近你遇到的問題類型。

+0

是。但我遇到了似乎是循環依賴的問題。例如,要添加一個用戶,我必須指定一個部門ID,但要添加一個部門,我必須指定部門主管的用戶ID。 – Legion

+0

不幸的是,數據庫的設計不是由我自己決定的,我只需要處理給出的內容。 – Legion

+0

因此,每個用戶都被分配了一個部門,每個部門都有一個部門負責人,這是一個用戶。我假設一個用戶不能在多個部門中,否則這是行不通的。我認爲你在這裏有一個設計問題。但是,這將是一個單獨的討論。爲了解決這個問題,我會使用戶表中的DepartmentID列爲空,直到您輸入所有用戶,然後將其還原爲不可空。 –