+ All Categories
Home > Documents > Kevin Frank Anchor-Buoy Presentation - the short version

Kevin Frank Anchor-Buoy Presentation - the short version

Date post: 30-Jun-2015
Category:
Upload: frescatistory
View: 1,627 times
Download: 0 times
Share this document with a friend
Description:
Kevin Frank's presentation on the Anchor-Buoy relationship design used in FileMaker applications. The short version. Source: http://www.kevinfrank.com/anchor-buoy.html
175
Anchor/Buoy A FM 7/8 Relational Graph Design Approach
Transcript
Page 1: Kevin Frank Anchor-Buoy Presentation - the short version

Anchor/Buoy

A FM 7/8 Relational Graph Design Approach

Page 2: Kevin Frank Anchor-Buoy Presentation - the short version
Page 3: Kevin Frank Anchor-Buoy Presentation - the short version
Page 4: Kevin Frank Anchor-Buoy Presentation - the short version

Arcata, CA

Page 5: Kevin Frank Anchor-Buoy Presentation - the short version
Page 6: Kevin Frank Anchor-Buoy Presentation - the short version
Page 7: Kevin Frank Anchor-Buoy Presentation - the short version
Page 8: Kevin Frank Anchor-Buoy Presentation - the short version

< a.k.a. >< a.k.a. >

Page 9: Kevin Frank Anchor-Buoy Presentation - the short version
Page 10: Kevin Frank Anchor-Buoy Presentation - the short version
Page 11: Kevin Frank Anchor-Buoy Presentation - the short version

If you have questions...

Page 12: Kevin Frank Anchor-Buoy Presentation - the short version

If you have questions...Please interrupt me

and ask them.

Page 13: Kevin Frank Anchor-Buoy Presentation - the short version

Anchor/Buoy

A FM 7/8 Relational Graph Design Approach

Page 14: Kevin Frank Anchor-Buoy Presentation - the short version

What is A/B ?

Page 15: Kevin Frank Anchor-Buoy Presentation - the short version

What is A/B ?

• A layout-centric approach to the RG

Page 16: Kevin Frank Anchor-Buoy Presentation - the short version

What is A/B ?

• A layout-centric approach to the RG

• that restores the simplicity of 6-style relationships

Page 17: Kevin Frank Anchor-Buoy Presentation - the short version

What is A/B ?

• A layout-centric approach to the RG

• that restores the simplicity of 6-style relationships

• without sacrificing the power of 7-style relationships

Page 18: Kevin Frank Anchor-Buoy Presentation - the short version

What is A/B ?

• A layout-centric approach to the RG

• that restores the simplicity of 6-style relationships

• without sacrificing the power of 7-style relationships

• [ a brain child of Soliant Consulting ]

Page 19: Kevin Frank Anchor-Buoy Presentation - the short version

XX

6

7

Page 20: Kevin Frank Anchor-Buoy Presentation - the short version

A Primary Goal of Anchor/Buoy…

Page 21: Kevin Frank Anchor-Buoy Presentation - the short version

A Primary Goal of Anchor/Buoy…

Is to make TO’s Is to make TO’s

manageable inmanageable in

scrolling listsscrolling lists

Page 22: Kevin Frank Anchor-Buoy Presentation - the short version

e.g.e.g.

Page 23: Kevin Frank Anchor-Buoy Presentation - the short version
Page 24: Kevin Frank Anchor-Buoy Presentation - the short version
Page 25: Kevin Frank Anchor-Buoy Presentation - the short version

etc.etc.

Page 26: Kevin Frank Anchor-Buoy Presentation - the short version

One of the biggest areas of confusion for developers making the transition

from FM6 to FM7 is…

Page 27: Kevin Frank Anchor-Buoy Presentation - the short version

One of the biggest areas of confusion for developers making the transition

from FM6 to FM7 is…

Page 28: Kevin Frank Anchor-Buoy Presentation - the short version

One of the biggest areas of confusion for developers making the transition

from FM6 to FM7 is…

The RelationalThe Relational

Graph (RG)Graph (RG)

Page 29: Kevin Frank Anchor-Buoy Presentation - the short version

For one thing… it sometimes superficially resembles an…

Page 30: Kevin Frank Anchor-Buoy Presentation - the short version

For one thing… it sometimes superficially resembles an…

Entity-Relationship DiagramEntity-Relationship Diagram

Page 31: Kevin Frank Anchor-Buoy Presentation - the short version

But despite the superficial resemblance…

Page 32: Kevin Frank Anchor-Buoy Presentation - the short version

But despite the superficial resemblance…

RG RG ERD ERD

Page 33: Kevin Frank Anchor-Buoy Presentation - the short version

Of the three Database “Layers”...

Page 34: Kevin Frank Anchor-Buoy Presentation - the short version

Data

Of the three Database “Layers”...

Page 35: Kevin Frank Anchor-Buoy Presentation - the short version

Data

Business

Of the three Database “Layers”...

Page 36: Kevin Frank Anchor-Buoy Presentation - the short version

Data

Business

Presentation

Of the three Database “Layers”...

Page 37: Kevin Frank Anchor-Buoy Presentation - the short version

Data

ERDs only describe this layer...

Page 38: Kevin Frank Anchor-Buoy Presentation - the short version

Data

Business

Presentation

The RG is essential toall three layers

Page 39: Kevin Frank Anchor-Buoy Presentation - the short version

RG RG ERD ERD

Page 40: Kevin Frank Anchor-Buoy Presentation - the short version

Another reason developers may find the FM7 RG confusing...

Page 41: Kevin Frank Anchor-Buoy Presentation - the short version

Another reason developers may find the FM7 RG confusing...

Page 42: Kevin Frank Anchor-Buoy Presentation - the short version

Another reason developers may find the FM7 RG confusing...

AND THAT’S PUTTING IT MILDLYAND THAT’S PUTTING IT MILDLY

Page 43: Kevin Frank Anchor-Buoy Presentation - the short version
Page 44: Kevin Frank Anchor-Buoy Presentation - the short version
Page 45: Kevin Frank Anchor-Buoy Presentation - the short version
Page 46: Kevin Frank Anchor-Buoy Presentation - the short version
Page 47: Kevin Frank Anchor-Buoy Presentation - the short version
Page 48: Kevin Frank Anchor-Buoy Presentation - the short version
Page 49: Kevin Frank Anchor-Buoy Presentation - the short version
Page 50: Kevin Frank Anchor-Buoy Presentation - the short version

=

Page 51: Kevin Frank Anchor-Buoy Presentation - the short version

=

Page 52: Kevin Frank Anchor-Buoy Presentation - the short version

In FM6: we named these...

Page 53: Kevin Frank Anchor-Buoy Presentation - the short version

In FM7: we name these...

Page 54: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of theFM7 Relational Model

Page 55: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

Some Benefits of theFM7 Relational Model

Page 56: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

• You can access data that is many “hops” away

Some Benefits of theFM7 Relational Model

Page 57: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

• You can access data that is many “hops” away

• Context determines what you see when you look at related data

Some Benefits of theFM7 Relational Model

Page 58: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

• You can access data that is many “hops” away

• Context determines what you see when you look at related data

• Relationships can be based on multiple predicates

Some Benefits of theFM7 Relational Model

Page 59: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

• You can access data that is many “hops” away

• Context determines what you see when you look at related data

• Relationships can be based on multiple predicates

• Relational operators are no longer limited to “=”

Some Benefits of theFM7 Relational Model

Page 60: Kevin Frank Anchor-Buoy Presentation - the short version

• Zero, one or many tables per file

• You can access data that is many “hops” away

• Context determines what you see when you look at related data

• Relationships can be based on multiple predicates

• Relational operators are no longer limited to “=”

• Developer has great leeway in terms of relational architecture

Some Benefits of theFM7 Relational Model

Page 61: Kevin Frank Anchor-Buoy Presentation - the short version

Benefits, shmenefits!

Page 62: Kevin Frank Anchor-Buoy Presentation - the short version

Benefits, shmenefits!

In the good old days...

Page 63: Kevin Frank Anchor-Buoy Presentation - the short version

Benefits, shmenefits!

In the good old days...

• I always knew what to call a relationship

Page 64: Kevin Frank Anchor-Buoy Presentation - the short version

Benefits, shmenefits!

In the good old days...

• I always knew what to call a relationship

• I always knew where to put a relationship

Page 65: Kevin Frank Anchor-Buoy Presentation - the short version

Benefits, shmenefits!

In the good old days...

• I always knew what to call a relationship

• I always knew where to put a relationship

• I could do these things in my sleep!

Page 66: Kevin Frank Anchor-Buoy Presentation - the short version

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 67: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 68: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 69: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

• You continually need to think about context

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 70: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

• You continually need to think about context

• You will see all related TOs whether they are relevant or not

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 71: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

• You continually need to think about context

• You will see all related TOs whether they are relevant or not

• This “great leeway in terms of architecture” means you now have to make a number of decisions that formerly were made for you

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 72: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

• You continually need to think about context

• You will see all related TOs whether they are relevant or not

• This “great leeway in terms of architecture” means you now have to make a number of decisions that formerly were made for you

• All of the above can cause a decrease in developer productivity...

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 73: Kevin Frank Anchor-Buoy Presentation - the short version

• Relationships are automatically bi-directional

• Since TOs can be approached from either direction, naming them can be problematic

• You continually need to think about context

• You will see all related TOs whether they are relevant or not

• This “great leeway in terms of architecture” means you now have to make a number of decisions that formerly were made for you

• All of the above can cause a decrease in developer productivity... and/or sanity

Some Potentially Confusing Aspects of the FM7 Relational Model

Page 74: Kevin Frank Anchor-Buoy Presentation - the short version
Page 75: Kevin Frank Anchor-Buoy Presentation - the short version
Page 76: Kevin Frank Anchor-Buoy Presentation - the short version
Page 77: Kevin Frank Anchor-Buoy Presentation - the short version
Page 78: Kevin Frank Anchor-Buoy Presentation - the short version

Initially, a feeling of vertigo, or even existential nausea, is to be expected.

-- Mike Harris, March 2004

Page 79: Kevin Frank Anchor-Buoy Presentation - the short version

Hmm… For every TO, I have to decide...

Page 80: Kevin Frank Anchor-Buoy Presentation - the short version

Hmm… For every TO, I have to decide...

• What do I call it?

Page 81: Kevin Frank Anchor-Buoy Presentation - the short version

Hmm… For every TO, I have to decide...

• What do I call it?

• Where do I put it?

Page 82: Kevin Frank Anchor-Buoy Presentation - the short version

Hmm… For every TO, I have to decide...

• What do I call it?

• Where do I put it?

• What color should I make it?

Page 83: Kevin Frank Anchor-Buoy Presentation - the short version

I wonder when we’regoing to start

learning about...

???

Page 84: Kevin Frank Anchor-Buoy Presentation - the short version

< now >< now >

Page 85: Kevin Frank Anchor-Buoy Presentation - the short version

A/B in a Nutshell

Page 86: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

A/B in a Nutshell

Page 87: Kevin Frank Anchor-Buoy Presentation - the short version
Page 88: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

A/B in a Nutshell

Page 89: Kevin Frank Anchor-Buoy Presentation - the short version

AnchorsAnchors

BuoysBuoys

Page 90: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

A/B in a Nutshell

Page 91: Kevin Frank Anchor-Buoy Presentation - the short version

1 Anchor1 Anchorper baseper base

tabletable

Page 92: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

A/B in a Nutshell

Page 93: Kevin Frank Anchor-Buoy Presentation - the short version

LayoutsLayouts

XNo LayoutsNo Layouts

Page 94: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

• RG is restricted to one page in width, but is allowed to grow as tall as necessary

A/B in a Nutshell

Page 95: Kevin Frank Anchor-Buoy Presentation - the short version

Page 1 Page 2

< etc. >

Page 96: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

• RG is restricted to one page in width, but is allowed to grow as tall as necessary

• Color coding and TO naming conventions are an integral component of this methodology

A/B in a Nutshell

Page 97: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

• RG is restricted to one page in width, but is allowed to grow as tall as necessary

• Color coding and TO naming conventions are an integral component of this methodology

A/B in a Nutshell

Most A/B-ers agree

Most A/B-ers agree

on these points...on these points...

Page 98: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

• RG is restricted to one page in width, but is allowed to grow as tall as necessary

• Color codi䑮 g and TO naming conventions are an integral component of this methodology

A/B in a Nutshell

But have minorBut have minor

differences re: differences re:

Page 99: Kevin Frank Anchor-Buoy Presentation - the short version

• Relational Graph (RG) is divided into TOGs

• Each TOG consists of one “Anchor” at the left and any number of “Buoys” strung off rightward

• As a general rule, the RG will have one Anchor per base table

• Layouts are only attached to Anchors

• RG is restricted to one page in width, but is allowed to grow as tall as necessary

• Color coding and TO naming conventions are an integral component of this methodology

A/B in a Nutshell

But have minorBut have minor

differences re: differences re:

Page 100: Kevin Frank Anchor-Buoy Presentation - the short version

Color Coding &Color Coding &TO NamingTO Naming

ConventionsConventions

Page 101: Kevin Frank Anchor-Buoy Presentation - the short version

Legend at the top of the RG

Page 102: Kevin Frank Anchor-Buoy Presentation - the short version

Legend at the top of the RG

• Color-coded TOs based on a “null” table

Page 103: Kevin Frank Anchor-Buoy Presentation - the short version

Legend at the top of the RG

• Color-coded TOs based on a “null” table

• Anchors and Buoys colored as per above

Page 104: Kevin Frank Anchor-Buoy Presentation - the short version

Legend at the top of the RG

• Color-coded TOs based on a “null” table

• Anchors and Buoys colored as per above

• Underlying table names spelled out in full

Page 105: Kevin Frank Anchor-Buoy Presentation - the short version

Anchor Name

Page 106: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

Anchor Name

Page 107: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

• Anchor name = corresponding base table namee.g., APPEALS_EVENTS… however...

Anchor Name

Page 108: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

• Anchor name = corresponding base table namee.g., APPEALS_EVENTS… however...

• Anchor name usually abbreviated, e.g., APPEV(for a reason that will soon become apparent)

Anchor Name

Page 109: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

• Anchor name = corresponding base table namee.g., APPEALS_EVENTS… however...

• Anchor name usually abbreviated, e.g., APPEV(for a reason that will soon become apparent)

Anchor Name

Page 110: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

• Anchor name = corresponding base table namee.g., APPEALS_EVENTS… however...

• Anchor name usually abbreviated, e.g., APPEV(for a reason that will soon become apparent)

• Confused?

Anchor Name

Page 111: Kevin Frank Anchor-Buoy Presentation - the short version

• Anchor name is CAPITALIZED

• Anchor name = corresponding base table namee.g., APPEALS_EVENTS… however...

• Anchor name usually abbreviated, e.g., APPEV(for a reason that will soon become apparent)

• Confused? You can always consult the legend...

Anchor Name

Page 112: Kevin Frank Anchor-Buoy Presentation - the short version

Buoy Name

Page 113: Kevin Frank Anchor-Buoy Presentation - the short version

Buoy Name

Page 114: Kevin Frank Anchor-Buoy Presentation - the short version

• First the Anchor name in all lower-case, followed by “_”, e.g., appev_

Buoy Name

Page 115: Kevin Frank Anchor-Buoy Presentation - the short version

• First the Anchor name in all lower-case, followed by “_”, e.g., appev_

• Followed by base table abbreviations for any intervening buoys (each separated by an “_”)

Buoy Name

Page 116: Kevin Frank Anchor-Buoy Presentation - the short version

• First the Anchor name in all lower-case, followed by “_”, e.g., appev_

• Followed by base table abbreviations for any intervening buoys (each separated by an “_”)

• Followed by the base table name in all CAPS,e.g., appev_don_CON (where CON = Contacts)

Buoy Name

Page 117: Kevin Frank Anchor-Buoy Presentation - the short version

If you need to clarify the Buoy name

Page 118: Kevin Frank Anchor-Buoy Presentation - the short version

• Append two underscores: “__”

If you need to clarify the Buoy name

Page 119: Kevin Frank Anchor-Buoy Presentation - the short version

• Append two underscores: “__”

• Followed by a lower-case explanation

If you need to clarify the Buoy name

Page 120: Kevin Frank Anchor-Buoy Presentation - the short version

• Append two underscores: “__”

• Followed by a lower-case explanation

• E.g., I wanted to indicate that this particular buoy was linked via a field called “Country”

If you need to clarify the Buoy name

Page 121: Kevin Frank Anchor-Buoy Presentation - the short version

• Append two underscores: “__”

• Followed by a lower-case explanation

• E.g., I wanted to indicate that this particular buoy was linked via a field called “Country”

• And this buoy was used to filter a value list

If you need to clarify the Buoy name

Page 122: Kevin Frank Anchor-Buoy Presentation - the short version

Abbreviated Anchor Names...

Page 123: Kevin Frank Anchor-Buoy Presentation - the short version

Abbreviated Anchor Names...

Page 124: Kevin Frank Anchor-Buoy Presentation - the short version

Abbreviated Anchor Names...

…ensure that an anchor precedes its buoys in sortedTO lists

Page 125: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

Page 126: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are unidirectional, and flow from left to right, which means...

Page 127: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are unidirectional, and flow from left to right, which means...

• You only deal with related data that is “down-stream” from wherever you happen to be

Page 128: Kevin Frank Anchor-Buoy Presentation - the short version

From this layout...

Page 129: Kevin Frank Anchor-Buoy Presentation - the short version

From this layout...

…which is anchoredto this TO

Page 130: Kevin Frank Anchor-Buoy Presentation - the short version

Donor Name comes from here...

Page 131: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are only ever thought of as flowing from left to right, and...

• You only deal with related data that is “down-stream” from wherever you happen to be

• Calculated fields and lookups always “start” from the correct TO

Page 132: Kevin Frank Anchor-Buoy Presentation - the short version

No need to makeNo need to make

any changes hereany changes here

Page 133: Kevin Frank Anchor-Buoy Presentation - the short version

……or hereor here

Page 134: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are only ever thought of as flowing from left to right, and...

• You only deal with related data that is “down-stream” from wherever you happen to be

• Calculated fields and lookups always “start” from the correct TO

• You only see relevant TOs under “related tables”

Page 135: Kevin Frank Anchor-Buoy Presentation - the short version

…ad infinitum

In A/B, “Related” TOsare “Relevant” TOs

Page 136: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are only ever thought of as flowing from left to right

• You only deal with related data that is “down-stream” from wherever you happen to be

• Calculated fields and lookups always “start” from the correct TO

• You only see relevant TOs under “related tables”

• TOGs are analogous to FM6 relationship lists

Page 137: Kevin Frank Anchor-Buoy Presentation - the short version
Page 138: Kevin Frank Anchor-Buoy Presentation - the short version

Some Benefits of the A/B Method

• As in FM6, relationships are only ever thought of as flowing from left to right

• You only deal with related data that is “down-stream” from wherever you happen to be

• Calculated fields and lookups always “start” from the correct TO

• You only see relevant TOs under “related tables”

• TOGs are analogous to FM6 relationship lists

• You always know what to call a TO, where to put it and what color to make it

Page 139: Kevin Frank Anchor-Buoy Presentation - the short version

I’m confused --

Page 140: Kevin Frank Anchor-Buoy Presentation - the short version

I’m confused --

If my RG is brokeninto separate TOGs,how do I navigatebetween them?

Page 141: Kevin Frank Anchor-Buoy Presentation - the short version

I’m confused --

If my RG is brokeninto separate TOGs,how do I navigatebetween them?

For example...How do I jump froma donation to theparent donor?

Page 142: Kevin Frank Anchor-Buoy Presentation - the short version

Grab your board &Grab your board &

wetsuit, becausewetsuit, because

it’s time to go...it’s time to go...

Page 143: Kevin Frank Anchor-Buoy Presentation - the short version

TOG SurfingTOG Surfing

Page 144: Kevin Frank Anchor-Buoy Presentation - the short version

To jump from a donation tothe corresponding donor

Page 145: Kevin Frank Anchor-Buoy Presentation - the short version

To jump from a donation tothe corresponding donor

From theAnchor...

Page 146: Kevin Frank Anchor-Buoy Presentation - the short version

GTRR to the desired Buoy...

Page 147: Kevin Frank Anchor-Buoy Presentation - the short version

GTRR to the desired Buoy...

Page 148: Kevin Frank Anchor-Buoy Presentation - the short version

…but choose a layout attachedto the corresponding Anchor

Page 149: Kevin Frank Anchor-Buoy Presentation - the short version

This works because…

AND

…share a common base table

Page 150: Kevin Frank Anchor-Buoy Presentation - the short version

This works because…

AND

…share a common base table

Page 151: Kevin Frank Anchor-Buoy Presentation - the short version

But despite the superficial resemblance…

< demo break >< demo break >

Page 152: Kevin Frank Anchor-Buoy Presentation - the short version

One Very Important Point

Page 153: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

One Very Important Point

Page 154: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

One Very Important Point

Page 155: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

– All TO’s are not created equal

One Very Important Point

Page 156: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

– All TO’s are not created equal

– The first TO created for a given base table should always be used as the anchor

One Very Important Point

Page 157: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

– All TO’s are not created equal

– The first TO created for a given base table should always be used as the anchor

– (if the first TO has been deleted, then use the oldest surviving TO for that base table)

One Very Important Point

Page 158: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

– All TO’s are not created equal

– The first TO created for a given base table should always be used as the anchor

– (if the first TO has been deleted, then use the oldest surviving TO for that base table)

– This guarantees that calculated fields and lookups always “start” from the correct TO

One Very Important Point

Page 159: Kevin Frank Anchor-Buoy Presentation - the short version

• Whether starting an A/B project from scratch, or converting an existing project to A/B...

• Identify your natural anchors!

– All TO’s are not created equal

– The first TO created for a given base table should always be used as the anchor

– (if the first TO has been deleted, then use the oldest surviving TO for that base table)

– This guarantees that calculated fields and lookups always “start” from the correct TO

– Otherwise you sacrifice a big benefit of using A/B

One Very Important Point

Page 160: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busy

Page 161: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busyIt’s a small price to pay. TOs are cheap.An out-of-control graph is busy too.

Page 162: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busyIt’s a small price to pay. TOs are cheap.An out-of-control graph is busy too.

The RG is too big

Page 163: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busyIt’s a small price to pay. TOs are cheap.An out-of-control graph is busy too.

The RG is too bigGraph space is unlimited.

Page 164: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busyIt’s a small price to pay. TOs are cheap.An out-of-control graph is busy too.

The RG is too bigGraph space is unlimited.

I hate the criss-crossing lines -- I can’t find the “=” when I need to edit a relationship

Page 165: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG is too busyIt’s a small price to pay. TOs are cheap.An out-of-control graph is busy too.

The RG is too bigGraph space is unlimited.

I hate the criss-crossing lines -- I can’t find the “=” when I need to edit a relationship

You can double-click anywhere on thediagonal portion of the relationship line.

Page 166: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG doesn’t look like an ERD

Page 167: Kevin Frank Anchor-Buoy Presentation - the short version

Addressing Common Concerns...

The RG doesn’t look like an ERD

RG ERD; if you need an ERD there are any number of programs that can generate one.

Page 168: Kevin Frank Anchor-Buoy Presentation - the short version

• Park unused TOs at the bottom of the RG

• These little guys are either buoy-less anchors, or special-purpose TOs

Miscellaneous Thought #1

Page 169: Kevin Frank Anchor-Buoy Presentation - the short version

• Create separate TOGs to keep track of relational deletion dependencies

• This has nothing to do with A/B, per se

Miscellaneous Thought #2

Page 170: Kevin Frank Anchor-Buoy Presentation - the short version

Since adopting A/B...

Page 171: Kevin Frank Anchor-Buoy Presentation - the short version

Since adopting A/B...

• I always know what to call a TO

Page 172: Kevin Frank Anchor-Buoy Presentation - the short version

Since adopting A/B...

• I always know what to call a TO

• I always know where to put a TO

Page 173: Kevin Frank Anchor-Buoy Presentation - the short version

Since adopting A/B...

• I always know what to call a TO

• I always know where to put a TO

• I always know what color to make it

Page 174: Kevin Frank Anchor-Buoy Presentation - the short version

Since adopting A/B...

• I always know what to call a TO

• I always know where to put a TO

• I always know what color to make it

• I can do it in my sleep!

Page 175: Kevin Frank Anchor-Buoy Presentation - the short version

< the end >< the end >


Recommended