SQL (Structured Query
Language) is a language used for accessing and managing relational databases.
Based on the mathematical principles of relational algebra, it was standardized
in 1986 by the American National Standards Institute (ANSI) and later adopted
internationally by the International Organization for Standardization (ISO). It
has also been implemented as a Federal Information Processing Standard by the
United States government, meaning that it is utilized in federal databases
(National Institute of Standards and Technology). Other large institutions such
as banks often rely on SQL-defined databases as well (Cogswell).
SQL is important because
it is the most popular language for defining relational database models, which
have been the standard in the data industry for roughly the past four decades.
Relational databases, as opposed to hierarchical databases, are composed of
tables for which the creator explicitly defines the links or relationships. For
hierarchical databases, every segment is already implicitly defined in a
hierarchical path (“Comparison of Hierarchical and Relational Databases”). The
main advantage of relational databases is that they do not limit the user to a
strict hierarchy of data and allow the programmer more liberty in regards to
defining how the information is joined. As a result, they are more desirable in
instances that demand flexible data structures. It is also relatively simple to
edit and manipulate those structures (NIST). Stephen addressed this in his blog post and observed that relational databases can be easily used by untrained people because they are visually intuitive and eliminate the redundancies that plagued older types of databases.
As Jeremy noted in his post, SQL in its current state is merely a framework and requires additional complex coding to interact successfully with other programs. ANSI and ISO are working
to develop SQL beyond its basic function as a language interface for relational
models. Specifically, efforts are being made to enable interfacing for non-SQL
databases and support the integration of “heterogeneous data systems”
(repositories of various object and information types) by automatically
enforcing SQL constraints (NIST).
In recent years, NoSQL
databases (utilized by Google and Amazon) have drawn a lot of attention. NoSQL
lends itself more readily to naturally hierarchical data structures.
Additionally, the response time or relational databases can get “bogged down”
for very complex systems that must handle many relationships and high user
traffic (Cogswell). However, SQL is seeing performance improvements with the
emergence of better data management extensions and remains the standard for
database definition and communication.
References
"Comparison of
Hierarchical and Relational Databases." IBM Information Management
Software. IBM, Oct. 2013. Web. 04 Feb. 2014.
Cogswell, Jeff. "SQL
vs. NoSQL: Which Is Better?" Slashdot. N.p., 12 July 2012.
Web. 04 Feb. 2014.
National Institute of
Standards and Technology. "Description of SQL Standards." Database
Language SQL. National Institute of Standards and Technology, n.d. Web. 04
Feb. 2014.
I found SQL quite interesting because of its development over the years. I also had no idea that SQL is the most popular software language for relational database models. I was aware of management systems, but of not any particular language used within the database.
ReplyDelete