3

I'm creating a very simple database system for an airline company, for learning purposes.

Flight, passenger and payment are my entities and I've used relational format for the relationships between them.

How can I show relationships for entities that I created?

How can I show normalization in a relationship? (At least Third Normal Form.)

0

2 Answers 2

2

It seems you are looking for a tool, that verifies the normalization. There is no such tool (at least I can't think of any since it would be almost impossible do write checks for the noralization).

If you want to see if your schema verifies, use simple logic by observing it. If you are not sure, look at the examples in WIkipedia for 1NF, 2NF and 3NF. Does your model have the same structure as these examples? If yes, than you adhere to normalization.

Your model may look like this (showing only PKs and FKs and example)

flight
-------------------
flight_id (PK)
destination
[....]

passengers
-----------------
passenger_id
surname
lastname
nr_of_seats
[....]

payment
--------------------
payment_id
date
price
[....]

-- Your join table, that lets you connect all the data. I assume that the a passenger may book a flight more than once, so I join them together with a certain flight and payment.
reservation 
----------------------
flight_id
passenger_id
payment_id
[....]

If you want tools to visuallize your database, pick one from the list that applies to your DBMS. It lets you check how your entities are connected together.

0
2

Part of the point of developing a formal data model is that a formal model can support automation. The relational model is a formal data model.

SQL isn't relational, but practically speaking it's the closest thing we have.

Given either functional dependencies or representative sample data, CASE software can conceivably derive or verify every possible 3NF or 5NF schema. IBM built one such CASE product--Rational Data Architect.

I'm sure there are others. Research combinations of the words CASE, database, and normalization.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.