En efecto la base de datos es relacional y normalizada hasta la 3ra forma normal, lo usual para aplicaciones de bases de datos.
No obstante, segun lo que comentas, supongo entonces que para obtener un resumen de una entidad con algunos atributos de sus relaciones (por ejemplo 1:N), deberia pensar en un nuevo recurso?
Realmente no hay "debo"s refiriéndose a REST, porque no hay un
estándar de como hacer las cosas.
> Pregunto porque pareciera obvio que la forma correcta de acceder a los
> renglones sería algo como GET /facturas/1234/renglones/, pero esto
> implicaría un overhead adicional para una aplicación al tener que ejecutar
> una segunda petición para obtener los recursos relacionados.
Te recomiendo leer este blog post [1]. Ellos resuelven este problema
de una forma que me parece justa, en el párrafo titulado "The RedRata
vendor specific Accept types".
Su solución consiste en utilizar los headers de HTTP, en específico el
"Accept Header", para darle al cliente la posibilidad de definir la
representación del recurso, y si desea simplemente el recurso en
cuestión o todo lo que hay por debajo. Esto lo hacen con headers de
tipo "{type}/vnd.{company}{type}+{subtype}", como por ejemplo
"application/vnd.redrata.deep+json" o
"application/vnd.redrata.shallow+json". La parte relevante aquí es el
parámetro deep/shallow, que sin complicarse mucho se traduce a
profundo o plano.
Como ellos debaten un par de párrafos mas arriba, es tentativo hacer
esto en la URI, pero esta debería estar reservada a ocuparnos del
recurso y no de su representación, por lo que a mi parecer, a menos
que se te dificulte demasiado trabajar a nivel del Request, deberías
tomar en cuenta su solución.
P.D.: A mi si me parece que es al menos relevante hablar de la Base de
Datos, ya que no todo está limitado a la visión de las RDBMs (aunque
ya Daniel haya aclarado que usa una). Por ejemplo, en las orientadas a
documentos puedes guardar todo un recurso y sus "hijos" y luego
recuperarlos todos juntos, o por ejemplo en Riak se usa esta técnica:
[2].
1. http://redrata.com/restful-uri-design/
2. http://wiki.basho.com/Links-and-Link-Walking.html