Data Base Mangement System
Essay by 24 • November 4, 2010 • 1,228 Words (5 Pages) • 1,778 Views
DATABASE MANAGEMENT SYSTEM (DBMS)
A Database Management System (DBMS) is a software program that typically operates on a database server or mainframe system to manage structured data, accept queries from users, and respond to those queries. A typical DBMS has the following features (Stair and Reynolds, 2004):
* Provides a way to structure data as records, tables, or objects
* Accepts data input from operators and stores that data for later retrieval
* Provides query languages for searching, sorting, reporting, and other "decision support" activities that help users correlate and make sense of collected data
* Provides multi-user access to data, along with security features that prevent some users from viewing and/or changing certain types of information
* Provides data integrity features that prevent more than one user from accessing and changing the same information simultaneously
* Provides a data dictionary (metadata) that describes the structure of the database, related files, and record information
Most databases are operational databases, meaning that data going into the database is used in real time to support the ongoing activities of a business. A point-of-sale business accounting system is an example. As items are sold, the inventory database is updated and the inventory information is made available to the sales staff. The invoicing, order entry, and related systems are also updated (Stair and Reynolds, 2004).
Most DBMS systems are client/server based and operate over networks. The DBMS is an engine that typically runs on a powerful server or cluster of servers, in a storage area network (SAN) environment or mainframe with a high-performance channel to a large data store. The DBMS accepts requests from clients that may require sorting and extracting data. Once the server has processed the request, it returns the information to the client.
DATABASE ARCHITECTURE
The original PC networks were based on file sharing architectures, where the server downloads files from the shared location to the desktop environment. The requested user job is then run (including logic and data) in the desktop environment. File sharing architectures work if shared usage is low, update contention is low, and the volume of data to be transferred is low. In the 1990s, PC LAN (local area network) computing changed because the capacity of the file sharing was strained as the number of online user grew (it can only satisfy about 12 users simultaneously) and graphical user interfaces (GUIs) became popular (making mainframe and terminal displays appear out of date). PCs are now being used in client/server architectures (Schussel, 1995).
Data modeling is the act of exploring data-oriented structures. Data models can be used for a variety of purposes, from high-level conceptual models to physical data models. From the point of view of an object-oriented developer data modeling is conceptually similar to class modeling. With data modeling you identify entity types whereas with class modeling you identify classes. Data attributes are assigned to entity types just as you would assign attributes and operations to classes. There are associations between entities, similar to the associations between classes - relationships, inheritance, composition, and aggregation are all applicable concepts in data modeling (Ambler, 2006).
As a result of the limitations of file sharing architectures, the client/server architecture emerged. This approach introduced a database server to replace the file server. Using a relational database management system (DBMS), user queries could be answered directly. The client/server architecture reduced network traffic by providing a query response rather than total file transfer. It improves multi-user updating through a GUI front end to a shared database. In client/server architectures, Remote Procedure Calls (RPCs) or standard query language (SQL) statements are typically used to communicate between the client and server (Schussel, 1995).
A data model describes the structure of the data within a given domain and, by implication, the underlying structure of that domain itself. A data model may thus represent classes of entities about which a company wishes to hold information, the attributes of that information, and relationships among those entities. The model describes the organization irrespective of how data might be represented in a computer system (Stair and Reynolds, 2004).
The entities represented by a data model can be the tangible entities, but models that include such concrete entity classes tend to change over time. Robust data models often identify abstractions of such entities. For example, a data model might include an entity class called "Person", representing all the people who interact with an organization. Such an abstract entity class is typically more appropriate than ones called "Vendor" or "Employee", which identify specific roles played by those people (Stair and Reynolds, 2004).
A proper conceptual data model describes an organization's semantics. It is a collection of assertions about the nature of the
...
...