COSSAVVU / CoSSAVVUDB

A database for CoSSA VVU
MIT License
5 stars 0 forks source link

CoSSAVVUDB

A database for CoSSA VVU

Proposed tables A comprehensive structure for Our CoSSA database, covering members, events, roles, committees, announcements, sponsorships, feedback, resources, and meetings... Each table is designed to store specific information, ensuring data integrity and ease of access.

A CoSSA database can be incredibly beneficial. Here’s why:

Diagram Link 🔗: https://lucid.app/lucidchart/cdc4875c-d0c9-413c-b2e3-544e800b6e3a/edit?viewport_loc=-1819%2C-3020%2C5068%2C2749%2C0_0&invitationId=inv_5be5f9d3-3925-450f-b611-8d1554d9ceb9

---CoSSAVVUDB

Members Data Type/ Relation
MemberID INT AUTO_INCREMENT PK
Name VARCHAR(100)
StudentID VARCHAR(20) UNIQUE
Email VARCHAR(100)
PhoneNumber VARCHAR(15)
JoinDate DATE
Major VARCHAR(50)
GraduationYear INT

Relationships

Members are connected to:


Events Data Type/ Relation
EventID INT AUTO_INCREMENT PRIMARY KEY
EventName VARCHAR(100)
EventDate DATE
Location VARCHAR(100)
Description TEXT
OrganizerID INT (Foreign key referencing Members)

Relationships:

Events are connected to:


Registrations Data Type/ Relation
RegistrationID INT AUTO_INCREMENT PRIMARY KEY
MemberID INT (Foreign key referencing Members)
EventID INT (Foreign key referencing Events)
RegistrationDate DATE

Roles Data Type/ Relation
RoleID INT AUTO_INCREMENT PRIMARY KEY
RoleName VARCHAR(50)

Relationship:

Roles are connected to:


MemberRoles Data Type/ Relation
MemberRoleID INT AUTO_INCREMENT PRIMARY KEY
MemberID INT (Foreign key referencing Members)
RoleID INT (Foreign key referencing Roles)
StartDate DATE
EndDate DATE

Committees Data Type/ Relation
CommitteeID INT AUTO_INCREMENT PRIMARY KEY
CommitteeName VARCHAR(100)
Description TEXT

Relationship:

Committees are connected to:


MemberCommittees Data Type/ Relation
MemberCommitteeID INT AUTO_INCREMENT PRIMARY KEY
MemberID INT (Foreign key referencing Members)
CommitteeID INT (Foreign key referencing Committees)
JoinDate DATE
LeaveDate DATE

Announcements Data Type/ Relation
AnnouncementID INT AUTO_INCREMENT PRIMARY KEY
Title VARCHAR(100)
Content TEXT
PostedByID INT (Foreign key referencing Members)
PostedDate DATE

Sponsors Data Type/ Relation
SponsorID INT AUTO_INCREMENT PRIMARY KEY
SponsorName VARCHAR(100)
ContactInfo VARCHAR(150)
SponsorshipAmount DECIMAL(10, 2)

Relationship:

Sponsors are connected to:


EventSponsors Data Type/ Relation
EventSponsorID INT AUTO_INCREMENT PRIMARY KEY
EventID INT (Foreign key referencing Events)
SponsorID INT (Foreign key referencing Sponsors)
SponsorshipAmount DECIMAL(10, 2)

Feedback Data Type/ Relation
FeedbackID INT AUTO_INCREMENT PRIMARY KEY
MemberID INT (Foreign key referencing Members)
EventID INT (Foreign key referencing Events)
Rating INT (1 to 5)
Comments TEXT
FeedbackDate DATE

Resources Data Type/ Relation
ResourceID INT AUTO_INCREMENT PRIMARY KEY
ResourceName VARCHAR(100)
ResourceType VARCHAR(50)
URL VARCHAR(200)
UploadedByID INT (Foreign key referencing Members)
UploadDate DATE

Meetings Data Type/ Relation
MeetingID INT AUTO_INCREMENT PRIMARY KEY
MeetingName VARCHAR(100)
MeetingDate DATE
Location VARCHAR(100)
Notes TEXT
OrganizerID INT (Foreign key referencing Members)

Relationship:

Meetings are connected to: -Attendance through MeetingID (one-to-many relationship)


Attendance Data Type/ Relation
AttendanceID INT AUTO_INCREMENT PRIMARY KEY
MeetingID INT (Foreign key referencing Meetings)
MemberID INT (Foreign key referencing Members)
AttendanceStatus ENUM('Present', 'Absent', 'Excused')

Membership Dues Data Type/ Relation
PaymentID INT AUTO_INCREMENT PRIMARY KEY
MemberID INT ( Foreign Key referencing Members)
Amount DECIMAL(10, 2)
PaymentDate DATE
PaymentMethod ENUM('Cash', 'Card', 'Online Transfer')
Status ENUM('Paid', 'Pending')
Note TEXT

You are Free To Make a Pull Request.