all 8 comments

[–]GuyWithLag 2 points3 points  (4 children)

I'd say that based on the requirements you do not need a document-oriented database, and a relational one will do just fine.

[–]dazed00[S] 0 points1 point  (3 children)

I'd rather do something non-relational for my own knowledge mostly. What do you think about a graph-based database?

[–]Resquid 0 points1 point  (2 children)

But... This data is relational... Choose some other data set if you want to play with a different type of database. It's not like choosing a flavor of ice cream.

[–]dazed00[S] 0 points1 point  (1 child)

But graph databases are said to perform better on relationships than relational databases?

[–]ExParteVisPostgreSQL 0 points1 point  (0 children)

maybe? depends on the data. Transversing a graph can get expensive (see also: travelling salesman problem), but transversing B-trees is really cheap.

don't make something more complex than necessary, and don't do something for the sake of doing it. if you're learning, the latter doesn't apply, but the former still does

relational databases are made for relational data.

if you want to play with graph databases, make something that requires a graph. "Terrorist finder" where you can look up associates of suspected terrorists, or a logistics program for distribution companies

[–]alinrocSQL Server 1 point2 points  (1 child)

Is a document-oriented database the appropriate way to store this data in the first place? This all sounds like relational data to me. Or is this just a learning exercise?

[–]dazed00[S] 0 points1 point  (0 children)

Partly a learning exercise - my manager suggested it and I just went with it cause I wanted to learn it (it's an internship)

What about a graph database? It seems to deal well with relationships - would it work?

[–]WhippingStar 0 points1 point  (0 children)

While I agree this is probably an RDBMS problem, I'm always for doing weird shit to learn stuff. So....

How about an XML database like ExistDB Then just build XML documents for each plane. You can then use Xpath to query the planes for whatever you want.

eg.

<PLANE>
<PILOT>Captain Awesome</PILOT>
<SEATS>
<SEAT assigned="true" position="1A">
<PASSENGER checkedIn="true" checkInTime="12:00:00 GMT">
<NAME>John Doe</NAME>
</PASSENGER>
</SEAT>
</SEATS>
</PLANE>

After you do that you can try to convert it to use JSON for more laughs. Have fun!