Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Are Segments Virtual or Concrete ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Are Segments Virtual or Concrete ?" Watch "Are Segments Virtual or Concrete ?" New topic

Are Segments Virtual or Concrete ?

Francesco Marchioni
Ranch Hand

Joined: Sep 22, 2003
Posts: 194
Hello !
sorry to bother again about the BDM.
I've spent some days looking for answers in this forum,
anyway there's one thing which is still not clear to me.

In my opinion a Segment is a VIRTUAL takeoff/landing
for example :

New york-Dallas $600

then flights are the CONCRETE alternatives for that segment
for example:

New york-Dallas 12.30pm flight AB1345
New york-Dallas 14.30pm flight AC1345
New york-Dallas 16.30pm flight AE1345

but this would imply a (1 : Many) relation between Segments
and Flights.

I'd like to stick to the Analist BDM (1:1).
How can I conciliate it ?

The only way I can see to conciliate a 1:1 relation
is making the Segment CONCRETE, that is adding a reference
to the Flight structure.

Segment: New york-Dallas $600 FlightFK 00001
Flight: FlightPK 00001 12.30pm Flight AB1345

I do hope somebody will shed some light on this,
I'm stuck on this dilemma since 2 weeks....please
help me to clarify it !

Enterprise Integration Tutorials - JBoss-WildFly Tutorials
Marx Villegas
Ranch Hand

Joined: Mar 10, 2006
Posts: 94
I'm as confused as you are about the Segment stuff. This link may help:

in the end, I believe one has to come up with one's own interpretation, and it'll be ok as long as it is coherent.

When the compiler's not happy, ain't nobody happy...
Francesco Marchioni
Ranch Hand

Joined: Sep 22, 2003
Posts: 194
well thanks, finally a reply !
Meanwhile, I have inquired on airline forums about this.
The final conclusion that I have drawn is that Segments and Flights are synonims in the AirlineIndustry standards.

So I'll stick to the standard BDM (1:1)
and imagine that information is "split" between Segment and Flight.

Segment holds more abstract information (price, airport)
and Flight holds more detailed information (date and time of departure, Equipment used)

This way, from the Itinerary I collect Segments (1:M)
from Segment I collect the Flight (1:1)
from Flight I collect the Equipment (1:1)
from Equipment I collect the Seats (1:M)

sound reasonable ?
Marx Villegas
Ranch Hand

Joined: Mar 10, 2006
Posts: 94
I'm thinking about something different.
My thoughts:

A segment is a line in the itinerary that represents a flight item, along with its seat number. I mean, not the full list of available flights (Flight class), just a mapping between the itinerary and its items (segments). Each segment is then related to one flight, beacuse each segment are the flight details for an entry in the Itinerary (Although a flight might be related to many segments, one per seat in the plane).

Flight classes are the available list of flights, it's origins, destinations, flight number and timing. Each flight is related to an equipment, though an equipment is related to many flights (another potential incoherence of the BDM and/or my interpretation).
Equipment & Seats
Equipment are planes and seat are its seats. That's obvious, but the point is that both of these elements won't change unless the company buys new planes.

This is my interpretation. For example, if a customer bought a Pto. Rico -> New York route, and it has a connection in Miami it would be separated in two itinerary items (segments). The delicate thing is that under this approach, the flight number could not be the PK of a potential flight table, the key should be composed of the flight number along with its origin and destination.

Is this ok? or is it wild?
Best regards
I agree. Here's the link:
subject: Are Segments Virtual or Concrete ?
It's not a secret anymore!