DATABASES - WordPress.com — Get a Free Blog

gasownerΔιαχείριση Δεδομένων

31 Ιαν 2013 (πριν από 4 χρόνια και 4 μήνες)

107 εμφανίσεις

DATABASES


D
atabase
s are

application
s

that manages data and allow

fast storage and retrieval of that data.

There are different types of database but the most popular is a relational database that stores
data
in tables where each row in the table holds the same sort of information. In the early 1970s, Ted
Codd, an IBM researcher devised 12 laws of normalization.

These apply to how the data is stored
and relations between d
ifferent tables.

SQL

is a simplistic programming language that is used in relational databases.

A database is an organized collection of
data

for one or more purposes, usually in digital form.

The term "database" refers both to the way its users view it, and to the logical and physical
mate
rialization of its data, content, in files,
computer memory
, and
computer data s
torage
.
However, not every collection of data is a database; the term database implies that the data is
managed to some level of quality (measured in terms of accuracy, availability, usability, and
resilience) and this in turn often implies the use of a ge
neral
-
purpose

DATABASE MANAGEMENT SYSTEM

(DBMS):


A general
-
purpose DBMS is typically a complex
software

system that meets many usage
requirements, and the databases that it maintains are often large and complex.

The term database is correctly applied to the data itself, and is different from the DBMS which is
a softwar
e system t
hat allows

stor
age and modification of
the data
, as well as retrieval of

information

from it.


The structure of a database is generally too complex to be handled without it
s DBMS, and any
attempt to do otherwise is very likely to result in data corruption. DBMSs are packaged as
computer software

products: well
-
known products include

the fol
lowing:



Oracle

DBMS



Access




SQL Server

from
Microsoft



DB2

from
IBM




Open source

DBMS
MySQL
.

Each such DBMS product currently supports many thousand
s of databases all over the world.
The stored data in a database is not generally
portable

across different DBMS, but can
inter
-
operate

to some degree (while each DBMS type controls a database of its own database type)
using
standards

like
SQL

and
ODBC
.

A successful general
-
purpose DBMS is designed in a way that is can satisfy as many as possible
different applications and application designers. A DBMS also

needs to provide effective
run
-
time

execution to properly support (e.g., in terms of
performance
,
availability
, and
security
) as
many
end
-
users

(the database's application users) as needed. Sometimes the combination of a
database and its respective DBMS is referred to as a
Database system

(DBS).

A database is typically organized according to general
Data models

that have evolved since

the
late 1960s. Notable are the
Relational model

(all the DBMS types listed above support databases
based on this model), the



Entity
-
relationship model

(ERM; primarily utilized to design

databases)



Object model

(which has more expressive power than
the relational, but is more
complicated and less commonly used).

Some recent database products use
XML

as their data model. A single database may be viewed
for convenience within different data mode
ls that are
mapped

between each other (e.g., mapping
between ERM and RM is very common in the database design process, and supported by many
database design tools, of
ten within the DBMS itself). Many DBMSs support one data model
only, externalized to database developers, but some allow different data models to be used and
combined.

The design and maintenance of a complex database requires specialist skills: the staff p
erforming
this function are referred to as database application
programmers

(different from the DBMS
developers/
programmers
) and
database administrators
, and their task is supported by tools
provided either as part of the DBMS or as free
-
standing software products.



These tools include specialized
Database languages

including



:
Data
Description Languages
,




Data Manipulation Languages
, and




Query Languages
.

These can be seen as special
-
purpose
programming languages
, tailored specifically to manipulate
databas
es; sometimes they are provided as extensions of existing programming languages. These
languages are generally specific to one data model, and in many cases they are specific to one
DBMS. The most widely supported standard database language is
SQL
, which combines the
roles of
Query Language

and
Data Description Language
.






THE DATABASE CONCEPT

The database concept has evolved since the 1960s to ease increasing difficulties in designing,
building, and maintaining complex
information systems

(typically with man
y concurrent
end
-
users
, and with a large amount of
data
). It has evolved together with the evolvement of
Database
management systems

(DBMSs) which enable the effective handling of databases. Though the
terms database and DBMS define different entities, they are inseparable: A dat
abase's properties
are determined by its supporting DBMS and vice
-
versa

Types of Databases:

Analytical database

Analysts may do their work directly against a data warehouse or create a separate analytic
database for
Online Analytical Processing

(OLAP)
. For example, a company might extract sales
records for analyzing the effectiveness of advertising and other sales promotions at an aggregate
level.

Data warehouse

Data warehouses

archive modern data from operational databases and often from external
sources such as market research firms. Often operational data undergoes tr
ansformation on its
way into the warehouse
, getting summarized, anonymous
, reclassified, etc. The warehouse
becomes the central source of data for use by managers and other end
-
users who may not have
access to operational data.

For example, sales data mig
ht be aggregated to weekly totals and converted from internal
product codes to use
UPCs

so that it can be compared with
ACNielsen

data. Some basic and
essential components of data warehousing include retrieving and analyzing data,
transforming,
loading

and managing data so as to make it available for further use.

Operations in a data warehouse
are typically concerned with bulk data manipulation, and as such,
it is unusual and inefficient to target individual rows for update, insert or delete. Bulk native
loaders for input data and bulk SQL passes for aggregation are the norm.

Distributed databas
e

These are databases of local work
-
groups and departments at regional offices, branch offices,
manufacturing plants and other work sites. These databases can include segments of both
common operational and common user databases, as well as data generated
and used only at a
user’s own site.



End
-
user database

These databases consist of data developed by individual end
-
users.


Examples of these are collections of documents in spreadsheets, word processing and
downloaded files.

External database

These
databases contain data collected for use across multiple organizations, either freely or via
subscription.


The
Internet Movie Database

is one example.

Hyperm
edia databases

The
World Wide Web

can be thought of as a database, albeit one spread across millions of
independent computing systems.
Web browsers

"process" this data one page at a time, while
Web crawlers

and other software provide the equiv
alent of database indexes to support search
and other activities.

Operational database

These databases store detailed data about the operations of an organization. They are typically
organized by subject matter, process relatively high volumes of updates u
sing
transactions
.
Essentially every major organization on earth uses such databases. Examples include
customer
databases

that record contact, credit, and demographic information about a business' customers,
personnel databases that hold information such as salary, benefits, skills data about em
ployees,
Enterprise resource planning that record details about product components, parts inventory, and
financial databases that keep track of the organization's money, accounting and financial
dealings.









MAJOR DATABASE USAGE REQUIREMENTS

Functiona
l requirements
:

Certain functional requirements need to be met by a tool that supports a certain database type to
allow building a database of this type for a given application. In order not to build new tools for
every application it is desired to provide

tools with capabilities to build databases for as many as
possible given applications.

Defining the structure of data: Data modeling

The database type needs to be based on data models that are sufficiently rich to describe all the
application's aspects ne
eded to be supported by that database.

Manipulating the data: Database languages

The database data models needs support by sufficiently rich database languages to allow DB
manipulation and information retrieval from it as needed by the database's
application.

Protecting the data: Database security

The DB needs build
-
in security means to protect its content (and users) from dangers of
unauthorized users (
humans

or
programs
). Also types of unintentional breach are included.

Operational requirements
:

Operational requirements are needed for a DB to be utilized effectively for its application when
operational.

Availability

A DB should maintain needed levels of
availability
, i.e., the DB needs to be available in a way
that a user's action does not need to wait beyond a certain time range
before starting executing
upon the DB.

Performance

Users' actions upon the DB should be executed within needed time ranges.

Isolation between users

When multiple users access the database concurrently the actions of a user should be
uninterrupted and unaff
ected by actions of other users. These concurrent actions should maintain
the DB's consistency (i.e., keep the DB from corruption).

Recovery from failure

All software systems, including DBMSs, are prone to failures for many reasons (both software
and hardware related). Failures typically corrupt the DB, typically to the extent that it is
impossible to repair it without special measures. The DBMS should prov
ide automatic
recovery

from failure procedures that repair the DB and return it to a well defined state.

Backup and restore

Sometimes it is desired to bring a DB to previous state (for man
y reasons, e.g., cases when the
DB is found corrupted). To achieve this
,
a backup operation is done occasionally or
continuously, where a database state (valued of its data) is kept within dedicated backup files.
When needed these files are utilized to res
tore the desired DB state (e.g., by s
pecifying a desired
point in time).

IMPLEMENTATION: DATABASE MANAGEMENT SYSTEMS

A database management system (DBMS) is a system that allows to build and maintain databases,
as well as to retrieve information from their
data. A DBMS defines the database type that it
supports, as well as its functionality and operational capabilities. It consists of
software

that
operates databases, providing storage, acce
ss, security, backup and other facilities to meet
needed requirements. DBMSs can be categorized according to the
database model
(s) that they
support, such as
relational

or
XML
, the type(s) of computer they support, such as a server cluster
or a mobile phone, the
query language
(s) that access the database, such as
SQL

or
XQuery
,
performance trade
-
offs, such as maximum scale or maximum speed or others. Some DBMSs
cover more than one entry in these categories, e.g., supporting multiple query languages.
Examples of some commonly used DBMS are MySQL, PostgreSQL, Microsoft A
ccess, SQL
Server, FileMaker,

Oracle,

Sybase,
dBASE
, Clipper,

FoxPro etc. Almost all

database software
comes with an
Open Database Connectivity

(ODBC) d
river that allows the database to integrate
with other databases.

Security

Database security

denotes the system, processes, and procedures that protect a database from
un
authorized activity.

DBMSs usually enforce security through
access control
,
auditing
, and
encryption
:



Access control manages who can connect to the database via
authentication

and what
they can do via
authorization
.



Auditing records information about database activity: who, what, when, and possibly
where.



Encryption protects data at the lowest possibl
e level by storing and possibly transmitting
data in an unreadable form. The DBMS encrypts data when it is added to the database
and decrypts it when returning query results. This process can occur on the client side of
a network connection to prevent unau
thorized access at the point of use.