123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- IF (OBJECT_ID('FK_posts_users', 'F') IS NOT NULL)
- BEGIN
- ALTER TABLE [posts] DROP CONSTRAINT [FK_posts_users]
- END
- GO
- IF (OBJECT_ID('FK_posts_categories', 'F') IS NOT NULL)
- BEGIN
- ALTER TABLE [posts] DROP CONSTRAINT [FK_posts_categories]
- END
- GO
- IF (OBJECT_ID('FK_post_tags_tags', 'F') IS NOT NULL)
- BEGIN
- ALTER TABLE [post_tags] DROP CONSTRAINT [FK_post_tags_tags]
- END
- GO
- IF (OBJECT_ID('FK_post_tags_posts', 'F') IS NOT NULL)
- BEGIN
- ALTER TABLE [post_tags] DROP CONSTRAINT [FK_post_tags_posts]
- END
- GO
- IF (OBJECT_ID('FK_comments_posts', 'F') IS NOT NULL)
- BEGIN
- ALTER TABLE [comments] DROP CONSTRAINT [FK_comments_posts]
- END
- GO
- IF (OBJECT_ID('products', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [products]
- END
- GO
- IF (OBJECT_ID('events', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [events]
- END
- GO
- IF (OBJECT_ID('countries', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [countries]
- END
- GO
- IF (OBJECT_ID('users', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [users]
- END
- GO
- IF (OBJECT_ID('tags', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [tags]
- END
- GO
- IF (OBJECT_ID('posts', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [posts]
- END
- GO
- IF (OBJECT_ID('post_tags', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [post_tags]
- END
- GO
- IF (OBJECT_ID('comments', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [comments]
- END
- GO
- IF (OBJECT_ID('categories', 'U') IS NOT NULL)
- BEGIN
- DROP TABLE [categories]
- END
- GO
- IF (OBJECT_ID('tag_usage', 'V') IS NOT NULL)
- BEGIN
- DROP VIEW [tag_usage]
- END
- GO
- CREATE TABLE [categories](
- [id] [int] IDENTITY,
- [name] [nvarchar](max) NOT NULL,
- [icon] [varbinary](max) NULL,
- PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [comments](
- [id] [int] IDENTITY,
- [post_id] [int] NOT NULL,
- [message] [nvarchar](max) NOT NULL,
- PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [post_tags](
- [id] [int] IDENTITY,
- [post_id] [int] NOT NULL,
- [tag_id] [int] NOT NULL,
- PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [posts](
- [id] [int] IDENTITY,
- [user_id] [int] NOT NULL,
- [category_id] [int] NOT NULL,
- [content] [nvarchar](max) NOT NULL,
- PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [tags](
- [id] [int] IDENTITY,
- [name] [nvarchar](max) NOT NULL,
- PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [users](
- [id] [int] IDENTITY,
- [username] [nvarchar](max) NOT NULL,
- [password] [nvarchar](max) NOT NULL,
- [location] [geometry] NULL,
- CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [countries](
- [id] [int] IDENTITY,
- [name] [nvarchar](max) NOT NULL,
- [shape] [geometry] NOT NULL,
- CONSTRAINT [PK_countries] PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [events](
- [id] [int] IDENTITY,
- [name] [nvarchar](max) NOT NULL,
- [datetime] [datetime2](3) NOT NULL,
- [visitors] [int] NOT NULL,
- CONSTRAINT [PK_events] PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE VIEW [tag_usage]
- AS
- SELECT top 100 PERCENT name, COUNT(name) AS [count] FROM tags, post_tags WHERE tags.id = post_tags.tag_id GROUP BY name ORDER BY [count] DESC, name
-
- GO
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE TABLE [products](
- [id] [int] IDENTITY,
- [name] [nvarchar](max) NOT NULL,
- [price] [decimal](10,2) NOT NULL,
- CONSTRAINT [PK_products] PRIMARY KEY CLUSTERED
- (
- [id] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
-
- GO
- SET IDENTITY_INSERT [categories] ON
- GO
- INSERT [categories] ([id], [name], [icon]) VALUES (1, N'announcement', NULL)
- GO
- INSERT [categories] ([id], [name], [icon]) VALUES (2, N'article', NULL)
- GO
- SET IDENTITY_INSERT [categories] OFF
- GO
- SET IDENTITY_INSERT [comments] ON
- GO
- INSERT [comments] ([id], [post_id], [message]) VALUES (1, 1, N'great')
- GO
- INSERT [comments] ([id], [post_id], [message]) VALUES (2, 1, N'fantastic')
- GO
- INSERT [comments] ([id], [post_id], [message]) VALUES (3, 2, N'thank you')
- GO
- INSERT [comments] ([id], [post_id], [message]) VALUES (4, 2, N'awesome')
- GO
- SET IDENTITY_INSERT [comments] OFF
- GO
- SET IDENTITY_INSERT [post_tags] ON
- GO
- INSERT [post_tags] ([id], [post_id], [tag_id]) VALUES (1, 1, 1)
- GO
- INSERT [post_tags] ([id], [post_id], [tag_id]) VALUES (2, 1, 2)
- GO
- INSERT [post_tags] ([id], [post_id], [tag_id]) VALUES (3, 2, 1)
- GO
- INSERT [post_tags] ([id], [post_id], [tag_id]) VALUES (4, 2, 2)
- GO
- SET IDENTITY_INSERT [post_tags] OFF
- GO
- SET IDENTITY_INSERT [posts] ON
- GO
- INSERT [posts] ([id], [user_id], [category_id], [content]) VALUES (1, 1, 1, N'blog started')
- GO
- INSERT [posts] ([id], [user_id], [category_id], [content]) VALUES (2, 1, 2, N'It works!')
- GO
- SET IDENTITY_INSERT [posts] OFF
- GO
- SET IDENTITY_INSERT [tags] ON
- GO
- INSERT [tags] ([id], [name]) VALUES (1, N'funny')
- GO
- INSERT [tags] ([id], [name]) VALUES (2, N'important')
- GO
- SET IDENTITY_INSERT [tags] OFF
- GO
- SET IDENTITY_INSERT [users] ON
- GO
- INSERT [users] ([id], [username], [password], [location]) VALUES (1, N'user1', N'pass1', NULL)
- GO
- INSERT [users] ([id], [username], [password], [location]) VALUES (2, N'user2', N'pass2', NULL)
- GO
- SET IDENTITY_INSERT [users] OFF
- GO
- SET IDENTITY_INSERT [countries] ON
- GO
- INSERT [countries] ([id], [name], [shape]) VALUES (1, N'Left', N'POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))')
- GO
- INSERT [countries] ([id], [name], [shape]) VALUES (2, N'Right', N'POLYGON ((70 10, 80 40, 60 40, 50 20, 70 10))')
- GO
- SET IDENTITY_INSERT [countries] OFF
- GO
- SET IDENTITY_INSERT [events] ON
- GO
- INSERT [events] ([id], [name], [datetime], [visitors]) VALUES (1, N'Launch', N'2016-01-01 13:01:01.111', 0)
- GO
- SET IDENTITY_INSERT [events] OFF
- GO
- SET IDENTITY_INSERT [products] ON
- GO
- INSERT [products] ([id], [name], [price]) VALUES (1, N'Calculator', N'23.01')
- GO
- SET IDENTITY_INSERT [products] OFF
- GO
- ALTER TABLE [comments] WITH CHECK ADD CONSTRAINT [FK_comments_posts] FOREIGN KEY([post_id])
- REFERENCES [posts] ([id])
- GO
- ALTER TABLE [comments] CHECK CONSTRAINT [FK_comments_posts]
- GO
- ALTER TABLE [post_tags] WITH CHECK ADD CONSTRAINT [FK_post_tags_posts] FOREIGN KEY([post_id])
- REFERENCES [posts] ([id])
- GO
- ALTER TABLE [post_tags] CHECK CONSTRAINT [FK_post_tags_posts]
- GO
- ALTER TABLE [post_tags] WITH CHECK ADD CONSTRAINT [FK_post_tags_tags] FOREIGN KEY([tag_id])
- REFERENCES [tags] ([id])
- GO
- ALTER TABLE [post_tags] CHECK CONSTRAINT [FK_post_tags_tags]
- GO
- ALTER TABLE [posts] WITH CHECK ADD CONSTRAINT [FK_posts_categories] FOREIGN KEY([category_id])
- REFERENCES [categories] ([id])
- GO
- ALTER TABLE [posts] CHECK CONSTRAINT [FK_posts_categories]
- GO
- ALTER TABLE [posts] WITH CHECK ADD CONSTRAINT [FK_posts_users] FOREIGN KEY([user_id])
- REFERENCES [users] ([id])
- GO
- ALTER TABLE [posts] CHECK CONSTRAINT [FK_posts_users]
- GO
|