[[TracNav(TracNav/ISO15926HowTo)]] = ISO 15926 Tutorials = Status of this document: Working Draft This document is open for feedback, please post questions and comments in the forum at the bottom of this page. You will [WikiStart#Contactpoints need a login] to post in the forum. ---- [[PageOutline(2-4,Contents,inline)]] ---- == Mapping to ISO 15926 Part 4 Using the RDS/WIP == Mapping databases together is the entry level for using ISO 15926. The basic task is to examine each attribute to determine what it means, then find the appropriate class in the RDS/WIP, which is ISO 15926 part 4 (15926-4). Benefits of using ISO 15926-4: * It's already there. (Creating a taxonomy of terms for something as complex as a petrochemical plant or refinery is not trivial.) * It's there next time too. (You don't have to keep reinvent it next time. Re-use is easier every time you use it.) * Other use it too. (When you share information with a partner that has used ISO 15926-4 before, the infrastructure is already in place. Both of you will have less adjusting to do.) === Scenario === In this scenario we will imagine an owner, an engineer, and a constructor exchanging information. The owner wants early information about each pipe line to populate its line list, the engineer is designing the plant with a 3D design tool, and the constructor wants to feed the piping components to a purchasing application. Each tool has its own database. It is your job to map the information to common ISO 15926-4 classes. Each participant requires two tables, one for pipe lines and one for valves. === [wiki:ISO15926HowTo_Tutorial_DBscripts Create Database Scripts] === The first step is to get a description of the database columns involved in the exchange. In our example, we will assume that a database administrator in each of the three organizations gives you a SQL script that will create the tables at that organization, and another script to load a couple rows of sample data. We prefer scripts that create the tables, rather than CSV file or spreadsheet, because the column names are sometimes ambiguous and the data types and sizes give valuable clues. We want sample data for the same reason; when the column names are ambiguous, looking at some sample data will give a clue. We prefer the data dumps in the form of scripts that will create the data rows because we invariably need to create and delete test data many times. Assumption: That you know enough of SQL databases to read the scripts and data dumps. This will be necessary in the real world because you may have to build the database loading scripts from a printed data dump if the database cannot generate it for you. You will only need to download one set of files. We have provided the files in three forms, for Oracle, SQL Server, and SQL Server 2005 Express, because that is the systems the authors of this page used. '''3D design system database''' * attachment:3D_CreateTables_Ora.sql * attachment:3D_LoadTables_Ora.sql * attachment:3D_CreateTables_SS.sql * attachment:3D_LoadTables_SS.sql * attachment:3D_CreateTables_2K5.sql * attachment:3D_LoadTables_2K5.sql '''Owner Line List database''' * attachment:LL_CreateTables_Ora.sql * attachment:LL_LoadTables_Ora.sql * attachment:LL_CreateTables_SS.sql * attachment:LL_LoadTables_SS.sql * attachment:LL_CreateTables_2K5.sql * attachment:LL_LoadTables_2K5.sql '''Constructor Material Control database''' * attachment:MM_CreateTables_Ora.sql * attachment:MM_LoadTables_Ora.sql * attachment:MM_CreateTables_SS.sql * attachment:MM_LoadTables_SS.sql * attachment:MM_CreateTables_2K5.sql * attachment:MM_LoadTables_2K5.sql === [wiki:ISO15926HowTo_Tutorial_Spreadsheet Creating a Mapping Spreadsheet] === The first step is to look at the three sets of data and create a cross-reference list for each table. We want to be able to show equivalent database rows in the same row of the list. A spreadsheet is an excellent medium. Create a pair of columns for each participant, and three columns for ISO 15926-4 information: * 3D Table * 3D Column * Line List Table * Line List Column * Material Table * Material Column * ISO 15926 Class Label * ISO 15926 Class ID * ISO 15926 Description Sample Spreadsheet * attachment:MappingSpreadsheet_Blank.xls Examine the columns in each database listing and arrange equivalent column names on the same row. The example below starts with the columns in the 3D table, with the Line List columns next, followed by the Material columns. Sample Spreadsheet * attachment:MappingSpreadsheet_Columns.xls The first thing you notice is that there is not an exact match between the column names, and that each database contains information that neither of the other two does. This is OK. With ISO 15926 we do not have to share all of our information with our business partners, only that which has value. === [wiki:ISO15926HowTo_Tutorial_RDSWIP_01 Mapping With the RDS/WIP] === The RDS/WIP is at this website: * rdl.rdlfacade.org For basic instructions in how to use the RDS/WIP: * [wiki:ISO15926HowTo_15926Tools_RDS_WIP Using the RDS/WIP (RDL Façade)] Basically, your task here is to search for ISO 15926-4 class that most closely matches the meaning of each of the column names in your three databases. The first thing you will notice is that the best choice is not immediately apparent. In the sample spreadsheet below, some of the data rows have more than one choice. Look at a few of them to see what the differences are. Sample Spreadsheet * attachment:MappingSpreadsheet_First.xls === [wiki:ISO15926HowTo_DiscoverTheRightClass Discovering the Right Class] === Here are some guidelines for selecting the best class: The sample spreadsheet below has had the duplicates removed, with the best choice left. Sample Spreadsheet * attachment:MappingSpreadsheet_Second.xls === [wiki:ISO15926HowTo_Tutorial_RDSWIP_02 Resolving Differences] === Sample Spreadsheet * attachment:MappingSpreadsheet_Third.xls ---- == [wiki:ISO15926HowTo_Tutorial_Templates Introduction to Templates] == ... ... ... ---- == Something Else == ... ... ... ---- == Back == * [wiki:ISO15926HowTo_Tutorial Back to Tutorials] ---- [[ViewTopic([Enter forum topic])]]