CREATE TABLE [dbo].[Categories]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [Description] [nvarchar](255) NULL, [Picture] [image] NULL, CONSTRAINT [PK_Category] 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
CREATE TABLE [dbo].[DataStoreState]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [Active] [bit] NOT NULL, CONSTRAINT [PK_dbo.DataStoreState] 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
CREATE TABLE [dbo].[Products]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [UnitPrice] [money] NOT NULL, [UnitsInStock] [int] NOT NULL, [Discontinued] [bit] NOT NULL, [CategoryId] [int] NOT NULL, CONSTRAINT [PK_Product] 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 ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [FK_Product_Category] FOREIGN KEY([CategoryId]) REFERENCES [dbo].[Categories] ([Id]) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [FK_Product_Category] GO
CREATE TABLE [dbo].[StoreProduct]( [Id] [int] IDENTITY(1,1) NOT NULL, [StoreId] [int] NOT NULL, [ProductId] [int] NOT NULL, CONSTRAINT [PK_StoreProduct] 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 ALTER TABLE [dbo].[StoreProduct] WITH CHECK ADD CONSTRAINT [FK_StoreProduct_Product] FOREIGN KEY([ProductId]) REFERENCES [dbo].[Product] ([Id]) GO ALTER TABLE [dbo].[StoreProduct] CHECK CONSTRAINT [FK_StoreProduct_Product] GO ALTER TABLE [dbo].[StoreProduct] WITH CHECK ADD CONSTRAINT [FK_StoreProduct_Store] FOREIGN KEY([StoreId]) REFERENCES [dbo].[Store] ([Id]) GO ALTER TABLE [dbo].[StoreProduct] CHECK CONSTRAINT [FK_StoreProduct_Store] GO
CREATE TABLE [dbo].[DataUserRole]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [Active] [bit] NOT NULL, CONSTRAINT [PK_DataUserRole] 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
CREATE TABLE [dbo].[User]( [Id] [int] IDENTITY(1,1) NOT NULL, [UserName] [nvarchar](50) NOT NULL, [PasswordHash] [nvarchar](max) NOT NULL, [Email] [nvarchar](50) NOT NULL, [RoleId] [int] NOT NULL, CONSTRAINT [PK_User] 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 ALTER TABLE [dbo].[User] WITH CHECK ADD CONSTRAINT [FK_User_DataUserRole] FOREIGN KEY([RoleId]) REFERENCES [dbo].[DataUserRole] ([Id]) GO ALTER TABLE [dbo].[User] CHECK CONSTRAINT [FK_User_DataUserRole] GO
CREATE TABLE [dbo].[Store]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [MaxProducts] [int] NOT NULL, [StateId] [int] NOT NULL, CONSTRAINT [PK_Store] 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 ALTER TABLE [dbo].[Store] WITH CHECK ADD CONSTRAINT [FK_Store_DataStoreState] FOREIGN KEY([StateId]) REFERENCES [dbo].[DataStoreState] ([Id]) GO ALTER TABLE [dbo].[Store] CHECK CONSTRAINT [FK_Store_DataStoreState] GO
CREATE TABLE [dbo].[StoreProduct]( [Id] [int] IDENTITY(1,1) NOT NULL, [StoreId] [int] NOT NULL, [ProductId] [int] NOT NULL, CONSTRAINT [PK_StoreProduct] 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 ALTER TABLE [dbo].[StoreProduct] WITH CHECK ADD CONSTRAINT [FK_StoreProduct_Product] FOREIGN KEY([ProductId]) REFERENCES [dbo].[Product] ([Id]) GO ALTER TABLE [dbo].[StoreProduct] CHECK CONSTRAINT [FK_StoreProduct_Product] GO ALTER TABLE [dbo].[StoreProduct] WITH CHECK ADD CONSTRAINT [FK_StoreProduct_Store] FOREIGN KEY([StoreId]) REFERENCES [dbo].[Store] ([Id]) GO ALTER TABLE [dbo].[StoreProduct] CHECK CONSTRAINT [FK_StoreProduct_Store] GO