Identify a function to map the canonical name

Assignment Help Data Structure & Algorithms
Reference no: EM131116763

Integration layeron top of two databases

DESCRIPTION

A major step in information integration is to provide access and retrieve information from different databases. You have already created an Inventory database in a previous homework. From now on we will use that database but we will refer to it in this assignment with a different name - let us call it local DB1 and it belongs to a fictitious company you own (MyComp).

MyComp has been doing really well for the past few years and it has merged with another company (BuddyComp) which already has an inventory database - let us call it local DB2. The local DB2 database is actually a set of tables and records that is provided to you as a script with SQL commands. You need to run this script in your Oracle account to create and populate the tables that comprise the local DB2 database. In reality you do not have two separate databases in Oracle; instead, you have several tables in your Oracle account:

- Tables that make up your Inventory database (from HW2) which we now call local DB1
- Tables that are generated by the script and make up local DB2

The purpose of this homework is to create an integration/metadata/ontology layer on top of these two inventory databases, local DB1 and local DB2. Think of the integration layer as the metadata layer which contains information describing the two databases. This homework is about creating this metadata layer.

Creation of a metadata layer. You need to create a metadata layer to be used for integration of information from the participating databases. This metadata layer is a table (or a set of couple of tables) which contain information about the local database schemas (local DB1 and local DB2, which both reside in your Oracle account. The information in the integration layer contains the following:

1. Canonical representation. This is the name you use to refer to an entity (table name, field name) at the metadata layer. For example, you may use the name"Client" in local DB1, and "Patron" in local DB2. However, these are "local names"representing customers at each local DB. At the metadata layer you may use the "Customer" name to identify either Clients or Patrons (this is just an example; there could be different field names in the actual databases). The canonical representation of an entity is the "global" name of that entity at the metadata layer. It can be used to describe the two corresponding names of the same entity, one in local DB1, and the other in local DB2. Customer (canonical name); Client (local DB1); Patron (local DB2)

2. Data Types and other semantic differences. This is a description of the local data types used for each column name in each DB. For example, varchar2(20), number, etc. You may also store function that converts data from the canonical representation to local databases.

3. Additional fields. If you want you may use additional information about the correspondences or translations between canonical to local.

You may use any structure of table(s) that you think it is appropriate to identify information that is stored as data in the two participating databases (local DB 1 and local DB 2). This is a very important task since it will provide the basis for the integration. I would suggest that for each concept (entity/field/etc.) that is present in each local db, you need to use three representations:

1. a canonical representation(global level) for the concept. This is a representation that you use to identify the concept globally (see first column in the example table below).

2. a local representation for local DB1:it is the name of the column in local DB1 that represents that same concept. Also the data type of that column in local DB1 (see columns 2 and 3 in example table below)

3. a local representation for local DB2: it is the name of the column in local DB2 that represents that same concept. Also the data type of that column in local DB1 (see columns 4 and 5 in example table below)

See an example table below for a very simplerepresentation oftwo concepts: a customer (represented in both DBs) and a product ID(also in both DBs). Note that all data entered in that table are strings (varchar2):

Canonical Representation

Column name in local DB1

Data Type in local DB1

Column name in local DB2

Data Type in local DB2

'Customer'

'Client'

'Varchar2(20)'

'Patron'

'Char(50)'

'Product_ID'

'CD_ID'

'Varchar2(10)'

'CD'

'number'

...

...

...

...

...

You may need to add more fields and more tables to be able to capture semantic and syntactic differences that are present in the two local databases. In essence, you need to create another set of tables (one or more) that will act as the metadata/integration layer on top of DB1, and DB2. You don't create views on top of the existing tables of local DB1 and local DB2. You need to create actual tables with metadata about DB1 tables and fields, and DB2 tables and fields. All the above tables are in your own account (basically, they are just tables in your account).

How can one create a metadata/integration layer?

Look at the schema of local DB1.

Look at the schema of local DB2.

Identify semantically similar fields and for each field create a column in the metadata table:
- Column 1: Provide a name (canonical representation) of that field.
- Column 2: Identify the corresponding name (local DB1 name) of the same field in DB1
- Column 3: Identify the data type of that field in DB1
- Column 4: Identify a function to map the canonical name to the DB2 name (if applicable)
- Column 5: Identify the corresponding name (local DB2 name) of the same field in DB2
- Column 6: Identify the data type of that field in DB2
- Column 7: Identify a function to map the canonical name to the DB2 name (if applicable)

The results from bullet list above are going to be inserted as a single record in the table which represents the metadata layer. If you need additional fields, (e.g., how to convert from local to canonical - such as CONCAT (f1, f2), back and forth) feel free to add additional column(s) in your integration table and populate them accordingly.

- Fields that are not present in both databases have NULL values in some of the columns in the metadata table.
- For aggregate fields type the function that puts them together (e.g. CONCAT, or SUM, etc.)
- Add table names also in the metadatatable (just as you have added fields). The data type for tables should be the string ‘TABLE'

Let me reiterate that this assignment is about metadata. The final output of this assignment is to make sure that you have enough information in your metadata (integration) layer.

DELIVERABLES

Create a file in MS Word or pdf. This file should contain the following:

1. Populating Local DB2. Run the script that creates and populates the local DB2 database. It has been posted on Bb, under Homework Assignments. Download it, study the relational schema and run it on your Oracle account.

Preservation of local schemas. You are NOT allowed to modify the schema of the two existing databases (local DB1 and local DB2). However, you may insert more data records in any existing table.

a. Insert records in local DB1: 2 CDs of your choice and 2 books of your choice.

b. Insert the same records in the schema of local DB2. Submit the INSERT commands that you have used for a. and b., and also show a screen shot with the new records.

2. Creation of the integration (metadata) layer

c. E-R diagram of your integration layer (this is a very very simple one)

d. Screen-shots with queries showing "select * from ..." for each table you created in the metadata (integration) layer (not the local DB2).

To design and populate a metadata integration layer on top of two databases

Attachment:- HW3.rar

Verified Expert

The assignment was about the consolidated integration of database schema for multiple databases using canonical mapping of metadata of the database schema involved. The tasks of the assignment was to integrate schema of 2 databases of similar data but from different sources with different schema. Each entity of the databases involved were mapped into a METADATA table and a canonical name for similar entity of both databases and their required data transformation functions at the metadata level.

Reference no: EM131116763

Questions Cloud

Make list of the technologies utilizes in daily operations : Pick a single business organization and make a list of the technologies it utilizes in its daily operations. Which of these are less than five years old? Which are less than ten years old? More than ten years old? Describe how each technology facilit..
How counselor may have been in violation of aca code : Read the section "Course Case Study" and analyze the behavior of the counselor, as a professional, that you consider unethical or unprofessional. Write a brief summary of the questionable behavior. Substantiate the summary with reasons for your an..
What is the specific gravity of the iceberg : What portion of its volume (in%) would be above the surface if ice were floating in pure water?
Segment consumers based upon service quality expectations : Parasuraman, Zeithaml, and Berry (1985) posit that it may be useful to segment consumers based upon their service quality expectations. Do you agree? What positive results may flow from such segmentation? What, if any, are negative consequences?
Identify a function to map the canonical name : Identify a function to map the canonical name to the DB2 name and identify the corresponding name (local DB2 name) of the same field in DB2
Customers unwaveringly focus their orientation : According to Day (2003), "Companies with the best connections to their customers unwaveringly focus their orientation, configuration and use of information on the people and businesses that buy from them." What does Day mean by "…orientation, configu..
Determine whether demand will be strong or weak : Digital can delay the project a year while it conducts a test to determine whether demand will be strong or weak. The delay will not affect the dollar amounts involved for the project's investment or its cash flows-only their timing. do you recomm..
Compute the sample mean sample variance : Compute the sample mean, sample variance, and sample standard deviation
Strategic external environment scanning factor : Identify and discuss what you believe to be the most strategic external environment scanning factor that could have the biggest impact on your Strategic Audit firm in the next five years. Explain what you think your Strategic Audit firm can do to wor..

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Describe the use of a binary tree when searching for keys

question 1 discuss the use of a binary tree when searching for keys in an array. question 2 discuss the use of a binary

  How to analyse spectrum of a digital signal using dft method

To learn how to analyse spectrum of a digital signal using DFT method. To learn how to perform I/O operations using interrupt method and program/implement them using the evaluation toolkit

  Produce a driver program and the information-retrieval

All words in structure are printed at the terminal in alphabetical order together with their frequency counts

  Your employee delivered an algorithm for resolving a task

your employee delivered an algorithm for solving a task. you were told the running time is on3. you have a large amount

  Calculate the usable area in square feet of house.

Calculate the usable area in square feet of house. Assume that the house has a maximum of four rooms, and that each room is rectangular.

  Write a pseudocode for divide-and-conquer algorithm

Write a pseudocode for divide-and-conquer algorithm for the exponentiation problem of computing where a>0 n is a positive integer

  Question about oracle9i database

Provide every worker in the Local Locale Company the privileges required to query and update the NEWS_ARTICLE table and the CLASSIFIED_AD table.

  What role will cryptography play during the election process

2016 is an election year in the United States. What role will cryptography play during the election process? Think about secure one-to-one communication, multi-party communication, multiparty computation etc. All posts must be at least 125 words l..

  Portfolio planning using optimization

Set this problem up as a linear programming model in Excel, and use Solver to determine how the $10 million should be invested. What is the overall return (in dollars terms)

  Neural and tree learning on continuous attributes

Compare and contrast the roles of these numbers in the two models and compare and contrast the methods of learning these numbers in the two models.

  Write essay on djkistrars algorithm

Write Essay on Djkistrars Algorithm

  Design and implement a program to test the qsopt1 and qsopt2

Design and implement a program to test the QSopt1 and QSopt2 algorithms. Define an array of size 100, populated with randomly generated Integer or int values in the range 1 .. 999.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd