{"id":7506,"date":"2015-07-27T16:56:22","date_gmt":"2015-07-27T20:56:22","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=7506"},"modified":"2025-02-11T10:01:36","modified_gmt":"2025-02-11T15:01:36","slug":"schema-migration-relational-to-star","status":"publish","type":"post","link":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/","title":{"rendered":"Schema Migration: Relational to Star"},"content":{"rendered":"<p><em>Note: This article showcases the migration of a relational database (RDB) model to star schema using the Eclipse IDE for the <a href=\"https:\/\/www.iri.com\/products\/voracity\">IRI Voracity<\/a> data management platform (and its included products) called <a href=\"https:\/\/www.iri.com\/products\/workbench\">IRI Workbench<\/a>, following an introduction to both types of schema. If you are interested in migrating your RDB or data to a Data Vault 2.0 model, see <a href=\"https:\/\/www.iri.com\/blog\/iri\/iri-workbench\/data-vault-generator-wizard\/\">this article<\/a>.<\/em><\/p>\n<p>A <a href=\"http:\/\/www.iri.com\/blog\/data-transformation2\/the-enterprise-data-warehouse-then-and-now\/\">data warehouse<\/a> (DW)\u00a0is a collection of data extracted from the operational or transactional system in a business, transformed to clean up inconsistencies, and then arranged to support rapid analysis and\/or reporting. The DW requires\u00a0a schema, or\u00a0logical description and graphical representation\u00a0of its operational database.<\/p>\n<p>This article touches on those topics while providing a how-to guide for moving from a conventional relational database schema into a popular DW schema called star schema. Ultimately the purpose of this migration and the use of Voracity during and after is data warehouse (performance) optimization.<\/p>\n<p><strong>Star Schema vs. Relational<\/strong><\/p>\n<p>Most relational data structures are illustrated in entity-relationship (ER) diagrams. An ER diagram is used in the development of conceptual models for\u00a0an\u00a0online transaction processing (OLTP) database management system. It is the source from which the table structure is translated.<\/p>\n<p>The <a href=\"http:\/\/www.iri.com\/blog\/data-transformation2\/support-for-star-schema\/\" target=\"_blank\" rel=\"noopener\">star schema<\/a>, however, is the widely accepted standard for the underlying table structure of a data warehouse. Its simple star-shape (when ER-diagrammed) shows the fact table (containing transaction values or measures) in the center, and dimension tables (containing descriptive or attributive values) radiating from it. Usually,\u00a0the fact table is in third-normal form (3NF),\u00a0while dimensional tables are denormalized.<\/p>\n<p>The basic differences between an entity-relational (ER) model and a star model are\u00a0that:<\/p>\n<ol start=\"1\">\n<li>ER models use logical and physical structures for normalized database design<\/li>\n<li>Dimension models uses a physical structure for \u00a0denormalized database design<\/li>\n<\/ol>\n<p>To see how IRI software can de\/normalize data through row-column pivoting, click <a href=\"http:\/\/www.iri.com\/solutions\/data-transformation\/pivot\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong><br \/>\nConversion Process Background<\/strong><\/p>\n<p>In this article, I demonstrate how to convert data from a relational model into star using jobs you should define more or less manually, but can create and run automatically, and modify easily.<\/p>\n<p>What you will see here are IRI&#8217;s 4GL data and job specifications &#8212; expressed in &#8220;<a href=\"http:\/\/www.iri.com\/products\/cosort\/sortcl\" target=\"_blank\" rel=\"noopener\">SortCL<\/a>&#8221;\u00a0scripts<a href=\"#ftnt1\" name=\"ftnt_ref1\">[1]<\/a> &#8212; that\u00a0map data into dimension tables, and join data into the central fact table. SortCL is the core data manipulation and mapping program in\u00a0the <a href=\"http:\/\/www.iri.com\/products\/voracity\" target=\"_blank\" rel=\"noopener\">IRI Voracity<\/a>\u00a0data management and <a href=\"http:\/\/www.iri.com\/solutions\/data-integration\/etl\">ETL platform<\/a>. However,\u00a0understanding the methodology and mappings in my\u00a0SortCL\u00a0jobs is the key here, not the scripting syntax.<\/p>\n<p>The\u00a0free Eclipse GUI, <a href=\"http:\/\/www.iri.com\/products\/workbench\" target=\"_blank\" rel=\"noopener\">IRI Workbench<\/a>,\u00a0provides a syntax-aware SortCL editor, as well as graphical outlines\u00a0and dialogs, workflow and mapping diagrams, and intuitive job wizards, to <a href=\"http:\/\/www.iri.com\/products\/workbench\/voracity-gui\/design\">automatically<\/a>\u00a0build or modify these scripts if you don&#8217;t want to do it by hand. FYI, IRI uses the same metadata and GUI for profiling and diagramming DBs, generating\u00a0test data, performing ETL, formatting reports, masking PII, capturing changed data, migrating and replicating data, cleansing\u00a0and validating data, etc.<\/p>\n<p>Workbench uses an enhanced version of the Data Tools Platform (DTP) plug-in for Eclipse to connect to databases over JDBC, and to enable <a href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/creating-executing-sql-statements-in-iri-workbench\">SQL operations<\/a> and IRI metadata exchange in the Data Source Explorer (DSE) view. In this case, the Workbench\u00a0is supporting:<\/p>\n<ol start=\"1\">\n<li>the creation and population of constrained Oracle test (source) tables via SortCL\u00a0(or\u00a0<a href=\"http:\/\/www.iri.com\/products\/rowgen\" target=\"_blank\" rel=\"noopener\">IRI RowGen<\/a>\u00a0jobs, per <a href=\"http:\/\/www.iri.com\/blog\/vldb-operations\/how-to-generate-db-test-data-2\/\" target=\"_blank\" rel=\"noopener\">this article<\/a>)<\/li>\n<li>the mapping of entity table data into Dimension tables via SortCL<\/li>\n<li>the mapping of fact elements as an n-ary relation to associate the principle dimension table; i.e. performing a multi-table join in SortCL to create the Fact table<\/li>\n<li>population of all target (star schema) tables<\/li>\n<li>ER diagrams<sup><a href=\"#ftnt2\" name=\"ftnt_ref2\">[2]<\/a><\/sup>\u00a0of the source and target schemas<sup><a href=\"#ftnt3\" name=\"ftnt_ref3\">[3]<\/a><\/sup><\/li>\n<\/ol>\n<p>The entity types in my original relational model are: Dept, Emp, Project, Category, Item, Item_Use, and Sale:<\/p>\n<p><span style=\"overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 504.87px; height: 311.50px;\"><a title=\"Schema Migration to Star .jpg\" href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/Schema-Migration-to-Star-.jpg\" rel=\"prettyPhoto\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"width: 504.87px; height: 311.50px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-.jpg\" alt=\"Schema Migration to Star\" width=\"505\" height=\"312\" \/><\/a><\/span><br \/>\n<em>Before &#8230;<\/em><\/p>\n<p>The next diagram shows the final Star model with eight dimension tables and one fact table. The dimension tables are:\u00a0Dept_Dim, Emp_Dim, Emp_Salary_Range_Dim, Project_Dim, Category_Dim, Item_Price_Range_Dim, Item_Dim. The fact table in the center is Sale_Fact, which contains keys to all the dimension tables.<\/p>\n<p><span style=\"overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 624.00px; height: 364.00px;\"><a title=\"Schema Migration to Star .jpg\" href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/Schema-Migration-to-Star-1.jpg\" rel=\"prettyPhoto\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"width: 624.00px; height: 364.00px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg\" alt=\"Schema Migration to Star 1\" width=\"624\" height=\"364\" \/><\/a><\/span><br \/>\n<em>\u2026 After<\/em><\/p>\n<p><strong><br \/>\nConversion Steps<\/strong><\/p>\n<ol start=\"1\">\n<li><em>Define and create the Fact table<\/em><br \/>\nThe structure for Sale_Fact\u00a0table is shown in <a href=\"https:\/\/docs.google.com\/document\/d\/1Ltq5qU6VQjpfIcFHegOzXHiYoXQtCZgbexruwn_YtEI\/edit\">this document<\/a>. The primary key is sale_id, and the rest of the attributes are foreign keys inherited from the Dimension tables. I am using an Oracle database (though any RDB works) connected to the Workbench DSE (via JDBC) and SortCL for data transformation and mapping (via ODBC).<sup><a href=\"#ftnt4\" name=\"ftnt_ref4\">[4]<\/a><\/sup>\u00a0I created my tables in SQL scripts edited in DSE\u2019s SQL scrapbook and executed in the Workbench.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><em>Define and create the Dimension tables<\/em><br \/>\nUse the same technique and metadata linked above to create these Dimension tables that will receive the relational data mapped from SortCL jobs in the next step: Category_Dim\u00a0table, Dept\u00a0to Dept_Dim,\u00a0Project\u00a0to Project_Dim, Item\u00a0to Item_Dim, and Emp\u00a0to Emp_Dim. You can run that .SQL program with all the CREATE logic at once to build the tables.<span style=\"overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 624.00px; height: 493.33px;\"><a title=\"Schema Migration to Star .jpg\" href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/Schema-Migration-to-Star-2.jpg\" rel=\"prettyPhoto\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"width: 624.00px; height: 493.33px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-2.jpg\" alt=\"Schema Migration to Star 2\" width=\"624\" height=\"493\" \/><\/a><\/span><\/li>\n<\/ol>\n<ol start=\"3\">\n<li><em>Move the original Entity table data into the Dimension tables<\/em><br \/>\nDefine and run the SortCL jobs <a href=\"https:\/\/docs.google.com\/document\/d\/1WvRQIm0a-DF03ooqPFfyajalop1IcF9a6kvMH4Exhv0\/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\">shown here<\/a>\u00a0to map the (RowGen-created test) data from the relational schema into Dimension tables for the Star schema. Specifically, these scripts\u00a0load data from the Category\u00a0table to\u00a0the\u00a0Category_Dim\u00a0table, Dept\u00a0to Dept_Dim,\u00a0Project\u00a0to Project_Dim, Item\u00a0to Item_Dim, and Emp\u00a0to Emp_Dim.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><em>Populate the Fact Table<\/em><br \/>\nUse SortCL to join data from original\u00a0Sale, Emp, Project, Item_Use, Item, Category\u00a0entity tables to prepare data for the new Sale_Fact\u00a0table. Use the second (join job) script <a href=\"https:\/\/docs.google.com\/document\/d\/1WvRQIm0a-DF03ooqPFfyajalop1IcF9a6kvMH4Exhv0\/edit?usp=sharing\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/li>\n<\/ol>\n<p><a href=\"#\" name=\"c1b69c105f94e0ab1c5437dffe1dbe4284da71e9\"><\/a><a href=\"#\" name=\"0\"><\/a><\/p>\n<p>To enhance our example, we\u2019ll also use SortCL to introduce new dimensional data into the Star schema upon which my Fact table will also rely. You can see these additional tables in the Star diagram above that were not in my relational schema: Emp_Salary_Range_Dim\u00a0and Item_Price_Range_Dim. Those tables are created in the <a href=\"https:\/\/docs.google.com\/document\/d\/1Ltq5qU6VQjpfIcFHegOzXHiYoXQtCZgbexruwn_YtEI\/edit\">same .SQL file<\/a>\u00a0for the Fact and other Dimension tables.<\/p>\n<p>The Fact table needs the emp_salary_range_id\u00a0and item_price_range_id data from these tables to represent the range of values in those Dimension tables. When I load the dimensional price values into the data warehouse, for example, I want to assign them to a price range:<a href=\"#\" name=\"b87764390a3fb1fd2ccb68836d393303a571556f\"><\/a><a href=\"#\" name=\"1\"><\/a><\/p>\n\n<table id=\"tablepress-8\" class=\"tablepress tablepress-id-8\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Item_Price<\/th><th class=\"column-2\">Range_Id\t<\/th><th class=\"column-3\">Range_Name\t<\/th><th class=\"column-4\">Range_End<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">1<\/td><td class=\"column-2\">Low<\/td><td class=\"column-3\">1<\/td><td class=\"column-4\">100<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">2<\/td><td class=\"column-2\">Mid<\/td><td class=\"column-3\">101<\/td><td class=\"column-4\">500<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">3<\/td><td class=\"column-2\">High<\/td><td class=\"column-3\">501<\/td><td class=\"column-4\">999<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-8 from cache -->\n<p>The simplest way to assign range IDs in the job script (that is preparing data for my Sale_Fact table) is to use an IF-THEN-ELSE\u00a0statement in the output section. See <a href=\"http:\/\/www.iri.com\/blog\/data-transformation2\/bucketing-data-values-using-set-files\/\" target=\"_blank\" rel=\"noopener\">this article<\/a> on bucketing values for background.<\/p>\n<p>Anyway, I created this entire job with the CoSort <em>New Join Job<\/em>\u00a0wizard in the Workbench. And once I ran it, my fact table was populated:<\/p>\n<p><span style=\"overflow: hidden; display: inline-block; margin: 0.00px 0.00px; border: 0.00px solid #000000; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px); width: 624.00px; height: 473.33px;\"><a title=\"Schema Migration to Star .jpg\" href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/Schema-Migration-to-Star-3.jpg\" rel=\"prettyPhoto\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"width: 624.00px; height: 473.33px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-3.jpg\" alt=\"Schema Migration to Star 3\" width=\"624\" height=\"473\" \/><\/a><\/span><em>Sale_Fact table display in the IRI Workbench DSE<\/em><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>The major advantage of dimensional data representation is reducing the complexity of a database structure. This makes the database easier for people to understand and write queries against by minimizing the number of tables, and therefore, the number of joins required.<\/p>\n<p>As mentioned earlier, dimensional models also optimize query performance. However, it has weakness as well as strength. The fixed structure of the Star Schema limits the queries. So, as it makes the most common queries easy to write, it also restricts the way the data can be analyzed.<\/p>\n<p>The IRI Workbench <a href=\"http:\/\/www.iri.com\/products\/workbench\/voracity-gui\">GUI for Voracity<\/a> includes a powerful and comprehensive set of ETL tools that simplify data integration, including the creation, maintenance, and expansion of <a href=\"http:\/\/www.iri.com\/solutions\/data-integration#paradigms\">data warehouses<\/a>. With this intuitive, easy-to-use interface built on Eclipse, Voracity facilitates fast, flexible, end-to-end ETL (extract, transform, load) process creation involving data structures across disparate platforms.<\/p>\n<p>In ETL operations, data are extracted from different sources, transformed externally with the IRI CoSort engine (<a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\">SortCL<\/a>), and loaded pre-sorted into a Data warehouse and possibly other targets. Building the ETL process is, potentially, one of the biggest tasks of building a warehouse; it is complex and time consuming.<\/p>\n<p>The <a href=\"http:\/\/www.iri.com\/solutions\/data-integration\/etl\" target=\"_blank\" rel=\"noopener\">ETL approach<\/a> in IRI Voracity supports this process in a highly efficient, and database-independent way, by performing all of the data integration and staging in the file system. Learn more at <a href=\"https:\/\/www.iri.com\/solutions\/data-integration\/implement\">https:\/\/www.iri.com\/solutions\/data-integration\/implement<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><em><a href=\"#ftnt_ref1\" name=\"ftnt1\">[1]<\/a>\u00a0If you are a syntax hound, note that SortCL scripts used in the IRI CoSort product or IRI Voracity platform support the same <a href=\"http:\/\/www.iri.com\/products\/cosort\/sortcl-metadata\">syntax<\/a>\u00a0and data definitions as <a href=\"http:\/\/www.iri.com\/products\/rowgen\">IRI RowGen<\/a>\u00a0for test data generation, <a href=\"http:\/\/www.iri.com\/products\/nextform\">IRI NextForm<\/a>\u00a0for data migration, and <a href=\"http:\/\/www.iri.com\/products\/fieldshield\">IRI FieldShield<\/a>\u00a0for data masking. All those tools are all supported in the IRI Workbench GUI, and their metadata can also be shared and <a href=\"http:\/\/www.iri.com\/blog\/iri\/iri-workbench\/introduction-metadata-management-hub\/\">team managed<\/a>\u00a0for version control, job\/data lineage, and security in the cloud.<\/em><\/p>\n<p><em><a href=\"#ftnt_ref2\" name=\"ftnt2\">[2]<\/a>\u00a0To display E-R diagrams in IRI Workbench:<\/em><\/p>\n<ol start=\"1\">\n<li><em>Select New IRI Project and create a New Folder<\/em><\/li>\n<li><em>Select that folder and highlight all the applicable database tables in the Data Source Explorer; then right click IRI, New ER-Diagram<\/em><\/li>\n<li><em>A File (Schema.QA) will be created<\/em><\/li>\n<li><em>Right click on that File, and select New Representation, New Entity Relation Diagram.<\/em><\/li>\n<\/ol>\n<p><em><a href=\"#ftnt_ref3\" name=\"ftnt3\">[3]<\/a>\u00a0The elements of ER diagram that illustrate such models include the:<\/em><\/p>\n<ol start=\"1\">\n<li><em>defined entity types<\/em><\/li>\n<li><em>defined attributes<\/em><\/li>\n<li><em>the relationship between the entity types<\/em><\/li>\n<li><em>overall picture, or conceptual diagram<\/em><\/li>\n<\/ol>\n<p><em><a href=\"#ftnt_ref4\" name=\"ftnt4\">[4]<\/a>\u00a0<a href=\"http:\/\/www.iri.com\/products\/fact\">IRI FACT<\/a>\u00a0and <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/high-speed-database-loading\/\">SQL*Loader<\/a>\u00a0are bulk extraction and loading options, respectively.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Note: This article showcases the migration of a relational database (RDB) model to star schema using the Eclipse IDE for the IRI Voracity data management platform (and its included products) called IRI Workbench, following an introduction to both types of schema. If you are interested in migrating your RDB or data to a Data Vault<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\" title=\"Schema Migration: Relational to Star\">Read More<\/a><\/div>\n","protected":false},"author":53,"featured_media":7511,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[31,1,776,91,3],"tags":[833,831,2020,828,834,832,71,822,826,546,830,526,850,489,829,827,83],"class_list":["post-7506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-migration","category-data-transformation2","category-etl","category-iri-workbench","category-vldb-operations","tag-conversion","tag-data-tools-platform","tag-data-warehouse-optimization","tag-data-warehouse-schema","tag-dimension-tables","tag-dtp","tag-eclipse","tag-er-diagram","tag-graphical-representation","tag-iri-cosort","tag-iri-fact","tag-iri-rowgen","tag-iri-workbench","tag-metadata","tag-oracle-db","tag-relational-database-schema","tag-star-schema"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Schema Migration: Relational to Star - IRI<\/title>\n<meta name=\"description\" content=\"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Schema Migration: Relational to Star\" \/>\n<meta property=\"og:description\" content=\"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2015-07-27T20:56:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-11T15:01:36+00:00\" \/>\n<meta name=\"author\" content=\"Chaitali Mitra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chaitali Mitra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\"},\"author\":{\"name\":\"Chaitali Mitra\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\"},\"headline\":\"Schema Migration: Relational to Star\",\"datePublished\":\"2015-07-27T20:56:22+00:00\",\"dateModified\":\"2025-02-11T15:01:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\"},\"wordCount\":1540,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg\",\"keywords\":[\"conversion\",\"Data Tools Platform\",\"data warehouse optimization\",\"data warehouse schema\",\"dimension tables\",\"DTP\",\"Eclipse\",\"ER Diagram\",\"graphical representation\",\"IRI CoSort\",\"IRI FACT\",\"IRI RowGen\",\"IRI Workbench\",\"metadata\",\"Oracle DB\",\"relational database schema\",\"Star Schema\"],\"articleSection\":[\"Data Migration\",\"Data Transformation\",\"ETL\",\"IRI Workbench\",\"VLDB\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\",\"url\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\",\"name\":\"Schema Migration: Relational to Star - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg\",\"datePublished\":\"2015-07-27T20:56:22+00:00\",\"dateModified\":\"2025-02-11T15:01:36+00:00\",\"description\":\"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg\",\"width\":624,\"height\":364},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Schema Migration: Relational to Star\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.iri.com\/blog\/#website\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\",\"name\":\"Chaitali Mitra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"caption\":\"Chaitali Mitra\"},\"sameAs\":[\"http:\/\/www.iri.com\"],\"url\":\"https:\/\/www.iri.com\/blog\/author\/chaitalim\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Schema Migration: Relational to Star - IRI","description":"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/","og_locale":"en_US","og_type":"article","og_title":"Schema Migration: Relational to Star","og_description":"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.","og_url":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/","og_site_name":"IRI","article_published_time":"2015-07-27T20:56:22+00:00","article_modified_time":"2025-02-11T15:01:36+00:00","author":"Chaitali Mitra","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chaitali Mitra","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#article","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/"},"author":{"name":"Chaitali Mitra","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf"},"headline":"Schema Migration: Relational to Star","datePublished":"2015-07-27T20:56:22+00:00","dateModified":"2025-02-11T15:01:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/"},"wordCount":1540,"commentCount":1,"publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg","keywords":["conversion","Data Tools Platform","data warehouse optimization","data warehouse schema","dimension tables","DTP","Eclipse","ER Diagram","graphical representation","IRI CoSort","IRI FACT","IRI RowGen","IRI Workbench","metadata","Oracle DB","relational database schema","Star Schema"],"articleSection":["Data Migration","Data Transformation","ETL","IRI Workbench","VLDB"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/","url":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/","name":"Schema Migration: Relational to Star - IRI","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg","datePublished":"2015-07-27T20:56:22+00:00","dateModified":"2025-02-11T15:01:36+00:00","description":"Learn how to migrate your existing relational database model to star schema in IRI Workbench, the Eclipse IDE for Voracity ETL jobs and more.","breadcrumb":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#primaryimage","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg","width":624,"height":364},{"@type":"BreadcrumbList","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/schema-migration-relational-to-star\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Schema Migration: Relational to Star"}]},{"@type":"WebSite","@id":"https:\/\/www.iri.com\/blog\/#website","url":"https:\/\/www.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/www.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf","name":"Chaitali Mitra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","caption":"Chaitali Mitra"},"sameAs":["http:\/\/www.iri.com"],"url":"https:\/\/www.iri.com\/blog\/author\/chaitalim\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/07\/t_Schema-Migration-to-Star-1.jpg","_links":{"self":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/7506"}],"collection":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=7506"}],"version-history":[{"count":65,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/7506\/revisions"}],"predecessor-version":[{"id":18245,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/7506\/revisions\/18245"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media\/7511"}],"wp:attachment":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=7506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=7506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=7506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}