ca idms™ 19.0 sql enhancements for modernization

43
World ® ’1 6 CA IDMS™ Version 19.0 SQL Enhancements for Modernization Dave Ross, Senior Principal Product Owner CA Technologies MFX103S MAINFRAME AND WORKLOAD AUTOMATION

Upload: ca-technologies

Post on 10-Jan-2017

48 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: CA IDMS™ 19.0 SQL Enhancements for Modernization

World®’16

CAIDMS™Version19.0SQLEnhancementsforModernizationDaveRoss,SeniorPrincipalProductOwnerCATechnologies

MFX103S

MAINFRAMEANDWORKLOADAUTOMATION

Page 2: CA IDMS™ 19.0 SQL Enhancements for Modernization

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

Page 3: CA IDMS™ 19.0 SQL Enhancements for Modernization

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

CustomersneedtoleveragetheirinvestmentinCAIDMS™tocreatenewapplicationsbasedonservicesintheapplicationeconomy,andtheyneedtodothiswithcurrenttechnologiesanddeveloperskillsets. ThissessionshowshowSQLenhancementsinCAIDMS19.0improvestandardscompliance,developerproductivity,andcompatibilitywiththirdpartytoolsandapplications. TheSQLvirtualforeignkeyfeatureenablesdeveloperstousestandardSQLtoaccessandupdatenetworkdatabaseswithouttheneedtousenetworkDMLortableprocedures. EnhancementstoSQLDDLenableuserstodefinedatabasesusingstandardDDLcompatiblewithotherdatabases.

DavidRoss

CATechnologiesSr.PrincipalProductOwner,CAIDMS

Page 4: CA IDMS™ 19.0 SQL Enhancements for Modernization

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

SQLVIRTUALFOREIGNKEYS

ISOSTANDARDSQLCONSTRAINTDDL

1

2

Page 5: CA IDMS™ 19.0 SQL Enhancements for Modernization

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAIDMSSQLRelationaltoNetworkMapping

••IdenticallynamedTable

••EquivalentRow

••AutomaticallyrenamedColumn

••PartialmappingReferentialconstraint

••ViaSCHEMARecorddefinition

••EquivalentRecordoccurrence

••ExceptODO,redefines,…Element

••LackofforeignkeysSet

SQL Network

Page 6: CA IDMS™ 19.0 SQL Enhancements for Modernization

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RelationaltoNetworkMappingTechniques

Syntaxextensions

Views

Procedures••Tableprocedures••Calledprocedures

Foreignkeys••Referentialsets

Page 7: CA IDMS™ 19.0 SQL Enhancements for Modernization

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ComparisonofMappingTechniques

SQLExtensions No No No No Limited

Views Yes No No No Limited

TableProcedures Yes Yes No No Encapsulate

ReferentialSets Yes No Yes Maybe Referentialconstraints

StandardSQL Newprograms ExposesSetsApplicationchanges

Restructure

Page 8: CA IDMS™ 19.0 SQL Enhancements for Modernization

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualForeignKeys

ExposeSetsasReferentialConstraints••Queries••Updates

BasedonROWID••Virtualprimarykey=ROWID••Virtualforeignkey=FKEY_<set_name>

DefineonSQLSchemadefinition

VisiblethroughJDBCandODBCmetadata

Enableaccessforcommontoolsandapplicationframeworks

UseSQLtoaccessandmaintainnetworkdatabasesfromJava

Page 9: CA IDMS™ 19.0 SQL Enhancements for Modernization

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualForeignKeyBenefits

§ UsestandardSQLtoaccessandupdateCAIDMS– RemovesINSERTandUPDATElimitations– CapabilitieslikenetworkDML– WriteapplicationsusingJava,.NET,andpopularframeworks– NospecialCAIDMSSQLsyntax

§ Easytoimplement– Nodatabasechanges– Nochangestonetworkdefinitions– Noneedfortableprocedures

Page 10: CA IDMS™ 19.0 SQL Enhancements for Modernization

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualPrimaryKey

§ PseudocolumnROWID– Uniquelyidentifiesarow– Availableforeverytable– Notnullable

§ DatatypeROWID– Length8bytes– ContainsDBKEYandPageInfo– Valuenotpersistentandthusnotatrueprimarykey– Relationaloperatorsupportextended(<,>,<=,>=)

Page 11: CA IDMS™ 19.0 SQL Enhancements for Modernization

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualForeignKey

§ PseudocolumnFKEY_setname– “setname”istheSQLtransformednameofset– ValueisROWIDofownerofset-nameorNULLifnomembership– Availableforeverysetinwhichrecordismember– Alwaysappearsnullable,butcannotsettoNULLforMAsets

§ DatatypeROWID– Mustbe8bytes– containsDBKEYandPageInfoofsetowner

Page 12: CA IDMS™ 19.0 SQL Enhancements for Modernization

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualForeignKeys

§ VirtualforeignkeyscanbereferencedinSQLstatementslikeauser-definedcolumn

§ Includedinlistof“all”columns(SELECT*)

§ IncludedinINSERTandUPDATEdefaultcolumnlist– Whencolumnlistisexcluded– Columnorder:

§ Userdefinedcolumns§ ROWID§ Virtualforeignkeysinalphabeticalorder

Page 13: CA IDMS™ 19.0 SQL Enhancements for Modernization

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

EnablingVirtualForeignKeys

§ “Create”virtualkeyswithSQLschemadefinitioncreateschemaEMPSCHM

fornonsql schemaEMPDICT.EMPSCHMversion100withvirtualkeys

§ ROWIDandvirtualforeignkeysbecomevisible– SELECT*– INSERTcolumnlistwhenlistisomitted– UPDATEcolumnlistwhenlistisomitted

§ “Remove”virtualkeysalterschemaEMPSCHMwithoutvirtualkeys

Page 14: CA IDMS™ 19.0 SQL Enhancements for Modernization

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

EMPSCHMWithVirtualForeignKeys

DEPT-EMPLOYEE EMP-EXPERTISE

DEPT-ID-0410

DEPARTMENT

ORG-DEMO-REGION

410 F 120 CALC

FKEY_EMP_EXPERTISEFKEY_DEPT_EMPLOYEE

EMP-ID-0415

EMPLOYEE

EMP-DEMO-REGION

415 F 120 CALCEMP-EXPERTISE

EXPERTISE

EMP-DEMO-REGION

400 F 16 VIA

ROWID ROWID ROWID

Page 15: CA IDMS™ 19.0 SQL Enhancements for Modernization

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SELECTExamples

§ ObtainDEPARTMENTdataofanEMPLOYEEselect*fromDEPARTMENTwhereROWID=(selectFKEY_DEPT_EMPLOYEEfromEMPLOYEEwhere EMP_ID=1001)

§ JoinDEPARTMENTandEMPLOYEEselectd.*,e.*fromDEPARTMENTd,EMPLOYEEewhered.ROWID =e.FKEY_DEPT_EMPLOYEE

Page 16: CA IDMS™ 19.0 SQL Enhancements for Modernization

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MoreSELECTExamples

§ SelectallEXPERTISErecordsforanEMPLOYEEselect*fromEXPERTISEwhereFKEY_EMP_EXPERTISE=

(selectROWIDfromEMPLOYEEwhereEMP_ID=1001)

§ ShowallDEPARTMENTsincludingthosewithoutEMPLOYEEsselectd.*,e.*fromDEPARTMENTdleftjoinEMPLOYEEeond.ROWID =e.FKEY_DEPT_EMPLOYEE

Page 17: CA IDMS™ 19.0 SQL Enhancements for Modernization

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

INSERTUsingVirtualKeys

§ Usetoestablishsetmembership– SetvirtualforeignkeycolumntoownerROWIDorNULL– Setmembershipoptionsdefineintegrityconstraints– MAsetdisallowsNULLvaluedvirtualforeignkey

§ UseROWIDtosuggestDBKEYforaDIRECTrecord– Defaultsto-1onSTORE(firstavailableDBKEYinpagerangeused)– IgnoredifrecordlocationmodeisnotDIRECT

Page 18: CA IDMS™ 19.0 SQL Enhancements for Modernization

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

INSERTUsingVirtualKeys

§ Useofscalar-query-expressioninVALUESclause– NewR19.0featureforINSERTstatementsforallSQLschemas– Withvirtualkeys,allowsINSERTtocontainqueriesthatretrievethe

virtualforeignkeyvaluestobesetintheinsertedrow

§ Supportforvirtualkeysinquery-specification– AlternativetoVALUESclauseonINSERT– QueryresultmusthavesamenumberofcolumnsasnamedinINSERT

statement– Ifnocolumnsnamed,numberofcolumnsmustmatchthetotal

numberofcolumns,includingROWIDandallVFKs

Page 19: CA IDMS™ 19.0 SQL Enhancements for Modernization

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

INSERTExamplesVALUESClauseWithColumnList

insertintoEMPLOYEE(EMP_ID,EMP_FNAME,EMP_LNAME,FKEY_DEPT_EMPLOYEE,FKEY_OFFICE_EMPLOYEE)

values(976,’SEBASTIAN’,’VOLLMER’,(selectROWIDfromDEPARTMENTwhereDEPT_ID=9003),(selectROWIDfromOFFICEwhereOFFICE_CODE='002'))

Page 20: CA IDMS™ 19.0 SQL Enhancements for Modernization

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

INSERTExamplesVALUESClauseWithoutColumnList

insertintoEMPLOYEEvalues

(976,’SEBASTIAN’,’VOLLMER’,NULL,(selectROWIDfromDEPARTMENTwhereDEPT_ID=9003),(selectROWIDfromOFFICEwhereOFFICE_CODE='002'))

§ EMPLOYEEcolumnsareEMP_ID,EMP_FNAME,EMP_LNAME,ROWID,FKEY_DEPT_EMPLOYEE,FKEY_OFFICE_EMPLOYEE

Page 21: CA IDMS™ 19.0 SQL Enhancements for Modernization

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

INSERTExamplesSpecifyingVirtualKeysUsingQuery-specification

insertintoEMPOSITION(START_YEAR,FKEY_EMP_EMPOSITION,FKEY_JOB_EMPOSITION)

select2015,E.ROWID,J.ROWIDfromEMPLOYEEE,JOBJwhereE.EMP_ID=23andJ.JOB_ID=2025

Page 22: CA IDMS™ 19.0 SQL Enhancements for Modernization

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UPDATE

§ VirtualForeignKeyscanbespecifiedinSETclause

§ EquivalenttoCONNECT/DISCONNECTDMLverbs

§ Allowedforsetswithmembershipoptions– OPTIONAL(OA/OM)– MANDATORYMANUAL(MM)whenrecordnotyetconnectedtoset

§ SETFKEY_setnamevaluesallowed– NULL– ROWIDofowneroccurrenceofsetname– ROWIDofmemberoccurrenceofsetname

Page 23: CA IDMS™ 19.0 SQL Enhancements for Modernization

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UPDATEExamples

§ DisconnectingtheEMPLOYEEfromtheDEPT-EMPLsetupdateEMPLOYEEsetFKEY_DEPT_EMPL=NULL

whereEMP_ID=23

§ EMPLOYEEconnectedtoDEPARTMENT4000updateEMPLOYEEsetFKEY_DEPT_EMPL=

(selectROWIDfromDEPARTMENTwhereDEPT_ID=4000)whereEMP_ID=23

Page 24: CA IDMS™ 19.0 SQL Enhancements for Modernization

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DELETE

§ Usevirtualkeycolumnsthesameasuser-definedcolumns

deletefromEMPLOYEEwhereFKEY_DEPT_EMPL=

(selectROWIDfromDEPARTMENTwhereDEPT_NAME=‘Sales’)

Page 25: CA IDMS™ 19.0 SQL Enhancements for Modernization

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DiscoveringVirtualKeys

§ JDBCandODBCmetadataAPIsexposevirtualkeys

§ java.sql.DatabaseMetaData interfacemethods– getPrimaryKeys– getExportedKeys– getImportedKeys– getCrossReference

§ ODBCAPIfunctions– SQLPrimaryKeys– SQLForeignKeys

Page 26: CA IDMS™ 19.0 SQL Enhancements for Modernization

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DiscoveringNetworkRelationships

Page 27: CA IDMS™ 19.0 SQL Enhancements for Modernization

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

VirtualKeysComparedtoOtherMappingTechniques

SQLExtensions No No No No Limited

Views Yes No No No Limited

TableProcedures Yes Yes No No Encapsulate

ReferentialSets Yes No Yes Maybe Referentialconstraints

VirtualKeys Yes No No No Referentialconstraints

StandardSQL Newprograms ExposesSetsApplicationchanges

Restructure

Page 28: CA IDMS™ 19.0 SQL Enhancements for Modernization

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SQLDDLEnhancements

§ ISOStandardConstraintDefinitionDDL– CREATETABLE– ALTERTABLE– Uniqueconstraints– PrimaryKeyconstraints– Referentialconstraints

§ Improvesintegrationwithframeworksandtools

§ DISPLAYTABLE

Page 29: CA IDMS™ 19.0 SQL Enhancements for Modernization

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DefiningUNIQUEConstraints

§ Auniqueconstraintisspecifiedbycoding– UNIQUEonacolumndefinition– UNIQUE(<column-names>)inthecolumnlist

§ Aconstraintmaybenamed– CONSTRAINT<name>– Precedestheconstraintdefinition– Nameisgeneratedifnotnamed

§ Morethanoneuniqueconstraintmaybedefined

Page 30: CA IDMS™ 19.0 SQL Enhancements for Modernization

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UNIQUEConstraintExample

createtableABC.TABLE1(COL1CHAR(8)unique,COL2CHAR(8),constraintCON1unique(COL2,COL1))

Page 31: CA IDMS™ 19.0 SQL Enhancements for Modernization

31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DefiningPrimaryKeyConstraints

§ APrimaryKeyconstraintisspecifiedbycoding– PRIMARYKEYonacolumndefinition– PRIMARYKEY(<column-names>)inthecolumnlist

§ Aconstraintmaybenamed– CONSTRAINT<name>– Precedestheconstraintdefinition– Nameisgeneratedifnotnamed

§ ONEPrimaryKeyconstraintpertable

Page 32: CA IDMS™ 19.0 SQL Enhancements for Modernization

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

PrimaryKeyConstraintExamples

createtableABC.TABLEX(COL1char(8)notnullprimarykey,COL2char(8)notnull,COL3char(8)notnull)

createtableABC.TABLEY(COL1char(8)notnull,COL2char(8)notnull,COL3char(8)notnull,primarykey(COL2,COL3))

Page 33: CA IDMS™ 19.0 SQL Enhancements for Modernization

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

GeneratedEnforcingIndex

§ Enforcesuniqueandprimarykeyconstraints

§ CreatedbyCREATETABLEandALTERTABLE– Suppressescreationofdefaultindex– Usesdefaultvaluesforindexattributes– CannotbealteredtobeNOTUNIQUE– CannotbedroppedwithDROPINDEXunlessreplacementdefined

§ GeneratedIndexnames– IDX###############– ###isa15digitnumberuniqueintheschema

Page 34: CA IDMS™ 19.0 SQL Enhancements for Modernization

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReplacingaGeneratedEnforcingIndex

§ UseCREATEUNIQUEINDEX

§ Columnsmustmatchenforcingindex

§ Inheritsenforcingindexattribute

§ Whenprimarykeyindexdropped– Areplacementinheritstheprimarykeyattribute

§ Generatedindexesdroppedautomatically

§ Non-generatedindexesmustbemanuallydropped

Page 35: CA IDMS™ 19.0 SQL Enhancements for Modernization

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DefiningReferentialConstraints

§ Areferentialconstraintisspecifiedbycoding– REFERENCESclauseonacolumndefinition– FOREIGNKEYclauseinthecolumnlist

§ Aconstraintmaybenamed– CONSTRAINTname– Precedestheconstraintdefinition– Ifnotnamed,anameisgenerated

§ GEN###############

§ Morethanonereferentialconstraintmaybedefined

Page 36: CA IDMS™ 19.0 SQL Enhancements for Modernization

36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReferentialConstraintsExample

createtableABC.TABLEX(COL1char(8),COL2char(8),foreignkey(COL1,COL2)referencesTABLEP,COL3char(8)notnull

constraintCON1referencesTABLEP(COL5))

Page 37: CA IDMS™ 19.0 SQL Enhancements for Modernization

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DiscoveringConstraints

§ java.sql.DatabaseMetaData interfacemethods– getIndexInfo– getPrimaryKeys– getExportedKeys– getImportedKeys– getCrossReference

§ ODBCAPIfunctions– SQLStatistics– SQLPrimaryKeys– SQLForeignKeys

Page 38: CA IDMS™ 19.0 SQL Enhancements for Modernization

38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

StandardSQLDDLSQLDDLenhancementsenableCAIDMStosupportdatabasedefinitionsprovidedbypopulartoolsandframeworks

CAIDMS19.0CAIDMS19.0enablesJavaandWindowsdeveloperstouseindustrystandardtechnologytocreate,access,andmaintainCAIDMSdatabases

SQLVirtualKeysSQLVirtualForeignKeysenabledeveloperstousestandardSQLtoaccessandupdatenetworkdatabases

SummaryAFewWordstoReview

Page 39: CA IDMS™ 19.0 SQL Enhancements for Modernization

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessionsSESSION# TITLE DATE/TIME

MFX100S StrategyandVisionforCAIDMS 11/16/2016at12:45pm

MFX101S LegacyisnotaDirtyWord 11/16/2016at1:45pm

MFX102S CAIDMS19.0WebServicesforModernization 11/16/2016at3:00pm

MFX103S CAIDMS19.0SQLEnhancementsforModernization 11/16/2016at3:30pm

MFX104S JavaAccesstoCA-IDMSDataatBT(BritishTelecom) 11/16/2016at4:45pm

MFX105SImplementationandUseofGenericVTAMResourceswithParallelSYSPLEXFeatures(CA andCAXIA)

11/17/2016at12:45pm

MFX106S CAIDMSBufferTuning 11/17/2016at1:45pm

MFX107S M3AServicesMonitor,Measure,ManageandAlert 11/17/2016at3:00pm

MFX108S BirdsofaFeather/StumptheTechie! 11/17/2016at3:45pm

Page 40: CA IDMS™ 19.0 SQL Enhancements for Modernization

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

DemoNameProductXTheater#location

DemoNameServicesYTheater#location

DemoNameSolutionYTheater#location

DemoNameProductXTheater#location

Page 41: CA IDMS™ 19.0 SQL Enhancements for Modernization

41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

Page 42: CA IDMS™ 19.0 SQL Enhancements for Modernization

42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

Page 43: CA IDMS™ 19.0 SQL Enhancements for Modernization

@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.43 @CAWORLD#CAWORLD

MainframeandWorkloadAutomation

FormoreinformationonMainframeandWorkloadAutomation,pleasevisit:http://cainc.to/9GQ2JI