import java.io.*; import java.util.*; public class Relation { // Name of the relation. private String name; // Attribute names for the relation private ArrayList attributes; // Domain classes or types of attributes; possible values: INTEGER, DECIMAL, VARCHAR private ArrayList domains; // Actual data storage (list of tuples) for the relation. private ArrayList table; // METHODS // Constructor; set instance variables public Relation (String name, ArrayList attributes, ArrayList dNames) { }; // returns true if attribute with name aname exists in relation schema // false otherwise public boolean attributeExists(String aname) { } // returns domain type of attribute aname; return null if not present public String attributeType(String aname) { } // Print relational schema to screen. public void displaySchema() { } // Set name of relation to rname public void setName(String rname) { } // Add tuple tup to relation; Duplicates are fine. public void addTuple(Tuple tup) { } // Print relation to screen (see output of run for formatting) public void displayRelation() { } // Return String version of relation; See output of run for format. public String toString() { } }