1、创建新图书表, 要求为各字段选择合适的数据类型及名称,其中“图书编号”字段为主码;“类别编号”字段为外码, 删除图书类别信息表中记录时级联的删除图书信息表中对应的记录; 书名不允许空值; 库存数限制的25到 100之间。
时间: 2024-12-08 09:17:56 浏览: 16
在创建一个新的图书表时,我们需要考虑以下几个字段的设计:
1. **图书编号** (BookID): 可以选用整数类型,如`INT` 或 `INTEGER`,设置为主键(Primary Key),因为主键通常用于唯一标识每一行数据,并且不允许为空。
2. **类别编号** (CategoryID): 这是一个外键(Foreign Key),对应于另一个存储图书类别信息的表。数据类型可以保持一致,比如也是整数类型。为了实现级联删除,当删除类别时,应设置外键约束为`ON DELETE CASCADE`,这样当类别被删除时,关联的图书也会自动删除。
3. **书名** (Title): 使用`VARCHAR`或`CHAR`类型,长度足以容纳最长预期的书名,由于书名不允许为空,可以在创建表的时候设置`NOT NULL`约束。
4. **库存量** (Stock): 可以用`SMALLINT`,范围在25到100之间,可以保证数值不会过大,同时通过`CHECK`约束限制库存数在指定范围内:
```sql
CREATE TABLE Books (
BookID INT PRIMARY KEY,
CategoryID INT,
FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID) ON DELETE CASCADE,
Title VARCHAR(255) NOT NULL,
Stock SMALLINT CHECK (Stock BETWEEN 25 AND 100),
);
```
阅读全文