one question.tks.
I'm creating a couple of tables
which will hold a heirarchical navigational
menu hoping it will be scalable for recursive use, and am curious whether
the constraints I've got going here are ok, particularly on the second
table.
Thanks,
yangvxin.
CREATE TABLE [dbo].[FredMenuMaster] (
[FredMenuID] [nvarchar] (100) NOT NULL ,
[CreatedByUser] [nvarchar] (100) NOT NULL ,
[CreatedDate] [datetime] NOT NULL,
CONSTRAINT PK_FredMenuID PRIMARY KEY (FredMenuID)
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[FredMenuContent] (
[ItemNavID] [int] IDENTITY (1, 1) NOT NULL ,
[FredMenuID] [nvarchar] (100) NOT NULL
FOREIGN KEY REFERENCES FredMenuMaster(FredMenuID)
ON DELETE CASCADE ,
[ParentNavID] [int] NOT NULL ,
[ViewOrder] [int] NOT NULL ,
[MenuItemURL] [varchar] (500) NOT NULL ,
[MenuItemText] [varchar] (500) NOT NULL ,
[CreatedByUser] [nvarchar] (100) NOT NULL ,
[CreatedDate] [datetime] NOT NULL ,
CONSTRAINT chk_ParentNavID CHECK (ParentNavID IN (SELECT t.ItemNavID
FROM FredMenuContent
t
WHERE t.FredMenuID =
FredMenuID) ,
CONSTRAINT uniq_ViewOrder UNIQUE (FredMenuID, ParentNavID, ViewOrder)
) ON [PRIMARY]
GO