lims
1.0.0
Library Information Management System の略称 lims には、現実世界の図書館機能を管理するためのすべての機能が含まれています。さまざまなデータを管理するために使用される 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
main.go
内で呼び出されるdb/db.go
のConnect()
メソッドは、ローカルまたはクラウド DB に接続し、利用可能な機能に基づいて DB インスタンスと対話するために外部ユーザーが使用できるグローバル変数Lib
インスタンス化するために使用されます。
db
の内部には、これらのファイルにデータベースと直接対話するコードが含まれており、これにより上記で概説したメソッドが提供されます。新しいメソッドとテストもここに追加する必要があります。