Introduction to Computer Information Systems/Database

From Wikibooks, open books for an open world
< Introduction to Computer Information Systems
Jump to: navigation, search

Database Definition and Examples[edit]

Phone book

A database is a collection of data that is saved and organized to allow easy retrieval when needed. In order to maintain and access the database you will need a DBMS (database management system). This kind of system manages and protects data so that the database is safe and secure. Databases consists of tables that consists of records and fields. Databases are not limited to only computers; in fact, a phone book is an example of a database.[1] All of the names alphabetized and each column has its own category. There is a column for your name, phone number, and possibly a street address. With a relational database, all of the data within the row can be pulled up when you are looking for the specific attribute.[2]

All that data has to be stored somewhere!

There are a few advantages to using a database management system. On the plus side, it has the ability to control redundancy, the integrity of the information being stored can be maintained, it can restrict access, it can share data, and can backup/recover information. A database management system can counteract redundancy by compiling the information in one spot. The same way that you can't have two audio files with the same name and extension in a single folder, you can't have the same file in a single database. This controls and can increase storage space. The integrity of the information being stored can also be increased based on the specifications of the database developer. This means that the constraints on the information put into the database (which is determined by the developer) will keep the data stored accurate. So if a database is only able to store pictures, for example, then a music file will be rejected ensuring that a picture will always be retrieved from the database with 100% accuracy. This is a very simple example to get the idea across as the constraints imposed by the developer can determine different things. Databases can also share data as well allowing a developer to build multiple applications off of one source of information rather than having to create new stored files. Databases can also backup and recover data. If a computer system fails during a long, complex update then the database can restore the files to the place in the update when it is becomes operational again.[3]

Data Characteristics[edit]

3 states of data

Data is a collection of facts. It can be values, measurements, numbers, words, measurements, and observations. Many businesses would not be as successful without data.[4] A data has a hierarchy; this hierarchy is a systematic organization of data. Fields, records, and files are apart of the data organization. Product names or quantities are the lowest level of the hierarchy, and the database is the highest level of the hierarchy.[5] Also, the data definition consists of the following: name, data type, description, and properties. This describes the properties that go into a database. If a computer user wants to look up all of the data definitions for a database, he or she would look up the data dictionary. A few key terms a computer user should be aware of, concerning data characteristics, consist of data field, record, file, and database. A data field contains a single fact of an entity. A record is a collection of related fields. A file is an organization of related business records. The database is the place where files are integrated. [6]The data characteristic key terms are essential to be aware of for businesses who use a database.

Classification of Databases[edit]

Single-User vs. Multiuser Database Systems[edit]

Database Server

Single-user database systems are located on one computer and they are designed for one user. They are used for personal use and small businesses. Only one person can use the database at a time, so if one user is using the database the other users must wait until that user is done. The other kind is used for bigger businesses. It is a database that is accessed through a network. It is so more than one person can access and change the data in a system. Most use some kind of lock on the database so that there are no conflicts between people making changes. They can be on one computer or multiple computers. [7]

Client-Server and N-Tier Database Systems[edit]

Most multiuser database systems are client-server database systems. Basically client-server database systems are servers that have resources for other computers. It is when the client part makes a service request from the server, which completes the request. The client is referred to as the front end and the database server is referred to as the back end.[8] Some of the client-server database systems have more than just the front end and the back end but also a middle part called a tier. These are referred to as n-tier database systems. In these databases the client and the database never communicate directly, all data is passed through the middle layer. The advantages of this database system is that the middle tier provides a layer of abstraction, that way you can change parts of the back end without having to modify parts of the front end. It is also a good way to separate responsibilities; they can also be more efficient. [9]

Centralized vs. Distributed Database Systems and Disk-Based vs. In-Memory Database Systems[edit]

Database Systems

Centralized database systems are all located on one computer. This can either be a server or mainframe computer. [10] Distributed database systems share a network and the data is divided between several computers connected to that network. [11] An advantage of a centralized database system is that all information is in one place. The disadvantage may be that a bottleneck might occur. Having all information on one computer can make it easier to some users, but difficult for others who want to access the files. One advantage of distributed database systems is that the database can be accessed using any computer on the network even if all the information is not on one computer. This is the preferred type of system to use for databases, because information can be easily found. It also ensures that all data will not be lost, if using the distributed database system over the centralized system. Because of the recent advances in technology, using the “cloud” is another way to store database information over the Internet for an easy way of storage. This concept goes hand in hand with disk-based and in-memory database systems. Most databases are stored on conventional hard drives in computers today, but recently many are switching to in-memory databases. [12] This can hold all data on the main memory of the computer. This creates faster performances than it would if using the disk-based system.

Database Models[edit]

Relational Database Model[edit]

Relational database management systems are important because they take several related tables and combine them in the least complex way that is possible. Essentially the RDBMS takes these smaller, less compact, tables and finds ways to relate them to one another based on singular variables to avoid repetition as much as possible. When creating such a database there are four main questions to ask: what is the point of this database? what information needs to be included in this database? which variables should be placed in which table to make the end result the least tangled/complicated? and how should this table be formatted? Once all those things are completed, one could use a program such as Microsoft Office's Access[13] to create a query by choosing specific related fields to display and organize. After this, one could use the query to generate a report which is essentially used to import the selected information into a singular database that would be easier to read through and find information from. 

Hierarchical and Network Database Models[edit]

Database models

The hierarchical model is the oldest database models. It organizes date in a tree-like structure, using parent and child data segments. For example, it begins at the top of the tree with a single root. That stems into a lower level segment, which connects to other subordinate segments after. This is used to model one-to-many relationships. A disadvantage of using this model is that it requires data to be stored repetitively in multiple levels. This causes the database to function very slowly because it can be searching for information in lower levels as well. The network model uses a set structure. A set is comprised of an owner record type, a set name, and a member record type. This type of model shows many-to-many relationships. Parents can have multiple children, and children can have multiple parents. Both of these model types are outdated and no longer used for building new database applications. They are often less flexible than other model types. [14]

Also, all paths for accessing the data must be planned ahead of time and cannot easily be changed. Some places you might still see the hierarchical model might be in large systems that use high-volume transaction processing, like banks or insurance companies.

Object-Oriented Database Models[edit]

OODBMSs, like this abstract statue, are more difficult to comprehend initially while ultimately promising greater rewards.

Whereas other database models can only store conventional data (such as dates, numbers, and text), the object-oriented database management system (OODBMS) is far more abstract. In an OODBMS, you can store pretty much any kind of data you desire, along with the methods to be used with that data. To retrieve this more complex and varied data, the user sends queries written in object query language(OQL) which is an object-oriented version of SQL. OODBMSs are becoming increasingly prevalent because of the higher demands of computer users today. However, as is the case with any new technology, there is some resistance because of the downsides of OODBMSs. One downside is how editing an OODBMS based application is more time consuming because changes have to be made to the other classes in the application that interact with instances of the parent class, versus an RDBMS system where edits can typically be independent of the parent application.[15] Even with the extra difficulties, many important clients continue to operate using a OODBMS, one big example being Chicago Stock Exchange, which uses the system to manage stock trades.

Databases on the Web[edit]

Web Databases in Use[edit]

Amazon is just one of many companies that utilize Web databases for their business needs

There are many ways Web databases can be used. The most obvious way is the retrieval of information. Web databases provide a means for users to access the massive amount of information the Web has to offer, and this is made possible, in one way, by the use of search sites where databases provide links for the user. Other personal uses for databases include the storage of email addresses, telephone numbers, and other information for one who might create a site for friends and family.[16] On the business end, Web databases allow businesses to create “website polls, feedback forms, and client/customer inventory lists.”[17] This is a vital function that both large and small businesses can take advantage of to suite their needs. One, specific example relating to business-use of Web databases is the management of e-commerce-related activities. Here databases are used to provide information like pictures and pricing for products as well as order information and other necessary functions to enable efficient and reliable business transactions. Another feature of Web databases is their ability to display dynamic Web pages. These pages display information that changes depending on the input of the user, like a B2C site showing pages related to the interests of the consumer based on his or her past acivities. From personal to business applications, Web databases are a vital part of addressing the tasks associated with Web-related activity.

Middleware[edit]

Database Layout

This is a computer software that provides services to software applications beyond those available from the operating system. It is software that connects two otherwise separate applications, which can resemble "software glue.” For example, there are a number of middleware products that link a database system to a Web server. This provides the user to be able to receive data from the data base by using forms that are displayed on a Web browser, and it enables the Web server to return dynamic Web pages based on the user's requests and profile. As stated previously, the term middleware is used to describe separate products that serve as the glue between two applications. It is, therefore, distinct from import and export features that may be built into one of the applications. It is sometimes called plumbing because it connects two sides of an application and passes data between them. Distributed computing system middleware can loosely be divided into two categories. These categories are those who provide human-time services and those that perform in machine-time. This latter middleware is somewhat standardized through the Service Availability Forum and is commonly used in complex, embedded systems within telecom, defense and aerospace industries. [18]

How Web Databases Work[edit]

Example of PHP Script

In our technological world, we use web-based database requests on a daily basis. We are constantly visiting web pages, clicking on links and using the menu to navigate us through our activity on that page. Using middleware, the web server passes a request on to a database query and the information is stored and passed along to the database server. The database server then uses this information to direct the page to where it was intended to go. CGI Script is another way information is passed along. They use instructions via a programming language and accept and return the websites data to the user. Active server pages are yet another example of scripts used commonly on websites. They are very similar to CGI Scripts, yet they are exclusive because they almost always use VBS script or Java script. PHP Hypertext processor is a language that is becoming more and more popular everyday. This script is extremely similar to CGI scripts and active server pages yet are more highly compatible with other programs. The script functions using PHP tags and html codes to get their job done. These scripts are just some examples of what is used today and how information in transmitted on a web server. [19]

Review[edit]

Terms and definitions [20]

attribute A characteristic of an entity.

centralized database system A database system in which all of the data used by the system is located on a single computer.

client-server database system A database system where the database is located on a server and accessed by client devices.

column In a database, a field.

data definition The process of describing the properties of data that is to be included in a database table.

data dictionary The repository of all data definitions in a database. data integrity The accuracy of data.

data privacy' Protecting the privacy of the data located in a database.

data security Protecting the data located in a database against destruction and misuse.

data validation The process of ensuring that data entered into a database is valid (matches the data definition).

database A collection of related data that is stored in a manner enabling information to be retrieved as needed; in a relational database, a collection of related tables.

database management system (DBMS) A type of software program used to create, maintain, and access databases.

direct organization A method of arranging data on a storage medium that uses hashing to specify the exact storage location.

distributed database system A database system in which the data used by the system is located on multiple computers that are connected via a network.

entity Something (such as a person, object, or event) that is important to a business or organization; typically becomes a database table in a database system for that business or organization.

field A single category of data to be stored in a database, such as customer names or employee telephone numbers. Also called a column.

form A formatted way of viewing and editing a table in a database.

hybrid XML/relational database A type of database system that can store and retrieve both XML data and relational data.

in-memory database (IMDB) A database that stores all data in memory instead of on a hard drive.

index A small table containing a primary key and the location of the record belonging to that key; used to locate records in a database.

indexed organization A method for organizing data on a storage medium or in a database that uses an index to specify the exact storage location.

metadata Data about data, such as the data contained in a data dictionary.

middleware Software used to connect two otherwise separate applications, such as a Web server and a database management system.

multidimensional database (MDDB) A type of database designed to be used with data warehousing.

multiuser database system A database designed to be accessed by multiple users.

normalization The process of evaluating and correcting the structure of a database table to minimize data redundancy.

object-oriented database management system (OODBMS)' A type of database system in which multiple types of data are stored as objects along with their related code.

primary key A specific field in a database table that uniquely identifies the records in that table.

query A request to see information from a database that matches specific criteria.

record A collection of related fields in a database. Also called a row.

relational database management system (RDBMS) A type of database system in which data is stored in tables related by common fields; the most widely used database model today.

report A formatted way of looking at information retrieved from a database table or the results of a query.

row In a database, a record.

single-user database system A database located on a single computer and designed to be accessed by a single user.

structured query language (SQL) A popular query language standard for information retrieval in relational databases.

table In a relational database, a collection of related records or rows.



Questions

1. Match each term with its example:

A. When the database does not allow a user to enter a letter in a phone number field.

B. Requiring users to log on to a database system via a fingerprint reader.

C. Assigning a field the property of “required.”


i. Data definition

ii. Data integrity

iii. Data security

Fill in the blank

2. In a student information database, Name would be considered a(n) _______________, while all of Jennifer Mitchell's information would be a(n)___________.

3. Date _______ refers to accuracy of date.

4. When _____ organization is used, a hashing procedure determines where date stored.

5. The term front end and back end refer to ______ database systems

True or False

6. Normalization is used to minimize data redundancy.

7. In a relational database, more than one table can be included in a database.

8. Using usernames and passwords is a data validation technique.

9. The network database model is the most widely used model today.

10. Dynamic Web pages commonly use databases.

Answers [21]

1. A. ii B. iii. C. i.

2. field or column; row or record

3. integrity

4. direct

5. client-server

6. True

7. True

8. False

9. False

10. True

References[edit]

  1. http://www.usg.edu/galileo/skills/unit04/primer04_01.phtml
  2. http://en.wikipedia.org/wiki/Relational_database
  3. http://ecomputernotes.com/fundamental/what-is-a-database/advantages-and-disadvantages-of-dbms
  4. http://www.mathsisfun.com/data/data.html
  5. http://technet.microsoft.com/en-us/library/ee633737.aspx
  6. https://en.wikipedia.org/wiki/Database
  7. http://www.slideshare.net/raminder90/single-user-vs-multi-user-databases
  8. http://searchnetworking.techtarget.com/definition/client-server
  9. http://databases.about.com/od/specificproducts/a/architectures.htm
  10. https://en.wikipedia.org/wiki/Centralized_database
  11. https://en.wikipedia.org/wiki/Distributed_database
  12. https://en.wikipedia.org/wiki/In-memory_database
  13. http://office.microsoft.com/en-us/access-help/create-a-query-based-on-multiple-tables-HA010096275.aspx
  14. http://wps.prenhall.com/wps/media/objects/14071/14409392/Learning_Tracks/Ess10_CH05_LT3_Hierarchical_and_Network_Data_Models.pdf
  15. http://slashdot.org/story/01/05/03/1434242/why-arent-you-using-an-oodms
  16. http://www.htmlgoodies.com/primers/database/article.php/3478121/To-Use-or-Not-to-Use-a-Database-That-is-the-Question.htm
  17. http://www.ehow.com/info_8219542_database.html
  18. https://docs.djangoproject.com/en/1.3/topics/http/middleware/
  19. http://guide.netfronts.com/Database-PHP-ASP/adding_dynamic_web_content.html
  20. http://coursemate.cengage.com/CPReader/View/9781133114598/default.aspx?eISBN=9781133114598#66897dee-5c5a-4b7d-8a74-0eac7f4de56c
  21. http://ng.cengage.com/static/nb/ui/index.html?nbId=7345&nbNodeId=1013914#!&parentId=1013946