You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
307 lines
9.8 KiB
307 lines
9.8 KiB
13 years ago
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[categories]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[categories](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[name] [varchar](128) NOT NULL,
|
||
|
[parent_id] [int] NULL,
|
||
|
CONSTRAINT [PK_categories] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[orders]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[orders](
|
||
|
[key1] [int] NOT NULL,
|
||
|
[key2] [int] NOT NULL,
|
||
|
[name] [varchar](128) NOT NULL,
|
||
|
CONSTRAINT [PK_orders] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[key1] ASC,
|
||
|
[key2] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[types]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[types](
|
||
|
[int_col] [int] NOT NULL,
|
||
|
[int_col2] [int] NULL CONSTRAINT [DF_types_int_col2] DEFAULT (1),
|
||
|
[char_col] [char](100) NOT NULL,
|
||
|
[char_col2] [varchar](100) NULL CONSTRAINT [DF_types_char_col2] DEFAULT ('something'),
|
||
|
[char_col3] [text] NULL,
|
||
|
[float_col] [real] NOT NULL,
|
||
|
[float_col2] [float] NULL CONSTRAINT [DF_types_float_col2] DEFAULT (1.23),
|
||
|
[blob_col] [image] NULL,
|
||
|
[numeric_col] [numeric](5, 2) NULL CONSTRAINT [DF_types_numeric_col] DEFAULT (33.22),
|
||
|
[time] [datetime] NULL CONSTRAINT [DF_types_time] DEFAULT ('2002-01-01 00:00:00'),
|
||
|
[bool_col] [bit] NOT NULL,
|
||
|
[bool_col2] [bit] NOT NULL CONSTRAINT [DF_types_bool_col2] DEFAULT (1)
|
||
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[users]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[users](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[username] [varchar](128) NOT NULL,
|
||
|
[password] [varchar](128) NOT NULL,
|
||
|
[email] [varchar](128) NOT NULL,
|
||
|
CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[post_category]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[post_category](
|
||
|
[category_id] [int] NOT NULL,
|
||
|
[post_id] [int] NOT NULL,
|
||
|
CONSTRAINT [PK_post_category] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[category_id] ASC,
|
||
|
[post_id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[items]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[items](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[name] [varchar](128) NULL,
|
||
|
[col1] [int] NOT NULL,
|
||
|
[col2] [int] NOT NULL,
|
||
|
CONSTRAINT [PK_items] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[comments]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[comments](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[content] [text] NOT NULL,
|
||
|
[post_id] [int] NOT NULL,
|
||
|
[author_id] [int] NOT NULL,
|
||
|
CONSTRAINT [PK_comments] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[posts]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[posts](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[title] [varchar](128) NOT NULL,
|
||
|
[create_time] [datetime] NOT NULL,
|
||
|
[author_id] [int] NOT NULL,
|
||
|
[content] [text] NULL,
|
||
|
CONSTRAINT [PK_posts] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
SET ANSI_NULLS ON
|
||
|
GO
|
||
|
SET QUOTED_IDENTIFIER ON
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[profiles]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
|
||
|
BEGIN
|
||
|
CREATE TABLE [dbo].[profiles](
|
||
|
[id] [int] IDENTITY(1,1) NOT NULL,
|
||
|
[first_name] [varchar](128) NOT NULL,
|
||
|
[last_name] [varchar](128) NOT NULL,
|
||
|
[user_id] [int] NOT NULL,
|
||
|
CONSTRAINT [PK_profiles] PRIMARY KEY CLUSTERED
|
||
|
(
|
||
|
[id] ASC
|
||
|
) ON [PRIMARY]
|
||
|
) ON [PRIMARY]
|
||
|
END
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_categories_categories]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[categories] WITH CHECK ADD CONSTRAINT [FK_categories_categories] FOREIGN KEY([parent_id])
|
||
|
REFERENCES [dbo].[categories] ([id])
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_post_category_categories]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[post_category] WITH CHECK ADD CONSTRAINT [FK_post_category_categories] FOREIGN KEY([category_id])
|
||
|
REFERENCES [dbo].[categories] ([id])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_post_category_posts]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[post_category] WITH NOCHECK ADD CONSTRAINT [FK_post_category_posts] FOREIGN KEY([post_id])
|
||
|
REFERENCES [dbo].[posts] ([id])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
ALTER TABLE [dbo].[post_category] CHECK CONSTRAINT [FK_post_category_posts]
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_items_orders]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[items] WITH CHECK ADD CONSTRAINT [FK_items_orders] FOREIGN KEY([col1], [col2])
|
||
|
REFERENCES [dbo].[orders] ([key1], [key2])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_comments_users]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[comments] WITH NOCHECK ADD CONSTRAINT [FK_comments_users] FOREIGN KEY([author_id])
|
||
|
REFERENCES [dbo].[users] ([id])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
ALTER TABLE [dbo].[comments] CHECK CONSTRAINT [FK_comments_users]
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_post_comment]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[comments] WITH NOCHECK ADD CONSTRAINT [FK_post_comment] FOREIGN KEY([post_id])
|
||
|
REFERENCES [dbo].[posts] ([id])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
ALTER TABLE [dbo].[comments] CHECK CONSTRAINT [FK_post_comment]
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_posts_users]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[posts] WITH NOCHECK ADD CONSTRAINT [FK_posts_users] FOREIGN KEY([author_id])
|
||
|
REFERENCES [dbo].[users] ([id])
|
||
|
GO
|
||
|
ALTER TABLE [dbo].[posts] CHECK CONSTRAINT [FK_posts_users]
|
||
|
GO
|
||
|
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_profile_user]') AND type = 'F')
|
||
|
ALTER TABLE [dbo].[profiles] WITH NOCHECK ADD CONSTRAINT [FK_profile_user] FOREIGN KEY([user_id])
|
||
|
REFERENCES [dbo].[users] ([id])
|
||
|
ON DELETE CASCADE
|
||
|
GO
|
||
|
ALTER TABLE [dbo].[profiles] CHECK CONSTRAINT [FK_profile_user]
|
||
|
|
||
|
INSERT INTO users (username, password, email) VALUES ('user1','pass1','email1')
|
||
|
GO
|
||
|
INSERT INTO users (username, password, email) VALUES ('user2','pass2','email2')
|
||
|
GO
|
||
|
INSERT INTO users (username, password, email) VALUES ('user3','pass3','email3')
|
||
|
GO
|
||
|
|
||
|
INSERT INTO profiles (first_name, last_name, user_id) VALUES ('first 1','last 1',1)
|
||
|
GO
|
||
|
INSERT INTO profiles (first_name, last_name, user_id) VALUES ('first 2','last 2',2)
|
||
|
GO
|
||
|
|
||
|
INSERT INTO posts (title, create_time, author_id, content) VALUES ('post 1','2000-01-01',1,'content 1')
|
||
|
GO
|
||
|
INSERT INTO posts (title, create_time, author_id, content) VALUES ('post 2','2000-01-02',2,'content 2')
|
||
|
GO
|
||
|
INSERT INTO posts (title, create_time, author_id, content) VALUES ('post 3','2000-01-03',2,'content 3')
|
||
|
GO
|
||
|
INSERT INTO posts (title, create_time, author_id, content) VALUES ('post 4','2000-01-04',2,'content 4')
|
||
|
GO
|
||
|
INSERT INTO posts (title, create_time, author_id, content) VALUES ('post 5','2000-01-05',3,'content 5')
|
||
|
GO
|
||
|
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 1',1, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 2',1, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 3',1, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 4',2, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 5',2, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 6',3, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 7',3, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 8',3, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 9',3, 2)
|
||
|
GO
|
||
|
INSERT INTO comments (content, post_id, author_id) VALUES ('comment 10',5, 3)
|
||
|
GO
|
||
|
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 1',NULL)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 2',NULL)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 3',NULL)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 4',1)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 5',1)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 6',5)
|
||
|
GO
|
||
|
INSERT INTO categories (name, parent_id) VALUES ('cat 7',5)
|
||
|
GO
|
||
|
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (1,1)
|
||
|
GO
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (2,1)
|
||
|
GO
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (3,1)
|
||
|
GO
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (4,2)
|
||
|
GO
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (1,2)
|
||
|
GO
|
||
|
INSERT INTO post_category (category_id, post_id) VALUES (1,3)
|
||
|
GO
|
||
|
|
||
|
|
||
|
INSERT INTO orders (key1,key2,name) VALUES (1,2,'order 12')
|
||
|
GO
|
||
|
INSERT INTO orders (key1,key2,name) VALUES (1,3,'order 13')
|
||
|
GO
|
||
|
INSERT INTO orders (key1,key2,name) VALUES (2,1,'order 21')
|
||
|
GO
|
||
|
INSERT INTO orders (key1,key2,name) VALUES (2,2,'order 22')
|
||
|
GO
|
||
|
|
||
|
|
||
|
INSERT INTO items (name,col1,col2) VALUES ('item 1',1,2)
|
||
|
GO
|
||
|
INSERT INTO items (name,col1,col2) VALUES ('item 2',1,2)
|
||
|
GO
|
||
|
INSERT INTO items (name,col1,col2) VALUES ('item 3',1,3)
|
||
|
GO
|
||
|
INSERT INTO items (name,col1,col2) VALUES ('item 4',2,2)
|
||
|
GO
|
||
|
INSERT INTO items (name,col1,col2) VALUES ('item 5',2,2)
|
||
|
GO
|