SlideShare une entreprise Scribd logo
1  sur  59
Chapter A: Network Model
             s Basic Concepts
             s Data-Structure Diagrams
             s The DBTG CODASYL Model
             s DBTG Data-Retrieval Facility
             s DBTG Update Facility
             s DBTG Set-Processing Facility
             s Mapping of Networks to Files




Database System Concepts, 1 st Ed.            A.1   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Basic Concepts
             s Data are represented by collections of records.
                    q   similar to an entity in the E-R model
                    q   Records and their fields are represented as record type
             type customer = record              type account = record
                  customer-name: string;              account-number: integer;
                  customer-street: string;            balance: integer;
                  customer-city: string;
             end                                 end
             s Relationships among data are represented by links
                    q   similar to a restricted (binary) form of an E-R relationship
                    q   restrictions on links depend on whether the relationship is many-
                        many, many-to-one, or one-to-one.




Database System Concepts, 1 st Ed.                     A.2   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Data-Structure Diagrams
             s Schema representing the design of a network database.



             s A data-structure diagram consists of two basic components:
                    q   Boxes, which correspond to record types.
                    q   Lines, which correspond to links.


             s Specifies the overall logical structure of the database.




Database System Concepts, 1 st Ed.                  A.3   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Data-Structure Diagrams (Cont.)
             s For every E-R diagram, there is a corresponding data-structure
                  diagram.




Database System Concepts, 1 st Ed.              A.4   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Data-Structure Diagrams (Cont.)
             s Since a link cannot contain any data value, represent an E-R
                  relationship with attributes with a new record type and links.




Database System Concepts, 1 st Ed.                  A.5   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
General Relationships
             s To represent an E-R relationship of degree 3 or higher, connect the
                  participating record types through a new record type that is linked
                  directly to each of the original record types.
             1. Replace entity sets account, customer, and branch with record types
                account, customer, and branch, respectively.
             2. Create a new record type Rlink (referred to as a dummy record type).
             3. Create the following many-to-one links:
                    q   CustRlink from Rlink record type to customer record type
                    q   AcctRlnk from Rlink record type to account record type
                    q   BrncRlnk from Rlink record type to branch record type




Database System Concepts, 1 st Ed.                  A.6   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Network Representation of Ternary Relationship




Database System Concepts, 1 st Ed.   A.7   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
The DBTG CODASYL Model
             s All links are treated as many-to-one relationships.
             s To model many-to-many relationships, a record type is defined to
                  represent the relationship and two links are used.




Database System Concepts, 1 st Ed.                 A.8   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Sets
             s The structure consisting of two record types that are linked together is
                  referred to in the DBTG model as a DBTG set
             s In each DBTG set, one record type is designated as the owner, and
                  the other is designated as the member, of the set.
             s Each DBTG set can have any number of set occurrences (actual
                  instances of linked records).
             s Since many-to-many links are disallowed, each set occurrence has
                  precisely one owner, and has zero or more member records.
             s No member record of a set can participate in more than one
                  occurrence of the set at any point.
             s A member record can participate simultaneously in several set
                  occurrences of different DBTG sets.




Database System Concepts, 1 st Ed.                  A.9   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Repeating Groups
             s Provide a mechanism for a field to have a set of values rather than a
                  single value.
             s Alternative representation of weak entities from the E-R model
             s Example: Two sets.
                    q   customer (customer-name)
                    q   customer-address (customer-street, customer-city)
             s The following diagrams represent these sets without the repeating-
                  group construct.




Database System Concepts, 1 st Ed.                 A.10   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Repeating Groups (Cont.)




    s With the repeating-group construct, the data-structure diagram consists
         of the single record type customer.



Database System Concepts, 1 st Ed.             A.11   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Data-Retrieval Facility
             s The DBTG data manipulation language consists of a number of
                  commands that are embedded in a host language.

             s Run unit — system application program consisting of a sequence of
                  host language and DBTG command statements. Statements access
                  and manipulate database items as well as locally declared variables.

             s Program work-area (or user work area) — a buffer storage area the
                  system maintains for each application program




Database System Concepts, 1 st Ed.                A.12   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Variables
             s Record Templates


             s Currency pointers
                    q   Current of record type
                    q   Current of set type
                    q   Current of run unit

             s Status flags
                    q   DB-status is most frequently used
                    q   Additional variables: DB-set-name, DB-record-name, and
                        DB-data-name




Database System Concepts, 1 st Ed.                A.13   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example Schema




Database System Concepts, 1 st Ed.         A.14   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example Program Work Area
             s Templates for three record types: customer, account, and branch.
             s Six currency pointers
                    q   Three pointers for record types: one each tot he most recently
                        accessed customer, account, and branch record
                    q   Two pointers for set types: one to the most recently accessed
                        record in an occurrence of the set depositor, one to the most
                        recently accessed record in an occurrence of the set account-
                        branch
                    q   One run-unit pointer.
             s Status flags: four variables defined previously
             s Following diagram shows an example program work area state.




Database System Concepts, 1 st Ed.                  A.15   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Database System Concepts, 1 st Ed.   A.16   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
The Find and Get Commands
             s find locates a record in the database and sets the appropriate
                  currency pointers
             s get copies of the record to which the current of run-unit points from
                  the database to the appropriate program work area template
             s Example: Executing a find command to locate the customer record
                  belonging to Johnson causes the following changes to occur in the
                  state of the program work area.
                    q   The current of the record type customer now points to the record
                        of Johnson.
                    q   The current of set type depositor now points to the set owned by
                        Johnson
                    q   The current of run unit now points to customer record Johnson.




Database System Concepts, 1 st Ed.                  A.17   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Access of Individual Records
             s find any <record type> using <record-field>
                  Locates a record of type <record type> whose <record-field>
                  value is the same as the value of <record-field> in the
                  <record type> template in the program work area.
             s Once such a record is found, the following currency pointers are set to
                  point to that record:
                    q   The current of run-unit pointer
                    q   The record-type currency pointer for <record type>
                    q   For each set in which that record belongs, the appropriate set
                        currency pointer
             s find duplicate <record type> using <record-field>
                  Locates (according to a system-dependent ordering) the next record
                  that matches the <record-field>




Database System Concepts, 1 st Ed.                   A.18   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Access of Records Within a Set
             s Other find commands locate records in the DBTG set that is pointed
                  to by the <set-type> currency pointer.
             s find first <record type> within <set-type>
                  Locates the first database record of type <record type>
                  belonging to the current <set-type>.
             s To locate the other members of a set,k we use


                                     find next <record type> within <set-type>

                  which finds the next element in the set <set-type>.
             s find owner within <set-type>
                  Locates the owner of a particular DBTG set




Database System Concepts, 1 st Ed.                       A.19   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Predicates
             s For queries in which a field value must be matched with a specified
                  range of values, rather than to only one, we need to:

                    q   get the appropriate records into memory
                    q   examine each one separately for a match
                    q   determine whether each is the; target of our find statement




Database System Concepts, 1 st Ed.                  A.20   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example DBTG Query
             s Print the total number of accounts in the Perryridge branch with a
                  balance greater than $10,000.

                  count := 0;
                  branch.branch-name := “Perryridge”;
                  find any branch using branch-name;
                  find first account within account-branch;
                  while DB-status = 0 do
                      begin
                         get account
                         if account.balance > 10000 then count := count + 1;
                         find next account within account-branch;
                      end
                  print (count);




Database System Concepts, 1 st Ed.                A.21   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Update Facility
             s DBTG mechanisms are available to update information in the
                  database.
             s To create a new record of type <record type>
                    q   insert the appropriate values in the corresponding
                        <record type> template
                    q   add this new record to the database by executing

                                         store <record type>

             s Can create and add new records only one at a time




Database System Concepts, 1 st Ed.                   A.22   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Update Facility (Cont.)
             s To modify an existing record of type <record type>
                    q   find that record in the database
                    q   get that record into memory
                    q   change the desired fields in the template of <record type>
                    q   reflect the changes to the record to which the currency point of
                        <record type> points by executing

                                      modify <record type>




Database System Concepts, 1 st Ed.                    A.23   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Update Facility (Cont.)
             s To delete an existing record of type <record type>
                    q   make the currency pointer of that type point to the record in the
                        database to be deleted
                    q   delete that record by executing

                                      erase <record type>

             s Delete an entire set occurrence by finding the owner of the set and
                  executing
                                     erase all <record type>

                    q   Deletes the owner of the set, as well as all the set’s members.
                    q   If a member of the set is an owner of another set, the members of
                        that second set also will be deleted.
                    q   erase all is recursive.


Database System Concepts, 1 st Ed.                   A.24   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set-Processing Facility
             s Mechanisms are provided for inserting records into and removing
                  records from a particular set occurrence
             s Insert a new record into a set by executing the connect statement.
                                     connect <record type> to <set-type>

             s Remove a record from a set by executing the disconnect statement.
                              disconnect <record type> from <set-type>




Database System Concepts, 1 st Ed.                      A.25   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example disconnect Query
             s Close account A-201, that is, delete the relationship between account
                  A-201 and its customer, but archive the record of account A-201.
             s The following program removes account A-201 from the set
                  occurrence of type depositor.
                  The account will still be accessible in the database for record-keeping
                  purposes.

                         account.account-number := “A-201”;
                         find for update any account using account-number.
                         get account,
                         find owner within depositor,
                         disconnect account from depositor.




Database System Concepts, 1 st Ed.                 A.26   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set-Processing Facility
                                 (Cont.)
             s To move a record of type <record type> from one set occurrence to
                  another set occurrence of type <set-type>
                    q   Find the appropriate record and the owner of the set occurrences
                        to which that record is to be moved.
                    q   Move the record by executing

                                     reconnect <record type> to <set-type>

             s Example: Move all accounts of Hayes that are currently at the
                  Perryridge branch to the Downtown branch.




Database System Concepts, 1 st Ed.                    A.27   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example reconnect Query
                  customer.customer-name := “Hayes”;
                  find any customer using customer-name;
                  find first account within depositor;
                  while DB-status = 0 do
                     begin
                         find owner within account-branch;
                         get branch;
                         if branch.branch-name = “Perryridge” then
                            begin
                               branch.branch-name := “Downtown”;
                               find any branch using branch-name;
                               reconnect account to account-branch;
                            end
                         find next account within depositor,
                     end




Database System Concepts, 1 st Ed.              A.28   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set-Processing Facility
                                 (Cont.)
             s A newly created member record of type <record type> of a set type
                  <set-type> can be added to a set occurrence either explicitly
                  (manually) or implicitly (automatically).
             s Specify the insert mode at set-definition time via
                                     insertion is <insert mode>

                    q   manual:      connect <record type> to <set-type>

                    q   automatic:   store <record type>




Database System Concepts, 1 st Ed.                 A.29   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Set Insertion Example
             s Create account A535 for customer Hayes at the Downtown branch.
             s Set insertion is manual for set type depositor and is automatic for
                  set type account-branch.
                                     branch.branch-name := “Downtown”;
                                     find any branch using branch-name;
                                     account.account-number := “A-535”;
                                     account.balance := 0;
                                     store account;
                                     customer.customer-name := “Hayes”;
                                     find any customer using customer-name;
                                     connect account to depositor;




Database System Concepts, 1 st Ed.                    A.30   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set-Processing Facility
                                 (Cont.)
             s Restrictions on how and when a member record can be removed from
                  a set occurrence are specified at set-definition time via

                                     retention is <retention-mode>
             s <retention-mode> can take one of the three forms:
             1. fixed — a member record cannot be removed. To reconnect a record
                to another set, we must erase that record, recreate it, and then insert it
                into the new set occurrence.
             2. mandatory — a member record of a particular set
                occurrence can be reconnected to another set occurrence of only type
                <set-type>.
             3. optional — no restrictions on how and when a member record can
                be removed from a set occurrence.




Database System Concepts, 1 st Ed.                  A.31   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set-Processing Facility
                                 (Cont.)
             s The best way to delete a record that is the owner of set occurrence of
                  type <set-type> depends on the specification of the set retention of
                  <set-type>.
             s optional — the record will be deleted and every member of the set
                  that it owns will be disconnected. These records, however, will be in
                  the database.
             s fixed — the record and all its owned members will be deleted; a
                  member record cannot be removed from the set occurrence without
                  being deleted.
             s mandatory — the record cannot be erased, because the mandatory
                  status indicates that a member record must belong to a set
                  occurrence. The record cannot be disconnected from that set.




Database System Concepts, 1 st Ed.                 A.32   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Set Ordering
       Set ordering is specified by a programmer when the set is defined:

                                      order is <order-mode>
         s first. A new record is inserted in the first position; the set is in reverse
              chronological ordering.
         s last. A new record is inserted in the final position; the set is in
              chronological ordering.
         s next. Suppose that the currency pointer or <set-type> points to record
              X.
               q    If X is a member type, a new record is inserted in the next position
                    following X.
               q    If X is an owner type, a new record is inserted in the first position.




Database System Concepts, 1 st Ed.                   A.33   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Set Ordering (Cont.)
             s prior. If X is a member type, a new record is inserted in the position
                  just prior to X. If X is an owner type, a new record is inserted in the
                  last position.
             s system default. A new record is inserted in an arbitrary position
                  determined by the system.
             s sorted. A new record is inserted in a position that ensures that the
                  set will remain sorted. The sorting order is specified by a particular
                  key value when a programmer defines the set.
             s Example: Consider the set occurrence of type depositor with the
                  owner-record customer Turner and member-record accounts
                  A-305, A-402, and A-408 ordered as indicated in our example schema
                  (page A.14).




Database System Concepts, 1 st Ed.                  A.34   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Set Ordering Example
             s Add a new account A-125. For each <order-mode> option, the new
                  set ordering is as follows:
             s first: {A-125,A-305,A-402,A-408}
             s last: {A-305,A-402,A-408,A-125}
             s next: Suppose that the currency pointer points to record “Turner”;
                  then the new set order is {A-125,A-305,A-402,A-408}

             s prior: Suppose that the currency pointer points to record A-402; then
                  the new set order is {A-305,A-125,A-402,A-408}
             s system default: Any arbitrary order is acceptable; thus,
                  {A-305,A-402,A-125,A-408} is a valid set ordering
             s sorted: The set must be ordered in ascending order with account
                  number being the key; thus, the ordering must be
                  {A-125,A-305,A-402,A-408}




Database System Concepts, 1 st Ed.                A.35   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Mapping of Networks to Files
          s We implement links by adding pointer fields to records that are
               associated via a link
          s Each record must have one pointer field for each link with which it is
               associated.
          s Example data-structure diagram and corresponding database.



                                       Figure missing




Database System Concepts, 1 st Ed.                 A.36   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Mapping of Networks to Files (Cont.)
             s Diagram showing the sample instance with pointer fields to represent
                  the links. Each link is replaced by two pointers.




Database System Concepts, 1 st Ed.                 A.37   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Mapping of Networks to Files (Cont.)
             s Since the depositor link is many to many, each record can be
                  associated with an arbitrary number of records (e.g., the account
                  record would have a pointer to the customer record for each customer
                  who has that account).
             s Direct implementation of many-to-many relationships requires the use
                  of variable length records.
             s The DBTG model restricts links to be either one to one or one to
                  many; the number of pointers needed is reduced, and it is possible to
                  retain fixed-length records.




Database System Concepts, 1 st Ed.                A.38   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Mapping of Networks to Files (Cont.)
             s Assume that the depositor link is one to many and is represented by
                  the DBTG set depositor and this corresponding sample database.
                                      set name is depositor
                                          owner is customer
                                          member is account




Database System Concepts, 1 st Ed.              A.39   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Mapping of Networks to Files (Cont.)
             s Because an account record can be associated with only one customer
                  record, we need only one pointer in the account record to represent
                  the depositor relationship.
             s A customer record can be associated with many account records.
             s Rather ant using multiple pointers in the customer record, we can use
                  a ring structure to represent the entire occurrence of the DBTG set
                  depositor.
             s In a ring structure, the records of both the owner an member types for
                  a set occurrence are organized into a circular list.
             s There is one circular list for each set occurrence (that is, for each
                  record of the owner type).




Database System Concepts, 1 st Ed.                  A.40   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Example Ring Structure




Database System Concepts, 1 st Ed.        A.41   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Modified Ring Structures
             s Execute find owner via a ring structure in which every member-type
                  record contains a second pointer which points to the owner record.




Database System Concepts, 1 st Ed.                A.42   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Physical Placement of Records
             s To specify the storage strategy for DBTG set, add a placement
                  clause to the definition of the member record type.
             s The clause
                                     placement clustered via depositor

                  will store members of each set occurrence close to one another
                  physically on disk, if possible, in the same block.
             s Store owner and member records close to one another physically on
                  disk by adding the clause near owner.

                            placement clustered via depositor near owner




Database System Concepts, 1 st Ed.                   A.43   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Physical Placement of Records
                                  (Cont.)
             s Storing member records in the same block as the owner reduces the
                  number of block accesses required to read an entire set occurrence.




Database System Concepts, 1 st Ed.                A.44   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Sample Database




Database System Concepts, 1 st Ed.         A.45   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Two Data-Structure Diagrams




Database System Concepts, 1 st Ed.   A.46   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Sample Database Corresponding to
                 Diagram of Figure A.3b




Database System Concepts, 1 st Ed.   A.47   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Sample Database Corresponding to
                 Diagram of Figure A.6b




Database System Concepts, 1 st Ed.   A.48   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Sample Database Corresponding to
                Diagram of Figure A.8b




Database System Concepts, 1 st Ed.   A.49   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Two Data-Structure Diagrams




Database System Concepts, 1 st Ed.   A.50   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Sample Database Corresponding to
               the Diagram of Figure A.11




Database System Concepts, 1 st Ed.   A.51   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
DBTG Set




Database System Concepts, 1 st Ed.      A.52   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Three Set Occurrences




Database System Concepts, 1 st Ed.            A.53   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Data-Structure and E-R Diagram




Database System Concepts, 1 st Ed.   A.54   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
A customer Record




Database System Concepts, 1 st Ed.          A.55   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Clustered Record Placement for
                     Instance for Figure A.1




Database System Concepts, 1 st Ed.   A.56   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Class Enrollment E-R Diagram




Database System Concepts, 1 st Ed.   A.57   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Parent—Child E-R Diagram




Database System Concepts, 1 st Ed.    A.58   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
Car-Insurance E-R Diagram




Database System Concepts, 1 st Ed.    A.59   ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100

Contenu connexe

Tendances

Dbms questions
Dbms questionsDbms questions
Dbms questions
Srikanth
 

Tendances (20)

Sql 2009
Sql 2009Sql 2009
Sql 2009
 
VNSISPL_DBMS_Concepts_ch22
VNSISPL_DBMS_Concepts_ch22VNSISPL_DBMS_Concepts_ch22
VNSISPL_DBMS_Concepts_ch22
 
Lee oracle
Lee oracleLee oracle
Lee oracle
 
Unit 2 rdbms study_material
Unit 2  rdbms study_materialUnit 2  rdbms study_material
Unit 2 rdbms study_material
 
VNSISPL_DBMS_Concepts_ch13
VNSISPL_DBMS_Concepts_ch13VNSISPL_DBMS_Concepts_ch13
VNSISPL_DBMS_Concepts_ch13
 
Unit 3 rdbms study_materials-converted
Unit 3  rdbms study_materials-convertedUnit 3  rdbms study_materials-converted
Unit 3 rdbms study_materials-converted
 
VNSISPL_DBMS_Concepts_ch18
VNSISPL_DBMS_Concepts_ch18VNSISPL_DBMS_Concepts_ch18
VNSISPL_DBMS_Concepts_ch18
 
Dbms questions
Dbms questionsDbms questions
Dbms questions
 
VNSISPL_DBMS_Concepts_ch19
VNSISPL_DBMS_Concepts_ch19VNSISPL_DBMS_Concepts_ch19
VNSISPL_DBMS_Concepts_ch19
 
RDBMS concepts
RDBMS conceptsRDBMS concepts
RDBMS concepts
 
Chapter 6 Database SC025 2017/2018
Chapter 6 Database SC025 2017/2018Chapter 6 Database SC025 2017/2018
Chapter 6 Database SC025 2017/2018
 
Database Concepts and Components
Database Concepts and ComponentsDatabase Concepts and Components
Database Concepts and Components
 
Bt0066
Bt0066Bt0066
Bt0066
 
Vnsispl dbms concepts_ch1
Vnsispl dbms concepts_ch1Vnsispl dbms concepts_ch1
Vnsispl dbms concepts_ch1
 
rdbms-notes
rdbms-notesrdbms-notes
rdbms-notes
 
Db Concepts1
Db Concepts1Db Concepts1
Db Concepts1
 
Comparison of Relational Database and Object Oriented Database
Comparison of Relational Database and Object Oriented DatabaseComparison of Relational Database and Object Oriented Database
Comparison of Relational Database and Object Oriented Database
 
Database Architecture
Database ArchitectureDatabase Architecture
Database Architecture
 
Dms01
Dms01Dms01
Dms01
 
P341
P341P341
P341
 

Similaire à VNSISPL_DBMS_Concepts_appA

L2s 090701234157 Phpapp02
L2s 090701234157 Phpapp02L2s 090701234157 Phpapp02
L2s 090701234157 Phpapp02
google
 

Similaire à VNSISPL_DBMS_Concepts_appA (20)

VNSISPL_DBMS_Concepts_ch7
VNSISPL_DBMS_Concepts_ch7VNSISPL_DBMS_Concepts_ch7
VNSISPL_DBMS_Concepts_ch7
 
VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4
 
Vnsispl dbms concepts_ch3
Vnsispl dbms concepts_ch3Vnsispl dbms concepts_ch3
Vnsispl dbms concepts_ch3
 
VNSISPL_DBMS_Concepts_ch6
VNSISPL_DBMS_Concepts_ch6VNSISPL_DBMS_Concepts_ch6
VNSISPL_DBMS_Concepts_ch6
 
VNSISPL_DBMS_Concepts_ch2
VNSISPL_DBMS_Concepts_ch2VNSISPL_DBMS_Concepts_ch2
VNSISPL_DBMS_Concepts_ch2
 
VNSISPL_DBMS_Concepts_ch9
VNSISPL_DBMS_Concepts_ch9VNSISPL_DBMS_Concepts_ch9
VNSISPL_DBMS_Concepts_ch9
 
VNSISPL_DBMS_Concepts_ch10
VNSISPL_DBMS_Concepts_ch10VNSISPL_DBMS_Concepts_ch10
VNSISPL_DBMS_Concepts_ch10
 
VNSISPL_DBMS_Concepts_ch20
VNSISPL_DBMS_Concepts_ch20VNSISPL_DBMS_Concepts_ch20
VNSISPL_DBMS_Concepts_ch20
 
VNSISPL_DBMS_Concepts_ch8
VNSISPL_DBMS_Concepts_ch8VNSISPL_DBMS_Concepts_ch8
VNSISPL_DBMS_Concepts_ch8
 
VNSISPL_DBMS_Concepts_ch12
VNSISPL_DBMS_Concepts_ch12VNSISPL_DBMS_Concepts_ch12
VNSISPL_DBMS_Concepts_ch12
 
Network model.ppt
Network model.pptNetwork model.ppt
Network model.ppt
 
Databases
DatabasesDatabases
Databases
 
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
 
Introduction To DBMS
Introduction To DBMSIntroduction To DBMS
Introduction To DBMS
 
Couch db
Couch dbCouch db
Couch db
 
VNSISPL_DBMS_Concepts_ch24
VNSISPL_DBMS_Concepts_ch24VNSISPL_DBMS_Concepts_ch24
VNSISPL_DBMS_Concepts_ch24
 
L2s 090701234157 Phpapp02
L2s 090701234157 Phpapp02L2s 090701234157 Phpapp02
L2s 090701234157 Phpapp02
 
App a
App aApp a
App a
 
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxDATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
 
ROC for Adaptive Systems
ROC for Adaptive SystemsROC for Adaptive Systems
ROC for Adaptive Systems
 

Plus de sriprasoon

Inventory Management
Inventory ManagementInventory Management
Inventory Management
sriprasoon
 

Plus de sriprasoon (11)

VNSISPL_DBMS_Concepts_AppC
VNSISPL_DBMS_Concepts_AppCVNSISPL_DBMS_Concepts_AppC
VNSISPL_DBMS_Concepts_AppC
 
VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25VNSISPL_DBMS_Concepts_ch25
VNSISPL_DBMS_Concepts_ch25
 
VNSISPL_DBMS_Concepts_ch23
VNSISPL_DBMS_Concepts_ch23VNSISPL_DBMS_Concepts_ch23
VNSISPL_DBMS_Concepts_ch23
 
VNSISPL_DBMS_Concepts_ch21
VNSISPL_DBMS_Concepts_ch21VNSISPL_DBMS_Concepts_ch21
VNSISPL_DBMS_Concepts_ch21
 
VNSISPL_DBMS_Concepts_ch17
VNSISPL_DBMS_Concepts_ch17VNSISPL_DBMS_Concepts_ch17
VNSISPL_DBMS_Concepts_ch17
 
VNSISPL_DBMS_Concepts_ch16
VNSISPL_DBMS_Concepts_ch16VNSISPL_DBMS_Concepts_ch16
VNSISPL_DBMS_Concepts_ch16
 
VNSISPL_DBMS_Concepts_ch15
VNSISPL_DBMS_Concepts_ch15VNSISPL_DBMS_Concepts_ch15
VNSISPL_DBMS_Concepts_ch15
 
VNSISPL_DBMS_Concepts_ch14
VNSISPL_DBMS_Concepts_ch14VNSISPL_DBMS_Concepts_ch14
VNSISPL_DBMS_Concepts_ch14
 
VNSISPL_DBMS_Concepts_ch11
VNSISPL_DBMS_Concepts_ch11VNSISPL_DBMS_Concepts_ch11
VNSISPL_DBMS_Concepts_ch11
 
VNSISPL_DBMS_Concepts_ch5
VNSISPL_DBMS_Concepts_ch5VNSISPL_DBMS_Concepts_ch5
VNSISPL_DBMS_Concepts_ch5
 
Inventory Management
Inventory ManagementInventory Management
Inventory Management
 

Dernier

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Dernier (20)

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 

VNSISPL_DBMS_Concepts_appA

  • 1. Chapter A: Network Model s Basic Concepts s Data-Structure Diagrams s The DBTG CODASYL Model s DBTG Data-Retrieval Facility s DBTG Update Facility s DBTG Set-Processing Facility s Mapping of Networks to Files Database System Concepts, 1 st Ed. A.1 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 2. Basic Concepts s Data are represented by collections of records. q similar to an entity in the E-R model q Records and their fields are represented as record type type customer = record type account = record customer-name: string; account-number: integer; customer-street: string; balance: integer; customer-city: string; end end s Relationships among data are represented by links q similar to a restricted (binary) form of an E-R relationship q restrictions on links depend on whether the relationship is many- many, many-to-one, or one-to-one. Database System Concepts, 1 st Ed. A.2 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 3. Data-Structure Diagrams s Schema representing the design of a network database. s A data-structure diagram consists of two basic components: q Boxes, which correspond to record types. q Lines, which correspond to links. s Specifies the overall logical structure of the database. Database System Concepts, 1 st Ed. A.3 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 4. Data-Structure Diagrams (Cont.) s For every E-R diagram, there is a corresponding data-structure diagram. Database System Concepts, 1 st Ed. A.4 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 5. Data-Structure Diagrams (Cont.) s Since a link cannot contain any data value, represent an E-R relationship with attributes with a new record type and links. Database System Concepts, 1 st Ed. A.5 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 6. General Relationships s To represent an E-R relationship of degree 3 or higher, connect the participating record types through a new record type that is linked directly to each of the original record types. 1. Replace entity sets account, customer, and branch with record types account, customer, and branch, respectively. 2. Create a new record type Rlink (referred to as a dummy record type). 3. Create the following many-to-one links: q CustRlink from Rlink record type to customer record type q AcctRlnk from Rlink record type to account record type q BrncRlnk from Rlink record type to branch record type Database System Concepts, 1 st Ed. A.6 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 7. Network Representation of Ternary Relationship Database System Concepts, 1 st Ed. A.7 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 8. The DBTG CODASYL Model s All links are treated as many-to-one relationships. s To model many-to-many relationships, a record type is defined to represent the relationship and two links are used. Database System Concepts, 1 st Ed. A.8 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 9. DBTG Sets s The structure consisting of two record types that are linked together is referred to in the DBTG model as a DBTG set s In each DBTG set, one record type is designated as the owner, and the other is designated as the member, of the set. s Each DBTG set can have any number of set occurrences (actual instances of linked records). s Since many-to-many links are disallowed, each set occurrence has precisely one owner, and has zero or more member records. s No member record of a set can participate in more than one occurrence of the set at any point. s A member record can participate simultaneously in several set occurrences of different DBTG sets. Database System Concepts, 1 st Ed. A.9 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 10. Repeating Groups s Provide a mechanism for a field to have a set of values rather than a single value. s Alternative representation of weak entities from the E-R model s Example: Two sets. q customer (customer-name) q customer-address (customer-street, customer-city) s The following diagrams represent these sets without the repeating- group construct. Database System Concepts, 1 st Ed. A.10 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 11. Repeating Groups (Cont.) s With the repeating-group construct, the data-structure diagram consists of the single record type customer. Database System Concepts, 1 st Ed. A.11 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 12. DBTG Data-Retrieval Facility s The DBTG data manipulation language consists of a number of commands that are embedded in a host language. s Run unit — system application program consisting of a sequence of host language and DBTG command statements. Statements access and manipulate database items as well as locally declared variables. s Program work-area (or user work area) — a buffer storage area the system maintains for each application program Database System Concepts, 1 st Ed. A.12 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 13. DBTG Variables s Record Templates s Currency pointers q Current of record type q Current of set type q Current of run unit s Status flags q DB-status is most frequently used q Additional variables: DB-set-name, DB-record-name, and DB-data-name Database System Concepts, 1 st Ed. A.13 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 14. Example Schema Database System Concepts, 1 st Ed. A.14 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 15. Example Program Work Area s Templates for three record types: customer, account, and branch. s Six currency pointers q Three pointers for record types: one each tot he most recently accessed customer, account, and branch record q Two pointers for set types: one to the most recently accessed record in an occurrence of the set depositor, one to the most recently accessed record in an occurrence of the set account- branch q One run-unit pointer. s Status flags: four variables defined previously s Following diagram shows an example program work area state. Database System Concepts, 1 st Ed. A.15 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 16. Database System Concepts, 1 st Ed. A.16 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 17. The Find and Get Commands s find locates a record in the database and sets the appropriate currency pointers s get copies of the record to which the current of run-unit points from the database to the appropriate program work area template s Example: Executing a find command to locate the customer record belonging to Johnson causes the following changes to occur in the state of the program work area. q The current of the record type customer now points to the record of Johnson. q The current of set type depositor now points to the set owned by Johnson q The current of run unit now points to customer record Johnson. Database System Concepts, 1 st Ed. A.17 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 18. Access of Individual Records s find any <record type> using <record-field> Locates a record of type <record type> whose <record-field> value is the same as the value of <record-field> in the <record type> template in the program work area. s Once such a record is found, the following currency pointers are set to point to that record: q The current of run-unit pointer q The record-type currency pointer for <record type> q For each set in which that record belongs, the appropriate set currency pointer s find duplicate <record type> using <record-field> Locates (according to a system-dependent ordering) the next record that matches the <record-field> Database System Concepts, 1 st Ed. A.18 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 19. Access of Records Within a Set s Other find commands locate records in the DBTG set that is pointed to by the <set-type> currency pointer. s find first <record type> within <set-type> Locates the first database record of type <record type> belonging to the current <set-type>. s To locate the other members of a set,k we use find next <record type> within <set-type> which finds the next element in the set <set-type>. s find owner within <set-type> Locates the owner of a particular DBTG set Database System Concepts, 1 st Ed. A.19 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 20. Predicates s For queries in which a field value must be matched with a specified range of values, rather than to only one, we need to: q get the appropriate records into memory q examine each one separately for a match q determine whether each is the; target of our find statement Database System Concepts, 1 st Ed. A.20 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 21. Example DBTG Query s Print the total number of accounts in the Perryridge branch with a balance greater than $10,000. count := 0; branch.branch-name := “Perryridge”; find any branch using branch-name; find first account within account-branch; while DB-status = 0 do begin get account if account.balance > 10000 then count := count + 1; find next account within account-branch; end print (count); Database System Concepts, 1 st Ed. A.21 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 22. DBTG Update Facility s DBTG mechanisms are available to update information in the database. s To create a new record of type <record type> q insert the appropriate values in the corresponding <record type> template q add this new record to the database by executing store <record type> s Can create and add new records only one at a time Database System Concepts, 1 st Ed. A.22 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 23. DBTG Update Facility (Cont.) s To modify an existing record of type <record type> q find that record in the database q get that record into memory q change the desired fields in the template of <record type> q reflect the changes to the record to which the currency point of <record type> points by executing modify <record type> Database System Concepts, 1 st Ed. A.23 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 24. DBTG Update Facility (Cont.) s To delete an existing record of type <record type> q make the currency pointer of that type point to the record in the database to be deleted q delete that record by executing erase <record type> s Delete an entire set occurrence by finding the owner of the set and executing erase all <record type> q Deletes the owner of the set, as well as all the set’s members. q If a member of the set is an owner of another set, the members of that second set also will be deleted. q erase all is recursive. Database System Concepts, 1 st Ed. A.24 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 25. DBTG Set-Processing Facility s Mechanisms are provided for inserting records into and removing records from a particular set occurrence s Insert a new record into a set by executing the connect statement. connect <record type> to <set-type> s Remove a record from a set by executing the disconnect statement. disconnect <record type> from <set-type> Database System Concepts, 1 st Ed. A.25 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 26. Example disconnect Query s Close account A-201, that is, delete the relationship between account A-201 and its customer, but archive the record of account A-201. s The following program removes account A-201 from the set occurrence of type depositor. The account will still be accessible in the database for record-keeping purposes. account.account-number := “A-201”; find for update any account using account-number. get account, find owner within depositor, disconnect account from depositor. Database System Concepts, 1 st Ed. A.26 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 27. DBTG Set-Processing Facility (Cont.) s To move a record of type <record type> from one set occurrence to another set occurrence of type <set-type> q Find the appropriate record and the owner of the set occurrences to which that record is to be moved. q Move the record by executing reconnect <record type> to <set-type> s Example: Move all accounts of Hayes that are currently at the Perryridge branch to the Downtown branch. Database System Concepts, 1 st Ed. A.27 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 28. Example reconnect Query customer.customer-name := “Hayes”; find any customer using customer-name; find first account within depositor; while DB-status = 0 do begin find owner within account-branch; get branch; if branch.branch-name = “Perryridge” then begin branch.branch-name := “Downtown”; find any branch using branch-name; reconnect account to account-branch; end find next account within depositor, end Database System Concepts, 1 st Ed. A.28 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 29. DBTG Set-Processing Facility (Cont.) s A newly created member record of type <record type> of a set type <set-type> can be added to a set occurrence either explicitly (manually) or implicitly (automatically). s Specify the insert mode at set-definition time via insertion is <insert mode> q manual: connect <record type> to <set-type> q automatic: store <record type> Database System Concepts, 1 st Ed. A.29 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 30. Set Insertion Example s Create account A535 for customer Hayes at the Downtown branch. s Set insertion is manual for set type depositor and is automatic for set type account-branch. branch.branch-name := “Downtown”; find any branch using branch-name; account.account-number := “A-535”; account.balance := 0; store account; customer.customer-name := “Hayes”; find any customer using customer-name; connect account to depositor; Database System Concepts, 1 st Ed. A.30 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 31. DBTG Set-Processing Facility (Cont.) s Restrictions on how and when a member record can be removed from a set occurrence are specified at set-definition time via retention is <retention-mode> s <retention-mode> can take one of the three forms: 1. fixed — a member record cannot be removed. To reconnect a record to another set, we must erase that record, recreate it, and then insert it into the new set occurrence. 2. mandatory — a member record of a particular set occurrence can be reconnected to another set occurrence of only type <set-type>. 3. optional — no restrictions on how and when a member record can be removed from a set occurrence. Database System Concepts, 1 st Ed. A.31 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 32. DBTG Set-Processing Facility (Cont.) s The best way to delete a record that is the owner of set occurrence of type <set-type> depends on the specification of the set retention of <set-type>. s optional — the record will be deleted and every member of the set that it owns will be disconnected. These records, however, will be in the database. s fixed — the record and all its owned members will be deleted; a member record cannot be removed from the set occurrence without being deleted. s mandatory — the record cannot be erased, because the mandatory status indicates that a member record must belong to a set occurrence. The record cannot be disconnected from that set. Database System Concepts, 1 st Ed. A.32 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 33. Set Ordering Set ordering is specified by a programmer when the set is defined: order is <order-mode> s first. A new record is inserted in the first position; the set is in reverse chronological ordering. s last. A new record is inserted in the final position; the set is in chronological ordering. s next. Suppose that the currency pointer or <set-type> points to record X. q If X is a member type, a new record is inserted in the next position following X. q If X is an owner type, a new record is inserted in the first position. Database System Concepts, 1 st Ed. A.33 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 34. Set Ordering (Cont.) s prior. If X is a member type, a new record is inserted in the position just prior to X. If X is an owner type, a new record is inserted in the last position. s system default. A new record is inserted in an arbitrary position determined by the system. s sorted. A new record is inserted in a position that ensures that the set will remain sorted. The sorting order is specified by a particular key value when a programmer defines the set. s Example: Consider the set occurrence of type depositor with the owner-record customer Turner and member-record accounts A-305, A-402, and A-408 ordered as indicated in our example schema (page A.14). Database System Concepts, 1 st Ed. A.34 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 35. Set Ordering Example s Add a new account A-125. For each <order-mode> option, the new set ordering is as follows: s first: {A-125,A-305,A-402,A-408} s last: {A-305,A-402,A-408,A-125} s next: Suppose that the currency pointer points to record “Turner”; then the new set order is {A-125,A-305,A-402,A-408} s prior: Suppose that the currency pointer points to record A-402; then the new set order is {A-305,A-125,A-402,A-408} s system default: Any arbitrary order is acceptable; thus, {A-305,A-402,A-125,A-408} is a valid set ordering s sorted: The set must be ordered in ascending order with account number being the key; thus, the ordering must be {A-125,A-305,A-402,A-408} Database System Concepts, 1 st Ed. A.35 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 36. Mapping of Networks to Files s We implement links by adding pointer fields to records that are associated via a link s Each record must have one pointer field for each link with which it is associated. s Example data-structure diagram and corresponding database. Figure missing Database System Concepts, 1 st Ed. A.36 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 37. Mapping of Networks to Files (Cont.) s Diagram showing the sample instance with pointer fields to represent the links. Each link is replaced by two pointers. Database System Concepts, 1 st Ed. A.37 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 38. Mapping of Networks to Files (Cont.) s Since the depositor link is many to many, each record can be associated with an arbitrary number of records (e.g., the account record would have a pointer to the customer record for each customer who has that account). s Direct implementation of many-to-many relationships requires the use of variable length records. s The DBTG model restricts links to be either one to one or one to many; the number of pointers needed is reduced, and it is possible to retain fixed-length records. Database System Concepts, 1 st Ed. A.38 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 39. Mapping of Networks to Files (Cont.) s Assume that the depositor link is one to many and is represented by the DBTG set depositor and this corresponding sample database. set name is depositor owner is customer member is account Database System Concepts, 1 st Ed. A.39 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 40. Mapping of Networks to Files (Cont.) s Because an account record can be associated with only one customer record, we need only one pointer in the account record to represent the depositor relationship. s A customer record can be associated with many account records. s Rather ant using multiple pointers in the customer record, we can use a ring structure to represent the entire occurrence of the DBTG set depositor. s In a ring structure, the records of both the owner an member types for a set occurrence are organized into a circular list. s There is one circular list for each set occurrence (that is, for each record of the owner type). Database System Concepts, 1 st Ed. A.40 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 41. Example Ring Structure Database System Concepts, 1 st Ed. A.41 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 42. Modified Ring Structures s Execute find owner via a ring structure in which every member-type record contains a second pointer which points to the owner record. Database System Concepts, 1 st Ed. A.42 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 43. Physical Placement of Records s To specify the storage strategy for DBTG set, add a placement clause to the definition of the member record type. s The clause placement clustered via depositor will store members of each set occurrence close to one another physically on disk, if possible, in the same block. s Store owner and member records close to one another physically on disk by adding the clause near owner. placement clustered via depositor near owner Database System Concepts, 1 st Ed. A.43 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 44. Physical Placement of Records (Cont.) s Storing member records in the same block as the owner reduces the number of block accesses required to read an entire set occurrence. Database System Concepts, 1 st Ed. A.44 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 45. Sample Database Database System Concepts, 1 st Ed. A.45 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 46. Two Data-Structure Diagrams Database System Concepts, 1 st Ed. A.46 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 47. Sample Database Corresponding to Diagram of Figure A.3b Database System Concepts, 1 st Ed. A.47 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 48. Sample Database Corresponding to Diagram of Figure A.6b Database System Concepts, 1 st Ed. A.48 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 49. Sample Database Corresponding to Diagram of Figure A.8b Database System Concepts, 1 st Ed. A.49 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 50. Two Data-Structure Diagrams Database System Concepts, 1 st Ed. A.50 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 51. Sample Database Corresponding to the Diagram of Figure A.11 Database System Concepts, 1 st Ed. A.51 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 52. DBTG Set Database System Concepts, 1 st Ed. A.52 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 53. Three Set Occurrences Database System Concepts, 1 st Ed. A.53 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 54. Data-Structure and E-R Diagram Database System Concepts, 1 st Ed. A.54 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 55. A customer Record Database System Concepts, 1 st Ed. A.55 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 56. Clustered Record Placement for Instance for Figure A.1 Database System Concepts, 1 st Ed. A.56 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 57. Class Enrollment E-R Diagram Database System Concepts, 1 st Ed. A.57 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 58. Parent—Child E-R Diagram Database System Concepts, 1 st Ed. A.58 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100
  • 59. Car-Insurance E-R Diagram Database System Concepts, 1 st Ed. A.59 ©VNS InfoSolutions Private Limited, Varanasi(UP), India 22100