Understand the basics and concepts of database systems.
Design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
An ability to use current techniques, skills and tools necessary for computing practice
Basic Definitions
Historical roots
Databases are important for computing
Many computing applications deal with large amounts of information.
Database systems give a set of tools for storing, searching & managing this information.
Databases are a ‘core topic’ in both CS & IT.
Basic concepts & skills with database systems are part of the skill set, student will be assumed to have as a CS or IT graduate.
Concepts will be of use in other modules.
Databases solve many of the problems encountered in data management
◦
Used in almost all modern settings involving data management:
Business
Research
Administration
Important to understand how databases work and interact with other applications
Database:
1) A collection of related data.
2) A shared, integrated computer structure that stores a collection of
• End user data, that is, raw facts of interest to the end user.
• Metadata, or data about data, through which the end-user data are integrated and managed.
Data:
Known facts that can be recorded and have an implicit meaning.
Database Management System (DBMS):
A software package/ system to facilitate the creation and maintenance of a computerized database.
Database System:
The DBMS software together with the data itself.
Sometimes, the applications are also included.
Data are raw facts
Information is the result of processing raw data to reveal meaning
Raw data must be formatted for storage, processing, and presentation
Data: building blocks of information
Information produced by processing data
Accurate, relevant, timely information is the key to good decision making
Data management: focuses on proper generation, storage, and retrieval of data
Databases can be classified according to the following
(i) Number of Users (ii) Database location
(iii) Extent of use
Number of Users:
Single-user : Supports only one user at a time. Also called
Desktop database
Multi-user : Supports multiple users at the same time.
If No. of users < 50 then it is called work-group DB
If No. of users >50 then it is called enter-prise DB.
Location:
Centralized DB : Supports data located at a single site.
Distributed DB: Supports data distributed across several different sites.
Extent of Use:
Operational / Transactional / Production: Designed primarily to support a company’s day-to-day operations.
Data Warehouse: Focuses primarily on storing data used to generate information required to make tactical or strategic decisions.
XML ( Extensible Markup Language):
A special language used to represent and manipulate data elements in textual format. Data can be stored in large text objects.
Database Design refers to the activities that focus on the design of the database structure that will be used to store and manage end-user data.
A well-designed database facilitates data management and generates accurate and valuable information.
Database System consists of logically related data stored in a single logical data repository
Database system eliminates file system’s data inconsistency, data anomaly, data dependency, and structural dependency problems.
The term Database System refers to an organization of components that define and regulate the collection, storage, management, and use of data within a database environment.
The database system is composed of five major parts. They are
1. Hardware 2. Software 3. People
4. Procedure 5. Data
1.Hardware: It refers to all the system’s physical devices; for example, computers, storage devices, printers, network devices.
2.Software: 3 types of software are needed: Operating system software, DBMS software, and application software.
Operating system software manages all hardware components and makes it possible for all other software to run on the computer. Example: Windows, Linux, Mac OS, Unix.
DBMS software manages the database within the database system.
Example: Microsoft SQL server, Oracle, MySQL, IBM DB2
Application programs and utility software are used to access and manipulate data in the DBMS and to manage the computer environment in which data access and manipulation take place.
These are most commonly used to access data found within the database to generate reports, tabulations, and other information to facilitate decision making.
Example: GUI’s provided with DBMS.
3. People/ Users:
Users may be divided into
◦
Those who actually use and control the database content, and those who design, develop and maintain database applications
(called “ Actors on the Scene ”), and
◦
Those who design and develop the DBMS software and related tools, and the computer systems operators (called “ Workers
Behind the Scene ”).
Actors on the scene
◦
Database administrators:
Responsible for authorizing access to the database, for coordinating and monitoring its use, acquiring software and hardware resources, controlling its use and monitoring efficiency of operations.
◦
Database Designers:
Responsible to define the content, the structure, the constraints, and functions or transactions against the database. They must communicate with the end-users and understand their needs.
◦
End-users: They use the data for queries, reports and some of them update the database content. End-users can be categorized into:
Casual: access database occasionally when needed
Naïve or Parametric: they make up a large section of the end-user population.
Examples are bank-tellers or reservation clerks who do this activity for an entire shift of operations.
Sophisticated:
These include business analysts, scientists, engineers, others thoroughly familiar with the system capabilities.
Stand-alone:
Mostly maintain personal databases using ready-to-use packaged applications.
An example is a tax program user that creates its own internal database.
4. Procedures:
These are the instructions and rules that govern the design and use of the database system. These are used to ensure that there is an organized way to monitor and audit both the data that enter the database and information that is generated through the use of that data.
5. Data:
Collection of facts stored in the database. It is raw material from which information is generated. Determination of what data is to be entered and how data are to be organized is a vital part of the database designer’s job.
DBMS is the intermediary between the user and the database
◦
Database structure stored as file collection
◦
Can only access files through the DBMS
DBMS enables data to be shared
DBMS integrates many users’ views of the data
Advantages of a DBMS:
Improved data sharing
Improved data security
Better data integration
Minimized data inconsistency
Improved data access
Improved decision making
Increased end-user productivity
Data dictionary management
◦
DBMS stores definitions of data elements and relationships (metadata) in a data dictionary
◦
DBMS looks up required data component structures and relationships
◦
Changes automatically recorded in the dictionary
◦
DBMS provides data abstraction and removes structural and data dependency
◦
DBMS creates and manages complex structures required for data storage
◦
Also stores related data entry forms, screen definitions, report definitions, etc.
◦
Performance tuning: activities that make the database perform more efficiently
◦
DBMS stores the database in multiple physical data file
Data transformation and presentation
◦
DBMS transforms data entered to conform to required data structures
◦ DBMS transforms physically retrieved data to conform to user’s logical expectations
Security management
◦
DBMS creates a security system that enforces user security and data privacy
◦
Security rules determine which users can access the database, which items can be accessed, etc.
Backup and recovery management
◦
DBMS provides backup and data recovery to ensure data safety and integrity
◦
Recovery management deals with recovery of database after a failure
Critical to preserving database’s integrity
Multiuser access control
◦
DBMS uses sophisticated algorithms to ensure concurrent access does not affect integrity
Data integrity management
◦
DBMS promotes and enforces integrity rules
Minimizes redundancy, Maximizes consistency
◦
Data relationships stored in data dictionary used to enforce data integrity
◦
Integrity is especially important in transaction-oriented database systems
Database access languages and application programming interfaces
◦
DBMS provides access through a query language
◦
Query language is a nonprocedural language
◦
Structured Query Language (SQL) is the de facto query language
Standard supported by majority of DBMS vendors
Database communication interfaces
◦
Current DBMSs accept end-user requests via multiple different network environments
◦
Communications accomplished in several ways:
End users generate answers to queries by filling in screen forms through Web browser
DBMS automatically publishes predefined reports on a Web site
DBMS connects to third-party systems to distribute info. via e-mail
Early Database Applications:
◦
The Hierarchical and Network Models were introduced in mid 1960s and dominated during the seventies.
◦
A bulk of the worldwide database processing still occurs using these models, particularly, the hierarchical model.
Relational Model based Systems:
◦
Relational model was originally introduced in 1970, was heavily researched and experimented within IBM Research and several universities.
◦
Relational DBMS Products emerged in the early 1980s.
Object-oriented and emerging applications:
◦
Object-Oriented Database Management Systems (OODBMSs) were introduced in late 1980s and early 1990s to cater to the need of complex data processing in CAD and other applications.
Their use has not taken off much.
◦
Many relational DBMSs have incorporated object database concepts, leading to a new category called object-relational DBMSs (ORDBMSs)
Data on the Web and E-commerce Applications:
◦
Web contains data in HTML (Hypertext markup language) with links among pages. This has given rise to a new set of applications and Ecommerce is using new standards like XML (eXtended Markup
Language).
◦
Script programming languages such as PHP and JavaScript allow generation of dynamic Web pages that are partially generated from a database.
Also allow database updates through Web pages.
New functionality is being added to DBMSs in the following areas:
◦
Scientific Applications
◦
XML (eXtensible Markup Language)
◦
Image Storage and Management
◦
Audio and Video Data Management
◦
Data Warehousing and Data Mining
The above gives rise to new research and development in incorporating new data types, complex data structures, new operations and storage and indexing schemes in database systems.