CREATE TABLE Users (
UserId INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50) NOT NULL,
LastName NVARCHAR(50) NOT NULL,
Email NVARCHAR(100) UNIQUE NOT NULL,
Phone NVARCHAR(15),
CreatedAt DATETIME DEFAULT GETDATE()
);
CREATE TABLE Books (
BookId INT PRIMARY KEY IDENTITY(1,1),
Title NVARCHAR(255) NOT NULL,
Author NVARCHAR(100) NOT NULL,
ISBN NVARCHAR(13) UNIQUE NOT NULL,
PublicationYear INT,
IsAvailable BIT DEFAULT 1
);
CREATE TABLE Borrowings (
BorrowingId INT PRIMARY KEY IDENTITY(1,1),
UserId INT NOT NULL,
BookId INT NOT NULL,
BorrowDate DATE NOT NULL,
ReturnDate DATE,
FOREIGN KEY (UserId) REFERENCES Users(UserId),
FOREIGN KEY (BookId) REFERENCES Books(BookId)
);
CREATE TABLE Reservations (
ReservationId INT PRIMARY KEY IDENTITY(1,1),
UserId INT NOT NULL,
BookId INT NOT NULL,
ReservationDate DATE NOT NULL,
FOREIGN KEY (UserId) REFERENCES Users(UserId),
FOREIGN KEY (BookId) REFERENCES Books(BookId)
);
CREATE TABLE Library (
LibraryId INT PRIMARY KEY IDENTITY(1,1),
Name NVARCHAR(100) NOT NULL,
Address NVARCHAR(255) NOT NULL
);