09aSQL

Database Management

Mick McQuaid

University of Texas at Austin

10 May 2026

What is SQL?

History

  • There you will find that the original version was called SEQUEL, short for Structured English QUEry Language
  • It was developed at IBM in 1973
  • But it became a standard outside IBM’s control in the mid-eighties
  • A standards committee published a new version at irregular intervals since then
  • Every commercial relational database management system implements it
  • It doesn’t fully adhere to the definition of “relational”

SQL has sublanguages

  • data query language
  • data definition language
  • data control language
  • data manipulation language
  • These languages are invisible to the average user except that they group SQL statements together under each of them

SQL is declarative

  • It tells what you want, not how to get it
  • Except that some procedural elements have crept into it, so in some ways, it prescribes the how
  • Most of these procedural elements let you write functions in popular programming languages
  • Some are devoted to vendor lock-in

Vendor lock-in

  • This is a big issue in SQL because the commercial package vendors don’t want you to switch
  • They don’t fully adhere to the standard, partly because it is unwieldly, but partly to discourage switching
  • Therefore, the standard is not a complete standard

Popularity

  • There are many other languages and systems that try to follow the relational model as originally proposed by Edgar F Codd, some more closely than SQL
  • There are many non-relational or not-only relational systems
  • None are as popular as SQL or even close, hence the emphasis of this class on SQL

Problems

  • The biggest problem with SQL, in my view, is that it actually allows duplicate rows, which the relational model forbids
  • Therefore, you have to remember to declare a PRIMARY KEY or a UNIQUE constraint or there can be problems in an application
  • Another problem is known as the impedance mismatch which we’ll discuss later—in brief a declarative language isn’t a good match for a procedural language and SQL is usually embedded in a procedural language
  • Other, more abstract, problems are described in the Wikipedia article on SQL

END

Colophon

This slideshow was produced using quarto

Fonts are Roboto, Roboto Light, and Victor Mono Nerd Font