Database - Basic Terminology

  • Relational Database: 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.
  • Database Management System (DBMS): 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.
  • 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.
  • 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.

Primary/foreign key relationship

  • Structured Query Language (SQL): 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."
  • Metadata: This is the data about the data. Metadata describes data relationships and characteristics, and is often referred to as a data dictionary, though that seems to be a term more prevalent in the relational world (though not exclusive to it by any means).
  • Consistency: A database is consistent when all of its imposed integrity constraints have been satisfied. Consistency can only be ensured if each database transaction, or data access request, begins in a known consistent state; otherwise, guarantees of consistency cannot be made. A database containing data that cannot be verified as consistent is problematic, especially to the extent to which its inconsistency is not known.
  • Data Redundancy: Data redundancy is a situation in a database in which copies of a given piece of data are housed in 2 different places. This redundancy can be achieved if data is held in multiple places in the same database, in multiple databases on the same computer, or in multiple databases across multiple computers, perhaps even using different database management server software. This redundancy can be leveraged for both data access and permanence.
  • ACID: ACID is an acronym referring to a set of database transaction properties, namely Atomicity, Consistency, Isolation, and Durability. A single database operation, or transaction, must be atomic, consistent, isolated, and durable in order to be valid. In other words, the set of steps which make up a transaction must either be completed in full or rolled back (atomic), consistent (see above definition), must be isolated from other potential transactions, and must be permanent (durable).

No comments:

Post a Comment