Skip to main content
main-content

Über dieses Buch

The number ofbooks on databases is very large. Thus, our decision to yet add another book to the body of literature requires some justification. However, even a cursory glance through this book will show that we have taken a rather different approach indeed when compared to monographs on databases. First, material ties together the well-known relational model with the newer and not yet as solidly established object oriented one and leads to data models for hypermedia system. This is unique and timely: the chaos on the World Wide Web is getting out of hand, and one ofthe main reasons is that the underlying data model is too weak. Second, the book is full of illustrations. And those illustrations are not only available in printed form, but also on a CD ROM. Actually, much more is true: for each ofthe 26 chapters, electronic courseware is available, one lesson per chapter. Third, the lessons described contain explanations that are easier or better to understand than those provided in the printed chapter, since a number ofdynamic and interactive features are used. Fourth, the lessons can be used in a variety ofmodes: as complement for the book; as stand-alone material instead ofthe book; as slides for the lecturer; and as help for the student. And, as explained below they can be easily modified.

Inhaltsverzeichnis

Frontmatter

Databases and the Relational Data Model

Frontmatter

1. Introduction to Databases

Abstract
We live in an information age. By this we mean that, first, we accept the universal fact that information is required in practically all aspects of human enterprise. The term ‘enterprise’ is used broadly here to mean any organisation of activities to achieve a stated purpose, including socio-economic activities. Second, we recognise further the importance of efficiently providing timely relevant information to an enterprise and of the importance of the proper use of technology to achieve that. Finally, we recognise that the unparallelled development in the technology to handle information has and will continue to change the way we work and live, ie. not only does the technology support existing enterprises but it changes them and makes possible new enterprises that would not have otherwise been viable.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

2. Basic Relational Data Model

Abstract
Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS’s that separate structure (schema) from content, were introduced in the last chapter. The need for a DDL to define the structure of entities and their relationships, and for a DML to specify manipulation of database contents were also established. These concepts, however, were presented in quite abstract terms, with no commitment to any particular data structure for entities or links nor to any particular function to manipulate data objects.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

3. Data Updating Facilities

Abstract
We have seen that a Data Model comprises the Data Description facilities (through the DDL) and the Data Manipulation facilities (through the DML). As explained in Chapter 2, a DDL is used to specify the schema for the database — its entities can be created, and its attributes, domains, and keys can be defined through language statements of the DDL. The structure of the entities is defined, but not the data within them. DDL thus supports only the declaration of the database structure.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

4. Normalisation

Abstract
Suppose we are now given the task of designing and creating a database. How do we produce a good design? What relations should we have in the database? What attributes should these relations have? Good database design needless to say, is important. Careless design can lead to uncontrolled data redundancies that will lead to problems with data anomalies.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

5. Relational Algebra I

Abstract
Many different DMLs can be designed to express database manipulations. Different DMLs will probably differ in syntax, but more importantly they can differ in the basic operations provided. For those familiar with programming, these differences are not unlike that found in different programming languages. There, the basic constructs provided can greatly differ in syntax and in their underlying approach to specifying computations. The latter can be very contrasting indeed — look at, for example, the differences between procedural (eg. C) and declarative (eg. Prolog) approaches to specifying computations.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

6. Relational Algebra II

Abstract
In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed three important operations it provides: Select, Project and Natural Join. These constitute what is called the basic set of operators and all relational DBMS, without exception, support them.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

7. Relational Calculus I

Abstract
We established earlier the fundamental role of relational algebra and calculus in relational databases (see 5.1). More specifically, relational calculus is the basis for the notion of relational completeness of a database language, ie. any language that can define any relation expressible in relational calculus is relationally complete.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

8. Relational Calculus II

Abstract
Relational Calculus, as defined in the previous chapter, provides the theoretical foundations for the design of practical Data Sub-Languages (DSL). In this chapter, we will look at an example of one — in fact, the first practical DSL based on relational calculus — the Alpha.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

9. Data Sub-Language SQL

Abstract
In this chapter, we shall learn more about the essentials of the relational model’s standard language that will allow us to manipulate the data stored in the databases. This language is powerful yet flexible, thus making it popular. It is in fact one of the factors that has led to the dominance of the relational model in the database market today.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

10. Query-By-Example (QBE)

Abstract
Data Query Languages were developed in the early seventies when the man-machine interface was, by today’s standards, limited and rudimentary. In particular, interaction with the computer was through the processing of batched jobs, where jobs (computation requests such as “run this program on that data”, “evaluate this database query”, etc) were prepared off-line on some computer readable media (eg. punch cards), gathered into a ‘batch’ and then submitted for processing. No interaction takes place between the user and computer while the jobs were processed. End results were instead typically printed for the user to inspect (again off-line) and to determine the next course of action. The batch cycle continued until the user had obtained the desired results.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

11. Architecture of Database Systems

Abstract
Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable components and how they relate to one another structurally; the latter describes how the functions of the various structural components interact to provide the overall functionality of the system as a whole. Since a database system is basically a software system (albeit complex), it too possesses an architecture. A typical architecture must define a particular configuration of and interaction between data, software modules, meta-data, interfaces and languages (see Figure 11-1).
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

Object-Oriented Databases

Frontmatter

12. Abstract Data Objects

Abstract
Object-oriented systems are currently receiving much attention and making great impacts in many areas of computer science. They have their roots in programming, as an alternative approach to procedure-driven programming, and is reflected in the development of such programming languages as Simula, Smalltalk and C++. It has since been adopted and extended, particularly to cover the broader range of software engineering activities including modelling, specifications and design phases of software construction. Even the field of artificial intelligence, especially knowledge engineering, have (somewhat independently and in parallel with development in programming) found the object-oriented approach to be particularly effective.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

13. Data Classes

Abstract
From the discussions of the previous chapter, the basic architecture of an object-oriented database may be illustrated as in Figure 13-1 below. The persistent data of tables in the relational model is replaced by a collection of persistent ADOs, and the generalised data manipulation procedures are replaced by the public interfaces of objects.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

14. Dynamic Binding and User Interface

Abstract
ADOs combine data structures and procedures operating on them. Messages serve both the purpose of procedure activation and of data passing. An object-oriented database is a collection of ADOs. A user interacts with such a database basically by sending messages to activate processing and receiving data passed back in response. This is depicted in Figure 14-1.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

15. Static Inheritance

Abstract
Thus far, we have seen that data classes define an object-oriented schema. Such data classes are described by users using class definition expressions. A user-defined class will typically use system-provided classes (and other defined classes) to structure its private memory and define its methods. Memory is structured as a set of variable-domain bindings, allowing essentially client-server associations between ADOs, ie. an instance (the client) can call on the services of objects (the servers) that are in its private memory. The resultant database schema, and its instantiations, is therefore a ‘flat’ collection of objects in that all objects have equal stature and can call on any other object for services published in their public interfaces.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

16. Dynamic and Multiple Inheritance

Abstract
Static inheritance (Chapter 15) is a descriptive device to define new data classes from existing data classes. Recall that a data class is defined by describing its private memory structure and methods (Chapter 13). With static inheritance, part of this description can be achieved by a combination of adopting, adapting and suppressing the memory structure and methods of an existing, similar data class — the superclass. The resultant description may also be extended with definitions of new memory structures and methods not available in the superclass.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

17. Object Identity and Database Query

Abstract
In chapter 15, we characterised an object-oriented DBMS as one that:
a)
provides a number of system data classes designed for database creation; these include classes to define persistent database objects, to create data structures, and to create application-specific user interfaces for data manipulation
 
b)
supports inheritance and class definition expressions to create user-defined application-specific data classes
 
c)
allows users to create, modify and access a database through predefined methods of the system data classes
 
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

18. Metalevel Facilities and Database Architecture

Abstract
In section 14.3 we introduced dynamic binding — the run-time binding of execution code to a message. Static binding is not possible because the execution code for a message selector depends on the target object and the latter is only known at run-time. ‘Print’ messages are good examples of the need for dynamic binding: many objects provide a public method named ‘Print’ but each object may define them differently; thus the code to execute the message “Print(<target>, ...)” can only be determined once the class that <target> is an instance of is known.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

Hypermedia

Frontmatter

19. Introduction to Multimedia

Abstract
Hypermedia is an acronym which combines the words ‘hypertext’ and ‘multimedia’.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

20. Basic Node-Link Paradigm

Abstract
As we have seen in the previous chapter, hypermedia allows multimedia information to be connected to one another via associative links. In a most general sense, hypermedia can be seen as a special technology dealing with big repositories that hold multimedia documents. More precisely, hypermedia deals with data structures imposed on a collection of multimedia documents.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

21. Internet and Hypermedia

Abstract
Today’s hypermedia systems can roughly be divided into two groups:
1.
Standalone hypermedia systems that provide access to a hyperweb residing on a single computer
 
2.
Large multi-user systems providing multi-point access to a hyperweb distributed over many computers connected in a network
 
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

22. HyperText Mark-up Language (HTML)

Abstract
HTML, HTTP and the URL addressing/naming scheme are the three principal concepts behind WWW (see Figure 22-1). The latter two have been discussed in the preceding chapter. Here, we will focus on HTML.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

23. Interaction over the WWW

Abstract
Pages on the Web, as we saw in Chapter 22, are written in a language called HTML — a universal platform-independent document formatting language. An HTML document consists simply of the text with tags that tell a web browser how the text should appear on the screen, or to do specific things, like draw a horizontal bar or display an image. HTML thus is capable of describing how information can be represented or displayed by the browser. More precisely, it tells the browser not how it should look, but which style to apply, much in the same way we use a style sheet in a word processor.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

24. Second Generation Hypermedia I

Abstract
Hypermedia systems based solely on the Node-Link model suffer from a number of shortcomings. They include:
a)
Maintaining link associations is tedious
 
b)
Links, by virtue of being physically embedded, break the integrity of document contents
 
c)
Links are not context-dependent, leading to
i)
user disorientation (“lost in hyperspace” syndrome)
 
ii)
limited, often unsatisfactory, re-use of hypermedia resources
 
 
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

25. Second Generation Hypermedia II

Abstract
Previously we have defined the following properties of Second Generation Hypermedia Systems:
  • Ability to store and work with a metainformation
  • Ability to define and browse hypermedia composites (collections of nodes and links)
  • Automatic maintenance of the hyperweb
  • Global typed links separated from a document’s contents
  • Automatic support of the referential integrity
  • Extensibility and tailorability (i.e. customization of a hyperweb to suit the needs of a particular user)
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

26. HM-Data Model

Abstract
A database, in the general sense of the term, is a set of data we create and maintain for reference and analysis. In a technical sense of the term, a database imposes certain well-defined structures and operations over the data set so that creating, finding, analysing, updating and maintaining the consistency of data is made as easy and as efficient as possible, particularly for very large data sets. In both senses, hypermedia is a database.
Hermann Maurer, Nick Scherbakov, Zahran Halim, Zaidah Razak

Backmatter

Weitere Informationen