增强的实体关系建模

时间:2015-03-16 13:24:00

标签: database database-design relational-database database-schema class-table-inheritance

我必须从这种情况下绘制增强实体 - 关系建模:

乔治亚理工学院图书馆(GTL)拥有约16,000名会员,100,000本书籍和250,000册(平均每本书2.5份)。大约10%的交易量在任何时候都被借出。图书馆员确保成员想要借阅的书籍可供借阅。此外,图书馆员必​​须知道每本书在图书馆中有多少份,或在任何给定时间借出。 可在线获取书籍目录,按作者,标题和主题区域列出书籍。对于库中的每个标题,书目描述保存在目录中,范围从一个句子到几个页面。当成员请求有关书籍的信息时,参考图书馆员希望能够访问该描述。图书馆工作人员包括图书管理员,部门助理图书管理员,参考图书管理员,结账人员和图书馆助理。

图书可以签出21天。会员每次只能出书五本。会员通常会在三到四周内归还书籍。大多数成员知道他们在发送通知之前有一周的宽限期,因此他们会在宽限期结束前尝试归还书籍。大约5%的会员必须收到提醒以退还书籍。大多数逾期的书籍都会在截止日期的一个月内退回。大约5%的逾期书籍要么保留,要么永远不会退回。图书馆中最活跃的成员被定义为在一年中至少借书十次的人。最高1%的会员资格占借款的15%,而前10%的会员资格占借款的40%。大约20%的成员完全不活跃,因为他们是从不借用的成员。

要成为图书馆的成员,申请人必须填写一份表格,其中包括他们的SSN,校园和家庭邮寄地址以及电话号码。图书管理员发行一张带有成员照片的编号机器可读卡片。这张卡好四年了。在卡到期前一个月,会向会员发送通知以进行续订。该研究所的教授被认为是自动成员。当一名新教员加入该学院时,他或她的信息将从员工记录中提取出来,并将图书馆卡片邮寄到他或她的校园地址。教授可以每隔三个月检查一次书籍,并有两周的宽限期。教授的续约通知被送到他们的校园地址。

图书馆不提供一些书籍,如参考书,稀有书籍和地图。图书馆员必​​须区分可以借出的书籍和不能借出的书籍。此外,图书馆员还有一些他们有兴趣获取但无法获得的书籍清单,例如稀有或绝版书籍以及丢失或毁坏但尚未更换的书籍。图书馆员必​​须有一个系统来跟踪无法借出的书籍以及他们有兴趣获取的书籍。有些书可能有相同的标题;因此,标题不能用作识别手段。每本书都以其国际标准书号(ISBN)标识,这是一本分配给所有书籍的独特国际代码。如果具有相同标题的两本书具有不同的ISBN,如果它们使用不同的语言或具有不同的绑定(精装或软装)。同一本书的版本有不同的ISBN。建议的数据库系统必须设计成跟踪成员,书籍,目录和借阅活动。

绘制图书馆数据库的EER图。

**我的问题: 1)主要实体是书籍,员工,会员,借款。 借用与成员之间的关系是什么?

2)“图书馆的活跃成员被定义为在一年中至少借书十次的人。前1%的会员占15%的借款,前10%的会员占40%借款。“是否有必要对会员资格进行建模和&活跃的会员?

3)员工和借款之间的关系是一对多吗?

4)谁将向会员发送通知。我们可以将其视为工作人员吗?**

5)借款人与员工之间的关系是什么?我认为员工需要检查规则。

2 个答案:

答案 0 :(得分:1)

以下是我对问题的回答。

  1. Borrowed是一本书状态。会员可以借很多书。一本书可以由零个或一个成员借用。

  2. 会员借阅的书籍数量是每个会员借阅的每本书籍的数量,这意味着BookBorrowed表格中包含会员ID和书籍ID组合键。

  3. Staff和BookBorrowed之间没有任何关系。工作人员可以将书籍的状态从内部改为借用,或借入内部。只有会员可以借书。员工也可以是会员。

  4. 为维护数据库而构建的计算机系统。需要有屏幕和报告,以便员工能够完成工作。

  5. 与3相同。

  6. 您需要将实体从您的描述中推出并使其成为表格。我看到的实体是:

    • 会员

    员工信息决定了谁可以访问系统的各种功能。

    • 买书
    • 向图书馆添加图书
    • 查看一本书
    • 签入一本书
    • 从图书馆中删除图书
    • 添加会员
    • 删除会员
    • 发送会员续订

    不同的员工可以访问不同的功能。图书馆助理可能无法访问任何这些功能。图书馆馆长可以使用所有这些功能。最后两个功能可能是由计算机系统完成的,而不是图书管理员。

    所以,让我们回到实体表。

    我们知道一本书具有以下属性

    Book
    ----
    Book ID
    ISBN
    Title
    Status (in-house, borrowed, uncirculated, desired)
    Publication Date
    Publisher
    ...
    

    我们稍后会确定图书ID。现在,将它视为具有 none 一本书特征的书的独特关键。这就是为什么ISBN是一个属性,而不是关键。 ISBN可能会被编入索引值。

    我们也知道一本书可以有多个作者。

    Author
    ------
    Author ID
    Author Name
    

    一本书可以有很多作者,作者可以有很多书。这种多对多的关系需要一个联结表

    AuthorBook
    ----------
    Author ID
    Book ID
    

    主键是(作者ID,书籍ID)。 (书籍ID,作者ID)上还有一个唯一索引。这允许您查询作者的书籍或书籍的所有作者。

    我们还需要一个会员表

    Member
    ------
    Member ID
    Member Name
    Member Address
    Date Joined
    Date Membership Expires
    Faculty Flag
    ...
    

    由于会员和书籍之间的关系是多对多,我们需要(ta-da)另一个联结表。

    MemberBook
    ----------
    Member ID
    Book ID
    Checked Out Date
    Return Date
    ...
    

    此联结表具有不属于该成员且不属于该书的属性。他们属于会员 - 书籍关系。

    通常,表ID可以是UUID或递增整数或长整数。关于表ID的重要之处在于除了关联不同表中的行之外没有任何意义。

    我认为这是足以帮助您入门的信息。乔治亚理工学院花了数年时间来计算他们的图书馆数据库模式。期待花几个月的时间做对。

答案 1 :(得分:0)

1)一对多

2)“图书馆的活跃成员被定义为在一年中至少借书十次的人。前1%的会员占15%的借款,前10%的会员占40%借款。“是否有必要对会员资格进行建模和&活跃成员? 我认为不需要。

3)是的

4)我不知道。如果你找到答案,请尽快写下。