なぜ私のテーブルの関係が逆転しているのですか?外部キーを自動インクリメントに設定するにはどうすればよいですか?そのため、親テーブルにデータを挿入すると、子テーブルの主キーも増加します。私はそれを行うだろうかSQL Server Managementスタジオの1対多の関係です
そして、それは私の図に関係が反転しているのはなぜ、ここでは他の方法で回避することになっている
顔をしていますか、?
なぜ私のテーブルの関係が逆転しているのですか?外部キーを自動インクリメントに設定するにはどうすればよいですか?そのため、親テーブルにデータを挿入すると、子テーブルの主キーも増加します。私はそれを行うだろうかSQL Server Managementスタジオの1対多の関係です
そして、それは私の図に関係が反転しているのはなぜ、ここでは他の方法で回避することになっている
顔をしていますか、?
私は正直言って、あなたの要件にUIを曲げようとするのは大変です。代わりに、いくつかのDDLを学びましょう!
CREATE TABLE dbo.People
(
PeopleID INT IDENTITY(1,1) PRIMARY KEY,
FirstName NVARCHAR(32)
--, LastName, etc.
);
CREATE TABLE dbo.Address
(
AddressID INT IDENTITY(1,1) PRIMARY KEY,
PeopleID INT NOT NULL FOREIGN KEY
REFERENCES dbo.People(PeopleID),
Address VARCHAR(255)
--, other columns
);
データ集団の例。 2つのアドレスを持つBobという名前の新しい人物を追加したいとします。
DECLARE @PeopleID INT;
INSERT dbo.People(FirstName) SELECT N'Bob';
SELECT @PeopleID = SCOPE_IDENTITY();
INSERT dbo.Address(PeopleID, Address) SELECT @PeopleID, '255 Hemlock Lane';
INSERT dbo.Address(PeopleID, Address) SELECT @PeopleID, '345 Hutcheson Ave';
。私は親テーブルのプライマリにデータを追加した場合、他のテーブルの外部キーは更新されますか? – KyelJmD
いいえ、自分で行う必要があります。外部キーテーブルには自動入力されません。 'INSERT dbo.People'を実行して新しい人物を追加した場合、SQL Serverはアドレステーブルに入れなければならない他のデータを推測する必要がありますか? –
どうすればいいでしょうか?私が親テーブルに新しいデータを追加した場合、それに関連する他のテーブルの外部キーは、参照されているキーと同じ値になります。またはリンクされています。私は自分自身を明確にしていますか? – KyelJmD
私に邪魔されていません。 People
には、Address
の主キーを参照する外部キーがあるようです。この場合、それはそうではないと思われます。これは、データベースダイアグラムツールが外部キーの関係をどのように表現するかです。
外部キーを自動インクリメントに設定しません。外部キーは、別のテーブルの主キーへの参照です。つまり、親テーブルのプライマリキー値と一致します。
この質問に関連していますか? http://stackoverflow.com/q/9260543/27535 – gbn