A database consists of an organized collection of data The term data refers to groups of information that represent the qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which information and for one or more uses, typically in digital form. One way of classifying databases involves the type of their contents, for example: bibliographic, document-text, statistical. Digital databases are managed using database management systems A Database Management System is a set of computer programs that controls the creation, maintenance, and the use of the database with computer as a platform or of an organization and its end users. It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists, which store database contents, allowing data creation and maintenance, and search and other access.

Contents

Architecture

Database architecture consists of three levels, external, conceptual and internal. Clearly separating the three levels was a major feature of the relational database model The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by E.F. Codd that dominates 21st century databases.[1]

The external level defines how users understand the organization of the data. A single database can have any number of views at the external level. The internal level defines how the data is physically stored and processed by the computing system. Internal architecture is concerned with cost, performance, scalability and other operational matters. The conceptual is a level of indirection between internal and external. It provides a common view of the database that is uncomplicated by details of how the data is stored or managed, and that can unify the various external views into a coherent whole.[1]

Database management systems

Main article: Database management system A Database Management System is a set of computer programs that controls the creation, maintenance, and the use of the database with computer as a platform or of an organization and its end users. It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists

A database management system (DBMS) consists of software Computer software, or just software, is the collection of computer programs and related data that provide the instructions telling a computer what to do. The term was coined to contrast to the old term hardware . In contrast to hardware, software is intangible, meaning it "cannot be touched". Software is also sometimes used in a more that operates databases, providing storage, access, security, backup and other facilities. Database management systems can be categorized according to the database model A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system, In other words, a "database model" is the application of a data model when used in conjunction with a database management system that they support, such as relational The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by E.F. Codd or XML, the type(s) of computer they support, such as a server cluster or a mobile phone, the query language Query languages are computer languages used to make queries into databases and information systems(s) that access the database, such as SQL SQL , often referred to as Structured Query Language, is a database computer language designed for managing data in relational database management systems (RDBMS), and originally based upon relational algebra. Its scope includes data insert, query, update and delete, schema creation and modification, and data access control. SQL was one of the or XQuery XQuery is a query and functional programming language that is designed to query collections of XML data, performance trade-offs, such as maximum scale or maximum speed or others. Some DBMS cover more than one entry in these categories, e.g., supporting multiple query languages.

Components of DBMS

Most DBMS as of 2009[update] implement a relational model.[2] Other DBMS systems, such as Object DBMS, offer specific features for more specialized requirements. Their components are similar, but not identical.

RDBMS components

ODBMS components

Object DBMS (ODBMS) has transaction and storage components that are analogous to those in an RDBMS. Some ODBMS handle DDL, DCL and update tasks differently. Instead of using sublanguages, they provide APIs for these purposes. They typically include a sublanguage and accompanying engine for processing queries with interpretive statements analogous to but not the same as SQL. Example object query languages are OQL Object Query Language is a query language standard for object-oriented databases modelled after SQL. OQL was developed by the Object Data Management Group (ODMG). Because of its overall complexity no vendor has ever fully implemented the complete OQL. OQL has influenced the design of some of the newer query languages like JDOQL and EJB QL, but, LINQ, JDOQL, JPAQL and others. The query engine returns collections of objects instead of relational rows.

Types

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 using 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 employees, manufacturing databases Enterprise resource planning is an integrated computer-based system used to manage internal and external resources including tangible assets, financial resources, materials, and human resources. It is a software architecture whose purpose is to facilitate the flow of information between all business functions inside the boundaries of the that record details about product components, parts inventory, and financial databases that keep track of the organization's money, accounting and financial dealings.

Data warehouse

Data warehouses A data warehouse is a repository of an organization's electronically stored data, designed to facilitate reporting and analysis archive historical data from operational databases and often from external sources such as market research firms. Often operational data undergoes transformation on its way into the warehouse, getting summarized, anonymized, 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 might be aggregated to weekly totals and converted from internal product codes to use UPC codes so that it can be compared with ACNielsen ACNielsen is a global marketing research firm, with worldwide headquarters in New York City. Regional headquarters for North America are located in Schaumburg, IL. As of May 2010, it's the part of The Nielsen Company data.

Analytical database

Analysts may do their work directly against a data warehouse, or create a separate analytic database for Online Analytical Processing. For example, a company might extract sales records for analyzing the effectiveness of advertising and other sales promotions at an aggregate level.

Distributed database

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, or even managing their personal baseball card collection.

External database

These databases contain data collect for use across multiple organizations, either freely or via subscription. The Internet Movie Database The Internet Movie Database is an online database of information related to movies, actors, television shows, production crew personnel, video games, and most recently, fictional characters featured in visual entertainment media. IMDb launched on October 17, 1990, and in 1998 was acquired by Amazon.com is one example.

Hypermedia databases

The Worldwide web can be thought of as a database, albeit one spread across millions of independent computing systems. Web browsers A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to "process" this data one page at a time, while web crawlers and other software provide the equivalent of database indexes to support search and other activities.

Models

Main article: Database model A database model or database schema is the structure or format of a database, described in a formal language supported by the database management system, In other words, a "database model" is the application of a data model when used in conjunction with a database management system

Post-relational database models

Products offering a more general data model than the relational model are sometimes classified as post-relational.[3] Alternate terms include "hybrid database", "Object-enhanced RDBMS" and others. The data model in such products incorporates relations In SQL, a database language for relational databases, a relation variable is called a table but is not constrained by E.F. Codd's Information Principle, which requires that

all information in the database must be cast explicitly in terms of values in relations and in no other way[4]

Some of these extensions to the relational model integrate concepts from technologies that pre-date the relational model. For example, they allow representation of a directed graph It differs from an ordinary or undirected graph, in that the latter is defined in terms of unordered pairs of vertices, which are usually called edges with trees In computer science, a tree is a widely-used data structure that emulates a hierarchical tree structure with a set of linked nodes on the nodes In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently.

Some post-relational products extend relational systems with non-relational features. Others arrived in much the same place by adding relational features to pre-relational systems. Paradoxically, this allows products that are historically pre-relational, such as PICK The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. It is used primarily for business data processing. Although it started on a variety of minicomputers, the system and various implementations eventually spread to a large variety of and MUMPS MUMPS , or alternatively M, is a programming language created in the late 1960s, originally for use in the healthcare industry. It was designed for the production of multi-user database-driven applications. It predates C and most other popular languages in current usage, and has very different syntax and terminology. It was largely adopted during, to make a plausible claim to be post-relational.

Object database models

Main article: Object database An object database is a database model in which information is represented in the form of objects as used in object-oriented programming

In recent years[update], the object-oriented Object-oriented programming is a programming paradigm that uses "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction, encapsulation, modularity, polymorphism, and paradigm has been applied in areas such as engineering and spatial databases, telecommunications and in various scientific domains. The conglomeration of object oriented programming and database technology led to this new kind of database. These databases attempt to bring the database world and the application-programming world closer together, in particular by ensuring that the database uses the same type system In computer science, a type system may be defined as a tractable syntactic framework for classifying phrases according to the kinds of values they compute. A type system associates types with each computed value. By examining the flow of these values, a type system attempts to prove that no type errors can occur. The type system in question as the application program. This aims to avoid the overhead (sometimes referred to as the impedance mismatch The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system is being used by a program written in an object-oriented programming language or style; particularly when objects or class definitions are mapped in a straightforward way to database) of converting information between its representation in the database (for example as rows in tables) and its representation in the application program (typically as objects). At the same time, object databases attempt to introduce key ideas of object programming, such as encapsulation In computer science, information hiding is the principle of segregation of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed. The protection involves providing a stable interface which protects the remainder of the program and polymorphism In computer science, polymorphism is a programming language feature that allows values of different data types to be handled using a uniform interface. The concept of parametric polymorphism applies to both data types and functions. A function that can evaluate to or be applied to values of different types is known as a polymorphic function. A, into the world of databases.

A variety of these ways have been tried[by whom?] for storing objects in a database. Some products have approached the problem from the application-programming side, by making the objects manipulated by the program persistent Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown.[citation needed]. This also typically requires the addition of some kind of query language, since conventional programming languages do not provide language-level functionality for finding objects based on their information content. Others[which?] have attacked the problem from the database end, by defining an object-oriented data model for the database, and defining a database programming language A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication that allows full programming capabilities as well as traditional query facilities.

Storage structures

Main article: Database storage structures Database tables/indexes are typically stored on hard disk in one of many forms, ordered/unordered Flat files, ISAM, Heaps, Hash buckets or B+ Trees. These have various advantages and disadvantages discussed in this topic. The most commonly used are B+trees and ISAM. =
This section requires expansion.

Databases may store relational tables/indexes in memory or on hard disk in one of many forms:

The most commonly used[citation needed] are B+ trees and ISAM.

Object databases use a range of storage mechanisms. Some use virtual memory-mapped files to make the native language (C++, Java Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) etc.) objects persistent. This can be highly efficient but it can make multi-language access more difficult. Others disassemble objects into fixed- and varying-length components that are then clustered in fixed sized blocks on disk and reassembled into the appropriate format on either the client or server address space. Another popular technique involves storing the objects in tuples (much like a relational database) which the database server then reassembles into objects for the client.[citation needed]

Other techniques include clustering by category (such as grouping data by month, or location), storing pre-computed query results, known as materialized views, partitioning data by range (e.g., a data range) or by hash.

Memory management and storage topology can be important design choices for database designers as well. Just as normalization In the field of relational database design, normalization is a systematic way of ensuring that a database structure is suitable for general-purpose querying and free of certain undesirable characteristics—insertion, update, and deletion anomalies—that could lead to a loss of data integrity. E.F. Codd, the inventor of the relational model, is used to reduce storage requirements and improve database designs, conversely denormalization is often used to reduce join complexity and reduce query execution time.[5]

Indexing

Main article: Index (database) A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of slower writes and increased storage space. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random look ups and efficient access of ordered records. The disk space

Indexing A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of slower writes and increased storage space. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random look ups and efficient access of ordered records. The disk space is a technique for improving database performance. The many types of index share the common property that they eliminate the need to examine every entry when running a query. In large databases, this can reduce query time/cost by orders of magnitude. The simplest form of index is a sorted list of values that can be searched using a binary search In computer science, a binary search is an algorithm for locating the position of an element in a sorted array. It inspects the middle element of the sorted list: if equal to the sought value, then the position has been found; otherwise, the upper half or lower half is chosen for further searching based on whether the sought value is greater than with an adjacent reference to the location of the entry, analogous to the index in the back of a book. The same data can have multiple indexes (an employee database could be indexed by last name and hire date.)

Indexes affect performance, but not results. Database designers can add or remove indexes without changing application logic, reducing maintenance costs as the database grows and database usage evolves.

Given a particular query, the DBMS' query optimizer is responsible for devising the most efficient strategy for finding matching data. The optimizer decides which index or indexes to use, how to combine data from different parts of the database, how to provide data in the order requested, etc.

Indexes can speed up data access, but they consume space in the database, and must be updated each time the data are altered. Indexes therefore can speed data access but slow data maintenance. These two properties determine whether a given index is worth the cost.

Transactions

Main articles: Database transaction A database transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions. Transactions in a database environment have two main purposes: and Concurrency control

Most DBMS provide some form of support for transactions, which allow multiple data items to be updated in a consistent fashion, such that updates that are part of a transaction succeed or fail in unison. The so-called ACID rules, summarized here, characterize this behavior:

In practice, many DBMSs allow the selective relaxation of these rules to balance perfect behavior with optimum performance.

Replication

Main article: Database replication

Database replication involves maintaining multiple copies of a database on different computers, to allow more users to access it, or to allow a secondary site to immediately take over if the primary site stops working. Some DBMS piggyback replication on top of their transaction logging facility, applying the primary's log to the secondary in near real-time. Database clustering is a related concept for handling larger databases and user communities by employing a cluster of multiple computers to host a single database that can use replication as part of its approach.[6][7]

Security

Main article: Database security

Database security denotes the system, processes, and procedures that protect a database from unauthorized activity.

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

Confidentiality

Law and regulation governs the release of information from some databases, protecting medical history, driving records, telephone logs, etc.

In the United Kingdom, database privacy regulation falls under the Office of the Information Commissioner. Organizations based in the United Kingdom and holding personal data in digital format such as databases must register with the Office.[8]

Locking

When a transaction modifies a resource, the DBMS stops other transactions from also modifying it, typically by locking it. Locks also provide one method of ensuring that data does not change while a transaction is reading it or even that it doesn't change until a transaction that once read it has completed.

Granularity

Locks can be coarse, covering an entire database, fine-grained, covering a single data item, or intermediate covering a collection of data such as all the rows in a RDBMS table.

Lock types

Locks can be shared[9] or exclusive, and can lock out readers and/or writers. Locks can be created implicitly by the DBMS when a transaction performs an operation, or explicitly at the transaction's request.

Shared locks allow multiple transactions to lock the same resource. The lock persists until all such transactions complete. Exclusive locks are held by a single transaction and prevent other transactions from locking the same resource.

Read locks are usually shared, and prevent other transactions from modifying the resource. Write locks are exclusive, and prevent other transactions from modifying the resource. On some systems, write locks also prevent other transactions from reading the resource.

The DBMS implicitly locks data when it is updated, and may also do so when it is read. Transactions explicitly lock data to ensure that they can complete without a deadlock or other complication. Explicit locks may be useful for some administrative tasks.[10][11]

Locking can significantly affect database performance, especially with large and complex transactions in highly concurrent environments.

Isolation

Isolation refers to the ability of one transaction to see the results of other transactions. Greater isolation typically reduces performance and/or concurrency, leading DBMSs to provide administrative options to reduce isolation. For example, in a database that analyzes trends rather than looking at low-level detail, increased performance might justify allowing readers to see uncommitted changes ("dirty reads".)

Deadlocks

Deadlocks occur when two transactions each require data that the other has already locked exclusively. Deadlock detection is performed by the DBMS, which then aborts one of the transactions and allows the other to complete.

See also

References

  1. ^ a b Date 1990, pp. 31-32
  2. ^ Design of Main Memory Database System/Overview of DBMS
  3. ^ Introducing databases by Stephen Chu, in Conrick, M. (2006) Health informatics: transforming healthcare with technology, Thomson, ISBN 0-17-012731-1, p. 69.
  4. ^ Date, C. J. (June 1, 1999). "When's an extension not an extension?". Intelligent Enterprise 2 (8). http://intelligent-enterprise.informationweek.com/db_area/archives/1999/990106/online1.jhtml;jsessionid=Y2UNK1QFKXMBTQE1GHRSKH4ATMY32JVN.
  5. ^ Lightstone, Teorey & Nadeau 2007
  6. ^ MySQL Cluster
  7. ^ Oracle Real Application Cluster (RAC)
  8. ^ Information Commissioner's Office - ICO
  9. ^ "Information on Shared Locks"
  10. ^ "Locking tables and databases" (section in some documentation / explanation from IBM)
  11. ^ "Routine Database Maintenance"
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be and removed. (November 2008)

Further reading

External links

Wikimedia Commons has media related to: Database
Database management systems
Database models · Database normalization · Database storage · Distributed DBMS · Federated database system · Referential integrity · Relational algebra · Relational calculus · Relational database · Relational DBMS · Relational model · Object-relational database · Transaction processing
Concepts Database · ACID · CRUD · Null · Candidate key · Foreign key · Primary key · Superkey · Surrogate key · Armstrong's axioms
Objects Relation (Table) · View · Transaction · Log · Trigger · Index · Stored procedure · Cursor · Partition
Components Concurrency control · Data dictionary · JDBC · ODBC · Query language · Query optimizer · Query plan
Database products: Object-oriented (comparison) · Relational (comparison) · Document-oriented

Categories: Database management systems | Databases | Database theory

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Mon Jul 26 21:06:43 2010. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


BUYINS.NET: (BDX) SqueezeTrigger Price is $67.949. There is $468450174.00 That ... - Trading Markets (press release)
tradingmarkets.com
BUYINS.NET: (BDX) SqueezeTrigger Price is $67.949. There is $468450174.00 That ... - Trading Markets (press release)
Thu, 22 Jul 2010 15:48:21 GMT+00:00
Trading Markets (press release) SqueezeTrigger.com has built a massive database that collects, analyzes and publishes a proprietary SqueezeTrigger Price for each stock that has been ...
Google News Search: database,
Fri Jul 23 07:09:48 2010
Database png
styleease.com
Database png
569px x 592px | 34.40kB

[source page]

reference database saves all the references you have created and makes it easy to cite existing works or use the same reference in subsequent papers For more information see our citation database page or watch the flash animation

Yahoo Images Search: database,
Sun Jul 25 01:04:42 2010
Avoiding Chart Database Corruption When Updating JeppView or ...
paperlesscockpit.com
Avoiding Chart Database Corruption When Updating JeppView or ...

Plane Geek

Fri, 30 Jul 2010 14:04:22 GM

Avoiding Chart . Database. Corruption When Updating JeppView or NavSuite One of my old EFB customers emailed me with this problem: he's out on the road for.

Google Blogs Search: database,
Fri Jul 30 13:41:20 2010
What is the difference between Excel and a database?
Q. There are two tables; each table has a column named id . This is an example of what important feature of a database that is required by a database and only optional by Excel? This is for my computer class. Any help would be appreciated!
Asked by BigMomma830 - Sun Mar 7 19:45:20 2010 - - 2 Answers - 0 Comments

A. In a column in Excell you can have text or data and any given row. I mean A1 can be text while A2 is a number. In a dabase a column has to be one datatype. Excel can be a good way to view a datase, but is not organized in the same way as a database.
Answered by David H - Sun Mar 7 22:51:11 2010

Yahoo Answers Search: database,
Thu Jul 29 11:08:52 2010