Managing+Data+Resources

Managing Data Resources

=7 Managing Data Resources = Information is becoming as important a business resource as money, material, and people. Even though a company compiles millions of pieces of data doesn't mean it can produce information that its employees, suppliers, and customers can use. Businesses are realizing the competitive advantage they can gain by compiling useful information, not just data. 

// 7.1 Organizing Data in a Traditional File Environment //
Why should you learn about organizing data? Because it's almost inevitable that someday you'll be establishing or at least working with a database of some kind. As with anything else, understanding the lingo is the first step to understanding the whole concept of managing and maintaining information. It all comes down to turning data into useful information, not just a bunch of bits and bytes.

File Organization Terms and Concepts
 The first few terms, **field**, **record**, **file**, **database**, are depicted in Figure 7.1, which shows the relationship between them. An **entity** is basically the person, place, thing, or event on which we maintain information. Each characteristic or quality describing an entity is called an **attribute**. Each record requires a **key field**, or unique identifier. The best example of this is your social security number: there is only one per person. That explains in part why so many companies and organizations ask for your social security number when you do business with them. Suppose you decide to create a database for your newspaper delivery business. In order to succeed, you need to keep accurate, useful information for each of your customers. You set up a database to maintain the information. For each customer, you create a record. Within each record you have the following fields: customer name, address, ID, date last paid. Smith, Jones, and Brooks are the records within a file you decide to call Paper Delivery. The entities then are Smith, Jones, and Brooks, the people about whom you are maintaining information. The attributes are customer name, address, ID, and date last paid. The key field in this file is the ID number; perhaps you'll use phone number because it will be unique for each record. This is a very simplistic example of a database, but it should help you understand the terminology.

Problems with the Traditional File Environment
· **Data redundancy ** · **Program-Data dependence ** · **Lack of flexibility ** · **Poor security ** · **Lack of data-sharing and availability ** ||

Many problems such as data redundancy, program-data dependence, inflexibility, poor data security, and inability to share data among applications have occurred with **traditional file environments**. We've spoken about "islands of information" before. Building and maintaining databases is where this situation is most evident and most troublesome. Usually it begins in all innocence, but it can quickly grow to monstrous proportions. For instance, after you move and change addresses, you notify everyone of your new address including your bank. Everything is going smoothly with your monthly statements. All of a sudden, at the end of the year, the bank sends a Christmas card to your old address. Why? Because your new address was changed in one database, but the bank maintains a separate database for its Christmas card list and your address was never changed in it. If you received two Christmas cards, you're probably a victim of **data redundancy**. That is, your information is now in two separate databases with duplicate records. In this instance, each database file has different data on the same record. That can be a nightmare on Main Street! Even more troublesome is when several departments or individuals decide to set up their own islands of information. This usually happens because they find the main system inflexible or it just doesn't fit their needs. So they set up their own fields and records and files and use them in their own programs to manipulate data according to their needs. Now each department is spending dollars and time to establish and maintain islands of information because of **program-data dependence**. Taking this problem even further, the fields and records for marketing probably don't have the same structure and meaning as the fields and records for accounting, or those for production. Each record describes basically the same entity (customers or products), but it is very possible that each database file will have different information, or attributes, in records concerning the same entity. All of this may happen with the best of intentions. All departments began with the goal of making their part of the organization more efficient. Eventually these good intentions can cost big dollars to bring the islands together, resolve data conflicts, and retrain people to understand the new database structures. = =
 * Bottom Line: Managers and workers must know and understand how databases are constructed so they know how to use the information resource to their advantage. Managers must guard against problems inherent with islands of information and understand that sometimes resolution of short-term problems is far costlier in the long term. ** ||
 * Bottom Line: Managers and workers must know and understand how databases are constructed so they know how to use the information resource to their advantage. Managers must guard against problems inherent with islands of information and understand that sometimes resolution of short-term problems is far costlier in the long term. ** ||

// 7.2 The Database Approach to Data Management //
The key to establishing an effective, efficient **database** is to involve the entire organization as much as possible, even if everyone will not immediately be connected to it or use it. Perhaps they won't be a part of it in the beginning, but they very well could be later on.

Database Management Systems DBMS
You've heard the old saying, "Don't put all your eggs in one basket." When it comes to data, just the opposite is true. You want to put all your corporate data in one system that will serve the organization as a whole. Doing so makes it easier, cheaper and more efficient to use the data across the entire organization. It makes it easier to use in applications and makes it available through many different delivery methods. **Physical views** of items are often different from the **logical views** of the same items when they are actually being used. For instance, assume you store tablets of paper in your lower-right desk drawer. You store your pencils in the upper-left drawer. When it comes time to write your request for a pay raise, you pull out the paper and pencil and put them together on your desktop. It isn't important to the task at hand where the items were stored //physically//; you are concerned with the //logical// idea of the two items coming together to help you accomplish the task. The logical description is often referred to as the **conceptual schema**. The physical view of data focuses on where the data are actually stored in the record or in a file. The physical view is important to programmers who must manipulate the data as they are //physically stored// in the database. The physical view is referred to as the //physical or internal// schema. Does it really matter to the user that the customer address is physically stored on the disk before the customer name? Probably not. However, when users create a report of customers located in Indiana, they generally will list the customer name first and then the address. So it's more important to the end user to bring the data from its physical location on the storage device to a //logical// view in the output device, whether screen or paper. A specific set of data from the database is referred to as a **subschema**. A **Database Management System** (DBMS) is basically another software program like Word or Excel or e-mail. This type of software is more complicated; it permits an organization to centralize data, manage them efficiently, and provide access to the stored data by application programs. A DBMS has three components, all of them important for the long-term success of the system. **Data definition language**. Marketing looks at customer addresses differently from Shipping, so you must make sure that all database users are speaking the same language. Think of it this way: marketing is speaking French, production is speaking German, and human resources is speaking Japanese. They are all saying the same thing, but it's very difficult for them to understand each other. Defining the data definition language itself sometimes gets shortchanged. The programmers who are creating the language sometimes say "Hey, an address is an address, so what." That's when it becomes critical to involve users in the development of the data definition language. **Data manipulation language**. This is a formal language programmers use to manipulate the data in the database and make sure they are formulated into useful information. The goal of this language should be to make it easy for users. The basic idea is to establish a single data element that can serve multiple users in different departments, depending on the situation. Otherwise, you'll be employing programmers to get information from the database that users should be able to get on their own. Data manipulation languages are getting easier to use and more prevalent. SQL (Structured Query Language) is the most prominent language and is now embedded in desktop applications such as Microsoft Access. **Data dictionary**. Each data element or field should be carefully analyzed when the database is first built or as the elements are later added. Determine what each element will be used for, who will be the primary user, and how it fits into the overall scheme of things. Then write it all down and make it easily available to all users. This is one of the most important steps in creating a good database.  Figure 7-5 shows a properly constructed data dictionary report. You can see exactly who owns the **data element** and all the business functions that use the data element. It also lists the people who have access to the data element. Why is it so important to document the data dictionary? Let's say Suzy, who was in on the initial design and building of the database, moves on and Joe takes her place. It may not be so apparent to him what all the data elements really mean, and he can easily make mistakes from not knowing or understanding the correct use of the data. He will apply his own interpretation, which may or may not be correct. Once again, it ultimately comes down to a //persware// problem. Users and programmers can consult the data dictionary to determine what data elements are available before they create new ones that are the same or similar to those already in the data dictionary. This can eliminate data redundancy and inconsistency.

Types of Databases
Every tool has its job. You wouldn't use a screwdriver to pound a nail in the wall, nor would you use a hammer to turn a bolt. Each type of database that we discuss in this section has its own advantages and disadvantages, so you should choose the right type of database for the job you want to do. A **relational data model** uses tables in which data are stored to extract and combine data in whatever form or format the user needs. The tables are sometimes called files, although that is actually a misnomer, since you can have multiple tables in one file. (Make sure you review the description of fields and records in the text.) In a relational database, each table contains a primary key, a unique identifier for each record. To make sure the tables relate to each other, the primary key from one table is stored in a related table as a secondary key. For instance, in the customer table the primary key is the unique customer ID. That primary key is then stored in the order table as the secondary key so that the two tables have a direct relationship.  Use these three basic operations to develop relational databases: The biggest problem with these databases is the misconception that every data element should be stored in the same table. In fact, each data element should be analyzed in relation to other data elements, with the goal of making the tables as small in size as possible. The ideal relational database will have many small tables, not one big one. On the surface that may seem like extra work and effort, but by keeping the tables small, they can serve a wider audience because they are more flexible. This setup is especially helpful in reducing redundancy and increasing the usefulness of data. Because SQL is becoming a popular, easy method of extracting data, let's look at a couple of the commands it uses. SQL commands can be embedded in application programs written in many different languages. The manipulative characteristics of SQL has led to its popularity. The **hierarchical DBMS** presents data to users in a treelike structure. Think of a mother and her children. A child only has one mother and inherits some of her characteristics, such as eye color or hair color. A mother might have one or more children to whom she passes some of her characteristics but usually not exact ones. The child then goes on to develop her own characteristics separate from the mother. <span style="font-family: 'Georgia','serif'; font-size: 7.5pt;"> In a hierarchical database, characteristics from the parent are passed to the child by a pointer, just as a human mother will have a genetic connection to each human child. You can see how this database pointer works by looking at Figure 7-8. A **network data model** is a variation of the hierarchical model. Take the same scenario with one parent and many children and add a father and perhaps a couple of stepparents. Now the parents aren't restricted to only one (the mother), but to many parents. That is, a parent can have many children and a child can have many parents. The parents pass on certain characteristics to the children, but the children also have their own distinct characteristics. <span style="font-family: 'Georgia','serif'; font-size: 7.5pt;"> As with hierarchical structures, each relationship in a network database must have a pointer from all the parents to all the children and back, as Figure 7-9 demonstrates. These two types of databases, the hierarchical and the network, work well together because they can easily pass data back and forth. But these structures are not easily manipulated and require extensive technical programming to meet changing requirements. Because they are difficult to build in the first place, some businesses are hesitant to replace them with newer relational data models. They are referred to as legacy systems — systems that continue to be used because of the high cost of replacing them. Many companies are moving away from strictly text-based database systems. Data as objects can be pictures, groups of text, voice, and audio. **Object-oriented databases** bring the various objects from many different sources and get them working together. If you combine the capabilities of a relational DBMS and an object-oriented database, you create an **object-relational DBMS**. The next time you go to your dentist's office, you might see a good example of an object-oriented database management system. Many sophisticated dental database programs include a traditional text-based record of your treatment history, and will also include objects such as computer-stored X-ray films, and maybe a digital photograph of the inside of your mouth. All these objects are maintained as a database record. When you visit your dentist, she can retrieve your record on the computer terminal, update your treatment history, and take new X-rays and a new digital photo, all on the computer. On the screen, she can compare last year's X-rays with this year's. She may even use a graphic tooth chart to mark which teeth need attention. || <span style="color: #003399; font-family: 'Arial','sans-serif'; font-size: 32pt; mso-bidi-font-size: 12.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Arial; msobidifontsize: 12.0pt; msobidifontweight: bold; msofareastfontfamily: Arial; msolist: Ignore; text-shadow: auto; textshadow: auto;">• **<span style="color: green; font-family: 'Arial','sans-serif'; text-shadow: auto;">Object-oriented DBMS: ****<span style="color: #003399; font-family: 'Arial','sans-serif'; text-shadow: auto;"> Stores data and procedures as objects that can be retrieved and shared automatically  ** <span style="color: #003399; font-family: 'Arial','sans-serif'; font-size: 32pt; mso-bidi-font-size: 28.0pt; mso-bidi-font-weight: bold; mso-fareast-font-family: Arial; msobidifontsize: 28.0pt; msobidifontweight: bold; msofareastfontfamily: Arial; msolist: Ignore; text-shadow: auto; textshadow: auto;">• **<span style="color: green; font-family: 'Arial','sans-serif'; text-shadow: auto;">Object-relational DBMS: ****<span style="color: #003399; font-family: 'Arial','sans-serif'; text-shadow: auto;"> Provides capabilities of both object-oriented and relational ** **<span style="color: #003399; font-family: 'Arial','sans-serif'; text-shadow: auto;">DBMS **<span style="color: #003399; font-family: 'Arial','sans-serif'; font-size: 28pt; text-shadow: auto;"> ||
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Relational DBMS **
 * **Select:** Create a subset of records meeting the stated criteria.
 * **Join:** Combine related tables to provide more information than individual tables.
 * **Project:** Create a new table from subsets of previous tables.
 * **Select Statement:** Used to query data for specific information
 * **Conditional Selection:** Used to specify which rows of a table are displayed, based on criteria contained in the WHERE clause
 * **Joining Two Tables:** Used to combine data from two or more tables and display the results
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Hierarchical and Network DBMS **
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Object-Oriented Databases **

** Bottom Line: Database Management Systems have three critical components: the data definition language, the data manipulation language, and the data dictionary. Managers should ensure that all three receive attention. There are three types of databases: hierarchical, network, and relational. Relational databases are becoming the most popular of the three because they are easier to work with, easier to change, and can serve a wider range of needs throughout the organization. Managers should also make sure that end users are fully involved in developing organizational databases. **

// 7.3 Creating a Database Environment //
Don't start pounding on the keyboard just yet! That's a common mistake that may cause you many headaches later on. You have a lot of work to do before you touch the computer.

Designing Databases
First, you should think long and hard about how you use information in your current situation. Think of how it is organized, stored, and used. Now imagine how this information could be organized better and used more easily throughout the organization. What part of the current system would you be willing to get rid of and what would you add? Involve as many end users in this planning stage as possible. They are the ones who will prosper or suffer because of the decisions you make at this point. Determine the relationships between each data element that you currently have **(entity-relationship diagram)**. The data don't necessarily have to be in a computer for you to consider the impact. Determine which data elements work best together and how you will organize them in tables. Break your groups of data into as small a unit as possible **(normalization)**. Even when you say it's as small as it can get, go back through again. Avoid redundancy between tables. Decide what the key identifier will be for each record. See, you've done all this and you haven't even touched the computer yet! Give it your best shot in the beginning: it costs a lot of time, money, and frustration to go back and make changes or corrections or to live with a poorly-designed database.

Distributing Databases
A **distributed database**, which is stored in more than one physical location, is usually found in very large corporations that require immediate, fast access to data at multiple sites. There are two ways to structure distributed databases: As the book points out, there are lots of disadvantages so you should be careful to determine if this is the right way for you to run your business.
 * 1) Partition a central database so that each remote processor has the necessary data to serve its local area.
 * 2) Replicate the central database at all remote locations.

Ensuring Data Quality
As we discussed in Chapter 5, poor data quality can have far-reaching implications that can make a company legally liable. While all employees may share in the responsibility for maintaining good quality data, managers obviously have the greater share. And, there is a lot more to a useful database than simply listing a bunch of data elements and hoping people use them as intended. Data quality audits can help companies identify the accuracy and completeness of data. Data cleansing can detect and correct data and enforce consistency among different sets of data. This last point is important if an organization has combined several databases from different sources since chances are great that there are erroneous or mismatched data. ** Bottom Line: As with any other resource, managers must administer their data, plan their uses, and discover new opportunities for the data to serve the organization through changing technologies. ** ||

//7.4 Database Trends//
Corporations and businesses go to great lengths to collect and store information on their suppliers and customers. What they haven't done a good job of in the past is fully using the data to take advantage of new products or markets. They're trying, though, as we see in this section.

Multidimensional Data Analysis
As technology improves, so does our ability to manipulate information maintained in databases. Have you ever played with a Rubiks Cube ­ one of those little multicolored puzzle boxes you can twist around and around to come up with various color combinations? That's a close analogy to how multidimensional data analysis or **online analytical processing (OLAP)** works. In theory, it's easy to change data around to fit your needs.

Data Warehouses and Datamining
As organizations want and need more information about their company, their products, and their customers, the concept of **data warehousing** has become very popular. Remember those islands of information we keep talking about? Unfortunately, too many of them have proliferated over the years and now companies are trying to rein them in using data warehousing. No, data warehouses are not great big buildings with shelves and shelves of bits and bytes stored on them. They are huge computer files that store old and new data about anything and everything that a company wants to maintain information on. <span style="font-family: 'Georgia','serif'; font-size: 7.5pt;"> As Figure 7-15 shows, the data come from a variety of sources, both internal and external to the organization. They are then stored together in a data warehouse from which they can be accessed and analyzed to fit the user's needs. Since the data warehouse can be cumbersome, a company can break the information into smaller groups called **data marts**. It's easier and cheaper to sort through smaller groups of data. It's still useful to have a huge data warehouse, though, so that information is available to everyone who wants or needs it. You can let the user determine how the data will be manipulated and used. Using a data warehouse correctly can give management a tremendous amount of information that can be used to trim costs, reduce inventory, put products in the right stores at the right time, and attract new customers. ** The Window on Technology: Large Data Warehouses: When Bigger is Better (see p. 247 of the textbook) describes how two different businesses use datamining techniques to learn more about their customers. Because of better information, managers are making better decisions and sharpening their focus on profitable and unprofitable customers. ** || By using **datamining**, a digital firm can get more information than ever before from its data. One danger in datamining is the problem of getting information that on the surface may seem meaningful, but when put into context of the organization's needs, simply doesn't provide any useful information. For instance, datamining can tell you that on a hot summer day in the middle of Texas, more bottled water is sold in convenience stores than in grocery stores. That's information managers can use to make sure more stock is targeted to convenience stores. Datamining could also reveal that when customers purchase white socks, they also purchase bottled water 62 percent of the time. We seriously doubt there is any correlation between the two purchases. The point is that you need to beware of using datamining as a sole source of decision making and make sure your requests are as focused as possible. Many companies collect lots of data about their business and customers. The most difficult part has been to turn that data into useful information. With improved database technology, organizations are creating new opportunities for connecting with their customers by extracting information easier and more precisely from their data warehouses. Firms are using better datamining techniques to target customers and suppliers with just the right information at the right time.

Databases and the Web
Even though Web browsers have only been around for a few years, they are far easier to use than most of the query languages associated with the other programs on mainframe computer systems. Many companies are finding out that it's easier to provide their "road warriors" with Web-like browsers attached to the computer at the main office. Employees anywhere can have up-to-the-minute access to any information they need. It's also proving cheaper to create "front-end" browser applications that can more easily link information from disparate systems than to try to combine all the systems on the "back-end". As we move away from strictly text-based information systems and incorporate video and sound, graphics and text, the **hypermedia database** will become more common. Figure 7-16 helps explain the concept by showing how the various elements are networked. The attraction of this type of database is that it allows the user to decide which path to follow from one node to another. <span style="font-family: 'Georgia','serif'; font-size: 7.5pt;"> As this figure shows, anything you can create in a computer program, you can store in a hypermedia database. And because the Web is the perfect vehicle for displaying text, graphics, audio, and video, it makes a perfect vehicle for delivering those objects to any user: customer, supplier, employee, or manager. One of the easiest ways to make databases available to any user is by linking the internal databases to the Web through software programs that provide a connection to the database without major reconfigurations. A **database server**, which is a special dedicated computer, maintains the DBMS. A software program, called an **application server**, processes the transactions and offers data access. A user making an inquiry through the Web server can connect to the organization's database and receive information in the form of a Web page. Figure 7-17 shows how an application server provides the interface between the database and the Web. <span style="font-family: 'Georgia','serif'; font-size: 7.5pt;"> The benefits of using a Web browser to access a database are as follows: ** Bottom Line: There are many ways to manipulate databases so that an organization can save money and still have useful information. With technological improvements companies don't have to continually start from scratch but can blend the old with the new when they want to update their systems. The Web is the perfect delivery vehicle for databases and is cheaper than building proprietary systems. ** ||
 * Ease-of-use.
 * Less training for users.
 * No changes to the internal database.
 * Cheaper than building a new system.
 * Creating new efficiencies and opportunities.
 * Provide employees with integrated firmwide views of information.

// 7.5 Management Opportunities, Challenges, and Solutions //
Ask any manager what her resources are and she's likely to list people, equipment, buildings, and money. Very few managers will include information on the list, yet it can be more valuable than some of the others.

Management Challenges
Implementing changes to databases or creating new ones is very expensive and time-consuming. Some of the challenges are:
 * Requiring organization change in the role of information
 * Reallocating power at senior levels in an organization
 * Implementing an organization-wide approach to data management

Solution Guidelines
Managers should consider three critical elements associated with the creating a database environment. A **data administration** function, reporting to senior management, can help emphasize the importance of this resource. This function can help define and structure the information requirements for the entire organization to ensure it receives the attention it deserves. Data administration is responsible for the following: No one part of the organization should feel that it owns information to the exclusivity of other departments or people in the organization. A certain department may have the primary responsibility for updating and maintaining the information, but that department still has to share it across the whole company. Well-written **information policies** can outline the rules for using this important resource, including how it will be shared, maintained, distributed, and updated. At the beginning we said that as many users as possible should be brought together to plan the database. We believed it so much then that we'll say it again here. By excluding groups of users in the planning stages, no matter how insignificant that group may seem, a company courts trouble. Change isn't just something you experience by chance; in all likelihood, it will be required throughout the corporate structure. You need to get the nontechies talking and working with the techies, preferably together in a group that is responsible for **database administration**. Users will take on more responsibility for accessing data on their own through query languages if they understand the structure of the database. Users need to understand the role they play in treating information as an important corporate resource. Not only will they require a user-friendly structure for the database, but they will also need lots of training and hand-holding up front. It will pay off in the long run. ** Bottom Line: Information is power. The more information users have in an easy-to-use form, the more they can accomplish. Managers need to consider information as an important resource for which everyone has a responsibility. ** ||
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Data Administration **
 * Developing information policies.
 * Planning for data.
 * Overseeing logical database design.
 * Data dictionary development.
 * Monitoring the usage of data by techies and non-techies.
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Data Planning and Modeling Methodology **
 * <span style="color: #000066; font-family: 'Century Gothic','sans-serif';">Database Technology, Management, and Users **