erDiagram USER { int user_id PK string name string email string phone date registration_date boolean is_active } BOOK { int book_id PK string isbn string title string author string publisher int publication_year string category boolean is_available } BORROW_RECORD { int record_id PK int user_id FK int book_id FK date borrow_date date due_date date return_date string status } RESERVATION { int reservation_id PK int user_id FK int book_id FK date reservation_date date expiry_date string status } FINE { int fine_id PK int user_id FK int record_id FK decimal amount date issue_date date paid_date string status } USER ||--o{ BORROW_RECORD : "borrows" BOOK ||--o{ BORROW_RECORD : "is_borrowed" USER ||--o{ RESERVATION : "reserves" BOOK ||--o{ RESERVATION : "is_reserved" USER ||--o{ FINE : "incurs" BORROW_RECORD ||--o{ FINE : "generates"
复制内容 下载markdown文件 在线编辑