chapter 12: databases and database management systems
In-memory databases (IMDBs)
(main memory databases (MMDBs)) - All data is stored in main memory - Use is growing as memory costs fall - Dramatically faster than disk-based databases - Good backup procedures are essential because RAM is volatile - Used both in high-end systems where performance is crucial and in small-footprint, embedded applications
Distributed database system
- Data is physically divided among several computers connected by a network, but appears as a single database to users - Allows data to be stored at the site where it is needed most frequently or that makes data retrieval most efficient - Cloud databases
Multiuser database system
- Designed to be accessed by multiple users (most business databases today)
Single-user database system
- Located on a single computer - Designed to be accessed by one user - Widely used for personal applications and very small businesses
Direct organization
- Uses hashing algorithms to specify the exact storage location - Algorithms should be designed to limit collisions
Records (rows)
Collection of related fields in a database (all the fields for one customer, for example)
Centralized database system
Database is located on a single computer, such as a server or mainframe
form
New data can be added using the table's Datasheet view
Fields (columns)
Single category of data to be stored in a database (name, telephone number, etc.)
Indexed organization
Uses an index to keep track of where data is stored in a database
Object-oriented database management system (OODBMS)
a database system in which multiple types of data are stored as objects along with their related code - Can contain virtually any type of data (video clip, text with music, etc.) along with the methods to be used with that data - Objects can be retrieved using queries (object query language or OQL) - Objects can be reused in other applications to create new applications quickly
Cloud databases
accessible to users via the Web - Used in conjunction with businesses Web sites to display product information, facilitate online ordering, etc. - Used to facilitate searching for information - Store user-generated content (Flickr, YouTube, Facebook, etc.) - Allow Web pages to be dynamic Web pages
Data privacy
addresses protecting the privacy of personal data stored in databases - Many states require businesses to notify customers when their personal data has been compromised - Data breaches can be costly • One estimate is $200 per breached record - To protect the privacy of data, businesses should: • Make sure all data they are collecting and storing is necessary • Make sure they use adequate security measures
Multidimensional databases (MDDB)
are designed to be used with data warehousing - Designed to store a collection of summarized data for quick and easy data analysis - Data is collected from a variety of activities and then summarized and restructured to be viewed from multiple perspectives (dimensions) - One of the most common types of software used is Online Analytical Processing (OLAP)
Hybrid XML/relational databases
can store and retrieve both XML data and relational data - DB2
structured query language (SQL)
can write a query
Middleware
connects the Web server and the database • Commonly written as scripts - CGI scripts are written in programming languages (C, Perl, Java, etc.) - Active Server Pages (ASPs) are written in JavaScript or VBScript • PHP scripts use PHP tags inserted into the Web page HTML
data dictionary
contains all data definitions in a database - Table structures - Security information (passwords, etc.) - Relationships between the tables in the database - Basic information about each table (e.g., # of records) • Does not contain any of the data in the tables - Ensures that data being entered into the database does not violate any of its assigned properties
relational database management system (RDBMS)
data is organized in tables related by common fields
Reports
formatted way of looking at a database table or the results of a query - Can pull data from more than one table (if related) - Many programs have wizards or other tools to make it easy to create a report - In Access, reports are often created using the Report Wizard and then modified as needed using the report's Design view - Reports in Microsoft Access are saved as objects in the database file - When a report is opened, the current data is displayed in the specified format
client-server database system
has both clients (front end) and at least one database server (back end)
metadata
information about the database tables
attribute
is a characteristic of an entity - Typically become fields in the entity's database table
database
is a collection of related data stored in a manner that enables information to be retrieved as needed
primary key
is a field that uniquely identifies the records in a table - Used in a relational database to relate that table to other tables
entity
is a person, object, or event of importance to the organization - Entities that the organization wants to store data about typically becomes a database table
query
is a request to see information from a database that matches specific criteria - In Access, can create a query object that specifies what fields and records should be displayed - Each time a query is run, the data currently meeting the specified conditions is displayed - Must be designed to extract information as efficiently as possible - Poorly written queries can impact the overall performance of the system
Data definition
is the process of describing the properties of data to be included in a database table - During data definition, each field is assigned: • Name (must be unique within the table) • Data type (such as Text, Number, Currency, Yes/No, etc.) • Description (optional description of the field) • Properties (field size, format of the field, allowable range, if field is required, initial value, etc.) - Finished specifications for a table become the table structure
database management system (DBMS)
is the software used to create, maintain, and access databases - Database engine is the part of the program that actually stores and retrieves data - Most DBMSs also come bundled with a set of tools to perform a variety of necessary tasks
redundancy
normalization
Data security
protects data against destruction and misuse (both intentional and accidental) - Protects against unauthorized access to and unauthorized use of a database and data loss • Firewalls, access controls, access privileges, etc. - Database activity monitoring programs can be used to detect possible intrusions and risks - Database encryption should be used - Strict backup and disaster-recovery procedures can protect against data loss due to database failure, accidental deletions, disasters, etc.
Data integrity
refers to the accuracy of data - Quality of data entered determines the quality of generated information
Data validation
refers to the process of ensuring that data entered into the database is valid - Ensures entered data matches the specified data type, format, and allowable value for each field - Can include record validation rules (checking the value of a field with the value of another field to ensure validity) - If data is invalid, an error message is usually displayed - Can be enforced on a per transaction basis so that the entire transaction will fail if one part is invalid
Tables
• Collection of related records • Are often interrelated with other tables in the database