1. 使用命令行方式完成以下操作:

(1) 创建图书借阅数据库LibraryDB和我的测试数据库MyTest。

CREATE DATABASE LibraryDB;
CREATE DATABASE MyTest;

(2) 打开图书借阅数据库LibraryDB。

USE LibraryDB;

(3) 在数据库LibraryDB中创建读者表、读者类型表。

CREATE TABLE '读者' (
  '读者编号' INT PRIMARY KEY,
  '姓名' VARCHAR(50),
  '类别号' INT,
  ... (其他字段)
);

CREATE TABLE '读者类型' (
  '类别号' INT PRIMARY KEY,
  '类别名称' VARCHAR(50),
  '可借数量' INT,
  ... (其他字段)
);

(4) 显示MySQL服务器中数据库的相关信息。

SHOW DATABASES;

(5) 显示LibraryDB数据库中相关表的信息。

USE LibraryDB;
SHOW TABLES;

(6) 删除My Test数据库。

DROP DATABASE MyTest;
  1. 使用MySQL图形化管理工具操作:

(1) 使用Navicat for MySQL访问MySQL数据库。

(2) 用Navicat for MySQL在LibraryDB中创建图书表、库存表和借阅表。

  • 创建图书表:
CREATE TABLE '图书' (
  '图书编号' INT PRIMARY KEY,
  '书名' VARCHAR(100),
  '作者' VARCHAR(50),
  ... (其他字段)
);

  • 创建库存表:
CREATE TABLE '库存' (
  '条码' INT PRIMARY KEY,
  '图书编号' INT,
  '状态' VARCHAR(20),
  ... (其他字段)
);
  • 创建借阅表:
CREATE TABLE '借阅' (
  '借阅编号' INT PRIMARY KEY,
  '读者编号' INT,
  '条码' INT,
  '借阅日期' DATE,
  ... (其他字段)
);
  1. 建立数据完整性约束:

(1) 为LibraryDB中的读者表指定主键为“读者编号”。

ALTER TABLE '读者' ADD PRIMARY KEY ('读者编号');

(2) 为读者表创建外键,其“类别号”列的值必须是读者类型表中“类别号”列存在的值,删除或修改读者类型表中的类别号值时,读者表中“类别号”列的数据也要随之变化。

ALTER TABLE '读者' ADD CONSTRAINT fk_读者_读者类型 FOREIGN KEY ('类别号') REFERENCES '读者类型'('类别号') ON UPDATE CASCADE ON DELETE CASCADE;

(3) 为借阅表创建外键,其“读者编号”列的值必须是读者表中“读者编号”列存在的值,删除或修改读者表中的读者编号值时,如果借阅表中该读者还有记录,则不得删除或修改。

ALTER TABLE '借阅' ADD CONSTRAINT fk_借阅_读者 FOREIGN KEY ('读者编号') REFERENCES '读者'('读者编号') ON UPDATE NO ACTION ON DELETE RESTRICT;

(4) 为借阅表创建外键,借阅表中“条码”列中的值必须是库存表中“条码”列存在的值,删除或修改库存表中的条码值时,借阅表中“条码”列的数据也要随之变化。

ALTER TABLE '借阅' ADD CONSTRAINT fk_借阅_库存 FOREIGN KEY ('条码') REFERENCES '库存'('条码') ON UPDATE CASCADE ON DELETE CASCADE;

(5) 修改读者类型表,可借数量必须在0~30本的范围内。

ALTER TABLE '读者类型' ADD CONSTRAINT chk_读者类型_可借数量 CHECK ('可借数量' >= 0 AND '可借数量' <= 30);

(6) 修改库存表,库存状态只能是“在馆”“借出”“丢失”3种状态之一。

ALTER TABLE '库存' ADD CONSTRAINT chk_库存_状态 CHECK ('状态' IN ('在馆', '借出', '丢失'));
图书借阅数据库设计与实现 - 使用命令行和图形化工具创建数据库和表

原文地址: https://www.cveoy.top/t/topic/pihM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录