# IC3/Database Software

A database is an organized collection of data. Database software, also known as database management systems (DBMSs), are specially designed applications that interact with the user, other applications, and the database itself to capture and analyze data.
This lesson introduces database software and helps learners prepare for the IC$^3$ Key Applications certification exam.

## Objectives and Skills

Objectives and skills for the database software portion of IC$^3$ certification include:
Skills
* Record Managements: Run reports, search and use stored queries, input data (records)

## Readings

* Wikipedia: Database
* Wikipedia: List of relational database management systems
* Wikipedia: Comparison of object-relational database management systems
* Wikipedia: Comparison of relational database management systems
* Wikipedia: Comparison of database tools
* Wikipedia: Database security
* Wikipedia: SQL
* Wikipedia: Data migration

## Multimedia

* YouTube: Using Microsoft Access To Organize Your Life
* YouTube: Tutorial Microsoft Access database (Software online) 2014
* YouTube: What is a database?
* YouTube: Database Lesson #1 of 8 - Introduction to Databases
* YouTube: Database Lesson #2 of 8 - The Relational Model
* YouTube: Database Lesson #3 of 8 - The Structured Query Language (SQL)
* YouTube: Database Lesson #4 of 8 - Data Modeling and the ER Model
* YouTube: Database Lesson #5 of 8 - Database Design
* YouTube: Database Lesson #6 of 8 - Database Administration
* YouTube: Database Lesson #7 of 8 - Database Indexes
* YouTube: Database Lesson #8 of 8 - Big Data, Data Warehouses, and Business Intelligence Systems
* YouTube: Introduction to Database Management Systems 1: Fundamental Concepts
* YouTube: 03 - Database Fundamentals - Creating Databases and Database Objects
* YouTube: How to turn a spreadsheet into a database-driven web application

## Activities

* Complete one or more of the following tutorials:
** GoFree: LibreOffice Base
** Microsoft: Microsoft Access
** Microsoft: Training courses for Access 2010
** Microsoft: Training courses for Access 2013
** GCFLearnFree: Access 2016
** Microsoft: What's new in Access 2016

## Lesson Summary

* A database is an organized collection of data.
* A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data.
* An in-memory database is a database that primarily resides in main memory, but is typically backed-up by non-volatile computer data storage.
* An active database includes an event-driven architecture which can respond to conditions both inside and outside the database.
* A cloud database relies on cloud technology. Both the database and most of its DBMS reside remotely, "in the cloud", while its applications are both developed by programmers and later maintained and utilized by (application's) end-users through a web browser and Open APIs.
* Data warehouses archive data from operational databases and often from external sources such as market research firms. The warehouse becomes the central source of data for use by managers and other end-users who may not have access to operational data.
* A distributed database is one in which both the data and the DBMS span multiple computers.
* A document-oriented database is designed for storing, retrieving, and managing document-oriented, or semi structured data, information. Document-oriented databases are one of the main categories of NoSQL databases.
* An embedded database system is a DBMS which is tightly integrated with an application software that requires access to stored data in such a way that the DBMS is hidden from the application’s end-users and requires little or no ongoing maintenance.
* End-user databases consist of data developed by individual end-users. Examples of these are collections of documents, spreadsheets, presentations, multimedia, and other files. Several products exist to support such databases. Some of them are much simpler than full-fledged DBMSs, with more elementary DBMS functionality.
* A federated database system comprises several distinct databases, each with its own DBMS. It is handled as a single database by a federated database management system (FDBMS), which transparently integrates multiple autonomous DBMSs, possibly of different types (in which case it would also be a heterogeneous database system), and provides them with an integrated conceptual view.
* A graph database is a kind of NoSQL database that uses graph structures with nodes, edges, and properties to represent and store information. General graph databases that can store any graph are distinct from specialized graph databases such as triplestores and network databases.
* An array DBMS is a kind of NoSQL DBMS that allows to model, store, and retrieve (usually large) multi-dimensional arrays such as satellite images and climate simulation output.
* In a hypertext or hypermedia database, any word or a piece of text representing an object, e.g., another piece of text, an article, a picture, or a film, can be hyperlinked to that object. Hypertext databases are particularly useful for organizing large amounts of disparate information.
* A knowledge base (abbreviated KB, kb or Δ[28][29]) is a special kind of database for knowledge management, providing the means for the computerized collection, organization, and retrieval of knowledge. Also a collection of data representing problems with their solutions and related experiences.
* A mobile database can be carried on or synchronized from a mobile computing device.
* Operational databases store detailed data about the operations of an organization. They typically process relatively high volumes of updates using transactions.
* A parallel database seeks to improve performance through parallelization for tasks such as loading data, building indexes and evaluating queries.
* Probabilistic databases employ fuzzy logic to draw inferences from imprecise data.
* Real-time databases process transactions fast enough for the result to come back and be acted on right away.
* A spatial database can store the data with multidimensional features. The queries on such data include location-based queries, like "Where is the closest hotel in my area?".
* A temporal database has built-in time aspects for example, a temporal data model and a temporal version of SQL. More specifically the temporal aspects usually include valid time and transaction time.
* A terminology-oriented database builds upon an object-oriented database, often customized for a specific field.
* An unstructured data database is intended to store in a manageable and protected way diverse objects that do not fit naturally and conveniently in common databases. It may include email messages, documents, journals, multimedia objects, etc.

## Key Terms
### cloud database

    A cloud database is a database that has been optimized or built for a virtualized computing environment.

### concurrency control

    In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible.

### database

    A database is an organized collection of data. It is the collection of schemas, tables, queries, reports, views and other objects. The data are typically organized to model aspects of reality in a way that supports processes requiring information, such as modeling the availability of rooms in hotels in a way that supports finding a hotel with vacancies.

### database management system (DBMS)

    A computer software application that interacts with the user, other applications, and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases.

### database normalization

    Database normalization, or simply normalization, is the process of organizing the columns (attributes) and tables (relations) of a relational database to minimize data redundancy.

### data migration

    Data migration is the process of transferring data between storage types, formats, or computer systems. It is a key consideration for any system implementation, upgrade, or consolidation.

### data modeling

    Data modeling is often the first step in database design and object-oriented programming as the designers first create a conceptual model of how data items relate to each other. Data modeling involves a progression from conceptual model to logical model to physical schema.

### field name

    In computer science, a name identifying a field in a database record.

### ER model

    An entity–relationship model (ER model) describes inter-related things of interest in a specific domain of knowledge. An ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between instances of those entity types.

### operational database

    Operational database management systems (also referred to as OLTP On Line Transaction Processing databases), are used to manage dynamic data in real-time. These types of databases allow you to do more than simply view archived data. Operational databases allow you to modify that data (add, change or delete data), doing it in real-time.

### query

    A precise request for information retrieval with database and information systems.

### query by example (QBE)

    is a database query language for relational databases. It was devised by Moshé M. Zloof at IBM Research during the mid-1970s, in parallel to the development of SQL. It is the first graphical query language, using visual tables where the user would enter commands, example elements and conditions.

### relational model (RM)

    Database management is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by Edgar F. Codd. In the relational model of a database, all data is represented in terms of tuples, grouped into relations.

### row (database)

    In the context of a relational database, a row—also called a record or tuple—represents a single, implicitly structured data item in a table. In simple terms, a database table can be thought of as consisting of rows and columns or fields.[1] Each row in a table represents a set of related data, and every row in the table has the same structure.

### spatial database

    database that is optimized to store and query data that represents objects defined in a geometric space.

### SQL (Structured Query Language)

    Is a special-purpose programming language designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).

### table

    A database can have multiple tables in it. All the data is stored in the tables. A table has a set of fields in it. These fields makes the design or the structure of the database.The database 'Simpsons' has two tables - called 'Character' and 'Quote'.

### temporal database

    efficiently stores a time series of data, typically by having some fixed timescale (such as seconds or even milliseconds) and then storing only changes in the measured data.

## Review Questions

Click on a question to see the answer.
* A database is ____ . A database is an organized collection of data.
* A database management system (DBMS) is ____ . A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data.
* An in-memory database is ____ . An in-memory database is a database that primarily resides in main memory, but is typically backed-up by non-volatile computer data storage.
* An active database includes ____ . An active database includes an event-driven architecture which can respond to conditions both inside and outside the database.
* A cloud database relies on ____ . A cloud database relies on cloud technology. Both the database and most of its DBMS reside remotely, "in the cloud", while its applications are both developed by programmers and later maintained and utilized by (application's) end-users through a web browser and Open APIs.
* A deductive database ____ . A deductive database combines logic programming with a relational database, for example by using the Datalog language.
* A distributed database is ____ . A distributed database is one in which both the data and the DBMS span multiple computers.
* A document-oriented database is ____ . A document-oriented database is designed for storing, retrieving, and managing document-oriented, or semi structured data, information. Document-oriented databases are one of the main categories of NoSQL databases.
* An unstructured data database is ____ . An unstructured data database is intended to store in a manageable and protected way diverse objects that do not fit naturally and conveniently in common databases. It may include email messages, documents, journals, multimedia objects, etc.
* A temporal database has ____ . A temporal database has built-in time aspects, for example a temporal data model and a temporal version of SQL. More specifically the temporal aspects usually include valid-time and transaction-time.
* A spatial database can ____ . A spatial database can store the data with multidimensional features. The queries on such data include location-based queries, like "Where is the closest hotel in my area?".
* Real-time databases ____ . Real-time databases process transactions fast enough for the result to come back and be acted on right away.
* Operational databases ____ . Operational databases store detailed data about the operations of an organization. They typically process relatively high volumes of updates using transactions.

## Assessments

* Flashcards: Quizlet: Database Software Vocabulary
* Flashcards: Quizlet: Database Management Systems
* Quiz: Quizlet: Database Software Vocabulary
* Quiz: Quizlet: Database Management Systems

## See Also

* Introduction to Computers
* Information Systems/Databases
* Database Fundamentals
* Database Applications
* Fedena: Understanding Types of Database Software and Their Applications