A database is a software application that enables the storage of data. Within database architecture there are different theories and implementations for storing the physical data. A relation database management system (RDBMS) is a database that stores data in tables with relationships to other tables. In comparison, a database management system (DBMS) does not require the definition of relationships between tables. Both DBMS and RDBMS are models for storing information in a physical database.
Information is a critical factor for competitive advantage in business today. Typically large organizations use multiple databases to perform business operations. These databases can include both large DBMS and RDBMS. Typically large sophisticated sets of data require an RDBMS solution, whereas smaller data collections can be managed with a DBMS.
A logical data model is a schematic that is used to express data for an organization. Today there are multiple techniques for creating a data model. A relational data model includes tables, keys, indexes, and foreign key relationships to other tables. Both DBMS and RDBMS support the concept of foreign keys, only RDBMS enforces those rules.
Cardinality is a mathematical term that explains the number of elements in a set. The cardinality relationship in a database explains the number of elements that can belong to a table with relationships. An example of cardinality is easily described with a person and phone numbers. Typically people have multiple phone numbers. This would be a one-to-many relationship in relational database theory.
Relational database theory was first introduced by Edgar Frank Codd in 1970. Within his theory Mr. Codd defined 13 rules, often termed “Cod’s 12 rules” because he numbered them zero through 12, on satisfying a relational model. The relational model requires a RDMS be built based on relationships to other data within the data model.
Before a software application can be considered a database it must have a mechanism to save data to a physical device. This will allow other software to retrieve the saved data later. The DBMS and RDBMS both allow this to happen.
A flat file is data that is 'flat' in logical nature. This data has no relationship to other data and requires programming logic to retrieve records from a physical device. These types of files are good for simple lists but are not recommended for large complex operations. The flat file is allowed in DBMS design, but not accepted in RDBMS design.
Relational database design is the next generation forward from database management system design. The relational database used the fundamentals of DBMS as the base model for storing data. DBMS and RDBMS are supported by most database vendors. Typically, RDBMS is used for more complex business applications.