Finalpaper
Finalpaper
Database
OMIS 105: 2:00PM-3:40PM
November 29th, 2016
Keaton Lee
Prianka Singh
Organization Description
Santa Clara Universitys Leavey School of Business offers a Peer Advising Program that develops a group
of students to be trained and knowledgeable about LSB requirements and advising resources. Each
first-year student is paired with an experienced business student at Santa Clara to provide guidance and
support. Peer advisors provide assistance on the following topics:
Campus life at Santa Clara University
eCampus - the online student record system
Course selection and scheduling
Locating and appropriate information in the University Bulletin and website
Resources and tools for course planning
Referral to faculty with relevant academic and/or career information
Campus resources available to support academic, personal and career development
Getting involved in student life
General support and encouragement
From a back-end perspective, Peer Advisors are trained and instructed by the Director of Academic Advising
and Support Services for the Undergraduate Business Programs Office, Connie Rice. As Peer Advisors
meet with their advisees, Connie maintains records of all the meetings through an online system called
Symplicity. Students create individual entries for each meeting, including general information about the
meeting and the advice that the advisors gave. Each week, a Program Assistant working under Connie pulls
a report of the Symplicity entries, manually cleans the data, and copies it into a database in Microsoft
Database. The Program Assistant also maintains close communication with the Advisors to find and input
missing data entries, as there are no restrictive controls to ensure fields are not left blank. This process is
very redundant and inefficient, and pulls from valuable time that can be used elsewhere in the program.
Database Description
We have developed an entirely new database for all of this information to increase the efficiency and
accuracy of the data entries, but also to be able to help find valuable relationships in the data to improve the
program.
As Peer Advisors, we both have inside knowledge of the relationships and business rules that govern the
business schools Peer Advising program. Taking a more technical perspective, all students at SCU are in
the database. Peer Advisors are assigned a group of freshman to advise over the full academic year. Each
student is assigned a faculty advisor, and sometimes multiple faculty advisors be assigned across multiple
groups. To meet with a Peer Advisor, a student can schedule an appointment ahead of time, or they can
meet with them without an appointment. This can be in the form of a phone call, text, in person, or over
social media. Meetings are either about course scheduling or general advising. If a meeting is for course
scheduling, the peer advisor creates a schedule for a respective quarter, which contains classes for the
student to take. When a peer advisor holds a general advising meeting, it can be about a range of topics
such as Annual Academic Advising.
Our database stores only relevant information regarding the Peer Advising process while outlining the
relationships between the various entities within the Peer Advising office. Additionally it will help the Peer
Advisors limit the repetition of data in their current system. This database will also allow Connie to better
improve the Peer Advising Program by understanding what areas students would like peer advisors to put
more effort in. The system in place right now has copies of their information stored in various places, leading
to a vastly inefficient process filled with repetitive data and various entry errors. By utilizing this data, we will
be able to develop our forecasting techniques while optimizing efficiencies within the office.
ER Diagram
Data Dictionary
STUDENT
MEETING
ADVISEE
GROUP
PEER
ADVISOR
MEETING_
COURSE
SCHEDULING
SCHEDULE
COURSE
MEETING_
GENERAL
ADVISING
REFERRAL
RESOURCE
QUARTER
STUDENT_
MEETING
STUDENT_
QUARTER
QUARTER_
COURSE
COURSE_
SCHEDULE
FACULTY_
ADVISOR_
GROUP
Appointment
CREATE TABLE Appointment_T
(AppointmentID bigint NOT NULL
CHECK (AppointmentID>0),
AppointmentDateTime datetime NOT NULL,
AppointmentReason nvarchar(80) NOT NULL,
PeerAdvisorID bigint NOT NULL
CHECK (PeerAdvisorID>0),
CONSTRAINT Appointment_PK PRIMARY KEY (AppointmentID),
CONSTRAINT Appointment_FK FOREIGN KEY (PeerAdvisorID)
REFERENCES PeerAdvisor_T(PeerAdvisorID));
Meeting
CREATE TABLE Meeting_T
(MeetingID bigint NOT NULL
CHECK (MeetingID>0),
MeetingDate datetime NOT NULL,
MeetingLength bigint NOT NULL
CHECK (MeetingLength>0),
MeetingNotes nvarchar(500) NULL,
MeetingType char(1) NOT NULL,
PeerAdvisorID bigint NOT NULL
CHECK (PeerAdvisorID>0),
AppointmentID bigint NOT NULL
CHECK (AppointmentID>0),
CONSTRAINT Meeting_PK PRIMARY KEY (MeetingID),
CONSTRAINT Meeting_FK1 FOREIGN KEY(PeerAdvisorID) REFERENCES
PeerAdvisor_T(PeerAdvisorID),
CONSTRAINT Meeting_FK2 FOREIGN KEY(AppointmentID) REFERENCES
Appointment_T(AppointmentID));
Faculty Advisor
CREATE TABLE FacultyAdvisor_T
(FacultyAdvisorID bigint NOT NULL
CHECK (FacultyAdvisorID>0),
FacultyName nvarchar(50) NOT NULL,
FacultyDepartment nvarchar(50) NOT NULL,
FacultyEmail nvarchar(50) NOT NULL,
CONSTRAINT FacultyAdvisor_PK PRIMARY KEY (FacultyAdvisorID));
Advisee Group
CREATE TABLE AdviseeGroup_T
(GroupID bigint NOT NULL
CHECK (GroupID>0),
GroupName nvarchar(50) NOT NULL,
PeerAdvisorID bigint NOT NULL
CHECK (PeerAdvisorID>0),
CONSTRAINT AdviseeGroup_PK PRIMARY KEY (GroupID),
CONSTRAINT AdviseeGroup_FK FOREIGN KEY (PeerAdvisorID)
REFERENCES PeerAdvisor_T(PeerAdvisorID));
Peer Advisor
CREATE TABLE PeerAdvisor_T
(PeerAdvisorID bigint NOT NULL
CHECK (PeerAdvisorID>0),
PeerAdvisorName nvarchar(50) NOT NULL,
PeerAdvisorMajor nvarchar(50) NULL,
PeerAdvisorEmail nvarchar(50) NOT NULL,
PeerAdvisorPhoneNumber char(10) NOT NULL,
PeerAdvisorGraduationYear numeric(4) NOT NULL,
PeerAdvisorSpecialization nvarchar(20) NULL,
PeerAdvisorAddress nvarchar(50) NOT NULL,
PeerAdvisorCity nvarchar(30) NOT NULL,
PeerAdvisorState char(2) NOT NULL,
PeerAdvisorZipCode numeric(5) NOT NULL,
GroupID bigint NOT NULL,
CONSTRAINT PeerAdvisor_PK PRIMARY KEY (PeerAdvisorID),
CONSTRAINT PeerAdvisor_FK FOREIGN KEY (GroupID) REFERENCES
AdviseeGroup_T(GroupID));
Schedule
CREATE TABLE Schedule_T
(ScheduleID bigint NOT NULL
CHECK (ScheduleID>0),
ScheduleNotes nvarchar(500) NULL,
C_MeetingID bigint NOT NULL
CHECK (C_MeetingID>0),
StudentID bigint NOT NULL
CHECK (StudentID>0),
CONSTRAINT Schedule_PK PRIMARY KEY (ScheduleID),
CONSTRAINT Schedule_FK1 FOREIGN KEY (C_MeetingID)
REFERENCES Meeting_CourseScheduling_T(C_MeetingID),
CONSTRAINT Schedule_FK2 FOREIGN KEY (StudentID) REFERENCES
Student_T(StudentID));
Course
CREATE TABLE Course_T
(CourseID bigint NOT NULL
CHECK (CourseID>0),
CourseName nvarchar(8) NOT NULL,
CourseUnits numeric(1) NOT NULL,
CourseDay nvarchar(3) NOT NULL,
CourseStartTime time(0) NOT NULL,
CourseEndTime time(0) NOT NULL,
CONSTRAINT Course_PK PRIMARY KEY (CourseID));
Referral
CREATE TABLE Referral_T
(ReferralID bigint NOT NULL
CHECK (ReferralID>0),
ReferralReason nvarchar(100) NOT NULL,
G_MeetingID bigint NOT NULL
CHECK (G_MeetingID>0),
ResourceID bigint NOT NULL
CHECK (ResourceID>0),
StudentID bigint NOT NULL
CHECK (StudentID>0),
CONSTRAINT Referral_PK PRIMARY KEY (ReferralID),
CONSTRAINT Referral_FK1 FOREIGN KEY (G_MeetingID)
REFERENCES Meeting_GeneralAdvising_T(G_MeetingID),
CONSTRAINT Referral_FK2 FOREIGN KEY (ResourceID) REFERENCES
Resource_T(ResourceID),
CONSTRAINT Referral_FK3 FOREIGN KEY (StudentID) REFERENCES
Student_T(StudentID));
Referral Resource
CREATE TABLE ReferralResource_T
(ResourceID bigint NOT NULL
CHECK (ResourceID>0),
ResourceName nvarchar(50) NOT NULL,
ResourcePhoneNumber char(10) NOT NULL,
ResourceEmail nvarchar(50) NOT NULL,
CONSTRAINT ReferralResource_PK PRIMARY KEY (ResourceID));
Quarter
CREATE TABLE Quarter_T
(QuarterID bigint NOT NULL
CHECK (QuarterID>0),
UnitTotal numeric(2) NOT NULL
CHECK (UnitTotal>0),
C_MeetingID bigint NOT NULL
CHECK (C_MeetingID>0),
CONSTRAINT Quarter_PK PRIMARY KEY (QuarterID),
CONSTRAINT Quarter_FK FOREIGN KEY (C_MeetingID)
REFERENCES Meeting_CourseScheduling_T(C_MeetingID));
Student Appointment
CREATE TABLE Student_Appointment_T
(Student_AppointmentID bigint NOT NULL
CHECK (Student_AppointmentID>0),
StudentID bigint NOT NULL
CHECK (StudentID>0),
AppointmentID bigint NULL
CHECK (AppointmentID>0),
CONSTRAINT Student_Appointment_PK PRIMARY KEY (Student_AppointmentID),
CONSTRAINT Student_Appointment_FK1 FOREIGN KEY (StudentID) REFERENCES
Student_T(StudentID),
CONSTRAINT Student_Appointment_FK2 FOREIGN KEY (AppointmentID)
REFERENCES Appointment_T(AppointmentID));
Student Meeting
CREATE TABLE Student_Meeting_T
(Student_MeetingID bigint NOT NULL
CHECK (Student_MeetingID>0),
StudentID bigint NOT NULL
CHECK (StudentID>0),
MeetingID bigint NULL
CHECK (MeetingID>0),
CONSTRAINT Student_Meeting_PK PRIMARY KEY (Student_MeetingID),
CONSTRAINT Student_Meeting_FK1 FOREIGN KEY (StudentID) REFERENCES
Student_T(StudentID),
CONSTRAINT Student_Meeting_FK2 FOREIGN KEY (MeetingID)
REFERENCES Meeting_T(MeetingID));
Student Quarter
CREATE TABLE Student_Quarter_T
(Student_QuarterID bigint NOT NULL
CHECK (Student_QuarterID>0),
StudentID bigint NULL
CHECK (StudentID>0),
QuarterID bigint NULL
CHECK (QuarterID>0),
CONSTRAINT Student_Quarter_PK PRIMARY KEY (Student_QuarterID),
CONSTRAINT Student_Quarter_FK1 FOREIGN KEY (StudentID) REFERENCES
Student_T(StudentID),
CONSTRAINT Student_Quarter_FK2 FOREIGN KEY (QuarterID) REFERENCES
Quarter_T(QuarterID));
Quarter Course
CREATE TABLE Quarter_Course_T
(Quarter_CourseID bigint NOT NULL
CHECK (Quarter_CourseID>0),
QuarterID bigint NOT NULL
CHECK (QuarterID>0),
CourseID bigint NULL
CHECK (CourseID>0),
CONSTRAINT Quarter_Course_PK PRIMARY KEY (Quarter_CourseID),
CONSTRAINT Quarter_Course_FK1 FOREIGN KEY (QuarterID) REFERENCES
Quarter_T(QuarterID),
CONSTRAINT Quarter_Course_FK2 FOREIGN KEY (CourseID) REFERENCES
Course_T(CourseID));
Course Schedule
CREATE TABLE Course_Schedule_T
(Course_ScheduleID bigint NOT NULL
CHECK (Course_ScheduleID>0),
CourseID bigint NOT NULL
CHECK (CourseID>0),
ScheduleID bigint NOT NULL
CHECK (ScheduleID>0),
CONSTRAINT Course_Schedule_PK PRIMARY KEY (Course_ScheduleID),
CONSTRAINT Course_Schedule_FK1 FOREIGN KEY (CourseID) REFERENCES
Course_T(CourseID),
CONSTRAINT Course_Schedule_FK2 FOREIGN KEY (ScheduleID) REFERENCES
Schedule_T(ScheduleID));
Views
1. Peer Advising Administration View
The first view that we created was for the administration of the peer advising program. This view will display
each peer advisor, the types of meeting they have participated in, the average length of each of these
meetings, and the total number of meetings for each type. This is important for the administration because
they need to see how often and for long long peer advisors are meeting with their students. If they are
meeting with students too much, they may want to hire more peer advisors next year. Similarly, if they are
meeting too little, the office may hire fewer advisors.
5. Student View
The last view that we created was intended to be used by students. Within this view, students are able to
see which courses have been recommended to them by their peer advisor and the day and time of these
courses. Additionally, the quarter and year of the prescribed schedule can be seen. In this example, our
student John Locke is viewing his schedule for Winter 2017. This view is extremely important for students
as they will be using these course plan while registering for their classes.