Database Implementation Report

21
Special Collections Processing Database Jennifer Wiley IST 659 Final Project Implementation Report 5/1/12 1

Transcript of Database Implementation Report

Page 1: Database Implementation Report

Special Collections Processing DatabaseJennifer Wiley

IST 659Final Project Implementation Report

5/1/12

1

Page 2: Database Implementation Report

Table of Contents

Project Summary..............................................................................................................................3

Entities and Attributes.....................................................................................................................4

ERD..................................................................................................................................................7

Infrastructure....................................................................................................................................8

SQL

Create Tables........................................................................................................................8

Sample Data.......................................................................................................................10

Queries...........................................................................................................................................12

Interfaces

Forms.................................................................................................................................15

Reports...............................................................................................................................18

Improvements................................................................................................................................21

2

Page 3: Database Implementation Report

II. Project Summary

Almost every special collections library (a library that acts in many ways as an archive

repository) has a substantial backlog of collections yet to be processed. Due to the lack of

resources from money to time to staff, these unprocessed collections leave researchers in the

dark of what the library truly has to offer, going against the most basic business rule of all

libraries to make materials accessible for the public. Communication problems worsen the issue,

leaving donors (who are most often the source of these libraries’ collections) demanding

information about the status of their collection and staff members unaware of that status. To

make issues worse, researches (library users) may miss out on collections that could be of great

value to them if they are not aware that the library is in possession of such collections.

This project will build a database that strives to alleviate this lack of communication

by maintaining detailed data about the donor, collection, staff, and progress of processing.

By keeping track of the various parties, all members will be able to quickly and efficiently

determine whom to contact when questions or problems arise. By tracking the process, donors

and researchers can be provided with an expected date of completion while the library staff

can easily share with one another what has been done and what still needs to be done. Having

detailed information about the contents of the collection keeps all valuable information in a

single location that the entire staff can have quick access to.

3

Page 4: Database Implementation Report

III. Entities and Attributes

1. Donor Entity

Field Name ExplanationPrimary Key DID Donor ID: unique identifier for each individual donor.

A donor is the individual or organization who donates a collection to the library

Other Attributes DFName Donor’s first name (Required) DLName Donor’s last name (Required) DEmail Donor’s email address (Required) DPhone# Donor’s phone number (Required) DStreet Donor’s physical street address (Required) DState Donor’s physical address - state (Required)

DZip Donor’s physical address - zip code (Required)

2. Staff Entity

Field Name ExplanationPrimary Key SID Staff ID: unique identifier for each individual member

of staffOther Attributes SFName Staff member’s first name (Required) SLName Staff member’s last name (Required) SEmail Staff member’s work email address (Required) SPhone# Staff member’s work phone number (Required) STitle Staff member’s work title (Required) SSDate Staff member’s start date (Required) SEDate Staff member’s end date (Optional)

3. Assignment Entity

Field Name ExplanationPrimary Key AID Assignment ID: unique identifier for each individual

assignment record.Foreign Key 1 SID Staff IDForeign Key 2 CID Collection IDOther Attributes ASDate Assignment record’s start date (Required) AEDate Assignment record’s end date (Optional)

4

Page 5: Database Implementation Report

4. Collection Entity

Field Name ExplanationPrimary Key CID Collection ID: unique identifier for each

individual collection. A collection is a related group of materials donated by the same donor.

Foreign Key DID Donor IDOther Attributes

CName Collection’s name (Required)

Accession# Collection’s accession number (Required). Individual number assigned to a collection upon acquisition documenting the donor, year, and collection. Used for identification and retrieval.

CDesc Description (Required). A quick description of the collection as a whole.

Location (Required). Physical place where the collection is stored.

ExpectedCompletionDate (Optional). Estimated date of completion based on how much of the collection has been processed and knowledge from experience of the staff of how long each step should take.

Appraisal (Optional). The approximate value of the collection as determined by a professional with expertise in such areas.

5

Page 6: Database Implementation Report

5. Process Entity

Field Name ExplanationPrimary Key PID Process step IDForeign Key1 CID Collection ID

Foreign Key2 SID Staff ID

Other Attributes PType Process type (Required). Step in the process in the collection is on. Types are limited to Accession, Survey, Arrangement, Process, Box, and Digitization. No other inputs will be allowedAccession: act of transferring legal title and physically bringing a collection into a library. Establishes legal, physical, and intellectual control over the collection for the library.Survey: quick overview of the collection to get the general idea of what it contains.Arrangement: separating individual items into series (categories) and place the series in the order you wish to present them in the finalized collection.Process: within the set arrangement, processing is placing items into archival folders and labeling appropriately with collection name, series name, subseries (if it applies), and dates of items within a folder.Box: within the set arrangement, boxing is organizing folders within boxes and labeling boxes appropriately. A list of what folders go into what boxes must be kept.Digitization: if resources permit, the library staff may choose to make digital copies of items within the collection.

PSDate Process start date (Required). Date at which the individual process step begins.

PEDate Process end date (Optional).

6

Page 7: Database Implementation Report

ERD

Business Rules Not Represented Above

1. Donors may have access to only their donor record.

2. Donors may have access to only their collection record.

3. Researchers (library users) may have access to collection names, descriptions, accession

numbers, and expected dates of completion.

4. Staff may have access to all data.

5. Process types are not necessarily completed chronologically.

7

Page 8: Database Implementation Report

IV. Database System Infrastructure

This is a simple client-server model infrastructure. SQL Server 2008 was used for the database engine and Access was used for designing the interface. V. SQL

Create Tables

CREATE TABLE Donor(

DID INTEGER NOT NULL,DFName VARCHAR(40) NOT NULL,DLName VARCHAR(40) NOT NULL,DEmail VARCHAR(30) NOT NULL,DPhone# VARCHAR(20) NOT NULL,DStreet VARCHAR(30) NOT NULL,DState VARCHAR(20) NOT NULL,DZip VARCHAR(10) NOT NULL,

CONSTRAINT Donor_PK PRIMARY KEY (DID)); CREATE TABLE Staff(

SID INTEGER NOT NULL,SFName VARCHAR(40) NOT NULL,SLName VARCHAR(40) NOT NULL,SEmail VARCHAR(30) NOT NULL,SPhone# VARCHAR(20) NOT NULL,STitle VARCHAR(40) NOT NULL,SSDate DATETIME default getdate () NOT NULL,SEDate DATETIME default getdate (),

CONSTRAINT Staff_PK PRIMARY KEY (SID));

8

Page 9: Database Implementation Report

CREATE TABLE Collection(

CID INTEGER NOT NULL,DID INTEGER NOT NULL,DonationDate DATETIME default getdate () NOT NULL,CName VARCHAR(100) NOT NULL,Accession# VARCHAR(50) NOT NULL,CDesc VARCHAR(100) NOT NULL,Location VARCHAR(40) NOT NULL,ExpectedCompletionDate VARCHAR(30),--Since this date is an estimation, it will not be automatically generated.Appraisal VARCHAR(40),

CONSTRAINT Collection_PK PRIMARY KEY (CID),CONSTRAINT Collection_FK FOREIGN KEY (DID) references Donor(DID)); CREATE TABLE Assignment(

AID INTEGER NOT NULL,SID INTEGER NOT NULL,CID INTEGER NOT NULL,ASDate DATETIME default getdate () NOT NULL,AEDate DATETIME default getdate (),

CONSTRAINT Assignment_PK PRIMARY KEY (AID),CONSTRAINT Assignment_FK1 FOREIGN KEY (SID) references Staff(SID),CONSTRAINT Assignment_FK2 FOREIGN KEY (CID) references Collection(CID)); CREATE TABLE Process(

PID INTEGER NOT NULL,CID INTEGER NOT NULL,SID INTEGER NOT NULL,PType VARCHAR(40)NOT NULLcheck (PType IN ('Accession', 'Survey', 'Arrangement', 'Process', 'Box', 'Digitization')),

--process types are set to include "Accession", "Survey", "Arrangement", "Process", "Box, and "Digitization". No other input will be allowed

PSDate DATETIME default getdate () NOT NULL,PEDate DATETIME default getdate (),

CONSTRAINT Process_PK PRIMARY KEY (PID),CONSTRAINT Process_FK1 FOREIGN KEY (CID) references Collection(CID),CONSTRAINT Process_FK2 FOREIGN KEY (SID) references Staff(SID)---the Staff and Process tables are related so that documentation of who performed each step and how to contact them is maintained);

9

Page 10: Database Implementation Report

Sample Data INSERT into Donor values('1', 'John', 'Smith', '[email protected]', '5555550000', '111 Street Ave', 'Smalltown', 'New York'),('2', 'Jane', 'Thompson', '[email protected]', '5555551111', '345 Avenue Blvd', 'Largeville', 'Virginia'),('3', 'Teddy', 'Perkins', '[email protected]', '5555552222', '987 One Way St', 'Nowheresville', 'Ohio');

INSERT into Staff values('1', 'Eliza', 'Jenkins', '[email protected]', '5551111111', 'Head Archivist', '2009-09-01 00:00:00:000', NULL),('2', 'Terry', 'Simpson', '[email protected]', '5551112222', 'Assistant Archivist', '2010-04-01 00:00:00:000', '2011-05-31 00:00:00:000'),('3', 'Bob', 'Robert', '[email protected]', '5551112222', 'Assistant Archivist', '2011-06-01 00:00:00:000', NULL);

INSERT into Collection values('1', '1', '2011-01-18 00:00:00:000', 'The Smith WWII Papers', 'SM2011.01.01', 'WWII personal artifacts', 'E3', '2012-05-16', NULL),('2', '1', '2011-10-29 00:00:00:000', 'The Smith Family Papers', 'SM2011.01.02', 'Personal family artifacts of the Smith family', 'F5', NULL, NULL),('3', '2', '2011-05-23 00:00:00:000', 'The Thompson Collection', 'TH2011.02.01', 'Personal artifacts of Jane Thompson, author', 'B2', '2012-08-01', NULL),('4', '3', '2011-06-03 00:00:00:000', 'The Perkins Family Papers', 'PE2011.03.01', 'Personal family artifacts of the Perkins family', 'T4', '2012-12-15', NULL);

10

Page 11: Database Implementation Report

INSERT into Assignment values('1', '2', '1', '2011-01-20 00:00:00:000', NULL),('2', '2', '2', '2011-10-30 00:00:00:000', NULL),('3', '1', '2', '2011-10-30 00:00:00:000', NULL),('4', '1', '3', '2011-05-26 00:00:00:000', NULL),('5', '2', '4', '2011-06-03 00:00:00:000', NULL);

INSERT into Process values('1', '1', '2', 'Accession', '2011-01-20 00:00:00:000', '2011-01-30 00:00:00:000'),('2', '1', '2', 'Survey', '2011-01-31 00:00:00:000', '2011-02-15 00:00:00:000'),('3', '1', '1', 'Arrangement', '2011-03-01 00:00:00:000', '2011-10-13 00:00:00:000'),('4', '1', '2', 'Process', '2011-10-20 00:00:00:000', NULL),('5', '3', '2', 'Accession', '2011-10-30 00:00:00:000', '2011-11-17 00:00:00:000'),('6', '3', '1', 'Survey', '2011-11-23 00:00:00:000', '2012-01-05 00:00:00:000'),('7', '3', '1', 'Process', '2012-01-20 00:00:00:000', NULL),('8', '4', '1', 'Accession', '2012-03-12 00:00:00:000', NULL);

11

Page 12: Database Implementation Report

VI. Queries

What date will The Smith WWII Papers collection be complete? - a question requesting the expected date of completion could be asked by either a donor or a researcher with specific interest in the progress of a particular collection (could be asked of a staff member to perform the actual query from them to avoid the views created below)

What collections with information about WWII will be available by the end of the year? - a question requesting what collections pertaining to a certain topic are expected to be complete by a certain date could be asked by a researcher working on the subject with a deadline (could be asked of a staff member to perform the actual query from them to avoid the views created below)

What process steps have been completed for The Smith WWII Papers collection? - a question requesting the steps completed for a specific collection could be asked by a library staff member either responding to a question from a researcher or donor or one interested in picking up where other staff members have left off in the process. (could be asked of a staff member to perform the actual query from them to avoid the views created below)

12

Page 13: Database Implementation Report

How many collections have been donated by John Smith? - a question asking how many collections have been donated by one donor could be asked by either a donor trying to remember what repositories have their collections or a staff member surveying how many donors give repeatedly (could be asked of a staff member to perform the actual query from them to avoid the views created below)

How many collections is the head archivist working on? - a question requesting how many collections a specific member of staff is currently working on could be asked by a member of staff responsible for assigning new collections to staff members in order to ensure no one is being overworked.

13

Page 14: Database Implementation Report

To protect privacy, views can be created to limit access to both researchers and donors on different levels while leaving access open for the library staff Donors_V: view created to restrict access to donors so that they may only view information about their own donor record or collection record.

Collections_V: view created to restrict access to researchers so they may only see the collection ID, collection name, collections description, accession number, and expected completion date for collections meeting their queries

Additionally, a view can be created so that staff can quickly see who is working on each collection.StaffAssign_V

14

Page 15: Database Implementation Report

VII. Interfaces

Forms

Donor form with collections subform

15

Page 16: Database Implementation Report

Collections form with process subform

16

Page 17: Database Implementation Report

Staff form with assignment subform

17

Page 18: Database Implementation Report

Reports

Report for view: Donors_V

18

Page 19: Database Implementation Report

Report for view: Collections_V

19

Page 20: Database Implementation Report

Report for Staff Assignments

20

Page 21: Database Implementation Report

Improvements

There were three major flaws suggested in critiques during the demo that were fixed

1. A relationship was created between the Process and Staff entities so that each process

type within the collection could be tied to the person responsible for it and there contact

information.

2. A business rule not represented in the ERD was added explaining that process types are

not always performed chronologically.

3. A view and report were created for staff assignments.

Additionally fixed was a flaw in the relationship between Collections and Process in Access

which caused the form/subform not to work properly.

21