Download THIRD System Diagrams

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IMDb wikipedia , lookup

Concurrency control wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

SQL wikipedia , lookup

Database wikipedia , lookup

PL/SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
TA: Josh Jones
The Texas Hillel Foundation
April 5, 2011
Recommendations for next semester’s MIS 374 team at Hillel
*This Report covers the key components of our project, delivery, and key future recommendations for
the continuation of the Hillel project.
Contents
System Introduction/Components ............................................................................................................... 2
Future Actions ............................................................................................................................................... 3
Get System Installed on the new Hillel Server .......................................................................................... 3
Data Migration .......................................................................................................................................... 3
Create Relationships Between People ...................................................................................................... 4
Site Upgrades ............................................................................................................................................ 4
THIRD System Diagrams ................................................................................................................................ 5
Context Diagram ....................................................................................................................................... 5
Figure 0 Diagram ....................................................................................................................................... 5
Database Overview ....................................................................................................................................... 6
ERD ............................................................................................................................................................ 6
Table Definitions ....................................................................................................................................... 6
Web Flow Diagrams ...................................................................................................................................... 8
Donors:...................................................................................................................................................... 8
Students: ................................................................................................................................................... 8
Users: ........................................................................................................................................................ 8
Events:....................................................................................................................................................... 9
System Introduction/Components
The previous database system utilized by Hillel to store and manage donor and student information was
comprised of 2 systems: DonorPerfect, an off-the shelf donation database management software, and
a custom-built Microsoft Access-based student content management system. The front ends of these
systems were not as intuitive as the client would prefer, the databases themselves were not normalized,
but the fact that they were separate systems led to most of the problems.
The Texas Hillel Foundation recruited the SLI Consulting team to improve the organization’s ability to
access donor data, to raise funds more efficiently, and access student data to help staff relate better to
the members. We combined the two separate database systems into one which we call the Texas Hillel
Integrated and Relational Database (THIRD). This database has the ability to store data about students,
donors, parents, and users in a single system. This is advantageous to Hillel because they are now able
to see the relationships between the people in their databases, as well as specific information like
donations for donors and interests for students. This database is stored in SQL Server 2008 on the Texas
Hillel server, which is on the ground floor of the Austin location.
Furthermore, we have created an interface that unites the capabilities of Hillel’s old interface systems
and has additional functionality that will improve data manipulation. Hillel did not require that we build
a web-interface for the THIRD system, but it was the same amount of work and is more aesthetically
appealing. The interface was built in Visual Studio .NET in VB, with Javascript from the jQuery library
and jQuery UI plugin . It has the ability to add, modify, and delete donors, students, events, and system
users (i.e., Hillel’s staff). Also, users are able to run advanced searches for donors, donations, and
students which are then turned into reports. The reports are exported to excel spreadsheets to be used
in fundraising, relating to members, and planning events.
Since we left Hillel in the Spring of 2010, they had a new server installed. So I can safely assume that
none of our work is available electronically at the physical Hillel building (21st and San Antonio).
Starting off on the Right Foot



Download “Beyond Compare” and learn how to use it for file comparison, this makes it really
easy to see what changes your teammates have made to a common set of coding pages (when
compared to your local copy, on your laptop or whatever)
This is a terrific client and I am sure that they will be happy to have you finish up where we left
off, so that they can actually use the THIRD system for the benefit of their organization
You need to have the client, David K., help you create a meeting with David from Mr. PC
o This is Hillel’s server management company, and you will probably be speaking with this
David frequently
o He is a bit difficult to pin down around time scheduling and getting things done
o When you meet with him have a gift basket for him or buy him a nice lunch, this will
make your life a lot easier when dealing with server setup and system installation issues
Future Actions
Get System Installed on the new Hillel Server



Work with Mr. PC (David) to get SQL Server installed
Run database creation scripts (that the professors have on BaseCamp) through SQL Server in the
order depicted below
1. <Create Tables.sql> When run through SQL Server, this automatically creates our
database structure
2. <Initial Record Entry.sql> When run through SQL server, this automatically enters some
basic data into each of our tables that is necessary for this system to work
3. <Stored Procedures.sql> When run through SQL server, this automatically creates the
stored procedures that are vital to our systems inner-workings
o <Drop Tables.sql> When run through SQL server, this automatically deletes all of the
database tables of our system (do not run this unless you are reinstalling the database
for some reason)
Work with Mr. PC (David) to get the THIRD system that we created files up on the server
Data Migration
As discovered early in the project, migrating data from the existing databases to the THIRD system
would not be possible during the Spring 2010 semester. As a result, the reporting features of the site
provide very little value at this time. Moving data to the new system should be the highest priority after
the system is installed.


The first difficulty is extracting all of the current data from the two on-site databases
o We only got about 75% of the total donor and member data we needed from David K. as
he did not know how to extract it all electronically
o You will have to find a way to get ALL of the data out of the DonorPerfect database, as
well as the Microsoft Access student database
Next you have to figure out how you are going to get the data into the SQL database that our
team created (description and ERD on following pages)
o Knowing how you will do this is key, as it will tell you how you are going to have to clean
up and organize the data in order to insert it into the database properly
o Adding the data manually would be ridiculously painful (over 20,000 records)
o Doing research on how to import new data (in bulk) into existing database table in SQL
may be one way of doing it (I challenge you to figure out a slicker, more creative,
possibly easier way to do this)
o There are several issues with getting this data into the current database tables, not
limited to the following
 The order in which you insert data, as the tables are connected by keys and
relationships, is very important
 You will have to figure out how to efficiently (not manually) insert relational
data (possibly by using a person’s ID or other primary keys): for example, if you

are entering people who are donors that have donated several times you have
to figure out how to enter/import that data and the relationships to those
specific donations and those specific people (this is only one complex example,
there are several)
 Avoid doing any actual “relationship” creations between people, allow David K.
to do it through the GUI when you are all done (i.e. parents and children)
Once you have determined the best way to get all of the data in efficiently, you will have to
decide how you are going to organize and clean up the data in bulk, so that it fits your method
of entering it into the database
Create Relationships Between People
Have David K. create relationships between family members through the system’s interface at his desk,
as this is (theoretically) the only thing not yet entered in the database
Site Upgrades
We do feel that the site as-is provides a great benefit to Texas Hillel, however, if you have time you
should add a few modules to the existing system. Currently, there are no GUI interface pages or forms
that allow Hillel to enter new data into the following tables (there is also no way currently to link that
data to a particular person or group of people):







tblInterests
tblDorms
tblCampaigns
tblUniversity
tblOrganizations
tblFieldsOfStudy
This is a very complex database, so be sure to cover all of the possible combinations of data
entries and relationships to those data entries possible
THIRD System Diagrams
Context Diagram
EE1
Students
Personal Information
Texas Hillel System
Donor,
donation info
Donation Request
Event Invitations
EE2
Donors
Donor Data
EE3
Network for
Good
Figure 0 Diagram
EE1
Students
Personal Information
1
Enter new
Student data
Student Data
S1
THIRD
Student Interns
Event Invitations
Student and
Donor data
2
Generate
Student/donor
Analysis reports
EE2
Donors
Donation Request
Donor, donation
information
Donor Data
EE3
Network for
Good
Hillel Staff
New donor,
Donation data
3
Enter donor,
Donation data
Hillel Staff
Tax relevant
Donor data
S2
QuickBooks
Database Overview
ERD
tblPhoneNumbers
tblPledges
PK
FK1
PK
FK1
PledgeID
PledgeDate
PledgeAmount
Campaign
PhoneID
PersonID
PhoneNumber
PhoneNumberType
PrimaryPhone
tblEvents
tblPeopleEventsBridge
PK,FK1
PK,FK2
PK
EventID
EventName
EventDate
EventType
PersonID
EventID
tblCampaigns
PK
Campaign
PK,FK1
PK,FK2
tblDonations
PK
DonationID
DonationDate
DonationAmount
Campaign
FK1
tblOrganizations
PK
OrganizationID
Name
OrganizationType
PK,FK1
PK,FK2
PK
UniversityID
Name
City
State
PledgeID
PersonID
PK
PersonID
Title
FirstName
LastName
Sex
Religion
BeenToIsrael
SourceOfInformation
Contact
NoContactReason
BirthrightEligibility
Birthday
Comment
DormName
DonationID
PersonID
tblPeopleOrganizationsBridge
PK,FK1
PK,FK2
StudentUniversityID
UniversityID
StudentID
Status
YearStarted
GraduationYear
tblUniversity
tblPeople
tblPeopleDonationsBridge
tblStudentUniversityBridge
PK
FK1
FK2
tblPeopleInterestsBridge
tblPeoplePledgeBridge
PersonID
OrganizationID
PK
tblDorms
PK
PK
tblEmails
PK
FK1
EmailID
PersonID
EmailAddress
EmailType
PrimaryEmail
InterestID
Interest
tblAddress
DormName
FK1
FK2
AddressID
Address
ApartmentNumber
City
State
ZipCode
Country
PersonID
PrimaryAddress
tblStates
tblRelationships
StudentID
PersonID
CurrentStudent/Alum
Involvement
Field
StudentUniversityID
Emphasis
tblInterests
InterestID
PersonID
tblStudentInformation
PK
FK1
tblFieldOfStudyBridge
PK,FK2
PK,FK1
FK1
PK,FK1
PK,FK2
PK
FK1
FK2
tblFieldsOfStudy
PK
Field
RelationshipID
ChildID
ParentID
RelationshipType
PK
State
tblStaff
PK
Username
Password
AuthorityLevel
StartDate
EndDate
Active
FirstName
LastName
Table Definitions
The naming convention used for the tables was designed to make their contents more intuitive. The
table names, along with a brief description follows:




TblPeople
o Stores information common to students, alumni, and donors. Information such as first
and last name, sex, religion, birthday, and other pertinent information is stored in this
table. As required information varies by type of person (student, alum, donor), many of
the fields in this table are not required.
TblPhoneNumbers
o Stores phone # and type, and whether they are the primary email for each person.
TblEmails
o Stores email addresses, type, and whether they are the primary email for each person.
TblAddress
o


















Stores address, apartment number, city, state, zip code, country, and dorm names. Only
address, city, and country are required.
TblPledges
o Stores pledge date, amount, and campaign in which each pledge was made.
TblPeoplePledgeBridge
o Bridges TblPledges and TblPeople. Using this bridge allows for a multiple users to be
associated with a single pledge
TblDonations
o Stores donation date, amount, and campaign in which each donation was made.
TblPeopleDonationsBridge
o Bridges TblDonations and TblPeople. Using this bridge allows for a multiple users to be
associated with a single donation.
TblCampaigns
o Stores fundraising campaigns only. This table is used to associate donations and pledges
to a campaign
TblStudentInformation
o Stores student status (current student/alum) and info on their activities on campus
TblUniversity
o Stores University names, city, and state.
TblStudentUniversityBridge
o Bridges TblStudentInformation and TblUniversity. Stores the year they started school,
and if applicable, their graduation year.
TblFieldsOfStudy
o Stores fields of study students may be enrolled in or graduated from. These are areas
that a student can Major, Minor, or have a Concentration on.
TblFieldOfStudyBridge
o Bridges TblStudentInformation and TblFields of study. Stores the student’s field of study
emphasis.
TblOrganizations
o Stores the name of organizations and their type.
TblPeopleOrganizationsBridge
o Bridges TblOrganizations and TblPeople. This allows people to be associated with
multiple organizations and organizations to be associated to multiple people.
TblEvents
o Stores information on events that Hillel holds, including event name, date, type, and
location of event.
TblPeopleEventsBridge
o Bridges TblEvents and TblPeople. This allows people to be associated with multiple
events and events to be associated to multiple people.
TblInterests
o Stores people’s interests.
TblPeopleInterestsBridge
o Bridges TblPeople and TblInterests
TblDorms
o Stores all on-campus housing
TblStates
o Stores all 50 US States
Web Flow Diagrams
Donors:
Donors
Add
Find
Advanced
Search
List Donations
Modify/Add
Donation
Report
Export
Students:
Students
Add
Find
Advanced
Search
Modify
Report
Users:
Users
Add
Find
Modify
Events:
Events
Add
Find
Modify