CIS275 - Chapter 1: Introduction to Databases Flashcards
Numeric, textual, visual, or audio information that describes real-world systems.
Data
The variance in the amount of data produced and collected. Ex: A small business might track an inventory of a few thousand items, but a large commerce website might track billions of items.
Scope
The manner data may be produced (i.e. numbers, text, image, audio, or video). Ex: A phone’s proximity sensor generates raw numbers, and a satellite captures images.
Format
The level of availability of a data source and who it is available to. Ex: A retail company may use private customer data to discover purchasing behavior patterns, but a government may be required by law to share certain data sets.
Access
Historically, data was mostly ____, encoded as continuous variations on various physical media. Ex: Audio was recorded as vibrations impressed on vinyl disks. Images were recorded as chemicals on celluloid tapes.
analog
Today, data is mostly _____, encoded as zeros and ones on electronic and magnetic media.
The shift from analog to ____ data facilitated the rise of large computer databases.
digital
A collection of data in a structured format.
database
Software that reads and writes data in a database.
database system (database management system or DBMS)
Database systems ensure data is secure, internally consistent, and available at all times. These functions are challenging for large databases with many users, so database systems are complex.
A specialized programming language, designed specifically for database systems.
query language
Query languages read and write data efficiently, and differ significantly from general-purpose languages such as Python, Java, and C++.
Software that helps business users interact with database systems.
database application
Many databases are complex, and most users are not familiar with query languages. Consequently, direct database access is usually not feasible. Instead, programmers write applications to simplify the user experience and ensure data access is efficient and secure.
Database software is organized in layers. Applications interact with a query language on one layer, and a query language interacts with a database system on another layer. Other software layers, such as the operating system, are beyond the scope of this material.
A _____ is responsible for securing the database system against unauthorized users. A _____ enforces procedures for user access and database system availability.
database administrator
A _____ determines the format of each data element and the overall database structure. _____ must balance several priorities, including storage, response time, and support for rules that govern the data. Since these priorities often conflict, _____ is technically challenging.
database designer
A _____ develops computer programs that utilize a database. _____ write applications that combine database query languages and general-purpose programming languages. Query languages and general-purpose languages have significant differences, so _____ is a specialized challenge.
(same role in all 3 gaps)
database programmer
A _____ is a consumer of data in a database. _____ request, update, or use stored data to generate reports or information. _____ usually access the database via applications but can also submit queries directly to the database system.
(same role in all 3 gaps)
database user
Large, complex databases that are shared by many users have special requirements:
Performance. When many users and applications simultaneously access large databases, query response time degrades rapidly. Database systems must maintain fast response times by structuring data properly on storage media and processing queries efficiently.
Authorization. Many database users should have limited access to specific tables, columns, or rows of a database. Database systems must authorize individual users to access specific data.
Security. Database systems must ensure authorized users only access permissible data. Database systems must also protect against hackers by encrypting data and restricting access.
Rules. Database systems must ensure data is consistent with structural and business rules. Ex: When multiple copies of data are stored in different locations, copies must be synchronized as data is updated. Ex: When a course number appears in a student registration record, the course must exist in the course catalog.
Recovery. Computers, database systems, and individual transactions occasionally fail. Database systems must recover from failures and restore the database to a consistent state without loss of data.
A group of queries that must be either completed or rejected as a whole.
A transaction
Execution of some, but not all, queries results in inconsistent or incorrect data. Ex: A debit-credit transaction transfers funds from one bank account to another. The first query removes $100 from one account and the second query deposits $100 in another account. If the first query succeeds but the second fails, $100 is mysteriously lost. The transaction must process either both queries or neither query.
When processing transactions, database systems must:
Ensure transactions are processed completely or not at all.
Prevent conflicts between concurrent transactions.
Ensure transaction results are never lost.
The _____ of a database system describes the internal components and the relationships between components.
architecture
The _____ interprets queries, creates a plan to modify the database or retrieve data, and returns query results to the application. The _____ performs query optimization to ensure the most efficient instructions are executed on the data.
query processor
The _____ translates the query processor instructions into low-level file-system commands that modify or retrieve data. Database sizes range from megabytes to many terabytes, so the _______ uses indexes to quickly locate data.
storage manager
The _____ ensures transactions are properly executed. The _____ prevents conflicts between concurrent transactions. The _____ also restores the database to a consistent state in the event of a transaction or system failure.
transaction manager
The ___ is a file containing a complete record of all queries processed by the database. The transaction manager writes ___ records before applying changes to the database. In the event of a failure, the transaction manager uses ___ records to restore the database.
log