USE [master] GO /****** Object: Database [ToyWorldDb] Script Date: 07.06.2026 2:11:35 ******/ CREATE DATABASE [ToyWorldDb] CONTAINMENT = NONE ON PRIMARY ( NAME = N'ToyWorldDb', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\ToyWorldDb.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON ( NAME = N'ToyWorldDb_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\ToyWorldDb_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB ) WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF GO ALTER DATABASE [ToyWorldDb] SET COMPATIBILITY_LEVEL = 160 GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [ToyWorldDb].[dbo].[sp_fulltext_database] @action = 'enable' end GO ALTER DATABASE [ToyWorldDb] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [ToyWorldDb] SET ANSI_NULLS OFF GO ALTER DATABASE [ToyWorldDb] SET ANSI_PADDING OFF GO ALTER DATABASE [ToyWorldDb] SET ANSI_WARNINGS OFF GO ALTER DATABASE [ToyWorldDb] SET ARITHABORT OFF GO ALTER DATABASE [ToyWorldDb] SET AUTO_CLOSE OFF GO ALTER DATABASE [ToyWorldDb] SET AUTO_SHRINK OFF GO ALTER DATABASE [ToyWorldDb] SET AUTO_UPDATE_STATISTICS ON GO ALTER DATABASE [ToyWorldDb] SET CURSOR_CLOSE_ON_COMMIT OFF GO ALTER DATABASE [ToyWorldDb] SET CURSOR_DEFAULT GLOBAL GO ALTER DATABASE [ToyWorldDb] SET CONCAT_NULL_YIELDS_NULL OFF GO ALTER DATABASE [ToyWorldDb] SET NUMERIC_ROUNDABORT OFF GO ALTER DATABASE [ToyWorldDb] SET QUOTED_IDENTIFIER OFF GO ALTER DATABASE [ToyWorldDb] SET RECURSIVE_TRIGGERS OFF GO ALTER DATABASE [ToyWorldDb] SET ENABLE_BROKER GO ALTER DATABASE [ToyWorldDb] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO ALTER DATABASE [ToyWorldDb] SET DATE_CORRELATION_OPTIMIZATION OFF GO ALTER DATABASE [ToyWorldDb] SET TRUSTWORTHY OFF GO ALTER DATABASE [ToyWorldDb] SET ALLOW_SNAPSHOT_ISOLATION OFF GO ALTER DATABASE [ToyWorldDb] SET PARAMETERIZATION SIMPLE GO ALTER DATABASE [ToyWorldDb] SET READ_COMMITTED_SNAPSHOT OFF GO ALTER DATABASE [ToyWorldDb] SET HONOR_BROKER_PRIORITY OFF GO ALTER DATABASE [ToyWorldDb] SET RECOVERY FULL GO ALTER DATABASE [ToyWorldDb] SET MULTI_USER GO ALTER DATABASE [ToyWorldDb] SET PAGE_VERIFY CHECKSUM GO ALTER DATABASE [ToyWorldDb] SET DB_CHAINING OFF GO ALTER DATABASE [ToyWorldDb] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) GO ALTER DATABASE [ToyWorldDb] SET TARGET_RECOVERY_TIME = 60 SECONDS GO ALTER DATABASE [ToyWorldDb] SET DELAYED_DURABILITY = DISABLED GO ALTER DATABASE [ToyWorldDb] SET ACCELERATED_DATABASE_RECOVERY = OFF GO EXEC sys.sp_db_vardecimal_storage_format N'ToyWorldDb', N'ON' GO ALTER DATABASE [ToyWorldDb] SET QUERY_STORE = ON GO ALTER DATABASE [ToyWorldDb] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30), DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_STORAGE_SIZE_MB = 1000, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO, MAX_PLANS_PER_QUERY = 200, WAIT_STATS_CAPTURE_MODE = ON) GO USE [ToyWorldDb] GO /****** Object: Table [dbo].[Unit] Script Date: 07.06.2026 2:11:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Unit]( [UnitId] [int] IDENTITY(1,1) NOT NULL, [UnitName] [nvarchar](20) NOT NULL, CONSTRAINT [PK_Unit] PRIMARY KEY CLUSTERED ( [UnitId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Unit] UNIQUE NONCLUSTERED ( [UnitName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Supplier] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Supplier]( [SupplierId] [int] IDENTITY(1,1) NOT NULL, [SupplierName] [nvarchar](100) NOT NULL, CONSTRAINT [PK_Supplier] PRIMARY KEY CLUSTERED ( [SupplierId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Supplier] UNIQUE NONCLUSTERED ( [SupplierName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Manufacturer] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Manufacturer]( [ManufacturerId] [int] IDENTITY(1,1) NOT NULL, [ManufacturerName] [nvarchar](100) NOT NULL, CONSTRAINT [PK_Manufacturer] PRIMARY KEY CLUSTERED ( [ManufacturerId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Manufacturer] UNIQUE NONCLUSTERED ( [ManufacturerName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Category] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Category]( [CategoryId] [int] IDENTITY(1,1) NOT NULL, [CategoryName] [nvarchar](100) NOT NULL, CONSTRAINT [PK_Category] PRIMARY KEY CLUSTERED ( [CategoryId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Category] UNIQUE NONCLUSTERED ( [CategoryName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Product] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Product]( [ProductId] [int] IDENTITY(1,1) NOT NULL, [Article] [nvarchar](10) NOT NULL, [Name] [nvarchar](255) NOT NULL, [UnitId] [int] NOT NULL, [Price] [decimal](10, 2) NOT NULL, [SupplierId] [int] NOT NULL, [ManufacturerId] [int] NOT NULL, [CategoryId] [int] NOT NULL, [Discount] [int] NOT NULL, [Stock] [int] NOT NULL, [Description] [nvarchar](max) NULL, [Photo] [nvarchar](100) NULL, CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED ( [ProductId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Product_Article] UNIQUE NONCLUSTERED ( [Article] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: View [dbo].[vCatalog] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[vCatalog] AS SELECT p.Article, p.Photo AS [Фото], c.CategoryName AS [Категория товара], p.Name AS [Наименование товара], p.Description AS [Описание товара], m.ManufacturerName AS [Производитель], s.SupplierName AS [Поставщик], p.Price AS [Цена], u.UnitName AS [Единица измерения], p.Stock AS [Кол-во на складе], p.Discount AS [Действующая скидка] FROM dbo.Product p JOIN dbo.Category c ON p.CategoryId=c.CategoryId JOIN dbo.Manufacturer m ON p.ManufacturerId=m.ManufacturerId JOIN dbo.Supplier s ON p.SupplierId=s.SupplierId JOIN dbo.Unit u ON p.UnitId=u.UnitId; GO /****** Object: Table [dbo].[OrderStatus] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[OrderStatus]( [StatusId] [int] IDENTITY(1,1) NOT NULL, [StatusName] [nvarchar](50) NOT NULL, CONSTRAINT [PK_OrderStatus] PRIMARY KEY CLUSTERED ( [StatusId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_OrderStatus] UNIQUE NONCLUSTERED ( [StatusName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[PickupPoint] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[PickupPoint]( [PickupPointId] [int] NOT NULL, [PostalCode] [nvarchar](10) NOT NULL, [City] [nvarchar](80) NOT NULL, [Street] [nvarchar](120) NOT NULL, [House] [nvarchar](20) NOT NULL, CONSTRAINT [PK_PickupPoint] PRIMARY KEY CLUSTERED ( [PickupPointId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Order] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Order]( [OrderId] [int] NOT NULL, [OrderDate] [date] NULL, [DeliveryDate] [date] NULL, [PickupPointId] [int] NOT NULL, [ClientUserId] [int] NULL, [ReceiveCode] [int] NULL, [StatusId] [int] NOT NULL, CONSTRAINT [PK_Order] PRIMARY KEY CLUSTERED ( [OrderId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[OrderItem] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[OrderItem]( [OrderItemId] [int] IDENTITY(1,1) NOT NULL, [OrderId] [int] NOT NULL, [Article] [nvarchar](10) NOT NULL, [Quantity] [int] NOT NULL, CONSTRAINT [PK_OrderItem] PRIMARY KEY CLUSTERED ( [OrderItemId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Item] UNIQUE NONCLUSTERED ( [OrderId] ASC, [Article] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: View [dbo].[vOrders] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[vOrders] AS SELECT o.OrderId, STRING_AGG(oi.Article + N' x' + CAST(oi.Quantity AS nvarchar(10)), N', ') AS [Артикул заказа], st.StatusName AS [Статус заказа], (pp.PostalCode + ', г. ' + pp.City + ', ул. ' + pp.Street + ', д. ' + pp.House) AS [Адрес пункта выдачи], o.OrderDate AS [Дата заказа], o.DeliveryDate AS [Дата доставки] FROM dbo.[Order] o JOIN dbo.OrderStatus st ON o.StatusId=st.StatusId JOIN dbo.PickupPoint pp ON o.PickupPointId=pp.PickupPointId LEFT JOIN dbo.OrderItem oi ON oi.OrderId=o.OrderId GROUP BY o.OrderId, st.StatusName, pp.PostalCode, pp.City, pp.Street, pp.House, o.OrderDate, o.DeliveryDate; GO /****** Object: Table [dbo].[Role] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Role]( [RoleId] [int] IDENTITY(1,1) NOT NULL, [RoleName] [nvarchar](50) NOT NULL, CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED ( [RoleId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_Role] UNIQUE NONCLUSTERED ( [RoleName] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[User] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[User]( [UserId] [int] IDENTITY(1,1) NOT NULL, [RoleId] [int] NOT NULL, [FullName] [nvarchar](150) NOT NULL, [Login] [nvarchar](100) NOT NULL, [Password] [nvarchar](100) NOT NULL, CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED ( [UserId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY], CONSTRAINT [UQ_User_Login] UNIQUE NONCLUSTERED ( [Login] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: View [dbo].[vw_UsersLogin] Script Date: 07.06.2026 2:11:36 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[vw_UsersLogin] AS SELECT u.UserId, u.FullName AS [ФИО], u.Login AS [Логин], u.Password AS [Пароль], r.RoleName AS [Роль] FROM dbo.[User] u JOIN dbo.Role r ON u.RoleId=r.RoleId; GO ALTER TABLE [dbo].[Order] WITH CHECK ADD CONSTRAINT [FK_Order_Pickup] FOREIGN KEY([PickupPointId]) REFERENCES [dbo].[PickupPoint] ([PickupPointId]) GO ALTER TABLE [dbo].[Order] CHECK CONSTRAINT [FK_Order_Pickup] GO ALTER TABLE [dbo].[Order] WITH CHECK ADD CONSTRAINT [FK_Order_Status] FOREIGN KEY([StatusId]) REFERENCES [dbo].[OrderStatus] ([StatusId]) GO ALTER TABLE [dbo].[Order] CHECK CONSTRAINT [FK_Order_Status] GO ALTER TABLE [dbo].[Order] WITH CHECK ADD CONSTRAINT [FK_Order_User] FOREIGN KEY([ClientUserId]) REFERENCES [dbo].[User] ([UserId]) GO ALTER TABLE [dbo].[Order] CHECK CONSTRAINT [FK_Order_User] GO ALTER TABLE [dbo].[OrderItem] WITH CHECK ADD CONSTRAINT [FK_Item_Order] FOREIGN KEY([OrderId]) REFERENCES [dbo].[Order] ([OrderId]) ON DELETE CASCADE GO ALTER TABLE [dbo].[OrderItem] CHECK CONSTRAINT [FK_Item_Order] GO ALTER TABLE [dbo].[OrderItem] WITH CHECK ADD CONSTRAINT [FK_Item_Product] FOREIGN KEY([Article]) REFERENCES [dbo].[Product] ([Article]) GO ALTER TABLE [dbo].[OrderItem] CHECK CONSTRAINT [FK_Item_Product] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [FK_Product_Category] FOREIGN KEY([CategoryId]) REFERENCES [dbo].[Category] ([CategoryId]) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [FK_Product_Category] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [FK_Product_Manufacturer] FOREIGN KEY([ManufacturerId]) REFERENCES [dbo].[Manufacturer] ([ManufacturerId]) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [FK_Product_Manufacturer] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [FK_Product_Supplier] FOREIGN KEY([SupplierId]) REFERENCES [dbo].[Supplier] ([SupplierId]) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [FK_Product_Supplier] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [FK_Product_Unit] FOREIGN KEY([UnitId]) REFERENCES [dbo].[Unit] ([UnitId]) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [FK_Product_Unit] GO ALTER TABLE [dbo].[User] WITH CHECK ADD CONSTRAINT [FK_User_Role] FOREIGN KEY([RoleId]) REFERENCES [dbo].[Role] ([RoleId]) GO ALTER TABLE [dbo].[User] CHECK CONSTRAINT [FK_User_Role] GO ALTER TABLE [dbo].[OrderItem] WITH CHECK ADD CONSTRAINT [CK_Qty] CHECK (([Quantity]>(0))) GO ALTER TABLE [dbo].[OrderItem] CHECK CONSTRAINT [CK_Qty] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [CK_Disc] CHECK (([Discount]>=(0) AND [Discount]<=(100))) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [CK_Disc] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [CK_Price] CHECK (([Price]>=(0))) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [CK_Price] GO ALTER TABLE [dbo].[Product] WITH CHECK ADD CONSTRAINT [CK_Stock] CHECK (([Stock]>=(0))) GO ALTER TABLE [dbo].[Product] CHECK CONSTRAINT [CK_Stock] GO USE [master] GO ALTER DATABASE [ToyWorldDb] SET READ_WRITE GO