Write a java class named algebra that will eventually have


Consider the following "tilde table" that could be represented by the file cars.txt for persistence

MAKE~MODEL~TYPE~PRICE

Toyota~Camry~Sedan~18000

Toyota~Tacoma~Truck~19000

Ford~Mustang~Sport~21000

Chevrolet~Corvette~Sport~48000

Ford~F150~Truck~25000

Toyota~Highlander~SUV~35000

Since this is just for education purposes we will allow tilde tables to have the following attributes and limitations:

-at most 12 columns

-first row represents column names

-all columns are strings (unless you want to define some types)

-column values and column names are limited to 16 characters

Write a java class named Algebra that will eventually have static methods representing the relational algebra and one additional method which displays the contents of a tilde table.  All methods except for the display method return a string indicating success or an error message and for every successful operation a new tilde table is produced on disk.  For now implement the method to show the table, the project operation, the restrict operation, and one other of your choice from this list:

JOIN (assumes natural inner join), UNION, MINUS, INTERSECT, DIVIDE

So the main body of a driver program might look like this:

//restrict the cars table to toyotas producing a table named toyotas

Algebra.Restrict("cars","MAKE='Toyota'","toyotas");

//project just three columns from the toyotas table producing a table named answer

Algebra.Project("Toyotas","Make,Model,Price","answer");

//display the contents of the answer table

Algebra.Display("answer");

Make your program generalizable. That is, it should work with any tilde table.   Since the assumption for option 1 is that tables may not fit into memory you are not allowed to load all the rows into an array or other collection.  You can of course load a list of column names or something small like that into memory.  If you can think of a way to clean up the temporary results tables that would be good. In order to limit the grammar your restriction condition can be limited to a single condition (so no ANDs and ORs) and your comparitors can be limited to these six:    =, >, <, >=, <=, !=

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: Write a java class named algebra that will eventually have
Reference No:- TGS01710945

Expected delivery within 24 Hours