(Solved) Solution In this assignment, you will have a chance to implement the hash-join algorithm for a DBMS (Make as Your Refference Only)
$35
  

Instant Download
File Size 121.43 kB

(Solved) Solution In this assignment, you will have a chance to implement the hash-join algorithm for a DBMS (Make as Your Refference Only)

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 (1) a brief report/description about your program design and  implementation  (e.g.,  high-level  program  diagram  and  data/file  structures)  and program usage; (2) your program source code; (3) proof of compilation (e.g., the screen snapshot  of  a  successful  compilation);  and  (4)  sample  execution  outputs.  Please 
assemble  all  the  above  required  contents  in  a  single  Word  or  PDF  file  for  your submission.
The program specification is given as follows. Let  R1(a1; a2; a3) and R2(b1; b2; b3; b4) 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  R1 and R2. 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 for any chosen pair of ai  and bj  , where ai  is the  i-th attribute in R1 and bj  is the jth attribute in R2. For example, a user may want to perform 
.
  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 R1 and R2, 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  R1 and R2.
  (10 Points - Bounce) Use a nice user interface.