PB16111485-张劲暾-lab11
【实验背景】 本次实验是关于数据库系统及应用的实践,主要使用Oracle 18.3数据库管理系统和PL/SQL Developer Version 13.0.3.1902集成开发环境,通过SQL与PL/SQL语言来设计和操作图书馆数据库。实验的目标是创建并填充三个基本表:Book(图书)、Reader(读者)和Borrow(借阅记录),以模拟图书馆的图书管理功能。 【实验内容详解】 1. **Book表**: - **ID**: 字符型,长度为8,是图书号,为主键,确保每个图书的编号唯一。 - **name**: 可变字符型,长度为10,代表书名,不允许为空,确保每本书都有名称。 - **author**: 可变字符型,长度为10,表示作者名字。 - **price**: 浮点型,表示图书价格。 - **status**: 整型,用于标记图书状态,1表示借出,0表示在馆,缺省值为0。 2. **Reader表**: - **ID**: 字符型,长度为8,是读者号,为主键,确保每个读者的编号唯一。 - **name**: 可变字符型,长度为10,表示读者姓名。 - **age**: 整型,表示读者年龄。 - **address**: 可变字符型,长度为20,存储读者地址。 - **age_floor**约束,检查年龄必须大于0,确保年龄的合理性。 3. **Borrow表**: - **book_ID**: 字符型,长度为8,表示借阅的图书编号,为外键,关联到Book表的图书号。 - **Reader_ID**: 字符型,长度为8,表示借阅者读者号,为外键,关联到Reader表的读者号。 - **Borrow_Date**: 日期型,记录借书日期。 - **Return_Date**: 日期型,如果为NULL,表示书还未归还。 - **主键**由(book_ID, Reader_ID)组成,确保每条借阅记录的唯一性。 - **FK_book_ID**约束,保证book_ID的有效性,即其必须是Book表中的有效图书号。 - **FK_Reader_ID**约束,保证Reader_ID的有效性,即其必须是Reader表中的有效读者号。 【实验步骤与结果】 1. **创建基本表**: 通过DROP TABLE语句删除原有的表,然后使用CREATE TABLE语句创建新的表结构,同时定义主键、外键和各种约束条件,如非空约束、默认值以及检查约束。 2. **插入测试数据**: 在创建好表结构后,向Book、Reader和Borrow表中插入一些测试数据,以便于后续的查询和操作。 3. **简单测试**: 插入数据后,可以通过简单的SELECT语句进行查询,验证数据是否正确插入,以及表结构和约束是否正常工作。 【总结】 本次实验通过实际操作,让参与者熟悉了SQL语言创建数据库表结构、定义主键和外键、设置约束以及插入数据等基本操作。这有助于理解数据库管理系统的运作机制,以及如何在实际场景中应用这些概念,对于理解和掌握数据库系统具有重要意义。
剩余11页未读,继续阅读
- 粉丝: 18
- 资源: 314
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0