RDBMS
A Relational DataBase Management System (commonly abbreviated as RDBMS) is a data storage and management systems with all the functionalities of a traditional DBMS, plus mechanisms which give a developer or data administrator the ability to relate data in separate tables and/or databases.
An RDBMS manages a relational database, which stores data in connectible (relational) tables. Tables are organized into columns, and each column stores one type of data (integer, real number, character strings, date, …). The data for a single “instance” of a table is stored as a row.
Contents
Tools
IBM DB2
- IBM DB2: http://www-01.ibm.com/software/data/db2/ | DB2 Express-C (open source version)
- Creating an IBM DB2 Database: http://tips4db2.blogspot.com/2007/11/creating-database.html[1][2][3][4][5][6]
Derby
Derby is an Apache project.
- Apache Derby: http://db.apache.org/derby/
- Creating a Derby database and running SQL statements: http://db.apache.org/derby/docs/dev/getstart/twwdactivity1.html
Oracle
- Oracle 11g: http://www.oracle.com/us/products/database/ | Express 11g (open source version)
- Creating a Database with the CREATE DATABASE Statement: http://docs.oracle.com/cd/B28359_01/server.111/b28310/create003.htm[7]
MySQL
Since Oracle's acquisition of Sun Microsystems, they have owned the MySQL technology and any subsequent community contributions.
- MySQL
- Creating and Selecting a Database: http://dev.mysql.com/doc/refman/5.0/en/creating-database.html [8]
PostgreSQL
- PostgreSQL 10: http://www.postgresql.org/
- Creating a PostgreSQL database: http://www.postgresql.org/docs/9.0/static/tutorial-createdb.html[9]
SQL Lite
- SQLite: http://sqlite.org/
- SQLite In 5 Minutes Or Less: http://www.sqlite.org/quickstart.html[10]
HSQLDB
- HyperSQL DataBase: http://hsqldb.org/
MS SQL Server
- Microsoft SQL Server Express Edition: http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
Microsoft Access
- Microsoft Access: http://office.microsoft.com/en-us/access/
Sybase
QuestDB
- QuestDB: https://QuestDB.io | SRC | DEMO
CockroachDB
CockroachDB is a distributed database solution based on SQL and similar in structure to an RDBMS, however, it pitches itself as being: "architected for the cloud, CockroachDB delivers resilient, consistent, distributed SQL at the required scale".
- Cockroach DB: https://www.cockroachlabs.com/
- Distributed Transactions with CockroachDB on RedHat OpenShift: https://devops.com/webinars/distributed-transactions-with-cockroachdb-on-red-hat-openshift/
EXAMPLE
For example, the Customer table would have columns such as CustomerNumber, FirstName, and Surname, and a row within that table would be something like {1701, “James”, “Kirk”}.
Tables typically have keys, one or more columns that uniquely identify a row within the table, in the case of the Customer table the key would be CustomerNumber. To improve access time to a data table you define an index on the table. An index provides a quick way to look up data based on one or more columns in the table, just like the index of a book enables you to find specific information quickly.
The most common use of an RDBMS is to implement simple CRUD functionality and ensure data integrity on linked tables (where data in one table depends on data in one or more other tables).
[12]
Resources
- RDBMS comparison: http://troels.arvin.dk/db/rdbms/ (ports, syntax, benchmarks, etc)
Tutorials
- UUID or GUID as Primary Keys? Be Careful!: https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439
External Links
- wikipedia: RDBMS
- wikipedia: List of relational database management systems
- wikipedia: Comparison of relational database management systems
- DB2 UDB security, Part 1: Understand how user and group accounts interact with DB2 UDB: http://www.ibm.com/developerworks/data/library/techarticle/dm-0508wasserman/
- Foreign key referring to primary keys across multiple tables?: http://stackoverflow.com/questions/668921/foreign-key-refering-to-primary-keys-across-multiple-tables
- 10 things in MS SQL Server (which don't work as expected): http://tech.pro/tutorial/1419/10-things-in-sql-server-which-don-t-work-as-expected
- SQL incompatibilities (by RDBMS) - NOT IN and NULL values: http://blog.jooq.org/2012/01/27/sql-incompatibilities-not-in-and-null-values/
- NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL - MySQL: http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/
- MySQL Bad Idea #384: http://blog.jooq.org/2012/08/05/mysql-bad-idea-384/
- Principles of Sharding for Relational Databases: https://dzone.com/articles/principles-of-sharding-for-relational-databases
References
- ↑ DB2 Tutorial - Making the primary key auto incremental in DB2 : http://www.deknight.com/2009/10/db2-tutorial1.html
- ↑ Mappings of Java data types to DB2 data types: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/rjvjdata.htm
- ↑ How to implement a DB2 UDB primary key with a surrogate key: http://www.ibm.com/developerworks/data/library/techarticle/dm-0407zhang/index.html
- ↑ Install/Configure JDBC Driver for DB2: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.apdv.java.doc/doc/t0010264.htm
- ↑ Using DB2 (JDBC) driver from Java: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/cjvjt2cn.htm
- ↑ How to escape " and ' (by using double "" and ): http://publib.boulder.ibm.com/infocenter/cmgmt/v8r3m0/index.jsp?topic=%2Fcom.ibm.apg.doc%2Fcmbapmst164.htm
- ↑ Creating an Oracle 11g database: http://dba-onweb.blogspot.ca/2008/03/oracle-11g-creating-database-with-asm.html
- ↑ MySQL - Create a Database in MySQL: http://www.abbeyworkshop.com/howto/lamp/my_createdb/index.html
- ↑ 15 Practical PostgreSQL Database Administration Commands: http://www.thegeekstuff.com/2009/04/15-practical-postgresql-database-adminstration-commands/
- ↑ SQLite Tutorial: http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html
- ↑ We Put a SQL Database on the Internet: https://dzone.com/articles/we-put-a-sql-database-on-the-internet
- ↑ Relational Databases 101 - Looking at the Whole Picture: http://www.agiledata.org/essays/relationalDatabases.html