Funky Festivals Specification
Funky Festivals organise music festivals which take place at various venues throughout the UK. A venue needs to be booked before a Festival can take place. Each festival will consist of a range of artists who will each have their own time slot for performing at the festival. Each Act has one and only one manager whose details are recorded as name, address, telephone number and email. Details of each Act include Act name, Manager, Music Genre, number of people in the Act.
Each act is designated either as a main act or a supporting act; an Acts designation may change with each Festival.
Each of the performers will require accommodation and may have their own specific requirements provided for the performance. A festival will consist of at least one main act and up to 3 supporting acts. They need to keep track of what acts, what venues and confirm that accommodation has been booked for each of the acts. Information to be stored about each venue should include name, address, telephone number, contact person and capacity of the venue.
Funky Festivals need to know if their festivals have been successful or not so they need a record of how many tickets were sold, which acts they put on, whether there were any problems with any of the acts or venues, the cost of the venue and acts.
There will be a charge of £70 for adults, 12-16 year olds will be £34, 5-11s will be £24 and under 5s is free. Parking will be £7 per vehicle and £4 camping charge.
Some festivals do not allow younger children so acceptable age ranges need to be identified for each festival at a particular venue.
Purchaser details need to be kept which include name, address, telephone number and email address
Task
Design an Entity Relation Model (ER) for the problem described above that shows:entities, attributes, keys, relationships, cardinalities, participation constraints, etc.
State clearly any assumptions that you have made and which justify your modeling choices. Please use the UML notation for your ER model, as used in the lectures.
Briefly explain your ER diagram.
Convert your ER into a relational schema. This should include primary and foreign keys. Identify functional dependencies and Normalise your relations to third normal form.