Chapter 1 - Database Systems Flashcards
What are the advantages of DBMS over flat file? (5)
- Data independence and efficient access
- Reduced app development time
- Data integrity and security
- Uniform data administration
- Concurrent access and crash recovery
How does DBMS provide
1. Data independence and efficient access?
The DBMS provides data independence through clear separation between logical design and physical storage.
It provides efficient access through 1. Easy retrieval of data, 2. Usage of indexes, 3. Query optimisation
How does DBMS provide
2. Reduced application development time?
DBMS systems provide query facilities that simplify data retrieval and analysis, leading to more efficient development of applications that interact with data.
How does DBMS provide
3. Data integrity and Security
DBMS provides data integrity through the use of integrity constraints, which are rules or conditions defined in DB that validate and enforce accuracy and consistency of data.
Examples include checks on data types, unique keys, foreign keys.
DBMS provides security through the use of access controls.
How does DBMS provide
4. Uniform data administration?
Maintenance and data admin: fine tuning data presentation, backups etc
DBMS provides uniform data administration through maintenance and data administration. It simplifies maintenance tasks such as fine tuning data presentations, creating backups and ensuring data consistency.
I have multiple people making changes to the data, how do I ensure that the
data is in a consistent state? How to solve the problem of concurrent access?
Through the implementation of
1.data integrity and
2. concurrent access
What are the two types of data independence?
Physical independence and logical independence
How do we enforce different users to perform different operations on
subsets of data?
security / access control
What are the 3 different levels data is being abstracted into in a Database Management System? What are the roles operating at the different levels?
View, Logical, Physical
View Level (External): REGULAR USERS
Users: This level is for regular users and developers who interact with the database using software applications. They perform queries and operations to access and manipulate data without needing to know the underlying details of how data is stored or organized.
Logical Level (Conceptual): DEVELOPERS AND DB ADMIN
Developers and DB Administrators: At this level, developers and database administrators define the structure of the data using communication protocols. They determine how different pieces of data relate to each other conceptually. It’s like creating a blueprint for how data should be organized and accessed.
Physical Level (Internal): DB ADMIN
DB Administrators: The physical level is managed by database administrators. It deals with the actual storage of data on disks, in memory, and in cache. Administrators ensure data is stored efficiently for fast retrieval. It’s like the nuts and bolts of where and how the data is stored.
What is physical independence
Changing of the physical characteristics of the database without changing the logical/conceptual structure of the data or database schema. Can make changes to how data is stored, can make changes to compression techniques or hashing algorithms
What is logical independence
It is the changing of the logical structure of the data or database schema without affecting the other levels, meaning it won’t affect storage, it will not affect the usage of data (code etc). Means when you change the structure, you do not have to rewrite the application program
What is the difference between 1,2 and 3 tier architecture
1: The UI, application and DB all runs on one computer.
2: System is divided into client side and server side. Client side handles UI and application logic, server side handles DB.
3: Additional layer or Application server.
UI handled by client side, application logic handled by application server, database handled by db server
What are the two types of DBMS. What is their difference?
SQL is commonly used by enterprises and is designed for structured data, whereby data has well-defined format and relationships between data are well-defined
Examples are RDBMS and OLAP
NoSQL commonly used by big data environment and is designed to handle unstructured data, which has no fixed format. It may come in the form of text, multimedia, social media posts, etc.
Examples are Key-value DBMS, Column DBMS, Graph DBMS and Document DBMS
What is the RDBMS standard in transaction?
The ACID principles are used
What are the Acid principles?
Atomicity
Consistency
Isolation
Durability