DBMS, Data Models & the Relational Database
Define DBMS, data model, entity/attribute/relationship, and the relational database; list the nine components of the database environment.
What sits between you and the data
A database management system (DBMS) is a *software system* used to create, maintain, and provide controlled access to user databases. It is the intermediary between users/applications and the actual stored data, handling storage, retrieval, security, concurrency, and integrity. The single most common beginner error is confusing the DBMS (the software — Oracle, PostgreSQL, MySQL) with the database (the data itself). They are not the same thing.
Data models and their building blocks
A data model is a graphical (and notational) system used to capture the nature of, and relationships among, data. The dominant one in this course is the entity-relationship (E-R) model (Chapters 2–3). Its three core building blocks:
- Entity — a person, place, object, event, or concept the organization wants to keep data about. Think of it as a *noun*: STUDENT, COURSE, ORDER. Each occurrence is an *entity instance*; entities become tables in a relational database.
- Attribute — a property that describes an entity (a STUDENT has a name, GPA, major).
- Relationship — an association among entities (a STUDENT *registers for* a COURSE).
The relational database
A relational database represents data as a collection of tables, where all relationships are represented by common values in related tables — not by physical pointers. That mechanism is the shared field:
STUDENT( StudentID, Name, Major )
REGISTRATION( StudentID, CourseID, Grade )
StudentID appears in *both* tables; that shared value *is* the relationship between a student and the courses they registered for — no embedded link or pointer needed. This second-generation approach (E. F. Codd, IBM, 1970; commercially dominant from the 1980s) is still the most widely used database technology today.
The nine components of the database environment
The whole environment is people + software + data working together. Its nine components are: (1) data modeling & design tools, (2) the repository, (3) the DBMS, (4) the database, (5) application programs, (6) the user interface, (7) data & database administrators, (8) system developers, and (9) end users.
The distinction the exam loves: the repository stores *metadata* (the definitions/blueprints of data), while the database stores the *actual data occurrences*. The DBMS is the controlled-access layer between the users/applications and that database.