Everybody forgets Informix
Informix, originally Marathon, was there in the early days alongside Oracle. In fact I heard of it and used it well before I heard of Oracle. You may guess at some of the ways in which Oracle came to dominance although it has to be said that Informix also made some pretty silly errors in buying up other businesses which didn't fit and presumably took money and management attention away from the main product.
Marathon was a relational wrapper around C-ISAM access (pairs of data files and B-tree index files) with the choice of access via a C library and command-line tools very much oriented to teletype including the report generator ACE plus, IIRC, a rudimentary TUI program called, IIRC, Informer. With the change of name from Marathon to Informix (could have been worse!) there was a TUI replacement for the main query tool and the original Informer replaced with a much better product, Perform. Perform providing some high-level programmability and a good deal more with the ability to enhance the run-time interpreter with C functions callable from the higher level Perform code.
Informix 2 introduced SQL, the ESQLC pre-processor to embed SQL into C and 4GL. 4GL was vaguely like structured BASIC with embedded SQL and event-driven menu handling which compiled down into ESQLC. 4GL programs could replace ACE or Perform. The consequence was that for a considerable period the combination of SCO and Informix was the backbone of many small businesses and the likes of HP-UX, AIX or Solaris and Informix ran larger businesses. They also supported the development of packaged applications.
In the end they lost out to Oracle and were bought up by IBM, probably because IBM wanted some aspects of their technology. If they hadn't fumbled as few times would they have remained competitive? Would we have seen all these Birmingham type situations? Who knows. It would have been a different and perhaps better alternative reality. As it was it supported me for most of the second half of my working life.