图书管理系统需要创建7个表,分别用于存储图书,学生和图书分类等信息,这些表将存储在前面创建的永久性表空间bookspace中,由于这7 个表中有很多之间存在外键关系,所以在创建时也需要注意部分表的先后顺序。同时将该7张表存储在bookstore用户下。 图书类别表(type)管理员等级表(grade)图书信息表(book)管理员表(manager)学生信息表(student)图书证表(card)借书信息表(lend)
时间: 2024-01-08 16:02:11 浏览: 61
图书管理系统(数据库设计)
可以按照以下顺序创建表:
1. 创建bookspace表空间
```sql
CREATE TABLESPACE bookspace
DATAFILE '/path/to/bookspace.dbf'
SIZE 100M AUTOEXTEND ON;
```
2. 创建bookstore用户
```sql
CREATE USER bookstore
IDENTIFIED BY password
DEFAULT TABLESPACE bookspace
TEMPORARY TABLESPACE temp;
```
3. 授权bookstore用户
```sql
GRANT CREATE SESSION, CREATE TABLE, CREATE SEQUENCE,
ALTER SESSION TO bookstore;
```
4. 创建图书类别表(type)
```sql
CREATE TABLE bookstore.type (
type_id NUMBER(10) PRIMARY KEY,
type_name VARCHAR2(50)
);
```
5. 创建管理员等级表(grade)
```sql
CREATE TABLE bookstore.grade (
grade_id NUMBER(10) PRIMARY KEY,
grade_name VARCHAR2(50)
);
```
6. 创建图书信息表(book)
```sql
CREATE TABLE bookstore.book (
book_id NUMBER(10) PRIMARY KEY,
book_name VARCHAR2(100),
author VARCHAR2(50),
type_id NUMBER(10) REFERENCES bookstore.type(type_id),
publish_date DATE,
price NUMBER(10, 2),
stock NUMBER(10)
);
```
7. 创建管理员表(manager)
```sql
CREATE TABLE bookstore.manager (
manager_id NUMBER(10) PRIMARY KEY,
manager_name VARCHAR2(50),
grade_id NUMBER(10) REFERENCES bookstore.grade(grade_id)
);
```
8. 创建学生信息表(student)
```sql
CREATE TABLE bookstore.student (
student_id NUMBER(10) PRIMARY KEY,
student_name VARCHAR2(50),
gender VARCHAR2(10),
age NUMBER(10),
grade VARCHAR2(50)
);
```
9. 创建图书证表(card)
```sql
CREATE TABLE bookstore.card (
card_id NUMBER(10) PRIMARY KEY,
student_id NUMBER(10) REFERENCES bookstore.student(student_id),
create_date DATE,
expire_date DATE
);
```
10. 创建借书信息表(lend)
```sql
CREATE TABLE bookstore.lend (
lend_id NUMBER(10) PRIMARY KEY,
card_id NUMBER(10) REFERENCES bookstore.card(card_id),
book_id NUMBER(10) REFERENCES bookstore.book(book_id),
lend_date DATE,
return_date DATE
);
```
注意表之间的外键关系和顺序。
阅读全文