CREATE TABLE Users
(
UserId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
FullName NVARCHAR(200) NOT NULL,
Login NVARCHAR(100) NOT NULL,
PasswordHash NVARCHAR(200) NOT NULL
);
CREATE TABLE Suppliers
(
SupplierId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
Name NVARCHAR(200) NOT NULL,
Phone NVARCHAR(50)
);
CREATE TABLE Animals
(
AnimalId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
AnimalNumber NVARCHAR(50) NOT NULL,
AnimalType NVARCHAR(100) NOT NULL,
Breed NVARCHAR(100),
BirthDate DATE,
Weight DECIMAL(18,2)
);
CREATE TABLE Feeds
(
FeedId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
SupplierId UNIQUEIDENTIFIER NOT NULL,
Name NVARCHAR(200) NOT NULL,
Quantity DECIMAL(18,2) NOT NULL,
Price DECIMAL(18,2) NOT NULL,
FOREIGN KEY (SupplierId) REFERENCES Suppliers(SupplierId)
);
CREATE TABLE Feedings
(
FeedingId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
AnimalId UNIQUEIDENTIFIER NOT NULL,
FeedId UNIQUEIDENTIFIER NOT NULL,
UserId UNIQUEIDENTIFIER NOT NULL,
FeedingDate DATE NOT NULL,
Quantity DECIMAL(18,2) NOT NULL,
FOREIGN KEY (AnimalId) REFERENCES Animals(AnimalId),
FOREIGN KEY (FeedId) REFERENCES Feeds(FeedId),
FOREIGN KEY (UserId) REFERENCES Users(UserId)
);
CREATE TABLE AnimalWeights
(
WeightId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
AnimalId UNIQUEIDENTIFIER NOT NULL,
UserId UNIQUEIDENTIFIER NOT NULL,
WeightDate DATE NOT NULL,
Weight DECIMAL(18,2) NOT NULL,
FOREIGN KEY (AnimalId) REFERENCES Animals(AnimalId),
FOREIGN KEY (UserId) REFERENCES Users(UserId)
);
CREATE TABLE VeterinaryChecks
(
CheckId UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(),
AnimalId UNIQUEIDENTIFIER NOT NULL,
UserId UNIQUEIDENTIFIER NOT NULL,
CheckDate DATE NOT NULL,
Diagnosis NVARCHAR(500),
FOREIGN KEY (AnimalId) REFERENCES Animals(AnimalId),
FOREIGN KEY (UserId) REFERENCES Users(UserId)
);