Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Concurrency control wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Relational model wikipedia , lookup
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