Podcast
Questions and Answers
A number of characteristics distinguish the ______ approach from the much older approach of programming with files.
A number of characteristics distinguish the ______ approach from the much older approach of programming with files.
database
In a database, the names or labels of data are defined once, and used repeatedly by ______, transactions, and applications.
In a database, the names or labels of data are defined once, and used repeatedly by ______, transactions, and applications.
queries
A DBMS ______ stores the description of the database structure and constraints.
A DBMS ______ stores the description of the database structure and constraints.
catalog
A data ______ hides storage details and presents users with a conceptual view of the database.
A data ______ hides storage details and presents users with a conceptual view of the database.
[Blank] control within the DBMS guarantees that each transaction is correctly executed or aborted.
[Blank] control within the DBMS guarantees that each transaction is correctly executed or aborted.
Flashcards
What is Data Abstraction in databases?
What is Data Abstraction in databases?
Data Abstraction hides storage details and shows users a conceptual view of the database.
What does a DBMS catalog store?
What does a DBMS catalog store?
A DBMS catalog stores descriptions of database structure and constraints, known as meta-data, which allows DBMS software to work with different database applications.
What is 'program-data independence'?
What is 'program-data independence'?
Program-data independence, enables modifications to data structures and storage without altering DBMS access programs. The data file structure is stored separately.
Who are System Analysts and Application Programmers?
Who are System Analysts and Application Programmers?
Signup and view all the flashcards
What is Concurrency Control?
What is Concurrency Control?
Signup and view all the flashcards
Study Notes
- Key features differentiate a database approach compared to file programming
Traditional File Processing
- Each user must individually define and implement needed files for their specific software application
- This can lead to redundancy
Database Approach
- Data names and labels are defined once
- Data names and labels are used repeatedly by queries, transactions, and applications
Main Characteristics of the Database Approach
- Self-describing nature of a database system
- Insulation between programs and data
- Data abstraction
- Support of multiple views of the data
- Sharing of data and multi-user transaction processing
Self-Describing Nature of Database System
- A DBMS catalog stores the description of the database structure and constraints, such as data structures, types, storage format, and constraints.
- The DBMS catalog description is called meta-data
- This allows the DBMS software to work with different database applications
- A simplified database catalog includes 'Relations' and 'Columns'
- 'Relations' consists of 'Relation_name' and 'No_of_columns'
- 'Columns' consists of 'Column_name', 'Data_type', and 'Belongs_to_relation'
Insulation Between Programs and Data
- Insulation between programs and data is called program-data independence
- Insulation between programs and data allows changing data structures and storage organization without changing the DBMS access programs
- The structure of the data files is stored in the DBMS catalog separately from access programs
Data Abstraction
- A data model is a type of Data Abstraction used to hide storage details
- Data model presents users with a conceptual view of the database
- The data model uses logical concepts
- The data model uses objects, their properties, and their interrelationships
- A data model hides storage and implementation details to provide a clear view of the database
- E.g. Internal storage format for a STUDENT record
Support of Multiple Views of the Data
- Each user may see a different view of the database, which describes the data
- E.g. 'Course_name', 'Course_number', and 'Prerequisites' of COURSE_PREREQUISITES
Sharing of Data and Multi-User Transaction Processing
- Allows a set of concurrent users to retrieve from and to update the database
- Care is needed to avoid interferences
- Concurrency control within the DBMS guarantees that each transaction is correctly executed or aborted
Database Users Divisions
- Divided into those who use and control database content and those who design, develop and maintain database applications ("Actors on the Scene")
- Divided into those who design/develop DBMS software and related tools and computer systems operators ("Workers Behind the Scene")
Database Users - Actors on the Scene
- Database administrators are responsible for authorizing access to the database
- Database administrators are responsible for coordinating and monitoring database use
- Database administrators are responsible for acquiring software and hardware resources
- Database administrators are responsible for controlling database use and monitoring efficiency of operations
Database Designers
- They define the content, structure, constraints, and functions/transactions against the database
- They must communicate with end-users and understand their needs
- System analysts determine requirements of end-users and develop specifications
- Application programmers implement specifications as programs; they must be familiar with the DBMS capabilities
End-Users
- End-users use data for queries and reports, and some update database content.
- End-users can be categorized into Casual end users, Naive or Parametric end users, Sophisticated end users, and Standalone end users
Categories of End-Users
- Casual end-users access database occasionally when needed
- Naive or Parametric end-users make up a large section of the end-user population; they use previously well-defined functions
- Examples of Naive or Parametric end-users: bank tellers or university secretaries
- Sophisticated end-users are business analysts, scientists, engineers, others thoroughly familiar with system capabilities
- Sophisticated end-users use tools in the form of software packages that work closely with the stored database
- Stand-alone end-users mostly maintain personal databases using ready-to-use packaged applications
- Examples of Stand-alone end-users: scientists that creates database for their own experiments, or a user that maintains an address book
- You may become sophisticated or stand-alone users
Database Users - Workers Behind the Scene
- DBMS system designers implement the DBMS modules and interfaces as a software package.
- Tool developers design/implement tools (software packages) that facilitate database modeling/design, system design, and improve performance
- Operators/maintenance personnel (system administration personnel) are responsible for running and maintenance of the hardware/software environment
Advantages of Using DBMS Approach
- Controlling redundancy in data storage and in development and maintenance efforts
- Sharing of data among multiple users
- Ensuring consistency of data.
- Restricting unauthorized access to data
- Providing Storage Structures and Search Techniques (e.g. indexes) for efficient query processing
- Providing backup and recovery services
- Providing multiple interfaces to different classes of users
- Representing complex relationships among data
- Enforcing integrity constraints on the database
- Interacting easily with data using high-level dedicated tools
When not to use a DBMS
- When the main inhibitors (costs) of using a DBMS are a high initial investment and a possible need for additional hardware
- When the main inhibitors (costs) of using a DBMS is overhead for generality, security, concurrency control, recovery, and integrity functions
- When it may be unnecessary if the database and applications are simple, well defined, and not expected to change
- When it may be unnecessary if there are stringent real-time requirements that may not be met because of DBMS
- When it may be unnecessary if access to data by multiple users is not required
- When no DBMS may suffice if the database system cannot handle complexity of data because of modeling limitations
- When no DBMS may suffice if the database users need special operations not supported by the DBMS
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.