VAX Rdb/VMS Guide to Using RDO, RDBPRE, and RDML

Total Page:16

File Type:pdf, Size:1020Kb

VAX Rdb/VMS Guide to Using RDO, RDBPRE, and RDML AA–N038F–TE VAX Rdb/VMS Guide to Using RDO, RDBPRE, and RDML December 1990 This manual provides information about data manipulation and programming with relational databases using the following VAX Rdb/VMS interfaces: interactive RDO, Callable RDO, and the RDBPRE and RDML preprocessors. Revision/Update Information: This manual is a revision and supersedes previous versions. Operating System: VMS Software Version: VAX Rdb/VMS Version 4.0 digital equipment corporation maynard, massachusetts The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. Any software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software or equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Restricted Rights: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. © Digital Equipment Corporation 1989,1990. All rights reserved. Printed in U.S.A. The Reader’s Comments forms at the end of this document request your critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: ALL–IN–1, CDD/Plus, DEC, DEC/CMS, DECdecision, DECdtm, DECforms, DECintact, DEC/MMS, DECnet, DECtp, DECtrace, DECwindows, MicroVAX, ULTRIX, UNIBUS, VAX, VAX ACMS, VAX Ada, VAX BASIC, VAX C, VAX CDD, VAXcluster, VAX COBOL, VAX DATATRIEVE, VAX DBMS, VAXELN, VAX FMS, VAX FORTRAN, VAX Pascal, VAX RALLY, VAX Rdb/ELN, VAX Rdb/VMS, VAX RMS, VAX SPM, VAXstation, VAX TEAMDATA, VIDA, VMS, VT, and the DIGITAL Logo. MS-DOS is a registered trademark of Microsoft Corporation. OS/2 is a trademark of International Business Machine Corporation. This document is available in printed and online versions. This document was prepared using VAX DOCUMENT, Version 1.2. Contents Preface ..................................................... xxv Technical Changes and New Features ................... xxxi 1 Introduction to VAX Rdb/VMS Data Manipulation 1.1 What Is a Relational Database? ........................... 1–2 1.1.1 Single-File and Multifile Databases . .................... 1–3 1.1.2 Using Normalization to Eliminate Data Redundancy . .... 1–3 1.2 Using RDO ........................................... 1–4 1.2.1 Beginning an RDO Session ........................... 1–5 1.2.2 Getting Online Help in RDO .......................... 1–6 1.2.3 Using Record Selection Expressions . .................... 1–6 1.2.4 Using Multiline Statements in RDO .................... 1–7 1.2.5 Exiting from RDO .................................. 1–8 1.3 Using the Sample Database . ............................. 1–8 1.3.1 Creating the Sample Database ......................... 1–9 1.4 Using Rdb/VMS Statements in Programs ................... 1–11 1.5 Internationalization Support ............................. 1–14 1.5.1 Controlling Input and Display Format ................... 1–14 1.5.2 Specifying Collating Sequence ......................... 1–14 iii 2 Accessing a Database and Using Transactions 2.1 Invoking a Database ................................... 2–1 2.1.1 Accessing the Database by File Name ................... 2–2 2.1.2 Accessing the Database by Dictionary Path Name .......... 2–2 2.1.3 Accessing the Database from a Remote Node . ............ 2–3 2.1.4 Accessing Data ..................................... 2–3 2.2 Using Transactions .................................... 2–4 2.3 Specifying the Transaction Mode .......................... 2–6 2.3.1 Read-Only Transactions . ............................. 2–7 2.3.2 Read/Write Transactions ............................. 2–8 2.3.3 Batch-Update Transactions ........................... 2–9 2.3.4 Reserving Options .................................. 2–11 2.3.4.1 Auto-Locking ................................... 2–13 2.3.4.2 Shared Read Reserving Option . .................... 2–15 2.3.4.3 Shared Write Reserving Option . .................... 2–15 2.3.4.4 Protected Read Reserving Option .................... 2–15 2.3.4.5 Protected Write Reserving Option ................... 2–16 2.3.4.6 Exclusive Read Reserving Option .................... 2–16 2.3.4.7 Exclusive Write Reserving Option ................... 2–16 2.3.5 Locking and Lock Conflict Resolution ................... 2–17 2.3.6 Other START_TRANSACTION Options .................. 2–19 2.3.6.1 Evaluating Constraints at Verb Time ................. 2–19 2.3.6.2 Evaluating Constraints at Commit Time . ............ 2–20 2.3.6.3 Wait and Nowait Options .......................... 2–21 2.3.6.4 Consistency and Concurrency Options ................ 2–23 2.3.7 Indexes ........................................... 2–23 2.3.8 Transaction Scope .................................. 2–24 2.3.9 Ending a Transaction . ............................. 2–25 2.4 The Query Optimizer ................................... 2–28 2.5 Sample Interactive Session Using the START_TRANSACTION Statement ........................................... 2–30 3 Using Record Selection Expressions 3.1 Forming Streams of Records ............................. 3–1 3.2 Retrieving All the Records in a Relation .................... 3–2 3.3 Displaying Records in Sorted Order ........................ 3–4 3.3.1 Indicating Ascending or Descending Sort Order ............ 3–5 3.3.2 Using Value Expressions as Sort Keys ................... 3–6 3.4 Restricting the Number of Records: The FIRST Clause ......... 3–7 3.5 Specifying Conditions to Retrieve Records: Relational and Logical Operators ............................................ 3–7 3.5.1 Retrieving Records That Satisfy a Single Condition ......... 3–10 iv 3.5.2 Specifying Compound Conditions for Records . ............ 3–11 3.5.2.1 Retrieving Records That Satisfy Two or More Conditions: AND Operator .................................. 3–11 3.5.2.2 Retrieving Records That Satisfy One of Several Conditions: OR Operator ................................... 3–12 3.5.2.3 Retrieving Records That Do Not Satisfy a Condition: NOT Operator . ..................................... 3–13 3.5.2.4 Using the ANY and NOT ANY Operators . ............ 3–14 3.5.3 Retrieving Records That Match a Substring or Pattern . .... 3–15 3.5.4 Using Limited Matching: STARTING WITH and CONTAINING Operators ............................. 3–17 3.6 Eliminating Duplicate Values: REDUCED TO Clause .......... 3–18 3.7 Testing for a Single Record Occurrence: UNIQUE Operator . .... 3–20 3.8 Retrieving Segmented Strings ............................ 3–21 4 Retrieving Records and Joining Relations 4.1 Joining Relations Using the CROSS Clause .................. 4–1 4.1.1 Joining Records from Two Relations .................... 4–2 4.1.1.1 One-to-One and One-to-Many Joins .................. 4–4 4.1.1.2 Many-to-Many Joins ............................. 4–5 4.1.2 Joining Records from More Than Two Relations ........... 4–6 4.1.3 Joining One Relation on Itself ......................... 4–7 4.2 Using Nested FOR Loops . ............................. 4–9 5 Defining and Using Views 5.1 Creating the View Definition ............................. 5–2 5.2 Joining Relations in a View Definition . .................... 5–4 6 Storing, Modifying, and Erasing Data 6.1 Storing Data in an Rdb/VMS Database . .................... 6–1 6.1.1 Storing Values in One Relation ........................ 6–2 6.1.2 Storing Values in Multiple Relations .................... 6–2 6.2 Modifying Data . ..................................... 6–4 6.2.1 Changing Data in a Single Relation . .................... 6–4 6.2.2 Changing Data in Multiple Relations .................... 6–6 6.3 Erasing Data Records in a Relation ........................ 6–7 6.4 Updating by Selecting Data from the Record Stream ........... 6–8 6.5 Using Missing Values ................................... 6–12 v 6.5.1 Retrieving Records with a Missing Field Value ............ 6–12 6.5.1.1 Using Nested FOR Loops, Outer Joins, and the MISSING Clause . ..................................... 6–14 6.5.2 Storing Missing Values . ............................. 6–15 6.5.3 Missing Value Contrasted with SQL Default Value ......... 6–15 6.6 Referential Integrity and Triggers ......................... 6–16 6.6.1 Using Constraints to Enforce Referential Integrity ......... 6–16 6.6.2 Using Triggers ..................................... 6–17 6.7 Summary ............................................ 6–19 7 Introduction to Rdb/VMS Programming 7.1 The Programming Interfaces ............................. 7–1 7.2 Designing a Prototype Using RDO ......................... 7–3 7.3 Developing Your Queries with an Interactive Interface ......... 7–3 7.3.1 Using the RDO SHOW Statements . .................... 7–4 7.3.2 Determining Which Relations and Views to Use ........... 7–5 7.3.3 Determining Data Types of Database Fields . ............ 7–6 7.3.3.1 Determining Data Validation Checks Defined for the Database . ..................................... 7–7 7.3.3.2 Using the RDO SET OUTPUT Statement . ............ 7–8 7.3.3.3 Statement Testing in RDO ......................... 7–9 8 Data Type Compatibility 8.1 Rdb/VMS Data Types ................................... 8–2 8.2 The Segmented String Data Type ........................
Recommended publications
  • Developing Multiuser and Enterprise Applications
    26_0672329328_ch22.qxd 5/3/07 3:28 PM Page 909 CHAPTER 22 IN THIS CHAPTER . Why This Chapter Is Important Developing Multiuser . Designing Your Application with Multiuser Issues in Mind and Enterprise . Understanding Access’s Applications Locking Mechanisms . Understanding the Client/Server Model . Deciding Whether to Use the Client/Server Model Why This Chapter Is Important . Understanding the Roles That Many people forge right into the application development Access Plays in the Application process with little worry about the scalability of the appli- Design Model cation. Even a simple application that begins as a single- . Learning the Client/Server user application can develop into a multiuser or Buzzwords enterprise-wide application. Unfortunately, the techniques . Upsizing: What to Worry About you can get away with in the single-user application can wreak havoc in a network or client/server environment. It . Proactively Preparing for is therefore necessary to think about the future when you Upsizing design any application. Although the initial development . Using Transaction Processing process might be more complex, if written properly, the . application will survive any growth that it experiences. Practical Examples: Getting Your Application Ready for an This chapter focuses on writing applications that transition Enterprise Environment easily from the single-user environment through the enter- prise client/server environment. Designing Your Application with Multiuser Issues in Mind When you develop applications that multiple users will access over the network, you must make sure they effec- tively handle sharing data and other application objects. Many options are available for developers when they design multiuser applications, and this chapter covers the pros and cons of these options.
    [Show full text]
  • Databases and SQL
    Introduction to Computer Science Databases Databases and SQL Table of Contents Useful resources...................................................1 Queries using WHERE................................14 Flat files................................................................1 LIKE............................................................14 Relational databases.............................................2 GROUP BY.................................................15 Database servers...................................................3 DROP...........................................................15 Database systems architecture..............................4 ORDER BY.................................................15 Normalisation.......................................................5 UPDATE fields values.................................16 Users, groups and permissions.............................7 JOIN tables..................................................17 Views....................................................................7 DELETE rows.............................................17 Schema and data dictionary..................................7 Nested queries..................................................18 Advantages of database use..................................8 Referential integrity..........................................18 SQL......................................................................8 DDL and DML.................................................19 SQL Tutorial.........................................................9
    [Show full text]
  • Spatial Database Systems Lecture 1 Ft Okyere Differences Between a Database Management System and a File-Processing System
    SPATIAL DATABASE SYSTEMS LECTURE 1 FT OKYERE DIFFERENCES BETWEEN A DATABASE MANAGEMENT SYSTEM AND A FILE-PROCESSING SYSTEM 1. BOTH SYSTEMS CONTAIN A COLLECTION OF DATA AND A SET OF PROGRAMS WHICH ACCESS THAT DATA. A DATABASE MANAGEMENT SYSTEM COORDINATES BOTH THE PHYSICAL AND THE LOGICAL ACCESS TO THE DATA, WHEREAS A FILE- PROCESSING SYSTEM COORDINATES ONLY THE PHYSICAL ACCESS. 2. A DATABASE MANAGEMENT SYSTEM REDUCES THE AMOUNT OF DATA DUPLICATION BY ENSURING THAT A PHYSICAL PIECE OF DATA IS AVAILABLE TO ALL PROGRAMS AUTHORIZED TO HAVE ACCESS TO IT, WHEREAS DATA WRITTEN BY ONE PROGRAM IN A FILE-PROCESSING SYSTEM MAY NOT BE READABLE BY ANOTHER PROGRAM. 3. A DATABASE MANAGEMENT SYSTEM IS DESIGNED TO ALLOW FLEXIBLE ACCESS TO DATA (I.E., QUERIES), WHEREAS A FILE- PROCESSING SYSTEM IS DESIGNED TO ALLOW PREDETERMINED ACCESS TO DATA (I.E., COMPILED PROGRAMS). 4. A DATABASE MANAGEMENT SYSTEM IS DESIGNED TO COORDINATE MULTIPLE USERS ACCESSING THE SAME DATA AT THE SAME TIME. A FILE-PROCESSING SYSTEM IS USUALLY DESIGNED TO ALLOW ONE OR MORE PROGRAMS TO ACCESS DIFFERENT DATA FILES AT THE SAME TIME. IN A FILE-PROCESSING SYSTEM, A FILE CAN BE ACCESSED BY TWO PROGRAMS CONCURRENTLY ONLY IF BOTH PROGRAMS HAVE READ-ONLY ACCESS TO THE FILE FILE LOCKING • FILE LOCKING IS A MECHANISM THAT RESTRICTS ACCESS TO A COMPUTER FILE BY ALLOWING ONLY ONE USER OR PROCESS ACCESS AT ANY SPECIFIC TIME. • A RACE CONDITION IS AN UNDESIRABLE SITUATION THAT OCCURS WHEN A DEVICE OR SYSTEM ATTEMPTS TO PERFORM TWO OR MORE OPERATIONS AT THE SAME TIME, BUT BECAUSE OF THE NATURE OF THE DEVICE OR SYSTEM, THE OPERATIONS MUST BE DONE IN THE PROPER SEQUENCE TO BE DONE CORRECTLY.
    [Show full text]
  • VSI COBOL for Openvms DBMS Database Programming Manual
    VSI OpenVMS VSI COBOL for OpenVMS DBMS Database Programming Manual Document Number: DO-DCOBPG-01A Publication Date: May 2020 This manual explains how to develop Oracle DBMS database programs with VSI COBOL on the OpenVMS Alpha, OpenVMS I64, and the OpenVMS VAX operating systems. Revision Update Information: This is a new manual. Operating System and Version: VSI OpenVMS I64 Version 8.4-1H1 VSI OpenVMS Alpha Version 8.4-2L1 Software Version: VSI COBOL Version 3.1-7 for OpenVMS VMS Software, Inc., (VSI) Bolton, Massachusetts, USA VSI COBOL for OpenVMS DBMS Database Programming Manual Copyright © 2020 VMS Software, Inc. (VSI), Bolton, Massachusetts, USA Legal Notice Confidential computer software. Valid license from VSI required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for VSI products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. VSI shall not be liable for technical or editorial errors or omissions contained herein. HPE, HPE Integrity, HPE Alpha, and HPE Proliant are trademarks or registered trademarks of Hewlett Packard Enterprise. Intel, Itanium and IA64 are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Oracle is a registered trademark of Oracle and/or its affiliates. UNIX is a registered trademark of The Open Group.
    [Show full text]
  • Progress Database Administration Guide and Reference © 2002 Progress Software Corporation
    Progress Database Administration Guide and Reference © 2002 Progress Software Corporation. All rights reserved. Progress® software products are copyrighted and all rights are reserved by Progress Software Corporation. This manual is also copyrighted and all rights are reserved. This manual may not, in whole or in part, be copied, photocopied, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from Progress Software Corporation. The information in this manual is subject to change without notice, and Progress Software Corporation assumes no responsibility for any errors that may appear in this document. The references in this manual to specific platforms supported are subject to change. Progress, Powered by Progress, Progress Fast Track, Progress Profiles, Partners in Progress, Partners en Progress, Progress en Partners, Progress in Progress, P.I.P., Progress Results, ProVision, ProCare, ProtoSpeed, SmartBeans, SpeedScript, and WebSpeed are registered trademarks of Progress Software Corporation in the U.S. and other countries. A Data Center of Your Very Own, Allegrix, Apptivity, AppsAlive, AppServer, ASPen, ASP-in-a-Box, Empowerment Center, Fathom, Future Proof, IntelliStream, OpenEdge, PeerDirect, POSSE, POSSENET, Progress Dynamics, Progress Software Developers Network, SectorAlliance, SmartObjects and WebClient are trademarks or service marks of Progress Software Corporation in the U.S. and other countries. SonicMQ is a registered trademark of Sonic Software Corporation in the U.S. and other countries. Vermont Views is a registered trademark of Vermont Creative Software in the U.S. and other countries. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S.
    [Show full text]
  • VSI COBOL DBMS Database Programming Manual
    VSI OpenVMS VSI COBOL DBMS Database Programming Manual Document Number: XX-XXXXXX-XXX Publication Date: month 2018 This manual explains how to develop Oracle DBMS database programs with VSI COBOL on the OpenVMS Alpha, OpenVMS I64, and the OpenVMS VAX operating systems. Revision Update Information: This is a new manual. Operating system and Version: VSI OpenVMS Version X.X Software Version: VSI COBOL Version X.X VMS Software, Inc., (VSI) Bolton, Massachusetts, USA VSI OpenVMS VSI COBOL DBMS Database Programming Manual: Copyright © 2018 VMS Software, Inc., (VSI), Bolton Massachusetts, USA Legal Notice Confidential computer software. Valid license from VSI required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for VSI products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. VSI shall not be liable for technical or editorial errors or omissions contained herein. HPE, HPE Integrity, HPE Alpha, and HPE Proliant are trademarks or registered trademarks of Hewlett Packard Enterprise. UNIX is a registered trademark of The Open Group. Oracle is a registered trademark of Oracle and/or its affiliates. The VSI OpenVMS documentation
    [Show full text]
  • Introduction to Database Systems Narain Gehani CS
    Introduction to Database Systems Narain Gehani © Narain Gehani Introduction to Databases Slide 1 CS 431 •Welcome • Who should take this course • Syllabus • Book – copies / volunteer / $ • TA • Your background • If I go faster, I will have a review class if you like © Narain Gehani Introduction to Databases Slide 2 1 Introduction • What is a database? – Any repository of data (paper file cabinets, Word files, Excel spread sheets, database systems) – Facilitates for storage, manipulation, retrieval, persistence, concurrency, fast access • Users of databases – End users – Database users – Database designers – Database administrators (DBAs) – Application programmers – Database system implementers © Narain Gehani Introduction to Databases Slide 3 Introduction (Contd.) • Will teach you how database systems work, not how database systems are implemented. • Why the above? • Focus on concepts & fundamentals on how to use (relational) databases effectively. • SQL – great for querying/manipulating relational databases but not a full-fledged language • Host language such as Java/C++ make up for deficiencies – control structures, formatting, networking, etc © Narain Gehani Introduction to Databases Slide 4 2 MySQL • We will use MySQL • “Open source” relational database • Over 5 million installed systems © Narain Gehani Introduction to Databases Slide 5 Relational Database Model • Relational database – Data stored as tables – Data is extracted by throwing away unwanted rows and columns. – Tables can be joined in the process of extracting data • Relational
    [Show full text]
  • VAX Rdb/VMS Guide to Data Manipulation
    VAX Rdb/VMS Guide to Data Manipulation Order No. AA-N036C-TE VAX Rdb/VMS Guide to Data Manipulation Order No. AA-N036C-TE November 1987 This manual provides information about retrieving, modifying and erasing data in a database· using the VAX RdbNMS interactive Relational Database Operator. OPERATING SYSTEM: VMS Micro VMS SOFTWARE VERSION: VAX Rdb/VMS V2.3 digital equipment corporation, maynard, massachusetts The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. Copyright© 1984, 1985, 1987 by Digital Equipment Corporation. All Rights Reserved. The postage-paid READER'S COMMENTS form on the last page of this document requests your critical evaluation to assist us in preparing future documentation. The following are trademarks of Digital Equipment Corporation: ACMS PDP VAX CDD RALLY VAXcluster DATATRIEVE Rdb/ELN VAXinfo DEC RdbNMS VAX Information Architecture DECnet ReGIS VIDA DEC US TDMS VMS MicroVAX TEAMDATA VT MicroVMS UNIBUS Contents How to Use This Manual vii Technical Changes and New Features xi 1 Introduction to VAX Rdb/VMS Data Manipulation 1.1 What Is a Relational Database? . 1·2 1.1.1 Using Normalization to Eliminate Data Redundancy.
    [Show full text]