Home | Careers | IT Counseling | IT Jobs | IT Resources

 

 

 
About Us | Advertise | Feedback | Contact Us | Bookmark this page now|
Have any doubts regarding how to Search IT Training Courses?...Click here for Quick Search Tips Search IT Courses
Have any doubts regarding Keyword Search?...Click here for Quick Search Tips keyword
Have any doubts regarding Institutes Search?...Click here for Quick Search Tips institutes
Have any doubts regarding Specialization Search?...Click here for Quick Search Tips specialization
Have any doubts regarding Fees Search?...Click here for Quick Search Tips fees
to
Have any doubts regarding Duration Search?...Click here for Quick Search Tips duration

IT dart Tips

Which IT course ?

Venture Capital

Online Education

Exams Required for US of A

Overview of Admission Process

Test Preparation

Financial Aid

TOEFEL Examination

Cool Interview Tips

Skill Check

Resume

GRE Examination

GMAT Examination


IT dart News Letter
Get ITdart.com weekly headlines before it's published on our site! Subscribe and receive the articles delivered to your inbox!

Data Access Technologies

All computing and related areas are now commonly referred to as Information Technology. This highlights the importance of the word 'information'. Any application written using any language or platform requires some information. The digital representation of information is called data. Data and information may be considered to have the same meaning from an operational point of view, but in reality these are quite different.

For example, let's assume a database which stores information about school children. Details about each student are stored in a particular format. One of the parameters is 'age', which is stored as an integer. Now from the point of view of the database, it can contain, say, any number from -32000 to +32000. However, logically, age should contain only values between 0 to 110.

When the computer looks at the field storing age, it understands it as an integer whereas when an end-user looks at it, he thinks about the age of a person whose information is stored in the database. Thus a pure machine representation can be called data and the end-user utilisation of data is called information.

We will now take a look at various technologies and tools available for storing and retrieving data and how to manage these from a developer's point of view.

Database management systems

Information is typically represented as rows and columns. A set of rows and columns representing information about similar entities is called a table. A collection of tables is a database.

For faster access to data in a table, an index is created. Indexes store unique keys (parameters) in the table and their location. While searching for a particular parameter, the index is searched first. When the parameter is found in the index, it simply jumps to the required location in the table to retrieve the required row(s).

All this is managed using a database management system (DBMS). A DBMS is just a special application that allows you to create, maintain, manipulate and store data in various ways. It also allows you to program the input and reporting of the data.

A 'relational' database is a collection of information organised in tables that can be queried by using data in specified columns of one table to find additional data in another table.

Relational databases differ from non-relational databases in that there are no system dependancies stored within the data. In contrast, hierarchical databases are not relational because they contain pointers to other data. SQL Server databases are relational. There are many vendors like Oracle, Microsoft, Sybase, Ingres, Informix, IBM, RDB which provide relational database management system (RDBMS) products for small to very large database requirements.

Data access problems

The problem with too many vendors, however, was that an application written for one type of RDBMS could not talk to another RDBMS without substantial manual changes.

Ideally, every company would like to use only one data management product for all its requirements. This would have had following advantages:

Reduced cost as larger number of licenses can be bought at bulk pricing.
Easier management, as the database administrative staff need to learn only one product.
Standardised training methodology for end-users.
Easier to develop applications as only one type of data access is assumed.
Easier to recruit manpower for development.
Compatibility of data is assured across different systems.
Applications can share common data elements as all the enterprise data resides on a common platform.
However, this ideal situation is not the norm. Most companies will have data stored in a variety of RDBMS and DBMS systems. What's more, there will also be various non-database representations of data as well.

For example, it is extremely common for end-users

to keep data in e-mail messages, as text files, in spreadsheets, and even in word-processor files! This heterogeneity exists because of one or more of the following reasons:

People bought what was cheapest.
The product that offered the fastest performance (at the time of purchase) was bought.
People bought what they were already familiar with.
People bought what was latest on the market.
Products which had worked best for a single application for some other organisation were bought as they were considered safe and proven choices.
Reorganisation and mergers between two companies using different DBMSs.
Departments that previously had a single DBMS now have several.
Local informal storage by end-users.
Multiple copies of the same data were made for the convenience of different user groups or sites.
Remote sites often do not require high-end systems. High-end systems are normally concentrated at head offices. Different applications run on both types of systems.
The front-end

As discussed earlier, there is a substantial difference between data and information. Data when presented in a palatable form becomes information for the end-user. This job is typically done by the user interface, also called the front-end.

A front-end is the interface via which a user inputs and views information. Front-ends are usually written using special tools which are available from the DBMS vendors or from third-parties.

Developer 2000 from Oracle and PowerBuilder from Sybase are examples of front-ends in this category. This system works well when the front-end talks to its preferred back-end database engine. But that is only part of the story.

The final challenge in accessing data came with the advent of client-server computing, which seeked to make the most efficient use of computer resources. Inexpensive personal computers (clients) sat on the desktop and provided both a graphical front-end to the data, and a number of inexpensive tools such as spreadsheets, charting programs, and report builders.

Only, minicomputers and mainframe computers (servers) hosted the DBMSs, where they could use their computing power and central location to provide quick, coordinated data access.

Making the front-end talk to any back-end

A similar problem confronted independent software vendors (ISVs). Vendors developing database software for minicomputers and mainframes were usually

forced to develop one version of an application for each DBMS, or write DBMS-specific code for each DBMS they wanted to access.

Vendors developing software for personal computers had to write data access routines for each different DBMS with which they wanted to work. This often meant a huge amount of resources were spent developing

and maintaining data access routines rather than applications, and applications were often sold not on the basis of their quality, but on whether they could access data in a given DBMS.

What both sets of developers needed was a way to access data in different DBMSs. The mainframe and minicomputer group needed a way to merge data from different DBMSs in a single application, while the personal computer group too needed this ability, as well as a way to write a single application that was independent of any one DBMS. In short, both groups needed an interoperable way to access data.

This is why a standard called Open DataBase Connectivity (ODBC) was created.

Nature of ODBC

ODBC is not a product or product-specific tool. First and foremost, ODBC is a specification for a database application programming interface (API). The ODBC API is language-independent and is independent of any one DBMS or operating system.

The ODBC API is based on the CLI (Call Level Interface) specifications from X/Open and ISO/IEC. ODBC 3.x fully implements both of these specifications (earlier versions of ODBC were based on preliminary versions of these specifications but did not fully implement them) and adds features commonly needed by developers of screen-based database applications, such as scrollable cursors.

The functions in the ODBC API are implemented by developers of DBMS-specific drivers, which are written by the respective vendors. Applications call the functions in these drivers to access data in a DBMS-independent manner.

A Driver Manager manages communication between applications and drivers. ODBC Software Development Kit (SDK) for computers running Windows NT Server, Windows NT Workstation and Windows 95 provide the Driver Manager, installer DLL, test tools, and sample applications.

What does ODBC do?

It is important to understand that ODBC is designed to expose database capabilities, not supplement them. Thus, application developers should not expect that using ODBC will suddenly transform a simple database into a full-featured relational database engine. Nor are driver developers expected to implement functionality not found in the underlying database.

An exception to this is that developers who write drivers that directly access file data (such as data in an xBase file) are required to write a database engine that supports at least minimal SQL functionality.

Another exception is that the ODBC component of the Microsoft Data Access SDK provides a cursor library that simulates scrollable cursors for drivers that implement a certain level of functionality.

Applications that use ODBC are responsible for any cross-database functionality. For example, ODBC is not a heterogeneous join engine, nor is it a distributed transaction processor. However, because it is database system independent, it can be used to build such cross-database tools.

How does Windows work?
Before we delve into the intricacies of various services and technologies that form a part of the Windows system and its architecture, let's have a look at how Windows, as an operating system, works.

What is Windows?

It is a piece of software that allows you to perform tasks using the base circuitry of the computer and its accessories. A list of basic tasks accomplished by Windows are as follows. This is not a comprehensive list, but is just an initial indication of what an operating system does.

Accept input: Keyboard, mouse, microphone, etc are used to enter data or to choose options.

Display text, images, menus, etc. on the screen (monitor): These objects are drawn, placed and refreshed by the OS.

Process information: Calculations, 3D graphics, converting sound to files, converting video to files, drawing graphs, checking spelling, etc are some of the operations which are performed by the operating system. Internally it uses the main processor chip of the computer to perform these operations.

Manage storage of information: All types of files can be created, stored, copied, deleted, secured, encrypted, etc, using the operating system.

Connect multiple computers: Networking features of the operating system provide connectivity across multiple computers either in the same office or across the globe. Printing: Printing produces a paper-based representation of data, graphics, pictures or any other printable material.

Store user preferences: Preferences in terms of colours, file paths, input devices, language settings, available programs, etc are stored for each different user by the OS.

Provide programmability: All the features used by the users can also be tuned, customised or called programmatically, using development languages such as Visual Basic, Visual C++, etc.

Other: There are many other advanced functions like encryption, email, Internet connectivity, interfacing with external equipment, telephony based services, etc.


One Click Courses

Advanced Certiflcate in Java Application Development

Advanced Cisco Router Conflguration

Advanced Course in Object Oriented Programming (Coop)

C#

C# with ASP.Net

CAD/ CAM

Certfication in Unix, C, C++ (CUCC)

Certificate in Advanced System Programming

Certificate in Java & E-commerce (CJEC)

EI -Strategiest

Object Oriented Developer and Designer

Specialization in 3D Graphics & Animation

Wap@Asset


Firewalls: What To Block

Windows System Architecture (WSA)

Operating System (OS)

Data Access Technologies

Functional menu-level blocking

Data Access Methodologies

ODBC Architecture

Learn Java from the ground up

Internet Security

The Day I Learnt JavaScript



ITdart Updates:
Computer Security | Computer Services | CRM | Database | E Commerce | Graphic & Design | Internet | Java | Knowledge Management | Linux | Online Marketing | Open Source | Operating System | Robotics | Semi Conductors | Software Downloads | Virus Info | WAP & 3G | Web Development | XML and Metadata
Home | Careers | IT Counseling | IT Jobs | IT Resources

© Copyright 1999-2000 ITdart.com. All rights reserved.
All brands are Trade Marks of Respective owners. Disclaimer    Legal    Privacy Policy