Chapter 1 – Introduction to Databases – Answers to Review Questions
1.1 List four examples of database systems other than those listed in Section 1.1.
Some examples could be:
• A system that maintains component part details for a car manufacturer
Copyright By PowCoder代写 加微信 powcoder
• An advertising company keeping details of all clients and adverts placed with them
• A training company keeping course information and participants’ details
• An organization maintaining all sales order information
1.2 Discuss each of the following terms: Data
Database Management System Database Application Program Data Independence
Security Integrity Views
For end users, this constitutes all the different values connected with the various objects/entities that are of concern to them. See also Section 1.3.4.
See Section 1.3.1
See Section 1.3.2
See Section 1.3.3
This is essentially the separation of underlying file structures from the programs that operate on them, also called program-data independence. See also Sections 1.2.2 and 1.3.1.
The protection of the database from unauthorized users, which may involve passwords and access restrictions. See also Section 1.6.
The maintenance of the validity and consistency of the database by use of particular constraints that are applied to the data. See also Section 1.6.
These present only a subset of the database that is of particular interest to a user. Views can be customized, for example, field names may change, and they also provide a level of security preventing users from seeing certain data. See also Section 1.3.3.
1.3 Describe the approach taken to the handling of data in the early file-based systems. Discuss the disadvantages of this approach.
Focus was on applications for which programs would be written, and all the data required would be stored in a file or files owned by those programs. See also Section 1.2.
Clearly, each program was responsible for only its own data, which could be repeated in other program’s data files. Different programs could be written in different languages, and would not be able to access another program’s files. This would be true even for those programs written in the same language, because a program needs to know the file structure before it can access it. See also Section 1.2.2.
Chapter 1 – Introduction to Databases – Answers to Review Questions
1.4 Describe the main characteristics of the database approach and contrast it with the file-based approach.
Focus is now on the data first, and then the applications. The structure of the data is now kept separate from the programs that operate on the data. This is held in the system catalog or data dictionary. Programs can now share data, which is no longer fragmented. There is also a reduction in redundancy, and achievement of program-data independence. See also Section 1.3.
1.5 Describe the five components of the DBMS environment and discuss how they relate to each other.
See Section 1.3.3.
1.6 Discuss the roles of the following personnel in the database environment:
Data Administrator Database Administrator Logical Database Designer Physical Database Designer Application Developer End-Users
See Section 1.4.1 See Section 1.4.1 See Section 1.4.2 See Section 1.4.2 See Section 1.4.3 See Section 1.4.4
1.7 Discuss the three generations of DBMSs.
The CODASYL and hierarchical approaches represented the first generation of DBMSs. They were based on the concept that smaller components come together as parts of larger components, and so on, until the final product is assembled. This structure, which conforms to an upside down tree, is also known as a hierarchical structure.
Relational DBMSs are referred to as second-generation DBMSs. In 1970, E. F. Codd of the IBM Research Laboratory produced his highly influential paper on the relational data model (“A relational model of data for large shared data banks,” Codd, 1970). This paper was very timely and addressed the disadvantages of the former approaches. Many experimental relational DBMSs were implemented thereafter.
In response to the increasing complexity of database applications, two “new” systems have emerged: the object-oriented DBMS (OODBMS) and the object-relational DBMS (ORDBMS). However, unlike previous models, the actual composition of these models is not clear. This evolution represents third generation DBMSs.
1.8 Discuss the advantages and disadvantages of database management systems.
See Section 1.6
Chapter 2 –Database Environment – Answers to Review Questions
2.1 Discuss the concept of data independence and explain its importance in a database environment.
See Section 2.1.5
2.2 To address the issue of data independence, the ANSI-SPARC three-level architecture was proposed. Compare and contrast the three levels of this model.
See Section 2.1
2.3 What is a data model? Discuss the main types of data models.
An integrated collection of concepts for describing and manipulating data, relationships between data, and constraints on the data in an organization. See Section 2.3.
Object-based data models such as the Entity-Relationship model (see Section 2.3.1). Record-based data models such as the relational data model, network data model, and hierarchical data model (see Section 2.3.2). Physical data models describe how data is stored in the computer (see Section 2.3.3).
2.4 Discuss the function and importance of conceptual modeling.
See Section 2.3.4.
2.5 Describe the types of facility you would expect to be provided in a multi-user DBMS.
Data Storage, Retrieval and Update A User-Accessible Catalog Transaction Support
Concurrency Control Services Recovery Services
See also Section 2.4
Authorization Services
Support for Data Communication Integrity Services
Services to Promote Data Independence Utility Services
2.6 Of the facilities described in your answer to Question 2.5, which ones do you think would not be needed in a standalone PC DBMS? Provide justification for your answer.
Concurrency Control Services – only single user.
Authorization Services – only single user, but may be needed if different individuals are to use the DBMS at different times.
Utility Services – limited in scope.
Support for Data Communication – only standalone system.
2.7 Discuss the function and importance of the system catalog.
See Section 2.4, Service (2) – User-accessible catalog.
Chapter 2 –Database Environment – Answers to Review Questions
2.8 Discuss the differences between DDL and DML. What operations would you typically expect to be available in each language?
DDL – A language that allows the DBA or user to describe and name the entities, attributes, and relationships required for the application, together with any associated integrity and security constraints.
DML – A language that provides a set of operations to support the basic data manipulation operations on the data held in the database.
See Section 2.2.2.
2.9 Discuss the differences between procedural DMLs and nonprocedural DMLs.
Procedural DML – A language that allows the user to tell the system what data is needed and exactly how to retrieve the data.
Nonprocedural DML – A language that allows the user to state what data is needed rather than how it is to be retrieved.
See Section 2.2.2.
2.10 Name four object-based data models.
• Entity-Relationship (ER)
• Semantic
• Functional
• Object-oriented.
See Section 2.3.1.
2.11 Name three record-based data models. Discuss the main differences between these data models.
• relational data model – data and relationships are represented as tables, each of which has a number of columns with a unique name.
• network data model – data is represented as collections of records, and relationships are represented by sets. Compared with the relational model, relationships are explicitly modeled by the sets, which become pointers in the implementation. The records are organized as generalized graph structures with records appearing as nodes (also called segments) and sets as edges in the graph.
• hierarchical data model – restricted type of network model. Again, data is represented as collections of records and relationships are represented by sets. However, the hierarchical model allows a node to have only one parent. A hierarchical model can be represented as a tree graph, with records appearing as nodes (also called segments) and sets as edges.
Chapter 2 –Database Environment – Answers to Review Questions
See Section 2.3.2.
2.12 What is a transaction? Give an example of a transaction.
A transaction is a series of actions, carried out by a single user or application program, which accesses or changes the contents of the database.
See Section 2.4.
2.13 What is concurrency control and why does a DBMS need a concurrency control facility?
A mechanism to ensure that the database is updated correctly when multiple users are updating the database concurrently.
This avoids inconsistencies from arising when two or more transactions are executing and at least one is updating the database.
See Section 2.4.
2.14 Define the term “database integrity”. How does database integrity differ from database security?
“Database integrity” refers to the correctness and consistency of stored data: it can be considered as another type of database protection. Although integrity is related to security, it has wider implications: integrity is concerned with the quality of data itself. Integrity is usually expressed in terms of constraints, which are consistency rules that the database is not permitted to violate.
See Section 2.4.
Chapter 3 – Database Architectures and the Web – Answers to Review Questions
3.1 What is meant by the term ‘client-server architecture’ and what are the advantages of this approach? Compare the client-server architecture with two other architectures.
The client is a process that requires some resource, and the server provides the resource. Neither need reside on the same machine. Advantages include:
• Better performance
• Likely reduction in hardware costs
• Reduction in communication costs
• Better consistency
See also Section 3.1.
3.2 Compare and contrast the two-tier client-server architecture for traditional DBMSs with the three-tier client-server architecture. Why is the latter architecture more appropriate for the Web?
See Figures 3.5 and 3.6. Architecture maps quite naturally to the Web with a Web browser acting as ‘thin’ client and Web server acting as an application server (with database server as third layer).
3.3 What is an n-tier architecture?
The three-tier architecture can be expanded to n tiers, with additional tiers providing
more flexibility and scalability.
3.4 What is middleware? Provide a classification service for middleware.
Middleware is a generic term used to describe software that mediates with other software and allows for communication between disparate applications in a heterogeneous system. The need for middleware arises when distributed systems become too complex to manage efficiently without a common interface. The need to make heterogeneous systems work efficiently across a network and be flexible enough to incorporate frequent modifications led to the development of middleware, which hides the underlying complexity of distributed systems.
3.5 What is a TP Monitor? What advantages does a TP Monitor bring to an OLTP environment?
A TP Monitor forms the middle tier of a three-tier architecture. TP Monitors provide significant advantages, including:
• Transaction routing: The TP Monitor can increase scalability by directing transactions to specific DBMSs.
• Managing distributed transactions: The TP Monitor can manage transactions that require access to data held in multiple, possibly heterogeneous, DBMSs. For example, a transaction may require to update data items held in an Oracle DBMS at site 1, an Informix DBMS at site 2, and an IMS DBMS as site 3. TP Monitors normally control transactions using the X/Open Distributed Transaction Processing (DTP)
Chapter 3 – Database Architectures and the Web – Answers to Review Questions
standard. A DBMS that supports this standard can function as a resource manager
under the control of a TP Monitor acting as a transaction manager.
• Load balancing: The TP Monitor can balance client requests across multiple DBMSs
on one or more computers by directing client service calls to the least loaded server. In addition, it can dynamically bring in additional DBMSs as required to provide the necessary performance.
• Funneling: In environments with a large number of users, it may sometimes be difficult for all users to be logged on simultaneously to the DBMS. In many cases, we would find that users generally do not need continuous access to the DBMS. Instead of each user connecting to the DBMS, the TP Monitor can establish connections with the DBMSs as and when required, and can funnel user requests through these connections. This allows a larger number of users to access the available DBMSs with a potentially much smaller number of connections, which in turn would mean less resource usage.
• Increased reliability: The TP Monitor acts as a transaction manager, performing the necessary actions to maintain the consistency of the database, with the DBMS acting as a resource manager. If the DBMS fails, the TP Monitor may be able to resubmit the transaction to another DBMS or can hold the transaction until the DBMS becomes available again.
3.6 What is a Web service?
Web services allow applications to integrate with other applications across the Internet and may be a key technology that supports B2B (Business to Business) interaction. Unlike other Web-based applications, Web services have no user interface and are not aimed at Web browsers. Web services instead share business logic, data, and processes through a programmatic interface across a network. In this way, it is the applications that interface and not the users. Developers can then add the Web service to a Web page (or an executable program) to offer specific functionality to users.
3.7 What technologies and standards are used to develop Web services and how do they relate to each other?
Key to the Web services approach is the use of widely accepted technologies and standards, such as:
• XML (eXtensible Markup Language).
• SOAP (Simple Object Access Protocol) is a communication protocol for exchanging
structured information over the Internet and uses a message format based on XML.
It is both platform- and language-independent.
• WSDL (Web Services Description Language) protocol, again based on XML, is used
to describe and locate a Web service.
• UDDI (Universal Discovery, Description, and Integration) protocol is a platform-
independent, XML-based registry for businesses to list themselves on the Internet. It was designed to be interrogated by SOAP messages and to provide access to WSDL documents describing the protocol bindings and message formats required to interact with the Web services listed in its directory.
Chapter 3 – Database Architectures and the Web – Answers to Review Questions
Figure 3.9 illustrates the relationship between these technologies. From the database perspective, Web services can be used both from within the database (to invoke an external Web service as a consumer) and the Web service itself can access its own database (as a provider) to maintain the data required to provide the requested service.
3.8 What is a service-oriented architecture?
The SOA approach attempts to design loosely coupled and autonomous services that can be combined to provide flexible composite business processes and applications. SOA principles provide a unique design approach for building Web services for SOA:
• loose coupling: services must be designed to interact on a loosely coupled basis;
• reusability: logic that can potentially be reused is designed as a separate service;
• contract: services adhere to a communications contract that defines the information
exchange and any additional service description information, specified by one or
more service description documents;
• abstraction: beyond what is described in the service contract, services hide logic from
the outside world;
• composability: services may compose other services, so that logic can be represented
at different levels of granularity thereby promoting reusability and the creation of
abstraction layers;
• autonomy: services have control over the logic they encapsulate and are not
dependent upon other services to execute this governance;
• stateless: services should not be required to manage state information, as this can
affect their ability to remain loosely-coupled;
• discoverability: services are designed to be outwardly descriptive so that they can be
found and assessed via available discovery mechanisms.
3.9 Provide an example of a service-oriented architecture.
An example of SOA is shown in Figure 3.10(b).
3.10 What is Cloud computing?
Cloud computing: A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
See Section 3.5.
3.11 Discuss the five essential characteristics of cloud computing.
The essential characteristics are:
Chapter 3 – Database Architectures and the Web – Answers to Review Questions
• On-demand self-service: consumers can obtain, configure and deploy cloud services themselves using cloud service catalogues, without requiring the assistance of anyone from the cloud provider.
• Broad network access: it is network based, and accessible from anywhere, from any standardized platform (e.g. desktop computers, laptops, mobile devices).
• Resource pooling. The cloud provider’s computing resources are pooled to serve multiple consumers, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. Examples of resources include storage, processing, memory, and network bandwidth.
• Rapid elasticity. Resource pooling avoids the capital expenditure required for the establishment of network and computing infrastructure. By outsourcing to a cloud, consumers can cater for the spikes in demand for their services by using the cloud provider’s computing capacity and the risk of outages and service interruptions are significantly reduced. Moreover, capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly based on demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be called on in any quantity at any time.
• Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and charged for.
See Section 3.5.
3.12 Discuss the three main service models of cloud computing.
• Software as a Service (SaaS): software and associated data are centrally hosted on
the cloud.
• Platform as a Service (PaaS): a computing platform that allows the creation of web applications quickly and easily and without the complexity of buying and maintaining the software and infrastructure underneath it. Sometimes, PaaS is used to extend the capabilities of applications developed as SaaS. While earlier application development required hardware, an operating system, a database, middleware, Web servers, and other software, with the PaaS model only the knowledge to integrate them is required. The rest is taken care of by the PaaS provider.
• Infrastructure as a Service (IaaS): delivers servers, storage, network and operating systems – typically a platform virtualization environment – to consumers as an on-demand service, in a single bundle and billed according to usage. A popular use of IaaS is in hosting websites, where the in-house infrastructure
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com