Загрузка данных


-- Создайте таблицу Clients:
CREATE TABLE Clients(
    ClientID int PRIMARY KEY IDENTITY(1,1) NOT NULL,
    ClientName varchar (40) NOT NULL,
    HeadFullName varchar (60) NULL,
    Location int NULL,
    -- создание ограничения по внешнему ключу
    CONSTRAINT FK_Clients_Locations FOREIGN KEY (Location)
    REFERENCES Locations(LocationID)
    ON UPDATE CASCADE
)
GO

-- Создайте таблицу Currency:
CREATE TABLE Currency(
    CurrencyID char(3) PRIMARY KEY NOT NULL,
    CurrencyName varchar(30) NOT NULL,
    Rate smallmoney NOT NULL CHECK (Rate>0)
)

-- Создайте таблицу Products:
CREATE TABLE Products(
    ProductID int PRIMARY KEY NOT NULL,
    ProductName varchar(50) NOT NULL,
    Measure char(10) NULL,
    Price money NULL CHECK (Price>=0),
    Currency char(3) NULL,
    CONSTRAINT FK_Products_Currency FOREIGN KEY(Currency)
    REFERENCES dbo.Currency (CurrencyID)
)
GO

-- Создайте таблицу Orders:
CREATE TABLE Orders(
    OrderID int IDENTITY(1,1) NOT NULL,
    Client int NOT NULL,
    Product int NOT NULL,
    Quantity numeric(12,3) NULL,
    OrderDate date NULL DEFAULT getdate(),
    DeliveryDate date NULL DEFAULT getdate()+14,
    PRIMARY KEY ( -- составной первичный ключ
        OrderID ASC,
        Client ASC,
        Product ASC
    ),
    CONSTRAINT FK_Orders_Clients FOREIGN KEY(Client)
    REFERENCES dbo.Clients (ClientID)
    ON UPDATE CASCADE,
    CONSTRAINT FK_Orders_Products FOREIGN KEY(Product)
    REFERENCES dbo.Products (ProductID)
    ON UPDATE CASCADE
)
GO