University Library
JSD Demo Example
Archive File Name: DD_UNIV
Contact: Stephen Ferg (steve@ferg.org)
2003-01-19 22:58:27
Project Home Page
Entry number 1 Table of Contents
.NOTE........: Introductory Notes
.DESCRIPTION.:
This dictionary holds a JSD-style specification for the University
Library system. The University Library example is a standard example
used to teach JSD.
For information about JSD see
System Development
by Michael Jackson, and
JSP and JSD
edited by John Cameron.
In a concession to object-oriented terminology, this dictionary
specifies the model in terms of "classes" and "events", rather
than JSD "entities" and "actions".
The dictionary is maintained in a software package called
Wyx.
For portability, the JSD action structure (entity life history)
diagrams in this dictionary have been rendered in ASCII (rather
than linedraw) characters.
Entry number 2 Table of Contents
.CLASS.......: Copy
.OBJECT_TYPE.: ENTITY model process
.CHAR_30_NAME: COPY
.PLATFORMS...: SYBASE
.DESCRIPTION.:
A COPY is a physical copy of an item. Note that COPY is
identifier-dependent on ITEM.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
acquisition_date &date
last_loan_date &date
.PROCESS_DIAGRAM: (COPY)Refreshed from file: process\copy-class.pdd
Diagram created 2001-03-24 at 11:31pm by Ferg_S
_____________
| |
| COPY |
| |
|_____________|
_______________|_______________
______|______ ______|______ ______|______
| || || |
| <acquire || COPY || <dispose |
| COPY> || body || COPY> |
|_____________||_____________||_____________|
|
______|______
| *|
| 1 |
|availability |
| cycle |
|_____________|
__________________|___________________
______|______ ______|______
| o| | o|
| lend | | rebind |
| episode | | episode |
|_____________| |_____________|
_______________|_______________ _______|________
______|______ ______|______ ______|______ ______|______ ______|______
| || || || || |
| <start || possible || <end || <go || <return |
| loan> || renewals || loan> || to || from |
| || || || rebind> || rebind> |
|_____________||_____________||_____________||_____________||_____________|
|
______|______
| *|
| <renew |
| loan> |
|_____________|
.PROCESS_EVENTS:
acquire_copy
start_loan
renew_loan
end_loan
go_to_rebind
return_from_rebind
dispose_copy
Entry number 3 Table of Contents
.CLASS.......: Item
.OBJECT_TYPE.: ENTITY model process
.CHAR_30_NAME: ITEM
.PLATFORMS...: SYBASE
.DESCRIPTION.:
A ITEM is an abstract entity: the work itself, as opposed to its
physical embodiments in various copies.
.COMPOSITION.:
item_id &item_id
;[endpk]
item_name &item_name
author_name &author_name
publisher_name &publisher_name
year_published &date_year
isbn &isbn
reservation_count &reservation_count
; copy_id is the numeric id of the last copy_id
; that was assigned for this item.
; it is used in generating the next copy_id
copy_id ©_id
.PROCESS_DIAGRAM: (ITEM)Refreshed from file: process\item-class.pdd
Diagram created 2001-03-24 at 11:31pm by Ferg_S
_____________
| |
| ITEM |
|_____________|
_______________|_______________
______|______ ______|______ ______|______
| || || |
| <acquire || item || <remove |
| ITEM> || body || ITEM> |
|_____________||_____________||_____________|
|
______|______
| *|
| 1 |
| item |
| action |
|_____________|
|
______|______
| |
| <make |
|reservation> |
|_____________|
.PROCESS_EVENTS:
acquire_item
make_reservation
remove_item
Entry number 4 Table of Contents
.CLASS.......: Loan
.OBJECT_TYPE.: RELATIONSHIP model process
.CHAR_30_NAME: Loan
.PLATFORMS...: SYBASE
.DESCRIPTION.:
A loan is the lending of a particular physical copy of an item. to a
member of the university.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
member_id &member_id
loan_date &date_day
.PROCESS_DIAGRAM: (LOAN)Refreshed from file: process\loan-class.pdd
Diagram created 2001-03-24 at 11:32pm by Ferg_S
_________
| |
| LOAN |
|_________|
___________|___________
____|____ ____|____ ____|____
| || || |
| <start ||possible || <end |
| loan> ||renewals || loan> |
|_________||_________||_________|
|
____|____
| *|
| <renew |
| loan> |
|_________|
.PROCESS_EVENTS:
start_loan
renew_loan
end_loan
Entry number 5 Table of Contents
.CLASS.......: Member
.OBJECT_TYPE.: ENTITY model process
.CHAR_30_NAME: Member
.PLATFORMS...: SYBASE
.DESCRIPTION.:
A member of the university: a professor, student, employee, visiting
member.
.COMPOSITION.:
member_id &member_id
;[endpk]
member_name &person_name
loan_count &loan_count
reservation_count &reservation_count
.PROCESS_DIAGRAM: (MEMBER)Refreshed from file: process\member-class.pdd
Diagram created 2001-03-24 at 11:32pm by Ferg_S
_____________
| |
| MEMBER |
|_____________|
__________________________|___________________________
______|______ ______|______ ______|______
| || | | |
| <join || member | | <leave |
| university> || body | | university> |
|_____________||_____________| |_____________|
|
______|______
| *|
| one |
| event |
|_____________|
_____________________________________|______________________________________
______|______ ______|______ ______|______ ______|______ ______|______ ______|______
| o|| o|| o|| o|| o|| o|
| <start || <renew || <end || <make || <cancel || <satisfy |
| loan> || loan> || loan> ||reservation> ||reservation> ||reservation> |
|_____________||_____________||_____________||_____________||_____________||_____________|
.PROCESS_EVENTS:
join_university
start_loan
renew_loan
end_loan
make_reservation
cancel_reservation
satisfy_reservation
leave_university
Entry number 6 Table of Contents
.CLASS.......: Reservation
.OBJECT_TYPE.: RELATIONSHIP model process
.CHAR_30_NAME: Reservtn
.PLATFORMS...: SYBASE
.DESCRIPTION.:
A reservation is a request by a member that the next available COPY of
a given ITEM be held for him, so that he may check it out.
.COMPOSITION.:
reservation_id &reservation_id
; [endpk]
item_id &item_id
member_id &member_id
reservation_date &date
.PROCESS_DIAGRAM: (RESERVATION)Refreshed from file: process\reservation-class.pdd
Diagram created 2001-03-24 at 11:32pm by Ferg_S
The lifecycle of a reservation for a particular item
_____________
| |
| Reservation |
|_____________|
_______|________
______|______ ______|______
| || |
| <make || Reservation |
|reservation> || life |
|_____________||_____________|
___________|____________
______|______ ______|______
| ?| | ?|
| Normal | | Aborted |
| life | | life |
|_____________| |_____________|
_______|________ |
______|______ ______|______ ______|______
| o|| o|| |
| <satisfy || <cancel || <cancel |
|reservation> ||reservation> ||reservation> |
| || QUIT || |
|_____________||_____________||_____________|
.PROCESS_EVENTS:
make_reservation
satisfy_reservation
cancel_reservation
Entry number 7 Table of Contents
.EVENT.......: Acquire_Copy
.DESCRIPTION.:
The library acquires a copy of an item.
This event represents the acquisition of a single copy.
Note, though, that for popular items, the library may acquire multiple
copies at the same time, with the same purchase order.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
acquisition_date &date
.BackwardReferences:
see CLASS Copy
Entry number 8 Table of Contents
.EVENT.......: Acquire_Item
.DESCRIPTION.:
The library acquires information about an item. That is, information
about the item is entered into the library's database.
Note that this is not the same as acquiring a copy of the item. The
library may acquire information about an item long before it decides to
purchase a copy of the item, and in some cases a copy may never
actually be purchased.
.COMPOSITION.:
item_id &item_id
;[endpk]
item_name &item_name
author_name &author_name
publisher_name &publisher_name
year_published &date_year
isbn &isbn
.BackwardReferences:
see CLASS Item
Entry number 9 Table of Contents
.EVENT.......: Cancel_Reservation
.DESCRIPTION.:
For some reason, a reservation is cancelled without being satisfied.
A member may telephone a member of the library staff, saying that he
wishes to cancel the reservation. Or he may write a letter or speak to
a librarian in person.
Typically this event occurs when a person has been waiting for a
reserved item for so long, that he is no longer interested in obtaining
it.
.COMPOSITION.:
reservation_id &reservation_id
.BackwardReferences:
see CLASS Member
see CLASS Reservation
Entry number 10 Table of Contents
.EVENT.......: Dispose_Copy
.DESCRIPTION.:
A copy of an item is disposed of, so that the library no longer stocks
that particular copy.
A copy may be disposed of if it is too worn or damaged to be worth
repairing. Or perhaps very few loans of a particular item are being
made, and the librarian decides to dispose of some or all of the copies
in order to free up shelf space for other more active items.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
.BackwardReferences:
see CLASS Copy
Entry number 11 Table of Contents
.EVENT.......: End_Loan
.DESCRIPTION.:
A member of the library returns a copy of an item that he has checked
out of the library.
If there are any outstanding reservations associated with the item,
then:
- The oldest reservation (and the member who made it) is identified.
- The oldest reservation is deleted
- A "reservation pickup letter" is
sent to the the reserving member,
informing him that the copy is awaiting his pickup.
- The librarian is told to put the copy on hold,
awaiting pickup by the reserving member.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
return_date &date
.BackwardReferences:
see CLASS Copy
see CLASS Loan
see CLASS Member
Entry number 12 Table of Contents
.EVENT.......: Go_To_Rebind
.DESCRIPTION.:
A copy of an item goes out for repair. Most often, a copy of a book
needs to be rebound. In some cases, a record, video or audio tape, or
CD -- or its package -- needs to be repaired.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
.BackwardReferences:
see CLASS Copy
Entry number 13 Table of Contents
.EVENT.......: Join_University
.DESCRIPTION.:
A member joins the university.
.COMPOSITION.:
member_id &member_id
;[endpk]
member_name &person_name
.BackwardReferences:
see CLASS Member
Entry number 14 Table of Contents
.EVENT.......: Leave_University
.DESCRIPTION.:
A member leaves the University. This includes cases where the member
leaves to go elsewhere, but also cases where the member dies.
.COMPOSITION.:
member_id &member_id
;[endpk]
.BackwardReferences:
see CLASS Member
Entry number 15 Table of Contents
.EVENT.......: Make_Reservation
.DESCRIPTION.:
A member places a reservation for an item.
.COMPOSITION.:
reservation_id &reservation_id
; [endpk]
item_id &item_id
member_id &member_id
reservation_date &date
.BackwardReferences:
see CLASS Item
see CLASS Member
see CLASS Reservation
Entry number 16 Table of Contents
.EVENT.......: Remove_Item
.DESCRIPTION.:
Information about an item is deleted from the library databases.
Note that this action is not allowed to happen if the library owns any
copies of the item.
.COMPOSITION.:
item_id &item_id
;[endpk]
.BackwardReferences:
see CLASS Item
Entry number 17 Table of Contents
.EVENT.......: Renew_Loan
.DESCRIPTION.:
A member renews an existing loan.
Note that a loan may not be renewed more than once.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
;[endpk]
loan_date &date
.BackwardReferences:
see CLASS Copy
see CLASS Loan
see CLASS Member
Entry number 18 Table of Contents
.EVENT.......: Return_From_Rebind
.DESCRIPTION.:
A copy of an item returns from repair work.
When this happens, the copy again becomes available to be lent. If
there are any outstanding reservations for the item, the copy is placed
on "hold" and notification is sent to the reservation-holder that a
copy is available for pickup. If there are no outstanding
reservations, then the copy is returned to the open shelves.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
; [endpk]
.BackwardReferences:
see CLASS Copy
Entry number 19 Table of Contents
.EVENT.......: Satisfy_Reservation
.DESCRIPTION.:
A reservation is ended because it is satisfied. That is, a copy of the
item that the member reserved, is returned to the library, and the
member is notified that the copy is available for check-out.
Note that the reservation is satisfied when the copy is returned and
the member is notified. We don't actually have to wait for the member
to come in and check out the copy (an event that might never happen)
for the reservation to end.
The sending of a message about this event is triggered by the
occurrence of the end_loan event. When a loan is ended, and a copy of
an item is returned to the library, we check to see if there were any
reservations for (copies of) the item.
NOTE: The sending of this message can be triggered by the occurrence of
the end_loan event, this message can be sent into the system by a human
being (a librarian) or generated within the system by an interactive
function.
The message is sent to MEMBER because it is used to decrement the
member's reservation_count.
.COMPOSITION.:
reservation_id &reservation_id
member_id &member_id
.BackwardReferences:
see CLASS Member
see CLASS Reservation
Entry number 20 Table of Contents
.EVENT.......: Start_Loan
.DESCRIPTION.:
A library member borrows a copy of an item, thus starting the life of a
loan.
.COMPOSITION.:
item_id &item_id
copy_id ©_id
member_id &member_id
;[endpk]
loan_date &date
.BackwardReferences:
see CLASS Copy
see CLASS Loan
see CLASS Member
Entry number 21 Table of Contents
.EVENT.......: Tgm_Day
.DESCRIPTION.:
A time-grain marker that is created once per day, for functions that
must be run once per day.
.COMPOSITION.:
tgm_date &date_day
;[endpk]
Entry number 22 Table of Contents
.FUNCTION....: Act_On_Reservation
.SOURCE......:
.DESCRIPTION.:
When a copy of an item becomes available for members having a
reservation on that item, this function:
- finds the member with the earliest reservation.
- generates text of the letter informing the reserving member
that a copy of the item he reserved is now available. This text
will be sent to the Letter_Lister function which will print the
letter and send it to the member.
- deactivates the reservation, since it has been acted upon.
- informs the Member and Item model processes that this
reservation has been deactivated.
.COMPOSITION.: item_id &item_id
Entry number 23 Table of Contents
.FUNCTION....: Letter_Lister
.SOURCE......:
.DESCRIPTION.:
Once a day, print all of the letters that need to be sent out.
.COMPOSITION.: letters_sent_date
letters_sent_count
Entry number 24 Table of Contents
.FUNCTION....: Member_Leaves_University
.SOURCE......:
.DESCRIPTION.:
When a member leaves the university for some reason.
.COMPOSITION.: member_id &member_id
;[endpk]
Entry number 25 Table of Contents
.DATA_ELEMENT: Acquisition_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: acquisition_date
.DESCRIPTION.:
The date that a copy of an item was acquired
.BackwardReferences:
see CLASS Copy
see EVENT Acquire_Copy
Entry number 26 Table of Contents
.DATA_ELEMENT: Author_Name
.DATA_TYPE...: &author_name
.CHAR_30_NAME: author_name
.DESCRIPTION.:
The name of an author of an item.
Note that this may not be the name of a person. Sometimes
organizations are considered to be the author of an item.
.BackwardReferences:
see CLASS Item
see EVENT Acquire_Item
Entry number 27 Table of Contents
.DATA_ELEMENT: Copy_Id
.DATA_TYPE...: ©_id
.CHAR_30_NAME: copy_id
.DESCRIPTION.:
The identifier of a particular copy of an item.
.BackwardReferences:
see CLASS Copy
see CLASS Item
see CLASS Loan
see EVENT Acquire_Copy
see EVENT Dispose_Copy
see EVENT End_Loan
see EVENT Go_To_Rebind
see EVENT Renew_Loan
see EVENT Return_From_Rebind
see EVENT Start_Loan
Entry number 28 Table of Contents
.DATA_ELEMENT: Isbn
.DATA_TYPE...: &isbn
.CHAR_30_NAME: isbn
.DESCRIPTION.:
The ISBN number that identifies an item.
.BackwardReferences:
see CLASS Item
see EVENT Acquire_Item
Entry number 29 Table of Contents
.DATA_ELEMENT: Item_Id
.LOGICAL_NAME: ITEM_id
.CHAR_30_NAME: ITEM_id
.DATA_TYPE...: &item_id
.DESCRIPTION.:
The identifier of a ITEM. NOTE that this is NOT the title, because it
is possible for several different items (works) to have the same title.
.BackwardReferences:
see CLASS Copy
see CLASS Item
see CLASS Loan
see CLASS Reservation
see EVENT Acquire_Copy
see EVENT Acquire_Item
see EVENT Dispose_Copy
see EVENT End_Loan
see EVENT Go_To_Rebind
see EVENT Make_Reservation
see EVENT Remove_Item
see EVENT Renew_Loan
see EVENT Return_From_Rebind
see EVENT Start_Loan
Entry number 30 Table of Contents
.DATA_ELEMENT: Item_Name
.DATA_TYPE...: &item_name
.CHAR_30_NAME: item_name
.DESCRIPTION.:
The name or title of an item.
.BackwardReferences:
see CLASS Item
see EVENT Acquire_Item
Entry number 31 Table of Contents
.DATA_ELEMENT: Last_Loan_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: last_loan_date
.DESCRIPTION.:
The date when a particular copy of an item was last loaned out. If the
loan was renewed, the date when the loan was renewed.
.BackwardReferences:
see CLASS Copy
Entry number 32 Table of Contents
.DATA_ELEMENT: Loan_Count
.DATA_TYPE...: &small_count
.CHAR_30_NAME: loan_count
.DESCRIPTION.:
The number of active loans that a member currently has.
.BackwardReferences:
see CLASS Member
Entry number 33 Table of Contents
.DATA_ELEMENT: Loan_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: loan_date
.DESCRIPTION.:
The date when a particular copy of an item was last loaned out. If the
loan was renewed, the date when the loan was renewed.
.BackwardReferences:
see CLASS Loan
see EVENT Renew_Loan
see EVENT Start_Loan
Entry number 34 Table of Contents
.DATA_ELEMENT: Member_Id
.LOGICAL_NAME: Member_id
.CHAR_30_NAME: Member_id
.DATA_TYPE...: &Member_id
.DESCRIPTION.:
The identifier of a member of the university.
.BackwardReferences:
see CLASS Loan
see CLASS Member
see CLASS Reservation
see EVENT Join_University
see EVENT Leave_University
see EVENT Make_Reservation
see EVENT Satisfy_Reservation
see EVENT Start_Loan
Entry number 35 Table of Contents
.DATA_ELEMENT: Member_Name
.DATA_TYPE...: &person_name
.CHAR_30_NAME: member_name
.DESCRIPTION.:
The name of a member of the university.
.BackwardReferences:
see CLASS Member
see EVENT Join_University
Entry number 36 Table of Contents
.DATA_ELEMENT: Publisher_Name
.DATA_TYPE...: &publisher_name
.CHAR_30_NAME: publisher_name
.DESCRIPTION.:
The name of a person or company that publishes items of interest to the
library.
.BackwardReferences:
see CLASS Item
see EVENT Acquire_Item
Entry number 37 Table of Contents
.DATA_ELEMENT: Reservation_Count
.DATA_TYPE...: &small_count
.CHAR_30_NAME: reservation_count
.DESCRIPTION.:
The number of active reservations that a member currently has.
.BackwardReferences:
see CLASS Item
see CLASS Member
Entry number 38 Table of Contents
.DATA_ELEMENT: Reservation_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: reservation_date
.DESCRIPTION.:
The date when a reservation was made for an item.
.BackwardReferences:
see CLASS Reservation
see EVENT Make_Reservation
Entry number 39 Table of Contents
.DATA_ELEMENT: Reservation_Id
.DATA_TYPE...: &reservation_id
.CHAR_30_NAME: reservation_id
.DESCRIPTION.:
The identifier of an item reservation.
.BackwardReferences:
see CLASS Reservation
see EVENT Cancel_Reservation
see EVENT Make_Reservation
see EVENT Satisfy_Reservation
Entry number 40 Table of Contents
.DATA_ELEMENT: Return_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: return_date
.DESCRIPTION.:
The last date of an outstanding loan. That is, the date on which the
copy is due to be returned.
.BackwardReferences:
see EVENT End_Loan
Entry number 41 Table of Contents
.DATA_ELEMENT: Tgm_Date
.DATA_TYPE...: &date_day
.CHAR_30_NAME: tgm_date
.DESCRIPTION.:
A time-grain marker at the date (rather than, say, the year or minute)
level.
.BackwardReferences:
see EVENT Tgm_Day
Entry number 42 Table of Contents
.DATA_ELEMENT: Year_Published
.DATA_TYPE...: &date_year
.CHAR_30_NAME: year_published
.DESCRIPTION.:
The year in which an item was published.
.BackwardReferences:
see CLASS Item
see EVENT Acquire_Item
Entry number 43 Table of Contents
.DATA_TYPE...: &author_name
.BASIC_TYPE..: &STRING (50)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Item
see DATA_ELEMENT Author_Name
Entry number 44 Table of Contents
.DATA_TYPE...: &code_yn
.BASIC_TYPE..: &ALPHA_ID (1)
.DESCRIPTION.:
.VALUES_&_MEANINGS: "Y" Yes
"N" No
Entry number 45 Table of Contents
.DATA_TYPE...: ©_id
.BASIC_TYPE..: &NUM_ID (4)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Copy
see CLASS Item
see CLASS Loan
see DATA_ELEMENT Copy_Id
Entry number 46 Table of Contents
.DATA_TYPE...: &date
.BASIC_TYPE..: &PRIMITIVE_DATE_DAY
.DESCRIPTION.:
.BackwardReferences:
see CLASS Copy
see CLASS Reservation
Entry number 47 Table of Contents
.DATA_TYPE...: &date_day
.BASIC_TYPE..: &PRIMITIVE_DATE_DAY
.DESCRIPTION.:
Identifies a particular day of a particular year, e.g. January 23, 2003.
.BackwardReferences:
see CLASS Loan
see DATA_ELEMENT Acquisition_Date
see DATA_ELEMENT Last_Loan_Date
see DATA_ELEMENT Loan_Date
see DATA_ELEMENT Reservation_Date
see DATA_ELEMENT Return_Date
see DATA_ELEMENT Tgm_Date
Entry number 48 Table of Contents
.DATA_TYPE...: &date_year
.BASIC_TYPE..: &PRIMITIVE_DATE_YEAR
.DESCRIPTION.:
Identifies a particular year, e.g. 1999 or 2003.
.BackwardReferences:
see CLASS Item
see DATA_ELEMENT Year_Published
Entry number 49 Table of Contents
.DATA_TYPE...: &isbn
.BASIC_TYPE..: &CHAR_ID (15)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Item
see DATA_ELEMENT Isbn
Entry number 50 Table of Contents
.DATA_TYPE...: &item_id
.BASIC_TYPE..: &NUM_ID (8)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Copy
see CLASS Item
see CLASS Loan
see CLASS Reservation
see DATA_ELEMENT Item_Id
Entry number 51 Table of Contents
.DATA_TYPE...: &item_name
.BASIC_TYPE..: &STRING (40)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Item
see DATA_ELEMENT Item_Name
Entry number 52 Table of Contents
.DATA_TYPE...: &loan_count
.BASIC_TYPE..: &amount
.DESCRIPTION.:
The number of active loans that a member currently has.
.BackwardReferences:
see CLASS Member
Entry number 53 Table of Contents
.DATA_TYPE...: &member_id
.BASIC_TYPE..: &NUM_ID (5)
.DESCRIPTION.:
.VALUES_&_MEANINGS:
.BackwardReferences:
see CLASS Loan
see CLASS Member
see CLASS Reservation
see DATA_ELEMENT Member_Id
Entry number 54 Table of Contents
.DATA_TYPE...: &member_status
.BASIC_TYPE..: &NUM_ID (1)
.DESCRIPTION.:
.VALUES_&_MEANINGS:
Entry number 55 Table of Contents
.DATA_TYPE...: &person_name
.BASIC_TYPE..: &STRING (35)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Member
see DATA_ELEMENT Member_Name
Entry number 56 Table of Contents
.DATA_TYPE...: &phone_number
.BASIC_TYPE..: &NUM_CHAR_ID (13)
.DESCRIPTION.:
A phone number
.FORMAT......: AAAEEENNNNXXX AAA represents a 3-digit area code
EEE represents a 3-digit exchange code
NNNN represents a 4-digit telephone number
XXX represents a 1-to-3 digit extension [this part may be blank]
Entry number 57 Table of Contents
.DATA_TYPE...: &publisher_name
.BASIC_TYPE..: &STRING (45)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Item
see DATA_ELEMENT Publisher_Name
Entry number 58 Table of Contents
.DATA_TYPE...: &reservation_count
.BASIC_TYPE..: &amount
.DESCRIPTION.:
Tbe number of reservations outstanding for a particular title.
.BackwardReferences:
see CLASS Item
see CLASS Member
Entry number 59 Table of Contents
.DATA_TYPE...: &reservation_id
.BASIC_TYPE..: &NUM_ID (5)
.DESCRIPTION.:
.BackwardReferences:
see CLASS Reservation
see DATA_ELEMENT Reservation_Id
Entry number 60 Table of Contents
.DATA_TYPE...: &small_count
.BASIC_TYPE..: &INTEGER (2)
.DESCRIPTION.:
.BackwardReferences:
see DATA_ELEMENT Loan_Count
see DATA_ELEMENT Reservation_Count
Entry number 61 Table of Contents
.DATA_TYPE...: &state_abbreviation
.BASIC_TYPE..: &ALPHA_ID (2)
.DESCRIPTION.:
A two-character code representing a state.
Example: "VA" represents Virginia
Entry number 62 Table of Contents
.DATA_TYPE...: &time
.BASIC_TYPE..: &TIME_MINUTE
.DESCRIPTION.:
The time, to the granularity of a minute.
.FORMAT......: HHMM Example:
"0000" [invalid]
"0101" 1 minute and 1 second after 1 am
"1200" noon
"1300" 1 pm
"2400" midnight
Entry number 63 Table of Contents
.DATA_TYPE...: &us$
.BASIC_TYPE..: &AMOUNT (13,5)
.DESCRIPTION.:
A money amount, expressed in U.S. dollars
.FORMAT......: 99999998.99999
Entry number 64 Table of Contents
.DATA_TYPE...: &zip_code_10
.BASIC_TYPE..: &NUM_CHAR_ID (10)
.DESCRIPTION.:
Zip code of the Member
.FORMAT......: ZZZZZ-EEEE ZZZZZ = 5-digit zip
- = a dash
EEEE = 4-digit extension, to create a 9-digit zip code
Optionally, positions 6-10 (the last 5 characters) may be blank, if only
information on the 5-digit zip is available.
User-defined null for items of this type is all blanks.
Entry number 65 Table of Contents
.BASIC_TYPE..: &Alpha_Id
.DESCRIPTION.:
A code that contains only alphabetic characters.
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when length <= 40 then datatype = "char" paren(length)
otherwise datatype = "varchar" paren(length)
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &code_yn
see DATA_TYPE &state_abbreviation
Entry number 66 Table of Contents
.BASIC_TYPE..: &Amount
.DESCRIPTION.:
A number that represents an amount of something, measured in a
specified kind of unit. For example, an amount of distance
might be measured in units of miles (or kilometers, or feet, or
inches) , an amount of money in American dollars (or French
francs, or Japanese yen), etc.
.ARGUMENTS...: Length [Decimals] if Decimals = "" then Decimals = 0
.PLATFORM....: SYBASE /* allow for decimal point in a string representation of a number */
if Decimals \= 0 then length = length + 1
datatype = "decimal" paren(length)
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &loan_count
see DATA_TYPE &reservation_count
see DATA_TYPE &us$
Entry number 67 Table of Contents
.BASIC_TYPE..: &Amount_Char
.DESCRIPTION.:
An amount, ALWAYS represented as a character string in SHAREBASE.
.ARGUMENTS...: Length [Decimals] if Decimals = "" then Decimals = 0
.PLATFORM....: SYBASE /* allow for decimal point in a string representation of a number */
if Decimals \= 0 then length = length + 1
datatype = "decimal" paren(length)
.END_PLATFORM:
Entry number 68 Table of Contents
.BASIC_TYPE..: &Char_Id
.DESCRIPTION.:
A code that may contain any kind of characters (alphabetic,
numeric, or other).
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when length <= 40 then datatype = "char" paren(length)
otherwise datatype = "varchar" paren(length)
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &isbn
Entry number 69 Table of Contents
.BASIC_TYPE..: &Integer
.DESCRIPTION.:
A number, a numeric value, that is an integer (whole number).
The LENGTH argument specifies the total number of
significant digits.
EXAMPLE: &INTEGER(5) indicates a number composed of 5 decimal digits.
The largest value that such a number can store is 99999.
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when between(length,0,2) then datatype = "tinyint"
when between(length,3,4) then datatype = "smallint"
otherwise datatype = "int"
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &small_count
Entry number 70 Table of Contents
.BASIC_TYPE..: &Number
.DESCRIPTION.:
A number, a numeric value.
The LENGTH argument specifies the total number of
significant digits.
The DECIMALS argument, if present, specifies the number of
fractional digits.
EXAMPLE: &NUMBER(5,2) indicates a number composed of 5 decimal digits,
two of which are to the right of the decimal point.
The largest value that such a number can store is 999.99.
.ARGUMENTS...: Length [Decimals] if Decimals = "" then Decimals = 0
.PLATFORM....: SYBASE /* allow for decimal point in a string representation of a number */
if Decimals \= 0 then length = length + 1
datatype = "char" paren(length)
.END_PLATFORM:
Entry number 71 Table of Contents
.BASIC_TYPE..: &Num_Char_Id
.DESCRIPTION.:
An identifier that may contain only numeric characters.
Storage options include: STRING and INTEGER.
Philosophy for storing this datatype:
always use STRING
(unlike &NUM_ID, where we will try to use numeric, if possible)
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when between(length,1,40) then datatype = "char" paren(length)
otherwise datatype = "varchar" paren(length)
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &phone_number
see DATA_TYPE &zip_code_10
Entry number 72 Table of Contents
.BASIC_TYPE..: &Num_Id
.DESCRIPTION.:
A code that may contain only numeric characters.
Storage options include: STRING and INTEGER.
Philosophy for storing this datatype:
try to use non-string storage options, if possible.
(unlike &NUM_CHAR_ID, where we will always use STRING )
If stored as a character field, value should be right-justified
and padded to the left with either zeroes or spaces.
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when length <= 40 then datatype = "char" paren(length)
otherwise datatype = "varchar" paren(length)
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE ©_id
see DATA_TYPE &item_id
see DATA_TYPE &member_id
see DATA_TYPE &member_status
see DATA_TYPE &reservation_id
Entry number 73 Table of Contents
.BASIC_TYPE..: &Primitive_Date_Day
.DESCRIPTION.:
A date, to the granularity of a day.
Storage options include: STRING, INTEGER, and native DATE.
Also (possibly): native DATETIME format.
If stored as a character string, stored in format: CCYYMMDD
(CC=century, YY=year, MM=month, DD=day)
Example:
"19950101" represents January 1, 1995
"20000101" represents January 1, 2000
"20340101" represents January 1, 2033
EXCEPT THAT...
the Sharebase type is shorter than the other types,
because the century portion of the date is not stored in Sharebase.
.ARGUMENTS...:
.PLATFORM....: SYBASE length = 8
datatype = "char" paren(length)
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &date
see DATA_TYPE &date_day
Entry number 74 Table of Contents
.BASIC_TYPE..: &Primitive_Date_Month
.DESCRIPTION.:
A date, to the granularity of a month.
Storage options include: STRING, INTEGER, and native DATE.
Also (possibly): native DATETIME format.
If stored as a character string, stored in format: CCYYMM
(CC=century, YY=year, MM=month, DD=day)
Example:
"199501" represents January 1995
"200001" represents January 2000
"203401" represents January 2033
EXCEPT THAT...
the Sharebase type is shorter than the other types,
because the century portion of the date is not stored in Sharebase.
.ARGUMENTS...:
.PLATFORM....: SYBASE length = 6
datatype = "char" paren(length)
.END_PLATFORM:
Entry number 75 Table of Contents
.BASIC_TYPE..: &Primitive_Date_Year
.DESCRIPTION.:
A date, to the granularity of a year.
Storage options include: STRING, INTEGER, and native DATE.
Also (possibly): native DATETIME format.
If stored as a character string, stored in format: CCYY
(CC=century, YY=year, MM=month, DD=day)
Example:
"1995" represents the year 1995
"2000" represents the year 2000
"2033" represents the year 2033
EXCEPT THAT...
the Sharebase type is shorter than the other types,
because the century portion of the date is not stored in Sharebase.
.ARGUMENTS...:
.PLATFORM....: SYBASE length = 4
datatype = "char" paren(length)
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &date_year
Entry number 76 Table of Contents
.BASIC_TYPE..: &String
.DESCRIPTION.:
A character string.
Storage options include:
fixed-length string
variable-length string
.ARGUMENTS...: Length
.PLATFORM....: SYBASE select
when length <= 40 then datatype = "char" paren(length)
otherwise datatype = "varchar" paren(length)
end /*select*/
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &author_name
see DATA_TYPE &item_name
see DATA_TYPE &person_name
see DATA_TYPE &publisher_name
Entry number 77 Table of Contents
.BASIC_TYPE..: &Time_Minute
.DESCRIPTION.:
A time, to the granularity of an minute.
Storage options include: STRING, INTEGER, and native TIME.
Also (possibly): native DATETIME format.
If stored as a character string, stored in format: HHMM
(HH=hours, MM= minutes, SS=seconds)
.ARGUMENTS...:
.PLATFORM....: SYBASE length = 4
datatype = "char" paren(length)
.END_PLATFORM:
.BackwardReferences:
see DATA_TYPE &time