<divclass="block">Construct an empty table from the raw string specifications.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colOne"><code><strong><ahref="../ASS/Table.html#Table(ASS.Table, java.lang.String)">Table</a></strong>(<ahref="../ASS/Table.html" title="class in ASS">Table</a> tab,
java.lang.String suffix)</code>
<divclass="block">Construct an empty table using the meta-data of an existing table.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ulclass="blockList">
<liclass="blockList"><aname="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<tableclass="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<thclass="colFirst" scope="col">Modifier and Type</th>
<thclass="colLast" scope="col">Method and Description</th>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code>boolean</code></td>
<tdclass="colLast"><code><strong><ahref="../ASS/Table.html#compatible(ASS.Table)">compatible</a></strong>(<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</code>
<divclass="block">Determine whether the two tables (this and table2) are compatible, i.e.,
have the same number of attributes each with the same corresponding domain.</div>
<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</code>
<divclass="block">Join this table and table2.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code><ahref="../ASS/Table.html" title="class in ASS">Table</a></code></td>
<tdclass="colLast"><code><strong><ahref="../ASS/Table.html#minus(ASS.Table)">minus</a></strong>(<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</code>
<divclass="block">Take the difference of this table and table2.</div>
<divclass="block">Select the tuples satisfying the given condition.</div>
</td>
</tr>
<trclass="altColor">
<tdclass="colFirst"><code><ahref="../ASS/Table.html" title="class in ASS">Table</a></code></td>
<tdclass="colLast"><code><strong><ahref="../ASS/Table.html#union(ASS.Table)">union</a></strong>(<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</code>
<divclass="block">Union this table and table2.</div>
<divclass="block">Construct an empty table from the meta-data specifications.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>_name</code> - the name of the relation</dd><dd><code>_attribute</code> - the string containing attributes names</dd><dd><code>_domain</code> - the string containing attribute domains (data types)</dd><dd><code>_key</code> - the primary key</dd></dl>
<divclass="block">Construct an empty table from the raw string specifications.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>name</code> - the name of the relation</dd><dd><code>attributes</code> - the string containing attributes names</dd><dd><code>domains</code> - the string containing attribute domains (data types)</dd></dl>
</li>
</ul>
<aname="Table(ASS.Table, java.lang.String)">
<!-- -->
</a>
<ulclass="blockListLast">
<liclass="blockList">
<h4>Table</h4>
<pre>public Table(<ahref="../ASS/Table.html" title="class in ASS">Table</a> tab,
java.lang.String suffix)</pre>
<divclass="block">Construct an empty table using the meta-data of an existing table.</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>tab</code> - the table supplying the meta-data</dd><dd><code>suffix</code> - the suffix appended to create new table name</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ulclass="blockList">
<liclass="blockList"><aname="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<aname="project(java.lang.String)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>project</h4>
<pre>public <ahref="../ASS/Table.html" title="class in ASS">Table</a> project(java.lang.String attributeList)</pre>
<divclass="block">Project the tuples onto a lower dimension by keeping only the given attributes.
Check whether the original key is included in the projection.
#usage movie.project ("title year studioNo")</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>attributeList</code> - the attributes to project onto</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>the table consisting of projected tuples</dd></dl>
</li>
</ul>
<aname="select(java.lang.String)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>select</h4>
<pre>public <ahref="../ASS/Table.html" title="class in ASS">Table</a> select(java.lang.String condition)</pre>
<divclass="block">Select the tuples satisfying the given condition.
A condition is written as infix expression consists of
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>condition</code> - the check condition for tuples</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>the table consisting of tuples satisfying the condition</dd></dl>
</li>
</ul>
<aname="union(ASS.Table)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>union</h4>
<pre>public <ahref="../ASS/Table.html" title="class in ASS">Table</a> union(<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</pre>
<divclass="block">Union this table and table2. Check that the two tables are compatible.
#usage movie.union (show)</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>table2</code> - the rhs table in the union operation</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>the table representing the union (this U table2)</dd></dl>
</li>
</ul>
<aname="minus(ASS.Table)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>minus</h4>
<pre>public <ahref="../ASS/Table.html" title="class in ASS">Table</a> minus(<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</pre>
<divclass="block">Take the difference of this table and table2. Check that the two tables
are compatible.
#usage movie.minus (show)</div>
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>table2</code> - the rhs table in the minus operation</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>the table representing the difference (this - table2)</dd></dl>
</li>
</ul>
<aname="join(java.lang.String, ASS.Table)">
<!-- -->
</a>
<ulclass="blockList">
<liclass="blockList">
<h4>join</h4>
<pre>public <ahref="../ASS/Table.html" title="class in ASS">Table</a> join(java.lang.String condition,
<ahref="../ASS/Table.html" title="class in ASS">Table</a> table2)</pre>
<divclass="block">Join this table and table2. If an attribute name appears in both tables,
assume it is from the first table unless it is qualified with the first
letter of the second table's name (e.g., "s.").
In the result, disambiguate the attribute names in a similar way
(e.g., prefix the second occurrence with "s_").
Caveat: the key parameter assumes joining the table with the foreign key
(this) to the table containing the primary key (table2).
<dl><dt><spanclass="strong">Parameters:</span></dt><dd><code>condition</code> - the join condition for tuples</dd><dd><code>table2</code> - the rhs table in the join operation</dd>
<dt><spanclass="strong">Returns:</span></dt><dd>the table representing the join (this |><| table2)</dd></dl>