To make your final design more useable, you might want to hide multiple tables behind VIEWs. I've done that for some tables on our system just so the end-users don't have to write complex statements with a bunch of JOINs.
i.e. if you have a ADDRESS table that has a country code that needs a look-up to a COUNTRY table, hide that join in a view:
CREATE VIEW ADDRESS_DETAILS AS
SELECT col1, col2, ... coln, COUNTRY_NAME
FROM ADDRESS A, COUNTRY C
WHERE A.COUNTRY_ID = C.COUNTRY_ID;
Then the user can just say:
SELECT * FROM ADDRESS_DETAILS;
Much easier for them. If you like people who need it to be "easy" accessing your data.
