Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

1 Introduction

Definition : Database

A database is a collecton of realated data.

DBMS: Database Management System

A database management system is a computerized system that enables users to create and maintain a
database (defining, constructing, manipulating and sharing databases mong various users and applications).

Definition : Meta-data

The database definition or descriptive information is also stored by the DBMS in the form of a database
catalog or dictionary, it is called meta-data.

An application program accesses thedatabase by sending queries or requests for data to the DBMS.
A query typically causes somedata to be retrieved, a transaction may cause some data to be read and
somedata to be written into the database.
General-purpuse and special-purpose DBMS.
Database system: the database and DBMS software together.

2 An Example

To define this database, we specify the structure of the records by specifying the different types of stored
data elements and a data type (string, int, . . . ) each data element within a record. There are
relationships between the records.

1
3 Characteristic of the Database Approach
• Self-describing nature of a database system.

• Insulation between programs and data, and data abstraction.

• Support of multiple views of the data.

• Sharing of data and multiuser transaction processing.

In database approach, a single repository maintains data that is defined once and then accessed by various
users repeatedly through queries, transactions.

3.1 Self-Describing Nature of a Database System


The database system contains not only the database but also a definition (description) of the structure and
constraints (the structure of each file, the type and storage format), which is stored in the DBMS catalog.
The information stored is called meta-data.
Some newer types of database system (NOSQL systems) do not require meta-data. The data is stored as
self-describing data that include the data item names and data values in one structure.

2
A general-purpose DBMS must work equally well with any number of database apllications, and it must
refer the the catalog to know the structure of the files in a specific database (eg: the type and format of data
it will access).

3.2 Insulation between Programs and Data, and Data Abstaction


Program-data independence: Structure of data files is stored in the DBMS catalog separately from the
access programs.
In some types of database systems (eg: object-oriented, object-relational, ...), users can define operations
on data as part of the database definitions. An operation (also called function or method) is specified in 2
parts:

1. The interface (or signature):

• The operation name


• The data types of its arguments (or parameters)

2. The implementation (or method): is specified separately and can be changed without affecting the
interface.

Program-operation independence: Invoking functions to operate on data regardless how they do.

3
Data abstraction
Definition : Data abstraction

This characteristic that allows program-data independence and and program-operation independence.
A DBMS provides users with a conceptual representation of data that does not include the
details of how the data is stored or the operations are implemented. A data model is a type of
data abstraction that is used to provide this conceptual representation, which hides storage and
implementation details to make it easier for users to understand.
1. Objects .
2. Objects’ properties.
3. Objects’ interrelationships.

3.3 Support of Multiple Views of the Data


A database has many types of users which require different perspective (view) of the database. A view
may be a subset of the database or contain virtual data derived from the database but not explicitly stored.

3.4 Sharing of Data and Multiuser Transaction Processing


A multiuser DBMS must allow multiple users to access the database at the same time. The DBMS must
include concurrency control software for several users to update the same data correctly.
Eg. OLTP (Online transaction processing): several users assigning a seat on an airline flight, the
DBMS must ensure that each seat can be accessed by only one person at a time.

Definition : Transaction

A transaction is an executing program (process) that includes one or more database accesses (such as
reading or updating of database records).
Each transaction executes ok without inteference from other transactions. The DBMS must enforce
several transaction properties:
• The isolation property: each transaction appears to execute in isolation from others, even though
several transactions may be executing concurrently.
• The atomicity property: either all the database operations in a transaction are executed or none
are.

4 Actors on the Scene


4.1 Database Administrators (DBA)
Database administrators oversee and manage resources, and is responsible for authorizing access to the
database, coordinating and monotoring its use, and acquiring software and hardware as needed. Accountable
for problems such as security breaches and poor system response time.

4
4.2 Database Designers
Database designers are responsible for identifying the data to be stored in the database and choosing struc-
tures to represent and store this data. Communicate with prospective database users to create a design meet
their requirements.
Interact with group of users and develop views meet their requirements.

4.3 End Users


• Casual end users: occasionally access the database, but may need different information each time.
Use sophisticated database query interface for their requirest.

• Native or parametric end users: (mostly end users) keep querying and updating the database,
use standard types of queries and updates − called canned transactions (carefully programmed and
tested).

• Sophisticated end users: engineers, scientists, business analyst, ... that are familiar with the
facilaties of DBMS to implement their own applications that meet their complex requirements.

• Standalone users: maintain personal database using visualizable software. Eg: the user of a financial
software pkg that stores personal financial data.

4.4 System Analysts and Application Programmers (Software Engineers)


System analysts determine the requirements of end users (especially naive and parametric end user),
develop specifications for standard canned transactions meet these requirements.

Definition : Software Engineers (Software Developers)

Application programmers implement these specifications as programs, then test, debug, document
and maintain these canned transactions.

5 Worker behind the Scene


Beside the actor, there are people who are associated with the design, development and operation of the
DBMS software and system environment.

• DBMS system designer and implementers: design and implement the DBMS modules and
interface as a software. The DMBS must interface with other system software (OS, programming
language).

• Tool developer: design and implement tools - software that facilitate database modeling and design,
database system design and improve performance.

• Operators and maintenance personnel (system administration personnel): responsible for the
actual running and maintenance of the hardware and software environment for the database system.

They make the database system available to end users but do not use its contents.

5
6 Advantage of us
6.1 Controlling Redundancy
The redundancy when storing the same data multiple times, duplication of effort, waste storage space.

Definition : Data Normalization and Denormalization

To ensure consistency and save storage space, an item is stored in only one place in the database.
However, it’s necessary to use controlled redundancy to improve the performance of queries −
denormalization.

6.2 Restricting Unauthorized Access


A DBMS should provide a security and authorization subsystem, which the DBA uses to create accounts
and to specify account restrictions, then enforce these restrictions automatically.

6.3 Providing Persistent Storage for Program Objects


Database provide persistent storage for program objects and data structures − 1 of the main reasons for
object-oriented database systems.

Definition : Persistent Objects

Programming languages have complex data structures (structs or classin C++ or Java), which values of
variables are discarded once the programs terminate. Unless we store the complex object in a permanent
files - which is said to be persistent, then can be saved and reused.

6.4 Providing Storage Structures and


Search Techniques for Efficient Query Processing
Provide efficiently executing queries and update using data structures and search techniques.

• Indexes: auxillary files base on tree, hash data structures to speed up.

• Buffering (Caching): In general, OS do the disk-to-memory buffering. However, data buffering is


crucial to the DBMS performance, most DBMSs do their own data buffering.

Query processing and optimization: DBA do the physical database design and tuning (which indexes
to choose).

6.5 Providing Backup and Recovery


The backup and recovery subsystem of the DBMS is responsible for recovery. Make sure the database
is restored to the state it was before the transaction started executing.

6.6 Providing Multiple User Interfaces


Provide variety of user interfaces for users of different level.

– Apps for mobile users, forms and command code for parametric users.

6
– Query Language for casual users, Programming Language Interfaces for application users.

– Menu-driven interfaces and natural language interface for standalone users.

Both forms-style and menu-driven interfaces are graphical user interfaces (GUIs).

6.7 Representing Complex Relationships among Data


A database include numerous varieties of data that are interrelated in many ways.
A DBMS must have the capability to represent the complex relationships among the data (define new
relationships as they arise, or retrieve and update related data).

6.8 Enforcing Integrity Constrains


Database applications have integrity constraints that must hold for the data (specifying data types for
data items, or a record in 1 file must be related to records in other files). Like, referential integrity or
key (uniqueness) constraints, and business rules, inherent rules.
A DMBS should provide capabilities for defining and enforcing these constraints.

6.7 Permitting Inferencing and Actions


Using Rules and Triggers
Definition : Deductive database system

Deductive database system are db systems that provide capabilities for defining deduction rules for
inferencing new information from the stored db facts.

For example, determine when a student is on probation. These can be specified declaratively as rules. It
the rules change, it should change the declared deduction rules rather than recode.

Triggers

In today’s relational database, it’s possible to associate triggers with tables. A triggers is a form of a rule
activated by updates to the table, then performing additional operations to other tables, sending message
and so on.

Definition : Active Database System

Provide active rules that can automatically initiate actions when certain events and conditions occur.

6.8 Additional Implications of Using


the Database Approach
■ Potential for Enforcing Standards. Permit the DBA to define and enforce standards among users.

■ Reduced Application Development Time. Less time to create new application.

■ Flexibility. As requirements change, the structure of the database changes. Modern DBMSs allow
certain types of evolutionary changes to the structure without affecting the stored data and existing
application programs.

■ Availability of Up-to-Date Information. Make the database available for all users. 1 user updates,
others know.

■ Economies of Scale. Enable the organization to invest in more powerful processor, storage devices...
rather than having each department purchase its own (lower performance) equipment.

You might also like