Question: draw the ERD: CREATE TABLE book _ author ( book _ id INT, author _ id INT, CONSTRAINT fk _ bookauthor _ book FOREIGN KEY

draw the ERD: CREATE TABLE book_author (
book_id INT,
author_id INT,
CONSTRAINT fk_bookauthor_book FOREIGN KEY (book_id) REFERENCES book(id),
CONSTRAINT fk_bookauthor_author FOREIGN KEY (author_id) REFERENCES author(id)
);
CREATE TABLE member_status (
id INT,
status_value VARCHAR(50),
CONSTRAINT pk_memberstatus PRIMARY KEY (id)
);
CREATE TABLE fine_payment (
id INT,
member_id INT,
payment_date DATE,
payment_amount INT,
CONSTRAINT pk_fine_payment PRIMARY KEY (id),
CONSTRAINT fk_finepay_member FOREIGN KEY (member_id) REFERENCES member(id)
);
CREATE TABLE loan (
id INT,
book_id INT,
member_id INT,
loan_date DATE,
returned_date DATE,
CONSTRAINT pk_loan PRIMARY KEY (id),
CONSTRAINT fk_loan_book FOREIGN KEY (book_id) REFERENCES book(id),
CONSTRAINT fk_loan_member FOREIGN KEY (member_id) REFERENCES member(id)
);
CREATE TABLE fine (
id INT,
book_id INT,
loan_id INT,
fine_date DATE,
fine_amount INT,
CONSTRAINT pk_fine PRIMARY KEY (id),
CONSTRAINT fk_fine_book FOREIGN KEY (book_id) REFERENCES book(id),
CONSTRAINT fk_fine_loan FOREIGN KEY (loan_id) REFERENCES loan(id)
);
CREATE DATABASE IF NOT EXISTS LibraryDB;
USE LibraryDB;
CREATE TABLE Publishers (
PublisherID INT AUTO_INCREMENT PRIMARY KEY,
PublisherName VARCHAR(100) NOT NULL UNIQUE,
OfficeAddress VARCHAR(150),
ContactNumber VARCHAR(15),
EmailAddress VARCHAR(50) UNIQUE
);
CREATE TABLE Reservations (
TransactionID INT AUTO_INCREMENT PRIMARY KEY,
MemberID INT NOT NULL,
BookID VARCHAR(30) NOT NULL,
DateReserved DATE,
DateReturned DATE,
CurrentStatus ENUM('Reserved', 'Returned') NOT NULL,
FOREIGN KEY (MemberID) REFERENCES LibraryMembers(MemberID),
FOREIGN KEY (BookID) REFERENCES Books(BookID)
);
CREATE TABLE LibraryReports (
ReportID INT AUTO_INCREMENT PRIMARY KEY,
DateCreated DATE NOT NULL,
ReportCategory ENUM('Monthly', 'Yearly', 'Custom') NOT NULL,
ReportDetails TEXT,
GeneratedBy INT,
FOREIGN KEY (GeneratedBy) REFERENCES StaffMembers(StaffID)
);
CREATE TABLE Genres (
GenreID INT AUTO_INCREMENT PRIMARY KEY,
GenreName VARCHAR(50) NOT NULL UNIQUE,
GenreDescription TEXT
);
CREATE TABLE BookStatuses (
BookID VARCHAR(30) PRIMARY KEY,
BookCondition ENUM('Available', 'Issued', 'Reserved', 'Damaged', 'Lost') NOT NULL,
LastUpdated TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (BookID) REFERENCES Books(BookID)
);
CREATE TABLE BOOKS (
BOOK_ID VARCHAR(30) PRIMARY KEY,
GENRE VARCHAR(50) NOT NULL,
NAME VARCHAR(50) NOT NULL,
AUTHOR VARCHAR(50) NOT NULL,
COPIES INT NOT NULL
);
CREATE TABLE ADMIN (
USER_ID VARCHAR(30) PRIMARY KEY,
NAME VARCHAR(30),
PASSWORD VARCHAR(50),
CONTACT VARCHAR(10)
);
CREATE TABLE MEMBERS (
MEMBER_ID INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
CONTACT VARCHAR(15) NOT NULL
);
CREATE TABLE STAFF (
STAFF_ID INT AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(50) NOT NULL,
ROLE VARCHAR(50),
CONTACT VARCHAR(10)
);
CREATE TABLE Authors (
AuthorID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Nationality VARCHAR(50)
);

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!