>Where is truly weak is that not extend the relational model to INNER values (so you can't "SELECT (SELECT chars FROM name)) but is a limitation of sql, not the relational model.
True, but fortunately most database systems have proprietary ways to achieve some of that. For instance in PostgreSQL
select * from regexp_split_to_table('abc', '') chars;
gives you
chars
-------
a
b
c
It's called table-valued functions and it's extensible. Obviously, it's not quite as general as what you are talking about because the values are not actually stored as tables. To get a bit closer to that you could use composite types and arrays. I'm not convinced it's worth the added complexity though.
True, but fortunately most database systems have proprietary ways to achieve some of that. For instance in PostgreSQL
gives you It's called table-valued functions and it's extensible. Obviously, it's not quite as general as what you are talking about because the values are not actually stored as tables. To get a bit closer to that you could use composite types and arrays. I'm not convinced it's worth the added complexity though.