Thursday, October 10, 2019

Database+Coursework Database 101

Area Film and Literary Society (MLFS) provide groups and events for local people. All participants must be members (who pay an annual fee) or their guests who may attend events. Fees vary from one group to another. In addition members may have a reduction in fees depending on their type of membership. For example Individual members pay 100% fees and Concessionary members pay 50%. There are also Household members and a special category called Friends of the Society. The Society hosts a number of groups which meet monthly.Members can join one or more groups; currently these include Film, Science, Reading and Poetry Groups. A paper record is held for each member, an example of which is given below. Member details| Event talents| Member No1022 NameJay PatelTelephone020 8888 3333AddressHigh Rd, London Member type Individual | Ability Code| Talent | | 01 Poetry 05 Science| membership records| Session (year)| Group code| Group name| CoordNo| CoordName| Feepaid| Date paid| 2007-2008| 01 | Po etry | 102| Carol Duffy| ? 0| 19/09/07| 2008-2009| 01 | Poetry | 102| Carol Duffy| ? 60| 02/09/08| 2008-2009| 06 | Reading| 111| Jane Austen| ? 75| 03/09/08| 2009-2010| 05 | Science| 181| Marie Curie| ? 90| 03/09/09| * | * | * | * | * | * | * | Note that the group code and the ability code are both based on the same domain of values. The latter represents members’ talents which the Society may make use of – this is described later. One group of a particular type (such as Poetry) will be run each year, assuming there are nine or more members who want to join a group.Each group is run by a coordinator, who may change from one year to the next. In addition to the above, the society holds the address and telephone number of each coordinator. Besides groups, the society also holds one-off special events, such as lectures, films, art exhibitions and musical evenings. Events do not relate to particular groups: they are open to all members and their guests and are organised by one of the coordinators. Events will be led by an outside speaker, or sometimes a member (who have special talents as shown in the example record above) will act as the speaker.Each event will have only one speaker (whether an outside speaker or a member speaker), but a speaker may speak at a number of events. Details will be held of the event name, the date, and venue and outside speakers (name and telephone number). The Society will keep records of members who attended events and the number of guests for each member per event. 1a) Entity-relationship model mapped to a relational database If you need to revise this topic, see Text Book Chapter 3. Produce an Entity-Relationship Model using UML notation for the above case.Convert to a relational model by specifying the primary and foreign keys, mapping any one-to-one relationships into relations, and decomposing any many-to-many relationships. This is the Relation diagram and the diagram which you should submit. Note that there is n o need to include the type of each attribute. State any assumptions that you may need to make particularly about optional and mandatory relationships. Note that assumptions are about how you have interpreted the scenario, not about the E-R modelling process. The ERD is not trivial – it involves at least 10 entities.I suggest you start by each member of your group concentrating on different parts of the ERD and then coming together to discuss. Remember: * databases hold historical information, not just details of current records * to work out cardinality of relationship use ‘two sentences each starting with the word one’ * check all attributes; they should be atomic (single-valued) * check primary/foreign key links (remember the foreign key goes on the ‘many side’) * decompose any m:n relationships 1b) Validate the model Checking for connection trapsExamine your model and identify one potential trap (fan trap or chasm trap) – if present. Consid er whether this may cause a problem to your model and re-draw if necessary, arguing your case either way. Supporting the functional requirements Validate the model to check it can support the following functional requirement i. e. specify the access path by listing the appropriate relations (taking into account the correct relationships) from your diagram: ‘List all members by name who have ever belonged to the Science group, who have a talent for music and have attended an event with Goldie as the outside speaker. ’

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.