Example of Database Wrapper Class in Software Print bar code 39 in Software Example of Database Wrapper Class

15.6.2 Example of Database Wrapper Class generate, create barcode 3 of 9 none with software projects GS1 Standards Knowledge Centre An example Software barcode code39 of a database wrapper class is given in Figure 15.14. In the Banking System example, all persistent data are stored in a relational database.

Hence, each entity class maintained at the bank server is mapped to both a database relational. (a) entit y DebitCard cardID : String PIN : String startDate : Date expirationDate : Date status : Integer limit : Real total : Real. database Software 39 barcode wrapper DebitCard + create (cardID) + validate (in cardID, in PIN, out status) + updatePIN (cardID, PIN) + checkDailyLimit (cardID, amount) + updateDailyTotal (cardID, amount) + updateExpirationDate (cardID, expirationDate) + updateCardStatus (cardID, status) + updateDailyLimit (cardID, newLimit) + clearTotal (cardID) + read (in cardID, out PIN, out expirationDate, out status, out limit, out total) + delete (cardID). Figure 15.14. Example of database wrapper class: (a) Analysis model. (b) Design model Architectural Design table and a database wrapper class. For example, consider the Debit Card entity class as depicted in the analysis model in Figure 15.14a.

As the debit card data will actually be stored in a relational database, from a database perspective, the entity class is mapped to a relational table. The attributes of the entity class are mapped to the attributes of the relation. It is also necessary to design the Debit Card database wrapper class (Figure 15.

14b), which has the following operations: create, validate, checkDailyLimit, clearTotal, update, read, and delete. These operations encapsulate the SQL statements for accessing the Debit Card relational table. Note that because the class attributes can be updated separately, different update operations are provided for each of the attributes that are updated, such as the daily limit and the card status.

A call to each of the operations results in execution of a SQL statement.. 15.7 FROM STATIC MODELS TO RELATIONAL DATABASE DESIGN This secti on describes how the data contained in the entity classes of a static model are mapped to a database. Most databases are relational databases; the objective is therefore to carry out the logical design of the relational database from the conceptual static model, particularly for those entity classes that need to be persistent. For other information on relational database design, such as normalization, the reader should refer to a standard database textbook such as that by Silberschatz, Korth, and Sudarshan (2010).

It is useful to refer to 7 for the details of entity class modeling, which is the starting point for relational database design. The relational database design involves the design of the relational tables and primary keys, design of foreign keys to represent associations, design of association tables to represent association classes, design of whole/part (aggregation) relationships, and design of generalization/ specialization relationships..

15.7.1 Relational Database Concepts A relation al database consists of several relational tables, each with a unique name. In the simplest case, an entity class is designed as a relational table with the entity class name corresponding to the name of the table. Each attribute of the entity class maps to a column of the table.

Each object instance maps to a row of the table. For example, the entity class Account (Figure 15.15a) is designed as a relational table of the same name.

The attributes, accountNumber and balance, become the columns of the table. Each instance of an account becomes a row of the table, as shown in Table 15.1, which depicts an Account table with three individual accounts.

. Table 15.1. Account relational table accountNumber 1234 5678 1287 balance 398.07 439.72 851.65 Designing Client/Server Software Architectures 15.7.2 Identifying Primary Keys Each relat barcode code39 for None ional table in a relational database must have a primary key. In its simplest form, the primary key is an attribute that is used to uniquely locate a row in a table. For example, the account number is the primary key of the Account table, because it uniquely identi es an individual account.

The relational table can be expressed using the following notation: Account (accountNumber, balance) With this notation, Account is the name of the table, and accountNumber and balance are the attributes. The primary key is underlined. Thus, in the Account table, accountNumber is the primary key.

In some tables, it is necessary to have a primary key that is a combination of more than one attribute. For example, if the Account table stores both checking accounts and savings accounts (with overlapping account numbers), a second attribute (the account type) would also be needed as part of the primary key, to uniquely locate an individual account. In this example, the primary key is a concatenated key consisting of the attributes accountNumber and accountType.

Account (accountNumber, accountType, balance).
Copyright © . All rights reserved.