What was a problem with navigational data access languages?
-
The user had to have knowledge of the table and index structures
-
Navigational data access was far slower than declarative access
-
Navigational access languages required the coder to embed their queries inside a procedural language shell
-
Navigational languages were far slower then SQL
Navigational data access languages (like CODASYL) required users to understand the physical database structure including table relationships, pointer chains, and index structures. This made them more complex to use compared to declarative languages like SQL where the database optimizer handles navigation.
Navigational (procedural) data access languages required programmers to know the physical structure of tables, indexes, and pointers to walk through data record by record, unlike declarative SQL where you just specify what you want and let the optimizer figure out how to retrieve it. This made navigational code brittle to schema changes and much harder to write and maintain than set-based SQL queries.