Constraints
../../../webviewer/18.jpg
dgm3ed523af03a6.htm



(
)
Index
../../../webviewer/18.jpg
dgm3fa80719009f.htm



(
)
Assertion
../../../webviewer/17.jpg
class3ed524bc0165.htm
class3ed524bc0165.txt


(
searchCondition
../../../webviewer/30.jpg
att3ed52e320287.htm



(
)
schema ( Schema )
../../../webviewer/82.jpg
../../../looseends/role3f26b1ef032e.htm



constrainedTables ( BaseTable )
../../../webviewer/82.jpg
../../../looseends/role3ed52e4101ac.htm



)
Constraint
../../../webviewer/17.jpg
class3ed5239f029c.htm
class3ed5239f029c.txt


(
deferrable
../../../webviewer/30.jpg
att3ed52f3d0336.htm
att3ed52f3d0336.txt


(
)
initiallyDeferred
../../../webviewer/30.jpg
att3ed531b5033e.htm
att3ed531b5033e.txt


(
)
enforced
../../../webviewer/30.jpg
att402834800375.htm



(
)
)
TableConstraint
../../../webviewer/17.jpg
class3ed52acf000f.htm
class3ed52acf000f.txt


(
theBaseTable ( BaseTable )
../../../webviewer/82.jpg
../../../looseends/role3f26b3390062.htm



)
ReferenceConstraint
../../../webviewer/17.jpg
class3ede52410316.htm
class3ede52410316.txt


(
members ( Column )
../../../webviewer/82.jpg
../../../looseends/role3fa71c41004d.htm



)
CheckConstraint
../../../webviewer/17.jpg
class3ed5247d007b.htm
class3ed5247d007b.txt


(
searchCondition
../../../webviewer/30.jpg
att3ed52e0e02b5.htm
att3ed52e0e02b5.txt


(
)
theDomain ( Domain )
../../../webviewer/82.jpg
../../../looseends/role3edf6b9b012b.htm



)
ForeignKey
../../../webviewer/17.jpg
class3edf626c0085.htm
class3edf626c0085.txt


(
match
../../../webviewer/30.jpg
att3f9eeba30303.htm



(
)
onUpdate
../../../webviewer/30.jpg
att3f9eeba30317.htm



(
)
onDelete
../../../webviewer/30.jpg
att3f9eeba3032b.htm



(
)
uniqueConstraint ( UniqueConstraint )
../../../webviewer/82.jpg
../../../looseends/role3ede53de02a8.htm



referencedMembers ( Column )
../../../webviewer/82.jpg
../../../looseends/role3fa71d0d0303.htm



uniqueIndex ( Index )
../../../webviewer/82.jpg
../../../looseends/role4022f503011c.htm



)
UniqueConstraint
../../../webviewer/17.jpg
class3ed52439006b.htm
class3ed52439006b.txt


(
theForeignKey ( ForeignKey )
../../../webviewer/82.jpg
../../../looseends/role3ede53de02a6.htm



)
PrimaryKey
../../../webviewer/17.jpg
class3ed5246901c3.htm
class3ed5246901c3.txt


(
)
<<enumeration>> MatchType
../../../webviewer/17.jpg
class3ed662b80341.htm
class3ed662b80341.txt


(
MATCH_SIMPLE
../../../webviewer/30.jpg
att3ed662cf0044.htm



(
)
MATCH_FULL
../../../webviewer/30.jpg
att3ed662f202f5.htm



(
)
MATCH_PARTIAL
../../../webviewer/30.jpg
att3ed663190299.htm



(
)
)
Index
../../../webviewer/17.jpg
class3fa7fb2b02aa.htm



(
clustered
../../../webviewer/30.jpg
att3fa8002303b5.htm



(
)
fillFactor
../../../webviewer/30.jpg
att3fa801840190.htm



(
)
unique
../../../webviewer/30.jpg
att3fabdf7c03e1.htm



(
)
members ( IndexMember )
../../../webviewer/82.jpg
../../../looseends/role3fa8096c021c.htm



table ( Table )
../../../webviewer/82.jpg
../../../looseends/role3fcb85ed00ad.htm



theForeignKey ( ForeignKey )
../../../webviewer/82.jpg
../../../looseends/role4022f5030107.htm



includedMembers ( IndexMember )
../../../webviewer/82.jpg
../../../looseends/role4023025e0190.htm



theSchema ( Schema )
../../../webviewer/82.jpg
../../../looseends/role3fa7feaf0340.htm



)
IndexMember
../../../webviewer/17.jpg
class3fa807740185.htm
class3fa807740185.txt


(
incrementType
../../../webviewer/30.jpg
att3fa807830134.htm



(
)
theIndex ( Index )
../../../webviewer/82.jpg
../../../looseends/role3fa8096c021a.htm



column ( Column )
../../../webviewer/82.jpg
../../../looseends/role3fa809c103b6.htm



theIndex ( Index )
../../../webviewer/82.jpg
../../../looseends/role4023025e0186.htm



)
<<enumeration>> IncrementType
../../../webviewer/17.jpg
class3fa8080c02b0.htm



(
ASC
../../../webviewer/30.jpg
att3fa8083403df.htm



(
)
DES
../../../webviewer/30.jpg
att3fa8083a011f.htm



(
)
)
Associations
../../../webviewer/assoccat.gif




(
Association (assertions:Assertion) (schema:Schema)
../../../webviewer/81.jpg
../../../looseends/ass3f26b1ed0231.htm



(
Assertion ( assertions )
../../../webviewer/82.jpg
../../../looseends/role3f26b1ef032e.htm



Schema ( schema )
../../../webviewer/82.jpg
../../../looseends/role3f26b1ef0330.htm



)
Association (constrainedTables:BaseTable) (theAssertion:Assertion)
../../../webviewer/81.jpg
../../../looseends/ass3ed52e4000d2.htm



(
BaseTable ( constrainedTables )
../../../webviewer/82.jpg
../../../looseends/role3ed52e41018d.htm



Assertion ( theAssertion )
../../../webviewer/82.jpg
../../../looseends/role3ed52e4101ac.htm



)
Association (constraints:TableConstraint) (theBaseTable:BaseTable)
../../../webviewer/81.jpg
../../../looseends/ass3f26b33701aa.htm



(
TableConstraint ( constraints )
../../../webviewer/82.jpg
../../../looseends/role3f26b3390062.htm



BaseTable ( theBaseTable )
../../../webviewer/82.jpg
../../../looseends/role3f26b3390064.htm



)
Association (uniqueConstraint:UniqueConstraint) (theForeignKey:ForeignKey)
../../../webviewer/81.jpg
../../../looseends/ass3ede53dd038e.htm



(
UniqueConstraint ( uniqueConstraint )
../../../webviewer/82.jpg
../../../looseends/role3ede53de02a6.htm



ForeignKey ( theForeignKey )
../../../webviewer/82.jpg
../../../looseends/role3ede53de02a8.htm



)
Association (subjectTable:Table) (triggers:Trigger)
../../../webviewer/81.jpg
../../../looseends/ass3ed7bf3b0074.htm



(
Table ( subjectTable )
../../../webviewer/82.jpg
../../../looseends/role3ed7bf3e0331.htm



Trigger ( triggers )
../../../webviewer/82.jpg
../../../looseends/role3ed7bf3e0333.htm



)
Association (actionStatement:SQLStatement) (theTrigger:Trigger)
../../../webviewer/81.jpg
../../../looseends/ass3ed7e96d0133.htm



(
SQLStatement ( actionStatement )
../../../webviewer/82.jpg
../../../looseends/role3ed7e96e0171.htm



Trigger ( theTrigger )
../../../webviewer/82.jpg
../../../looseends/role3ed7e96e0173.htm



)
Association (triggerColumn:Column) (theTrigger:Trigger)
../../../webviewer/81.jpg
../../../looseends/ass3ed7d9e50215.htm



(
Column ( triggerColumn )
../../../webviewer/82.jpg
../../../looseends/role3ed7d9e601a8.htm



Trigger ( theTrigger )
../../../webviewer/82.jpg
../../../looseends/role3ed7d9e601c7.htm



)
Association (theDomain:Domain) (constraint:CheckConstraint)
../../../webviewer/81.jpg
../../../looseends/ass3edf6b9a02c1.htm



(
Domain ( theDomain )
../../../webviewer/82.jpg
../../../looseends/role3edf6b9b0129.htm



CheckConstraint ( constraint )
../../../webviewer/82.jpg
../../../looseends/role3edf6b9b012b.htm



)
Association (members:Column) (theReferenceConstraint:ReferenceConstraint)
../../../webviewer/81.jpg
../../../looseends/ass3fa71c3f013a.htm



(
Column ( members )
../../../webviewer/82.jpg
../../../looseends/role3fa71c410039.htm



ReferenceConstraint ( theReferenceConstraint )
../../../webviewer/82.jpg
../../../looseends/role3fa71c41004d.htm



)
Association (referencedMembers:Column) (theForeignKey:ForeignKey)
../../../webviewer/81.jpg
../../../looseends/ass3fa71d0b03a1.htm
../../../looseends/ass3fa71d0b03a1.txt


(
Column ( referencedMembers )
../../../webviewer/82.jpg
../../../looseends/role3fa71d0d02ef.htm



ForeignKey ( theForeignKey )
../../../webviewer/82.jpg
../../../looseends/role3fa71d0d0303.htm



)
Association (members:IndexMember) (theIndex:Index)
../../../webviewer/81.jpg
../../../looseends/ass3fa8096b0219.htm



(
IndexMember ( members )
../../../webviewer/82.jpg
../../../looseends/role3fa8096c021a.htm



Index ( theIndex )
../../../webviewer/82.jpg
../../../looseends/role3fa8096c021c.htm



)
Association (column:Column) (theIndexMember:IndexMember)
../../../webviewer/81.jpg
../../../looseends/ass3fa809c0035a.htm



(
Column ( column )
../../../webviewer/82.jpg
../../../looseends/role3fa809c103ac.htm



IndexMember ( theIndexMember )
../../../webviewer/82.jpg
../../../looseends/role3fa809c103b6.htm



)
Association (table:Table) (index:Index)
../../../webviewer/81.jpg
../../../looseends/ass3fcb85e903aa.htm



(
Table ( table )
../../../webviewer/82.jpg
../../../looseends/role3fcb85ed00a3.htm



Index ( index )
../../../webviewer/82.jpg
../../../looseends/role3fcb85ed00ad.htm



)
Association (uniqueIndex:Index) (theForeignKey:ForeignKey)
../../../webviewer/81.jpg
../../../looseends/ass4022f50001d5.htm



(
Index ( uniqueIndex )
../../../webviewer/82.jpg
../../../looseends/role4022f5030107.htm



ForeignKey ( theForeignKey )
../../../webviewer/82.jpg
../../../looseends/role4022f503011c.htm



)
Association (includedMembers:IndexMember) (theIndex:Index)
../../../webviewer/81.jpg
../../../looseends/ass4023025902c9.htm



(
IndexMember ( includedMembers )
../../../webviewer/82.jpg
../../../looseends/role4023025e0186.htm



Index ( theIndex )
../../../webviewer/82.jpg
../../../looseends/role4023025e0190.htm



)
)
