3. 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
4. III. Entities and Attributes
1. Donor Entity
Field Name Explanation
Primary 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 Explanation
Primary Key SID Staff ID: unique identifier for each individual member
of staff
Other 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 Explanation
Primary Key AID Assignment ID: unique identifier for each individual
assignment record.
Foreign Key 1 SID Staff ID
Foreign Key 2 CID Collection ID
Other Attributes ASDate Assignment record’s start date (Required)
AEDate Assignment record’s end date (Optional)
4
5. 4. Collection Entity
Field Name Explanation
Primary 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 ID
Other CName Collection’s name (Required)
Attributes
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
6. 5. Process Entity
Field Name Explanation
Primary Key PID Process step ID
Foreign 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
allowed
Accession: 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
7. 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
8. 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
9. 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 NULL
check (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
10. Sample Data
INSERT into Donor values
('1', 'John', 'Smith', 'jsmith@email.com', '5555550000', '111 Street Ave', 'Smalltown', 'New York'),
('2', 'Jane', 'Thompson', 'janeNT@email.com', '5555551111', '345 Avenue Blvd', 'Largeville', 'Virginia'),
('3', 'Teddy', 'Perkins', 'tpMan@email.com', '5555552222', '987 One Way St', 'Nowheresville', 'Ohio');
INSERT into Staff values
('1', 'Eliza', 'Jenkins', 'eliza.jenkins@archive.edu', '5551111111', 'Head Archivist', '2009-09-01
00:00:00:000', NULL),
('2', 'Terry', 'Simpson', 'terry.simpson@archive.edu', '5551112222', 'Assistant Archivist', '2010-04-01
00:00:00:000', '2011-05-31 00:00:00:000'),
('3', 'Bob', 'Robert', 'bob.robert@archive.edu', '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
12. 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
13. 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
14. 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
21. 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