31,4HE#OMPLETE2EFERENCE
4HIRD%DITION
This page intentionally left blank
31,4HE#OMPLETE2EFERENCE
4HIRD%DITION0AUL7EINBERG*AMES'ROFF
!NDREW/PPEL
.EW9ORK#HICAGO3AN&RANCISCO,ISBON,ONDON-ADRID-EXICO#ITY
-ILAN.EW$ELHI3AN*UAN3EOUL3INGAPORE3YDNEY4ORONTO
Copyright 2010 by The McGraw-Hill Companies. All rights reserved. Except as permitted under the United States Copyright Act of 1976,no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, withoutthe prior written permission of the publisher.
ISBN: 978-0-07-159256-7
MHID: 0-07-159256-3
The material in this eBook also appears in the print version of this title: ISBN: 978-0-07-159255-0, MHID: 0-07-159255-5.
All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name,we use names in an editorial fashion only, and to the benefit of the trademark owner, with no intention of infringement of the trademark. Wheresuch designations appear in this book, they have been printed with initial caps.
McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training pro-grams. To contact a representative please e-mail us at [email protected].
Information has been obtained by McGraw-Hill from sources believed to be reliable. However, because of the possibility of human or mechan-ical error by our sources, McGraw-Hill, or others, McGraw-Hill does not guarantee the accuracy, adequacy, or completeness of any informa-tion and is not responsible for any errors or omissions or the results obtained from the use of such information.
TERMS OF USE
This is a copyrighted work and The McGraw-Hill Companies, Inc. (McGraw-Hill) and its licensors reserve all rights in and to the work. Useof this work is subject to these terms. Except as permitted under the Copyright Act of 1976 and the right to store and retrieve one copy of thework, you may not decompile, disassemble, reverse engineer, reproduce, modify, create derivative works based upon, transmit, distribute, dis-seminate, sell, publish or sublicense the work or any part of it without McGraw-Hills prior consent. You may use the work for your own non-commercial and personal use; any other use of the work is strictly prohibited. Your right to use the work may be terminated if you fail to com-ply with these terms.
THE WORK IS PROVIDED AS IS. McGRAW-HILL AND ITS LICENSORS MAKE NO GUARANTEES OR WARRANTIES AS TO THEACCURACY, ADEQUACY OR COMPLETENESS OF OR RESULTS TO BE OBTAINED FROM USING THE WORK, INCLUDING ANY INFORMATION THAT CAN BE ACCESSED THROUGH THE WORK VIA HYPERLINK OR OTHERWISE, AND EXPRESSLY DIS-CLAIM ANY WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MER-CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. McGraw-Hill and its licensors do not warrant or guarantee that the func-tions contained in the work will meet your requirements or that its operation will be uninterrupted or error free. Neither McGraw-Hill nor itslicensors shall be liable to you or anyone else for any inaccuracy, error or omission, regardless of cause, in the work or for any damages result-ing therefrom. McGraw-Hill has no responsibility for the content of any information accessed through the work. Under no circumstances shallMcGraw-Hill and/or its licensors be liable for any indirect, incidental, special, punitive, consequential or similar damages that result from theuse of or inability to use the work, even if any of them has been advised of the possibility of such damages. This limitation of liability shallapply to any claim or cause whatsoever whether such claim or cause arises in contract, tort or otherwise.
!BOUTTHE!UTHORS*AMES2'ROFFIS#%/OF0"WORKSWHOSEHOSTEDCOLLABORATIONSOFTWAREHELPSTEAMSOFPEOPLEWORKTOGETHERMOREEFFECTIVELYANDEFFICIENTLY%ARLIER'ROFFWAS#%/OF4IMES4ENTHELEADINGPROVIDEROFINMEMORY31,DATABASES(ELED4IMES4ENFROMITSEARLYDAYSTHROUGHEIGHTYEARSOFGROWTHANDASUCCESSFULACQUISITIONBY/RACLEINWHEREHESERVEDASASENIORVICEPRESIDENTAND/RACLE4IMES4ENBECAME/RACLESFLAGSHIPREALTIMEDATABASEPRODUCT'ROFFWASTHECOFOUNDERWITH0AUL7EINBERGOF.ETWORK)NNOVATIONS#ORPORATIONADEVELOPEROF31,BASEDNETWORKINGSOFTWAREANDCOAUTHORWITHHIMOF5NDERSTANDING5.)8!#ONCEPTUAL'UIDEASWELLASTHISBOOK'ROFFHASALSOHELDSENIORDIVISIONMANAGEMENTANDMARKETINGPOSITIONSAT!PPLE#OMPUTERAND(EWLETT0ACKARD(EHOLDSA"3IN-ATHEMATICSFROMTHE-ASSACHUSETTS)NSTITUTEOF4ECHNOLOGYANDAN-"!FROM(ARVARD5NIVERSITY0AUL.7EINBERGISASENIORVICEPRESIDENTAT3!0WHEREHERUNSCORE-$--ASTER$ATA
-ANAGEMENTDEVELOPMENT0RIORTOWORKINGAT3!07EINBERGWASPRESIDENTOF!I)NCWHICHWASACQUIREDBY3!0INFORITSENTERPRISEWIDEPLATFORMFORPRODUCTCONTENTMANAGEMENTANDCATALOGPUBLISHING7EINBERGWASTHECOFOUNDERWITH*AMES'ROFFOF.ETWORK)NNOVATIONS#ORPORATIONAPIONEERINCLIENTSERVERDATABASEACCESSTHATWASACQUIREDBY!PPLE#OMPUTERINANDCOAUTHORWITHHIMOF5NDERSTANDING5.)8!#ONCEPTUAL'UIDEASWELLASTHISBOOK(EHASALSOHELDSOFTWAREDEVELOPMENTANDMARKETINGPOSITIONSAT"ELL,ABORATORIES(EWLETT0ACKARDAND0LEXUS#OMPUTERS)NHECOLLABORATEDON4HE3IMPLE3OLUTIONTO2UBIKS#UBETHENUMBERONEBESTSELLINGBOOKOFTHATYEARWITHOVERMILLIONCOPIESSOLD(EHOLDSA"3FROMTHE5NIVERSITYOF-ICHIGANANDAN-3FROM3TANFORD5NIVERSITYBOTHIN#OMPUTER3CIENCE!NDREW*!NDY/PPELISLEADDATAMODELERAT"LUE3HIELDOF#ALIFORNIA)NADDITIONHEHAS
SERVEDASAPARTTIMEINSTRUCTORINDATABASETECHNOLOGYWITHTHE5NIVERSITYOF#ALIFORNIAAT"ERKELEY%XTENSIONFORMORETHANYEARS!NDYHASDESIGNEDANDIMPLEMENTEDHUNDREDSOFDATABASESFORAWIDERANGEOFAPPLICATIONSINCLUDINGHEATHCAREBANKINGINSURANCEAPPARELMANUFACTURINGTELECOMMUNICATIONSWIRELESSCOMMUNICATIONSANDHUMANRESOURCES(EISTHEAUTHOROF$ATABASES$EMYSTIFIED31,$EMYSTIFIEDAND$ATABASES!"EGINNERS'UIDEANDISCOAUTHOROF31,!"EGINNERS'UIDE(EHOLDSA"!IN#OMPUTER3CIENCEFROM4RANSYLVANIA5NIVERSITY,EXINGTON+9
!BOUTTHE4ECHNICAL%DITOR!ARON$AVENPORTHASBEENWORKINGWITH31,BASED2$"-3TECHNOLOGIESFOROVERTENYEARS(EISCURRENTLYAPRINCIPALAT,#34ECHNOLOGIES)NCA3ACRAMENTOAND3AN&RANCISCO"AY!READATABASECONSULTINGFIRMSPECIALIZINGINPERFORMANCETUNINGAPPLICATIONDEVELOPMENTANDDATABASEARCHITECTURE0RIORTOJOINING,#3!ARONHADTENURESAT9AHOO'AP)NCAND"LUE3HIELDOF#ALIFORNIA
This page intentionally left blank
VII
#ONTENTSATA'LANCE
0ART) !N/VERVIEWOF31, )NTRODUCTION
!1UICK4OUROF31,
31,IN0ERSPECTIVE
2ELATIONAL$ATABASES
0ART)) 2ETRIEVING$ATA 31,"ASICS
3IMPLE1UERIES
-ULTITABLE1UERIES*OINS
3UMMARY1UERIES
3UBQUERIESAND1UERY%XPRESSIONS
0ART))) 5PDATING$ATA $ATABASE5PDATES
$ATA)NTEGRITY
4RANSACTION0ROCESSING
0ART)6 $ATABASE3TRUCTURE #REATINGA$ATABASE
6IEWS
31,3ECURITY
4HE3YSTEM#ATALOG
VII
VIII 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
0ART6 0ROGRAMMINGWITH31, %MBEDDED31,
$YNAMIC31,
31,!0)S
0ART6) 31,4ODAYAND4OMORROW $ATABASE0ROCESSINGAND3TORED0ROCEDURAL31,
31,AND$ATA7AREHOUSING
31,AND!PPLICATION3ERVERS
31,.ETWORKINGAND$ISTRIBUTED$ATABASES
31,AND/BJECTS
31,AND8-,
3PECIALTY$ATABASES
4HE&UTUREOF31,
0ART6)) !PPENDIXES ! 4HE3AMPLE$ATABASE
" $"-36ENDOR0ROlLES
# 31,3YNTAX2EFERENCE
)NDEX
# O N T E N T S IX
IX
#ONTENTS!CKNOWLEDGMENTS XXIII)NTRODUCTION XXV
0ART) !N/VERVIEWOF31, )NTRODUCTION
4HE31,,ANGUAGE 4HE2OLEOF31, 31,3UCCESS&ACTORS
6ENDOR)NDEPENDENCE 0ORTABILITY!CROSS#OMPUTER3YSTEMS /FlCIAL31,3TANDARDS %ARLY)"-#OMMITMENT -ICROSOFT3UPPORT 2ELATIONAL&OUNDATION (IGH,EVEL%NGLISH,IKE3TRUCTURE )NTERACTIVE!D(OC1UERIES 0ROGRAMMATIC$ATABASE!CCESS -ULTIPLE6IEWSOF$ATA #OMPLETE$ATABASE,ANGUAGE $YNAMIC$ATA$ElNITION #LIENT3ERVER!RCHITECTURE %NTERPRISE!PPLICATION3UPPORT %XTENSIBILITYAND/BJECT4ECHNOLOGY )NTERNET$ATABASE!CCESS *AVA)NTEGRATION*$"# /PEN3OURCE3UPPORT )NDUSTRY)NFRASTRUCTURE
!1UICK4OUROF31, !3IMPLE$ATABASE 2ETRIEVING$ATA 3UMMARIZING$ATA !DDING$ATATOTHE$ATABASE $ELETING$ATA 5PDATINGTHE$ATABASE 0ROTECTING$ATA #REATINGA$ATABASE 3UMMARY
IX
X 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
31,IN0ERSPECTIVE 31,ANDTHE%VOLUTIONOF$ATABASE-ANAGEMENT !"RIEF(ISTORYOF31,
4HE%ARLY9EARS %ARLY2ELATIONAL0RODUCTS )"-0RODUCTS #OMMERCIAL!CCEPTANCE
31,3TANDARDS 4HE!.3))3/3TANDARDS /THER%ARLY31,3TANDARDS /$"#ANDTHE31,!CCESS'ROUP *$"#AND!PPLICATION3ERVERS 31,AND0ORTABILITY
31,AND.ETWORKING #ENTRALIZED!RCHITECTURE &ILE3ERVER!RCHITECTURE #LIENT3ERVER!RCHITECTURE -ULTITIER!RCHITECTURE
4HE0ROLIFERATIONOF31, 31,ON-AINFRAMES 31,ON-INICOMPUTERS 31,ON5.)8"ASED3YSTEMS 31,ON0ERSONAL#OMPUTERS 31,AND4RANSACTION0ROCESSING 31,AND7ORKGROUP$ATABASES 31,$ATA7AREHOUSINGAND"USINESS)NTELLIGENCE 31,AND)NTERNET!PPLICATIONS
3UMMARY
2ELATIONAL$ATABASES %ARLY$ATA-ODELS
&ILE-ANAGEMENT3YSTEMS (IERARCHICAL$ATABASES .ETWORK$ATABASES
4HE2ELATIONAL$ATA-ODEL 4HE3AMPLE$ATABASE 4ABLES 0RIMARY+EYS 2ELATIONSHIPS &OREIGN+EYS
#ODDS2ULESFOR2ELATIONAL$ATABASES 3UMMARY
# O N T E N T S XI
0ART)) 2ETRIEVING$ATA 31,"ASICS
3TATEMENTS .AMES
4ABLE.AMES #OLUMN.AMES
$ATA4YPES #ONSTANTS
.UMERIC#ONSTANTS 3TRING#ONSTANTS $ATEAND4IME#ONSTANTS 3YMBOLIC#ONSTANTS
%XPRESSIONS "UILT)N&UNCTIONS -ISSING$ATA.5,,6ALUES 3UMMARY
3IMPLE1UERIES 4HE3%,%#43TATEMENT
4HE3%,%#4#LAUSE 4HE&2/-#LAUSE
1UERY2ESULTS 3IMPLE1UERIES
#ALCULATED#OLUMNS 3ELECTING!LL#OLUMNS3%,%#4 $UPLICATE2OWS$)34).#4 2OW3ELECTION7(%2%#LAUSE 3EARCH#ONDITIONS 4HE#OMPARISON4EST
4HE2ANGE4EST"%47%%. 4HE3ET-EMBERSHIP4EST). 4HE0ATTERN-ATCHING4EST,)+% 4HE.ULL6ALUE4EST)3.5,, #OMPOUND3EARCH#ONDITIONS!.$/2AND./4
3ORTING1UERY2ESULTS/2$%2"9#LAUSE 2ULESFOR3INGLE4ABLE1UERY0ROCESSING
#OMBINING1UERY2ESULTS5.)/. 5NIONSAND$UPLICATE2OWS 5NIONSAND3ORTING -ULTIPLE5.)/.S
3UMMARY
XII 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
-ULTITABLE1UERIES*OINS !4WO4ABLE1UERY%XAMPLE 3IMPLE*OINS%QUI*OINS
0ARENT#HILD1UERIES !N!LTERNATIVE7AYTO3PECIFY*OINS *OINSWITH2OW3ELECTION#RITERIA -ULTIPLE-ATCHING#OLUMNS .ATURAL*OINS 1UERIESWITH4HREEOR-ORE4ABLES /THER%QUI*OINS
.ON%QUI*OINS 31,#ONSIDERATIONSFOR-ULTITABLE1UERIES
1UALIlED#OLUMN.AMES !LL#OLUMN3ELECTIONS 3ELF*OINS 4ABLE!LIASES
-ULTITABLE1UERY0ERFORMANCE 4HE3TRUCTUREOFA*OIN
4ABLE-ULTIPLICATION 2ULESFOR-ULTITABLE1UERY0ROCESSING
/UTER*OINS ,EFTAND2IGHT/UTER*OINS /LDER/UTER*OIN.OTATION
*OINSANDTHE31,3TANDARD )NNER*OINSIN3TANDARD31, /UTER*OINSIN3TANDARD31, #ROSS*OINSIN3TANDARD31, -ULTITABLE*OINSIN3TANDARD31,
3UMMARY
3UMMARY1UERIES #OLUMN&UNCTIONS
#OMPUTINGA#OLUMN4OTAL35- #OMPUTINGA#OLUMN!VERAGE!6' &INDING%XTREME6ALUES-).AND-!8 #OUNTING$ATA6ALUES#/5.4 #OLUMN&UNCTIONSINTHE3ELECT,IST .5,,6ALUESAND#OLUMN&UNCTIONS $UPLICATE2OW%LIMINATION$)34).#4
'ROUPED1UERIES'2/50"9#LAUSE -ULTIPLE'ROUPING#OLUMNS 2ESTRICTIONSON'ROUPED1UERIES .5,,6ALUESIN'ROUPING#OLUMNS
# O N T E N T S XIII
'ROUP3EARCH#ONDITIONS(!6).'#LAUSE 2ESTRICTIONSON'ROUP3EARCH#ONDITIONS .5,,6ALUESAND'ROUP3EARCH#ONDITIONS (!6).'7ITHOUT'2/50"9
3UMMARY
3UBQUERIESAND1UERY%XPRESSIONS 5SING3UBQUERIES
7HAT)SA3UBQUERY 3UBQUERIESINTHE7(%2%#LAUSE /UTER2EFERENCES
3UBQUERY3EARCH#ONDITIONS 4HE3UBQUERY#OMPARISON4EST 4HE3ET-EMBERSHIP4EST). 4HE%XISTENCE4EST%8)343 1UANTIlED4ESTS!.9AND!,,
3UBQUERIESAND*OINS .ESTED3UBQUERIES #ORRELATED3UBQUERIES 3UBQUERIESINTHE(!6).'#LAUSE 3UBQUERY3UMMARY !DVANCED1UERIES
3CALAR6ALUED%XPRESSIONS 2OW6ALUED%XPRESSIONS 4ABLE6ALUED%XPRESSIONS 1UERY%XPRESSIONS
31,1UERIES!&INAL3UMMARY
0ART))) 5PDATING$ATA $ATABASE5PDATES
!DDING$ATATOTHE$ATABASE 4HE3INGLE2OW).3%243TATEMENT 4HE-ULTIROW).3%243TATEMENT "ULK,OAD5TILITIES
$ELETING$ATAFROMTHE$ATABASE 4HE$%,%4%3TATEMENT $ELETING!LL2OWS $%,%4%WITH3UBQUERY
-ODIFYING$ATAINTHE$ATABASE 4HE50$!4%3TATEMENT 5PDATING!LL2OWS 50$!4%WITH3UBQUERY
3UMMARY
XIV 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
$ATA)NTEGRITY 7HAT)S$ATA)NTEGRITY 2EQUIRED$ATA 3IMPLE6ALIDITY#HECKING
#OLUMN#HECK#ONSTRAINTS $OMAINS
%NTITY)NTEGRITY /THER5NIQUENESS#ONSTRAINTS 5NIQUENESSAND.5,,6ALUES
2EFERENTIAL)NTEGRITY 2EFERENTIAL)NTEGRITY0ROBLEMS $ELETEAND5PDATE2ULES #ASCADED$ELETESAND5PDATES 2EFERENTIAL#YCLES &OREIGN+EYSAND.5,,6ALUES
!DVANCED#ONSTRAINT#APABILITIES !SSERTIONS 31,#ONSTRAINT4YPES $EFERRED#ONSTRAINT#HECKING
"USINESS2ULES 7HAT)SA4RIGGER 4RIGGERSAND2EFERENTIAL)NTEGRITY 4RIGGER!DVANTAGESAND$ISADVANTAGES 4RIGGERSANDTHE31,3TANDARD
3UMMARY
4RANSACTION0ROCESSING 7HAT)SA4RANSACTION 4HE!.3))3/31,4RANSACTION-ODEL
4HE34!2442!.3!#4)/.AND3%442!.3!#4)/.3TATEMENTS 4HE3!6%0/).4AND2%,%!3%3!6%0/).43TATEMENTS 4HE#/--)4AND2/,,"!#+3TATEMENTS
4RANSACTIONS"EHINDTHE3CENES 4RANSACTIONSAND-ULTIUSER0ROCESSING
4HE,OST5PDATE0ROBLEM 4HE5NCOMMITTED$ATA0ROBLEM 4HE)NCONSISTENT$ATA0ROBLEM 4HE0HANTOM)NSERT0ROBLEM #ONCURRENT4RANSACTIONS
,OCKING ,OCKING,EVELS 3HAREDAND%XCLUSIVE,OCKS $EADLOCKS !DVANCED,OCKING4ECHNIQUES
# O N T E N T S XV
6ERSIONING 6ERSIONINGIN/PERATION 6ERSIONING!DVANTAGESAND$ISADVANTAGES
3UMMARY
0ART)6 $ATABASE3TRUCTURE #REATINGA$ATABASE
4HE$ATA$ElNITION,ANGUAGE #REATINGA$ATABASE 4ABLE$ElNITIONS
#REATINGA4ABLE#2%!4%4!",% 2EMOVINGA4ABLE$2/04!",% #HANGINGA4ABLE$ElNITION!,4%24!",%
#ONSTRAINT$ElNITIONS !SSERTIONS $OMAINS
!LIASESAND3YNONYMS#2%!4%$2/0!,)!3 )NDEXES#2%!4%$2/0).$%8 -ANAGING/THER$ATABASE/BJECTS $ATABASE3TRUCTURE
3INGLE$ATABASE!RCHITECTURE -ULTIDATABASE!RCHITECTURE -ULTILOCATION!RCHITECTURE $ATABASESON-ULTIPLE3ERVERS
$ATABASE3TRUCTUREANDTHE!.3))3/3TANDARD #ATALOGS 3CHEMAS
3UMMARY
6IEW 7HAT)SA6IEW (OWTHE$"-3(ANDLES6IEWS !DVANTAGESOF6IEWS $ISADVANTAGESOF6IEWS
#REATINGA6IEW#2%!4%6)%7 (ORIZONTAL6IEWS 6ERTICAL6IEWS 2OW#OLUMN3UBSET6IEWS 'ROUPED6IEWS *OINED6IEWS
5PDATINGA6IEW 6IEW5PDATESANDTHE!.3))3/3TANDARD 6IEW5PDATESIN#OMMERCIAL31,0RODUCTS #HECKING6IEW5PDATES#(%#+/04)/.
XVI 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
$ROPPINGA6IEW$2/06)%7 -ATERIALIZED6IEWS 3UMMARY
31,3ECURITY 31,3ECURITY#ONCEPTS
5SER)DS 3ECURITY/BJECTS 0RIVILEGES
6IEWSAND31,3ECURITY 'RANTING0RIVILEGES'2!.4
#OLUMN0RIVILEGES 0ASSING0RIVILEGES'2!.4/04)/.
2EVOKING0RIVILEGES2%6/+% 2%6/+%ANDTHE'2!.4/04)/. 2%6/+%ANDTHE!.3))3/3TANDARD
2OLE"ASED3ECURITY 3UMMARY
4HE3YSTEM#ATALOG 7HAT)STHE3YSTEM#ATALOG
4HE#ATALOGAND1UERY4OOLS 4HE#ATALOGANDTHE!.3))3/3TANDARD #ATALOG#ONTENTS
4ABLE)NFORMATION #OLUMN)NFORMATION 6IEW)NFORMATION 2EMARKS 2ELATIONSHIP)NFORMATION 5SER)NFORMATION 0RIVILEGES)NFORMATION 4HE31,)NFORMATION3CHEMA /THER#ATALOG)NFORMATION 3UMMARY
0ART6 0ROGRAMMINGWITH31, %MBEDDED31,
0ROGRAMMATIC31,4ECHNIQUES $"-33TATEMENT0ROCESSING %MBEDDED31,#ONCEPTS $EVELOPINGAN%MBEDDED31,0ROGRAM 2UNNINGAN%MBEDDED31,0ROGRAM
# O N T E N T S XVII
3IMPLE%MBEDDED31,3TATEMENTS $ECLARING4ABLES %RROR(ANDLING 5SING(OST6ARIABLES
$ATA2ETRIEVALIN%MBEDDED31, 3INGLE2OW1UERIES -ULTIROW1UERIES
#URSOR"ASED$ELETESAND5PDATES #URSORSAND4RANSACTION0ROCESSING 3UMMARY
$YNAMIC31, ,IMITATIONSOF3TATIC31, $YNAMIC31,#ONCEPTS $YNAMIC3TATEMENT%XECUTION%8%#54%)--%$)!4% 4WO3TEP$YNAMIC%XECUTION
4HE02%0!2%3TATEMENT 4HE%8%#54%3TATEMENT
$YNAMIC1UERIES 4HE$%3#2)"%3TATEMENT 4HE$%#,!2%#523/23TATEMENT 4HE$YNAMIC/0%.3TATEMENT 4HE$YNAMIC&%4#(3TATEMENT 4HE$YNAMIC#,/3%3TATEMENT
$YNAMIC31,$IALECTS $YNAMIC31,IN/RACLE
$YNAMIC31,ANDTHE31,3TANDARD "ASIC$YNAMIC31,3TATEMENTS 4HE3TANDARD31,$! 4HE31,3TANDARDAND$YNAMIC31,1UERIES
3UMMARY
31,!0)S !0)#ONCEPTS 4HEDBLIB!0)31,3ERVER
"ASIC31,3ERVER4ECHNIQUES 31,3ERVER1UERIES 0OSITIONED5PDATES $YNAMIC1UERIES
/$"#ANDTHE31,#,)3TANDARD 4HE#ALL,EVEL)NTERFACE3TANDARDIZATION #,)3TRUCTURES #,)3TATEMENT0ROCESSING #,)%RRORSAND$IAGNOSTIC)NFORMATION #,)!TTRIBUTES #,))NFORMATION#ALLS
XVIII 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
4HE/$"#!0) 4HE3TRUCTUREOF/$"# /$"#AND$"-3)NDEPENDENCE /$"##ATALOG&UNCTIONS %XTENDED/$"##APABILITIES
4HE/RACLE#ALL)NTERFACE/#) /#)(ANDLES /RACLE3ERVER#ONNECTION 3TATEMENT%XECUTION 1UERY2ESULTS0ROCESSING $ESCRIPTOR(ANDLING 4RANSACTION-ANAGEMENT
*AVA$ATABASE#ONNECTIVITY*$"# *$"#(ISTORYAND6ERSIONS *$"#)MPLEMENTATIONSAND$RIVER4YPES 4HE*$"#!0)
3UMMARY
0ART6) 31,4ODAYAND4OMORROW $ATABASE0ROCESSINGAND3TORED0ROCEDURAL31,
0ROCEDURAL31,#ONCEPTS !"ASIC%XAMPLE 5SING3TORED0ROCEDURES
#REATINGA3TORED0ROCEDURE #ALLINGA3TORED0ROCEDURE 3TORED0ROCEDURE6ARIABLES 3TATEMENT"LOCKS &UNCTIONS 2ETURNING6ALUESVIA0ARAMETERS #ONDITIONAL%XECUTION 2EPEATED%XECUTION /THER&LOWOF#ONTROL#ONSTRUCTS #URSOR"ASED2EPETITION (ANDLING%RROR#ONDITIONS
!DVANTAGESOF3TORED0ROCEDURES 3TORED0ROCEDURE0ERFORMANCE 3YSTEM$ElNED3TORED0ROCEDURES %XTERNAL3TORED0ROCEDURES 4RIGGERS
!DVANTAGESAND$ISADVANTAGESOF4RIGGERS 4RIGGERSIN4RANSACT31, 4RIGGERSIN)NFORMIX30, 4RIGGERSIN/RACLE0,31, /THER4RIGGER#ONSIDERATIONS
# O N T E N T S XIX
3TORED0ROCEDURES&UNCTIONS4RIGGERSANDTHE31,3TANDARD 4HE31,03-3TORED0ROCEDURES3TANDARD 4HE31,03-4RIGGERS3TANDARD
3UMMARY
31,AND$ATA7AREHOUSING $ATA7AREHOUSING#ONCEPTS
#OMPONENTSOFA$ATA7AREHOUSE 4HE%VOLUTIONOF$ATA7AREHOUSING
$ATABASE!RCHITECTUREFOR7AREHOUSING &ACT#UBES 3TAR3CHEMAS -ULTILEVEL$IMENSIONS 31,%XTENSIONSFOR$ATA7AREHOUSING
7AREHOUSE0ERFORMANCE ,OAD0ERFORMANCE 1UERY0ERFORMANCE
3UMMARY
31,AND!PPLICATION3ERVERS 31,AND7EB3ITES%ARLY)MPLEMENTATIONS !PPLICATION3ERVERSAND4HREE4IER7EB3ITE!RCHITECTURES $ATABASE!CCESSFROM!PPLICATION3ERVERS
%*"4YPES 3ESSION"EAN$ATABASE!CCESS %NTITY"EAN$ATABASE!CCESS %*"%NHANCEMENTS %*"%NHANCEMENTS /PEN3OURCE!PPLICATION$EVELOPMENT
!PPLICATION3ERVER#ACHING 3UMMARY
31,.ETWORKINGAND$ISTRIBUTED$ATABASES 4HE#HALLENGEOF$ISTRIBUTED$ATA-ANAGEMENT $ISTRIBUTING$ATA0RACTICAL!PPROACHES
2EMOTE$ATABASE!CCESS 2EMOTE$ATA4RANSPARENCY 4ABLE%XTRACTS 4ABLE2EPLICATION 5PDATEABLE2EPLICAS 2EPLICATION4RADE/FFS 4YPICAL2EPLICATION!RCHITECTURES
$ISTRIBUTED$ATABASE!CCESS 2EMOTE2EQUESTS 2EMOTE4RANSACTIONS $ISTRIBUTED4RANSACTIONS $ISTRIBUTED2EQUESTS
XX 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
4HE4WO0HASE#OMMIT0ROTOCOL .ETWORK!PPLICATIONSAND$ATABASE!RCHITECTURE
#LIENT3ERVER!PPLICATIONSAND$ATABASE!RCHITECTURE #LIENT3ERVER!PPLICATIONSWITH3TORED0ROCEDURES %NTERPRISE!PPLICATIONSAND$ATA#ACHING (IGH6OLUME)NTERNET$ATA-ANAGEMENT
3UMMARY
31,AND/BJECTS /BJECT/RIENTED$ATABASES
/BJECT/RIENTED$ATABASE#HARACTERISTICS 0ROSAND#ONSOF/BJECT/RIENTED$ATABASES /BJECTSANDTHE$ATABASE-ARKET
/BJECT2ELATIONAL$ATABASES ,ARGE/BJECT3UPPORT ,/"SINTHE2ELATIONAL-ODEL 3PECIALIZED,/"0ROCESSING
!BSTRACT3TRUCTURED$ATA4YPES $ElNING!BSTRACT$ATA4YPES -ANIPULATING!BSTRACT$ATA4YPES
)NHERITANCE 4ABLE)NHERITANCE)MPLEMENTING/BJECT#LASSES
3ETS!RRAYSAND#OLLECTIONS $ElNING#OLLECTIONS 1UERYING#OLLECTION$ATA -ANIPULATING#OLLECTION$ATA #OLLECTIONSAND3TORED0ROCEDURES
5SER$ElNED$ATA4YPES -ETHODSAND3TORED0ROCEDURES /BJECT3UPPORTINTHE31,3TANDARD 3UMMARY
31,AND8-, 7HAT)S8-, 8-,"ASICS 8-,FOR$ATA
8-,AND31, %LEMENTSVS!TTRIBUTES
5SING8-,WITH$ATABASES 8-,/UTPUT 8-,)NPUT 8-,$ATA%XCHANGE 8-,3TORAGEAND)NTEGRATION
# O N T E N T S XXI
8-,AND-ETADATA $OCUMENT4YPE$ElNITIONS$4$S 8-,3CHEMA
8-,AND1UERIES 81UERY#ONCEPTS 1UERY0ROCESSINGIN81UERY
8-,$ATABASES 3UMMARY
3PECIALTY$ATABASES 6ERY,OW,ATENCYAND)N-EMORY$ATABASES
!NATOMYOFAN)N-EMORY$ATABASE )N-EMORY$ATABASE)MPLEMENTATIONS
#ACHINGWITH)N-EMORY$ATABASES #OMPLEX%VENT0ROCESSINGAND3TREAM$ATABASES
#ONTINUOUS1UERIESIN3TREAM$ATABASES 3TREAM$ATABASE)MPLEMENTATIONS 3TREAM$ATABASE#OMPONENTS
%MBEDDED$ATABASES %MBEDDED$ATABASE#HARACTERISTICS %MBEDDED$ATABASE)MPLEMENTATIONS
-OBILE$ATABASES -OBILE$ATABASE2OLES -OBILE$ATABASE)MPLEMENTATIONS
3UMMARY
4HE&UTUREOF31, $ATABASE-ARKET4RENDS
%NTERPRISE$ATABASE-ARKET-ATURITY -ARKET$IVERSITYAND3EGMENTATION 0ACKAGED%NTERPRISE!PPLICATIONS 3OFTWAREASA3ERVICE3AA3 (ARDWARE0ERFORMANCE'AINS $ATABASE3ERVER!PPLIANCES 31,3TANDARDIZATION
31,INTHE.EXT$ECADE $ISTRIBUTED$ATABASES -ASSIVE$ATA7AREHOUSINGFOR"USINESS/PTIMIZATION 5LTRAHIGH0ERFORMANCE$ATABASES )NTERNETAND.ETWORK3ERVICES)NTEGRATION %MBEDDED$ATABASES /BJECT)NTEGRATION #LOUD"ASEDAND(ORIZONTALLY3CALABLE$ATABASES
3UMMARY
XXII 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
0ART6)) !PPENDIXES ! 4HE3AMPLE$ATABASE
" $"-36ENDOR0ROlLES
# 31,3YNTAX2EFERENCE $ATA$ElNITION3TATEMENTS !CCESS#ONTROL3TATEMENTS "ASIC$ATA-ANIPULATION3TATEMENTS 4RANSACTION0ROCESSING3TATEMENTS #URSOR"ASED3TATEMENTS 1UERY%XPRESSIONS 3EARCH#ONDITIONS %XPRESSIONS 3TATEMENT%LEMENTS 3IMPLE%LEMENTS
)NDEX
) N T R O D U C T I O N XXIII
XXIII
!CKNOWLEDGMENTS
3PECIALTHANKSTO!NDY/PPELOURNEWCOAUTHORFORTHISTHIRDEDITIONOF31,4HE#OMPLETE2EFERENCE(ISIMPRESSIVEHIGHLEVELMASTERYOFTHESUBJECTMATTERCOUPLEDWITHHISMETICULOUSATTENTIONTODETAILMADETHISABETTERBOOKANDWEAREFORTUNATETOHAVEHADHISINVOLVEMENT
*IMAND0AUL
)TSANHONORTOJOINSUCHANACCOMPLISHEDTEAMOFAUTHORSFORTHISEDITIONOF31,4HE#OMPLETE2EFERENCE-YTHANKSFORTHEEXCELLENTSUPPORTOFTHEENTIRE-C'RAW(ILLTEAMFORTHEIRTIRELESSSUPPORTINTHISEFFORT)NPARTICULAR)WISHTOTHANKTECHNICALEDITOR!ARON$AVENPORTANDCOPYEDITOR*AN*UEFORTHEIRPERSISTENCEANDATTENTIONTODETAILWHICHCONTRIBUTEDSOMUCHTOTHEOVERALLQUALITYOFTHISBOOK
!NDY
XXIII
This page intentionally left blank
XXV
)NTRODUCTION
31,4HE#OMPLETE2EFERENCE4HIRD%DITIONPROVIDESACOMPREHENSIVEINDEPTHTREATMENTOFTHE31,LANGUAGEFORBOTHTECHNICALANDNONTECHNICALUSERSPROGRAMMERSDATAPROCESSINGPROFESSIONALSANDMANAGERSWHOWANTTOUNDERSTANDTHEIMPACTOF31,INTODAYSCOMPUTERINDUSTRY4HISBOOKOFFERSACONCEPTUALFRAMEWORKFORUNDERSTANDINGANDUSING31,DESCRIBESTHEHISTORYOF31,AND31,STANDARDSANDEXPLAINSTHEROLEOF31,INVARIOUSCOMPUTERINDUSTRYSEGMENTSFROMENTERPRISEDATAPROCESSINGTODATAWAREHOUSINGTOWEBSITEARCHITECTURES4HISNEWEDITIONCONTAINSNEWCHAPTERSSPECIALLYFOCUSEDONTHEROLEOF31,INAPPLICATIONSERVERARCHITECTURESANDTHEINTEGRATIONOF31,WITH8-,ANDOTHEROBJECTBASEDTECHNOLOGIES
4HISBOOKWILLSHOWYOUSTEPBYSTEPHOWTOUSE31,FEATURESWITHMANYILLUSTRATIONSANDREALISTICEXAMPLESTOCLARIFY31,CONCEPTS4HEBOOKALSOCOMPARES31,PRODUCTSFROMLEADING$"-3VENDORSDESCRIBINGTHEIRADVANTAGESBENEFITSANDTRADEOFFSTOHELPYOUSELECTTHERIGHTPRODUCTFORYOURAPPLICATION-OSTOFTHEEXAMPLESINTHISBOOKAREBASEDONTHESAMPLEDATABASEDESCRIBEDIN!PPENDIX!4HESAMPLEDATABASECONTAINSDATATHATSUPPORTSASIMPLEORDERPROCESSINGAPPLICATIONFORASMALLDISTRIBUTIONCOMPANY!PPENDIX!ALSOCONTAINSINSTRUCTIONSFORDOWNLOADINGTHE31,STATEMENTSREQUIREDTOCREATEANDPOPULATETHESAMPLEDATABASETABLESINA$"-3OFYOUCHOICESUCHAS/RACLE31,3ERVER-Y31,AND$"4HISALLOWSYOUTOTRYTHEEXAMPLESINTHEBOOKYOURSELFANDGAINACTUALEXPERIENCEWRITINGANDRUNNING31,STATEMENTS
)NSOMEOFTHECHAPTERSTHESUBJECTMATTERISEXPLOREDATTWODIFFERENTLEVELSAFUNDAMENTALDESCRIPTIONOFTHETOPICANDANADVANCEDDISCUSSIONINTENDEDFORCOMPUTERPROFESSIONALSWHONEEDTOUNDERSTANDSOMEOFTHEINTERNALSBEHIND31,4HEMOREADVANCEDINFORMATIONISCOVEREDINSECTIONSMARKEDWITHANASTERISK9OUDONOTNEEDTOREADTHESESECTIONSTOOBTAINANUNDERSTANDINGOFWHAT31,ISANDWHATITDOES
XXV
XXVI 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
(OW4HIS"OOK)S/RGANIZED4HEBOOKISDIVIDEDINTOSIXPARTSTHATCOVERVARIOUSASPECTSOFTHE31,LANGUAGE
s 0ART)h!N/VERVIEWOF31,vPROVIDESANINTRODUCTIONTO31,ANDAMARKETPERSPECTIVEOFITSROLEASADATABASELANGUAGE)TSFOURCHAPTERSDESCRIBETHEHISTORYOF31,THEEVOLUTIONOF31,STANDARDSANDHOW31,RELATESTOTHERELATIONALDATAMODELANDTOEARLIERDATABASETECHNOLOGIES0ART)ALSOCONTAINSAQUICKTOUROF31,THATBRIEFLYILLUSTRATESITSMOSTIMPORTANTFEATURESANDPROVIDESYOUWITHANOVERVIEWOFTHEENTIRELANGUAGEEARLYINTHEBOOK
s 0ART))h2ETRIEVING$ATAvDESCRIBESTHEFEATURESOF31,THATALLOWYOUTOPERFORMDATABASEQUERIES4HEFIRSTCHAPTERINTHISPARTDESCRIBESTHEBASICSTRUCTUREOFTHE31,LANGUAGE4HENEXTFOURCHAPTERSSTARTWITHTHESIMPLEST31,QUERIESANDPROGRESSIVELYBUILDTOMORECOMPLEXQUERIESINCLUDINGMULTITABLEQUERIESSUMMARYQUERIESANDQUERIESTHATUSESUBQUERIES
s 0ART)))h5PDATING$ATAvSHOWSHOWYOUCANUSE31,TOADDNEWDATATOADATABASEDELETEDATAFROMADATABASEANDMODIFYEXISTINGDATABASEDATA)TALSODESCRIBESTHEDATABASEINTEGRITYISSUESTHATARISEWHENDATAISUPDATEDANDHOW31,ADDRESSESTHESEISSUES4HELASTOFTHETHREECHAPTERSINTHISPARTDISCUSSESTHE31,TRANSACTIONCONCEPTAND31,SUPPORTFORMULTIUSERTRANSACTIONPROCESSING
s 0ART)6h$ATABASE3TRUCTUREvDEALSWITHCREATINGANDADMINISTERINGA31,BASEDDATABASE)TSFOURCHAPTERSTELLYOUHOWTOCREATETHETABLESVIEWSANDINDEXESTHATFORMTHESTRUCTUREOFARELATIONALDATABASE)TALSODESCRIBESTHE31,SECURITYSCHEMETHATPREVENTSUNAUTHORIZEDACCESSTODATAANDTHE31,SYSTEMCATALOGTHATDESCRIBESTHESTRUCTUREOFADATABASE4HISPARTALSODISCUSSESTHESIGNIFICANTDIFFERENCESBETWEENTHEDATABASESTRUCTURESSUPPORTEDBYVARIOUS31,BASED$"-3PRODUCTS
s 0ART6h0ROGRAMMINGWITH31,vDESCRIBESHOWAPPLICATIONPROGRAMSUSE31,FORDATABASEACCESS)TDISCUSSESTHEEMBEDDED31,SPECIFIEDBYTHE!.3)STANDARDANDUSEDBY)"-/RACLE)NGRES)NFORMIXANDMANYOTHER31,BASED$"-3PRODUCTS)TALSODESCRIBESTHEDYNAMIC31,INTERFACETHATISUSEDTOBUILDGENERALPURPOSEDATABASETABLESSUCHASREPORTWRITERSANDDATABASEBROWSINGPROGRAMS&INALLYTHISPARTDESCRIBESTHEPOPULAR31,!0)SINCLUDING/$"#THE)3/STANDARD#ALL,EVEL)NTERFACEAND*$"#THESTANDARDCALLLEVELINTERFACEFOR*AVAASWELLASPROPRIETARYCALLLEVELINTERFACESSUCHAS/RACLES/#)!0)
s 0ART6)h31,4ODAYAND4OMORROWvEXAMINESTHEUSEOF31,INSEVERALOFTODAYShHOTTESTvAPPLICATIONAREASANDTHECURRENTSTATEOF31,BASED$"-3PRODUCTS4WOCHAPTERSDESCRIBETHEUSEOF31,STOREDPROCEDURESANDTRIGGERSFORONLINETRANSACTIONPROCESSINGANDTHECONTRASTINGUSEOF31,FORDATAWAREHOUSING&OURADDITIONALCHAPTERSDESCRIBE31,BASEDDISTRIBUTEDDATABASESTHEINFLUENCEOFOBJECTTECHNOLOGIESON31,SPECIALTYDATABASESANDTHEINTEGRATIONOF31,WITH8-,TECHNOLOGIES&INALLYTHELASTCHAPTEREXPLORESTHEFUTUREOF31,ANDSOMEOFTHEMOSTIMPORTANTTRENDSIN31,BASEDDATAMANAGEMENT
) N T R O D U C T I O N XXVII
#ONVENTIONS5SEDIN4HIS"OOK31,4HE#OMPLETE2EFERENCE4HIRD%DITIONDESCRIBESTHE31,FEATURESANDFUNCTIONSAVAILABLEINTHEMOSTPOPULAR31,BASED$"-3PRODUCTSANDTHOSEDESCRIBEDINTHE!.3))3/31,STANDARDS7HENEVERPOSSIBLETHE31,STATEMENTSYNTAXDESCRIBEDINTHISBOOKANDUSEDINTHEEXAMPLESAPPLIESTOALLDIALECTSOF31,7HENTHEDIALECTSDIFFERTHEDIFFERENCESAREPOINTEDOUTINTHETEXTANDTHEEXAMPLESFOLLOWTHEMOSTCOMMONPRACTICE)NTHESECASESYOUMAYHAVETOMODIFYTHE31,STATEMENTSINTHEEXAMPLESSLIGHTLYTOSUITYOURPARTICULARBRANDOF$"-3
4HROUGHOUTTHEBOOKTECHNICALTERMSAPPEARINITALICSTHEFIRSTTIMETHEYAREUSEDANDDEFINED31,LANGUAGEELEMENTSINCLUDING31,KEYWORDSTABLEANDCOLUMNNAMESANDSAMPLE31,STATEMENTSAPPEARINAN500%2#!3%-/./30!#%FONT31,!0)FUNCTIONNAMESAPPEARINALOWERCASEMONOSPACEFONT0ROGRAMLISTINGSALSOAPPEARINMONOSPACEFONTANDUSETHENORMALCASECONVENTIONSFORTHEPARTICULARPROGRAMMINGLANGUAGEUPPERCASEFOR#/"/,AND&/242!.LOWERCASEFOR#AND*AVA.OTETHATTHESECONVENTIONSAREUSEDSOLELYTOIMPROVEREADABILITYMOST31,IMPLEMENTATIONSWILLACCEPTEITHERUPPERCASEORLOWERCASESTATEMENTS-ANYOFTHE31,EXAMPLESINCLUDEQUERYRESULTSWHICHAPPEARIMMEDIATELYFOLLOWINGTHE31,STATEMENTASTHEYWOULDINANINTERACTIVE31,SESSION)NSOMECASESLONGQUERYRESULTSARETRUNCATEDAFTERAFEWROWSTHISISINDICATEDBYAVERTICALELLIPSISxFOLLOWINGTHELASTROWOFQUERYRESULTS
7HY4HIS"OOK)SFOR9OU31,4HE#OMPLETE2EFERENCE4HIRD%DITIONISTHERIGHTBOOKFORANYONEWHOWANTSTOUNDERSTANDANDLEARN31,INCLUDINGDATABASEUSERSDATAPROCESSINGPROFESSIONALSANDARCHITECTSPROGRAMMERSSTUDENTSANDMANAGERS)TDESCRIBESINSIMPLEUNDERSTANDABLELANGUAGELIBERALLYILLUSTRATEDWITHFIGURESANDEXAMPLESWHAT31,ISWHYITISIMPORTANTANDHOWYOUUSEIT4HISBOOKISNOTSPECIFICTOONEPARTICULARBRANDORDIALECTOF31,2ATHERITDESCRIBESTHESTANDARDCENTRALCOREOFTHE31,LANGUAGEANDTHENGOESONTODESCRIBETHEDIFFERENCESAMONGTHEMOSTPOPULAR31,PRODUCTSINCLUDING/RACLE-ICROSOFT31,3ERVER)"-S$"5NIVERSAL$ATABASEAND)NFORMIX3YBASEAND-Y31,)TALSOEXPLAINSTHEIMPORTANCEOF31,BASEDSTANDARDSSUCHAS/$"#AND*$"#ANDTHE!.3))3/STANDARDSFOR31,AND31,RELATEDTECHNOLOGIES4HISTHIRDEDITIONCONTAINSNEWCHAPTERSANDSECTIONSTHATCOVERTHELATEST31,INNOVATIONSINTHEAREASOFOBJECTRELATIONALTECHNOLOGIES8-,ANDAPPLICATIONSERVERARCHITECTURES
)FYOUARENEWTO31,THISBOOKOFFERSCOMPREHENSIVESTEPBYSTEPTREATMENTOFTHELANGUAGEBUILDINGFROMSIMPLEQUERIESTOMOREADVANCEDCONCEPTS4HESTRUCTUREOFTHEBOOKWILLALLOWYOUTOQUICKLYSTARTUSING31,BUTTHEBOOKWILLCONTINUETOBEVALUABLEASYOUBEGINTOUSETHEMORECOMPLEXFEATURESOFTHELANGUAGE9OUCANCREATETHESAMPLEDATABASEUSINGAN31,SCRIPTAVAILABLEONTHE-C'RAW(ILLWEBSITESEE!PPENDIX!ANDUSEITTOTRYOUTTHEEXAMPLESANDBUILDYOUR31,SKILLS
)FYOUAREADATAPROCESSINGPROFESSIONALARCHITECTORMANAGERTHISBOOKWILLGIVEYOUAPERSPECTIVEONTHEIMPACTTHAT31,ISHAVINGACROSSTHEINFORMATIONTECHNOLOGYINDUSTRYFROMPERSONALCOMPUTERSTOMAINFRAMESTODATAWAREHOUSINGTO)NTERNETWEBSITESAND)NTERNETBASEDDISTRIBUTEDAPPLICATIONS4HEEARLYCHAPTERSDESCRIBETHEHISTORYOF31,ITSROLEINTHEMARKETANDITSEVOLUTIONFROMEARLIERDATABASETECHNOLOGIES,ATERCHAPTERSDESCRIBETHEFUTUREOF31,ANDTHEDEVELOPMENTOFNEWDATABASETECHNOLOGIESSUCHASDISTRIBUTEDDATABASESOBJECTORIENTEDEXTENSIONSTO31,BUSINESSINTELLIGENCEDATABASESANDDATABASE8-,INTEGRATION
XXVIII 3 1 , 4 H E # O M P L E T E 2 E F E R E N C E
)FYOUAREAPROGRAMMERTHISBOOKOFFERSAVERYCOMPLETETREATMENTOFPROGRAMMINGWITH31,5NLIKETHEREFERENCEMANUALSOFMANY$"-3PRODUCTSITOFFERSACONCEPTUALFRAMEWORKFOR31,PROGRAMMINGEXPLAININGTHEWHYASWELLASTHEHOWOFDEVELOPINGA31,BASEDAPPLICATION)TCONTRASTSTHE31,PROGRAMMINGINTERFACESOFFEREDBYALLOFTHELEADING31,PRODUCTSINCLUDINGEMBEDDED31,DYNAMIC31,/$"#*$"#ANDPROPRIETARY!0)SSUCHASTHE/RACLE#ALL)NTERFACE4HEDESCRIPTIONANDCOMPARISONOFPROGRAMMINGTECHNIQUESPROVIDESAPERSPECTIVENOTFOUNDINANYOTHERBOOK
)FYOUARESELECTINGA$"-3PRODUCTTHISBOOKOFFERSACOMPARISONOFTHE31,FEATURESADVANTAGESANDBENEFITSOFFEREDBYTHEVARIOUS$"-3VENDORS4HEDIFFERENCESBETWEENTHELEADING$"-3PRODUCTSAREEXPLAINEDNOTONLYINTECHNICALTERMSBUTALSOINTERMSOFTHEIRIMPACTONAPPLICATIONSANDTHEIREVOLVINGCOMPETITIVEPOSITIONINTHEMARKETPLACE4HEhSAMPLEDATABASEvCANBEUSEDTOTRYTHESEFEATURESINAPROTOTYPEOFYOUROWNAPPLICATION
)NSHORTBOTHTECHNICALANDNONTECHNICALUSERSCANBENEFITFROMTHISBOOK)TISTHEMOSTCOMPREHENSIVESOURCEOFINFORMATIONAVAILABLEABOUTTHE31,LANGUAGE31,FEATURESANDBENEFITSPOPULAR31,BASEDPRODUCTSTHEHISTORYOF31,ANDTHEIMPACTOF31,ONTHEFUTUREDIRECTIONOFTHEINFORMATIONTECHNOLOGYINDUSTRY
*!N/VERVIEWOF31,
4HEFIRSTFOURCHAPTERSOFTHISBOOKPROVIDEAPERSPECTIVEANDAQUICKINTRODUCTIONTO31,#HAPTERDESCRIBESWHAT31,ISANDEXPLAINSITSMAJORFEATURESANDBENEFITS)N#HAPTERAQUICKTOUROF31,SHOWSYOUMANYOFITSCAPABILITIESWITHSIMPLERAPIDFIREEXAMPLES#HAPTEROFFERSAMARKETPERSPECTIVEOF31,BYTRACINGITSHISTORYDESCRIBINGTHE31,STANDARDSANDTHEMAJORVENDORSOF31,BASEDPRODUCTSANDBYIDENTIFYINGTHEREASONSFOR31,SPROMINENCETODAY#HAPTERDESCRIBESTHERELATIONALDATAMODELUPONWHICH31,ISBASEDANDCOMPARESITWITHEARLIERDATAMODELS
#(!04%2)NTRODUCTION$)"15&3!1UICK4OUROF31,$)"15&331,IN0ERSPECTIVE$)"15&32ELATIONAL$ATABASES
0!24
This page intentionally left blank
)NTRODUCTION
4HE31,LANGUAGEANDRELATIONALDATABASESYSTEMSBASEDONITCONSTITUTEONEOFTHEMOSTIMPORTANTFOUNDATIONTECHNOLOGIESINTHECOMPUTERINDUSTRY/VERTHELASTTHREEDECADES31,HASGROWNFROMITSFIRSTCOMMERCIALUSEINTOACOMPUTERPRODUCTANDSERVICESMARKETSEGMENTWORTHTENSOFBILLIONSOFDOLLARSPERYEARAND31,STANDSTODAYASTHESTANDARDCOMPUTERDATABASELANGUAGE(UNDREDSOFDATABASEPRODUCTSNOWSUPPORT31,RUNNINGONCOMPUTERSYSTEMSFROMMAINFRAMESTOPERSONALCOMPUTERS!31,BASEDDATABASEMAYEVENBEEMBEDDEDINYOURMOBILEPHONEOR0$!ORINTHEENTERTAINMENTSYSTEMOFYOURCAR!NOFFICIALINTERNATIONAL31,STANDARDHASBEENADOPTEDANDEXPANDEDSEVERALTIMES%VERYMAJORENTERPRISESOFTWAREPRODUCTRELIESON31,FORITSDATAMANAGEMENTAND31,ISATTHECOREOFTHEFLAGSHIPDATABASEPRODUCTSFROM-ICROSOFT/RACLEAND)"-THREEOFTHELARGESTSOFTWARECOMPANIESINTHEWORLD31,ISALSOATTHEHEARTOFOPENSOURCEDATABASEPRODUCTSSUCHAS-Y31,AND0OSTGRESTHATAREHELPINGTOFUELTHEPOPULARITYOF,INUXANDTHEOPENSOURCEMOVEMENT&ROMITSOBSCUREBEGINNINGSASAN)"-RESEARCHPROJECT31,HASGROWNTOBECOMEBOTHANIMPORTANTPIECEOFINFORMATIONTECHNOLOGYANDAPOWERFULMARKETFORCE
7HATEXACTLYIS31,7HYISITIMPORTANT7HATCANITDOANDHOWDOESITWORK)F31,ISREALLYASTANDARDWHYDOWEHAVESOMANYDIFFERENTVERSIONSANDDIALECTS(OWDOPOPULAR31,PRODUCTSLIKE31,3ERVER/RACLE-Y31,3YBASEAND$"COMPARE(OWDOES31,RELATETO-ICROSOFTSTANDARDSSUCHAS/$"#AND.%4(OWDOES*$"#LINK31,TOTHEWORLDOF*AVAANDOBJECTTECHNOLOGY7HATROLEDOESITPLAYINTHE3ERVICE/RIENTED!RCHITECTURE3/!ANDWEBSERVICESBEINGEMBRACEDBYENTERPRISE)4ORGANIZATIONS$OES31,REALLYSCALEFROMMAINFRAMESTOHANDHELDDEVICES(ASITREALLYDELIVEREDTHEPERFORMANCENEEDEDFORHIGHVOLUMETRANSACTIONPROCESSING(OWWILL31,IMPACTTHEWAYYOUUSECOMPUTERSANDHOWCANYOUGETTHEMOSTOUTOFTHISIMPORTANTDATAMANAGEMENTTOOL4HISBOOKANSWERSTHOSEQUESTIONSBYGIVINGYOUACOMPLETEPERSPECTIVEANDASOLIDWORKINGKNOWLEDGEOF31,
#(!04%2
0 A R T ) ! N / V E R V I E W O F 3 1 ,
4HE31,,ANGUAGE31,ISATOOLFORORGANIZINGMANAGINGANDRETRIEVINGDATASTOREDBYACOMPUTERDATABASE4HEORIGINALNAMEGIVENITBY)"-WAS3TRUCTURED%NGLISH1UERY,ANGUAGESHORTENEDTOTHEACRONYM3%15%,7HEN)"-DISCOVEREDTHAT3%15%,WASATRADEMARKOWNEDBYTHE(AWKER3IDDELEY!IRCRAFT#OMPANYOFTHE5NITED+INGDOMTHEYSHORTENEDTHEACRONYMTO31,4HEWORDh%NGLISHvWASTHENDROPPEDFROMTHESPELLEDOUTNAMETOMATCHTHENEWACRONYM4OTHISDAYYOUWILLHEARTHEACRONYM31,PRONOUNCEDASEITHERAWORDhSEQUELvORASASTRINGOFLETTERSh31,vANDWHILETHELATTERISGENERALLYPREFERREDBOTHARECONSIDEREDCORRECT!STHENAMEIMPLIES31,ISACOMPUTERLANGUAGETHATYOUUSETOINTERACTWITHADATABASE)NFACT31,WORKSWITHONESPECIFICTYPEOFDATABASECALLEDARELATIONALDATABASEWHICHHASBECOMETHEMAINSTREAMWAYTOORGANIZEDATAACROSSAVERYBROADRANGEOFCOMPUTERAPPLICATIONS
&IGURESHOWSHOW31,WORKS4HECOMPUTERSYSTEMINTHEFIGUREHASADATABASETHATSTORESIMPORTANTINFORMATION)FTHECOMPUTERSYSTEMISINABUSINESSTHEDATABASEMIGHTSTOREINVENTORYPRODUCTIONSALESORPAYROLLDATA/NAPERSONALCOMPUTERTHEDATABASEMIGHTSTOREDATAABOUTTHECHECKSYOUHAVEWRITTENLISTSOFPEOPLEANDTHEIRPHONENUMBERSORDATAEXTRACTEDFROMALARGERCOMPUTERSYSTEM4HECOMPUTERPROGRAMTHATCONTROLSTHEDATABASEISCALLEDADATABASEMANAGEMENTSYSTEM$"-3
7HENYOUNEEDTORETRIEVEDATAFROMADATABASEYOUUSETHE31,TOMAKETHEREQUEST4HE$"-3PROCESSESTHE31,REQUESTRETRIEVESTHEREQUESTEDDATAANDRETURNSITTOYOU4HISPROCESSOFREQUESTINGDATAFROMADATABASEANDRECEIVINGTHERESULTSISCALLEDADATABASEQUERYHENCETHENAME3TRUCTURED1UERY,ANGUAGE
h3TRUCTURED1UERY,ANGUAGEvISACTUALLYSOMEWHATOFAMISNOMER&IRSTOFALL31,ISFARMORETHANAQUERYTOOLALTHOUGHTHATWASITSORIGINALPURPOSEANDRETRIEVINGDATAISSTILLONEOFITSMOSTIMPORTANTFUNCTIONS31,ISUSEDTOCONTROLALLOFTHEFUNCTIONSTHATA$"-3PROVIDESFORITSUSERSINCLUDING
1, 1}-+v`>>L>i>VVi
# H A P T E R ) N T R O D U C T I O N
0!24)
s $ATADEFINITION 31,LETSAUSERDEFINETHESTRUCTUREANDORGANIZATIONOFTHESTOREDDATAANDRELATIONSHIPSAMONGTHESTOREDDATAITEMS
s $ATARETRIEVAL 31,ALLOWSAUSERORANAPPLICATIONPROGRAMTORETRIEVESTOREDDATAFROMTHEDATABASEANDUSEIT
s $ATAMANIPULATION 31,ALLOWSAUSERORANAPPLICATIONPROGRAMTOUPDATETHEDATABASEBYADDINGNEWDATAREMOVINGOLDDATAANDMODIFYINGPREVIOUSLYSTOREDDATA
s !CCESSCONTROL 31,CANBEUSEDTORESTRICTAUSERSABILITYTORETRIEVEADDANDMODIFYDATAPROTECTINGSTOREDDATAAGAINSTUNAUTHORIZEDACCESS
s $ATASHARING 31,ISUSEDTOCOORDINATEDATASHARINGBYCONCURRENTUSERSENSURINGTHATCHANGESMADEBYONEUSERDONOTINADVERTENTLYWIPEOUTCHANGESMADEATNEARLYTHESAMETIMEBYANOTHERUSER
s $ATAINTEGRITY 31,DEFINESINTEGRITYCONSTRAINTSINTHEDATABASEPROTECTINGITFROMCORRUPTIONDUETOINCONSISTENTUPDATESORSYSTEMFAILURES
31,ISTHUSACOMPREHENSIVELANGUAGEFORCONTROLLINGANDINTERACTINGWITHADATABASEMANAGEMENTSYSTEM
3ECOND31,ISNOTREALLYACOMPLETECOMPUTERLANGUAGELIKE#/"/,##OR*AVA)NSTEAD31,ISADATABASESUBLANGUAGECONSISTINGOFABOUTSTATEMENTSSPECIALIZEDFORDATABASEMANAGEMENTTASKS4HESE31,STATEMENTSCANBEEMBEDDEDINTOANOTHERLANGUAGESUCHAS#/"/,OR#TOEXTENDTHATLANGUAGEFORUSEINDATABASEACCESS!LTERNATIVELYTHESTATEMENTSCANBEEXPLICITLYSENTTOADATABASEMANAGEMENTSYSTEMFORPROCESSINGVIAACALLLEVELINTERFACEFROMALANGUAGESUCHAS##OR*AVAORVIAMESSAGESSENTOVERACOMPUTERNETWORK
31,ALSODIFFERSFROMOTHERCOMPUTERLANGUAGESBECAUSEITDESCRIBESWHATTHEUSERWANTSTHECOMPUTERTODORATHERTHANHOWTHECOMPUTERSHOULDDOIT)NMORETECHNICALTERMS31,ISADECLARATIVEORDESCRIPTIVELANGUAGERATHERTHANAPROCEDURALONE31,CONTAINSNO)&STATEMENTFORTESTINGCONDITIONSANDNO'/4/$/OR&/2STATEMENTSFORPROGRAMFLOWCONTROL2ATHER31,STATEMENTSDESCRIBEHOWACOLLECTIONOFDATAISTOBEORGANIZEDORWHATDATAISTOBERETRIEVEDORADDEDTOTHEDATABASE4HESEQUENCEOFSTEPSTODOTHOSETASKSISLEFTFORTHE$"-3TODETERMINE
&INALLY31,ISNOTAPARTICULARLYSTRUCTUREDLANGUAGEESPECIALLYWHENCOMPAREDWITHHIGHLYSTRUCTUREDLANGUAGESSUCHAS#0ASCALOR*AVA)NSTEAD31,STATEMENTSRESEMBLE%NGLISHSENTENCESCOMPLETEWITHhNOISEWORDSvTHATDONTADDTOTHEMEANINGOFTHESTATEMENTBUTMAKEITREADMORENATURALLY4HE31,HASQUITEAFEWINCONSISTENCIESANDALSOSOMESPECIALRULESTOPREVENTYOUFROMCONSTRUCTING31,STATEMENTSTHATLOOKPERFECTLYLEGALBUTTHATDONTMAKESENSE
$ESPITETHEINACCURACYOFITSNAME31,HASEMERGEDASTHESTANDARDLANGUAGEFORUSINGRELATIONALDATABASES31,ISBOTHAPOWERFULLANGUAGEANDONETHATISRELATIVELYEASYTOLEARN4HEQUICKTOUROF31,IN#HAPTERWILLGIVEYOUAGOODOVERVIEWOFTHELANGUAGEANDITSCAPABILITIES
0 A R T ) ! N / V E R V I E W O F 3 1 ,
4HE2OLEOF31,31,ISNOTITSELFADATABASEMANAGEMENTSYSTEMNORISITASTANDALONEPRODUCT9OUCANNOTGOTOACOMPUTERRETAILERORAWEBSITESELLINGCOMPUTERSOFTWAREANDBUY31,)NSTEAD31,ISANINTEGRALPARTOFADATABASEMANAGEMENTSYSTEMALANGUAGEANDATOOLFORCOMMUNICATINGWITHTHE$"-3&IGURESHOWSSOMEOFTHECOMPONENTSOFATYPICAL$"-3ANDHOW31,LINKSTHEMTOGETHER
4HEDATABASEENGINEISTHEHEARTOFTHE$"-3RESPONSIBLEFORACTUALLYSTRUCTURINGSTORINGANDRETRIEVINGTHEDATAINTHEDATABASE)TACCEPTS31,REQUESTSFROMOTHER$"-3COMPONENTSSUCHASAFORMSFACILITYREPORTWRITERORINTERACTIVEQUERYFACILITYFROMUSERWRITTENAPPLICATIONPROGRAMSANDEVENFROMOTHERCOMPUTERSYSTEMS!STHEFIGURESHOWS31,PLAYSMANYDIFFERENTROLES
s 31,ISANINTERACTIVEQUERYLANGUAGE5SERSTYPE31,COMMANDSINTOANINTERACTIVE31,PROGRAMTORETRIEVEDATAANDDISPLAYITONTHESCREENPROVIDINGACONVENIENTEASYTOUSETOOLFORADHOCDATABASEQUERIES
s 31,ISADATABASEPROGRAMMINGLANGUAGE0ROGRAMMERSEMBED31,COMMANDSINTOTHEIRAPPLICATIONPROGRAMSTOACCESSTHEDATAINADATABASE"OTHUSERWRITTENPROGRAMSANDDATABASEUTILITYPROGRAMSSUCHASREPORTWRITERSANDDATAENTRYTOOLSUSETHISTECHNIQUEFORDATABASEACCESS
1, iv>V>`>>L>i>>}iii
# H A P T E R ) N T R O D U C T I O N
0!24)
s 31,ISADATABASEADMINISTRATIONLANGUAGE4HEDATABASEADMINISTRATORRESPONSIBLEFORMANAGINGAMINICOMPUTERORMAINFRAMEDATABASEUSES31,TODEFINETHEDATABASESTRUCTUREANDTOCONTROLACCESSTOTHESTOREDDATA
s 31,ISACLIENTSERVERLANGUAGE0ERSONALCOMPUTERPROGRAMSUSE31,TOCOMMUNICATEOVERANETWORKWITHDATABASESERVERSTHATSTORESHAREDDATA4HISCLIENTSERVERARCHITECTUREISUSEDBYMANYPOPULARENTERPRISECLASSAPPLICATIONS
s 31,ISAN)NTERNETDATAACCESSLANGUAGE)NTERNETWEBSERVERSTHATINTERACTWITHCORPORATEDATAAND)NTERNETAPPLICATIONSERVERSALLUSE31,ASASTANDARDLANGUAGEFORACCESSINGCORPORATEDATABASESOFTENBYEMBEDDING31,DATABASEACCESSWITHINPOPULARSCRIPTINGLANGUAGESLIKE0(0OR0ERL
s 31,ISADISTRIBUTEDDATABASELANGUAGE$ISTRIBUTEDDATABASEMANAGEMENTSYSTEMSUSE31,TOHELPDISTRIBUTEDATAACROSSMANYCONNECTEDCOMPUTERSYSTEMS4HE$"-3SOFTWAREONEACHSYSTEMUSES31,TOCOMMUNICATEWITHTHEOTHERSYSTEMSSENDINGREQUESTSFORDATAACCESS
s 31,ISADATABASEGATEWAYLANGUAGE)NACOMPUTERNETWORKWITHAMIXOFDIFFERENT$"-3PRODUCTS31,ISOFTENUSEDINAGATEWAYTHATALLOWSONEBRANDOF$"-3TOCOMMUNICATEWITHANOTHERBRAND
31,HASTHUSEMERGEDASAUSEFULPOWERFULTOOLFORLINKINGPEOPLECOMPUTERPROGRAMSANDCOMPUTERSYSTEMSTOTHEDATASTOREDINARELATIONALDATABASE
31,3UCCESS&ACTORS)NHISTORICALTERMS31,HASBEENANEXTRAORDINARILYSUCCESSFULINFORMATIONTECHNOLOGY4HINKABOUTTHECOMPUTERMARKETINTHEMIDSWHEN31,FIRSTSTARTEDTOBECOMEIMPORTANT-AINFRAMESANDMINICOMPUTERSDOMINATEDCORPORATECOMPUTING4HE)"-PERSONALCOMPUTERHADBEENINTRODUCEDONLYAFEWYEARSBEFOREANDTHE-3$/3COMMANDLINEWASITSUSERINTERFACE)"-SMAINFRAMEOPERATINGSYSTEMSANDMINICOMPUTEROPERATINGSYSTEMSFROM$IGITAL%QUIPMENT$ATA'ENERAL(EWLETT0ACKARDANDOTHERSDOMINATEDBUSINESSCOMPUTING0ROPRIETARYNETWORKINGSCHEMESLIKE)"-S3.!OR$IGITAL%QUIPMENTS$%#NETLINKEDCOMPUTERSTOGETHER4HE)NTERNETWASSTILLATOOLFORCOLLABORATIONAMONGRESEARCHLABSANDTHE7ORLD7IDE7EBHADNOTYETAPPEAREDONTHESCENE#/"/,#AND0ASCALWEREDOMINANTCOMPUTERLANGUAGESOBJECTORIENTEDPROGRAMMINGWASONLYBEGINNINGTOEMERGEAND*AVAHADNOTBEENINVENTED
!CROSSALLOFTHESEAREASOFCOMPUTERTECHNOLOGYFROMCOMPUTERHARDWARETOOPERATINGSYSTEMSTONETWORKINGTOLANGUAGESTHEIMPORTANTKEYTECHNOLOGIESOFTHEMIDSHAVEFADEDORBECOMEOBSOLETEREPLACEDBYSIGNIFICANTNEWONES"UTINTHEWORLDOFDATAMANAGEMENTTHERELATIONALDATABASEAND31,CONTINUETODOMINATETHELANDSCAPE4HEYHAVEEXPANDEDOVERTHEYEARSTOSUPPORTNEWHARDWAREOPERATINGSYSTEMSNETWORKSANDLANGUAGESBUTDESPITEMANYATTEMPTSTODETHRONETHEMTHECORERELATIONALMODELANDTHE31,HAVETHRIVEDANDREMAINTHEDOMINANTFORCESINDATAMANAGEMENT(EREARESOMEOFTHEMAJORFEATURESANDMARKETFORCESTHATHAVECONTRIBUTEDTOTHISSUCCESSOVERTHEPASTYEARS
s 6ENDORINDEPENDENCEs 0ORTABILITYACROSSCOMPUTERSYSTEMS
0 A R T ) ! N / V E R V I E W O F 3 1 ,
s /FFICIAL31,STANDARDSs %ARLY)"-COMMITMENTs -ICROSOFTSUPPORTs 2ELATIONALFOUNDATIONs (IGHLEVEL%NGLISHLIKESTRUCTUREs )NTERACTIVEADHOCQUERIESs 0ROGRAMMATICDATABASEACCESSs -ULTIPLEVIEWSOFDATAs #OMPLETEDATABASELANGUAGEs $YNAMICDATADEFINITIONs #LIENT3ERVERARCHITECTUREs %NTERPRISEAPPLICATIONSUPPORTs %XTENSIBILITYANDOBJECTTECHNOLOGYs )NTERNETDATABASEACCESSs *AVAINTEGRATION*$"#s /PENSOURCESUPPORTs )NDUSTRYINFRASTRUCTURE
4HESECTIONSTHATFOLLOWBRIEFLYDESCRIBEEACHOFTHESEANDHOWTHEYCONTRIBUTEDTO31,SSUCCESS
6ENDOR)NDEPENDENCE31,ISOFFEREDBYALLOFTHELEADING$"-3VENDORSANDNONEWDATABASEPRODUCTOVERTHELASTDECADEHASBEENHIGHLYSUCCESSFULWITHOUT31,SUPPORT!31,BASEDDATABASEANDTHEPROGRAMSTHATUSEITCANBEMOVEDFROMONE$"-3TOANOTHERVENDORS$"-3WITHMINIMALCONVERSIONEFFORTANDLITTLERETRAININGOFPERSONNEL$ATABASETOOLSSUCHASQUERYTOOLSREPORTWRITERSANDAPPLICATIONGENERATORSWORKWITHMANYDIFFERENTBRANDSOF31,DATABASES4HEVENDORINDEPENDENCETHUSPROVIDEDBY31,WASONEOFTHEMOSTIMPORTANTREASONSFORITSEARLYPOPULARITYANDREMAINSANIMPORTANTFEATURETODAY
0ORTABILITY!CROSS#OMPUTER3YSTEMS31,BASEDDATABASEPRODUCTSRUNONCOMPUTERSYSTEMSRANGINGFROMMAINFRAMESANDMIDRANGESYSTEMSTOPERSONALCOMPUTERSWORKSTATIONSAWIDERANGEOFSPECIALIZEDSERVERCOMPUTERSANDEVENHANDHELDDEVICES4HEYOPERATEONSTANDALONECOMPUTERSYSTEMSINDEPARTMENTALLOCALAREANETWORKSANDINENTERPRISEWIDEOR)NTERNETWIDENETWORKS31,BASEDAPPLICATIONSTHATBEGINONSINGLEUSERORDEPARTMENTALSERVERSYSTEMSCANBEMOVEDTOLARGERSERVERSYSTEMSASTHEYGROW$ATAFROMCORPORATE31,BASEDDATABASESCANBEEXTRACTEDANDDOWNLOADEDINTODEPARTMENTALORPERSONALDATABASES&INALLYECONOMICALPERSONALCOMPUTERSCANBEUSEDTOTESTAPROTOTYPEOFA31,BASEDDATABASEAPPLICATIONBEFOREMOVINGITTOANEXPENSIVEMULTIUSERSYSTEM
# H A P T E R ) N T R O D U C T I O N
0!24)
/FFICIAL31,3TANDARDS!NOFFICIALSTANDARDFOR31,WASINITIALLYPUBLISHEDBYTHE!MERICAN.ATIONAL3TANDARDS)NSTITUTE!.3)ANDTHE)NTERNATIONAL3TANDARDS/RGANIZATION)3/INANDWASEXPANDEDINANDAGAININAND31,ISALSOA53&EDERAL)NFORMATION0ROCESSING3TANDARD&)03MAKINGITAKEYREQUIREMENTFORLARGEGOVERNMENTCOMPUTERCONTRACTS/VERTHEYEARSOTHERINTERNATIONALGOVERNMENTANDVENDORGROUPSHAVEPIONEEREDTHESTANDARDIZATIONOFNEW31,CAPABILITIESSUCHASCALLLEVELINTERFACESOROBJECTBASEDEXTENSIONS-ANYOFTHESENEWINITIATIVESHAVEBEENINCORPORATEDINTOTHE!.3))3/STANDARDOVERTIME4HEEVOLVINGSTANDARDSSERVEASANOFFICIALSTAMPOFAPPROVALFOR31,ANDHAVESPEEDEDITSMARKETACCEPTANCE
%ARLY)"-#OMMITMENT31,WASORIGINALLYINVENTEDBY)"-RESEARCHERSANDFAIRLYQUICKLYBECAMEASTRATEGICPRODUCTFOR)"-BASEDONITSFLAGSHIP$"DATABASE31,SUPPORTISAVAILABLEONALLMAJOR)"-PRODUCTFAMILIESFROMPERSONALCOMPUTERSTHROUGHMIDRANGESYSTEMSAND5.)8BASEDSERVERSTO)"-MAINFRAMES)"-SINITIALWORKPROVIDEDACLEARSIGNALOF)"-SDIRECTIONFOROTHERDATABASEANDSYSTEMVENDORSTOFOLLOWEARLYINTHEDEVELOPMENTOF31,ANDRELATIONALDATABASES,ATER)"-SCOMMITMENTANDBROADSUPPORTSPEEDEDTHEMARKETACCEPTANCEOF31,)NTHES)"-WASTHEDOMINANTFORCEINBUSINESSCOMPUTINGSOITSEARLYANDSUSTAINEDSUPPORTASTHEINVENTORANDCHAMPIONOF31,ENSUREDITSEARLYIMPORTANCE
-ICROSOFT3UPPORT-ICROSOFTHASLONGCONSIDEREDDATABASEACCESSAKEYPARTOFITS7INDOWSPERSONALCOMPUTERSOFTWAREARCHITECTURE"OTHDESKTOPANDSERVERVERSIONSOF7INDOWSPROVIDESTANDARDIZEDRELATIONALDATABASEACCESSTHROUGH/PEN$ATABASE#ONNECTIVITY/$"#A31,BASEDCALLLEVEL!0)APPLICATIONPROGRAMMINGINTERFACE,EADING7INDOWSSOFTWAREAPPLICATIONSSPREADSHEETSWORDPROCESSORSDATABASESETCFROM-ICROSOFTANDOTHERVENDORSSUPPORT/$"#ANDALLLEADING31,DATABASESPROVIDE/$"#ACCESS-ICROSOFTHASENHANCED/$"#SUPPORTWITHHIGHERLEVELMOREOBJECTORIENTEDDATABASEACCESSLAYERSOVERTHEYEARSINCLUDINGDATAMANAGEMENTSUPPORTIN.%4TODAY"UTTHESENEWTECHNOLOGIESCOULDALWAYSINTERACTWITHRELATIONALDATABASESTHROUGHTHE/$"#31,LAYERSBELOW7HEN-ICROSOFTBEGANITSEFFORTINTHELATESTOMAKE7INDOWSAVIABLESERVEROPERATINGSYSTEMITINTRODUCED31,3ERVERASITSOWN31,BASEDOFFERING31,3ERVERCONTINUESTODAYASAFLAGSHIP-ICROSOFTPRODUCTANDASAKEYCOMPONENTOFTHE-ICROSOFT.%4ARCHITECTUREFORWEBSERVICES
2ELATIONAL&OUNDATION31,ISALANGUAGEFORRELATIONALDATABASESANDITHASBECOMEPOPULARALONGWITHTHERELATIONALDATABASEMODEL4HETABULARROWCOLUMNSTRUCTUREOFARELATIONALDATABASEISINTUITIVETOUSERSKEEPINGTHE31,SIMPLEANDEASYTOUNDERSTAND4HERELATIONALMODELALSOHASASTRONGTHEORETICALFOUNDATIONTHATHASGUIDEDTHEEVOLUTIONANDIMPLEMENTATIONOFRELATIONALDATABASES2IDINGAWAVEOFACCEPTANCEBROUGHTABOUTBYTHESUCCESSOFTHERELATIONALMODEL31,HASBECOMETHEDATABASELANGUAGEFORRELATIONALDATABASES
0 A R T ) ! N / V E R V I E W O F 3 1 ,
(IGH,EVEL%NGLISH,IKE3TRUCTURE31,STATEMENTSLOOKLIKESIMPLE%NGLISHSENTENCESMAKING31,RELATIVELYEASYTOLEARNANDUNDERSTAND4HISISINPARTBECAUSE31,STATEMENTSDESCRIBETHEDATATOBERETRIEVEDRATHERTHANSPECIFYINGHOWTOFINDTHEDATA4ABLESANDCOLUMNSINA31,DATABASECANHAVELONGDESCRIPTIVENAMES!SARESULTMOST31,STATEMENTShSAYWHATTHEYMEANvANDCANBEREADASCLEARNATURALSENTENCES
)NTERACTIVE!D(OC1UERIES31,ISANINTERACTIVEQUERYLANGUAGETHATGIVESUSERSADHOCACCESSTOSTOREDDATA5SING31,INTERACTIVELYAUSERCANGETANSWERSEVENTOCOMPLEXQUESTIONSINMINUTESORSECONDSINSHARPCONTRASTTOTHEDAYSORWEEKSITWOULDTAKEFORAPROGRAMMERTOWRITEACUSTOMREPORTPROGRAM"ECAUSEOFTHE31,ADHOCQUERYPOWERDATAISMOREACCESSIBLEANDCANBEUSEDTOHELPANORGANIZATIONMAKEBETTERMOREINFORMEDDECISIONS31,SADHOCQUERYCAPABILITYWASANIMPORTANTADVANTAGEOVERNONRELATIONALDATABASESEARLYINITSEVOLUTIONANDMORERECENTLYHASCONTINUEDASAKEYADVANTAGEOVERPUREOBJECTBASEDDATABASES
0ROGRAMMATIC$ATABASE!CCESS31,ISALSOADATABASELANGUAGEUSEDBYPROGRAMMERSTOWRITEAPPLICATIONSTHATACCESSADATABASE4HESAME31,STATEMENTSAREUSEDFORBOTHINTERACTIVEANDPROGRAMMATICACCESSSOTHEDATABASEACCESSPARTSOFAPROGRAMCANBETESTEDFIRSTWITHINTERACTIVE31,ANDTHENEMBEDDEDINTOTHEPROGRAM)NCONTRASTNONRELATIONALOROBJECTORIENTEDDATABASESPROVIDEDONESETOFTOOLSFORPROGRAMMATICACCESSANDASEPARATEQUERYFACILITYFORADHOCREQUESTSWITHOUTANYSYNERGYBETWEENTHETWOMODESOFACCESS
-ULTIPLE6IEWSOF$ATA5SING31,THECREATOROFADATABASECANGIVEDIFFERENTUSERSOFTHEDATABASEDIFFERENTVIEWSOFITSSTRUCTUREANDCONTENTS&OREXAMPLETHEDATABASECANBECONSTRUCTEDSOTHATEACHUSERSEESDATAONLYFORHISORHERDEPARTMENTORSALESREGION)NADDITIONDATAFROMSEVERALDIFFERENTPARTSOFTHEDATABASECANBECOMBINEDANDPRESENTEDTOTHEUSERASASIMPLEROWCOLUMNTABLE31,VIEWSCANTHUSBEUSEDTOENHANCETHESECURITYOFADATABASEANDTOTAILORITTOTHEPARTICULARNEEDSOFINDIVIDUALUSERSWHILEPRESERVINGTHEFUNDAMENTALROWCOLUMNSTRUCTUREOFTHEDATA
#OMPLETE$ATABASE,ANGUAGE31,WASFIRSTDEVELOPEDASANADHOCQUERYLANGUAGEBUTITSPOWERSNOWGOFARBEYONDDATARETRIEVAL31,PROVIDESACOMPLETECONSISTENTLANGUAGEFORCREATINGADATABASEMANAGINGITSSECURITYUPDATINGITSCONTENTSRETRIEVINGDATAANDSHARINGDATAAMONGMANYCONCURRENTUSERS31,CONCEPTSTHATARELEARNEDINONEPARTOFTHELANGUAGECANBEAPPLIEDTOOTHER31,COMMANDSMAKINGUSERSMOREPRODUCTIVE
$YNAMIC$ATA$EFINITION5SING31,THESTRUCTUREOFADATABASECANBECHANGEDANDEXPANDEDDYNAMICALLYEVENWHILEUSERSAREACCESSINGDATABASECONTENTS4HISISAMAJORADVANCEOVERSTATICDATADEFINITIONLANGUAGESWHICHPREVENTEDACCESSTOTHEDATABASEWHILEITSSTRUCTUREWASBEINGCHANGED31,THUSPROVIDESMAXIMUMFLEXIBILITYALLOWINGADATABASETOADAPTTOCHANGINGREQUIREMENTSWHILEONLINEAPPLICATIONSCONTINUEUNINTERRUPTED
# H A P T E R ) N T R O D U C T I O N
0!24)
#LIENT3ERVER!RCHITECTURE31,ISANATURALVEHICLEFORIMPLEMENTINGAPPLICATIONSUSINGADISTRIBUTEDCLIENTSERVERARCHITECTURE)NTHISROLE31,SERVESASTHELINKBETWEENhFRONTENDvCOMPUTERSYSTEMSOPTIMIZEDFORUSERINTERACTIONANDhBACKENDvSYSTEMSSPECIALIZEDFORDATABASEMANAGEMENTALLOWINGEACHSYSTEMTODOWHATITDOESBEST31,ALSOALLOWSPERSONALCOMPUTERSTOFUNCTIONASFRONTENDSTONETWORKSERVERSORTOLARGERMINICOMPUTERANDMAINFRAMEDATABASESPROVIDINGACCESSTOCORPORATEDATAFROMPERSONALCOMPUTERAPPLICATIONS
%NTERPRISE!PPLICATION3UPPORT4HELARGESTENTERPRISEAPPLICATIONSTHATSUPPORTTHEDAILYOPERATIONOFLARGECOMPANIESANDORGANIZATIONSALLUSE31,BASEDDATABASESTOSTOREANDORGANIZETHEIRDATA)NTHESDRIVENBYTHEIMPENDINGDEADLINEFORSUPPORTINGDATESINTHEYEARANDBEYONDTHESOCALLEDh9+vPROBLEMLARGEENTERPRISESMOVEDENMASSETOABANDONTHEIRHOMEGROWNSYSTEMSANDCONVERTTOPACKAGEDENTERPRISEAPPLICATIONSFROMVENDORSLIKE3!0/RACLE0EOPLE3OFT3IEBELANDOTHERS4HEDATAPROCESSEDBYTHESEAPPLICATIONSORDERSSALESAMOUNTSCUSTOMERSINVENTORYLEVELSPAYMENTAMOUNTSETCTENDSTOHAVEASTRUCTUREDRECORDSANDFIELDSFORMATWHICHCONVERTSEASILYINTOTHEROWCOLUMNFORMATOF31,"YCONSTRUCTINGTHEIRAPPLICATIONSTOUSEENTERPRISECLASS31,DATABASESTHEMAJORAPPLICATIONVENDORSELIMINATEDTHENEEDTODEVELOPTHEIROWNDATAMANAGEMENTSOFTWAREANDBENEFITEDFROMEXISTINGTOOLSANDPROGRAMMINGSKILLS"ECAUSEEVERYMAJORENTERPRISEAPPLICATIONREQUIRESA31,BASEDDATABASEFORITSOPERATIONNEWSALESOFENTERPRISEAPPLICATIONSAUTOMATICALLYGENERATEhDRAGALONGvDEMANDFORNEWCOPIESOFDATABASESOFTWARE
%XTENSIBILITYAND/BJECT4ECHNOLOGY4HEMAJORCHALLENGETO31,SCONTINUEDDOMINANCEASADATABASESTANDARDHASCOMEFROMTHEEMERGENCEOFOBJECTBASEDPROGRAMMINGTHROUGHLANGUAGESSUCHAS*AVAAND#ANDFROMTHEINTRODUCTIONOFOBJECTBASEDDATABASESASANEXTENSIONOFTHEBROADMARKETTRENDTOWARDOBJECTBASEDTECHNOLOGY31,BASEDDATABASEVENDORSHAVERESPONDEDTOTHISCHALLENGEBYSLOWLYEXPANDINGANDENHANCING31,TOINCLUDEOBJECTFEATURES4HESEhOBJECTRELATIONALvDATABASESWHICHCONTINUETOBEBASEDON31,HAVEEMERGEDASAMOREPOPULARALTERNATIVETOhPUREOBJECTvDATABASESANDHAVEPERPETUATED31,SDOMINANCETHROUGHTHELASTDECADE4HENEWESTWAVEOFOBJECTTECHNOLOGYEMBODIEDINTHE8-,STANDARDANDWEBSERVICESARCHITECTURESONCEAGAINCREATEDACROPOFh8-,DATABASESvANDALTERNATIVEQUERYLANGUAGESTOCHALLENGE31,INTHEEARLYS"UTONCEAGAINTHEMAJORVENDORSOF31,BASEDDATABASESRESPONDEDBYADDING8-,BASEDEXTENSIONSMEETINGTHECHALLENGEANDSECURING31,SCONTINUINGIMPORTANCE(ISTORYSUGGESTSTHATTHIShEXTENDANDINTEGRATEvAPPROACHWILLBESUCCESSFULINWARDINGOFFNEWCHALLENGESINTHEFUTUREASWELL
)NTERNET$ATABASE!CCESS7ITHTHEEXPLODINGPOPULARITYOFTHE)NTERNETANDTHE7ORLD7IDE7EBANDTHEIRSTANDARDSBASEDFOUNDATION31,FOUNDANEWROLEINTHELATESASAN)NTERNETDATAACCESSSTANDARD%ARLYINTHEDEVELOPMENTOFTHE7EBDEVELOPERSNEEDEDAWAYTORETRIEVEANDPRESENTDATABASEINFORMATIONONWEBPAGESANDUSED31,ASACOMMONLANGUAGEFORDATABASEGATEWAYS-ORERECENTLYTHEEMERGENCEOFTHREETIERED)NTERNETARCHITECTURESWITHDISTINCTTHINCLIENTAPPLICATIONSERVERANDDATABASESERVERLAYERSHASESTABLISHED31,ASTHESTANDARDLINKBETWEENTHEAPPLICATIONANDDATABASETIERS4HEROLEOF31,INMULTITIER
0 A R T ) ! N / V E R V I E W O F 3 1 ,
ARCHITECTURESISNOWBEGINNINGTOEXTENDBEYONDTHEBACKENDDATABASELAYERTOINCLUDEDATACACHINGANDREALTIMEDATAMANAGEMENTINORNEARTHEAPPLICATIONTIER
*AVA)NTEGRATION*$"#!MAJORAREAOF31,DEVELOPMENTOVERTHELASTFIVETOTENYEARSHASBEENTHEINTEGRATIONOF31,WITH*AVA3EEINGTHENEEDTOLINKTHE*AVALANGUAGETOEXISTINGRELATIONALDATABASES3UN-ICROSYSTEMSTHECREATOROF*AVAINTRODUCED*AVA$ATABASE#ONNECTIVITY*$"#ASTANDARD!0)THATALLOWS*AVAPROGRAMSTOUSE31,FORDATABASEACCESS*$"#RECEIVEDAFURTHERBOOSTWHENITWASADOPTEDASTHEDATAACCESSSTANDARDWITHINTHE*AVA%NTERPRISE%DITION*%%SPECIFICATIONWHICHDEFINESTHEOPERATINGENVIRONMENTPROVIDEDBYMOSTOFTHELEADING)NTERNETAPPLICATIONSERVERS)NADDITIONTOTHEROLEOF*AVAASAPROGRAMMINGLANGUAGEFROMWHICHDATABASESAREUSEDMANYOFTHELEADINGDATABASEVENDORSHAVEALSOANNOUNCEDORIMPLEMENTED*AVASUPPORTWITHINTHEIRDATABASESYSTEMSALLOWING*AVATOBEUSEDASALANGUAGEFORSTOREDPROCEDURESANDBUSINESSLOGICWITHINTHEDATABASEITSELF4HISTRENDTOWARDINTEGRATIONBETWEEN*AVAAND31,WILLENSURETHECONTINUEDIMPORTANCEOF31,INTHENEWERAOF*AVABASEDPROGRAMMING
/PEN3OURCE3UPPORT/NEOFTHENEWERIMPORTANTDEVELOPMENTSINTHECOMPUTERINDUSTRYISTHEEMERGENCEOFANhOPENSOURCEvAPPROACHTOBUILDINGCOMPLEXSOFTWARESYSTEMS7ITHTHISAPPROACHTHESOURCECODETHATDEFINESTHEOPERATIONOFASOFTWARESYSTEMISOPENANDFREELYAVAILABLEANDMANYDIFFERENTPROGRAMMERSCANCONTRIBUTETOITADDINGFEATURESFIXINGBUGSENHANCINGITSFUNCTIONALITYANDPROVIDINGSUPPORTFORITSUSE4HISCOMMUNITYOFPROGRAMMERSPOTENTIALLYSPREADACROSSTHOUSANDSOFDIFFERENTORGANIZATIONSANDAROUNDTHEGLOBEWITHSOMECOORDINATIONBECOMESTHEENGINETHATDRIVESTHEFURTHERDEVELOPMENTOFTHETECHNOLOGY/PENSOURCESOFTWAREISGENERALLYAVAILABLEATVERYLOWPRICESORFREEADDINGTOITSAPPEAL3EVERALSUCCESSFULOPENSOURCE31,BASEDDATABASESHAVEBEENBUILTINTHELASTDECADEANDONEOFTHESE-Y31,ISASTANDARDCOMPONENTOFTHEMOSTPOPULAROPENSOURCEhSTACKvOFSOFTWARETHE,!-0STACKWHICHALSOINCLUDES,INUXTHE!PACHEWEBSERVERANDTHE0(0SCRIPTINGLANGUAGE4HEWIDESPREADAVAILABILITYOFFREE31,BASEDOPENSOURCEDATABASESHASEXPOSED31,TOANEVENBROADERRANGEOFPROGRAMMERSCONTINUINGTOBUILDITSPOPULARITY
)NDUSTRY)NFRASTRUCTURE0ERHAPSTHEMOSTIMPORTANTFACTORCONTRIBUTINGTOTHEGROWINGIMPORTANCEOF31,ISTHEEMERGENCEOFANENTIRECOMPUTERINDUSTRYINFRASTRUCTUREBASEDON31,31,BASEDRELATIONALDATABASESYSTEMSAREANIMPORTANTPARTOFTHISINFRASTRUCTURE%NTERPRISEAPPLICATIONSTHATUSE31,ANDREQUIREA31,BASEDDATABASEAREANOTHERIMPORTANTPARTASAREREPORTINGTOOLSDATAENTRYTOOLSDESIGNTOOLSPROGRAMMINGTOOLSANDAHOSTOFOTHERTOOLSTHATSIMPLIFYTHEUSEOF31,!LARGEPOOLOFEXPERIENCED31,PROGRAMMERSISACRITICALPARTOFTHEINFRASTRUCTURE!NOTHERIMPORTANTPARTISTHETRAININGANDSUPPORTSERVICESTHATSURROUND31,ANDHELPTOCREATEANDPERPETUATE31,EXPERTISE!NENTIRESUBINDUSTRYHASEMERGEDAROUND31,CONSULTINGOPTIMIZATIONANDPERFORMANCETUNING!LLPARTSOFTHISINFRASTRUCTURETENDTOREINFORCEONEANOTHERANDTOCONTRIBUTETOTHEONGOINGSUCCESSOFTHEOTHERPARTS3IMPLYSTATEDTOSOLVEDATAMANAGEMENTPROBLEMSTHEEASIESTLOWESTRISKLOWESTCOSTSOLUTIONISALMOSTALWAYSASOLUTIONBASEDON31,
!1UICK4OUROF31,
"EFOREWEDIVEINTOTHEDETAILSOF31,ITSAGOODIDEATODEVELOPANOVERALLPERSPECTIVEONTHELANGUAGEANDHOWITWORKS4HISCHAPTERCONTAINSAQUICKTOUROF31,THATILLUSTRATESITSMAJORFEATURESANDFUNCTIONS4HEGOALOFTHEQUICKTOURISNOTTOMAKEYOUPROFICIENTINWRITING31,STATEMENTSTHATSTHEGOALOF0ART))OFTHISBOOK2ATHERBYTHETIMEYOUVEFINISHEDTHISCHAPTERYOUWILLHAVEABASICFAMILIARITYWITHTHE31,ANDANOVERVIEWOFITSCAPABILITIES
!3IMPLE$ATABASE4HEEXAMPLESINTHISQUICKTOURAREBASEDONASIMPLERELATIONALDATABASEFORASMALLDISTRIBUTIONCOMPANY4HEDATABASESHOWNIN&IGURESTORESTHEINFORMATIONNEEDEDTOIMPLEMENTASMALLORDERPROCESSINGAPPLICATION9OUWILLFINDINSTRUCTIONSFORCREATINGTHESAMPLEDATABASEIN!PPENDIX!SOYOUCANTRYTHESEQUERIESYOURSELFASYOUREAD3PECIFICALLYITSTORESTHEFOLLOWINGINFORMATION
s 4HECUSTOMERSWHOBUYTHECOMPANYSPRODUCTSs 4HEORDERSPLACEDBYTHOSECUSTOMERSs 4HESALESPEOPLEWHOSELLTHEPRODUCTSTOCUSTOMERSs 4HESALESOFFICESWHERETHOSESALESPEOPLEWORK
4HISDATABASELIKEMOSTOTHERSISAMODELOFTHEhREALWORLDv4HEDATASTOREDINTHEDATABASEREPRESENTSREALENTITIESCUSTOMERSORDERSSALESPEOPLEANDOFFICES%ACHDIFFERENTKINDOFENTITYHASASEPARATETABLEOFDATA&OREXAMPLEINTHE3!,%32%03TABLEEACHSALESPERSONISREPRESENTEDBYONEROWANDEACHCOLUMNHOLDSONETYPEOFINFORMATIONABOUTSALESPEOPLESUCHASTHEIRNAMEORTHESALESOFFICEWHERETHEYAREASSIGNED$ATABASEREQUESTSTHATYOUMAKEUSINGTHE31,PARALLELREALWORLDACTIVITIESASCUSTOMERSPLACECANCELANDCHANGEORDERSASYOUHIREANDFIRESALESPEOPLEANDSOON,ETSSEEHOWYOUCANUSE31,TOMANIPULATEDATA
#(!04%2
0 A R T ) ! N / V E R V I E W O F 3 1 ,
2ETRIEVING$ATA&IRSTLETSLISTTHESALESOFFICESSHOWINGTHECITYWHEREEACHONEISITSOFFICENUMBERANDITSYEARTODATESALES4HE31,STATEMENTTHATRETRIEVESDATAFROMTHEDATABASEISCALLED3%,%#44HIS31,STATEMENTRETRIEVESTHEDATAYOUWANT
3%,%#4#)49/&&)#%3!,%3&2/-/&&)#%3#)49/&&)#%3!,%3
$ENVER.EW9ORK#HICAGO!TLANTA,OS!NGELES
1, ii>>`>>L>i
# H A P T E R ! 1 U I C K 4 O U R O F 3 1 ,
0!24)
4HE3%,%#4STATEMENTASKSFORTHREEPIECESOFDATATHECITYTHEOFFICENUMBERANDTHEAMOUNTOFSALESFOREACHOFFICE)TALSOSPECIFIESTHATALLOFTHISDATACOMESFROMTHE/&&)#%3TABLEWHICHSTORESDATAABOUTSALESOFFICES4HERESULTSOFTHEQUERYAPPEARINTABULARFORMIMMEDIATELYAFTERTHEREQUEST.OTETHATTHEFORMATTINGOFTHEQUERYRESULTSWILLVARYFROMONE31,IMPLEMENTATIONTOANOTHER
4HE3%,%#4STATEMENTISUSEDFORALL31,QUERIES&OREXAMPLEHEREISAQUERYTHATLISTSTHENAMESANDYEARTODATESALESFOREACHSALESPERSONINTHEDATABASE)TALSOSHOWSTHEQUOTASALESTARGETANDTHEOFFICENUMBERWHEREEACHPERSONWORKS)NTHISCASETHEDATACOMESFROMTHE3!,%32%03TABLE
3%,%#4.!-%2%0?/&&)#%3!,%315/4!&2/-3!,%32%03.!-%2%0?/&&)#%3!,%315/4!
"ILL!DAMS-ARY*ONES3UE3MITH3AM#LARK"OB3MITH$AN2OBERTS4OM3NYDER.5,,.5,,,ARRY&ITCH0AUL#RUZ.ANCY!NGELLI
4HE.5,,VALUESFOR4OM3NYDERREPRESENTMISSINGORUNKNOWNDATA(EISNEWTOTHECOMPANYANDHASNOTYETBEENASSIGNEDTOASALESOFFICEORBEENGIVENASALESQUOTA(OWEVERHEHASALREADYMADESOMESALES4HEDATAINHISROWOFQUERYRESULTSSHOWSTHISCLEARLY
31,ALSOLETSYOUASKFORCALCULATEDRESULTS&OREXAMPLEYOUCANASK31,TOCALCULATETHEAMOUNTBYWHICHEACHSALESPERSONISOVERORUNDERQUOTA
3%,%#4.!-%3!,%315/4!3!,%3n15/4!&2/-3!,%32%03.!-%3!,%315/4!3!,%3n15/4!
"ILL!DAMS-ARY*ONES3UE3MITH3AM#LARK"OB3MITHn$AN2OBERTS4OM3NYDER.5,,.5,,,ARRY&ITCH0AUL#RUZ.ANCY!NGELLIn
4HEREQUESTEDDATAINCLUDINGTHECALCULATEDDIFFERENCEBETWEENSALESANDQUOTAFOREACHSALESPERSONONCEAGAINAPPEARSINAROWCOLUMNTABLE0ERHAPSYOUWOULDLIKETOFOCUSONTHESALESPEOPLEWHOSESALESARELESSTHANTHEIRQUOTAS31,LETSYOURETRIEVETHAT
0 A R T ) ! N / V E R V I E W O F 3 1 ,
KINDOFSELECTIVEINFORMATIONVERYEASILYBYADDINGAMATHEMATICALCOMPARISONTOTHEPREVIOUSREQUEST
3%,%#4.!-%3!,%315/4!3!,%3n15/4!&2/-3!,%32%037(%2%3!,%315/4!.!-%3!,%315/4!3!,%3n15/4!
"OB3MITHn.ANCY!NGELLIn
9OUCANUSETHESAMETECHNIQUETOLISTLARGEORDERSINTHEDATABASEANDFINDOUTWHICHCUSTOMERPLACEDTHEORDERWHICHPRODUCTWASORDEREDANDINWHATQUANTITY9OUCANALSOASK31,TOSORTTHEORDERSBASEDONTHEORDERAMOUNT
3%,%#4/2$%2?.5-#53402/$5#4149!-/5.4&2/-/2$%237(%2%!-/5.4/2$%2"9!-/5.4/2$%2?.5-#53402/$5#4149!-/5.4
9#!,!2
3UMMARIZING$ATA31,NOTONLYRETRIEVESINDIVIDUALPIECESOFDATAFROMTHEDATABASEBUTITALSOCANSUMMARIZETHEDATABASECONTENTS7HATSTHEAVERAGESIZEOFANORDERINTHEDATABASE4HISREQUESTASKS31,TOLOOKATALLTHEORDERSANDFINDTHEAVERAGEAMOUNT
3%,%#4!6'!-/5.4&2/-/2$%23!6'!-/5.4
9OUCOULDALSOASKFORTHEAVERAGEORDERSIZEFORAPARTICULARCUSTOMER
3%,%#4!6'!-/5.4&2/-/2$%237(%2%#534!6'!-/5.4
# H A P T E R ! 1 U I C K 4 O U R O F 3 1 ,
0!24)
&INALLYLETSFINDOUTTHETOTALVALUEOFTHEORDERSPLACEDBYEACHCUSTOMER4ODOTHISYOUCANASK31,TOGROUPTHEORDERSTOGETHERBYCUSTOMERNUMBERANDTHENTOTALTHEORDERSFOREACHCUSTOMER
3%,%#4#53435-!-/5.4&2/-/2$%23'2/50"9#534#53435-!-/5.4
!DDING$ATATOTHE$ATABASE9OUALSOUSE31,TOADDNEWDATATOTHEDATABASE&OREXAMPLESUPPOSEYOUJUSTOPENEDANEW7ESTERNREGIONSALESOFFICEIN$ALLASWITHTARGETSALESOF(ERESTHE).3%24STATEMENTTHATADDSTHENEWOFFICETOTHEDATABASEASOFFICENUMBER
).3%24).4//&&)#%3#)492%')/.4!2'%43!,%3/&&)#%6!,5%3g$ALLASgg7ESTERNgROWINSERTED
3IMILARLYIF-ARY*ONESEMPLOYEENUMBERSIGNSUPANEWCUSTOMER!CME)NDUSTRIESTHIS).3%24STATEMENTADDSTHECUSTOMERTOTHEDATABASEASCUSTOMERNUMBERWITHACREDITLIMIT
).3%24).4/#534/-%23#/-0!.9#534?2%0#534?.5-#2%$)4?,)-)46!,5%3g!CME)NDUSTRIESgROWINSERTED
9OUMAYHAVENOTICEDTHATTHE31,ENGINERETURNEDFEEDBACKROWINSERTEDTOTELLYOUTHATTHESTATEMENTSWORKED4HEEXACTWORDINGANDFORMATTINGOFTHISFEEDBACKWILLVARYFROMONE31,IMPLEMENTATIONTOANOTHER
0 A R T ) ! N / V E R V I E W O F 3 1 ,
$ELETING$ATA*USTASTHE31,).3%24STATEMENTADDSNEWDATATOTHEDATABASETHE31,$%,%4%STATEMENTREMOVESDATAFROMTHEDATABASE)F!CME)NDUSTRIESDECIDESAFEWDAYSLATERTOSWITCHTOACOMPETITORYOUCANDELETE!CMESCUSTOMERINFORMATIONFROMTHEDATABASEWITHTHISSTATEMENT
$%,%4%&2/-#534/-%237(%2%#/-0!.9g!CME)NDUSTRIESgROWDELETED
!NDIFYOUDECIDETOTERMINATEALLSALESPEOPLEWHOSESALESARELESSTHANTHEIRQUOTASYOUCANREMOVETHEMFROMTHEDATABASEWITHTHIS$%,%4%STATEMENT
$%,%4%&2/-3!,%32%037(%2%3!,%315/4!ROWSDELETED
5PDATINGTHE$ATABASE9OUCANUSE31,TOMODIFYDATATHATISALREADYSTOREDINTHEDATABASE&OREXAMPLETOINCREASETHECREDITLIMITFOR&IRST#ORPTOYOUWOULDUSETHE31,50$!4%STATEMENT
50$!4%#534/-%233%4#2%$)4?,)-)47(%2%#/-0!.9g&IRST#ORPgROWUPDATED
4HE50$!4%STATEMENTCANALSOMAKEMANYCHANGESINTHEDATABASEATONCE&OREXAMPLETHIS50$!4%STATEMENTRAISESTHEQUOTAFORALLSALESPEOPLEBY
50$!4%3!,%32%033%415/4!15/4!ROWSUPDATED
0ROTECTING$ATA!NIMPORTANTROLEOFADATABASEISTOPROTECTTHESTOREDDATAFROMACCESSORMODIFICATIONBYUNAUTHORIZEDUSERS&OREXAMPLESUPPOSEYOURASSISTANT-ARYHASADATABASEACCOUNTBUTHASNOTBEENPREVIOUSLYAUTHORIZEDTOINSERTDATAABOUTNEWCUSTOMERSINTOTHEDATABASE4HIS31,STATEMENTGRANTSHERTHATPERMISSION
'2!.4).3%24/.#534/-%234/-!290RIVILEGEGRANTED
# H A P T E R ! 1 U I C K 4 O U R O F 3 1 ,
0!24)
3IMILARLYTHEFOLLOWING31,STATEMENTGIVES-ARYPERMISSIONTOUPDATEDATAABOUTCUSTOMERSANDTORETRIEVECUSTOMERDATAWITHTHE3%,%#4STATEMENT
'2!.450$!4%3%,%#4/.#534/-%234/-!290RIVILEGEGRANTED
)F-ARYISNOLONGERALLOWEDTOADDNEWCUSTOMERSTOTHEDATABASETHIS2%6/+%STATEMENTWILLDISALLOWIT
2%6/+%).3%24/.#534/-%23&2/--!290RIVILEGEREVOKED
3IMILARLYTHIS2%6/+%STATEMENTWILLREVOKEALLOF-ARYSPRIVILEGESTOACCESSORMODIFYCUSTOMERDATAINANYWAY
2%6/+%!,,/.#534/-%23&2/--!290RIVILEGEREVOKED
#REATINGA$ATABASE"EFOREYOUCANSTOREDATAINADATABASEYOUMUSTFIRSTDEFINETHESTRUCTUREOFTHEDATA3UPPOSEYOUWANTTOEXPANDTHESAMPLEDATABASEBYADDINGATABLEOFDATAABOUTTHEPRODUCTSYOURCOMPANYSELLS&OREACHPRODUCTTHEDATATOBESTOREDINCLUDESTHEFOLLOWING
s !THREECHARACTERMANUFACTURER)$CODEs !FIVECHARACTERPRODUCT)$CODEs !PRODUCTDESCRIPTIONOFUPTOCHARACTERSs 4HEPRICEOFTHEPRODUCTs 4HEQUANTITYCURRENTLYONHAND
4HIS31,#2%!4%4!",%STATEMENTDEFINESANEWTABLETOSTORETHEPRODUCTSDATA
#2%!4%4!",%02/$5#43-&2?)$#(!202/$5#4?)$#(!2$%3#2)04)/.6!2#(!202)#%$%#)-!,149?/.?(!.$).4%'%24ABLECREATED
0 A R T ) ! N / V E R V I E W O F 3 1 ,
!LTHOUGHMORECRYPTICTHANTHEPREVIOUS31,STATEMENTEXAMPLESTHE#2%!4%4!",%STATEMENTISSTILLFAIRLYSTRAIGHTFORWARD)TASSIGNSTHENAME02/$5#43TOTHENEWTABLEANDSPECIFIESTHENAMEANDTYPEOFDATASTOREDINEACHOFITSFIVECOLUMNS4HEMANUFACTURERANDPRODUCT)$SARESTOREDASFIXEDLENGTHSEQUENCESOFCHARACTERSTHEPRODUCTDESCRIPTIONISAVARIABLELENGTHCHARACTERSTRINGTHEPRICEISDECIMALDATAAREALNUMBERANDTHEQUANTITYISANINTEGER
/NCETHETABLEHASBEENCREATEDYOUCANFILLITWITHDATA(ERESAN).3%24STATEMENTFORANEWSHIPMENTOFSIZEWIDGETSPRODUCT!#)WHICHCOSTAPIECE
).3%24).4/02/$5#43-&2?)$02/$5#4?)$$%3#2)04)/.02)#%149?/.?(!.$6!,5%3g!#)gggg3IZE7IDGETgROWINSERTED
&INALLYIFYOUDISCOVERLATERTHATYOUNOLONGERNEEDTOSTORETHEPRODUCTSDATAINTHEDATABASEYOUCANERASETHETABLEANDALLOFTHEDATAITCONTAINSWITHTHE$2/04!",%STATEMENT
$2/04!",%02/$5#434ABLEDROPPED
3UMMARY4HISQUICKTOUROF31,SHOWEDYOUWHAT31,CANDOANDILLUSTRATEDTHESTYLEOFTHE31,BYUSINGEIGHTOFTHEMOSTCOMMONLYUSED31,STATEMENTS4OSUMMARIZE
s 5SE31,TORETRIEVEDATAFROMTHEDATABASEBYUSINGTHE3%,%#4STATEMENT9OUCANRETRIEVEALLORPARTOFTHESTOREDDATASORTITANDASK31,TOSUMMARIZETHEDATAUSINGTOTALSANDAVERAGES
s 5SE31,TOUPDATETHEDATABASEBYADDINGNEWDATAWITHTHE).3%24STATEMENTDELETINGDATAWITHTHE$%,%4%STATEMENTANDMODIFYINGEXISTINGDATAWITHTHE50$!4%STATEMENT
s 5SE31,TOCONTROLACCESSTOTHEDATABASEBYGRANTINGANDREVOKINGSPECIFICPRIVILEGESFORSPECIFICUSERSWITHTHE'2!.4AND2%6/+%STATEMENTS
s 5SE31,TOCREATEMODIFYTHEDATABASEBYDEFININGTHESTRUCTUREOFNEWTABLESANDDROPPINGTABLESWHENTHEYARENOLONGERNEEDEDBYUSINGTHE#2%!4%AND$2/0STATEMENTS
31,IN0ERSPECTIVE
31,ISTHESTANDARDLANGUAGEFORDATABASEMANAGEMENTTODAY7HATDOESITMEANFOR31,TOBEASTANDARD(OWDIDITBECOMEASTANDARD7HATROLEDOESTHEOFFICIAL31,STANDARDPLAY(OWBROADLYADOPTEDISITANDWHYARETHERESTILLDIALECTSOF31,DESPITETHESTANDARD(OWBROADIS31,SIMPACTONVARIOUSSEGMENTSOFTHE)4LANDSCAPE4OANSWERTHESEQUESTIONSTHISCHAPTERTRACESTHEHISTORYOF31,ANDDESCRIBESITSCURRENTROLEINTHECOMPUTERMARKET
31,ANDTHE%VOLUTIONOF$ATABASE-ANAGEMENT/NEOFTHEMAJORTASKSOFACOMPUTERSYSTEMISTOSTOREANDMANAGEDATA4OHANDLETHISTASKSPECIALIZEDCOMPUTERPROGRAMSKNOWNASDATABASEMANAGEMENTSYSTEMSBEGANTOAPPEARINTHELATESANDEARLYS!DATABASEMANAGEMENTSYSTEMOR$"-3HELPEDCOMPUTERUSERSTOORGANIZEANDSTRUCTURETHEIRDATAANDALLOWEDTHECOMPUTERSYSTEMTOPLAYAMOREACTIVEROLEINMANAGINGTHEDATA!LTHOUGHDATABASEMANAGEMENTSYSTEMSWEREFIRSTDEVELOPEDONLARGEMAINFRAMESYSTEMSTHEIRPOPULARITYQUICKLYSPREADTOMINICOMPUTERSANDTHENTOCOMPUTERWORKSTATIONSPERSONALCOMPUTERSANDSPECIALIZEDSERVERCOMPUTERS
$ATABASEMANAGEMENTHASALSOPLAYEDAKEYROLEINTHEEXPLOSIONOFCOMPUTERNETWORKINGANDTHE)NTERNET%ARLYDATABASESYSTEMSRANONLARGEMONOLITHICCOMPUTERSYSTEMSWHERETHEDATATHEDATABASEMANAGEMENTSOFTWAREANDTHEUSERSORAPPLICATIONPROGRAMSACCESSINGTHEDATABASEALLOPERATEDONTHESAMESYSTEM4HESANDSSAWTHEEXPLOSIONOFANEWCLIENTSERVERMODELFORDATABASEACCESSINWHICHAUSERORANAPPLICATIONPROGRAMRUNNINGONAPERSONALCOMPUTERACCESSESADATABASEONASEPARATECOMPUTERSYSTEMBYUSINGANETWORK)NTHELATESTHEINCREASINGPOPULARITYOFTHE)NTERNETANDTHE7ORLD7IDE7EBIMPACTEDTHEARCHITECTUREOFDATAMANAGEMENTAGAIN4ODAYUSERSREQUIRELITTLEMORETHANAWEBBROWSERTOACCESSANDINTERACTWITHDATABASESNOTONLYWITHINTHEIROWNORGANIZATIONSBUTALSOAROUNDTHEWORLD4HESE)NTERNETBASEDARCHITECTURESUSUALLYINVOLVETHREEORMORECOMPUTERSYSTEMSONETHATRUNSTHEWEBBROWSERANDINTERACTSWITHTHEUSERCONNECTEDOVERTHE)NTERNETTOASECONDSYSTEMTHATRUNSANAPPLICATIONPROGRAMORAPPLICATIONSERVERWHICHISINTURNCONNECTEDTOATHIRDSYSTEMTHATRUNSTHEDATABASEMANAGEMENTSYSTEM
$ATABASEMANAGEMENTHASBECOMEAVERYBIGBUSINESS)NDEPENDENTSOFTWARECOMPANIESANDCOMPUTERVENDORSSHIPBILLIONSOFDOLLARSWORTHOFDATABASEMANAGEMENTPRODUCTSEVERYYEAR6IRTUALLYALLENTERPRISECLASSCOMPUTERAPPLICATIONSTHATSUPPORTTHEDAILYOPERATION
#(!04%2
0 A R T ) ! N / V E R V I E W O F 3 1 ,
OFLARGECOMPANIESANDOTHERORGANIZATIONSUSEDATABASES4HESEAPPLICATIONSINCLUDESOMEOFTHEFASTESTGROWINGAPPLICATIONCATEGORIESSUCHAS%NTERPRISE2ESOURCE0LANNING%20#USTOMER2ELATIONSHIP-ANAGEMENT#2-3UPPLY#HAIN-ANAGEMENT3#-3ALES&ORCE!UTOMATION3&!ANDFINANCIALAPPLICATIONS3PECIALIZEDHIGHPERFORMANCESERVERCOMPUTERSOPTIMIZEDTORUNTHEMOSTPOPULARDATABASESOFTWARECONSTITUTEAMULTIBILLIONDOLLARMARKETANDLOWCOSTSERVERSUSEDEXCLUSIVELYFORDATAMANAGEMENTADDBILLIONSMORE$ATABASESPROVIDETHEINTELLIGENCEBEHINDMOSTTRANSACTIONORIENTEDWEBSITESANDTHEYAREUSEDTOCAPTUREANDANALYZEUSERINTERACTIONSWITHWEBSITES$ATABASEMANAGEMENTTHUSTOUCHESEVERYSEGMENTOFTHECOMPUTERMARKET
3INCETHELATESASPECIFICTYPEOF$"-3CALLEDARELATIONALDATABASEMANAGEMENTSYSTEM2$"-3HASBECOMESOPOPULARTHATITISTHESTANDARDDATABASEFORM2ELATIONALDATABASESORGANIZEDATAINASIMPLETABULARFORMANDPROVIDEMANYADVANTAGESOVEREARLIERTYPESOFDATABASES31,ISSPECIFICALLYARELATIONALDATABASELANGUAGEUSEDTOWORKWITHRELATIONALDATABASES
!"RIEF(ISTORYOF31,4HEHISTORYOFTHE31,ISINTIMATELYINTERTWINEDWITHTHEDEVELOPMENTOFRELATIONALDATABASES4ABLESHOWSSOMEOFTHEEARLYMILESTONESINITSYEARHISTORY4HERELATIONALDATABASECONCEPTWASORIGINALLYDEVELOPEDBY%DGAR&RANKh4EDv#ODDAN)"-RESEARCHER)N*UNE#ODDPUBLISHEDANARTICLEENTITLEDh!2ELATIONAL-ODELOF$ATAFOR,ARGE3HARED$ATA"ANKSvWHICHOUTLINEDAMATHEMATICALTHEORYOFHOWDATACOULDBESTOREDANDMANIPULATEDUSINGATABULARSTRUCTURE2ELATIONALDATABASESAND31,TRACETHEIRORIGINSTOTHISARTICLEWHICHAPPEAREDINTHE#OMMUNICATIONSOFTHE!SSOCIATIONFOR#OMPUTING-ACHINERY
4HE%ARLY9EARS#ODDSARTICLETRIGGEREDAFLURRYOFRELATIONALDATABASERESEARCHINCLUDINGAMAJORRESEARCHPROJECTWITHIN)"-4HEGOALOFTHEPROJECTCALLED3YSTEM2WASTOPROVETHEWORKABILITYOFTHERELATIONALCONCEPTANDTOPROVIDESOMEEXPERIENCEINACTUALLYIMPLEMENTINGARELATIONAL$"-37ORKON3YSTEM2BEGANINTHEMIDSAT)"-S3ANTA4ERESALABORATORIESIN3AN*OSE#ALIFORNIA
)NANDTHEFIRSTPHASEOFTHE3YSTEM2PROJECTPRODUCEDAMINIMALPROTOTYPEOFARELATIONAL$"-3)NADDITIONTOTHE$"-3ITSELFTHE3YSTEM2PROJECTINCLUDEDWORKONDATABASEQUERYLANGUAGES/NEOFTHESELANGUAGESWASCALLED3%15%,ANACRONYMFOR3TRUCTURED%NGLISH1UERY,ANGUAGE)NANDTHE3YSTEM2RESEARCHPROTOTYPEWASREWRITTENFROMSCRATCHANDTHENEWIMPLEMENTATIONWASDISTRIBUTEDTOSELECTED)"-CUSTOMERSFOREVALUATIONINAND4HESEEARLYCUSTOMERSITESPROVIDEDSOMEACTUALUSEREXPERIENCEWITH3YSTEM2ANDITSDATABASELANGUAGEWHICHFORLEGALREASONSHADBEENRENAMED31,OR3TRUCTURED1UERY,ANGUAGE)NTHE3YSTEM2RESEARCHPROJECTCAMETOANENDWITH)"-CONCLUDINGTHATRELATIONALDATABASESWERENOTONLYFEASIBLEBUTALSOCOULDBETHEBASISFORAUSEFULCOMMERCIALPRODUCT
%ARLY2ELATIONAL0RODUCTS4HE3YSTEM2PROJECTANDITS31,DATABASELANGUAGEWEREWELLCHRONICLEDINTECHNICALJOURNALSDURINGTHES3EMINARSONDATABASETECHNOLOGYFEATUREDDEBATESONTHEMERITSOFTHENEWANDHERETICALRELATIONALMODEL"YITWASAPPARENTTHAT)"-WASBECOMINGENTHUSIASTICABOUTRELATIONALDATABASETECHNOLOGYANDTHATITWASMAKINGAMAJORCOMMITMENTTO31,
# H A P T E R 3 1 , I N 0 E R S P E C T I V E
0!24)
9i> i ```ivii>>`>>L>i`i{ Li}-i,iV{ >Vi`iVL}i-+1>}>}iLi`n -i,Vii>iV`Vi` ">Vi`VivViV>,-n ,i>>/iV}`Vi}in >Vi-+-n -v-+>`>`Viin >Vin --+>`>`>vi`n -L>i`Vi,-v>>VVi}n -"-+>`>`>vi`nn />i>`Vv>Vi-+-iiv"-n /*LiV>/*Li` /*LiV>Li` -+VVi`>>L>i>VViiVvV>Li` VvLi"iVvV> --+>`>`-+>vi` /*
"/*LiV>Li` -iV>i`-+`>>>i}i>ii`vivi "`V>ii`vivi{ *>>i`>>L>iiiiV}i`ViV>x "iVi-+vii>i` ->`>`*v"*`>>L>i>VVi>`"*LiV>Li` 1vi>ViVi>V>`ii`>v >-i`>Vi>>i}>>i}in Vv-+-ii`iiiiii`>>L>iv7` /n ">VinI`i`>>L>iiii}>>`i>>vViii`in iV>i`>>L>i`V>ii`vivi
>`>`i`>>L>i>VViv>V>ii --"-+\>`>`>vi`]>``}LiVii`VVi>}>}i ">Vi`Vi>V>iii}>i``>>L>iV>V} Vv`Vi-+-ii]>i`>iii>V> 8i}>V>>Li>i>>i>,-`V >Viv`>>L>iLi >i>>`>>L>ii`]>}">Vi --"-+\>vi`]>``}-+8 --"-+\>vi`]}vV>i>`}-+8>`LiVii`VV >`>i`i">Vii>`}>i>in -+>Vi`L-Vin --"-+\n>vi`
/ ii-+iii
0 A R T ) ! N / V E R V I E W O F 3 1 ,
4HEPUBLICITYABOUT3YSTEM2ATTRACTEDTHEATTENTIONOFAGROUPOFENGINEERSIN-ENLO0ARK#ALIFORNIAWHODECIDEDTHAT)"-SRESEARCHFORESHADOWEDACOMMERCIALMARKETFORRELATIONALDATABASES)NTHEYFORMEDACOMPANY2ELATIONAL3OFTWARE)NCTOBUILDARELATIONAL$"-3BASEDON31,4HEIRPRODUCTNAMED/RACLESHIPPEDINANDBECAMETHEFIRSTCOMMERCIALLYAVAILABLERELATIONAL$"-3/RACLEBEAT)"-SFIRSTPRODUCTTOMARKETBYAFULLTWOYEARSAND/RACLERANON$IGITALS6!8MINICOMPUTERSWHICHWERELESSEXPENSIVETHAN)"-MAINFRAMES4HECOMPANYAGGRESSIVELYSOLDTHEMERITSOFTHENEWRELATIONALSTYLEOFDATABASEMANAGEMENTANDEVENTUALLYRENAMEDITSELFAFTERITSFLAGSHIPPRODUCT4ODAY/RACLE#ORPORATIONISTHELEADINGVENDOROFRELATIONALDATABASEMANAGEMENTSYSTEMSANDAMAJORVENDOROFENTERPRISEAPPLICATIONSBASEDONTHE/RACLEDATABASEWITHANNUALSALESOFTENSOFBILLIONSOFDOLLARS
0ROFESSORSATTHE5NIVERSITYOF#ALIFORNIAS"ERKELEYCOMPUTERLABORATORIESWEREALSORESEARCHINGRELATIONALDATABASESINTHEMIDS,IKETHE)"-RESEARCHTEAMTHEYBUILTAPROTOTYPEOFARELATIONAL$"-3ANDCALLEDTHEIRSYSTEM)NGRES4HE)NGRESPROJECTINCLUDEDAQUERYLANGUAGENAMED15%,THATALTHOUGHMORESTRUCTUREDTHAN31,WASLESS%NGLISHLIKE-ANYDATABASEPIONEERSKEYDATABASEDEVELOPERSANDFOUNDERSOFDATABASESTARTUPCOMPANIESTRACETHEIRHISTORYBACKTOTHE"ERKELEY)NGRESPROJECT
)NSEVERALPROFESSORSLEFT"ERKELEYANDFOUNDED2ELATIONAL4ECHNOLOGY)NCTOBUILDACOMMERCIALVERSIONOF)NGRESWHICHWASANNOUNCEDIN)NGRESAND/RACLEQUICKLYBECAMEBITTERARCHRIVALSBUTTHEIRRIVALRYHELPEDTOCALLATTENTIONTORELATIONALDATABASETECHNOLOGYINTHISEARLYSTAGE$ESPITEITSTECHNICALSUPERIORITYINMANYAREAS)NGRESBECAMEACLEARSECONDPLACEPLAYERINTHEMARKETCOMPETINGAGAINSTTHE31,BASEDCAPABILITIESANDTHEAGGRESSIVEMARKETINGANDSALESSTRATEGIESOF/RACLE4HEORIGINAL15%,QUERYLANGUAGEWASEFFECTIVELYREPLACEDBY31,INATESTIMONYTOTHEMARKETPOWEROFTHE31,STANDARD"YTHEMIDSTHE)NGRESTECHNOLOGYHADBEENSOLDTO#OMPUTER!SSOCIATESALEADINGMAINFRAMESOFTWAREVENDOR#OMPUTER!SSOCIATESSOLDITSINTERESTIN)NGRESTOAPRIVATEEQUITYCOMPANYIN
)"-0RODUCTS7HILE/RACLEAND)NGRESRACEDTOBECOMECOMMERCIALPRODUCTS)"-S3YSTEM2PROJECTHADALSOTURNEDINTOANEFFORTTOBUILDACOMMERCIALPRODUCTNAMED31,$ATA3YSTEM31,$3)"-ANNOUNCED31,$3INANDBEGANSHIPPINGTHEPRODUCTIN)N)"-ANNOUNCEDAVERSIONOF31,$3FOR6-#-3ANOPERATINGSYSTEMTHATWASFREQUENTLYUSEDON)"-MAINFRAMESINCORPORATEINFORMATIONCENTERAPPLICATIONS
)N)"-ALSOINTRODUCED$ATABASE$"ANOTHERRELATIONAL$"-3FORITSMAINFRAMESYSTEMS$"OPERATEDUNDER)"-S-63OPERATINGSYSTEMTHEWORKHORSEOPERATINGSYSTEMUSEDINLARGEMAINFRAMEDATACENTERS4HEFIRSTRELEASEOF$"BEGANSHIPPINGINAND)"-OFFICIALSHAILEDITASASTRATEGICPIECEOF)"-SOFTWARETECHNOLOGY$"HASSINCEBECOME)"-SFLAGSHIPRELATIONAL$"-3ANDWITH)"-SWEIGHTBEHINDIT$"S31,BECAMETHEDEFACTOSTANDARDDATABASELANGUAGE$"TECHNOLOGYHASNOWMIGRATEDACROSSALL)"-PRODUCTLINESFROMPERSONALCOMPUTERSTONETWORKSERVERSTOMAINFRAMES)N)"-TOOKTHE$"CROSSPLATFORMSTRATEGYEVENFURTHERBYANNOUNCING$"VERSIONSFORSERVERSFROM)"-HARDWARERIVALS3UN-ICROSYSTEMSAND(EWLETT0ACKARD$"ONMAINFRAMESREMAINSTHECENTERPIECEOF)"-SDATABASESTRATEGYHOWEVERANDISAVITALFORCEINENTERPRISECOMPUTING
# H A P T E R 3 1 , I N 0 E R S P E C T I V E
0!24)
#OMMERCIAL!CCEPTANCE$URINGTHEFIRSTHALFOFTHESTHERELATIONALDATABASEVENDORSSTRUGGLEDFORCOMMERCIALACCEPTANCEOFTHEIRPRODUCTS4HERELATIONALPRODUCTSHADSEVERALDISADVANTAGESCOMPAREDWITHTHETRADITIONALDATABASEARCHITECTURES4HEPERFORMANCEOFRELATIONALDATABASESWASSERIOUSLYINFERIORTOTHATOFTRADITIONALDATABASES%XCEPTFORTHE)"-PRODUCTSTHERELATIONALDATABASESCAMEFROMSMALLUPSTARTVENDORS!NDEXCEPTFORTHE)"-PRODUCTSTHERELATIONALDATABASESTENDEDTORUNONMINICOMPUTERSRATHERTHANON)"-MAINFRAMES
4HERELATIONALPRODUCTSDIDHAVEONEMAJORADVANTAGEHOWEVER4HEIRRELATIONALQUERYLANGUAGES31,15%,ANDOTHERSALLOWEDUSERSTOPOSEADHOCQUERIESTOTHEDATABASEANDGETIMMEDIATEANSWERSWITHOUTWRITINGPROGRAMS!SARESULTRELATIONALDATABASESBEGANSLOWLYTURNINGUPININFORMATIONCENTERAPPLICATIONSASDECISIONSUPPORTTOOLS"Y-AY/RACLEPROUDLYCLAIMEDTOHAVEOVERINSTALLATIONS)NGRESWASINSTALLEDINACOMPARABLENUMBEROFSITES$"AND31,$3WEREALSOBEINGSLOWLYACCEPTEDANDCOUNTEDTHEIRCOMBINEDINSTALLATIONSATSLIGHTLYOVERSITES
$URINGTHELASTHALFOFTHES31,ANDRELATIONALDATABASESWERERAPIDLYACCEPTEDASTHEDATABASETECHNOLOGYOFTHEFUTURE4HEPERFORMANCEOFTHERELATIONALDATABASEPRODUCTSIMPROVEDDRAMATICALLY)NGRESAND/RACLEINPARTICULARLEAPFROGGEDWITHEACHNEWVERSIONCLAIMINGSUPERIORITYOVERTHECOMPETITORANDTWOORTHREETIMESTHEPERFORMANCEOFTHEPREVIOUSRELEASE)MPROVEMENTSINTHEPROCESSINGPOWEROFTHEUNDERLYINGCOMPUTERHARDWAREALSOHELPEDTOBOOSTPERFORMANCE
-ARKETFORCESALSOBOOSTEDTHEPOPULARITYOF31,INTHELATES)"-STEPPEDUPITSEVANGELISMOF31,POSITIONING$"ASTHEDATAMANAGEMENTSOLUTIONFORTHES0UBLICATIONOFTHEFIRST!.3))3/STANDARDFOR31,31,INGAVE31,OFFICIALSTATUSASASTANDARD31,ALSOEMERGEDASASTANDARDON5.)8BASEDCOMPUTERSYSTEMSWHOSEPOPULARITYACCELERATEDINTHES!SPERSONALCOMPUTERSBECAMEMOREPOWERFULANDWERELINKEDINLOCALAREANETWORKS,!.STHEYNEEDEDMORESOPHISTICATEDDATABASEMANAGEMENT0#DATABASEVENDORSEMBRACED31,ASTHESOLUTIONTOTHESENEEDSANDMINICOMPUTERDATABASEVENDORSMOVEDDOWNMARKETTOCOMPETEINTHEEMERGING0#LOCALAREANETWORKMARKET
4HROUGHTHEEARLYSSTEADILYIMPROVING31,IMPLEMENTATIONSANDDRAMATICIMPROVEMENTSINPROCESSORSPEEDSMADE31,APRACTICALSOLUTIONFORTRANSACTIONPROCESSINGAPPLICATIONS31,BECAMEAKEYPARTOFTHECLIENTSERVERARCHITECTURETHATUSED0#SLOCALAREANETWORKSANDNETWORKSERVERSTOBUILDMUCHLOWERCOSTINFORMATIONPROCESSINGSYSTEMS7HENTHE)NTERNETANDTHEDOTCOMBOOMBURSTUPONTHE)4LANDSCAPE31,FOUNDANEWROLEASTHEDATABASELANGUAGEFOR)NTERNETAPPLICATIONSANDECOMMERCE
31,SSUPREMACYINTHEDATABASEWORLDHASNOTGONEUNCHALLENGED/BJECTORIENTEDPROGRAMMINGEMERGEDINTHESASTHEMETHODOFCHOICEFORAPPLICATIONSDEVELOPMENTESPECIALLYFORPERSONALCOMPUTERSANDTHEIRGRAPHICALUSERINTERFACES4HEOBJECTMODELWITHITSOBJECTSCLASSESMETHODSANDINHERITANCEDIDNOTFITWELLWITHTHERELATIONALMODELOFTABLESROWSANDCOLUMNSOFDATA%ARLYhOBJECTDATABASEvPRODUCTSINCLUDED3ERVIO,OGICS'EMSTONE'RAPHAELS'BASEAND/NTOLOGICS6BASE!NEWGENERATIONOFVENTURECAPITALnBACKEDOBJECTDATABASECOMPANIESSPRANGUPINTHEEARLYTOMIDSHOPINGTOMAKERELATIONALDATABASESANDTHEIRVENDORSOBSOLETEJUSTAS31,HADDONETOTHEEARLIERNONRELATIONALVENDORS4HESEPRODUCTSINCLUDED)TASCA3YSTEMS)4!3#!&UJITSUS*ASMINE-ATISSE3OFTWARES-ATISSE/BJECTIVITYS/BJECTIVITY$"/NTOS)NCSRENAMEDFROM/NTOLOGIC/.4/3/4ECHNOLOGYS/ALONGWITHPERHAPSAHALFDOZENOTHERS(OWEVER31,ANDTHERELATIONALMODELMORETHANWITHSTOODTHECHALLENGE!FEWOFTHESEPRODUCTS
0 A R T ) ! N / V E R V I E W O F 3 1 ,
REMAININTHEMARKETTODAYBUTMOSTHAVEBEENACQUIREDORSIMPLYFADEDAWAY&OREXAMPLE/4ECHNOLOGYMERGEDWITHSEVERALCOMPANIESWASACQUIREDBY)NFORMIXAND)NFORMIXWASLATERACQUIREDBY)"-4OTALANNUALREVENUESFOROBJECTORIENTEDDATABASESAREMEASUREDINTHELOWMILLIONSOFDOLLARSWHILE31,ANDRELATIONALDATABASESYSTEMSTOOLSANDSERVICESPRODUCETENSOFBILLIONSOFDOLLARSOFSALESPERYEAR
!S31,GREWTOADDRESSANEVERWIDERVARIETYOFDATAMANAGEMENTTASKSTHEONESIZEFITSALLAPPROACHOFTHEEARLIER31,PRODUCTSSHOWEDSERIOUSSTRAIN3PECIALIZEDDATABASESYSTEMSSPRANGUPTOSUPPORTDIFFERENTMARKETNEEDS/NEOFTHEFASTESTGROWINGSEGMENTSWASDATAWAREHOUSINGWHEREDATABASESWEREUSEDTOSEARCHTHROUGHHUGEAMOUNTSOFDATATODISCOVERUNDERLYINGTRENDSANDPATTERNS!SECONDMAJORTRENDWASTHEINCORPORATIONOFNEWDATATYPESSUCHASMULTIMEDIADATAANDOBJECTORIENTEDPRINCIPLESINTO31,!THIRDIMPORTANTSEGMENTWASMOBILEDATABASESFORPORTABLEPERSONALCOMPUTERSTHATCOULDOPERATEWHENSOMETIMESCONNECTEDTOANDSOMETIMESDISCONNECTEDFROMACENTRALIZEDDATABASESYSTEM!NOTHERIMPORTANTAPPLICATIONSEGMENTWASEMBEDDEDDATABASESFORUSEWITHININTELLIGENTDEVICESSUCHASNETWORKEQUIPMENT)NMEMORYDATABASESEMERGEDASANOTHERSEGMENTDESIGNEDFORVERYHIGHLEVELSOFPERFORMANCEANDSTREAMORIENTEDDATABASESFOCUSEDONMANAGINGDATAASITFLOWEDOVERANETWORK
$ESPITETHEEMERGENCEOFSUBSEGMENTSOFTHEDATABASEMARKET31,HASREMAINEDACOMMONDENOMINATORACROSSTHEMALL&ORTYYEARSAFTERITFIRSTEMERGED31,HASBROADENEDTREMENDOUSLYAND31,SDOMINANCEASTHEDATABASESTANDARDREMAINSVERYSTRONG.EWCHALLENGESCONTINUETOEMERGETHENEEDTOINCORPORATE8-,ANDITSHIERARCHICALDATAMODELANDTHENEEDTOSUPPORTMASSIVEQUANTITIESOFDATATOSUPPORTDATAMANAGEMENTONTHESCALEOFTHE)NTERNETARETWOOFTHEMOSTRECENT"UTTHEHISTORYOFTHEPASTYEARSINDICATESTHAT31,ANDTHERELATIONALMODELHAVEAPOWERFULABILITYTOEMBRACEANDADAPTTONEWDATAMANAGEMENTNEEDS
31,3TANDARDS/NEOFTHEMOSTIMPORTANTDEVELOPMENTSINTHEMARKETACCEPTANCEOF31,ISTHEEMERGENCEOF31,STANDARDS2EFERENCESTOhTHE31,STANDARDvUSUALLYMEANTHEOFFICIALSTANDARDADOPTEDBYTHE!MERICAN.ATIONAL3TANDARDS)NSTITUTE!.3)ANDTHE)NTERNATIONAL/RGANIZATIONFOR3TANDARDIZATION)3/(OWEVERTHEREAREOTHERIMPORTANT31,STANDARDSINCLUDINGTHEDEFACTOSTANDARDFORSOMEPARTSOFTHE31,THATHAVEBEENDEFINEDBY)"-S$"PRODUCTFAMILYAND/RACLES31,DIALECTWHICHHASADOMINANTINSTALLEDBASEMARKETSHARE
4HE!.3))3/3TANDARDS7ORKONTHEOFFICIAL31,STANDARDBEGANINWHEN!.3)CHARGEDITS8(COMMITTEEWITHDEFININGASTANDARDRELATIONALDATABASELANGUAGE!TFIRSTTHECOMMITTEEDEBATEDTHEMERITSOFVARIOUSPROPOSEDDATABASELANGUAGES(OWEVERAS)"-SCOMMITMENTTO31,INCREASEDAND31,EMERGEDASADEFACTOSTANDARDINTHEMARKETTHECOMMITTEESELECTED31,ASTHEIRRELATIONALDATABASELANGUAGEANDTURNEDTHEIRATTENTIONTOSTANDARDIZINGIT
# H A P T E R 3 1 , I N 0 E R S P E C T I V E
0!24)
4HERESULTING!.3)STANDARDFOR31,WASLARGELYBASEDON$"31,ALTHOUGHITCONTAINEDAFEWMAJORDIFFERENCESFROM$"!FTERSEVERALREVISIONSTHESTANDARDWASOFFICIALLYADOPTEDAS!.3)STANDARD8INANDASAN)3/STANDARDIN4HE!.3))3/STANDARDWASALSOADOPTEDASA&EDERAL)NFORMATION0ROCESSING3TANDARD&)03BYTHE53GOVERNMENT4HISEARLY31,STANDARDSLIGHTLYREVISEDANDEXPANDEDINISUSUALLYCALLEDTHE31,STANDARDOR31,
-ANYOFTHE!.3)AND)3/STANDARDSCOMMITTEEMEMBERSWEREREPRESENTATIVESFROMDATABASEVENDORSWHOHADEXISTING31,PRODUCTSEACHIMPLEMENTINGASLIGHTLYDIFFERENT31,DIALECT,IKEDIALECTSOFHUMANLANGUAGESTHE31,DIALECTSWEREGENERALLYVERYSIMILARTOONEANOTHERBUTWEREINCOMPATIBLEINTHEIRDETAILS)NMANYAREASTHECOMMITTEESIMPLYSIDESTEPPEDTHESEDIFFERENCESBYOMITTINGSOMEPARTSOFTHELANGUAGEFROMTHESTANDARDANDSPECIFYINGOTHERSAShIMPLEMENTERDEFINEDv4HESEDECISIONSALLOWEDEXISTING31,IMPLEMENTATIONSTOCLAIMBROADADHERENCETOTHERESULTING!.3))3/STANDARDBUTMADETHEINITIALSTANDARDRELATIVELYWEAK
4OADDRESSTHEHOLESINTHEORIGINALSTANDARDTHE!.3)COMMITTEECONTINUEDITSWORKANDDRAFTSFORANEWMORERIGOROUSh31,vSTANDARDWERECIRCULATED5NLIKETHESTANDARDTHE31,DRAFTSSPECIFIEDFEATURESCONSIDERABLYBEYONDTHOSEFOUNDINCURRENTCOMMERCIAL31,PRODUCTS%VENMOREFARREACHINGCHANGESWEREPROPOSEDFORAFOLLOWON31,STANDARD)NADDITIONTHEDRAFTSTANDARDSATTEMPTEDTOOFFICIALLYSTANDARDIZEPARTSOFTHE31,WHEREDIFFERENTPROPRIETARYSTANDARDSHADLONGSINCEBEENSETBYTHEVARIOUSMAJOR$"-3BRANDS!SARESULTTHEPROPOSED31,AND31,STANDARDSWEREAGOODDEALMORECONTROVERSIALTHANTHEINITIAL31,STANDARD4HE31,STANDARDWEAVEDITSWAYTHROUGHTHE!.3)APPROVALPROCESSANDWASFINALLYAPPROVEDIN/CTOBER7HILETHEORIGINALSTANDARDHADLESSTHANPAGESTHEREVISEDSTANDARDOFFICIALLYCALLED31,HADNEARLYPAGES
4HESTANDARDSCOMMITTEEACKNOWLEDGEDTHELARGESTEPFROM31,TO31,BYEXPLICITLYCREATINGTHREELEVELSOF31,STANDARDSCOMPLIANCE4HELOWESTCOMPLIANCELEVEL%NTRY,EVELREQUIREDONLYMINIMALADDITIONALCAPABILITYBEYONDTHE31,STANDARD4HEMIDDLEONE)NTERMEDIATE,EVELWASCREATEDASANACHIEVABLEMAJORSTEPBEYOND31,BUTAVOIDEDTHEMOSTCOMPLEXSYSTEMDEPENDENTAND$"-3BRANDDEPENDENTISSUES4HETHIRDCOMPLIANCELEVEL&ULLREQUIREDAFULLIMPLEMENTATIONOFALLAREAS4HROUGHOUTTHEPUBLISHEDSTANDARDEACHDESCRIPTIONOFEACHFEATUREINCLUDESADEFINITIONOFTHESPECIFICASPECTSOFTHATFEATURETHATMUSTBESUPPORTEDTOACHIEVEVARIOUSLEVELSOFCOMPLIANCE4ODAYSPECIALIZEDDATABASESSUCHASTHOSEUSEDINEMBEDDEDAPPLICATIONSORSUPPORTEDBYOPENSOURCEEFFORTSSTILLOFFERLOWERLEVELSOF31,STANDARDCOMPLIANCEINSOMEAREASBUTALLOFTHEMAJORENTERPRISECLASSDATABASESYSTEMSHAVEEVOLVEDTOFULLYSUPPORTTHE31,STANDARD
!FTERTHEADOPTIONOF31,31,STANDARDSWORKTOOKADIFFERENTDIRECTION4HESINGLESTANDARDSCOMMITTEEBROKEUPINTOANUMBEROFDIFFERENTCOMMITTEESFOCUSEDONDIFFERENTEXTENSIONSTOTHELANGUAGE3OMEOFTHESESUCHASSTOREDPROCEDURECAPABILITIESWEREALREADYFOUNDINMANYCOMMERCIAL31,PRODUCTSANDPOSEDTHESAMESTANDARDIZATIONCHALLENGESFACEDBY31,/THERSSUCHASPROPOSEDOBJECTEXTENSIONSTO31,WERENOTYETWIDELYAVAILABLEORFULLYIMPLEMENTEDBUTTHEDATABASEVENDORSWEREUNDERSIGNIFICANTPRESSURETOADDRESSTHEMASOBJECTORIENTEDTECHNOLOGIESAND8-,SURGEDINIMPORTANCE.EWREVISIONSTOTHESTANDARDWEREPRODUCEDINANDAGAININAND4HEREVISIONINCLUDEDSIGNIFICANTEXTENSIONTOTHE8-,PARTSOFTHESTANDARD
0 A R T ) ! N / V E R V I E W O F 3 1 ,
!TTHISWRITINGTHE!.3))3/STANDARDHADBEENEXPANDEDINTODEFINEDh0ARTSv!FEWOFTHEMWEREDROPPEDAFTERSOMEINITIALACTIVITYSOMEWEREMERGEDBACKINTOOTHERPARTSANDSOMECONTINUEASSTANDALONEPARALLELEFFORTSWITHINTHEOVERALLSTANDARD
v 0ARTn31,&RAMEWORKCONTAINSCOMMONDEFINITIONSANDSERVESASAhTABLEOFCONTENTSvFORTHEOTHERPARTS
v 0ARTn31,&OUNDATIONISTHELARGESTPARTANDCARRIESTHEMAINSTREAMDEFINITIONOFTHE31,STATEMENTSTHATDEFINETHESTRUCTUREOFADATABASEANDMANIPULATEDATA)TISTHEDESCENDANTOFTHEEARLY31,AND31,VERSIONSOFTHESTANDARD)THASBEENSIGNIFICANTLYEXTENDEDTOINCLUDE31,STRUCTURESFORBUSINESSANALYTICS
v 0ARTn31,#,)#ALL,EVEL)NTERFACEDESCRIBESTHEPROCEDURALCALLLEVELINTERFACEBETTERKNOWNAS-ICROSOFTS/$"#STANDARD)TDEBUTEDIN
v 0ARTn31,03-0ERSISTENT3TORED-ODULESDESCRIBESPROCEDURALEXTENSIONSTO31,PARALLELINGTHEFEATURESFOUNDINPOPULAR31,PROCEDURALLANGUAGESLIKE/RACLES0,31,
v 0ARTn31,"INDINGSDESCRIBEDHOW31,ISEMBEDDEDINOTHERPROCEDURALLANGUAGES4HISPARTWASMERGEDINTO0ARTn31,&OUNDATIONSINTHE31,VERSIONOFTHESTANDARD
v 0ARTn31,4RANSACTIONWASFOCUSEDONEXTENSIONSTOTHE8!DISTRIBUTEDTRANSACTIONSTANDARDBUTWASDROPPED
v 0ARTn31,4EMPORALWASFOCUSEDONEXTENDING31,TODEALWITHTIMEORIENTEDDATABUTWASDROPPED
v 0ARTn31,/BJECTSHELDTHEOBJECTORIENTEDEXTENSIONSTO31,DURINGTHEDEVELOPMENTOF31,4HESEEXTENSIONSWEREMERGEDBACKINTO0ARTn&OUNDATIONIN31,
v 0ARTn31,-%$-ANAGEMENTOF%XTERNAL$ATAADDSFACILITIESTOALLOW31,TOPROCESSNONRELATIONALDATASOURCESANDAPPEAREDIN31,
v 0ARTn31,/,"/BJECT,ANGUAGE"INDINGSDESCRIBESACCESSTO31,FROM*AVA)TISRELATEDTO*$"#ANDEMBEDDED31,FOR*AVAANDAPPEAREDIN31,
v 0ARTn31,3CHEMATACONTAINSSTANDARDSFORTHEhDATABASECATALOGvORSYSTEMINFORMATIONTABLESTHATSELFDESCRIBEADATABASE4HISSPECIFICATIONWASIN0ARTIN31,BUTWASSEPARATEDOUTINTOITSOWNPARTIN31,
v 0ARTn31,2EPLICATIONWASSTARTEDTODEFINESTANDARDSFORHOWREPLICATIONFROMONE31,DATABASETOANOTHERISSPECIFIEDBUTWASDROPPED
v 0ARTn31,*24*AVA2OUTINESAND4YPESDESCRIBESROUTINESANDTYPESUSEDINTHE*AVALANGUAGETOACCESS31,DATABASESANDFIRSTAPPEAREDIN31,
v 0ARTn31,8-,DESCRIBESHOW%XTENSIBLE-ARKUP,ANGUAGE8-,ISINTEGRATEDINTOTHE31,LANGUAGE)TFIRSTAPPEAREDIN31,ANDHASBEENSIGNIFICANTLYEXPANDEDSINCE
&ROMAFEWHUNDREDPAGESDESCRIBINGTHECOMMONCOREFEATURESOFTHE31,LANGUAGEINTHE!.3))3/31,STANDARDHASTHUSGROWNDRAMATICALLYINCOMPLEXITYSCOPEANDLENGTH4HEhREALv31,STANDARDOFCOURSEISTHE31,IMPLEMENTEDINPRODUCTSTHATARE
# H A P T E R 3 1 , I N 0 E R S P E C T I V E
0!24)
BROADLYACCEPTEDBYTHEMARKETPLACE&ORTHEMOSTPARTPROGRAMMERSANDUSERSTENDTOSTICKWITHTHOSEPARTSOFTHELANGUAGETHATARETHESAMEACROSSABROADRANGEOFPRODUCTS4HEINNOVATIONOFTHEDATABASEVENDORSCONTINUESTODRIVETHEINVENTIONOFMOSTNEW31,EXTENSIONS3OMEOFTHESEFAILTOGAINTRACTIONANDFADEFROMTHELANGUAGEOVERTIME/THERSAREINTRODUCEDANDREMAINYEARSLATERONLYFORBACKWARDCOMPATIBILITYOTHERSFINDCOMMERCIALSUCCESSANDMOVEINTOTHEMAINSTREAMANDEVENTUALLYFINDTHEIRWAYINTOTHEOFFICIALSTANDARD
/THER%ARLY31,3TANDARDS!LTHOUGHITWASTHEMOSTWIDELYRECOGNIZEDTHE!.3))3/STANDARDWASNOTTHEONLYSTANDARDINTHEEARLYDAYSOF31,8/0%.A%UROPEANVENDORGROUPALSOADOPTED31,ASPARTOFITSSUITEOFSTANDARDSFORAPORTABLEAPPLICATIONENVIRONMENTBASEDON5.)84HE8/0%.STANDARDSPLAYEDAMAJORROLEINTHEDEVELOPMENTOFTHE%UROPEANCOMPUTERMARKETWHEREPORTABILITYAMONGCOMPUTERSYSTEMSFROMDIFFERENTVENDORSWASAKEYCONCERN
)"-ALSOINCLUDED31,INTHESPECIFICATIONOFITSBOLDS3YSTEMS!PPLICATION!RCHITECTURE3!!BLUEPRINTPROMISINGTHATALLOFITS31,PRODUCTSWOULDEVENTUALLYMOVETOTHIS3!!31,DIALECT!LTHOUGH3!!FAILEDTOACHIEVEITSPROMISEOFUNIFYINGTHE)"-PRODUCTLINETHEMOMENTUMTOWARDAUNIFIED)"-31,CONTINUED7ITHITSMAINFRAME$"DATABASEASTHEFLAGSHIP)"-INTRODUCED$"IMPLEMENTATIONSFOR/3ITSPERSONALCOMPUTEROPERATINGSYSTEMANDFORITS23LINEOF5.)8BASEDWORKSTATIONSANDSERVERS4HEEXPANSIONOF$"NOTONLYACROSSHARDWARESYSTEMSBUTALSOACROSSMANYDIFFERENTTYPESOFDATAWASEMBODIEDIN)"-SNAMINGONEOFITSLATERIMPLEMENTATIONS$"5NIVERSAL$ATABASEOR5$"
/$"#ANDTHE31,!CCESS'ROUP!NIMPORTANTAREAOFDATABASETECHNOLOGYNOTADDRESSEDBYTHEEARLIEROFFICIALSTANDARDSISDATABASEINTEROPERABILITYTHEMETHODSBYWHICHDATACANBEEXCHANGEDAMONGDIFFERENTDATABASESUSUALLYOVERANETWORK)NAGROUPOFVENDORSFORMEDTHE31,!CCESS'ROUPTOADDRESSTHISPROBLEM4HERESULTING31,!CCESS'ROUPSPECIFICATIONFOR2EMOTE$ATABASE!CCESS2$!WASPUBLISHEDIN5NFORTUNATELYTHE2$!SPECIFICATIONWASCLOSELYTIEDTOTHE/3)NETWORKINGPROTOCOLSWHICHLOSTTHENETWORKINGBATTLETOTHE)NTERNETS4#0)0SUITESO2$!WASNEVERWIDELYIMPLEMENTED
!SECONDSTANDARDFROMTHE31,!CCESS'ROUPHADFARMOREMARKETIMPACT!T-ICROSOFTSURGINGANDINSISTENCETHE31,!CCESS'ROUPEXPANDEDITSFOCUSTOINCLUDEACALLLEVELINTERFACEFOR31,"ASEDONADRAFTFROM-ICROSOFTTHERESULTING#ALL,EVEL)NTERFACE#,)SPECIFICATIONWASPUBLISHEDIN-ICROSOFTSOWN/PEN$ATABASE#ONNECTIVITY/$"#SPECIFICATIONBASEDONTHE#,)STANDARDWASPUBLISHEDTHESAMEYEAR7ITHTHEMARKETPOWEROF-ICROSOFTBEHINDITANDTHEhOPENSTANDARDSvBLESSINGOFTHE31,!CCESS'ROUP/$"#EMERGEDASTHEDEFACTOSTANDARDINTERFACEFOR0#ACCESSTO31,DATABASES!PPLEAND-ICROSOFTANNOUNCEDANAGREEMENTTOSUPPORT/$"#ON-ACINTOSHAND7INDOWSINTHESPRINGOFGIVING/$"#INDUSTRYSTANDARDSTATUSINBOTHPOPULARGRAPHICALUSERINTERFACEENVIRONMENTS/$"#IMPLEMENTATIONSFOR5.)8BASEDSYSTEMSSOONFOLLOWED)NTHE/$"#INTERFACEEFFECTIVELYBECAMEAN!.3))3/STANDARDWITHTHEPUBLICATIONOFTHE31,#ALL,EVEL)NTERFACE#,)STANDARD
/VERTHEPASTDECADE/$"#HASCONTINUEDTOEVOLVEBUTATASLOWERPACE-ICROSOFTSTILLSUPPORTS/$"#BUTHASFOCUSEDMAJOREFFORTINTOBUILDINGHIGHERLEVELMOREOBJECTORIENTED
0 A R T ) ! N / V E R V I E W O F 3 1 ,
INTERFACESFORUNIVERSALDATABASEACCESS(OWEVER/$"#STILLPLAYSAMAJORROLEPROVIDINGPORTABILITYACROSSDATABASESFORMAJORENTERPRISEAPPLICATIONSANDFORDATABASETOOLS)TSQUITECOMMONFORADATABASETOOLORANENTERPRISEAPPLICATIONTOSUPPORTSPECIFIChDRIVERSvTHATOPTIMIZEITFORDIRECTACCESSTO/RACLEAND$"AND31,3ERVERUSINGTHEIRPROPRIETARYCALLLEVELINTERFACES4HEAPPLICATIONWILLTYPICALLYINCLUDEANADDITIONALDRIVERTHATUSES/$"#ASAWAYTOSUPPORTABROADRANGEOFOTHERDATABASES"ECAUSESOMANYAPPLICATIONSANDTOOLSADOPTTHISAPPROACHNEARLYALLDATABASEVENDORSOFFER/$"#ACCESSSOMETIMESASTHEIRPRIMARYCALLLEVELINTERFACEANDSOMETIMESASASUPPLEMENTTOAHIGHERPERFORMANCEPROPRIETARYINTERFACE
*$"#AND!PPLICATION3ERVERS4HEEXPLOSIVEPOPULARITYOFTHE)NTERNETDROVETHEFURTHERDEVELOPMENTOFDATABASEACCESSSTANDARDSTOSUPPORTTHEACCOMPANYINGRISEOFTHEOBJECTORIENTED*AVAPROGRAMMINGLANGUAGE*AVAEVENTUALLYBECAMETHESTANDARDLANGUAGEFORBUILDING)NTERNETDELIVEREDAPPLICATIONSTHATRANON*AVABASEDAPPLICATIONSERVERS3UN-ICROSYSTEMSTHEINVENTOROF*AVALEDTHEEFFORTTOSTANDARDIZETHEUSEOF*AVAFORAPPLICATIONSERVERSTHROUGHTHE*AVA%NTERPRISE%DITION*%%SPECIFICATION*%%INCLUDED*AVA$ATABASE#ONNECTIVITY*$"#ASITSSTANDARDFOR*AVAACCESSTORELATIONALDATABASES5NLIKEDATABASEACCESSFORTHE#PROGRAMMINGLANGUAGEWHEREPROPRIETARYCALLLANGUAGEINT