聽起來好像你的數據模型沒有被標準化。我想你應該在查找表中列出學校名單。學校與學生之間應該有一對多的關係。在用戶界面上,學校應該是一個下拉框而不是文本框。
這裏有一個建議表結構:
CREATE TABLE School (ID int identity, Name varchar(30), primary key (ID))
CREATE TABLE Student (ID int, SchoolID INT, primary key (ID),
FOREIGN KEY (SchoolID) REFERENCES School(Id))
INSERT INTO School (Name) VALUES ('School1')
INSERT INTO School (Name) VALUES ('School2')
INSERT INTO School (Name) VALUES ('School3')
INSERT INTO Student (id,SchoolID) VALUES (1,1)
INSERT INTO Student (id,SchoolID) VALUES (2,1)
INSERT INTO Student (id,SchoolID) VALUES (3,2)
INSERT INTO Student (id,SchoolID) VALUES (4,3)
INSERT INTO Student (id,SchoolID) VALUES (5,3)
INSERT INTO Student (id,SchoolID) VALUES (6,3)
公告有兩所學校和六名學生。其中兩名學生上學1,一名學生上學2,三名學生上學3。
用戶界面應該包含一個下拉框供用戶選擇一個學校,例如SELECT ID,名字從學校。姓名應顯示在每個學校的下拉框中,用於選擇學校/學校插入數據庫的ID。
學校只包含一個信息(一列),這就是爲什麼我把它作爲學生表中的一列的名稱,是否有任何規則來規範化數據庫模型,說它是錯誤的將學校名稱放入學生表 – user2080105 2013-03-02 10:00:29
@ user2080105,我用建議的表格結構編輯了我的答案。請注意,您必須將兩個表的自動識別設置爲打開。如果你不知道怎麼做,那就讓我知道。 – w0051977 2013-03-02 10:19:18
謝謝你,但還有一個更重要的問題,爲什麼我可以使用學校桌上的ID,如果我確定這個名字是獨一無二的(沒有同名的學校),所以學校名稱可以作爲主鍵無需添加額外的屬性(ID)! – user2080105 2013-03-02 11:44:46