一次关于数据库的练习

preview
需积分: 0 1 下载量 37 浏览量 更新于2015-05-12 收藏 34KB DOC 举报
在这个数据库练习中,我们将探索和操作一个图书馆管理系统的数据模型。这个系统包含了关于书籍、图书馆会员、书籍借阅情况、供应商以及供应商订单等信息。为了区分本次练习中的表名和其他练习中的表名,每个表名都以字符'4'结尾。 以下是各个表的详细描述: 1. **TITLE4**(书名表):包括书籍的名称(Name)、国际标准书号(ISBN)、索书号(CallNumber)、出版年份(Year)、作者的名字(AuthorFName和AuthorLName)。主键是CallNumber。 2. **MEMBER4**(会员表):包含会员的图书馆ID(LibId)、名字(Fname和Lname)、地址(Address)以及联系电话(PhoneNumber)。主键是LibId。 3. **BOOK4**(图书表):记录每本书的信息,如书籍ID(Book_Id)、版本(Edition)、状态(Status)、当前借阅者ID(BorrowerId)、预期归还日期(BorrowerDueDate)以及索书号(CallNumber)。主键是Book_Id,外键BorrowerId关联到MEMBER4的LibId,外键CallNumber关联到TITLE4的CallNumber。 4. **PURCHASE_ORDER4**(采购订单表):存储了订单号(PoNum)、订购数量(Qty)、订单日期(OrderDate)、预计到货日期(DueDate)和系统接收订单日期(ReceivedDate)。主键是PoNum。 5. **SUPPLIER4**(供应商表):包含供应商ID(Supplier_Id)、供应商名称(Name)和地址(Address)。主键是Supplier_Id。 6. **READ_BY4**(阅读次数表):记录了会员阅读特定书籍的次数,包括索书号(CallNumber)、会员的图书馆ID(LibId)以及阅读次数(TimesRead)。主键是CallNumber和LibId,外键CallNumber关联到TITLE4的CallNumber,外键LibId关联到MEMBER4的LibId。 7. **ORDERED4**(订购关系表):表示书籍与订单和供应商之间的关系,包含索书号(CallNumber)、订单号(PoNum)和供应商ID(Supplier_Id)。主键是CallNumber、PoNum和Supplier_Id,外键CallNumber关联到TITLE4的CallNumber,外键PoNum关联到PURCHASE_ORDER4的PoNum,外键Supplier_Id关联到SUPPLIER4的Supplier_Id。 在练习中,你需要执行以下步骤: 1. **创建表并插入数据**:根据给定的CREATE TABLE和INSERT语句创建数据库。确保在没有任何现有表的空数据库中运行这些DDL(数据定义语言)语句,以免覆盖已有数据。 2. **删除所有元组**:编写并运行SQL语句来删除所有关系中的所有元组。这通常可以通过使用`DELETE FROM`语句完成,例如`DELETE FROM TABLE_NAME;`。 3. **增强数据库**:扩展数据库功能,包括: - 创建尚未创建的表。 - 在ISBN和Name字段上添加交替键约束。交替键(Alternate Key)是指除了主键之外,能唯一标识一条记录的其他字段或字段组合。为此,你可以使用ALTER TABLE语句,例如`ALTER TABLE TITLE4 ADD CONSTRAINT UNIQUE (ISBN);` 和 `ALTER TABLE TITLE4 ADD CONSTRAINT UNIQUE (Name);`。 这个练习旨在帮助初学者熟悉数据库的设计和操作,包括表的创建、数据的插入、删除以及修改表结构,这些都是数据库管理的基础技能。通过实践这些操作,你可以加深对SQL语言的理解,并学习如何维护和优化数据库结构。