Chapter 12-13 - Assessment Database Management - Assignment 6 Pretty good answers, but a little brief in some places. Take a bit more time to explore the concepts in your answers. Grade: 9.8 out of 10 points Questions 1. What is Client/Server computing, and what benefits can be expected from Client/Server systems? Client/Server computing is a computing model for distribution of functions between clients and servers. They can reside in the same computer or different computers. Computers residing clients and servers are connected using network system. Clients request services from servers and servers provides requested services for clients. One client can request services from different servers as well as servers can provide services to many clients. For example, suppose that in the ACCENT centralized library system that has been used by all schools’ libraries in Los Angeles Unified School District, the data server resides at the LAUSD IT department. All schools are its clients. Schools request services from the server. The transaction processor retrieves required information from the data server and returns the required services to the schools. Server Database TP Sends requests School 1 Returns Requested data School 2 School 3 School N Some of the benefits of Client/Server system are:1. It is practical and cost-effective in general. It reduces costs in developing, implementing and operating because client users use PC based systems and all technology updates and changes reside at the server side only. 2. It becomes a common system for the highly competitive global market. Because of the distributed computing, the availability of enterprise-wide data access and the portability, it increases the end user productivity and it is useful for business of all sizes. 3. It provides additional benefits to the MIS personnel. Because the application systems and databases reside in the server, all programmers’ transactions go to the server. It reduces the development time and increases the programmers productivity. 2. Describe and explain the Client/Server architectural principles. Client/Server architecture is a system that is formed by clients, servers and communications middleware interacting each other. To interact properly, the components are required to meet some basic principles. They are stated below. - Independence of hardware and software As mentioned in question one, clients and servers have relations of one to one, many to many and one to many. When there are many to many relationships between clients and servers, clients may run under different operating systems, different networking systems, different application systems and servers may be products from different vendors as well. To interact under this situation, all components should be free of hardware and software differences. - Open access to services All services must be independent of the location of client and servers, and also the server must respond to every on demand services from clients. - Distributed processing Distributed processing among clients and servers is the main characteristic of client/server systems. Distributed processing includes the clear definition of functions between client and server processes, sharing server processes among all client processes to utilize all resources and finally, the easy upgradeability of server processes to run on more powerful platforms. - Standard use of principles within the architecture The standard use of user interface, data access, network protocols and others within the client/server architecture encourages all components to interact well and increase performance. 3. Suppose you are currently considering the purchase of a Client/Server DBMS. What characteristics should you look for? Why? If I purchase a Client/Server DBMS, I would look for a DBMS that provides a transparent data access to several database servers. It means the DBMS is free from network dependency and database server dependency. Because of these characteristics, clients request data from several servers without regard to the physical location of the server on the network. In addition, the server selects the records matched and provides them through multiple network protocols to clients. This is why these characteristics are important to enhance the end user performance. 4. Name and describe three server components. In the client/server environment, clients request services from the server regarding data retrieval, printing, faxing and other transactions. This is why a server is a combination of powerful hardware and software components to handle users’ requests. Three important server components are a large hard disk, the server operating system and a multiprocessor. 1. A large hard drive is required to store clients’ data throughout the network. It is shared among several clients and every client can access as if it were a local hard drive. In addition, it is used to store all print jobs temporarily until the client finishes sending the print job. 2. A server operating system is a main component for the server because it hosts server applications, enables client-server-network communication and it is a gateway to the internet. 3. A server needs a powerful CPU to handle multi tasking for distributed processing because multiple processing is an important function in a client/server environment. 5. Name and describe the three database middleware components. The three database middle ware components are Application programming interface (API), Database translator and Network translator. 1. The application programming interface (API) is intermediary software that allows generic SQL code and transfers the SQL requests to the database translator. Because of the help of API, the client process is independent of the database server and the server is independent from the client applications as well. 2. The database translator translates the generic SQL requests into the specific code for each database server. It also manages the communication between two database servers if the request needs the data from two different servers. 3. The Network translator manages the network protocols. It also controls the network communications of each database. Below is the illustration of middleware components in a client/server environment. SQL API Client Requests Database Translator Network Translator Network Protocols Sends SQL Database Server Requests Database Server 6. Why are standards important? Standards are important because they provide a clear and orderly way for systems to communicate, regardless if they are between computers or human beings. For a client / server environment, standards provide protocols so clients and servers can communicate effectively and without error. There should be more discussion here. Give an example or illustrate somehow the pitfalls of failing to have and follow standards. 7. Describe an existing Client/Server computer system used by a library. If you don't know of specific example, describe a Client/Server system that you think would be useful to a library. In my school library, we are using the ACCENT library management system. It is sponsored and installed by the LAUSD IT department. LAUSD is using the Client/Server library management system for its cost effectiveness to the schools. In this situation, computers at all school sites in the Los Angeles district sharing the client/server system are the clients of the system. The Accent system is the client application system that accesses the database server. All schools processes run under different operating systems such as Windows 98, windows 2000 and Macintosh OS. At the server side, the database server runs under the Unix server operating system and Oracle database. The data and the database engine reside on the database server computer. The client sends SQL requests to the server through TCP/IP network. The server receives the SQL code, validates it, processes it and sends results back to the client. For example, when a student checks out a book, the client application sends the required student ID number to the server and the server retrieves the required record and returns it to the client side. After finishing the transaction, the client application requests the server to update the student record. At the same time, other several clients are sending requests to the server. This is why, the library system with hardware independence, software independence, open accessibility to all services and distributed processing among clients and server is critical for the Client/Server computer system. In other words, this system provides transparent data access to multiple and heterogeneous clients, regardless of the hardware, software or network platform used by clients. Using the ACCENT Client/Server system within the district schools is beneficial to users, programmer and employer. It is practical and efficient in resource utilization and it is therefore cost-effective. It reduces development costs, implementation costs and operational costs. In addition, it reduces development time and increases programmer and end-user productivity. 8. Explain how the main components of a DSS interact to form a system. A decision support system is an organization of computerized tools that enables business decision makers (managers) to analyze and understand the business problems and to make managerial decisions. These computerized tools: the data extraction and data filtering component, the data store component, the end user query tool and the end user presentation tool are the main components of a DSS interaction to form a system. 1. The data extraction and data filtering component This component takes the data from the operational database and the external data sources to select the relevant records for the DSS data store component. For example, to determine the recommended new book lists, the library system needs new titles from vendors. 2. The data store component This component is a DSS database. It contains business data and business model data. The business data are the snapshot representation of the business situation. They are the summary of the data from the operational database and from external data sources in order to support data analysis and to increase the query speed. 3. The end user query tool This is useful for the data analyst or decision maker to create the queries and advises the user what data to select and how to build a suitable business data model for a successful business. 4. The end user presentation tool This component is important to organize and present the data for managerial decisions. The user is allowed to select the appropriate presentation format for the required information and the tool prepares the presentation. For example, in a DSS for the library management area, daily transaction records, students’ records are the operational data. External data will be lists of new books from vendors together with the reading levels and the LAUSD recommended book lists. Business data from the data store shows summary of transaction data such as how many books checked out, how many books over due in a specific time limit, a summary of checked out by genre and by reading level. End user query tool advices the user on which books to order more, suggests recommended new books for current patrons’ reading levels and provides current library usage by grades and overdue status. The librarian uses the end user presentation tool to organize and present the data by means of summary reports, pie and bar graphs for making decisions on books orders, preparing curriculums and setting up library policies. 9. While working as a database analyst for the Library of Congress, you are asked to be part of its data warehouse project team. Prepare a high-level summary of the main requirements to evaluate DBMS products for data warehousing. Because the operational data and the decision support data are different in many ways, there are many requirements for a DBMS to support DSS. Although the operational data needs low summarized and highly normalized data, the data for data warehousing requires high summarized and non-normalized one. In addition, the operational data needs simple query scope and complexity, however, the decision support needs high query activity in very complex forms and a large data volume. This is why, the database schema, data extraction and loading, the end-user analytical interface, and the large database size are the main requirements for a DBMS to qualify for data warehousing. 1. Database Schema The database schema should be designed to handle complex data representations and to support multidimensional queries because the data for data warehousing are aggregated, summarized and related to many other data elements. In other words, the DBMS must support features to handle non-normalized and complex structures such as bitmap indexes and data partitioning to increase query speed. 2. Data extraction and filtering The data store in data warehousing is extracted from the data from the external sources and the data from the operational data. This is why the DBMS must support advanced data extraction and filtering such as batch and scheduled data extraction, hierarchical and relational data extraction and checking for inconsistent data. Moreover, data integration, aggregation and classification are critical to the data warehousing. 3. End-user analytical interface This is one of the most critical decision support DBMS requirements. This permits the user to analyze the data and to define business problems easily. Finally, the user can generate the necessary queries and navigate through the data to simplify and accelerate the decision making process. 4. Database size requirements Because the DSS DBMS contains duplicated data and non-normalized data to improve data retrieval and to support multidimensional quires, the data store tends to be very large. Therefore, the DBMS must support very large databases. 10. Suppose you are selling the data warehouse idea to your users. How would you explain to them what multidimensional data analysis is and what its advantages are? Multidimensional data analysis is the processing of data such that data are viewed as part of a multidimensional structure. In other words, it is the processing of operational data that are related to other factors. Because data extracting, integrating, aggregating and presentation are important in DSS to get the ad-hoc queries, multidimensional data analysis is critical for data warehousing. Its advantages are:1. This analysis produces advanced data presentation tools that are available to present multidimensional data in 3-D graphs, crosstabs, cubes and so on. 2. It provides multiple data aggregation levels in order to create drill down and roll up across time dimensions quires. 3. This analysis is useful to handle business-oriented variables, financial and accounting ratios and statistical and forecasting functions and so on. 4. It supports advanced data modeling such as variable assessment, variable contributions, linear programming and other modeling tools.