Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

New Rule - Edition Based Redefinition #70

Copy link
Copy link
Closed
@RichardSoule

Description

@RichardSoule
Issue body actions

In my fork, I've added some stuff about how to use EBR.

Database Object Naming Conventions

Never enclose object names (table names, column names, etc.) in double quotes to enforce mixed case or lower case object names in the data dictionary.

Edition Based Redefinition (EBR) is one major exception to this guideline. When naming tables that will be covered by editioning views, it is preferable to name the covered table in lower case begining with an underscore (for example: "_employee"). The base table will be covered by an editioning view that has the name employee. This greatly simplifies migration from non-EBR systems to EBR systems since all existing code already references data stored in employee. "Embracing the abomination of forced lower case names" highlights the fact that these objects shouldn't be directly referenced (execpt, obviously, by forward and reverse cross edition triggers during edition migration, and simple auditing/surrogate key triggers, if they are used). Since developers and users should only be referencing data through editioning views (which to them are effectively the tables of the applications) they won't be tempted to use the base table. In addition, when using tools to look at the list of tables, all editioning view covered tables will be aligned together and thus clearly delinated from non-covered tables.

There is a whole lot of confusion about EBR in general (hence this: https://insum.ca/resources/webinars/ on Dec 4th, and at Kscope), and I'd like to have more, but the above was the start was the start...

New rule? Update to naming standards? Not sure...

Metadata

Metadata

Labels

enhancementNew feature or requestNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.