Basic SQL  «Prev  Next»

Lesson 2Structured Query Language Prerequisites
ObjectiveWhat are the prerequisites for learning the Structured Query Language?

SQL Course Prerequisites for Basic SQL

This course is designed for students seeking to learn basic relational database concepts and want to learn how to perform SQL queries.
Although this course is accessible to students who are new to relational databases, some database experience is helpful.

Platform Support

This course is designed for the Linux, Windows, and Macintosh platforms, as long as the database the student uses is SQL-compliant. The screenshots are from the Windows platform.
SQL works with a database to initially create the database and to insert and extract data from the tables. Therefore, it is essential to understand the theory and concepts behind database systems. Hence, this course also covers database theory and database design, so that you are equipped to create an effective database. The SQL code in this course reflects the modern SQL standards set by organizations such as the (ANSI) American National Standards Institute[1] and the International Standards Organization (ISO). While standards are great, what is available for practical use is what really counts. This course, then, concentrates on the sort of SQL supported by most modern database systems. You should that find most of the code runs with little or no modification on most database systems released within the last six or seven years.

Big Data Modeling

SQL Relational Approach

A relational approach to SQL is the theme of this course. To treat such a topic adequately, I need to cover relational issues as well as issues of SQL. While this remark applies to the course as a whole, it applies especially to the first two modules. What I want to do is review material that for the most part I hope you already know. My intent is to establish a point of departure, to lay some groundwork on which the rest of the course can built. Even though I hope you are familiar with most of what I have to say in this module, I would like to suggest not to skip it. You need to know what you need to know, in particular, you need to be sure you have the prerequisites needed to understand the material to come in later modules. I would like to recommend that throughout the course you do not skip the contents of a topic, just because you think you are familiar with that topic already. For example, are you absolutely sure you know what a key attribute[2] is, in relational terms?

Relational model is much misunderstood

Professionals in any discipline need to know the foundations of their field. So if you are a database professional, you need to know the relational model, because the relational model is the foundation (or a large part of the foundation, at any rate) of the database field in particular. Now, every course in database management does at least pay lip service to the idea of teaching the relational model, but most of that teaching seems to be done inadequately. Certainly the model is not well understood in the database community at large. Here are some possible reasons for this state of affairs:
  1. The model is taught in a vacuum. That is, for beginners at least, it is hard to see the relevance of the material, or it is hard to understand the problems it is meant to solve, or both.
  2. The instructors themselves do not fully understand or appreciate the significance of the material.
  3. Perhaps most likely in practice, the model is not taught at all the SQL language, or some specific dialect of that language, such as the Oracle dialect, is taught instead.

[1]ANSI: The American National Standards Institute is a private, non-profit organization that administers and coordinates the U.S. voluntary standards and conformity assessment system.
[2]key attribute:An attribute that identifies an entity, also known as an entity identifier.