Académique Documents
Professionnel Documents
Culture Documents
ByE.F.Codd
IN PgPTH/REUTIONAL DBMS
C/MMSf
,
(apt oniy or tape ptus 25, 35.
50 or 90 m^airytes hard disk. ' ■ Call 1-800-228- ' ,
-DISK lor thcTaJlgra»
dealer nearest yo'n. And come in
ftom the cold. • • -
ijl'iiV wi'if ■ 'For afraiiutkprinl(^the Carat lupuiGm
¥foV, seitd a meek jar $3 to: The Tamms
CoUectam,Deft W, lllOO W.SZndSt., OueHanJ
Pbrk, KS 66214. Preceeib, aim an adHAmal
Sonahon fivm 7?i%i\ijj, wiU be forwarded to
theWoHdWU^FtaUd. i.
Survival Strategy
For Serious Data: pg/t
■/4 COMPUTCRWORLD OCTOBER 14. 1965
IW DEWH/RELATtONAL DBMS
Irral (ultipfa racord-t-^-tiBne). An¬ not done the work necessary for and domain names are represented
other eoneequenee ie the necessity of achieving good performance with 99 as character strings in sesne tables.
eupportinf ^ infcNutstioo rale and the rdational approach. Tables containing such names are
the gharanised acoesB rale. What is the danger to buyers and Rulel-.AU normally part of the built-in system
’•Multiple record-at-s-tiioe" in- users of a system thst is clsimed to ivforvfiation in catalog. The catali^ is accordingly a
dudes M special cases those situa- be a relational DBMS and that fails relational data base itself — one thst
tiom in which aero or one record is on Rule Zero? Buyers and users will a relational data is dynamic and active and represents
retrieved, inserted, updated or de¬ expect all the advantages of a truly base is represented the metadata (data describing the
leted. In ocher words, a rdatlon (ta¬ relational DBMS, and they will fail to explicitly at the' rest of thedau in the system).
ble) nay iiavc either aero tuples get these advantages. The information rale is enforced
(raws) or one tuple and still be a Now I shall describe the 12 rules logical level and in not only for user productivity but
vattd rdatlon. that, together with the nine struc¬ exactly one way — also to make it a reasonably simple
Any statement in the manuals of a tural. 18 manipulative and three in¬ by values in tables. job for software vendors to define
lyetew dairncd to be a relational tegrity features of the relational additional software^packages (such ’
DBMS that advises usera to revert to model, determine in speciHc detail as application developmrat ai<te, ex¬
some noordaticmal capabilities **10 the extent of validity of a vendor's pert systems gnd so on) that inter- ,
achieve acceptable perfmmanoe** — claim to have a “fully relational The information rale. face with rel^onal DU4S and, by
or for any reason other than com¬ DBMS.** Atle 1: AU information in a reia- definition, are well integrated with
patibility with programs written in All 12 rules are motivated by Rule tional data base is represented ex- the DBMS.
Che past on nonrelational data base Zero defined above, but a DBMS can plicitiff at the logical level and in That is, these packages retrieve r
syatiwis — slMuld be interpreted ss be more readily checked for compli¬ exactly one way — by values in information already existing in the
an apology by the vended. Such a ance with these 12 than with Rule tables. catalog and, as needed, put new in¬
statement indicates the vendor has Zero. Even table names, column names formation in the catalog by the very
act of using the DBMS. •'
An additional reason to enforce
this rule is to make the data base
administrator's task of maintaining
the data base in a state of overall
integrity both simpler and more ef¬
fective. There is nothing more em¬
barrassing to a data base administra¬
Byi
Mate S: Null values (distinct fi^nn
the empty {Procter string or a
string ttfbUxnk characters and dis¬
tinct Jiwm sero or any other number)
are supported infiUly relational
DBMS for representing missing <»-
•jd/wsue p9|T)ri9p ajoui e x) j nms 9snoipu9d formation aad inappUeable infi>P-
motion tn a ^fstematic way, inde¬
Xicns-o/vu 'uioojp9q-(wu e jo 'aims oiprus uiooip9q-9uo e u]
pendent of data type.
Xiqepjo^e os ‘jaioq 9uq e jo$9Qiu9uie 9tp jo
To support data base integrity, It
Xtreui os tpiM 9ui(^ jo suojuioa 9q) )o Xu^ os s9uiqujoD 9Deid
must be possible to specify “nulls ruK
i9q}0 OU iOj 9Sin09 JO'UUI 99U9pfS9)] 9qj, allowed" for each primary key col¬
umn and fmr any other columns
where the data base administrator
considers it an appropriate integrity
constraint (for example, certain for¬
eign key columns).
Past techniques entailed denning
a special value (peculiar to each col¬
umn or field) to represent missing
informatitm. This would be raoat un¬
systematic in a relational data base
because users would have to employ
different techniques for each column
or domain — a difficult task because
of the high level qf language In
OCTOBER 14. 1985 COMPUTERWORLO P/S
JNDCPTH/REUTIONAL DBMS
use (and a task that I believe regard, “update" is intended of its execution-time actions.
would decrease user produc¬ to include insertion and dele¬ Hallows the system toideter¬ w
tivity). tion as welt as modification. mine which access paths to
exploit to obtain the most Rule 4: The data basfi description
Dynamic on-Une catalog High-level insert, update efHcient code.
baaed on the relational and delete. It can also be extremely
is represented at the logical level
model. Rule 7: The capability of important in obtaining effi¬ in the same way as ordinary data,
Jtule 4: The data base de¬ handling a base relation or cient handling of transac¬ so that authorized users can apply
scription is represented at a derived relation as a sin¬ tions across a distributed
the logical level in the same gle operand applies not only
the same relational language to its
data base. In this case, users
way as ordinary data, so to the retrieval of data but would prefer that communi¬ interrogation as th^ apply
that authorized users can also tojhe insertion, update cations costs are saved by to the regular data.
apply the same relationai and deletion of data. avoiding the necessity of
language to its interrogcUion This requirement gives transmitting a separate re¬
as they apply to the regular the system much more scope quest for each record ob¬
data. in optiipizing the efficiency tained from remote sites.
One consequence of this is
that each user (whether an
application progranuner or
end user) needs to learn only
one data model — an advan¬
tage that nonrelational sys¬
tems usually do not offer
(IBM’s IMS, together with its
Looking for the first
dictionary, requires the user
to learn two distinct data
models).
CKS ai^kattons devetopment tool
Another consequence is
that author!^ users can
easily extend the catalog to
that^ as versatile as you aref .
become a full-fledged, active, As a data processed manager, you v/ear a '
relational data dictionary lot of dMuem hats. Constantly batanong
whenever the vendor fails to programmer-resources, machine resources
do so.
and time demands to get your different
fobsdone. .
Compreheimive data aab-
language rule. That’s why you r«edCONSENSUS*TiOm
Kttle &' A relational sys¬ Marbn Marietta Data Systems. The fast
tem may support several on-line applications dei^iopment ttiol to
languages and various let you develop applications three deferent
modes of terminal use (for ‘ways arM in w^tever bperatng environ¬
exampderthe fiU-in-the- ment )«)u choose.
blanks inode). However,
With CONSENSUS.you can de^lop ap¬
there must be at least one
plications n COBOL ai^ in 4GL procedural
language whose statements
and non-procedumi languages. CONSENSUS
are expressible, per some
accesses aknpst every popular database
wellni^ned syntax, as char¬
acter strings and that is and lets you develop in OCS. CMS, VMK
comprehensiife insupport¬ or batch erMTonrnents- Ar>d. most impar-
ing Ml of the following items: tantly. al CONSENSUS components are
■ Data d^nition. compatible with dne another and v^ et-
■ View <U(finition. isbng applications.
■ Data manipulation (in¬ CONSENSUS is truly a breakthrou^
teractive and by program). product One whidi Can change the
■ Integrity constraints. you develop OCS appkabons. lt'$ another
■ Authorization. of Martin Marietta’s Natural Selection^
■ TVansaction bound¬
products—an interrelated family of products
aries (begin, commit and
that work writh an extraordinary variety of
rollback): ,
machines, environments, appkatxms
The relational approach is
needs and degree of uier sophisticatxm.
intentionally highly dynamic
— that la, it should rarely be If you thou^ you’d never feid an appli¬
necessary to bring the data cations development tool that's as versatie
base activity to a halt (In as you are. you’re vi for a nice surpree.
.contrast to nonrelational It’s ready now'
DBlk^). Therefore, it does
not m^e sense to separate
the services listed above into CM ^
distinct languages. Mirbn riarcttt Dm Siwmtt cw-tei#
COMSENSUSMbmution .
in the mid-’70s, the Ansi
PO Bw 2392. Prmcetan. N| 08540
Standards Planning and Re^
O I'd Me a Represenowc iq oN.
quiremenCs (^mmittee gen¬
□ Please send me CONSENSUS bteraiura.
erated a document advocat¬
ing 42 distinct interfaces and
(potentially) 42 distinct lan¬ tir*—
guages for DBMS. Fortunate¬ rrme^
ly, that idea has apparently -
b^n abandoned.
nia^( 1
^ew updatlag rule.
Ruled: All views that are
‘theoretically updatable are
■also updatable by the sys-
,tem.
1 Ttfv |
Note that a view is theo¬
retically updatable if there
' exists a time-iruiependent al-
- gorithm for unambiguously '
Martin Marietta^ CONSENSUS.
determining a single series of
changes to the base relations W^readynew.
that will have as their effect
precisely the requested
changes in the view. In this
IrShr^Kil
dedicated
IMoe Advantage
Of Local Area Netwoiks.
LAN versions of MultiMate Advantage and MultiMate 3.3
Series bring word processing to every desk. Hardware specific
vOTons enhance IBM
MuItiMate’s twhniraii support
is the best in the industry with
ondine assrstanoe available every
-ifcl*' business day. User newdetters A
aixl training programs, too. V
IN DCPTN/RELATIONAL DBMS
Then, the additional integri¬ allowed Urhave a null value. terminal activities are 16gi-
ty constraints are defined in Referential integrity. For cally impaired.
tkih 8: Appiicatkm pro- terms of the high-level data each distinct nonnuU foreign Nonrelational DBMS rare¬
gramg omd Urmimil aetivi- sublanguage and the defini¬ key value in a relational data Rulell;.4 ly support this rule as part .
tits remain logicaily umim- tions stored in the catalog, base, there must exist a of the DBMS engine, where it
relational
pnred-whemever oMff changes not in the application pro- matching primary key value belongs. Instead, they de¬
are made iM either storage grams. from the same domain. DBMS has
pend on a dictionary pack¬
representations or access Information about inade¬ If, as sometimes happens, distribution age, which may or may not
methods. quately identified objects is either business policies or independence. be present and can readily be
lb hmndle this, the DBMS never recorded in a relation¬ government regulations bypassed.
must support a cl^, sharp al data base. To be more spe¬ change, it will probably be¬
boundary between the logi¬ cific, the following two in¬ come necessary to change more of the integrity state- Dtstiibution indepen¬
cal and semantic aspects on tegrity rules apply to every the integrity constraints. ments that are stored in the dence.
ibe one haitd and the physi¬ relatuMial data base: Normally, this can be accom¬ catalog. Jbife II: A relational
cal and performance aspects Batity iategrity. No com¬ plished in a fully relational In many cases, neither the DBMS has distribution inde¬
of the base tables on the oth- ponent of a primary key is DBMS by changing one or application programs nor the pendence.
^ i^>pHcation programs
must deal with.the logical
aspects only.
Nonrelational DBMS rare¬
ly provide complete support
for this rule — in fact; I
know of ncMte that do.
HOWTO
to the base tables.
Take the following two
examples: splitting a table
iitto two tables, either by
rows using row content or'by
columns using column
names, if primary keys are
* iweserved in each result; or
MAKEA
combining two tables into
one by means of a nonloss
joiit (Stanford University
and MIT authors call these
joins “lo^ess”).
lb provide this service
whenever possible, the
GREAT
DBMS must be capable of
handling inserts, updates
and deletes on all view that
are the<Metically updatable.
This rule permits logical data
base design to be changed
dynamically il^ for example,
such a change would im¬
IMHtESSiaV
prove performance.
The physical aiid logical
data in^pendmtee rules per¬
mit data base designers for
fclatkmai DBMS to make
mistakes in their designs
without the heavy penalties
levied by nonrelational
ATTHE
DBMS. This, in turn, means
that it is much easier to get
started with a rel^onal
DBMS because not nearly as
much peiformance-oriented
planning is needed prior to
••Nsm-off.”
lategrlty tadepeadeace.
Mate 19s Integrity con¬
straints specific to a partic-
nlar reiaiional data base
mast be definable in the re¬
lational data suhUtngnage
and storable in the catalog,
not in the appHoation pro¬
(STICE
grams.
In addition to the two in¬
tegrity rules (entity integrity
and referential integrity)
that apply to every relation¬
al data base, there tg a clear
heed to be able to specify ^
additiooal integrity cem-
straUtts reflecting^ither
business policies or govern-
meiA regulations.
Assume the relational
model is faithhilly reflected.
IW Pgrai/REI-ATIONAL DBMS
By distribution indepen¬ carefully worded s6 that the IBM San Jose Research processing but not distribut¬ tivlty treats the toulity of
dence, I mean that the DBMS both distributed and nondia- Laboratory prototype), and ed data. The only systems data as if it were all lo^ to
has a data sublanguage that tributed. DBMS can,fuUy sup¬ the distribute Ingres pruject that support the concept of the site where the applica¬
enables application pro- . port Rule 11. IBM's SQL/D8 at the University of Califor¬ msking all the distributed tion program or tcrmiiial ac-
grains and terminal activities and DB2, Oracle Corp.'sOra* nia at Berkeley has shown dau appear to be local are tivity is being executed.
to remain logically unim¬ cle and Relational Tachnol- the same capability for the relational DBMS — these are A fuUy relational DBMS
paired: 0^, Inc. 's Ingres (all nondis- Quel language of Ingres. prototypes right now. that does not support d&-
■ when dau distribution tributed in present releases) It is Important to distin¬ In the case of a distribut¬ tributed dau bases has the
is nrst introduced (if the fully, support this rule. guish distributed processing ed relational DBMS, a single capability of being extended
originally installed DBMS This has been demonstrat¬ from distributed dau. In the transaction may straddle to provide that support
manages nondistributed data ed as follows: SQL programs former case, woric (for exam¬ several remote sites. Such while leaving apiAication
only); have been written to operate ple, programs) is transmitted straddling is managed entire¬ programs and terminal activ¬
■ when data is redistrib¬ on nondistributed data (us-, to the data; in the latter case, ly under the covers — the ities logically unimpaired,
uted (if the DBMS manages ing System R) run corre^y dau is transmitted to the system may have to execute both at the time of initial
distributed data). on distributed versions of woric. Many nonreiatibnal recovery at multiple sites. distribution and whenever
Note that the definition is that data (using System R*, dBms support distributed Each program or terminal ac- later redistr^Hition is made.
Thery are four impmtant
reasons why relational
DBMS «\{oy this advantage:
■ Pecesapaaltlaa flexft-
MUty in deciding how to de¬
ploy the-dau.
■ Rerampesltlea powci
of the relational operators
when combining the results
of snbtransactions executed
St different sites.
■ Bctuomy ai traaaatia-.
Sion resulting from the fact
that there need not be a're-
quest message sent for each