database project (computer)

profileSam640
ReadMe.docx

CSCI 340 Final Group Project

Texas A&M University - Commerce

Isak Angerstig, Sarah Kizer, Ruth Leach, Jennifer Melendez, and Austin Young

Table of Contents

Contribution....................................................................................................................... 2-3

Analysis..............................................................................................................................4-5

Project Description.....................................................................................................4

Software Used.............................................................................................................4

Database Design..........................................................................................................5

Becoming a Member and Reporting Process ..........................................................................6

Research Findings.....................................................................................................................7

Results and Final Decisions.......................................................................................................8

Relationships..........................................................................................................................9-10

Entity-Relationship Diagram.....................................................................................................11

SQL Statements....................................................................................................................12-16

ACM Database and Tables....................................................................................................17-20

Contribution

Isak Angerstig:

· Analysis

· Redundancy

· Design

· Database

· Proofing

Sarah Kizer:

· Analysis

· E-R Diagram

· Redundancy

· ReadMe Document

· Proofing

Ruth Leach:

· Analysis

· E-R Diagram

· Redundancy

· SQL

· PowerPoint

· Proofing

Jennifer Melendez:

· Analysis

· E-R Diagram

· Redundancy

· SQL

· PowerPoint

· Proofing

Austin Young:

· Analysis

· E-R Diagram

· Redundancy

· Design

· Database

· Proofing

Analysis

Project Description

Data is an extremely important asset and corporate resource in any aspect of the world. Without data, our society as a whole would be completely damaged. So it goes without saying that if there is not a sufficient way to keep records and properly manage of all this crucial data as a whole we would be in trouble. This is where databases come into play. This project is a cumulative representation of what we have learned this semester. It is where we take the bits and pieces and put them all together. Our main goal of the project was to take the Association of Computing Machinery (ACM), one of the largest computing associations in the world, and create a fully functioning, well-structured database based on the properties of this organization. The organization currently has seventeen chapters across the United States. Our goal for this project is to create a database to track all of the members, their attributes, and the relationships between the flow of leadership. The idea is that this will allow users of the database to insert, store, retrieve, and delete data efficiently.

Software Used

Google Drive was the most important software used in our group. It was the main source for completing this project. It was so helpful for us because it allowed us to all work on the project at the same time when we were unavailable to physically meet. It was also useful in the fact that a group member could make changes and then other members of the group could go back and specifically see changes made in order to review and contribute to the project. We utilized Google Docs, Google Slides, and Draw.io. Google Docs was used to write this document as well as to make our functional dependencies. Google Slides was used to make our PowerPoint Presentation. Finally, Draw.io was used to build our Entity-Relationship Diagram.

Database Design

· MySQL

· dbfiddle.com

· generatedata.com

Becoming a Member and Reporting Process

After going through the application process and being accepted as a member, the applicant’s information is inputted into the “Member” table. This is when they will be assigned a member ID and assigned to the appropriate city and state chapter based on the address they used on their application. At this point, members have the option to join sub-memberships. Their options of sub-memberships are women, youth, student, and veteran. Members have the ability to obtain more than one sub-membership. Sub-memberships can come with additional fees. These fees must be paid off before they are inserted into the “SubMembership” table. Each state has a chairman or chairwoman assigned to it. The person in that position receives all information from members of the organizations, including their sub-memberships. The state chair from each state chapter is responsible for reporting to the national coordinator. There are eight national coordinators that are separated into four groups. There are two coordinators per North, South, East, and West region. Finally, national coordinators report to the country representative. There are four country representatives. The country representatives work as one to ensure that decisions are being made in the best interest of the ACM organization.

Research Findings

Before applying for Association of Computing Machinery (ACM) Memberships, potentially members must apply in the city or state they are in. Once they paid membership fees and become a member of ACM, they have full ACM membership with all its’ privileges. Members have the option to apply for sub-memberships, which could come with additional fees. The four types of sub-memberships that are available are: Student, Youth, Veteran, and Women. Some members are employed in the offices of the Representative and the Chapter Coordinator and they may be required to pay occasional minimal dues.

The way ACM reporting mechanism works is upward. The lowest entity reports to the one above it. ACM maintains data attributes from each member: Full name, ID number, position, address, age, country, state, country citizenship, Other citizenship, tribe, region, date of birth, date of joining, university attended, highest degree earned, veteran status, marital status, whether they work in the office of the Representative or not, whether they work in the office of the Chapter Coordinator or not, and sub-member.

Results and Final Decisions

1

Functional Dependencies

MEMID ----> CITYCHAPID

MEMID ----> memName

MEMID ----> Position

MEMID ----> Address

MEMID ----> County

MEMID ----> Country

MEMID ----> Citizenship

MEMID ----> Other Citizenship

MEMID ----> Tribe

MEMID ----> Region

MEMID ----> Age

MEMID ----> Date of Birth

MEMID ----> Date Joined

MEMID ----> University Attended

MEMID ----> Highest Degree Earned

MEMID ----> State

MEMID ----> City

MEMID ----> Veteran Status

MEMID ----> Marital Status

MEMID ----> Office Rep. Status

MEMID ----> Office Coord. Status

MEMID ----> Membership Fees

MEMID ----> Additional Fees

MEMID ----> Membership Status

CITYCHAPID ----> StCHAPID

CITYCHAPID ----> City

CITYCHAPID ----> State

StCHAPID ----> CHAIRID

StCHAPID ----> State

CHAIRID ----> CoordID

CHAIRID ----> Chair Name

CHAIRID ----> Year of Hire

COORID ----> CountryRepID

COORID ----> Coordinator Name

COORID ----> Year of Hire

CountryRepID ----> Representative Name

CountryRepID ----> Year of Hire

CountryRepID ----> Office Number

MEMID, CITYCHAPID ----> StCHAPID

MEMID,CITYCHAPID,StCHAPID ----> CHAIRID

MEMID,CITYCHAPID,StCHAPID,CHAIRID ----> COORDID

MEMID, CITYCHAPID,StCHAPID,CHAIRID,COORDID ----> CountryRepID

Relationships

One of the first relationships to establish was the one between the “Member” table and the “SubMembership” table. A member of the organization can hold a general membership along with sub-memberships. A member can have multiple sub-memberships seeing that the options are student, youth, women, and veteran it is very possible for a person to be more than one of those and therefore have the ability to obtain more than one sub-membership. We have included an ACM general membership in our sub-membership categories because that is how they are represented at the national level. Therefore, the cardinality of the relationship on both ends is many and the modality on both ends is one.

The next relationship we focused on was the relationship between the “Member” table and the “City Chapter” table. Due to the way the reporting process goes, our group decided it was important to focus on building the E-R Diagram and the relationships between entities from the lower level up.Therefore, in order to be represented by a state chapter they have to be apart of a city chapter. Each general membership and sub-membership has its own city chapter, so there are five chapters per city. As a result, the cardinality of this relationship is many on the “Membership” side and one on the “City Chapter” side. The modality is one on both ends.

According to the flow of reporting, our next focus was on the relationship between the table “City Chapter” and the “State Chapter” table. A member is not directly related to a state chapter, so the only way a member communicates to their state chapter is through their city chapter. A city can only belong to one state while a state can hold many cities. Thus, the relationship between these two entities is a binary one to many.

Furthermore, the relationship between the “State Chapter” table and the “State Chair” table is binary one-to-one. The reason for this is because there is one state chairman or chairwoman that the state chapter reports to.

The next relationship is the one between the “State Chair” table and the “National Coordinator” table. The cardinality of the relationship is many on the “State Chair” side and one on the “National Coordinator.” The modality is one for both sides.

Finally, the relationship between the “National Coordinator” table and the “Country Representative” table is binary one-to-one.

Entity-Relationship Diagram

The Association of Computing Machinery (ACM) city chapters report to their state chapter leadership. State leaders for sub-members, students, youth, women, and veteran chapters report to their national coordinators; ACM state chapter chairman/chairwomen reports to the ACM Chapter Coordinator; the ACM Chapter Coordinator reports to the Country ACM Representative-who also receives reports from student, youth, women, and veteran Coordinators. Other relationships aside from reporting are possible both ways.

SQL Statements

a. a.) ACM members in office of representatives

SELECT MEMID, memName

FROM Member

WHERE OfficeRepStatus = 1;

b. b.)ACM members in office of Chapter coordinator

SELECT MEMID, memName

FROM Member

WHERE OfficeCoordStatus = 1;

c.) List all the members who live in Texas

SELECT Member.MEMID, memName

FROM Member, SubMembership, CityChapter, StateChapter

WHERE Member.MEMID=SubMembership.MEMID

AND SubMembership.CITYCHAPID=CityChapter.CITYCHAPID

AND CityChapter.StCHAPID=StateChapter.StCHAPID

AND State=’Texas’;

d.) List all the members who live in Texas and are Indians

SELECT Member.MEMID, memName

FROM Member, SubMembership, CityChapter, StateChapter

WHERE Member.MEMID=SubMembership.MEMID

AND SubMembership.CITYCHAPID=CityChapter.CITYCHAPID

AND CityChapter.StCHAPID=StateChapter.StCHAPID

AND State=’Texas’

AND OtherCitizenship=’Indian’;

e.) List all the members who hold PhDs

SELECT MEMID, memName

FROM Member

WHERE HighestDegreeEarned=’PHD’;

f.) List all the members who also hold youth membership

SELECT Member.MEMID, memName

FROM Member, SubMembership

WHERE Member.MEMID=SubMembership.MEMID

AND SubMem=’Youth’;

g.) List all the members between the ages of 18 and 35

SELECT Member.MEMID, memName

FROM Member

WHERE Age BETWEEN 18 AND 35;

h.) List all the members who are Americans

SELECT Member.MEMID, memName

FROM Member

WHERE Citizenship = 1;

i.) List all the members who have a dual citizenship of America and South Sudan

SELECT Member.MEMID, memName

FROM Member

WHERE Citizenship = 1

AND OtherCitizenship = ’South Sudan’;

j.) List all the members who joined ACM in 2018

SELECT Member.MEMID, memName

FROM Member

WHERE DateJoined BETWEEN ‘2018-01-01’ AND ‘2018-12-31’;

k.) Join several tables

SELECT statechair.chairid, statechair.chairname, statechair.officeNumber,

NationalCoordinator.CoordID, NationalCoordinator.YearOfHire, NationalCoordinator.OfficeNumber,

CountryRepresentative.CountryRepID, CountryRepresentative.RepresentativeName,

CountryRepresentative.YearOfHire, CountryRepresentative.OfficeNumber

FROM StateChair, NationalCoordinator, CountryRepresentative

WHERE StateChair.COORDID = NationalCoordinator.COORDID

AND NationalCoordinator.CountryRepID = CountryRepresentative.CountryRepID;

ACM Database and Tables

Member Table image 1 and 2:

State Chair table:

State Chapter table:

National Coordinator table:

City Chapter table:

SubMembership table:

Country Representative table: