用sql sever写一个图书借阅管理系统
时间: 2023-11-11 13:05:06 浏览: 99
下面是一个简单的图书借阅管理系统的 SQL Server 数据库设计:
**图书表(Book)**
| 列名 | 数据类型 | 约束 | 说明 |
| ------------ | ------------ | ----------------------- | ------------------------ |
| BookID | int | Primary Key, Identity(1) | 图书 ID |
| BookName | varchar(50) | Not Null | 图书名称 |
| Author | varchar(50) | Not Null | 作者 |
| Publisher | varchar(50) | Not Null | 出版社 |
| PublishDate | datetime | Not Null | 出版日期 |
| ISBN | varchar(20) | Not Null, Unique | ISBN 号码 |
| Price | decimal(8,2) | Not Null | 价格 |
| BookStatus | bit | Not Null | 图书状态(是否被借出) |
| BorrowerID | int | Foreign Key | 借书人(外键,指向读者) |
| BorrowedDate | datetime | | 借出日期 |
**读者表(Reader)**
| 列名 | 数据类型 | 约束 | 说明 |
| ---------- | ----------- | ----------------------- | -------- |
| ReaderID | int | Primary Key, Identity(1) | 读者 ID |
| ReaderName | varchar(50) | Not Null | 读者姓名 |
| Gender | bit | Not Null | 性别 |
| Age | int | Not Null | 年龄 |
| Phone | varchar(11) | Not Null | 手机号码 |
**借阅记录表(BorrowRecord)**
| 列名 | 数据类型 | 约束 | 说明 |
| ----------- | ----------- | ----------------------- | ---------------------- |
| BorrowID | int | Primary Key, Identity(1) | 借阅记录 ID |
| BookID | int | Foreign Key | 图书 ID(外键,指向书籍) |
| ReaderID | int | Foreign Key | 读者 ID(外键,指向读者) |
| BorrowedDate| datetime | Not Null | 借出日期 |
| DueDate | datetime | Not Null | 应还日期 |
| ReturnedDate| datetime | | 归还日期 |
下面是一个简单的 SQL Server 数据库查询示例:
**查询所有书籍信息**
```sql
SELECT * FROM Book
```
**查询指定图书信息**
```sql
SELECT * FROM Book WHERE BookID = 1
```
**查询未借出的图书信息**
```sql
SELECT * FROM Book WHERE BookStatus = 0
```
**查询指定读者借阅记录**
```sql
SELECT * FROM BorrowRecord WHERE ReaderID = 1
```
**借出图书**
```sql
UPDATE Book SET BookStatus = 1, BorrowerID = 1, BorrowedDate = GETDATE() WHERE BookID = 1
```
**归还图书**
```sql
UPDATE Book SET BookStatus = 0, BorrowerID = NULL WHERE BookID = 1
UPDATE BorrowRecord SET ReturnedDate = GETDATE() WHERE BorrowID = 1
```
阅读全文