@thatjeffsmith
a product manager for Oracle, building database tools
I'm a product manager for Oracle.
I build and help people use database tools and REST APIs.
I also like Crossfit, formerly obstacle course racing, beer, bourbon, travel, reading, and all that jazz.
Bothering you online if you ever ask for help or complain about having trouble with Oracle Database.
Great question, complicated answer. I taught a 90 minute class on the subject earlier this year. A 'version' of that lecture I did previously and had recorded is here, plus slides: https://www.thatjeffsmith.com/archive/2020/09/dba-masterclass-week-1-data-modeling/ I suggest also looking at this book if you want to use our free Oracle tool to build a model https://www.amazon.com/Oracle-Developer-Modeler-Database-Mastery/dp/0071850090 Karen Lopez has some great posts on data modeling in general, esp on things to avoid. Follow her on twitter @datachick
When paginating the results of a query in Oracle REST APIs...we don't actually do that. We take the query...and rewrite it to have the 'page' returned as a singular resultset. So each time the user/app follows the link for the next or previous page, the query is executed again. So instead of SELECT * FROM my_table We run SELECT * FROM ( SELECT Q_.*, ROW_NUMBER() OVER ( ORDER BY 1 ) RN___ FROM ( SELECT * FROM my_table ) Q_ ) WHERE RN___ BETWEEN : 1 AND : 2 The API dev can of course override this and build their own logic, or even disable paging...