Saturday, July 30, 2011

Basic Concepts of Computers

  1. A Computer is a device which allows you to
    1. Input raw data
    2. Perform Computations/Processing
    3. Store the data for retrieval
    4. Obtain desired information
  1. Characteristics of a Computer
    1. Speed
    2. Accuracy
    3. Storage and Retrieval
    4. Repeated Processing Capabilities
    5. Reliability
    6. Flexibility
    7. Low Cost
  1. COMPUTER TECHNOLOGY IS COMPLEX BUT BASED ON SIMPLE PRINCIPLE
    1. Instructions
    2. Input as Raw Data
    3. Output as Information
    4. Storage
  1. LET US HAVE A LOOK INSIDE
    1. What are the main components ? 
                     i.      Hardware
                    ii.      Software
                   iii.      Computing Environments
                   iv.      Computer Limitations
                    v.      Know more about Keyboard & Mouse











  1. Computing Environments
    1. Single user
    2. Multi user
    3. Networke
  2. Software:
    A set of instruction (programs) that makes the hardware perform a particular set of tasks


Ø      System Software (Operating Systems & Utilities)
o       DOS, UNIX,LINUX, WINDOWS 98 /  2000 / NT , etc.
o       Memory Management, File Management, Anti Virus etc.
Ø      Application Software
o       General Purpose:
Ms-Office, Lotus SmartSuite, Ventura, PageMaker, etc.
o       Language Compilers:
C, C++, Visual Basic, JAVA, Smalltalk, ASP, etc.

Ø      User Designed Application Software Scientific, Business, Design, Marketing, Entertainment, etc.

  1. Networking
    1. What is networking?
    2. Classification of Network
    3. Goals of a Networking

Personal Computer
 Single User System
Ø      One user can work on it
Ø      No efficient use of System
Ø      Operating System like MSDOS, Windows 95/
Ø      Windows 98 / Windows 2000 –Professional etc.
Resource sharing cannot be done






Multi User System


Ø      More than one user can work on the system in time sharing mode
Ø      Operating System like Unix, Linux , Windows NT, Windows 2000–Server etc.
Ø      Resource sharing can be done
Ø Optimal utilization of resources


Networking

Ø      What is a Network?
o       A network is a group of interconnected systems which share services and interact with each other by means of a shared communication link
o       These systems can be located anywhere
o       Network is often classified according to its geographical size.

 
Classification of Network

The most common classification of networks are:
Ø      Local Area Network (LAN)
Ø      Wide Area Network (WAN)
Ø      Metropolitan Area Network (MAN) (eg. A city cable network)


Mouse Pointer Forms
Ø      Standard Pointer form.   Form when changing a window’s height Form when changing a window’s width
   Form when changing height and width simultaneously
   Form when changing a width of a field in a table
I  Form when inserting the text
   Form when moving a field to a new position in the table
   Form when application being executed or a wait state

Computer Configuration: An Illustration

Ø      Characteristic & Example
o       Present day PC Family
§         Pentium i7/ i5/ i3/ IV
o       Memory
§         4 GB/ 2GB/ 1GB
o       Microprocessor chip
§         Intel i7/ i5/ i3
o       Clock Speed
§         2.2/ 1.7/ 1.6 GHz
o       Cache Memory
§          3/ 2/ 1 Mega Bytes
o       Hard Disk Drive
§          500/ 320/ 160 Giga Bytes
o       Floppy Disk Drives
§          1.44 MB
o       CD Drive
§         72/ 56/ 52 X
o       Monitor
§         LCD, LED (1280 X 1024)

Computer Limitations

Ø      Thinking limitations
o       Computer virus
o       Fast technological advancements resulting in obsolescence
o       Risk of equipment failure
o       Equipment downtime and recovery

Problems associated with Computerization

Ø      Human Ego problems
Ø      Standards enforcement problems
Ø      Imbalance between Transparency and Security
Ø      Mismatch between technological advancements and their implementation
Ø      Misuse of computer resources
Ø      Computer crimes


Thursday, July 28, 2011

INTRODUCTION TO DATABASE MANAGEMENT SYSTEM

INTRODUCTION TO DATABASE MANAGEMENT SYSTEM

A database management system (DBMS) consists of collection of interrelated data and a set of programs to access that data. The collection of data, usually referred to as the database contains information about one particular enterprise The primary goal of a DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information.

Database systems are designed to manage large bodies of information The management of data involves both the definition of structures for the storage of information and the provision of mechanisms for the manipulation of information. In addition, the database system must provide for 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.

The following topics have been discussed here :
·        Why Database
·       Characteristics of Data in Database
·       Drawbacks in File System
·       Data redundancy and inconsistency
·       DBMS Components
·       DBMS Advantages

Why Database
A database can be defined as a collection of non-redundant data which can be shared by user.
Changes (or updation) can be made to data without affecting other components of the system. These changes include, for example, change of data format or file structure or relocation from one device to another. 

Advantages of a Database
· Reduction in data redundancy
· Maintenance of data integrity and quality
· Avoidance of inconsistency 
· Reduced cost of software development 
· Security restrictions 

View of the Database
The database can present different views of itself to users, programmers and the database administrator.
· The internal data representation (internal view) is normally not seen by the user or application programmer.
· The conceptual view or conceptual schema is the primary means by which the DBA builds and manages the database.
· The DBMS can present multiple views of the conceptual schema (external views) to programmers and users, depending on the application.

Characteristics of Data in Database
In general, the data in the database-at least in a large system –will be both integrated and shared.
· By integrated, we mean that the database can be thought of as a unification of several otherwise distinct data files, with any redundancy among those files wholly or partly eliminated. 
· By shared, we mean that individual pieces of data in the database can be shared among several different users, in the sense that each of those users can have access to the same piece of data (and different users can use it for different purposes).  As indicated earlier, different users can even be accessing the same piece of data at the same time (“concurrent access”).  Such sharing (concurrent or otherwise) is partly a consequence of the fact that the database is integrated.

Drawbacks in File System
Data redundancy and inconsistency
Since different programmers create application programs over a long period, various files are likely to have different formats and the programs may be written in several programming languages. Moreover, the same information may be duplicated in several places (files). For example, the address and telephone number of particular customer may appear in a file that consists of savings account records and in file that consists of checking-account records. This redundancy leads to higher storage and access cost. In addition, it may lead to data inconsistency, that is, the various copies of the same data may no longer agree. For example, changed customer address may be reflected in savings-account records but not elsewhere in the system.
Difficulty in accessing data
Suppose that one of the bank officers needs to find out the names of all customers who live within the city's 78733 zip code. The officer asks the data -processing department to generate such a list. Because this request was not anticipated when the original system was designed, there is no application program on hand to meet it. There is, however, an application program to generate the list of all customers. The bank officer has now two choices: either obtain the list of all customers and have the needed information extracted manually, or ask the data-processing department to have system programmer write the necessary application program. Both alternatives are obviously unsatisfactory. Suppose that such a program is written, and that, several days later, the same officer needs to trim that list to include only those customers who have an account balance of Rs10,000 or more. As expected, a program to generate such a list does not exist. Again, the officer has the preceding two options, neither of which is satisfactory. The point here is that conventional file-processing environments do not allow needed data to be retrieved in a convenient and efficient manner. More responsive data-retrieval systems must be developed for general use.
Data isolation
Because data are scattered in various files, and files may be in different formats, it is difficult to write new application programs to retrieve the appropriate data.
Integrity problems
The data values stored in the database must satisfy certain types of consistency constraints. For example, the balance of a bank account may never fall below a prescribed amount (say, Rs25). Developers enforce these constraints in the system by adding appropriate code in the various application programs. However, when new constraints are added, it is difficult to change the programs to enforce them. The problem is compounded when constraints involve several data items from different files.
Atomicity problems
A computer system, like any other mechanical or electrical device, is subject to failures. In many applications, it is crucial to ensure that, once a failure has occurred and has been detected, the data are restored to the consistent state that existed prior to the failure. Consider a program to transfer Rs50 from account A to B. If a system failure occurs during the execution of the program, it is possible that the Rs50 was removed from account A but was not credited to account B, resulting in an inconsistent database state. Clearly, it is essential for database consistency that either both the credit or debit occur, or that neither occur. That is, the funds transfer must be atomic-it must happen in the entirety or not at all. It is difficult to ensure this property in a conventional file-processing system.
Concurrent-access anomalies
So that the overall performance of the system is improved and a faster response time is possible, many systems allow multiple users to update the data simultaneously. In such an environment, interaction of concurrent updates may result in inconsistent data. Consider bank account A, containing Rs 500. If two customers withdraw funds (say Rs 50 and Rs 100 respectively) from account A at about the same time, the result of the concurrent executions may leave the account in an incorrect (or inconsistent) state. Suppose that the programs executing on behalf of each withdrawal read the old balance, reduce that value by the amount being withdrawn, and write the result back. If the two programs run concurrently, they may both read the value Rs 500, and write back Rs 450 and Rs 400, respectively. Depending on which one writes the value last, the account may contain either Rs450 or Rs400, rather that the correct value of Rs350. To guard against this possibility, the system must maintain some form of supervision. Because many different application programs that have not been coordinated previously may access data, therefore, supervision is difficult to provide.
Security problems
Not every user of the database system should be able to access all the data, for example, in a banking system, payroll personnel need to see only that part of the database that has information about the various bank employees. They do not need access to information about customer accounts. Since application programs are added to the system in an adhoc manner, it is difficult to enforce such security constraints.
DBMS Components
Data: Data stored in a database include numerical data which may be integers (whole numbers only) or floating point numbers (decimal), and non-numerical data such as characters (alphabetic and numeric characters), date or logical (true or false). More advanced systems may include more complicated data entities such as pictures and images as data types.
Standard operations: Standard operations are provided by most DBMSs. These operations provide the user with basic capabilities for data manipulation. Examples of these standard operations are sorting, deleting and selecting records.

Data definition language (DDL): DDL is the language used to describe the contents of the database. It is used to describe, for example, attribute names (field names), data types, location in the database, etc.

Data manipulation and query language: Normally a query language is supported by a DBMS to form commands for input, edit, analysis, output, reformatting, etc. Some degree of standardization has been achieved with SQL (Structured Query Language).

Programming tools: Besides commands and queries, the database should be accessible directly from application programs through function calls (subroutine calls) in conventional programming languages.

File structures: Every DBMS has its own internal structures used to organize the data although some common data models are used by most DBMSs.

DBMS Advantages
There are three main features of a database management system that make it attractive to use a DBMS in preference to other systems. These features are:
· Centralized data management,
·  Data independence
·  Systems integration.
In a database system, the data is managed by the DBMS and all access to the data is through the DBMS providing a key to effective data processing. This contrasts with conventional data processing systems where each application program has direct access to the data it reads or manipulates.
In the conventional data processing application programs, the programs usually are based on a considerable knowledge of data structure and format. In such environment any change of data structure or format would require appropriate changes to the application programs. If major changes were to be made to the data, the application programs may need to be rewritten.
In a database system, the database management system provides the interface between the application programs and the data. When changes are made to the data representation, the metadata maintained by the DBMS is changed but the DBMS continues to provide data to application programs in the previously used way. The DBMS handles the task of transformation of data wherever necessary.
This independence between the programs and the data is called data independence. Data independence is important because every time some change needs to be made to the data structure, the programs that were being used before the change would continue to work. To provide a high degree of data independence, a DBMS must include a sophisticated metadata management system.
In DBMS, all files are integrated into one system thus reducing redundancies and making data management more efficient. In addition, DBMS provides centralized control of the operational data. Some of the advantages of data independence, integration and centralized control are:

  1. Redundancies and inconsistencies can be reduced
  2. Better service to the Users
  3. Flexibility of the system is improved
  4. Cost of developing and maintaining systems is lower
  5. Standards can be enforced
  6. Security can be improved
  7. Integrity can be improved
  8. Enterprise requirements can be identified
  9. Data model must be developed

Wednesday, July 27, 2011

Developer helper

This blog contains the articles related to general computer awareness, O.S., Networking, SQL Server, M.S. Access and OOP Concepts. Primarily for an audience of  software developers.