E/R Design Lab

Domain description:

We want to design a mailing list server, to support any number of mailing lists. Each list has one owner (the list administrator). Only the owner may designate ``senders'' --- those who are allowed to post messages to the list. The owner may or may not be a sender. Owner and senders must also be readers. For each list, there may be an unlimited number of senders. Anyone may subscribe to any list as a reader. They may also unsubscribe themselves. Assume that everything is web-based. Messages are retained for an amount of time specific to each list and consist of a subject and text. Messages should indicate sender. E-mail addresses and passwords are used for authentication purposes. Passwords may be list-specific. Because everything is web-based, e-mail is not used to send messages, ordinarily. E-mail may be used for private communication between a list owner and a reader of that list. There are no limitations as to how many lists a user may own or how many lists a user may send to. Lists have names and descriptions and exist for a fixed amount of time.

Allocate about ten minutes for each of the following activities.

  1. The entities:
    1. Users.

       

    2. Lists.

       

    3. Messages.

       

    What are the attributes?

     

  2. The relationships:
    1. Administers.

       

    2. CanSendTo.

       

    3. CanRead.

       

    4. SentBy/To.

       

    What are the attributes and roles?

     

  3. The constraints: What are they here?

     

  4. Design E/R diagrams and determine constraints.

     

  5. Implement as a relational schema.