To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
There is a collection of customer service terms that it is particularly important to consider when producing a service agreement to be offered to customers. This Appendix gives explanations, cautions and in some cases, optional forms of words for the principal terms. It is important to note that the specific wording adopted may need to be reviewed in the light of applicable legal jurisdictions.
Topics covered include:
• Parties to the agreement
• Term of the service
• Payment and payment terms
• Defining the services to be provided
• Service provider’s obligations
• Service user’s obligations
• Additional services
• Confidentiality and non-disclosure
• Liabilities
• Warranties and disclaimers
• Termination
• Non-poaching of staff
• Jurisdiction
Congratulations! By picking up this book, you have made the first step in your journey through the wonderful world of databases. As you will see in this book, databases come in many different forms – from simple spreadsheets or other file-based attempts and hierarchical structures, to relational, object-oriented, and even graph-oriented ones – and are used across the world throughout a variety of industry sectors to manage, store, and analyze data.
This book is the result of having taught an undergraduate database management class and a postgraduate advanced database management class for more than ten years. Throughout the years we have found no textbook that covers the material in a comprehensive way without becoming flooded by theoretical detail and losing focus. Hence, after we teamed up together, we decided to start writing a book ourselves. This work aims to offer a complete and practical guide covering all the governing principles of database management, including:
• end-to-end coverage, starting with legacy technologies to emerging trends such as Big Data, NoSQL databases, analytics, data governance, etc.;
• a unique perspective on how lessons learned from past data management could be relevant in today's technology setting (e.g., navigational access and its perils in CODASYL and XML/OO databases);
• a critical reflection and accompanying risk management considerations when implementing the technologies considered, based on our own experiences participating in data and analytics-related projects with industry partners in a variety of sectors, from banking to retail and from government to the cultural sector;
• a solid balance between theory and practice, including various exercises, industry examples and case studies originating from diverse and complementary business practices, scientific research, and academic teaching experience.
The book also includes an appendix explaining our “online playground” environment, where you can try out many concepts discussed in the book. Additional appendices, including an exam bank containing several cross-chapter questions and references to our YouTube lectures, are provided online as well.
We hope you enjoy this book and that you, the reader, will find it a useful reference and trusted companion in your work, studies, or research when storing, managing, and analyzing small or Big Data!
Who This Book is For
We have tried to make this book complete and useful for both novice and advanced database practitioners and students alike.
• identify the shortcomings of the relational model;
• define and use triggers and stored procedures;
• understand how RDBMSs can be extended with OO concepts such as user-defined types, user-defined functions, inheritance, behavior, polymorphism, collection types, and large objects;
• define and use recursive SQL queries.
Opening Scenario
Now that Sober has decided to continue with its relational model, the company was wondering whether it could enrich it with some smart extensions. It wondered whether it would be possible to make the RDBMS more active so it can autonomously take initiative for action when casespecific situations occur. Although Sober was not entirely convinced about OODBMSs and decided not to continue with them, they appreciate some of the OO concepts introduced. They are wondering whether it would be possible to have a best-of-both-worlds approach, whereby they could enrich their relational model with some of the OO concepts they learned about.
In this chapter, we revisit RDBMSs, which are very popular in industry. We start by refreshing the key building blocks of the relational model and discuss its limitations. We then look at the ways of extending relational databases, starting with reviewing triggers and stored procedures as two key mechanisms to make RDBMSs more active. Next, we introduce object-relational DBMSs (ORDBMSs). In contrast to the OODBMSs in Chapter 8, ORDBMSs build on a relational engine, but they extend RDBMSs with object-oriented (OO) characteristics. We conclude with recursive queries, which are a powerful extension to the SQL language.
Limitations of the Relational Model
The relational data model, and the RDBMS implementations thereof, have been very successful for managing well-structured numerical and alphanumerical data. One of the major reasons for this is the mathematical simplicity and soundness of the relational model. As discussed in Chapter 6, its two key building blocks are tuples and relations. A tuple is a composition of values of attribute types that describe an entity. It can be created by using a tuple constructor. A relation is a mathematical set of tuples describing similar entities. It can be created by using a set constructor. As also mentioned in Chapter 6, the relational model requires all relations to be normalized. Data about entities can be fragmented across multiple relations, which are connected using primary–foreign key relationships.
• how database systems can be accessed from the outside world;
• what is meant by a database application programming interface (API);
• to understand the differences between proprietary versus universal APIs, between embedded versus call-level APIs, and early binding versus late binding;
• which universal database application programming interfaces are available to interact with database systems;
• how DBMSs play their role within the World Wide Web and the internet.
Opening Scenario
Sober has decided on a relational DBMS vendor, has drawn up the relational schema to implement, and has verified that the database is working as planned by importing sample data and testing some SQL queries. However, a DBMS system does not live in isolation. Sober is planning to develop several applications that will have to connect to its DBMS. For instance, Sober is thinking about a website where customers can book cabs and retrieve their order history, and a mobile app that will have to fetch information from the DBMS. Finally, Sober is also planning to develop a desktop application for the customer support team that will be used internally, but also has to be able to access the same DBMS. Sober is still thinking about different options in terms of programming languages to develop these applications, but wonders how easy it will be for these applications to access the database in order to store and retrieve information from it.
In this chapter, we take a closer look at the forms of accessing database systems. Naturally, the manner of how a DBMS is interfaced with heavily depends on the system architecture it applies. Accessing a DBMS in a legacy mainframe set-up is different than interfacing with a DBMS in a client–server-based architecture, so we open this chapter with an overview of different database system architectures. Next, we turn our attention toward the different database application programming interfaces, or APIs for short. As the name suggests, a database API exposes an interface through which clients, third-party, and end-user applications can access, query, and manage the DBMS. Finally, we look at DBMSs’ role and place within the World Wide Web, and how recent trends in this landscape are influencing and shaping the requirements imposed on DBMSs.
The leadership team works within a legal structure to deliver business objectives. This implies responsibilities to establish and sustain an organization that values, motivates and rewards its people; to plan and control resources; and to ensure compliance with relevant reporting and taxation regimes.
It is important that the leadership team remain aware of their legal duties and of the risks that they carry with respect to those who work within the organization or who participate as investors, shareholders or providers of professional services. Without such awareness both the business and its leaders may be exposed to legal or financial redress.
The topics covered by this chapter include:
• Requirements and responsibilities of leadership, management and governance – directors, employees and contractors
• Financial planning and control – cash management and the setting, balancing and monitoring of budgets
• Business structural and legal requirements – corporate, contractual and shareholding structures and agreements
The coverage equips the entrepreneur with sufficient understanding of the necessary requirements, options, relevant considerations and principal decisions needed.
• to understand the differences between traditional database management systems and Big Data technologies such as Hadoop;
• to understand the differences between traditional data warehousing approaches and Big Data technologies;
• to identify the tradeoffs when opting to adopt a Big Data stack;
• what the links are between Big Data and NoSQL databases.
Opening Scenario
Sober has made its first steps in setting up a data warehouse on top of its existing DBMS stack to kick-start its business intelligence activities, with the main goal of reporting purposes. However, Sober's management is hearing a lot lately about “Big Data” and “Hadoop” with regards to storing and analyzing huge amounts of data. Sober is wondering whether these technologies would offer an added benefit. So far, Sober is happy with its relational DBMS, which integrates nicely with its business intelligence tooling. The mobile development team, meanwhile, has been happy to work with MongoDB, a NoSQL database, to handle the increased workload from mobile users. Hence, the question for Sober is: what would a Big Data stack offer on top of this?
Data are everywhere. To give some staggering examples, IBM projects that every day we generate 2.5 quintillion bytes of data. Every minute, more than 300,000 tweets are created, Netflix subscribers are streaming more than 70,000 hours of video, Apple users download 30,000 apps, and Instagram users like almost two million photos. In relative terms, 90% of the data in the world have been created in the last two years. These massive amounts of data yield an unprecedented treasure of internal customer knowledge, ready to be analyzed using state-of-the-art analytical techniques to better understand and exploit customer behavior by identifying new business opportunities together with new strategies. In this chapter, we zoom into this concept of “Big Data” and explain how these huge data troves are changing the world of DBMSs. We kick-off by reviewing the 5 Vs of Big Data. Next, we zoom in on the common Big Data technologies in use today. We discuss Hadoop, SQL on Hadoop, and Apache Spark.
The business world and the digital economy each bring a wide range of specialist terms that are used without explanation. It is important therefore for an entrepreneur to be aware of the terminology that is likely to be used, so that they can contribute knowledgably and with confidence.
The glossary provides clear descriptions of the meaning of around 300 specialist terms and abbreviations, ranging from Actor, Actual Market Value and Adaptive customization, through Monthly Recurring Revenue (MRR), Multisided platforms and Net Fee Income (NFI), to Vesting, Virtual reality (VR), White labelling and the World Intellectual Property Organization (WIPO).
The glossary is included as an integral part of the book for easy reference, and is also available as an ancillary resource on the companion website.
A business meets its objectives by creating value, both for its customers and for itself: this chapter is about the process of capturing value into the business to feed sustainability, development and growth.
This chapter addresses the following:
• Setting a strategy for value capture – defining objectives, assessing competitive, collaborative and negotiation implications of market forces and creating a return-on-investment (ROI) case
• Defining what will be offered to the customer – evaluating licensing and service definition options –assumed purchasing process – capex or opex and payment terms
• Creating and calibrating a pricing structure – cost plus pricing, demand or value based pricing, dynamic pricing, competition-based pricing, skimming and penetration pricing, freemium pricing, free and open source pricing – bundling, banding, trial period, discounts, optional features
• Drivers of business valuation and principal methods – accounting valuation, asset-based valuation, market valuation, sales and profit multiples, strategic valuation
Principles, considerations and techniques are introduced and illustrated using a collection of real-world examples and rolling exemplar.
• understand the different phases of database design: conceptual design, logical design, and physical design;
• build a conceptual data model using the ER model and understand the limitations thereof;
• build a conceptual data model using the EER model and understand the limitations thereof;
• build a conceptual data model using the UML class diagram and understand the limitations thereof.
Opening Scenario
Sober has decided to invest in a new database and begin a database design process. As a first step, it wants to formalize the data requirements in a conceptual data model. Sober asks you to build both an EER and a UML data model for its business setting. It also wants you to extensively comment on both models and properly indicate their shortcomings.
In this chapter we start by zooming out and reviewing the database design process. We elaborate on conceptual, logical, and physical database design. We continue the chapter with conceptual design, which aims at elucidating the data requirements of a business process in a formal way. We discuss three types of conceptual data models: the ER model; the EER model; and the UML class diagram. Each model is first defined in terms of its fundamental building blocks. Various examples are included for clarification. We also discuss the limitations of the three conceptual data models and contrast them in terms of their expressive power and modeling semantics. Subsequent chapters continue from the conceptual data models of this chapter and map them to logical and internal data models.
Phases of Database Design
Designing a database is a multi-step process, as illustrated in Figure 3.1. It starts from a business process. As an example, think about a B2B procurement application, invoice handling process, logistics process, or salary administration. A first step is requirement collection andanalysis, where the aim is to carefully understand the different steps and data needs of the process. The information architect (see Chapter 4) will collaborate with the business user to elucidate the database requirements. Various techniques can be used, such as interviews or surveys with end-users, inspections of the documents used in the current process, etc. During the conceptual design, both parties try to formalize the data requirements in a conceptual datamodel.
• grasp the basic principles of storage hardware and physical database design;
• understand how data items can be organized into stored records;
• identify various methods for primary and secondary file organization;
Opening Scenario
Now that Sober has its relational logical data model from Chapter 6 ready, it wants to understand how it can be physically implemented. The company is also wondering whether there exist any physical means to speed up the response times of frequently used queries.
This chapter focuses on the most important principles pertaining to the physical organization of records and files. As such, it can be considered as the prerequisite to Chapter 13, which applies these principles in the context of physical database organization. In this way Chapters 12 and 13 are complementary in covering all facets of physical database design – the translation of a logical data model into an internal data model, including the design of indexes to speed up data access.
First, we present some overall properties of storage devices and the impact of the mechanicals of hard disk drives on the performance aspects of data retrieval. After that, we overview the mapping of logical modeling constructs onto physical concepts, and thus of the logical data model onto the internal model. Then, we briefly discuss record organization, covering the different alternatives to organize physical data records, consisting of individual data fields. After that comes the main body of this chapter, focusing on file organization and covering methods to organize records into physical files, as well as techniques to efficiently search for records with certain characteristics. We discuss several approaches, such as sequential files, hashing and the use of different index types, including B+-trees. Chapter 13 follows on from this chapter, applying the insights gained from the file organization section to the particular context of physical database organization.
Storage Hardware and Physical Database Design
Physical database design pertains to the design of an internal data model and to the way in which the logical database concepts discussed in the previous chapters are realized physically as stored records, physical files, and, ultimately, a physical database.
Driving objectives for scalability and growth whilst managing continuing development demands careful consideration and planning. This chapter offers generally-applicable principles and techniques, including:
• How required services and materials will be sourced and managed through the supply chain, including standardization and options for out-sourcing
• How the desired customer experience will be achieved through the design of a customer journey
• How continuing development will be prioritized and planned including technology readiness, requirement prioritization and roadmap design
• How development, release and deployment of the offering will be managed and controlled, including variation and source code management
• How the offering will be delivered to customers, including through a channel strategy and routes to market
For each of these topics relevant principles, considerations and techniques are introduced and illustrated using real-world examples and the rolling case study.
Many of the subjects introduced in this chapter are large and sophisticated: the approach adopted is structured and presented at a level to serve the principal needs of the entrepreneur.
Framing a venture makes a real contribution to its value. It creates a shared and constructive baseline for evaluating choices, giving clarity to the team and to those with whom they need to communicate. It expresses a commonly held, high-level understanding that evolves with the venture and contributes to the process of continuing development.
A poorly framed venture results from, and exacerbates, confusion and division. Ad hoc decisions can lead to continuing fragmentation, loss of focus and mounting stress.
A business is framed by answering:
• What is the mission?
• Who is the customer – business ecosystem?
• What is the offering, and how is it distinctive?
• What is the problem that is solved?
• How will success be measured – key objectives and KPIs?
• What are the risks to be mitigated or transferred?
• What is the plan to make it happen?
Each of these answers is developed further by a later chapter.
A business idea is introduced as a sample case exercise for illustration throughout the book. Its complete design is incrementally completed as the book progresses.
A template for business design is introduced to capture, record and manage the evolving business design.