Once you have customized the configuration files and generated the master index application, you can create the master index database. Before you begin, make sure you have Oracle or SQL Server installed on the database server.
During this process you can define custom startup data, such as code lists and source systems. The wizard defines SQL statements in the Code List and Systems SQL files (codelist.sql and system.sql) to insert startup data into the database based on information you specify, and you can customize the statements to insert the data relevant to your object structure. The code lists you define are used to translate processing codes from incoming messages into descriptions for the EDM fields and to create drop-down lists for EDM fields. System information is required in order to add records to the master index application.
Follow these steps to create the database.
Step 1: Analyze the Master Index Database Requirements (Repository)
Step 2: Create a Master Index Database and User (Repository)
Step 7: Create Custom Master Index Database Scripts (Repository)
Step 8: Create the Master Index Database Structure (Repository)
Step 9: Specify a Starting EUID for a Master Index (Repository)
You can also delete the database for testing purposes using the supplied script. See Deleting Master Index Database Tables (Repository) for more information.
Before you begin to create the master index database, perform an analysis of the structure of the legacy data to be stored in the database and determine the amount of data that will be processed daily. During the analysis, be sure to define the processing codes that need to be stored in the common maintenance tables and the systems that will share data with the master index application. You should also know the length and format of the local IDs assigned by each system.
A database administrator who is familiar with your data and processing requirements should perform this task. After this task is complete, continue to Step 2: Create a Master Index Database and User (Repository).
For additional information and guidelines about how to set up your database, see Master Index Database Scripts and Design (Repository).
Before beginning this step, complete Step 1: Analyze the Master Index Database Requirements (Repository). After you create the database instance and user, continue to Step 3: Define Master Index Database Indexes (Repository) if you want to define additional database indexes; otherwise skip to Step 4: Define Master Index External Systems (Repository).
For this step you need to create a database in which the master index database instance will be created. Use your Oracle or SQL Server tools to create the database. Using these tools, you define tablespaces, including their sizes and locations; extents; and dump file, log file, and rollback file sizes and locations. Make sure these issues have been thoroughly analyzed and designed before creating the database.
Once you create the database, you can use standard SQL to create the master index application user for the database. The user you create in this step will be used to create the database structure and to connect to the database through the EDM and through the application server.
For Oracle, assign the user to the “connect” and “resource” roles for the master index tablespaces. For example:
create user username identified by password; grant connect, resource to username; commit; |
where username is the login ID of the administrator user and password is the login password of the administrator user.
For SQL Server, assign this user to the “db_owner” role. You need to create the server login, create the user, and then assign the user to the role. For example:
CREATE LOGIN loginname WITH PASSWORD = ’password’, DEFAULT_DATABASE = database; CREATE USER username FOR LOGIN loginname; USE database; EXECUTE sp_addrolemember ’db_owner’, ’ username’ GO |
where loginname is the login ID for the administrator user, password is the login password, database is the database name, and username is the owner of the database tables created in the master index database.
SQL Server allows Windows Authentication, where only a user name is required. Java CAPS products require full authentication, including both a user name and password. You need to create a database user specifically for the master index application.
If you prefer to assign individual permissions to the user instead of roles, the following permissions are needed.
To optimize data processing in the master index application, you can define additional indexes for the database tables that store object data. Best practice is to define indexes for each field used for searching, blocking, or matching. You can define these indexes in the Create Application_name Database file file or create a new script. Before you begin this step, complete Step 2: Create a Master Index Database and User (Repository).
Under the master index project in the Projects window, expand Database Scripts and then open the Create Application_name Database file in the NetBeans editor.
Do any of the following:
Save and close the file.
Continue to Step 4: Define Master Index External Systems (Repository).
A SQL script is automatically created to insert the systems you specified in the wizard. These statements are provided in the Systems file in the master index project. Before you begin this step, complete Step 2: Create a Master Index Database and User (Repository) and, optionally, Step 3: Define Master Index Database Indexes (Repository).
Under the master index project in the Projects window, expand Database Scripts and then open the Systems file in the NetBeans editor.
For each system, create an INSERT statement using the column descriptions in Master Index Database Table Description for sbyn_systems (Repository) to define the VALUES clause.
For example:
INSERT into sbyn_systems (systemcode, description, status, id_length, format, input_mask, value_mask, create_date, create_userid) VALUES (’ARS’, ’Automated Registration System’, ’A’, 10, ’[0-9]{10}’, ’DDD-DDD-DDDD’, ’DDD^DDD^DDDD’, sysdate, ”admin’); |
Delete any default INSERT statements you do not need.
Save and close the file.
Continue to Step 5: Define Master Index Code Lists (Repository).
The following table lists and describes the columns in the sbyn_systems database table so you can create SQL statements to insert source system information into the master index database.
You only need to perform this step if you defined any fields in the object structure to have a code module. The SQL script for entering processing codes and descriptions into the database is written in PL/SQL. The wizard creates a stanza in the Code List file (located under the Database Script node of the project) for each code list you specified in the field properties. You need to customize the file by defining the entries for each code list. This script inserts data into two tables: sbyn_common_header, which lists the types of common table data, and sbyn_common_detail, which lists each common table data element. Before you begin this step, complete Step 4: Define Master Index External Systems (Repository).
The codes you specify in this file can be no longer than eight characters (the codes are the second value in the value list for each common table data type and data element).
Under the master index project in the Projects window, expand Database Scripts and then open the Code Lists file in the NetBeans editor.
Scroll to the following line.
codes tCodeList := tCodeList(
The statements following this line must be customized.
In the first code list stanza, change “module description” in the first line to a brief description of the code type.
For example:
-- **** PHONTYPE **** tCode(’L’, ’PHONTYPE’, ’TELEPHONE TYPE’),
Create the entries for the module using the following syntax:
tCode(’V’, ’code’, ’code description’),
where “code” is the processing code of the data element and “code description” is the description of the element as you want it to appear on the Enterprise Data Manager windows. For example:
-- **** PHONTYPE **** tCode(’L’, ’PHONTYPE’, ’TELEPHONE TYPE’), tCode(’V’, ’H’, ’HOME’), tCode(’V’, ’C’, ’CELL’), tCode(’V’, ’F’, ’FAX’), tCode(’V’, ’O’, ’OFFICE’), tCode(’V’, ’HB’, ’HOME BUSINESS’),
Repeat the previous two steps for each code list type defined in the file.
If you specified additional code list fields in the Object Definition file and the Enterprise Data Manager file after the database scripts were generated, add a new stanza for each new code type.
In the last code module stanza, make sure each line except the last contains a comma at the end.
For example:
-- **** ADDRTYPE **** tCode(’L’, ’ADDRTYPE’, ’ADDRESS TYPE’), tCode(’V’, ’H’, ’HOME’), tCode(’V’, ’B’, ’BUSINESS’), tCode(’V’, ’M’, ’MAILING’)
Save and close the file.
Do one of the following:
If you need to define user code lists, continue to Step 6: Define Master Index User Code Lists (Repository).
If you need to create a custom database script, skip to Step 7: Create Custom Master Index Database Scripts (Repository).
If you are ready to create the master index database structure, skip to Step 8: Create the Master Index Database Structure (Repository).
Under the master index project in the Projects window, expand Database Scripts and then open the Code Lists file in the NetBeans editor.
Scroll to the following line.
begin
The statements following this line must be customized.
In the first code list stanza, change “module description” in the first line to a brief description of the code type.
For example:
-- **** PHONTYPE **** insert into @codelist values(’L’, ’PHONTYPE’, ’TELEPHONE TYPE’)
Create the entries for the module using the following syntax:
insert into @codelist values(’V’, ’code’, ’code description’)
where “code” is the processing code of the data element and “code description” is the description of the element as you want it to appear on the Enterprise Data Manager windows. For example:
-- **** PHONTYPE **** insert into @codelist values(’L’, ’PHONTYPE’, ’TELEPHONE TYPE’) insert into @codelist values(’V’, ’H’, ’HOME’) insert into @codelist values(’V’, ’C’, ’CELL’) insert into @codelist values(’V’, ’F’, ’FAX’) insert into @codelist values(’V’, ’O’, ’OFFICE’) insert into @codelist values(’V’, ’HB’, ’HOME BUSINESS’)
Repeat the previous two steps for each code list type defined in the file.
If you specified additional code list fields in the Object Definition file and the Enterprise Data Manager file, add a new stanza for each new code type.
Save and close the file.
Do one of the following:
To define user code lists, continue to Step 6: Define Master Index User Code Lists (Repository).
To create a custom database script, skip to Step 7: Create Custom Master Index Database Scripts (Repository).
To create the master index database structure, skip to Step 8: Create the Master Index Database Structure (Repository).
If you specified a value for theConstrained By and User Code properties of a field, you must define the user code values for those fields. Below is a sample insert statement for the sbyn_user_code table.
insert into sbyn_user_code (code_list, code, descr, format, input_mask, value_mask) values (’AUXIDDEF’, ’CC’, ’CREDIT CARD’, ’[0-9]{16}’, ’DDDD-DDDD-DDDD-DDDD’, ’DDDD^DDDD^DDDD^DDDD’);
To learn more about the sbyn_user_code table, see Master Index Database Table Description for sbyn_user_code (Repository). Complete Step 5: Define Master Index Code Lists (Repository) before beginning this step.
In the Projects window, right-click the Database Script node of the master index project.
In the Database context menu, select New.
Enter the name of the script, and then click OK.
The file opens in the NetBeans editor.
Use the above sample to define a value for the user code drop-down list and the required format for the dependent fields.
Repeat the above step for each drop-down list value and type (for example you might have one list for credit cards and another for postal codes and their corresponding cities).
Save and close the file.
Continue to Step 7: Create Custom Master Index Database Scripts (Repository) or to Step 8: Create the Master Index Database Structure (Repository) if you do not need to create any custom database scripts.
The following table lists and describes the columns in the sbyn_user_code database table so you can create SQL statements to insert user code data into the master index database.
You can insert additional information into the database by creating a custom script under the Database Script node. For information about the structure of the master index database, see Understanding Sun Master Index Processing (Repository).
In the master index project, right-click the Database Script node.
Click New.
Enter the name of the script, and then click OK.
The new script appears under the Database Script node.
Double-click the new script.
The text editor appears.
In the text editor, create the SQL script to insert the custom data.
Save and close the file.
Continue to Step 8: Create the Master Index Database Structure (Repository).
After you create the database instance and customize the database scripts, you can create the master index tables and insert the custom data.
In the master index project, right-click the Database Script node, and then select Properties from the Database Script context menu.
Do one of the following:
For Oracle: In the Database Server field, change <host> to the database server address and change <SID> to the SID name of the database you created in Step 2: Create a Master Index Database and User (Repository). If Oracle is not listening on the default port, 1521, enter the correct port number. You can use “localhost” as the hostname if the database resides on the same machine as NetBeans.
For example:
jdbc:oracle:thin:@localhost:1521:IndexDB
For SQL Server: In the Database Server field, change the URL to the following:
jdbc:sqlserver://server:port;databaseName=database
where server is the address of the database server, port is the port number on which SQL Server is listening, and database is the name of the database. You can use “localhost” for the hostname if the database resides on the same machine as NetBeans.
In the Password field, enter the password of the administrator user you created when you created the database (creating an administrator user is described under Step 2: Create a Master Index Database and User (Repository)).
In the User field, enter the administrator user’s logon ID.
Make sure you enter the database logon credentials for the administrator user you created. You cannot use the logon credentials for the default system user (the database tables will be created, but the master index application will not function correctly).
Close the dialog box by clicking the “X” icon in the upper right corner of the dialog box.
Right-click Createapp_name (where app_name is the name of the master index application) Database, and then select Run. On the confirmation dialog box, click OK.
For each additional script to run against the database, right-click the name of the script, and then select Run. On the confirmation dialog box, click OK.
By default, the EUIDs assigned by the master index application start with “0”, with padded zeroes added to the left to make the EUID number the correct length (for more information, see Understanding Sun Master Index Configuration Options (Repository)). You can modify this numbering format by changing the value of the seq_name column of the sbyn_seq_table database table where the sequence name is “EUID”. For example:
update sbyn_seq_table set seq_count=1000000001 where seq_name=’EUID’;