RT design question

Looking at RT 3.x, why is ticket Owner both a field in the
ticekts table and stored as a Group with Type=‘Owner’ ?

Seems redundant. Is it vestigial or maybe is it performance related?

I’m working on an asset tracking system built on RT and am
trying to nail down the table design.

Thanks.

-Todd

Looking at RT 3.x, why is ticket Owner both a field in the
ticekts table and stored as a Group with Type=‘Owner’ ?

Seems redundant. Is it vestigial or maybe is it performance related?

It’s largely performance-related. And somewhat historical. It’s likely
that we could eliminate the version stored as a primary-level field.

So that is what you would recommend for Asset Tracker ? :slight_smile:

It seems strange to me that these Groups with Domain,
RT::Ticket-Role wouldn’t be stored in the Tickets table.

-ToddOn Mon, Nov 22, 2004 at 11:56:53AM -0500, Jesse Vincent wrote:

On Mon, Nov 22, 2004 at 11:15:14AM -0500, Todd Chapman wrote:

Looking at RT 3.x, why is ticket Owner both a field in the
ticekts table and stored as a Group with Type=‘Owner’ ?

Seems redundant. Is it vestigial or maybe is it performance related?

It’s largely performance-related. And somewhat historical. It’s likely
that we could eliminate the version stored as a primary-level field.

I’m working on an asset tracking system built on RT and am
trying to nail down the table design.

Thanks.

-Todd

So that is what you would recommend for Asset Tracker ? :slight_smile:

Without knowing your entire design, it’s hard to know.

It seems strange to me that these Groups with Domain,
RT::Ticket-Role wouldn’t be stored in the Tickets table.

What?

So that is what you would recommend for Asset Tracker ? :slight_smile:

Without knowing your entire design, it’s hard to know.

I am allowing the designation of an owner for each asset, but
unlike Tickets and owner can be a group.

It seems strange to me that these Groups with Domain,
RT::Ticket-Role wouldn’t be stored in the Tickets table.

What?

I mean for each ticket there are 4 groups, Owner, Requestor,
Cc, AdminCc. Why not store them in the Tickets table?

The only reason I can think of is that the recursive process
of figuring out all members of a group is maybe easier if
the top-level group is also in the Groups table.

I mean for each ticket there are 4 groups, Owner, Requestor,
Cc, AdminCc. Why not store them in the Tickets table?

Why store them in the tickets table, when you have SQL to join them.
This isn’t a case where breaking the data normalization rules will win
you anything.

I guess my understanding of normalization isn’t so hot. If
there are 4 ticket role groups for every ticket, why would
storing them in the Tickets table be bad? Those groups are
unique to that ticket…On Mon, Nov 22, 2004 at 12:14:00PM -0500, Jesse Vincent wrote:

I mean for each ticket there are 4 groups, Owner, Requestor,
Cc, AdminCc. Why not store them in the Tickets table?

Why store them in the tickets table, when you have SQL to join them.
This isn’t a case where breaking the data normalization rules will win
you anything.

The only reason I can think of is that the recursive process
of figuring out all members of a group is maybe easier if
the top-level group is also in the Groups table.

I guess my understanding of normalization isn’t so hot. If
there are 4 ticket role groups for every ticket, why would
storing them in the Tickets table be bad? Those groups are
unique to that ticket…

And they could be easily found by joining to the relevant other tables.
It’s worth reading up on the various “normal forms” for databases.
When doing actual application development, there is sometimes a reason
to denormalize, but absent anything else, the “Don’t Repeat Yourself”
principal should lead you to trying to avoid things that don’t need to be
there.

Also, what happens when you finally get around to adding that fifth role
or fully generalizing roles?

Jesse

Hey, I have a Master’s Degree… in science! :)On Mon, Nov 22, 2004 at 01:01:28PM -0500, Jesse Vincent wrote:

It’s worth reading up on the various “normal forms” for databases.

Hey, I have a Master’s Degree… in science! :slight_smile:

Better than me. I have a lowly BA in Russian Studies ;)> On Mon, Nov 22, 2004 at 01:01:28PM -0500, Jesse Vincent wrote:

It’s worth reading up on the various “normal forms” for databases.