chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of...

23

Click here to load reader

Transcript of chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of...

Page 1: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

DATABASE MANAGEMENT SYSTEMS

UNIT I INTRODUCTION

Historical perspective - Files versus database systems - Architecture - E-R model - Security and Integrity - Data models.

Objectives

To know the concept of database systems To learn the advantages of database systems To learn the database system architecture To learn the fundamentals of data models and to conceptualize and depict a

database system using ER diagram.

Database-management systemA database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data. The collection of data, usually referred to as the database, contains information relevant to an enterprise.

The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient.

Database systems are designed to manage large bodies of information. Management of data involves both defining structures for storage of information and providing mechanisms for themanipulation of information. In addition, the database system must ensure the safety of the information stored, despite system crashes or attempts at unauthorized access. If data are to be shared among several users, the system must avoid possible anomalous results. Because information is so important in most organizations, computer scientists have developed a large body of concepts and techniques for managing data.

1.1 Purpose of Database Approach

File Based Approach

Page 2: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

One way to keep the information on a computer is to store it in the permanent files.

The system has a number of application programs; each of them is defined to manipulate the data files. These application programs have of application programs; each of them is defined to manipulate the data files. These application programs have been written on request of the users in the organization. New application will be added to the system as the need arises. The system just described is called the file-based system. Consider a traditional banking system which using the file-based system in managing the organization’s data in the picture below. As we can see, there are different departments in the Bank, each of them have their own applications which manage and manipulate different data files.

For Banking system, the programs can be the one to debit or credit an account, find the balance of an account, add a new mortgage loan or generate monthly statements etc. Keeping organizational information in this approach has a number of disadvantages, including:

The disadvantages of file system processing(i) Data Redundancy:

Since files and applications are created by different programmer of various departments over long period of time, it might lead to several problems:

Inconsistency in data format The same information may be kept in several different places (files). Data inconsistency which means various copies of the same data are

conflicting ; waste storage space and duplication of effort

(ii) Data Isolation

It is difficult for new application to retrieve the appropriate data which might be stored in various files.

(iii) Integrity problems

Data values must satisfy certain consistency constraints which are specified in the application programs.

Page 3: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

It is difficult to add change the programs to enforce new constraint

(iv) Security problemsThere are constraint regarding accessing privilegesApplication is added to the system in the ad-hoc manner so it is difficult to enforce those constraints

(v) Concurrent – access anomaliesData may be accessed by many applications that have not been coordinated previously so it is not easy to provide a strategy to support multiple users to update data simultaneously. These difficulties have prompted the development of a new approach in managing large amount of organizational information – database approach. In the following section, we shall see the concepts that have been introduced to get over the problems mentioned.

(vi) Database Approach

Database and database technology play an important role in most of social areas where computer are used, including business, education, medicine etc.

Fundamental Concepts

Database is a shared collection of related data which will be used to support the activities of particular organization. Database can be viewed as a repository of data that is defined once and then is accessed by various users. A database has the following properties:

It is a representation of some aspect of the real world; or perhaps, a collection of data elements (facts) representing real world information.

Database is logical coherent and internally consistent. Database is designed, built, and populated with data for a specific purpose.

Page 4: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Characteristics of Database approach

There are a number of characteristics that distinguish the database approach with the file based approach.

In this section, we describe in detail some of those important characteristics.

Self-Describing Nature of a Database System :Database System contains not only the database itself but also the descriptions of data structure and constraints (meta-data). These information is used by the DBMS software or database users if needed. This seperation makes database system totally different from traditional file-based sytem in which data definition is a part of application programs

Insulation between Program and Data :In the filed base sytem, the structure of the data files is defined in the application programs so if user want to change the structure of a file, all the programs access to that files might need to be changed. On the other hand, in database approach, data structure is stored in the system catalog not in the programs so such changes might not occurs.

Support multiple views of data:

Page 5: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

A view is a subset of the database which is defined and dedicated for particular users of the system. Multiple users in the system might have different views of the system. Each view might contains only the interested data of an user or a group of user.

Sharing of data and Multiuser system:A multiuser database system must allow multiple users access

the database at the same time. As the result, the multiuser DBMS must have concurrency controlstrategies to ensure that several user try to access the same data item at a time do so in the manner so that the data always be correct.

Benefits of Database Approach To control Data Redundancy

In the Database approach, ideally each data item is stored in only one place in the database. However, in some case redundancy is still exists to improving system performance, but such redundancy is controlled and kept to minimum

Data SharingThe integration of the whole data in an organization leads to the ability to produce more information from a given amount of data

Enforcing Integrity ConstraintsDBMSs should provide capabilities to define and enforce certain constraints such as data type, data uniqueness.

Restricting Unauthorised AccessNot all users of the system have the same accessing privileges.DBMSs should provide a security subsystem to create and control the user accounts.

Data IndependenceThe system data descriptions are separated from the application programs.Changes to the data structure is handled by the DBMS and not embedded in the program.

Transaction ProcessingThe DBMS must include concurrency control subsystem to ensure that several users trying to update the same data do so in a controlled manner so that the result of the updates is correct.

Providing multiple views of data

Page 6: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

A view may be a subset of the database. Various users may have different views of the database itself.Users may not need to be aware of how and where the data they refer to is stored

Providing backup and recovery facilitiesIf the computer system fails in the middle of a complex update program, the recovery subsystem is responsible for making sure that the database is restored to the stage it was in before the program started executing.

Data Models, Schemas and InstancesData Model is a collection of concepts that can be used to describe the structure of database. Structure of database means data types, relationships and constraints. In addition, most data model includes a set of basic operations for specifying retrievals and modifications on the database. Data Model provides a means to achieve Data Abstraction.

Data Abstraction is refers to the hiding of certain details of how the data are stored and maintained. With several levels of abstraction, the user’s view of the database is simplified and this leads to the improved understanding of data.

There are three levels of abstractions: View level: The highest level of abstraction describes only part of the

entire database. Many users will not be concerned with the large database. Instead, they need to access only a part of it so that view level abstraction is defined. There are many views for the same database.

Logical level: This level describes what data are stored in the whole database.

Physical level: The lowest level of abstraction describes how the data are actually stored.

Categories of Data Model - Three classical data models1. hierarchical model2. network model each tuple is a separate record, e.g., (AN 145) --- [Perugini] --- (CPS 430)3. relational model

proposed by E.F. Codd in 1969most popular and successful modelde facto standard for databases

Page 7: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

(relational) databases are one of the most popular success stories of simple

theoretical ideas the focus of CPS 430/542...semistructured data and XMLo semistructured data is self-describingo web data tends to be semistructuredo in between structured and unstructured data (free text)o the study of the storage and retrieval of unstructured data is called IR(Information Retrieval)

Data Models

1. Data models are a collection of conceptual tools for describing data, data relationships, data semantics and data constraints. There are three different groups:

(a) Object-based Logical Models.(b) Record-based Logical Models.(c) Physical Data Models.

High-level Conceptual Data models: Provide concepts that are close to the way people perceive data to present the data. Typical example of this type is entity – relationship model which use main concepts like entities, attributes, relationships.

An entity represents real-world object such as an employee, a project. An entity hassome attributes which represents properties of entity such as employee’s name, address, birthdate. A relationship represents association among entities for example a works on relationships between employee and project.

Record-based Logical Data models: Provide concepts that can be understood by the user but not too far from the way data is stored in the computer.

Three well-known data models of this type are relational data model, network data model and hierarchical data model.

The Relational model represents data as relations or tables.

Page 8: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

The Network model represents data as record types and also represents a limited type of one to many relationships, called set type.

The figure below shows a schema in network model notation

Page 9: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

The Hierarchical model represents data as hierarchical tree structures. Each hierarchy represents a number of related records. Here is the schema in hierarchical model notation.

Physical Data models: Provide concepts that describe how data is actually stored in the computer.

Database Instances and Schemas

ANSI/SPARC Architecture (Three –level Architecture)

Three – level architecture for database system is proposed to archive the characteristics of the database approach. The goal of this architecture is separate the applications and the physical database so the actual details of how data is organized are hided from the users.

Page 10: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Three- level Architecture

As we can see from above picture, there are three levels of schemas in the database architecture

External level:In this highest level, there exists a number of views which of is defined a part of the actual database.Each view is provided for a user or a group of users so that it helps in simplified the interaction between the user and system.

Conceptual level: Conceptual Schema in this level describes the logical structure of the whole database. The entire database is described using simple logical concepts such as objects, their properties or relationships. Thus the complexity of the implementation detail of the data with be hided from the users.

Internal level: Internal Schema in this level describes how the data are actually stored, how to access the data.

Differences between Three levels

Data IndependenceData Independence is the ability to modify the schema in one level without affecting theschema in the higher level.

There are two levels of data independence:

Logical data independence is the ability to make change in the conceptual schema without causing a modify in the user views or application program.

Physical data independence is the ability to make change in the internal schema without causing a modify in the conceptual schema or application program.

Physical data independence seem to be easier to achieve since the way the data is organized in the memory affect only the performance of the system. Meanwhile, the application program depends much on the logical structure of the data that they are access.

Database Language

Page 11: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Data Definition Language (DDL): This is used to define the conceptual and internal schemas for a database system. It is not procedural language, rather a language for describing the types of entities and relationships among them in terms of a particular data model.

Data Manipulation Language (DML): This is used to manipulate the database, which typically include retrieval, insertion, deletion, and modification of the data.

a. End usersPeople whose jobs require access to database for querying, updating and generating report. An end users might by one of the following Naive users who use the existing appication programs to perform their daily tasks Sophiticated users are who use their own way to access to the database. This mean they donot use the application program provided in the system. Instead, they might define their own application or describe their need directly in a query languaes. Specialized users maintain the personal database by using ready –make program packages that provide easy-to-use menu.

b. Application ProgrammerPeople implement specific application program to access to the stored data. This kind of user need to familiar with the DBMSs to accomplish their task.

c. Database AdministratorsA person or a group of people in the organization who is responsible for authorizing the access to the database, monitoring its use and managing all the resource to support the use of the whole database system

Classification of Database SystemsThe database management systems can be classified based on several criteria.

Based on data model: The most popular data model in today commercial DBMS is relational data model. Almost wellknown DBMSs like Oracle, MS SQL Server, DB2, MySQL are support this model. Other traditional models can be named hierarchical data model , network data model. In the recent year, we are getting familiar with object-oriented data model but this model has not had widespread use.

Some examples of Object-oriented DBMSs are O2, ObjectStore or Jasmine.

Based on number users we can have single user database system which support one user at a time or multiuser syste,s which support multiple users

Page 12: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

concurrently Based on the ways database is distributed we have centralized or distributed database system

Centralized database system : Data in this kind of system is stored at asingle site.

Distributed database sytem: Actual database and DBMS software are distributedin various sites connected by a computer network.

Homogeneous distributed Database SystemsUse the same DBMS software at multiple sitesData exchange between various sites can be handle easily

Heterogeneous distributed Database Systems Different sites might use differents DBMS softwaresThere is a software to support data exchange between sites

Distributed Database SystemDBMS vs. `just a file system'DBMS's evolved from file systems

Page 13: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

file systems also store large amounts of data over a long period of time in secondary memory however, file systems

o can lack efficient accesso have no direct support for querieso limit organization to directory creation and hierarchical organizationo have no sophisticated support for concurrencyo do not ensure durability

ACID properties (all good DBMS's should guarantee these)

Atomicityshould not be able to execute half of an operation either all or none of the effects of a transaction are made permanent

Consistencythere should be no surprises in the world, e.g., gpa > 4.0, balance < 0, cats should never have more than 1 tail! The effect of concurrent transactions is equivalent to some serial execution use constraints, triggers, active DB elements (context-free)

Isolationconcurrency controltransactions should not be able to observe the partial effects of other transactionsuse locks (whole relations or individual tuples?)

Durability if power goes out, nothing bad should happenonce accepted, the effects of a transaction are permanent (until, of

course,changed by another transaction)use logs

History of Database SystemsFirst-generation_ Hierarchical and NetworkSecond generation_ RelationalThird generation_ Object Relational_ Object-OrientedHistoryDatabase management systems have even existed for thousands of years. However, in the earlier days they were recorded without computers, with crude accounting systems that banks used to use over a 500 years ago. However, when most people talk about database management systems, they refer toone of an electronic nature. This is where electromagnetic storage of information takes place, is organized and can be recalled later with a set of commands. At first, database

Page 14: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

management systems are very crude, as there was always a memory problem with the earlier electronic computers. In fact, Bill Gates was quoted as saying in 1981 that 640K memory ought to be enough for anybody. Ha!

Around the 1960s, the earliest of electromagnetic database storage was used only by those who could afford it, because of its extremely high expense. In fact, whereas today databases are used for research purposes, at this time computers were themselves considered a research project. It wasn't until the 1970s, when memory was able to be increased and component prices began to decrease was there any real headway with database management systems. It was at this time that a number of different problems started coming up, as related to information management on the computers. With all these problems surfacing, a solution was needed.

In the 1980 all the major vendors who sold hardware systems started incorporating database management systems into their computers for a systematic solution. At first, these database management systems were very specific to the computer and to the user. IBM was one of the leaders in this category, but soon many clones and competitors entered into the marketplace, all at varying price points with different and alternative solutions.

With the advent of the 90s, the shift turned from having an accurate database management system, to having one that was easily maintainable. This is because memory capacity started to grow, as well as the creation and spread of information. This is when some of the more sophisticated database management systems at the market.Currently, the focus is on completely automating most of the database management administration.

Database advantages1. Reduction of redundancy2. Consistency3. More available information4. Sharing of data5. Data integrity6. Security7. Enforcement of standards8. Economy of scale9. Management of conflicts10. Improved accessibility11. Increased productivity12. Improved maintenance13. Increased concurrency14. Improved backup and recovery

Database disadvantages1. Complexity2. Size3. Software Cost

Page 15: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

4. Hardware cost5. Conversion6. Performance7. Vulnerability to system failure

Applications of database systemsreservation systems, banking systemsrecord/book keeping (corporate, university, medical), statisticsbioinformatics, e.g., gene databasescriminal justice

o fingerprint matchingo how do you encode `looks like'?

multimedia systemso require terabytes (1012 bytes) of storageo tertiary storage devices, e.g., CD, DVDso image/audio/video retrievalo streaming, interactivity

satellite imaging; can require petabytes (1015 bytes) of storagethe web

o client-server and multi-tier architectureso almost all data-intensive websites are database-driven;

information integrationo over the webo legacy systems; must deal with issues of

synonymy: different words having the same meaning, e.g., coffee shop vs. cafepolysemy: same word (homonym) having different meanings, e.g., shot

o data warehouseso data mining (KDD, Knowledge Discovery in Databases), e.g.,

associationrules: `diapers → beer'; we pass these on to the marketing folks

In sum, databases are everywhere!

Object-relational Databasesrelational model not always the best fit user might need to supply complex data operations, e.g., for multimedia data;

object-orientation has been used to help support such extensions led to object-relational systems

SecurityDatabase security denotes the system, processes, and procedures that protect a database from unintended activity.

Page 16: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Security is usually enforced through access control, auditing, and encryption.

Access control ensures and restricts who can connect and what can be done to thedatabase.Auditing logs what action or change has been performed, when and by whom.Encryption: Since security has become a major issue in recent years, many commercial database vendors provide built-in encryption mechanisms. Data is encoded natively into the tables and deciphered "on the fly" when a query comes in. Connections can also be secured and encrypted if required using DSA, MD5, SSL or legacy encryption standard. Enforcing security is one of the major tasks of the DBA.The Entity-Relationship ModelCMPT-354-Han-95.3 Lecture Notes September 20, 1995

Entities and Entity SetsAn entity is an object that exists and is distinguishable from other objects. For instance, John Harris with S.I.N. 890-12-3456 is an entity, as he can be uniquely identified as one particular person in the universe.

An entity may be concrete (a person or a book, for example) or abstract (like a holiday or a concept).An entity set is a set of entities of the same type (e.g., all persons having an account at a bank).Entity sets need not be disjoint. For example, the entity set employee (all employees of a bank) and the entity set customer (all customers of the bank) may have members in common.An entity is represented by a set of attributes. E.g. name, S.I.N., street, city for ``customer'' entity. The domain of the attribute is the set of permitted values (e.g. the telephone number must be seven positive integers).

Formally, an attribute is a function which maps an entity set into a domain.Every entity is described by a set of (attribute, data value) pairs. There is one pair for each attribute of the entity set. E.g. a particular customer entity is described by the set {(name, Harris),(S.I.N., 890-123-456), (street, North), (city, Georgetown)}.An analogy can be made with the programming language notion of type definition.The concept of an entity set corresponds to the programming language type definition.A variable of a given type has a particular value at a point in time.

Page 17: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Thus, a programming language variable corresponds to an entity in the E-R model.

Relationships & Relationship SetsA relationship is an association between several entities.A relationship set is a set of relationships of the same type.Formally it is a mathematical relation on (possibly non-distinct) sets.For example, consider the two entity sets customer and account. (Fig. 2.1 in the text). We define the relationship CustAcct to denote the association between customers and their accounts. This is a binary relationship set

Going back to our formal definition, the relationship set CustAcct is a subset of all the possible customer and account pairings.This is a binary relationship. Occasionally there are relationships involving more than two entity sets.The role of an entity is the function it plays in a relationship. For example, the relationship works-for could be ordered pairs of employee entities. The first employee takes the role of manager, and the second one will take the role of worker.A relationship may also have descriptive attributes. For example, date (last date of account access) could be an attribute of the CustAcct relationship set.

AttributesIt is possible to define a set of entities and the relationships among them in a number of different ways. The main difference is in how we deal with attributes.

Consider the entity set employee with attributes employee-name and phonenumber.We could argue that the phone be treated as an entity itself, with attributes phonenumber and location.Then we have two entity sets, and the relationship set EmpPhn defining the association between employees and their phones.This new definition allows employees to have several (or zero) phones.New definition may more accurately reflect the real world.We cannot extend this argument easily to making employee-name an entity.

Mapping ConstraintsAn E-R scheme may define certain constraints to which the contents of a database must conform.Mapping Cardinalities: express the number of entities to which another entity can be associated via a relationship. For binary relationship sets between entity sets A and B, the mapping cardinality must be one of:

Page 18: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

1. One-to-one: An entity in A is associated with at most one entity in B, and an entity in B is associated with at most one entity in A. 2. One-to-many: An entity in A is associated with any number in B. An entity in B is associated with at most one entity in A. 3. Many-to-one: An entity in A is associated with at most one entity in B. An entity in B is associated with any number in A. 4. Many-to-many: Entities in A and B are associated with any number from each other.

The appropriate mapping cardinality for a particular relationship set depends on the real world being modeled. (Think about the CustAcct relationship...)Existence Dependencies: if the existence of entity X depends on the existence of entity Y, then X is said to be existence dependent on Y. (Or we say that Y is the dominant entity and X is the subordinate entity.)

For example, Consider account and transaction entity sets, and a relationship log

between them. This is one-to-many from account to transaction. If an account entity is deleted, its associated transaction entities must

also be deleted. Thus account is dominant and transaction is subordinate.

Generalization

Consider extending the entity set account by classifying accounts as being either savingsaccount or chequing-account.

Each of these is described by the attributes of account plus additional attributes. (savings has interest-rate and chequing has overdraft-amount.)We can express the similarities between the entity sets by generalization. This is the process of forming containment relationships between a higher-level entity set and one or more lower-level entity sets.

In E-R diagrams, generalization is shown by a triangle

Page 19: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

Generalization hides differences and emphasizes similarities. Distinction made through attribute inheritance. Attributes of higher-level entity are inherited by lower-level entities.

Two methods for conversion to a table form: Create a table for the high-level entity, plus tables for the lower-level

entities containing also their specific attributes. Create only tables for the lower-level entities

Aggregation

The E-R model cannot express relationships among relationships.When would we need such a thing?Consider a DB with information about employees who work on a particular project and use a number of machines doing that work.

References

1. Raghu RamaKrishnan and Johannes Gehrke, “Database Management Systems”, McGraw Hill International Editions, 2000.

2. C. J. Date, “An Introduction to Database Systems”, Seventh Edition, Addison Wesley, 1997.

Page 20: chettinadtech.ac.inchettinadtech.ac.in/storage/12-09-01/12-09-01-17-25 …  · Web viewThe goal of this architecture is separate the ... Almost wellknown DBMSs like Oracle ... Enforcing

3. Abraham Silberschatz, Henry. F. Korth and S. Sudharshan, “Database system Concepts”, Third Edition, Tata McGraw Hill, 1997