Right Full Outer Join Query
A quick check on Wikipedia doesn't mentioned if an "outer join" implies left, right or full when this important bit is omitted.

Practically, 


"outer join" by iself isn't supported. You normally require LEFT, RIGHT or FULL
"natural" means "join on column with the same names"


This means


"Natural outer join" won't be recognised
"Natural full outer join" is "full outer join" with "natural" matching


Indexs/keys don't matter in this case and make no difference.

The result you get is correct for the standard

select *
from 
   R
   full outer join 
   S ON R.B = S.B


or

select *
from 
   R
   full outer join 
   S USING (B)


Note: not all RDBMS support all syntax:


SQL Server doesn't support NATURAL (a good thing)
MySQL doesn't support FULL OUTER JOIN (can be worked around)


Natural joins are dangerous anyway (SO links)


https://stackoverflow.com/questions/4826613/natural-join-in-sql-server/4826659#4826659
https://stackoverflow.com/questions/3277580/sql-server-lack-of-natural-join-x-join-y-usingfield
https://stackoverflow.com/questions/3063107/is-natural-join-any-better-than-select-from-where-in-terms-of-performance