I’m reading a book on EF4 and I came across this problem situation:
So I was wondering how to create this database so I can follow along with the example in the book.
How would I create these tables, using simple TSQL commands? Forget about creating the database, imagine it already exists.
Advertisement
Answer
When it says the tables share the same primary key, it just means that there is a field with the same name in each table, both set as Primary Keys.
Create Tables
CREATE TABLE [Product (Chapter 2)]( SKU varchar(50) NOT NULL, Description varchar(50) NULL, Price numeric(18, 2) NULL, CONSTRAINT [PK_Product (Chapter 2)] PRIMARY KEY CLUSTERED ( SKU ASC ) ) CREATE TABLE [ProductWebInfo (Chapter 2)]( SKU varchar(50) NOT NULL, ImageURL varchar(50) NULL, CONSTRAINT [PK_ProductWebInfo (Chapter 2)] PRIMARY KEY CLUSTERED ( SKU ASC ) )
Create Relationships
ALTER TABLE [ProductWebInfo (Chapter 2)] ADD CONSTRAINT fk_SKU FOREIGN KEY(SKU) REFERENCES [Product (Chapter 2)] (SKU)
It may look a bit simpler if the table names are just single words (and not key words, either), for example, if the table names were just Product
and ProductWebInfo
, without the (Chapter 2)
appended:
ALTER TABLE ProductWebInfo ADD CONSTRAINT fk_SKU FOREIGN KEY(SKU) REFERENCES Product(SKU)