Databases
Presented by
Institution
Introduction
Data forms a critical asset used not only in businesses today but also in other day-to-day applications. People use and collect data almost everywhere as they aim at determining some characteristic behaviors of some things, objects, or people. Technologists have come up with sophisticated equipments capable of storing date in a highly secure system referred to as a database. By definition, a database is a depository of data designed specifically to support well-organized data storage, retrieval, and maintenance. A database (or databases if they are more than one) specializes in storing binary files, images, documents, relational data, video, transactions, analysis, or geographical data depending on the purpose of the data (Ricardo, 2012). With the following idea in mind, the following discussion provides an explanation of databases in terms of database types, storage, relational mapping, database management systems, programs relational abilities, working parts, database language, and Structured Query Language (SQL).
Discussion
Types of databases
Databases come in different types each type suited for its own purpose. These are:
Document-oriented database
This is a computer program used purposely for storing, retrieving, and managing data stored in a database. The main type of information managed by this type is document-oriented or semi structured data. Good examples of document-oriented database are the Couch DB and Mongo DB. The types of encoding used to store document-oriented data include ZML, JSON, BSON, and binary forms such as PDF and Microsoft office documents (Word, Excel, MS, and others). A database addresses documents using a special key representing a specific document. This key can retrieve a specific document from the database. A representation of the above type is shown in figure 1 below.
Figure 1: An example of a document-oriented data type
Embedded database
This type consists of data developed by individual end-users. Some good examples of embedded database are presentations, collections of documents, multimedia, and spreadsheets. An embedded database forms a broad technology category consisting of database with varying application programming interfaces, database architectures, storage modes, and target markets. Figure 2 shows a representation of an embedded database if form of a spreadsheet.
Figure 2: An example of an embedded database
Graph database
These are SQL databases that use graph structures with edges, nodes and properties that represent and store information. This type of database provides index-free adjacency meaning, every element of data has a direct pointer to its adjacent elements with no need of index lookups. Figure 3 below shows an example of a graph database.
Figure 3: A graph database
Hypertext database
These are databases particularly used to manage large amounts of contrasting information. For instance, they assist in maintaining online encyclopedia.
Operational database
An operational database consists of system-specific reference data and event data that belongs to a transaction-update system. It also contains some system control data such as flags, counters, and indicators. It forms the source of data for data warehouse containing detailed data used in the day-to-day operations of an organization. The data changes with the continued update of information reflecting current value of the previous transaction.
Figure 4: An example of an operational database
Distributed database
In a distributed database, no storage devises are attached to a common processing unit, as the C.P.U. Data may be stored in multiple computers located in a similar physical location, or dispersed over a network of interconnected computers. Al systems in a distributed database are under a central management system where collection of data is distributed over various physical locations. An example of a distributed database is network servers on the internet, corporate intranets, or extranets. The distribution of databases to different locations improves the performance of end-users. Replication and duplication processes ensure distributive data are up to date in a database warehouse.
Storage
Databases are applicable in almost every human activity in the world today. People use databases when surfing the internet, accessing medical information, talking to friends through dialing phone numbers, and even while shopping. Each of the described database types above has records that describe part of a reality. Sometimes individuals or organizations lack access to important data because of failure or exhausted resources leading to a tremendous financial losses. In order to ensure effective and efficient accessibility of any database, system administrators must be cautious enough to ensure every database is kept in an accessible store (Vengurlekar & Bagal, 2013).
Databases are stored in a set of compatible hardware and software. In any database storage, compatibility is an essential and must be carefully tested to prevent cases of data corruption. Some organizations have huge loads of data and in such circumstances, redundancy of susceptible materials must be provided. Any database storage system must meet the expected standards in terms of reliability and performance to allow fast and continuous access to required data at any time (Vengurlekar & Bagal, 2013).
Hardware
Hardware used in database storage implementations has high requirements. In order to ensure uninterrupted working conditions require high performing and reliability hardware systems. The basic requirements for database storage hardware are listed below:
High performing CPUs properly with double processors
Ensure high data safety and performance (H/W RAID controller used)
High speed drivers for fast data access and reliability
High speed network connectivity
A large amount of memory
Storage software:
Software used in a database store must have maximum utilization of the hardware capabilities. Moreover, software must allow uninterrupted access to data, efficient recovery, and good backup process. Below are some of the essential requirements of good database software.
Ability to enhance interface throughput with link aggregation support
Built-in SNMP based monitoring system and notification for system monitoring
Controllers to ensure high performances and data security
Rational mapping (Relational abilities)
Object-oriented programming language and a relational database are the most common tools used in the development of enterprise applications. Java is the most widely used object-oriented style today. All computer applications must load data from a database, come up with an object to represent the data in main memory, perform computations involving the object and store changes in the database warehouse. Generally, relational mapping are frameworks used in storing and retrieving persistent objects. Their main aim is to support complicated activities and manage connections between relational databases and objects. The relational database mapping programming technique is typically utilized through an Application Program Interface (API) (Devarakonda, 2001). Some of the most popular APIs integrated with the relational mapping are:
Hibernate-most used java implementation
Django-a python framework with an inbuilt (Object Relational Database Mapping (ORDM) support
Core Data- Cocoa framework that comes with iPhoneOS and Mac OSX
ORMlite-a java implementation that has a support system for Android
Advantages of relational mapping
It gives developers a better chance to convert data from rich data types used in object orientated programming languages in order to minimize relational database types
Uses are in a better position to use self defined ADTs in database storage
It maintains continuity in databases shared between applications. For instance, instead of a developer storing “address” as a VARCHAR, it can be stored as an ADT address with a unique format. All applications are now capable of using similar address class ensuring continuity.
Limitations of relational mapping
There is a lowered efficiency for large scale applications with the use of complex ADTs
Database size might increase depending on the size of methods stored
A lot of large applications containing frequent database read/write activity never gain from ORMD
It is more useful for mobile phone databases and small applications, but not in computers
Database management system (DBMS)
DBMS is highly complex software used in the storage of information in a computer, and assists in managing and controlling access to databases. The DBMS has logically shared collections designed to meet information needs of an organization. The first DBMS was designed in 1960s. Before this period, data management was done using file based methods that stored data in individual data files that had interface between programs and files. The modern DBMS is technologically advanced that allow users to add, update, and delete data. It also has its own processing engine that allows users to write queries for easier analysis and processing of data (Shelly & Rosenblatt, 2008). The DBMS system consists of three major components as described below:
Physical Data Repository
The physical data repository forms the physical location where the system stores data. Data can be stored in a central location, or distributed across various locations as in the distributed data used in enterprise wide applications. For disaster recovery and data requiring 24 hours surveillance, multiple locations with duplicated locations are essential. In addition, the physical data repository has standards and drivers such as ODBC and JDBC that allow easier access to information stored in a database warehouse and is compatible to all DBMS (Gillenson, 2012).
Data Manipulation Language (DML)
In any database management system, the system must provide a language that enables users to keep the data in terms of updating, adding, and deleting. This is the type of language called Data Manipulation Language. DMLs are executed of tables, columns, and schemas (Gillenson, 2012).
User Interface
DBMS has a query language that allows a user to access the stored information. These languages occur in form of Query By Example (QBE0 or Structured Query Language (SQL). DBMS provides web-based user interfaces that allow the user an easier access to information stored in the system via the web (Gillenson, 2012).
Even with the complexity nature of DBMS, it has the following advantages. Firstly, the system is relational thus easier to add, delete and update information without affecting the overall framework of the database system. This makes it more flexible than the traditional file system. Secondly, DMS offers better utilization and hardware resources through providing inherent support for users. It allows easier storage and processing of information on high-tech computers whereby a client can easily access with the necessary authentication processes. Finally, DBMS promotes increased developer productivity and data independence. Under the DBMS, programmers never worry about any storage problem since the DBMS takes control of all techniques needed by a programmer (Hoven, 2012).
DBMS programs
A DBMS program is software used in managing data and information structure as records, fields, and files. The DBMS program forms the main driver of information systems and provides file creation, data entry, query, update, and reporting functions to a database. The above program allow a user create and edit individual files at the keyboard. Programming allows automatic update of data from one file into another (Kerrisk, 2010).
Database language
Every database must have an appropriate language and interface for each category of users for easier expression of database queries and updates. Database languages help in creation and maintenance of database on computers. Some examples of database languages include Oracle, MS Access, MySQL, FoxPro, dBase and many more.
Data definition language (DDL)
This language allows a user to define data and their relationship to other data types. Its work is mainly to create files, data dictionary, databases, and tables within databases.
Data Manipulation Language (DML)
This language provides a set of operations that support the basic data manipulation operations on data stored in databases. A user can insert, delete, update, or retrieve data from the database using the commands of DML language.
Data control language (DCL)
The following database language control access to data and database using statements like REVOKE and GRANT. A user is granted privilege with the assistance of a GRANT statement. The assigned privileges are either ALTER, SELECT, EXECUTE, DELETE, INDEX, or INSERT.
Structured Query Language (SQL) and its relation to its application
SQL is a high-class language used by database programmers to assist users manipulates relational data. One of the main advantages of SQL is its ability to allow users to specify the information they want and the program retrieves all the data required. SQL works at various levels allowing users to retrieve rows in one or more tables. SQL has three categories as discussed in the section above, DDL, DML, and DCL. Don Chamberlin and Ray Boyce from IBM Corporation developed SQL in 1970s. The original name for the language was Structured English Query Language (SEQUEL), but later changed to SQL and registered as a trademark in United Kingdom. SQL is the presently accepted language for relational databases. Different elements of databases are used in the implementation of SQL. The most important element is the data types. The basic data types include integer, float, decimal, char, time, date, and blob (Caffrey, 2011).
SQL relation to its application
SQL plays a significant role in the database management system. It forms the only language that programmers use to make users read and interpret data in a database. In addition, as discussed above, SQL supports various database languages such as DDL, DML, and DCL allowing users to easily locate, update, retrieve, and delete data from a database accordingly. Moreover, SQL offers a chance for future database experts to use their innovated languages because of its compatibility to changes (Date, 2011).
Conclusion
The world today is in form of a gigantic database because people are always involved in organization of data in order to maintain and improve the efficiency in day-to-day affairs. The following discussion has provided a full overview of databases, their use, applications, and their major components. From the discussion, a reader can easily know the type of database system to adopt depending on individual data types and size of data.
References
Beaulieu, A. (2009). Learning SQL (2nd ed.). Sebastopol: O’Reilly Media.Caffrey, M. (2011). Modeling and accessing relational data. Oracle Magazine. Retrieved April
20, 2014 from:
http://www.oracle.com/technetwork/issue-archive/2011/11-nov/o61sql-512018.html
Date, C. J. (2011). SQL and relational theory: How to write accurate SQL code. Sebastopol, CA: O’Reilly.
Devarakonda, R. (2001). Object-Relational Database Systems. The Road Ahead, Crossroads
Gillenson, M. L. (2012). Fundamentals of database management systems (2nd ed.). Hoboken, NJ: Wiley.Hoven, J. V. (2012). Database Management System and XML: Interchange of Data. Information Systems Management, 19(1), 94-96.Kerrisk, M. (2010). The Linux programming interface a Linux and UNIX system programming handbook. San Francisco: No Starch Press.Kulkarni, U. R., Ravindran, S. & Freeza, R. (2007). “A Knowledge Management Success
Model. Journal of Management Information Systems. Emerald Management Reviews. 23 (3)
Ricardo, C. M. (2012). Databases illuminated. Sudbury, MA: Jones & Bartlett Learning.)
Shelly, C. & Rosenblatt. (2008). Systems Analysis and Design, seventh edition. Thompson Course Technology.
Vengurlekar, N., & Bagal, P. (2013).Database cloud storage the essential guide to Oracle automatic storage management. New York: McGraw-Hill Education.