lims
1.0.0
lims ย่อมาจาก Library Information Management System ประกอบด้วยฟังก์ชันทั้งหมดในการจัดการฟังก์ชันการทำงานของห้องสมุดในโลกแห่งความเป็นจริง ประกอบด้วย 4 ตารางที่ใช้เพื่อจัดการข้อมูลที่แตกต่างกัน
CREATE TABLE Book (
" book_id " varchar ( 1200 ) PRIMARY KEY ,
" isbn " varchar ( 1200 ) NOT NULL ,
" title " varchar ( 1200 ) NOT NULL ,
" subtitle " text ,
" author " varchar ( 1200 ) NOT NULL ,
" published " varchar ( 1200 ) NOT NULL ,
" publisher " varchar ( 1200 ) NOT NULL ,
" pages " int ,
" description " text ,
" image_url " varchar ( 1200 ),
" reviews " int ,
" rating " float
);
CREATE TABLE RegUser (
" user_id " varchar ( 200 ) PRIMARY KEY ,
" first_name " varchar ( 200 ) NOT NULL ,
" last_name " varchar ( 200 ),
" gender " varchar ( 200 ) NOT NULL ,
" email " varchar ( 200 ) UNIQUE NOT NULL ,
" password " varchar ( 200 ) NOT NULL ,
" is_admin " boolean NOT NULL
);
CREATE TABLE Review
(
" review_id " varchar ( 200 ) PRIMARY KEY ,
" user_id " varchar ( 200 ) NOT NULL ,
" book_id " varchar ( 200 ) NOT NULL ,
" comment " text ,
" rating " int ,
" date " varchar ( 200 ),
" edited " boolean
);
CREATE TABLE BookIssue
(
" issue_id " varchar ( 200 ) PRIMARY KEY ,
" user_id " varchar ( 200 ) NOT NULL ,
" book_id " varchar ( 200 ) NOT NULL ,
" issue_date " varchar ( 200 ),
" return_date " varchar ( 200 ),
" returned " boolean
);
ALTER TABLE Review ADD FOREIGN KEY ( " user_id " ) REFERENCES RegUser ( " user_id " );
ALTER TABLE Review ADD FOREIGN KEY ( " book_id " ) REFERENCES Book ( " book_id " );
ALTER TABLE BookIssue ADD FOREIGN KEY ( " user_id " ) REFERENCES RegUser ( " user_id " );
ALTER TABLE BookIssue ADD FOREIGN KEY ( " book_id " ) REFERENCES Book ( " book_id " );
มีการใช้งานฟังก์ชันพื้นฐานบางอย่างแล้ว และฟังก์ชันอื่นๆ ก็สามารถนำไปใช้หรือต่อยอดจากสิ่งนี้ได้ ฟังก์ชันการใช้งานทั้งหมดประกอบด้วย
GetBookById
AddBook
DeleteBook
SearchBook
GetReviewsOfBook
IssueBook
GetIssueById
GetBooksIssuedByUser
Connect
AddEditDeleteReview
AddAndDeleteUser
SearchUser
เมธอด Connect()
ของ db/db.go
ที่เรียกใช้ภายใน main.go
ใช้เพื่อเชื่อมต่อกับฐานข้อมูลในเครื่องหรือบนคลาวด์และสร้างอินสแตนซ์ของตัวแปรส่วนกลาง Lib
ซึ่งผู้ใช้ภายนอกสามารถใช้เพื่อโต้ตอบกับอินสแตนซ์ db ตามฟังก์ชันการทำงานที่มีอยู่
ภายใน db
ไฟล์เหล่านี้มีโค้ดที่โต้ตอบกับฐานข้อมูลโดยตรงซึ่งจะให้วิธีการที่อธิบายไว้ข้างต้น ควรเพิ่มวิธีการใหม่ที่นี่และการทดสอบด้วย