Category: ims Db

  • Khóa học miễn phí IMS DB – SSA nhận dự án làm có lương

    IMS DB – SSA



    SSA stands for Segment Search Arguments. SSA is used to identify the segment occurrence being accessed. It is an optional parameter. We can include any number of SSAs depending on the requirement. There are two types of SSAs −

    • Unqualified SSA
    • Qualified SSA

    Unqualified SSA

    An unqualified SSA provides the name of the segment being used inside the call. Given below is the syntax of an unqualified SSA −

    01 UNQUALIFIED-SSA.
       05  SEGMENT-NAME  PIC X(8).
       05  FILLER        PIC X     VALUE SPACE.
    

    The key points of unqualified SSA are as follows −

    • A basic unqualified SSA is 9 bytes long.

    • The first 8 bytes hold the segment name which is being used for processing.

    • The last byte always contains space.

    • DL/I uses the last byte to determine the type of SSA.

    • To access a particular segment, move the name of the segment in the SEGMENT-NAME field.

    The following images show the structures of unqualified and qualified SSAs −

    SSA

    Qualified SSA

    A Qualified SSA provides the segment type with the specific database occurrence of a segment. Given below is the syntax of a Qualified SSA −

    01 QUALIFIED-SSA.
       05  SEGMENT-NAME  PIC X(8).
       05  FILLER        PIC X(01)     VALUE ''(''.
       05  FIELD-NAME    PIC X(8).
       05  REL-OPR       PIC X(2).
       05  SEARCH-VALUE  PIC X(n).
       05  FILLER        PIC X(n+1) VALUE '')''.
    

    The key points of qualified SSA are as follows −

    • The first 8 bytes of a qualified SSA holds the segment name being used for processing.

    • The ninth byte is a left parenthesis ”(”.

    • The next 8 bytes starting from the tenth position specifies the field name which we want to search.

    • After the field name, in the 18th and 19th positions, we specify two-character relational operator code.

    • Then we specify the field value and in the last byte, there is a right parenthesis ”)”.

    The following table shows the relational operators used in a Qualified SSA.

    Relational Operator Symbol Description
    EQ = Equal
    NE ~= ˜ Not equal
    GT > Greater than
    GE >= Greater than or equal
    LT << Less than
    LE <= Less than or equal

    Command Codes

    Command codes are used to enhance the functionality of DL/I calls. Command codes reduce the number of DL/I calls, making the programs simple. Also, it improves the performance as the number of calls is reduced. The following image shows how command codes are used in unqualified and qualified SSAs −

    unqualified ssa

    The key points of command codes are as follows −

    • To use command codes, specify an asterisk in the 9th position of the SSA as shown in the above image.

    • Command code is coded at the tenth position.

    • From 10th position onwards, DL/I considers all characters to be command codes until it encounters a space for an unqualified SSA and a left parenthesis for a qualified SSA.

    The following table shows the list of command codes used in SSA −

    Command Code Description
    C Concatenated Key
    D Path Call
    F First Occurrence
    L Last Occurrence
    N Path Call Ignore
    P Set Parentage
    Q Enqueue Segment
    U Maintain Position at this level
    V Maintain Position at this and all above levels
    Null Command Code

    Multiple Qualifications

    The fundamental points of multiple qualifications are as follows −

    • Multiple qualifications are required when we need to use two or more qualifications or fields for comparison.

    • We use Boolean operators like AND and OR to connect two or more qualifications.

    • Multiple qualifications can be used when we want to process a segment based on a range of possible values for a single field.

    Given below is the syntax of Multiple Qualifications −

    01 QUALIFIED-SSA.
       05  SEGMENT-NAME  PIC X(8).
       05  FILLER        PIC X(01)     VALUE ''(''.
       05  FIELD-NAME1   PIC X(8).
       05  REL-OPR       PIC X(2).
       05  SEARCH-VALUE1 PIC X(m).
       05  MUL-QUAL      PIC X      VALUE ''&''.
       05  FIELD-NAME2   PIC X(8).
       05  REL-OPR       PIC X(2).
       05  SEARCH-VALUE2 PIC X(n).
       05  FILLER        PIC X(n+1) VALUE '')''.
    

    MUL-QUAL is a short term for MULtiple QUALIification in which we can provide boolean operators like AND or OR.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Data Retrieval nhận dự án làm có lương

    IMS DB – Data Retrieval



    The various data retrieval methods used in IMS DL/I calls are as follows −

    • GU Call
    • GN Call
    • Using Command Codes
    • Multiple Processing

    Let us consider the following IMS database structure to understand the data retrieval function calls −

    IMS DATABASE1

    GU Call

    The fundamentals of GU call are as follows −

    • GU call is known as Get Unique call. It is used for random processing.

    • If an application does not update the database regularly or if the number of database updates is less, then we use random processing.

    • GU call is used to place the pointer at a particular position for further sequential retrieval.

    • GU calls are independent of the pointer position established by the previous calls.

    • GU call processing is based on the unique key fields supplied in the call statement.

    • If we supply a key field that is not unique, then DL/I returns the first segment occurrence of the key field.

    CALL ''CBLTDLI'' USING DLI-GU
                         PCB-NAME
                         IO-AREA
                         LIBRARY-SSA
                         BOOKS-SSA
                         ENGINEERING-SSA
                         IT-SSA
    

    The above example shows we issue a GU call by providing a complete set of qualified SSAs. It includes all the key fields starting from the root level to the segment occurrence that we want to retrieve.

    GU Call Considerations

    If we do not provide the complete set of qualified SSAs in the call, then DL/I works in the following way −

    • When we use an unqualified SSA in a GU call, DL/I accesses the first segment occurrence in the database that meets the criteria you specify.

    • When we issue a GU call without any SSAs, DL/I returns the first occurrence of the root segment in the database.

    • If some SSAs at intermediate levels are not mentioned in the call, then DL/I uses either the established position or the default value of an unqualified SSA for the segment.

    Status Codes

    The following table shows the relevant status codes after a GU call −

    S.No Status Code & Description
    1

    Spaces

    Successful call

    2

    GE

    DL/I could not find a segment that met the criteria specified in the call

    GN Call

    The fundamentals of GN call are as follows −

    • GN call is known as Get Next call. It is used for basic sequential processing.

    • The initial position of the pointer in the database is before the root segment of the first database record.

    • The database pointer position is before the next segment occurrence in the sequence, after a successful GN call.

    • The GN call starts through the database from the position established by the previous call.

    • If a GN call is unqualified, it returns the next segment occurrence in the database regardless of its type, in hierarchical sequence.

    • If a GN call includes SSAs, then DL/I retrieves only segments that meet the requirements of all specified SSAs.

    CALL ''CBLTDLI'' USING DLI-GN
                         PCB-NAME
                         IO-AREA
                         BOOKS-SSA
    

    The above example shows we issue a GN call providing the starting position to read the records sequentially. It fetches the first occurrence of the BOOKS segment.

    Status Codes

    The following table shows the relevant status codes after a GN call −

    S.No Status Code & Description
    1

    Spaces

    Successful call

    2

    GE

    DL/I could not find a segment that met the criteria specified in the call.

    3

    GA

    An unqualified GN call moves up one level in the database hierarchy to fetch the segment.

    4

    GB

    End of database is reached and segment not found.

    GK

    An unqualified GN call tries to fetch a segment of a particular type other than the one just retrieved but stays in the same hierarchical level.

    Command Codes

    Command codes are used with calls to fetch a segment occurrence. The various command codes used with calls are discussed below.

    F Command Code

    Points to note −

    • When an F command code is specified in a call, the call processes the first occurrence of the segment.

    • F command codes can be used when we want to process sequentially and it can be used with GN calls and GNP calls.

    • If we specify an F command code with a GU call, it does not have any significance, as GU calls fetch the first segment occurrence by default.

    L Command Code

    Points to note −

    • When an L command code is specified in a call, the call processes the last occurrence of the segment.

    • L command codes can be used when we want to process sequentially and it can be used with GN calls and GNP calls.

    D Command Code

    Points to note −

    • D command code is used to fetch more than one segment occurrences using just a single call.

    • Normally DL/I operates on the lowest level segment specified in an SSA, but in many cases, we want data from other levels as well. In those cases, we can use the D command code.

    • D command code makes easy retrieval of the entire path of segments.

    C Command Code

    Points to note −

    • C command code is used to concatenate keys.

    • Using relational operators is a bit complex, as we need to specify a field name, a relational operator, and a search value. Instead, we can use a C command code to provide a concatenated key.

    The following example shows the use of C command code −

    01 LOCATION-SSA.
       05 FILLER		     PIC X(11) VALUE ‘INLOCSEG*C(‘.
       05 LIBRARY-SSA      PIC X(5).
       05 BOOKS-SSA        PIC X(4).
       05 ENGINEERING-SSA  PIC X(6).
       05 IT-SSA           PIC X(3)
       05 FILLER		     PIC X	VALUE ‘)’.
    
    CALL ''CBLTDLI'' USING DLI-GU
                         PCB-NAME
                         IO-AREA
                         LOCATION-SSA
    

    P Command Code

    Points to note −

    • When we issue a GU or GN call, the DL/I establishes its parentage at the lowest level segment that is retrieved.

    • If we include a P command code, then the DL/I establishes its parentage at a higher level segment in the hierarchical path.

    U Command Code

    Points to note −

    • When a U command code is specified in an unqualified SSA in a GN call, the DL/I restricts the search for the segment.

    • U command code is ignored if it is used with a qualified SSA.

    V Command Code

    Points to note −

    • V command code works similar to the U command code, but it restricts the search of a segment at a particular level and all levels above the hierarchy.

    • V command code is ignored when used with a qualified SSA.

    Q Command Code

    Points to note −

    • Q command code is used to enqueue or reserve a segment for exclusive use of your application program.

    • Q command code is used in an interactive environment where another program might make a change to a segment.

    Multiple Processing

    A program can have multiple positions in the IMS database which is known as multiple processing. Multiple processing can be done in two ways −

    • Multiple PCBs
    • Multiple Positioning

    Multiple PCBs

    Multiple PCBs can be defined for a single database. If there are multiple PCBs, then an application program can have different views of it. This method for implementing multiple processing is inefficient because of the overheads imposed by the extra PCBs.

    Multiple Positioning

    A program can maintain multiple positions in a database using a single PCB. This is achieved by maintaining a distinct position for each hierarchical path. Multiple positioning is used to access segments of two or more types sequentially at the same time.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Logical Database nhận dự án làm có lương

    IMS DB – Logical Database



    IMS database has a rule that each segment type can have only one parent. This limits the complexity of the physical database. Many DL/I applications require a complex structure that allows a segment to have two parent segment types. To overcome this limitation, DL/I allows the DBA to implement logical relationships in which a segment can have both physical and logical parents. We can create additional relationships within one physical database. The new data structure after implementing the logical relationship is known as the Logical Database.

    Logical Relationship

    A logical relationship has the following properties −

    • A logical relationship is a path between two segments which are related logically and not physically.

    • Usually a logical relationship is established between separate databases. But it is possible to have a relationship between the segments of one particular database.

    The following image shows two different databases. One is a Student database, and the other is a Library database. We create a logical relationship between the Books Issued segment from the Student database and the Books segment from the Library database.

    std and library database

    This is how the logical database looks when you create a logical relationship −

    Logical DataBase

    Logical Child Segment

    Logical child segment is the basis of a logical relationship. It is a physical data segment but for DL/I, it appears as if it has two parents. The Books segment in the above example has two parent segments. Issued books segment is the logical parent and Library segment is the physical parent. One logical child segment occurrence has only one logical parent segment occurrence and one logical parent segment occurrence can have many logical child segment occurrences.

    Logical Twins

    Logical twins are the occurrences of a logical child segment type that are all subordinate to a single occurrence of the logical parent segment type. DL/I makes the logical child segment appear similar to an actual physical child segment. This is also known as a virtual logical child segment.

    Types of Logical Relationships

    A DBA creates logical relationships between segments. To implement a logical relationship, the DBA has to specify it in the DBDGENs for the involved physical databases. There are three types of logical relationships −

    • Unidirectional
    • Bidirectional Virtual
    • Bidirectional Physical

    Unidirectional

    The logical connection goes from the logical child to the logical parent and it cannot go the other way around.

    Bidirectional Virtual

    It allows access in both the directions. The logical child in its physical structure and the corresponding virtual logical child can be seen as paired segments.

    Bidirectional Physical

    The logical child is a physically stored subordinate to both its physical and logical parents. To application programs, it appears the same way as a bidirectional virtual logical child.

    Programming Considerations

    The programming considerations for using a logical database are as follows −

    • DL/I calls to access the database remains same with the logical database too.

    • Program specification block indicates the structure which we use in our calls. In some cases, we cannot identify that we are using a logical database.

    • Logical relationships add a new dimension to database programming.

    • You must be careful while working with logical databases, as two databases are integrated together. If you modify one database, the same modifications must be reflected in the other database.

    • Program specifications should indicate what processing is allowed on a database. If a processing rule is violated, you get a non-blank status code.

    Concatenated Segment

    A logical child segment always begins with the complete concatenated key of the destination parent. This is known as the Destination Parent Concatenated Key (DPCK). You need to always code the DPCK at the start of your segment I/O area for a logical child. In a logical database, the concatenated segment makes the connection between segments that are defined in different physical databases. A concatenated segment consists of the following two parts −

    • Logical child segment
    • Destination parent segment

    A logical child segment consists of the following two parts −

    • Destination Parent Concatenated Key (DPCK)
    • Logical child user data
    logical child

    When we work with concatenated segments during update, it may be possible to add or change the data in both the logical child and the destination parent with a single call. This also depends on the rules the DBA specified for the database. For an insert, provide the DPCK in the right position. For a replace or delete, do not change the DPCK or the sequence field data in either part of the concatenated segment.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Data Manipulation nhận dự án làm có lương

    IMS DB – Data Manipulation



    The different data manipulation methods used in IMS DL/I calls are as follows −

    • ISRT Call
    • Get Hold Calls
    • REPL Call
    • DLET Call

    Let us consider the following IMS database structure to understand the data manipulation function calls −

    IMS DATABASE

    ISRT Call

    Points to note −

    • ISRT call is known as Insert call which is used to add segment occurrences to a database.

    • ISRT calls are used for loading a new database.

    • We issue an ISRT call when a segment description field is loaded with data.

    • An unqualified or qualified SSA must be specified in the call so that the DL/I knows where to place a segment occurrence.

    • We can use a combination of both unqualified and qualified SSA in the call. A qualified SSA can be specified for all the above levels. Let us consider the following example −

    CALL ''CBLTDLI'' USING DLI-ISRT
                         PCB-NAME
                         IO-AREA
                         LIBRARY-SSA
                         BOOKS-SSA
                         UNQUALIFIED-ENGINEERING-SSA
    

    The above example shows we are issuing an ISRT call by providing a combination of qualified and unqualified SSAs.

    When a new segment that we are inserting has a unique key field, then it is added at the proper position. If the key field is not unique, then it is added by the rules defined by a database administrator.

    When we issue an ISRT call without specifying a key field, then the insert rule tells where to place the segments relative to existing twin segments. Given below are the insert rules −

    • First − If the rule is first, the new segment is added before any existing twins.

    • Last − If the rule is last, the new segment is added after all existing twins.

    • Here − If the rule is here, it is added at the current position relative to existing twins, which may be first, last, or anywhere.

    Status Codes

    The following table shows the relevant status codes after an ISRT call −

    S.No Status Code & Description
    1

    Spaces

    Successful call

    2

    GE

    Multiple SSAs are used and the DL/I cannot satisfy the call with the specified path.

    3

    II

    Try to add a segment occurrence that is already present in the database.

    4

    LB / LC LD / LE

    We get these status codes while load processing. In most cases, they indicate that you are not inserting the segments in an exact hierarchical sequence.

    Get Hold Call

    Points to note −

    • There are three types of Get Hold call which we specify in a DL/I call:

      • Get Hold Unique (GHU)

      • Get Hold Next (GHN)

      • Get Hold Next within Parent (GHNP)

    • Hold function specifies that we are going to update the segment after retrieval. So before an REPL or DLET call, a successful hold call must be issued telling the DL/I an intent to update the database.

    REPL Call

    Points to note −

    • After a successful get hold call, we issue an REPL call to update a segment occurrence.

    • We cannot change the length of a segment using an REPL call.

    • We cannot change the value of a key field using an REPL call.

    • We cannot use a qualified SSA with an REPL call. If we specify a qualified SSA, then the call fails.

    CALL ''CBLTDLI'' USING DLI-GHU
                         PCB-NAME
                         IO-AREA
                         LIBRARY-SSA
                         BOOKS-SSA
                         ENGINEERING-SSA
                         IT-SSA.
    
    *Move the values which you want to update in IT segment occurrence*
    
    CALL ‘CBLTDLI’ USING DLI-REPL
                         PCB-NAME
                         IO-AREA.
    

    The above example updates the IT segment occurrence using an REPL call. First, we issue a GHU call to get the segment occurrence we want to update. Then, we issue an REPL call to update the values of that segment.

    DLET Call

    Points to note −

    • DLET call works much in the same way as an REPL call does.

    • After a successful get hold call, we issue a DLET call to delete a segment occurrence.

    • We cannot use a qualified SSA with a DLET call. If we specify a qualified SSA, then the call fails.

    CALL ''CBLTDLI'' USING DLI-GHU
                         PCB-NAME
                         IO-AREA
                         LIBRARY-SSA
                         BOOKS-SSA
                         ENGINEERING-SSA
                         IT-SSA.
    
    CALL ‘CBLTDLI’ USING DLI-DLET
                         PCB-NAME
                         IO-AREA.
    

    The above example deletes the IT segment occurrence using a DLET call. First, we issue a GHU call to get the segment occurrence we want to delete. Then, we issue a DLET call to update the values of that segment.

    Status Codes

    The following table shows the relevant status codes after an REPL or a DLET call −

    S.No Status Code & Description
    1

    Spaces

    Successful call

    2

    AJ

    Qualified SSA used on REPL or DLET call.

    3

    DJ

    Program issues a replace call without an immediately preceding get hold call.

    4

    DA

    Program makes a change to the segment’s key field before issuing the REPL or DLET call


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Recovery nhận dự án làm có lương

    IMS DB – Recovery



    The database administrator needs to plan for the database recovery in case of system failures. Failures can be of many types such as application crashes, hardware errors, power failures, etc.

    Simple Approach

    Some simple approaches to database recovery are as follows −

    • Make periodical backup copies of important datasets so that all transactions posted against the datasets are retained.

    • If a dataset is damaged due to a system failure, that problem is corrected by restoring the backup copy. Then the accumulated transactions are re-posted to the backup copy to bring them up-to-date.

    Disadvantages of Simple Approach

    The disadvantages of simple approach to database recovery are as follows −

    • Re-posting the accumulated transactions consumes a lot of time.

    • All other applications need to wait for execution until the recovery is finished.

    • Database recovery is lengthier than file recovery, if logical and secondary index relationships are involved.

    Abnormal Termination Routines

    A DL/I program crashes in a way that is different from the way a standard program crashes because a standard program is executed directly by the operating system, while a DL/I program is not. By employing an abnormal termination routine, the system interferes so that recovery can be done after the ABnormal END (ABEND). The abnormal termination routine performs the following actions −

    • Closes all datasets
    • Cancels all pending jobs in the queue
    • Creates a storage dump to find out the root cause of ABEND

    The limitation of this routine is that it does not ensure if the data in use is accurate or not.

    DL/I Log

    When an application program ABENDs, it is necessary to revert the changes done by the application program, correct the error, and re-run the application program. To do this, it is required to have the DL/I log. Here are the key points about DL/I logging −

    • A DL/I records all the changes made by an application program in a file which is known as the log file.

    • When the application program changes a segment, its before image and after images are created by the DL/I.

    • These segment images can be used to restore the segments, in case the application program crashes.

    • DL/I uses a technique called write-ahead logging to record database changes. With write-ahead logging, a database change is written to the log dataset before it is written to the actual dataset.

    • As the log is always ahead of the database, the recovery utilities can determine the status of any database change.

    • When the program executes a call to change a database segment, the DL/I takes care of its logging part.

    Recovery – Forward and Backward

    The two approaches of database recovery are −

    • Forward Recovery − DL/I uses the log file to store the change data. The accumulated transactions are re-posted using this log file.

    • Backward Recovery − Backward recovery is also known as backout recovery. The log records for the program are read backwards and their effects are reversed in the database. When the backout is complete, the databases are in the same state as they were in before the failure, assuming that no another application program altered the database in the meantime.

    Checkpoint

    A checkpoint is a stage where the database changes done by the application program are considered complete and accurate. Listed below are the points to note about a checkpoint −

    • Database changes made before the most recent checkpoint are not reversed by backward recovery.

    • Database changes logged after the most recent checkpoint are not applied to an image copy of the database during forward recovery.

    • Using checkpoint method, the database is restored to its condition at the most recent checkpoint when the recovery process completes.

    • The default for batch programs is that the checkpoint is the beginning of the program.

    • A checkpoint can be established using a checkpoint call (CHKP).

    • A checkpoint call causes a checkpoint record to be written on the DL/I log.

    Shown below is the syntax of a CHKP call −

    CALL ''CBLTDLI'' USING DLI-CHKP
                         PCB-NAME
                         CHECKPOINT-ID
    

    There are two checkpoint methods −

    • Basic Checkpointing − It allows the programmer to issue checkpoint calls that the DL/I recovery utilities use during recovery processing.

    • Symbolic Checkpointing − It is an advanced form of checkpointing that is used in combination with the extended restart facility. Symbolic checkpointing and extended restart together let the application programmer code the programs so that they can resume processing at the point just after the checkpoint.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Structure nhận dự án làm có lương

    IMS DB – Structure



    Hierarchical Structure

    An IMS database is a collection of data accommodating physical files. In a hierarchical database, the topmost level contains the general information about the entity. As we proceed from the top level to the bottom levels in the hierarchy, we get more and more information about the entity.

    Each level in the hierarchy contains segments. In standard files, it is difficult to implement hierarchies but DL/I supports hierarchies. The following figure depicts the structure of IMS DB.

    Hierarchies

    Segment

    Points to note −

    • A segment is created by grouping of similar data together.

    • It is the smallest unit of information that DL/I transfers to and from an application program during any input-output operation.

    • A segment can have one or more data fields grouped together.

    In the following example, the segment Student has four data fields.

    Student
    Roll Number Name Course Mobile NUmber

    Field

    Points to note−

    • A field is a single piece of data in a segment. For example, Roll Number, Name, Course, and Mobile Number are single fields in the Student segment.

    • A segment consists of related fields to collect the information of an entity.

    • Fields can be used as a key for ordering the segments.

    • Fields can be used as a qualifier for searching information about a particular segment.

    Segment Type

    Points to note −

    • Segment Type is a category of data in a segment.

    • A DL/I database can have 255 different segment types and 15 levels of hierarchy.

    • In the following figure, there are three segments namely, Library, Books Information, and Student Information.

    Std Info

    Segment Occurrence

    Points to note −

    • A segment occurrence is an individual segment of a particular type containing user data. In the above example, Books Information is one segment type and there can any number of occurrences of it, as it can store the information about any number of books.

    • Within the IMS Database, there is only one occurrence of each segment type, but there can be an unlimited number of occurrences of each segment type.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Questions And Answers nhận dự án làm có lương

    IMS DB Questions and Answers



    IMS DB Questions and Answers has been designed with a special intention of helping students and professionals preparing for various Certification Exams and Job Interviews. This section provides a useful collection of sample Interview Questions and Multiple Choice Questions (MCQs) and their answers with appropriate explanations.

    Questions and Answers
    SN Question/Answers Type
    1

    This section provides a huge collection of IMS DB Interview Questions with their answers hidden in a box to challenge you to have a go at them before discovering the correct answer.

    2

    This section provides a great collection of IMS DB Multiple Choice Questions (MCQs) on a single page along with their correct answers and explanation. If you select the right option, it turns green; else red.

    3

    If you are preparing to appear for a Java and IMS DB Framework related certification exam, then this section is a must for you. This section simulates a real online test along with a given timer which challenges you to complete the test within a given time-frame. Finally you can check your overall test score and how you fared among millions of other candidates who attended this online test.

    4

    This section provides various mock tests that you can download at your local machine and solve offline. Every mock test is supplied with a mock test key to let you verify the final score and grade yourself.


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Overview nhận dự án làm có lương

    IMS DB – Overview



    A Brief Overview

    Database is a collection of correlated data items. These data items are organized and stored in a manner to provide fast and easy access. IMS database is a hierarchical database where data is stored at different levels and each entity is dependent on higher level entities. The physical elements on an application system that use IMS are shown in the following figure.

    IMS Elements

    Database Management

    A Database Management system is a set of application programs used for storing, accessing, and managing data in the database. IMS database management system maintains integrity and allows fast recovery of data by organizing it in such a way that it is easy to retrieve. IMS maintains a large amount of world”s corporate data with the help of its database management system.

    Transaction Manager

    The function of transaction manager is to provide a communication platform between the database and the application programs. IMS acts as a transaction manager. A transaction manager deals with the end-user to store and retrieve data from the database. IMS can use IMS DB or DB2 as its back-end database to store the data.

    DL/I – Data Language Interface

    DL/I comprises of application programs that grant access to the data stored in the database. IMS DB uses DL/I which serves as the interface language that programmers use for accessing the database in an application program. We will discuss this in more detail in the upcoming chapters.

    Characteristics of IMS

    Points to note −

    • IMS supports applications from different languages such as Java and XML.
    • IMS applications and data can be accessed over any platform.
    • IMS DB processing is very fast as compared to DB2.

    Limitations of IMS

    Points to note −

    • Implementation of IMS DB is very complex.
    • IMS predefined tree structure reduces flexibility.
    • IMS DB is difficult to manage.

    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc

  • Khóa học miễn phí IMS DB – Useful Resources nhận dự án làm có lương

    IMS DB – Useful Resources



    The following resources contain additional information on IMS DB. Please use them to get more in-depth knowledge on this topic.

    Useful Links on IMS DB

    • – IBM”s official page for IMS

    • – Wikipedia reference for IBM Information Management System

    Useful Books on IMS DB

    To enlist your site on this page, please drop an email to contact@tutorialspoint.com


    Khóa học lập trình tại Toidayhoc vừa học vừa làm dự án vừa nhận lương: Khóa học lập trình nhận lương tại trung tâm Toidayhoc