Database Architecture Flashcards
What is a database?
A database is an organised collection of related data.
What is a Database Management System (DBMS)?
A DBMS is a piece of software that allows the user to create, define, maintain and control access to the database. It also acts as an interface for the user to query the database.
What is a database application?
A database application is a program that interacts with the database at least at some point in its execution.
What is a database system?
A database system is a collection of programs that interact with the same database.
Where might databases be used?
Everywhere - they are used in university systems to store candidate information, supermarkets to handle transactions, online applications, the list goes on.
What might we call a system where each program defines and manages its own data?
A file-based system
What might we call a shared collection of logically related data and its description?
A database system
When might we prefer using a database approach?
When the data that needs to be stored is large, logically connected and frequently changed.
What issues may using a file-based system for a large, mutating database cause?
Data duplication, where data is duplicated across different files.
Data dependence, where we need to manually make changes everywhere whenever data is updated.
Incompatibility of file formats, where different users may prefer different file formats, which may be difficult to work with and may require an entirely new app.
What is meant by the “proliferation of apps”?
Due to reasons such as data dependence or incompatibility of file formats, more methods or applications will need to be created to query the files, creating a proliferation of the files needed for functionality.
What is meant by “incompatibility of file formats” in regards to a file-based approach?
This is an issue where different users may prefer different file formats, leading to new apps needing to be created or adopted just to parse the data properly.
What is meant by “data dependence” in regards to a file-based approach?
This means that whenever data is changed in one file, we need to change all related data in another file, which may also suffer from format incompatibility.
What is meant by “data duplication” in regards to a file-based approach?
This means that related data across separate files will end up being duplicated and therefore wasting space.
How does the database approach solve the issues of a file-based approach?
A single, shared database satisfying the requirements of all end users is created. Access to this is made via a DBMS, and we use a single scripting language called SQL to query the database for data.
What is the three-layer architecture of a Database Management System?
The three-layer architecture is a well-established software application architecture that organises applications into three layers - an external (UI) view, a conceptual (high-level data) view, and the internal (physical storage of data) view.