Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In this assignment, you will have a chance to implement the hash-join algorithm for a DBMS. You can use C, C++, Java or any other

image text in transcribed

In this assignment, you will have a chance to implement the hash-join algorithm for a DBMS. You can use C, C++, Java or any other high-level programming language to write the program. However, your program should include sufficient comments to make it readable. You need to turn in a brief report/description about your program design and implementation (e.g., high-level program diagram and data/file structures) and program usage; your program source code; proof of compilation (e.g., the screen snapshot of a successful compilation); and sample execution outputs. Please assemble all the above required contents in a single Word or PDF file for your submission. The program specificiation is given as follows. Let R_1 (a_1, a_2, a_3) and R_2 (b_1, b_2, b_3, b_4) be two relations with all integer attributes. Tuples in these two relations are sequentially stored in two data files, respectively. Use the hash-join algorithm to implement a join (equijoin) of R_1 and R_2. Assume that the hash function is f(k) = k mod N, where N is the number of buckets allowed in your hash structure/table. Your program should allow a user to choose the joining attributes from the two relations, i.e., performing R_1 R_1 middot a_i = R_2 middot b_j R_2 for any chosen pair of a_i and b_j, where a_i is the i-th attribute in R_1 (1 lessthanorequalto i lessthanorequalto 3) and b_j is the j-th attribute in R_2 (1 lessthanorequalto j lessthanorequalto 4). For example, a user may want to perform R_1 R_1 middot a_2 = R_2 middot b_3 R_2. Your program should display the join result and output the selectivity of the join. You may request a user to interactively input the necessary parameters, such as the data file names for R_1 and R_2, the number of tuples in each relation, and the joining attributes (e.g., 1 for the 1st attribute, 3 for the 3rd attribute). Use your program to perform several joins for different relation instances of R_1 and R_2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Beyond Big Data Using Social MDM To Drive Deep Customer Insight

Authors: Martin Oberhofer, Eberhard Hechler

1st Edition

0133509796, 9780133509793

More Books

Students also viewed these Databases questions