2014-02-23 53 views
0

我買了deitel java如何編程書。我正在關注他們的一項練習。 在我的程序中,我連接到一個mysql書籍數據庫。我能夠添加新的作者,編輯作者,新的標題。然而,d)部分讓我感到困惑。我想改變表格並添加一個外鍵?在表中添加一個新的條目鏈接

下面是書中的練習,所以你可以看到部分d)

a) Add a new Author 
b) Edit the existing information for an author 
c) Add a new title for an author (Remember that the book must have entry in the AuthorISBN table.) 
d) Add a new entry in the authorISBN table to link authors with titles. 

這裏是數據庫的屏幕截圖在「蛤蟆」

enter image description here

如果他們平均開放寫一個sql語句,我會添加一個新的AuthorID引用標題?

ALTER TABLE AuthorISBN ADD FOREIGN KEY (AuthorID) REFERENCES title (AuthorID); 

回答

0

你不應該改變表格。我假設他們給了你表格的結構(截圖),你應該在練習的所有部分添加新的條目。在d)他們希望你添加一個條目到AuthorISBN表中,這樣作者標題中的兩個條目在邏輯上是連接的。

AuthorISBN由兩個數據字段組成。 AuthorID和ISBN是外鍵,因此對於表格AuthorISBN中的每個條目,必須在表格作者中具有相同的AuthorID並且具有相同ISBN的條目標題中的相同作者ID。

所以在a)你添加一個作者。 AuthorID自動遞增,因此您必須在插入作者後檢索ID。在c)你添加一本書作者。但是你以後怎麼知道,哪位作者寫了一本特定的書?或者您想要檢索作者的所有書籍的列表。這就是爲什麼你添加d)AuthorisBN的一個條目。

因此,與JDBC你會做這樣的事情:

Statement stmt = connection.createStatement(); 
String sql = "INSERT INTO AuthorISBN VALUES (" + authorID + ", '" + isbn + "')"; 
stmt.executeUpdate(sql); 
相關問題