Последний комментарий:
(31 января 2026 7:50)
CREATE DATABASE CarOrders;
GO
USE CarOrders;
GO
IF OBJECT_ID('dbo.Orders',...
читать...написать комментарий...
IF OBJECT_ID('dbo.Orders', 'U') IS NOT NULL DROP TABLE dbo.Orders;
IF OBJECT_ID('dbo.Cars', 'U') IS NOT NULL DROP TABLE dbo.Cars;
IF OBJECT_ID('dbo.Clients','U') IS NOT NULL DROP TABLE dbo.Clients;
GO
CREATE TABLE dbo.Clients
(
ClientID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, -- Код клиента (ключ)
LastName NVARCHAR(50) NOT NULL, -- Фамилия
FirstName NVARCHAR(50) NOT NULL, -- Имя
MiddleName NVARCHAR(50) NULL, -- Отчество
Address NVARCHAR(255) NULL, -- Адрес
Phone NVARCHAR(20) NULL -- Телефон
);
GO
CREATE TABLE dbo.Cars
(
ModelID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, -- Код (ключ)
ModelName NVARCHAR(100) NOT NULL, -- Модель
EnginePowerHP SMALLINT NOT NULL, -- Мощность двигателя
Color NVARCHAR(30) NOT NULL, -- Цвет
DoorCount TINYINT NOT NULL, -- Количество дверей
FactoryPrice DECIMAL(18,2) NOT NULL, -- Заводская цена
ExtraCosts DECIMAL(18,2) NOT NULL, -- Издержки
IsSpecialModel BIT NOT NULL, -- Специальная модель (0/1)
ExtraEquipment NVARCHAR(MAX) NULL, -- Доп. оснащение
-- проверки (чтобы не вводили мусор)
CONSTRAINT CK_Cars_EnginePower CHECK (EnginePowerHP > 0),
CONSTRAINT CK_Cars_DoorCount CHECK (DoorCount BETWEEN 2 AND 6),
CONSTRAINT CK_Cars_Prices CHECK (FactoryPrice >= 0 AND ExtraCosts >= 0)
);
GO
CREATE TABLE dbo.Orders
(
OrderID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, -- Код заказа (ключ)
ClientID INT NOT NULL, -- Код клиента
ModelID INT NOT NULL, -- Код модели
OrderDate DATE NOT NULL, -- Дата заказа
DiscountPC DECIMAL(5,2) NOT NULL, -- Скидка, %
IsPaid BIT NOT NULL, -- Оплачено (0/1)
CONSTRAINT CK_Orders_Discount CHECK (DiscountPC BETWEEN 0 AND 100),