Database Key Terms, Explained
Interested in a survey of important database concepts and terminology? This post defines 16 essential database key terms concisely and accurately.
Data has value. Actually, data is value. Data has proven to be the most important commodity in the digital economy. Data's actual value continues to grow, and the limits of its prospective value are pushed every day. Data is the new everything.
Data needs to be curated, coddled, and cared for. It needs to be stored and processed, so that it may be transformed into information, and further refined into knowledge. The mechanism for storing data, subsequently facilitating these transformations, is, clearly, the database.
This post presents 16 key database concepts and their corresponding concise, straightforward definitions.
The selection of terms for this topic is especially difficult, so a whole host of reasons. Suffice it to say that these 16 concepts do not adequately represent all important terminology related to databases. I hope that they do, however, provide a jumping off point for those interested in learning more about databases, and their design and management.
A relational database is one which employs the relational model, in which the raw data is organized into sets of tuples, and the tuples organized into relations. This relational model imposes structure on its contents, in contrast to unstructured or semi-structured data of the various NoSQL architectures.
A database management system is a software system which facilitates the organization of housed data into a particular database architecture, be it relational (Relational Database Management System, or RDBMS), document store, key-value store, column-oriented, graph, or other. Popular DBMSs include MongoDB, Cassandra, Redis, MySQL, Microsoft SQL Server, SQLite, and Oracle, among many, many, many others.
3. Primary Key
In the relational model, a primary key is a single attribute, or combination of attributes, which can be used to uniquely identify a row of data in a givn table. Common primary keys include vendor ID, user ID, email address, or combination of attributes considered together such as first name, last name, and city of residence, all considered together as a single entity. It should be noted that what is an acceptable primary key in one situation may not uniquely identify data instances in another.
4. Foreign Key
Again in the relational model, a foreign key is an attribute or collection of attributes from one relational table whose values must match another relational table's primary key. A common use for such an organizational scheme would be to link a street address in one table to a city in another, and perhaps to a country in a third. This eliminates repetitive data input, and reduces the possibility of error, increasing data accuracy.
SQL is a relational database query and manipulation language. Its power and flexibility allows for the creation of databases and tables, and the manipulation and query of data. More recently, the term has become conflated with relational databases, relational database management systems, and the relational model, at least as a term used in contrast to the term "NoSQL."
NoSQL is an umbrella term, one which encompasses a number of different technologies. These different technologies aren't even necessarily related in any way beyond the single defining characteristic of NoSQL: they are not relational in nature. This lack of relational structure results in unstructured or semi-structured data in storage; there may be structure, but it is loose in nature, lax in enforcement.
Often, NoSQL is used to mean "not only SQL," meaning that these solutions are more flexible and less rigid in nature. I'm sure there are die-hards in this argument of terminology ownership, but just be aware of the potential difference in definition.