diff --git a/relalg.sty b/relalg.sty index 58246a8..071d684 100755 --- a/relalg.sty +++ b/relalg.sty @@ -1,54 +1,85 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% File: $Id$ +% +% Defines various relational algebra symbols. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \NeedsTeXFormat{LaTeX2e}[2001/06/01] -\ProvidesPackage{relalg}[2002/07/29 Relational algebra notation] +\ProvidesPackage{relalg}[2004/07/19 Relational algebra notation] \RequirePackage{latexsym} \RequirePackage{graphics} % Graphics is needed so that we can scale the size of a couple of operators. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % BASIC OPERATORS +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % select or restrict operator \newcommand{\Select}{\ensuremath{\sigma}} \newcommand{\Restrict}{\ensuremath{\sigma}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % project operator \newcommand{\Project}{\ensuremath{\pi}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set union operator \newcommand{\Union}{\ensuremath{\cup}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set difference operator \newcommand{\Difference}{\ensuremath{-}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % cartesian product operator \newcommand{\Product}{\ensuremath{\times}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % rename operator \newcommand{\Rename}{\ensuremath{\rho}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % ADDITIONAL OPERATORS +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set intersection operator \newcommand{\Intersection}{\ensuremath{\cap}} \newcommand{\Intersect}{\ensuremath{\cap}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % natural join operator \newcommand{\NaturalJoin}{\ensuremath{\Join}} \newcommand{\NatJoin}{\ensuremath{\Join}} \newcommand{\NJoin}{\ensuremath{\Join}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % division operators \newcommand{\Divide}{\ensuremath{/}} \newcommand{\AltDivide}{\ensuremath{\div}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % assignment operator \newcommand{\Assign}{\ensuremath{\leftarrow}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % EXTENDED OPERATORS +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % aggregate functions \newcommand{\Sum}[1]{\ensuremath{\mathcal{G}_{\mathbf{\mathrm{sum}}(#1)}}} \newcommand{\Avg}[1]{\ensuremath{\mathcal{G}_{\mathbf{\mathrm{avg}}(#1)}}} @@ -56,10 +87,10 @@ \newcommand{\Max}[1]{\ensuremath{\mathcal{G}_{\mathbf{\mathrm{max}}(#1)}}} \newcommand{\Count}[1]{\ensuremath{\mathcal{G}_{\mathbf{\mathrm{count}}(#1)}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % outer join operators % Note: can't use \ensuremath in these because it screws up the spacing. % The $ are OK though because they're used inside hboxes anyway. - \newcommand{\LeftOuterJoin}{\scalebox{0.5}[1]{$\sqsupset$}\mkern-2.5mu\lower0.1em\hbox{$\Join$}} \newcommand{\LOuterJoin}{\LeftOuterJoin} \newcommand{\LeftOuter}{\LeftOuterJoin} @@ -76,11 +107,27 @@ \newcommand{\FOJ}{\FullOuterJoin} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % MISCELLANEOUS +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % logical operators -\newcommand{\And}{\ensuremath{\wedge}} -\newcommand{\Or}{\ensuremath{\vee}} -\newcommand{\Not}{\ensuremath{\neg}} +% \And appears to conflict with beamer? (unconfirmed) +\newcommand{\LogicalAnd}{\ensuremath{\wedge}} +\newcommand{\LogAnd}{\ensuremath{\wedge}} + +\newcommand{\LogicalOr}{\ensuremath{\vee}} +\newcommand{\LogOr}{\ensuremath{\vee}} + +\newcommand{\LogicalNot}{\ensuremath{\neg}} +\newcommand{\LogNot}{\ensuremath{\neg}} \endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% $Log$ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%