Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 18

Chapter 10

From Structured Analysis Wiki


Data Dictionaries
Dictionaries are like watches; the worst is better than none, and the best cannot be
expected to go quite true!
"" #rs $rio%%i Anecdotes of Samuel Johnson, &'()
Contents
& *ntroduction
+ ,he need -or data dictionary notation
. Data dictionary notation
.& De-initions
.+ /lementary Data /lements
.. 0ptional Data /lements
.1 *teration
.2 Selection
.) Aliases
1 Showing the data dictionary to the user
2 *mplementation o- the data dictionary
) Summary
' 3/F/3/45/S
( 67/S,*04S A4D /8/35*S/S
9 /4D40,/S
Introduction
IN THIS CHAPTER, YOU WI EARN:
& Why we need a data dictionaryin a systems de;elopment pro<ect;
+ ,he notation -or data dictionary de-initions;
. =ow a data dictionary should be presented to the user; and
1 =ow to implement a data dictionary
,he second important modeling tool that we will discuss is the data dictionary
,hough it doesn>t ha;e the glamour and graphical appeal o- data-low diagrams,
entity"relationship diagrams, and state"transition diagrams, the data dictionary is
crucial Without it, your model o- the user>s requirements cannot possibly be
considered complete; all you will ha;e is a rough sketch, an artist>s rendering! o-
the system
,he importance o- a data dictionary is o-ten lost on many adults, -or they ha;e not
used a dictionary -or &? or +? years ,ry to think back to your elementary school
days, when you were constantly besieged with new words in your schoolwork
,hink back also to your -oreign language courses, particularly the ones that
required you to read books and maga%ines Without a dictionary, you would ha;e
been lost ,he same is true o- a data dictionary in systems analysis: without it, you
will be lost, and the user won>t be sure you ha;e understood the details o- the
application
,he phrase data dictionary is almost sel-"de-ining ,he data dictionary is an
organi%ed listing o- all the data elements that are pertinent to the system, with
precise, rigorous de-initions so that both user and systems analyst will ha;e a
common understanding o- all inputs, outputs, components o- stores, and
intermediate calculations ,he data dictionary de-ines the data elements by doing
the -ollowing:
Describing the meaning o- the -lows and stores shown in the data-low
diagrams
Describing the composition o- aggregate packets o- data mo;ing along
the -lows, that is, complex packets @such as a customer addressA that
can be broken into more elementary items @such as city, state, and
postal codeA
Describing the composition o- packets o- data in stores
Speci-ying the rele;ant values and units o- elementary chunks o-
in-ormation in the data-lows and data stores
Describing the details o- relationships between stores that are
highlighted in an entity"relationship diagram ,his aspect o- the data
dictionary will be discussed in more detail in 5hapter &+ a-ter we
ha;e introduced the entity"relationship notation
The need !or data dictionar" notation
*n most real"world systems that you will work on, the packets, or data elements,
will be su--iciently complex that you will need to describe them in terms o- other
things 5omplex data elements are de-ined in terms o- simpler data elements, and
simple data elements are de-ined in terms o- the legitimate units and ;alues they
can take on
,hink, -or example, about the way you would respond to the -ollowing question
-rom a #artian @which is the way many users think o- systems analystsBA about the
meaning o- a person>s na#e:
$artian: So what is this thing called a nameC!
You @shrugging impatientlyA: Well, you know, it>s <ust a name * mean, like,
well, it>s what we call each other!
$artian @pu%%ledA: Does that mean you can call them something di--erent
when you>re angry than when you>re happyC!
You @slightly ama%ed at the ignorance o- this alienA: 4o, o- course not A
name is the same all the time A person>s name is what we use to distinguish
him or her -rom other people!
$artian @suddenly understandingA: Ahh, now * understand We do the
same thing on my planet #y name is .&1&29+)2.2(9'9.+.(1)+)1.!
You @incredulousA: Dut that>s a number, not a name!
$artian: And a ;ery good name it is, too *>m proud o- it 4obody has
anything close!
You: Dut what about your -irst nameC 0r is your -irst name ., and your last
name &1&29+)2.2C!
$artian: What>s this about -irst name and last nameC * don>t understand *
ha;e only one name, and it>s always the same!
You: Well, that>s not the way it works here We ha;e a -irst name, and a last
name, and sometimes we ha;e a middle name too!
$artian: Does that mean you could be called +. 12 99C!
You: 4o, we don>t allow numbers in our names Eou can only use the
alphabetic characters A through F!
As you can imagine, the con;ersation could continue -or a ;ery long time Eou
might think the example is contri;ed, because we rarely run into #artians who
ha;e no concept o- the meaning o- a name Dut it is not too -ar -rom the discussions
that take place @or should take placeA between a systems analyst and a user, in
which the -ollowing questions might be raised:
#ust e;eryone ha;e a -irst nameC What about the character #r ,!
on the old ,G series, ,he A ,eam!C
What about punctuation characters in a person>s last name; -or
example, D>Arcy!C
Are abbre;iated middle names allowed, -or example, Hohn 8
Hames!C
*s there a minimal length required o- a person>s nameC For example, is
the name 8 E! legalC @0ne could imagine that it would wreak ha;oc
with many computer systems throughout the country, but is there any
legalIbusiness reason why a person couldn>t gi;e himsel- a -irst name
o- 8 and a last name o- ECA
=ow should we treat the su--ixes that sometimes -ollow a last nameC
For example, the name Hohn Hones, Hr! is presumably legitimate, but
is the Hr to be considered part o- the last name or a special new
categoryC And i- it is a new category, shouldn>t we allow numeric
digits, too; -or example, Sam Smith .rdC
4ote, by the way, that none o- these questions has anything to do with
the way we will e;entually store the in-ormation on a computer; we
are simply trying to determine, as a matter o- business policy, what
constitutes a ;alid nameJre-K0n the other hand, it is likely that the
business policy presently in place has been strongly in-luenced by the
computer systems that the organi%ation has been using -or the past .?
years Fi-ty years ago, someone might ha;e been considered eccentric
i- he decided to call himsel- Fre2d Smi'th! but it probably would
ha;e been accepted by most organi%ations, because names were
transcribed onto pieces o- paper by human hands /arly computer
systems @and most o- the ones in place todayA ha;e a lot more trouble
with such nonstandard namesJIre-K
As you can imagine, it gets rather tedious describing the composition o- data
elements in a rambling narrati;e -orm We need a concise, compact notation, <ust as
a standard dictionary like Webster>s has a compact, concise notation -or de-ining
the meaning o- ordinary words
%ata dictionar" notation
,here are many common notational schemes used by systems analyst ,he one
shown below is among the more common, and it uses a number o- simple symbols:
L is composed o-
M and
@ A optional @may be present or absentA
N O iteration
P Q select one o- se;eral alternati;e choices
RR comment
S identi-ier @key -ieldA -or a store
T @or ;A separates alternati;e choices in the P Q construct
As an example, we might de-ine name -or our -riendly #artian as -ollows:
na#e L courtes"&tit'e M !irst&na#e M @#idd'e&na#eA M 'ast&na#e
courtes"&tit'e L P#r T #iss T #rs T #s T Dr T $ro-essorQ
!irst&na#e L N'e(a'&characterO
#idd'e&na#e L N'e(a'&characterO
'ast&na#e L N'e(a'&characterO
'e(a'&character L PA"FTa"%T?"9TUT"T T Q
As you can see, the symbols look rather mathematical; you may be worried that it>s
-ar too complicated to understand As we will soon see, though, the notation is quite
easy to read ,he experience o- se;eral thousands o- *, de;elopment pro<ects and
se;eral tens o- thousands o- users has shown us that the notation is also quite
understandable to almost all users if it is presented properly; we will discuss this in
Section &?.
%e!initions
A de-inition o- a data elementis introduced with the symbol L!; in this context, the
L! is read as is de-ined as,! or is composed o-,! or simply means! ,hus, the
notation
A L ) M C
could be read in any o- the -ollowing ways:
Whene;er we say A, we mean a ) and a C
A is composed o- ) and C
A is de-ined as ) and C
,o completely de-ine a data element, our de-inition will include the -ollowing:
,he meaning o- the data element within the context o- this user>s
application ,his is usually pro;ided as a comment, using the R R!
notation
,he composition o- the data element, i- it is composed o- meaning-ul
elementary components
,he legal values that the data element can take on, i- it is an
elementary data element that cannot be decomposed any -urther
,hus, i- we were building a medical system that kept track o- patients, we might
de-ine the terms *ei(ht and hei(ht in the -ollowing way:
weight L R patient>s weight upon admission to the hospital RR units:
kilograms; range: &"+??R
height L R patient>s height upon admission to the hospital RR units:
centimeters; range: +?"+??R
4ote that we ha;e described the rele;ant units and the rele;ant range within
matching R! characters Again, this is a notational con;ention that many *,
organi%ations -ind use-ul, but it can be changed i- necessary
*n addition to the units and range, you may also need to speci-y the accuracy or
precision with which the data element is measured For a data element like price,
-or example, it is important to indicate whether the ;alues will be expressed in
whole dollars, to the nearest penny, and so onJre-K4ot only that, we need to
speci-y whether we>re dealing in 7S dollars, 5anadian dollars, Australian dollars,
=ong Vong dollars, etcJIre-K And in many engineering and scienti-ic applications,
it is important to indicate the number o- signi-icant digits in the ;alue o- data
elements
E'e#entar" %ata E'e#ents
/lementary data elements are those -or which there is no meaning-ul
decomposition in the context o- the user>s en;ironment ,his is o-ten a matter o-
interpretation and one that you must explore care-ully with the user For example,
we ha;e seen in the discussion abo;e that the term name could be decomposed
into'ast&na#e, !irst&na#e, #idd'e&na#e, and courtes"&tit'e Dut perhaps in some
user en;ironments no such decomposition is necessary, rele;ant, or e;en
meaning-ul @ie, where the terms 'ast&na#e, etc., have no meaning to the userA
When we ha;e identi-ied elementary data items, they must be entered in the data
dictionary As indicated abo;e, the data dictionary should pro;ide a brie- narrati;e
comment, enclosed within R! characters, describing the meaning o- the term
within the user>s context 0- course, there will be some terms that are sel-"de-ining,
that is, terms whose meaning is uni;ersally the same -or all in-ormation systems, or
where the systems analyst might agree that no -urther elaboration is necessary For
example, the -ollowing might be considered sel-"de-ining terms in a system that
maintains in-ormation about people:
current&hei(ht
current&*ei(ht
date&o!&+irth
se,
ho#e&phone&nu#+er
*n these cases, no narrati;e comment is necessary; many systems analysts will use
the notation RR! to indicate a null comment! when the data element is sel-"
de-ining =owe;er, it is important to speci-y the ;alues and units o- measure that
the elementary data item can take on For example:
current&*ei(ht L
RR
Runits: pounds; range: &"1??R
current&hei(ht L
RR
Runits: inches; range: &"9)R
date&o!&+irth L
RR
Runits: days since Han &, &9??; range: ?".)2??R
se, L
R;alues: P# T FQR
Optiona' %ata E'e#ents
An optional data element, as the phrase implies, is one that may or may not be
present as a component o- a composite data element ,here are many examples o-
optional data elements in in-ormation systems:
A customer>s name may or may not include a middle name
A customer>s street address may or may not include such secondary
in-ormation as an apartment number
A customer>s order may contain a billing address, a shipping address,
or possibly both
Situations like the last one must be care-ully ;eri-ied with the user and must be
accurately documented in the data dictionary For example, the notation
custo#er&address L @shippin(&addressA M @+i''in(&addressA
means, quite literally, that the customer"address might consist o-:
<ust a shipping"address; or
<ust a billing"address; or
a shipping"address and a billing"address; or
neither a shipping"address nor a billing"address
,his last possibility is rather dubious *t is -ar more likely that the user really means
that the customer"address must consist o- a shipping"address or a billing"address
or both ,his could be expressed in the -ollowing way:
custo#er&address L Pshippin(&address T +i''in(&address T shippin(&
address M +i''in(&addressQ
0ne could also argue that, in a mail"order business, one always needs a billing
address to ensure that the order will be paid -or; a separate shipping address @eg, i-
the customer>s accounting department is in a separate locationA is optional ,hus, it
is possible that the user>s real business policy is better expressed by
custo#er&address L +i''in(&address M @shippin(&addressA
Dut o- course the only way to know this is to ask the user and to care-ully explain
the implications o- the di--erent notations shown abo;eJre-K,here is one
possibility that might explain the absence o- both shipping address and billing
address in a customer order: the walk"in customer who wishes to purchase an item
and carry it away with him *t is likely that we would want to explicitly identi-y
such a customer @by de-ining a new data element called walk"in that could ha;e a
;alue o- true or -alseA because @&A walk"in customers may need to be treated
di--erently @-or example, their orders won>t ha;e any shipping chargesA, and @+A it>s
a good way to double"check and ensure that the missing shipping"address or
billing"address was not a mistakeJIre-K
Iteration
,he iteration notation is used to indicate the repeated occurrence o- a component o-
a data element *t is read as %ero or more occurrences o-! ,hus, the notation
order L custo#er&na#e M shippin(&address M N ite# O
means that an order must always contain a customer"name, and must always
contain a shipping"address, and will also contain zero or more occurrences o-
an ite# ,hus, we may be dealing with a customer who places an order in;ol;ing
only one item or two items, or someone on a shopping binge who decides to order
.9' di--erent itemsJre-KVeep in mind once again that we are de-ining the intrinsic
business meaning o- a data element without regard to the technology that will
e;entually be used to implement it /;entually, -or example, our systems designers
are likely to ask -or a reasonable upper limit on the number o- di--erent items that
can be contained in a single order *n order to make things work e--iciently with
our S7$/3W=*F database management system, we>ll ha;e to restrict the number
o- items to )1 *t>s unlikely that anyone would want to order more than )1 di--erent
items anyway, and i- they do, they can simply place multiple orders! And the user
may ha;e his own limitations, based on the paper -orms or printed reports that he
deals with; this is part o- the user implementation model, which we will discuss in
5hapter +&JIre-K
*n many real"world situations, the user will want to speci-y upper and lower limits
to the iteration For instance, in the example abo;e, the user will probably point out
that it does not make sense -or a customer to place an order with %ero items; there
must be at least one item in the order And the user may want to speci-y an upper
limit; perhaps &? items is the most that will be allowed We can indicate upper and
lower limits in the -ollowing way:
order L custo#er&na#e M shippin(&address M &Nite#O&?
*t>s okay to speci-y just a lower limit, or just an upper limit, or both or neither
,hus, all o- the -ollowing are allowable:
a L &NbO
a L NbO&?
a L &NbO&?
a L NbO
Se'ection
,he selection notation indicates that a data element consists o- exactly one o- a set
o- alternati;e choices ,he choices are enclosed by the square brackets P! and Q!
and separated by the ;ertical bar T! character ,ypical examples are:
se, L P#ale T FemaleQ
custo#er&t"pe L PWo;ernment T *ndustry T 7ni;ersity T 0therQ
*t is important to re;iew the selection choices with the user to ensure that all
possibilities ha;e been identi-ied *n the last example, the user might tend to
concentrate her or his attention on the go;ernment,! industry! and uni;ersity!
customers, and might require some prodding to remember that some customers -all
into the none o- the abo;e! category
A'iases
An alias, as the term implies, is an alternati;e name -or a data element *t is a
common occurrence when dealing with a di;erse group o- users, o-ten in di--erent
departments or di--erent geographical locations @and sometimes with di--erent
nationalities and di--erent languagesA, who insist on using di--erent names to mean
the same thing ,he alias is included in the data dictionary -or completeness, and it
is cross"re-erenced to the primary or o--icial data name For example:
client L
Ralias -or customerR
4ote that the de-inition o- client does not show the composition @ie, it does not
show that a client consists o- a name, address, telephone number, etcA All this
detail should be pro;ided only -or the primary data name, in order to minimi%e the
redundancy in the modelJre-KEou may wish to ignore this ad;ice i- you are using
a computeri%ed data dictionary package that can manage and control the
redundancy; howe;er, this is -airly uncommon ,he crucial thing to remember is
that i- we change the de-inition o- a primary data element @eg, i- we decide that
the de-inition o- a customer should no longer include the phone"numberA then the
change must apply to all the aliases as wellJIre-K
/;en though the data dictionary correctly cross"re-erences the aliases to the
primary data name, you should a;oid using aliases whene;er possible ,his is
because the data names are usually -irst seen, and are most ;isible to all users, on
the data-low diagrams, where it may not be obvious that custo#er and c'ientare
aliases for one another *t is -ar better, i- at all possible, to get the users to agree on
one common nameJre-KAn alternati;e is to annotate the -low on the data-low
diagram to indicate that it is an alias -or something else; an asterisk, -or example,
could be appended to the end o- alias names For example, the notation clientR
could be used to indicate that client is an alias -or something else Dut e;en this is
cumbersomeJIre-K
Sho*in( the data dictionar" to the user
,he data dictionary is created by the systems analyst during the de;elopment o- the
system model, but the user must be capable o- reading and understanding the data
dictionary in order to ;eri-y the model ,his raises some ob;ious questions:
Will the users be able to understand the data dictionary notationC
=ow should the users ;eri-y that the dictionary is complete and
correctC
=ow is the dictionary createdC
,he question o- user acceptance o- the dictionary notation is a red herring! in most
cases Ees, the dictionary notation looks somewhat mathematical; but, as we ha;e
seen, the number o- symbols that the user has to learn are ;ery -ew 7sers are
accustomed to a ;ariety o- -ormal notations in their work and personal li-e;
consider, -or example, the notation -or musical scores, which is -ar more complex
Figure &?&: #usical score notation
Similarly, the notation -or bridge, chess, and a ;ariety o- other acti;ities is at least
as complex as that o- the data dictionary notation shown in this chapter
Figure &?+: 5hess notation
,he question o- user ;eri-ication o- the data dictionary usually leads to this
question: Should the users read through the entire dictionary, item by item, to
ensure that it is correctC! *t is di--icult to imagine that any user would be willing to
do thisB *t is more likely that the user will ;eri-y the correctness o- the data
dictionary in conjunction with the dataflow diagram, entity-relationship diagram,
state-transition diagram, or process specification that he or she is reading
,here are a number o- correctness! issues that the systems analyst can carry out on
his own, without the assistance o- the user: he can ensure that the dictionary is
complete, consistent, and non"contradictory ,hus, he can examine the dictionary
on his own and ask the -ollowing questions:
=as e;ery -low on the data-low diagram been de-ined in the data
dictionaryC
=a;e all the components o- composite data elements been de-inedC
=as any data element been de-ined more than onceC
=as the correct notation been used -or all data dictionary de-initionsC
Are there any data elements in the data dictionary that are not
re-erenced in the data-low diagrams, entity"relationship diagrams, or
state"transition diagramsC
I#p'e#entation o! the data dictionar"
0n a medium" or large"si%ed system, the data dictionary can represent a -ormidable
amount o- work *t is not uncommon to see a data dictionary with se;eral thousand
entries, and e;en a relati;ely simple system will ha;e se;eral hundred entries
,hus, some thought must be gi;en to the way the dictionary will be de;eloped, or
the task is likely to o;erwhelm the systems analyst
,he easiest approach is to make use o- an automated @computeri%edA -acility to
enter dictionary de-initions, check them -or completeness and consistency, and
produce appropriate reports *- your organi%ation is using any modern database
management system @eg, DD+, 0racle, Sybase, #icroso-t AccessA, a dictionary
-acility is already a;ailable *n this case, you should take ad;antage o- the -acility
and use it to build your data dictionary =owe;er, beware o- the -ollowing potential
limitations:
Eou may be -orced to limit your data namesto a certain length @eg,
&2 or .+ charactersA ,his probably won>t be a ma<or problem, but you
may -ind that your user may insist on a name such as destination&o!&
custo#er&ship#ent and that your data dictionary package -orces you
to abbre;iate the name to dest&o!&cust&ship
0ther arti-icial limitations may be placed on the name For example,
the hyphen character "! may not be allowed, and you may be -orced
to use the underscore X! character instead 0r you may be -orced to
pre-ix @or su--ixA all your names with a pro<ect code indicating the
name o- the systems de;elopment pro<ect, leading to such names as
acct-pa"-.H/012P11-3endor4phone4nu#+er
Eou may be -orced to assign physical attributes @eg, the number o-
bytes, or blocks o- disk storage, or such data representations as packed
decimalA to an item o- data, e;en though it is not a matter o- user
policy ,he data dictionary discussed in this chapter should be an
analysis dictionary and should not require unnecessary or irrele;ant
implementation decisions
Some systems analysts are also beginning to use automated toolkit packages that
include graphic -acilities -or data-low diagrams, and the like, as well as data
dictionary capabilities Again, i- such a -acility exists, you should make use o- it
Automated toolkits are discussed in more detail in Appendix A
*- you ha;e no automated -acility -or building the data dictionary, you should at
least be able to use a con;entional word"processing system to build a text -ile o-
data dictionary de-initions 0r, i- you ha;e access to a personal computer, you can
use any o- the common -ile"management and database management programs @eg,
#icroso-t Access -or Windows"based computers, or File#aker -or #acintosh
computersA to construct and manage your data dictionary
0nly in the most extreme case should you resort to a manual data dictionary, that is,
separate, ."by"2 index cards -or each dictionary entry ,his was o-ten necessary,
prior to the &99?s; e;en when $5s were already widely deployed, it was
discouraging to see how many organi%ations kept their programmers and systems
analysts in the Dark Ages ,he cobbler>s children, as the saying goes, are usually
the last to get shoes Dut today, it is un-orgi;able; i- you are working on a pro<ect
where you do not ha;e access to a data dictionary package or an automated
analyst>s toolkit or a personal computer or a word processing system, then you
should @&A quit and -ind a better <ob, or @+A get your own personal computer, or @.A
both o- the abo;e
Su##ar"
Duilding a data dictionary is one o- the more tedious, time"consuming aspects o-
systems analysis Dut it is also one o- the more important aspects: without a -ormal
dictionary that de-ines the meaning o- all the terms, there can be no hope -or
precision
*n the next chapter, we will see how to use the data dictionary and the data-low
diagram to build process speci-ications -or each o- the bottom"le;el processes
RE5ERENCES
& HD Yomax, Data Dictionary Systems 3ochelle $ark, 4H: 455
$ublications, &9''
+ ,om De#arco, Structured Analysis and Systems Specification 4ew Eork:
E073D04 $ress, &9'9
. D Vroenke, Database rocessing 5hicago: Science 3esearch Associates,
&9''
1 Shaku Atre, Data !ase" Structured #echni$ues for Design, erformance,
and %anagement 4ew Eork: Wiley, &9(?
6UESTIONS AN% E7ERCISES
& Wi;e a de-inition o- data dictionary
+ Why is a data dictionary important in systems analysisC
. What in-ormation does a data dictionary pro;ide about a data elementC
1 What is the meaning o- the L! notation in a data dictionaryC
2 What is the meaning o- the M! notation in a data dictionaryC
) What is the meaning o- the @ A! notation in a data dictionaryC
' What is the meaning o- the N O! notation in a data dictionaryC
( What is the meaning o- the P T T Q! notation in a data dictionaryC
9 Do you think the users you work with can understand the standard data
dictionary notation pro;ided in this chapterC *- not, can you suggest an
alternati;eC
&? Wi;e an example o- an elementary data item
&& Wi;e three examples o- optional data elements
&+ What are the possible meanings o- the -ollowing:
@aA address L @cityA M @stateA
@bA address L street"address M city M @stateA M @%ipcodeA
&. Wi;e an example o- the use o- the iteration NO notation
&1 What is the meaning o- each o- the -ollowing notations:
@aA a L &NbO
@bA a L NbO&?
@cA a L &NbO&?
@dA a L &?NbO&?
&2 Does it make sense to ha;e an order de-ined in the -ollowing wayC Why or
why notC
order 8 custo#er&na#e 9 shippin(&address 9 :;ite#<
&) Wi;e an example o- the selection @P Q !A construct
&' What is the meaning o- an alias in a data dictionaryC
&( Why should the use o- aliases be minimi%ed where;er possibleC
&9 What kind o- annotation can be used on a DFD to indicate that a data
element is an aliasC
+? What are the three ma<or issues when a user looks at a data dictionaryC
+& Do you think the users in your organi%ation will be able to understand data
dictionary notationC
++ Do you think that the data dictionary notation shown in this chapter is more
complex or less complex than musical notationC
+. What are the three error"checking acti;ities that the systems analyst can
carry out on a data dictionary without the userC
+1 What are the likely limitations o- an automated data dictionary packageC
+2 Wi;e a data dictionary de-inition o- customer"name based on the -ollowing
;erbal speci-ication -rom a user: When we record a customer>s name, we>re
;ery care-ul to include a courtesy title ,his can be either #r,! #iss,!
#s,! #rs,! or Dr! @,here are lots o- other titles like $ro-essor,! Sir,!
etc, but we don>t bother with themA /;ery one o- our customers has a -irst
name, but we allow a single initial i- they pre-er #iddle names are optional
And o- course, the last name is required; we allow a pretty broad range o-
last names, including names that ha;e hyphens @Smith"Frisby,! -or
exampleA and apostrophes @D>Arcy!A and so -orth We e;en allow an
optional su--ix, to allow -or things like ,om Smith, Hr! or =ar;ey Shmrdlu
.rd!
+) What is wrong with the -ollowing data dictionary de-initions:
@aA a L b c d
@bA a L b M M c
@cA a L Nb
@dA a L 1NbO.
@eA a L NxA
@-A x L @@yAA
@gA p L 1N)NyO(O)
+' *n the hospital example o- Section 9+, what are the implications o- the
de-inition o- height and weightC 5omment: *t would imply that we are only
measuring in integral units and are not keeping track o- -ractional
centimeters, and so on
+( Write a data dictionary de-inition o- the in-ormation contained on your
dri;er>s license *- you don>t ha;e a dri;er>s license, -ind a -riend who does
+9 Write a data dictionary de-inition o- the in-ormation contained on a typical
bank credit card @eg, #aster5ard or GisaA
.? Write a data dictionary de-inition o- the in-ormation contained in a passport
.& Write a data dictionary de-inition o- the in-ormation contained in a lottery
ticket
EN%NOTES
Jre-erencesIK
3etrie;ed -rom Zhttp:IIyourdoncomIstrucanalysisIwikiIindexphpC
titleL5hapterX&?[oldidL1+&.Z
,his page was last modi-ied on &) #arch +?&?, at &.:.?
,his page has been accessed 99,2(? times

You might also like