Presentation is loading. Please wait.

Presentation is loading. Please wait.

Group #2 Elliot Chow Quijano Flores Jim Huang David Keegan Sophia Law Elysia Messah Esha Ranganath.

Similar presentations


Presentation on theme: "Group #2 Elliot Chow Quijano Flores Jim Huang David Keegan Sophia Law Elysia Messah Esha Ranganath."— Presentation transcript:

1 Group #2 Elliot Chow Quijano Flores Jim Huang David Keegan Sophia Law Elysia Messah Esha Ranganath

2 Client Description  A student organization who represents and supports the various engineering societies in the College of Engineering.  Holds various events ranging from career fairs and carnivals, to barbeques and community service events.  Collects budget reports from almost 30 engineering groups to request funding form the ASUC.

3 Current System  The client is using mySQL for database purposes.  Tables are highly unorganized and most of the entries are blank.  EJC’s server has Microsoft Access and is fully capable of running a database.  EJC has most of its information stored on a club officer’s computer, and upon graduation, the officer must manually transfer the club data to a new incoming officer.

4 Expected Results  Design a structured database model, that, if implemented, all data can be stored on a permanent server that is easily accessible to future officers.  A database management system will be a good solution to EJC’s difficulties in storing, editing, and updating data.  We believe that the database model will be valuable to the development of the council and its success in the future.

5 Estimated Data Requirements  4 types of members: 1. Alumni 2. Officers 3. Potential 4. Others  8 different committees. 1. Financial committee 2. Corporate committee 3. Public relations committee 4. Marketing committee 5. IT/Webmaster committee 6. Facilities committee 7. Community outreach committee 8. Alumni relations committee  26 different Engineering Societies.

6

7 Relational Schema 1.Member (SID, Fname, Lname, MI, Bdate, Year, Major, Phone_Number, Email, Big_Buddy_SID 1 ) 1a. Alumni_Member (SID 1, Grad_Year) 1b. Officer_Member (SID 1, Title) 1c. Potential_Member (SID 1 ) 1d. Other_Member (SID 1 ) 2.Engineering_Society(EName) 3.Department(EName 2 ) 4.External_Contact (ContactID, Contact_Name, Company_Name, Company_Address, Company_Phone_Number, Contact_Address, Contact_Phone_Number, Contact_Email) 5.Transaction(TID, SID 1, Amount, Date, Regulated_By_CName 6 ) 5a. Withdrawal(TID 5, EName 2 ) 5b. Deposit(TID 5, ContactID 4 )

8 Relational Schema continued 6.Council_Committee(CCName, Description, Officer_SID 1b ) 7.Event(EventID, Date, Time, Duration, Event_Name, Event_Description, Number_Of_Attendance, LID 9 ) 7a. Fundraising(EventID 7 ) 7b. Educational(EventID 7 ) 7c. Social(EventID 7 ) 7d. Meeting(EventID 7, Minutes) 8.Advertisement(AdID, Media_Type, Date_Distributed, Quantity) 9.Location(LID, Location_Name, Room_Num, Capacity) 10.Ad_Funds(AdID 8, With_TID 5a )

9 Relational Schema continued 11. Event_Funds(EventID 7, With_TID 5a ) 12. CC_Meeting (CCName 6, Meeting_EID 7d ) 13. Contacts(CCName 6, ContactID 4 ) 14. Reserves(LID 9,CCName 6 ) 15. CC_Organizes(CCName 6, EventID 7 ) 16. ES_Organizes(EName 2, EventID 7 ) 17. Recruits (Potential_SID 1c, EventID 7 ) 18. Ad_For (AdID 8, EventID 7 ) 19. CC_Creates (AdID 8, CCName 6 ) 20. Member_Attends (SID 1, EventID 7 ) 21. EC_Attends (ContactID 4, EventID 7 ) 22. Represents (SID 1, EName 2 ) 23. Is_Part_Of (SID 1, CCName 6 ) 24. SubmitsBR (EName 2, CCName 6 ) 25. Coordinates (Meeting_EID 7d, EventID 7 )

10 Normalization 1 st Normal Form (1NF)  R is in 1NF if all attribute domains include only values that are atomic (indivisible) and single-valued.  Example: External_Contact (ContactID, Contact_Name, Company_Name, Company_Address, Company_Phone_Number, Contact_Address, Contact_Phone_Number, Contact_Email) → 1NF: R 1 (ContactID, Contact_Name, Company_name, Company_Address, Company_Phone_Number, Conctact_Address, Contact_Phone_Number) R 2: (ContactID, Contact_Email)

11 Normalization 2 nd Normal Form (2NF)  R is in 2NF if it is in 1NF, and every non-prime attribute is fully functionaly dependent on the Primary Key  Example 1: Transaction (TID, SID 1, Amount, Date, Regulated_By_CName 6 ) → 1NF: R 1 (TID, SID 1, Amount, Date, Regulated_By_CCName 6) → 2NF: R 1 (TID, Amount, Date) R 2 (TID, SID, Regulated_By_CCName 6 )

12 Normalization 3 rd Normal Form (3NF)  R is in 3NF if R is in 2NF and non-prime attributes of R are transitively dependent on the primary key  Example : External_Contact (ContactID, Contact_Name, Company_Name, Company_Address, Company_Phone_Number, Contact_Address, Contact_Phone_Number, Contact_Email) → 2NF: R 1 (ContactID, Contact_Name, Company_name, Company_Address, Company_Phone_Number, Conctact_Address, Contact_Phone_Number) R 2 (ContactID, Contact_Email) → 3NF:R 3 (ContactID, Contact_Name, Contact_Address, Contact_Phone_Number, Company_Name) R 4 (Company_Name, Company_Address, Company_Phone_Number) R 5 (ContactID, Contact_Email)

13 Relations View

14 Queries Query 1: External Contacts in order of priority to contact. Sum(all transactions) – (events went to by ext. contact)(avg demand of every ext. contact) This lists the contact status with regards to an external contact for a donation from the results of an equation. If the result of this equation is a positive number, the external contact is donating more than expected and vice versa. Therefore, EJC can benefit from this query because they can budget their time wisely and only contact external contacts that should be donating more money. Select EC.Contact_name, sum(D.Amount) – (Count(A.EventID) * Average(D.Amount)) From Deposit D, External_Contact EC, EC_Attends A GroupBy EC.Contact_name;

15 Queries continued Query 2: List of active members. 1/2 ((events_went_to)+(events_planned)(avg_amount_of_events_per_society) /(total_events)+ 1/2 (external contact made/(external contacts assigned +1)) One of the things that EJC wants to keep track of is the level of involvement from its members relative to other members. The equation for this query is based on the events that the member attends/plans. This query is beneficial to EJC because it helps determine who the most active members are and focus on encouraging the less active members to play a greater role. Select m.SID, ((count(ma.*)+ count(DISTINCT C.EventID)* avg(Select es1.Ename, count(*) From ES_Organizes es1 Group By es1.Ename)) / (count( f.EventID) + count(e.EventID) + count(s.EventID)) From Member m, Member_attends ma, Coordinates C, ES_Organizes es, Fundraising f, Educational e, Social s Where ma.SID = m.SID AND C.Meeting_EID = ma.EventID;

16 Queries continued Query 3: If a society is active. ½((#_events_held_by_society)/(total_events_held_per_society))+1/2((#_of_transactions)/(total_transacti ons)) One of the things that EJC wants to keep track of is the level of involvement the societies relative to other societies. The scale is from 0 to 1, 0 being low activity and 1 being high activity. This query is beneficial to EJC because it helps determine who the most active societies are. Select es.Ename, 0.5*(count(es.EventID) / (es.Number_Of_Members*count( f.EventID) + count(e.EventID) + count(s.EventID))) + (0.5*count(w.TID) / (Select count (*) From withdrawal w1)) From ES_Organizes es, Fundraising f, Educational e, Social s, Engineering_Society es, Withdrawl w Group By es.Ename;

17 Queries continued Query 4: If a group should spend money on advertising. money_spent_on_advertising/attendance_of_an_event This query evaluates the effectiveness of advertising for a specific event. The fraction represents how much money is being spent per person for an event. The smaller this number is the more effective a particular advertising campaign is. The larger this number the less effective. This will benefit EJC by reducing money spent on ineffective advertisements. Select e.EventID, sum(w.Amount)/ count(ma.SID) From Ad_Funds af, Event e, Withdrawal w, Ad_For adf, Member_Attends ma Where e.EventID = adf.EventID AND adf.AdID = af. AdID AND af.With_TID = w.TID AND ma.EventID = e.EventID;

18 Queries continued Query 5: Correlation coefficient between alumni and donation. Cov(#_alumni_external_contact,avg_donation_of_external_contact)/sd(#_alumn i_external_contact)sd(avg_donation_of_external_contact) This query determines if there is a correlation between the number of alumni at and external contact and the amount that the external contact donates. If there is a positive correlation then the more alumni at an external contact would mean that we would expect more money from donations.

19 Queries continued Select Avg( Select count(am1.*) * Sum(d.Amount) From Alumni_Member am1, Deposit d Where am1.ContactID = d.ContactID Group By am1.ContactID) – avg(d.Amount)*avg(Select count(am1.*) ) From Alumni_Member am1, Deposit d Where am1.ContactID = d.ContactID Group By am1.ContactID) ) /(STD(Select count(am1.*)) From Alumni_Member am1, Deposit d Where am1.ContactID = d.ContactID Group By am1.ContactID)) * STD(d1.Amount) From Deposit d1;

20 Main Switchboard

21 Screenshot – Query 1

22 Screenshot – Query 2

23 Forms – Add Member

24 Forms – Print Transactions

25 A Few Groups under EJC


Download ppt "Group #2 Elliot Chow Quijano Flores Jim Huang David Keegan Sophia Law Elysia Messah Esha Ranganath."

Similar presentations


Ads by Google