2. PROJECT OVERVIEW
This is a network based intelligent multiple-choice-question examination system; named
Network based Intelligent Quiz System (NIQS), for assessing students. It is a system by
which students can appear in a quiz where there is no interaction between pencil and
paper rather interaction between computer and human being. We use the term intelligent
here as the system generates questions intelligently. There are many definitions of
intelligence but we use the term intelligence in the sense that the system generates the a
new question of a quiz by depending on the result of the question last answered and for
the same quiz of a subject it generates different questions for different students. The
questions vary student to student for the same quiz while they are sitting in the quiz at
the same time. Teachers can use the NIQS for evaluating students effectively, efficiently
and perfectly. Any university, college, school or educational institute can use this
system for their organization to take quizzes. Today it is the more efficient and effective
method of assessing students. One of the main benefits of our system is automated
marking, that is, teachers do not need to check the answer script as they do in manual
quiz. It saves valuable time of a teacher. On the other hand, students can score according
to his/her merit level and it will give feedback about a student in which side he/she is
weak. In recent years, the use of this type of quiz systems has become quite popular due
to pressures of increasing class sizes and the need for more efficient and effective
methods of assessing students.
PURPOSE
Network Based Exams System fulfills the requirements of the institutes to
conduct the exams in a network. Many students can give exam simultaneously. They can
3. view the result at the same time. Thus the purpose of the application is to provide a
system that saves the efforts and time of both the institutes and the students.
What is Network Based Intelligent Quiz System all about?
Network Based Intelligent Quiz System is an application that establishes a
network between the institutes and the students. Institutes enter on the application the
questions they want in the exam. These questions are displayed as a test to the eligible
students. The answers entered by the students are then evaluated and their score is
calculated and saved. This score then can be accessed by the institutes to determine the
passed students or to evaluate their performance.
The system entitled “Network Based Intelligent Quiz System” is application
software, which aims at providing services to the institutes and providing them with an
option of selecting the eligible students by themselves. It is developed by using Visual
Basic 6.0 technology and related database.
This project assesses students by conducting objective quiz. The tests would be
highly customizable. This project will enable educational institutes to conduct test and
have automated checking of answers based on the response by the candidates. The
project allows faculties to create their own tests. It would enable educational institutes to
perform tests, quiz and create feedback forms. It asks faculty to create his/her set of
questions. The result of the response would be available to the faculty of the question
set. Further the result would also be mailed to the student. This project would be helpful
for creating practice tests, say for educational institutes and as a feedback form.
• Responses by the candidates will be checked automatically and instantly.
• Network examination will reduce the hectic job of assessing the answers given
by the candidates.
• Being an integrated Network Examination System it will reduce paper work.
4. • Can generate various reports almost instantly when and where required.
SCOPE
This project would be very useful for educational institutes where regular
evaluation of students’ is required. Further it can also be useful for anyone who requires
feedback based on objective type responses
Required software is for conducting network based `objective’ type examination
and providing immediate results. The system should satisfy the following requirements:
Administrator Aspect
1. Taking backup of the database
2. Editing/Deleting/Creating the database.
3. Adding or deleting faculty
4. Changing the super password.
Faculty Aspect
1. Logging into the system.
2. Sending invitations to specific student by mail
3. Accepting registrations of candidates
4. Creating a test
5. Posting questions in the above test
6. Posting multiple options to respective question
7. Marking correct answer within the given options
8. Time limit of the test if any.
9. Whether to randomize the questions
10. Whether to randomize the options displayed
11. To allow the test to be taken in practice mode where the correct answer is
shown immediately after the candidate selects an option.
5. Student Aspect:
1. Requesting registration
2. Logging into the system.
3. Edit user information.
4. Selecting the test.
5. Selecting whether the test to be taken in practice mode where the correct
answer is shown immediately after the candidate selects an option.
6. Appearing for the examination.
7. Printing the result at the end of the examination.
8. Reviewing the given responses.
9. Changing password.
10. Resetting of forgotten password
Analysis
1. Authenticating users based on username and password
2. Recording candidates’ responses to every question
3. Checking whether the given response is correct or not
4. Keeping history of test reports of all users
Mailing
1. The reports are required to be mailed to the candidates on
the registered mail address.
2. Temporary password will be mailed to the user incase the
user forgets the password.
6. 3. Invitations for the appearance for the new test will be
mailed.
ORGANIZATION PROFILE
Chinmaya Vidyapeet was started in 1995 in keeping with the ideals of the
great visionary and sage, Swami Chinmayananda. The college has been housed in the
original school building of the Ernakulam Chinmaya Vidyalaya, a reverse L-shaped
structure on Warriam Road. The building saw the metamorphosis of the school into a
college in 1995 when the Vidyalaya was moved to Vaduthala. Thence, the Vidyapeet
endeavored to maintain the highest standards in the field of higher education. At the
inception itself, Chinmaya Vidyapeet had a dual educational scheme - that is B.Com
cum CA/ACS which attracted many students. Every year its students won laurels and
even All India ranks in the CA and ACS courses.
For the last six years, students from the college have been winning university ranks in
the B. B. M. degree course. Several have done well in the university sports and cultural
festivals obtaining top sports and grace marks. Some have even represented the
university at the national level. Though there is an emphasis on discipline, students are
encouraged to take part in diverse range of activities and develop themselves in a
positive way.
The Vidyapeet seeks to impart the finest education in the field of Commerce,
Management and Economics. It takes great pride in its faculty, which is drawn from
a diverse stream. It hopes to imbibe in the students a sense of community, serious
purpose, social commitment and high academic achievement. It is its endeavor to
provide a worthwhile experience to the students.
7. Chinmaya believes in inculcating the values of discipline, integrity and hard work in the
students. The Chinmaya culture embodied by the students can only benefit society and
the nation.
There is a dress code which is followed by all the students. The college uniform
has been designed by the first batch of students in 1995-1996 and continues to
be worn till date. Girls are requested to wear salwar, half sleeved, Kameeze and
black slip on footwear. Boys have to wear trousers, half-sleeved shirts and black
shoes. They have to be cleanly shaven and neatly attired.
Punctuality and regular attendance are also important habits to be followed by
the
students.
As per Government Order No.318/10/H.Edn.Dept of 16.2.2010 and University
Order Circular No. DSS/AC.A1/2/195/2010 MOBILE PHONES are banned from the
college campus and possession of the same liable for punishment. The college will
confiscate the phone and report the matter.
Ragging is similarly prohibited by law. The Supreme Court has passed a
ruling making it a cognizant offence without fail and the University Circular No
A1/2/1647/2007 makes this legally enforceable.
The college encourages students to interact in a friendly manner.
Disciplinary action will be taken against any kind of VIOLENCE on the campus
and verbal abuse is also disallowed. SMOKING, DRUGS and ALCOHOL are
all prohibited on the campus.
8. The faculty is the principal driver of change through their direct involvement in
every aspect of the Institute: academics, governance, research, and consultancy. They
combine the very highest standards of teaching and mentoring with diverse backgrounds
as eminent entrepreneurs, policy makers, researchers, theoreticians and consultants. The
rich diversity of their backgrounds installs in the students a continuous desire to achieve
excellence.
The staff of Chinmaya is a dedicated group, ably assisted by a loyal non-teaching
staff. Several teachers have been with the college since its very inception and have been
part of the development process. All of them share a common interest - the individual
development of the students and work in cohesion. The faculty comprises 24 members
and is able to give individualized attention to the students. The staff has formed
committees to advise students on various matters. They are highly experienced and have
been responsible for the success of many of the students.
DEPARTMENTS
Chinmaya Vidyapeet accommodates the following departments:-
1. Department of English
2. Department of Hindi
3. Department of Mathematics
4. Department of Economics
5. Department of Commerce
6. Department of Management
7. Department of Computer Science.
The college, like the school, was founded by Janaki N. Menon, one of Swami
Chinmayanandaji’s oldest and earliest disciples. She was inspired by Gurudev to
establish institutions in Cochin which would be world class and reflect his wonderful
9. vision.
The young Janchechi was attracted to the sublime beauty of Vedanta and the
principles espoused by Poojya Swami Chinmayanandaji. When Gurudev came to Cochin
in 1954 she and her sister Meena Haridas were inspired to work tirelessly for the
Mission, setting up Balavihars and eventually the Vidyalaya and Vidyapeet.
Each brick of these institutions told the story of how they were established
without taxing the parents. This great work was achieved by Janchechi and her younger
sister Kamakshi Balakrishna whose name has become synonymous with education in
Kochi. Both school and college have endeavored to become centre of excellence and
have established themselves as a brand.
Janchechi, as she was fondly called, believed in selfless services and was a great
Karma yogi. She left us in April 2002 but continues to inspire us by her work and ideals.
The Chinmaya Mission, a world wide organization, is headed by H. H. Swami
Tejomayananda, a direct disciple of Poojya Swami Chinmayanandaji. Swami
Tejomayanandaji took over as Supreme Head in 1993, after the Samadhi of Gurudev
Chinmaya seeks to form a class comprising of students drawn from different
backgrounds but who all have a common goal of excellence and achievement. It believes
in enhancing the educational experience for the students. The school and 12th standard /
HSC marks are important. Serious consideration is also given to an applicant’s promise
of making a contribution to the class by way of a particular attainment, unusual
academic achievement or non-academic performance. The faculty also relies on a face-
to-face meeting to assess the student’s potential, as there is no complete dependence on
just marks alone to admit a candidate. The guiding principle for selection is to ensure an
effective learning environment for students so that eventually society and public will
10. benefit.
Over the years its students have done well in life. While in college they garnered
All India ranks, State ranks and University ranks in the CA stream, ACS examinations
and the BBM examinations. Several have attained positions of importance in various
industries and promise to become harbingers of change in the country. It is a matter of
pride that the Chinmaya name and stamp evoke respect for us.
ORGANIZATION CHART
MANAGEMENT
PRINCIPAL
HEAD of DEPARTMENTS NON-TEACHING STAFF
TEACHERS
STUDENTS
12. System Analysis refers to the process of examining a situation with the intent of
improving it through better process and methods. System analysis is, therefore,
the process of gathering and interpreting facts, diagnosing problem and using the
information to recommend information in system or in other words, it means a detailed
explanation or description. Before computerizing a system under consideration, it has to
be analyzed. We need to study how it functions currently, what are problems and what
are requirements that proposed software should meet. The main components of making
software are:
• System and software requirements analys is
• Design and implementation of software
• Ensuring, verifying and maintaining software integrity
REQUIREMENT ANALYSIS
I have divided my project into two modules. The first module that is the
administrator module handles the duties of the administrator, like, adding teachers and
students, deleting the users, preparing rank lists, etc. The second module which is the
quiz module enables the teachers added by the administrator to add new questions to the
database and to set an exam for the students. The students on the other hand can take the
exam and the result will be available to them in a very short time.
13. Information Gathering
Users of the system
Presentations an docume nts using organization
Prospectus, manuals and the rulebooks, which
specify how various activities are carried out in the
organization
Evolving a method of obtaining information from identified
source
Using information from module of organization
C o m p u t e r P r e s e n t a t i o n o f e x i s t i n g s ys t e m
.
PROBLEM DEFINITION
Software has to be designed to conduct tests. Unlike other examination systems this
software should not be just for the students; instead it should also provide facility to
Institutes to host Tests/Exams. This will help institutes as:
There will be no need to get new software every time to conduct a test.
Also like other software, it will help students by:
Saving the extra time of going to far away Exam Centre.
Students need not wait for their results.
Also this software will remove the flaws of existing Manual Systems like:
Reducing the manual labour (Decreases Overheads).
Avoiding Mistakes Due To Human Error (Accurate).
Will Increase Efficiency and Save Time.
Will Allow Neat Handling Of Data Rather Than Error Prone Records.
The institutes will register themselves with a unique login name and password; the
unique id will be issued to the institutes by the website.
14. After login:
They will enter exam details like number of questions, positive marks.
Then they will enter the questions along with the answers which can later be
deleted and edited.
Also they will enter the list of eligible candidates with their id names which can
also be edited later.
Institutes will be able to view the students list along with their respective results.
Also for students:
They will be able to login with their id, name and institute id.
They will be able to give the exam as per the details entered by respective
institutes.
Also they will be able to view their scores after test finishes.
If already given the test then they will just be able to view their scores.
Other users can take sample tests to get feel and look of how the tests are
conducted.
Other key points:
Different set of questions will be given to different students.
The questions will be selected randomly from the database.
FUNCTIONAL REQUIREMENTS
It deals with the functionalities required from the system which are as follows:
The software will help the colleges/organizations/companies to conduct their exams.
Functional Requirements
15. Functional requirements capture the intended behavior of the system. This behavior may
be expressed as services, tasks or functions the system is required to perform. This white
paper layout important concepts and discusses capturing functional requirements in such
a way that they can drive architectural decisions and be used to validate the architecture.
Functional Requirements contains:
Identification of inputs that the system should accept and under different
conditions.
Identification of outputs that the system will produce under different conditions
Identification of the data that the system should store which other systems
might use.
The computations the system should perform.
Only authorized person can access related details.
The organization will register themselves on the software for conducting their
exams.
Organizations can change their information regarding themselves.
The students can login through TEST-ID and PASSWORD and give their
exams.
Administrator will be responsible for updating the site.
The organization can change questions and test papers whenever they
want.
Non Functional Requirements
A. Portability
B. Reliability.
C. Performance
I. Types of Non Functional Requirements are:
a. Interface Requirements
b. Performance Requirements
16. c. Time/Space Bounds
d. Reliability
e. Security
f. Survivability
g. Operating Requirements
EXISTING SYSTEM
Existing system here is manual i.e. all the transaction or the information
is recorded in the registers and as simple text files on the computers. If the person is in
need of particular information has to go through the registers and the text files and then
prepare the information needed by him manually.
MANUAL QUIZ SYSTEM
In the early days it was the most popular methods of assessing student. Even now
the system is quite popular to the students as well as to the teacher. In this system there
are several problems that we face in a common way. Some of those problems are:
1. Manual system requires pen/ pencils and paper.
2. Teacher needs to spend time to script checking.
3. Student needs to wait to get their result up to the teacher finishes the script
checking
17. These are the most common problems of manual quiz system that rotated each
and every time of quiz held. For these causes the popularity of manual system decreases
day by day and intelligent quiz system is taking the place of the manual system.
Bottlenecks Identified in Existing System
The first problem is that there are loads of hard copied documents being generated. This
brings us to the age-old discussion of keeping information in the form databases versus
keeping the same on sheets of paper. Keeping the information in the form of hard-copied
documents leads to the following problems:
1) Lack of space – It becomes a problem in itself to find space to keep the sheets of
paper being generated as a result of the ongoing discussion. The documents being
generated are too important to be ill-treated.
2) Filing poses a problem – Filing the documents categorically is a time
consuming and tedious exercise.
3) Filtering is not easy – It becomes hard to filter relevant documents for the
irrelevant ones if the count of the same crosses a certain manageable number.
4) Reviewing becomes time-consuming – All the process done manually at the
centers and all the records are maintained on the papers. So the maintenance of
the record is very difficult in the departments and as well as it’s very difficult for
the workers to check the record. The Existing system is paper based, time
consuming, monotonous, less flexible and provides a very hectic working
schedule. The chance of loss of records is high and also record searching is
difficult. Maintenance of the system is also very difficult and takes lot of time.
5) Result Processing is slow due to paper work and requirement of staff.
Need for the New System
To solve these problems they required a computerized system to handle all the
works. They required a web based application that will provide a working environment
18. that will be flexible and will provide ease of work and will reduce the time for report
generation and other paper works.
PROPOSED SYSTEM
In recent years, the use of network based quiz systems has become quite popular
due to pressures of increasing class sizes, and the need for more efficient methods of
assessing distances students. This thing motivates me to work with network based quiz
system. I have also tried to eliminate the problem with general web based quiz system
and decided to create a net work based intelligent quiz system. In my project, I have
tried to develop a “Network Based Intelligent Quiz System” which will be popular with
both the students and teachers.
Aims and Objective
The main purpose behind the proposed system is to provide a comprehensive
computerized system, which can capture, collate and analyze the data from these wards
and evaluate the impact of the program.
Constraints, Assumptions, Dependencies
Constraints
As this system is based on client server technology, so for normal operation
minimum of 64 MB RAM will be required on all clients.
Assumptions
In general it has been assumed that the user has complete knowledge of the
system that means user is not a naïve user. Any data entered by him/her will be valid. To
make the software as user friendly as possible but at the same time keeping in minds
user requirements.
19. 1. Server OS should be Windows NT/2000/XP.
2. Client PC should be Windows 9X/NT/WorkStation or Windows 2000 with latest
service pack.
Dependencies
It depends that the one should follow the international standards for the
generating the User ID & should fill the related information in the proper format.
Software System Attributes
Usability:
The links are provided for each form. The user is facilitated to view and make
entries in the forms. Validations are provided in each field to avoid inconsistent or
invalid entry in the databases. Reports screen contains text boxes and drop down lists, so
that reports can be produced.
Security:
Application will allow only valid users to access the system. Access to any
application resource will depend upon user’s designation. There are two types of users
namely Administrator and Student. Security is based upon the individual user ID and
Password.
Maintainability:
The installation and operation manual of examination management system will
be provided to the user.
Availability:
System will be available around the clock except for the time required for the
back up of data.
Portability:
The application is developed in VB 6.It would be portable to other operating
system provided VB6 is available for the OS. As the database is made in SQL SERVER
20. 2008, porting the database to another database server would require some development
effort.
Acceptance Criteria
The software should meet the functional requirement and perform the
functionality effectively and efficiently.
A user-friendly interface with proper menus.
Data transfer should be accurate and with in a reasonable amount of time keeping
in mind the network traffic.
The system should not allow entry of duplicate key values.
System should have the ability to generate transactional Logs to avoid any
accidental loss of data.
Log file should also be generated.
Computerized vs. Manual Examination System
Automated process of examination is much better than the manual system as it
has following advantages:
Time saving
Increased efficiency
Allows neat handling of data rather than error prone records.
Decreases overhead
Accurate
The user requirement for this system is to make the system fast, flexible, less prone to
error, reduce expenses and save time.
• Time can be saved by scheduling the exams, if it is available a question bank to
store questions for different subjects.
21. • A system can be given a mark by checking the students answers, and give the
result as soon as students finish his exam.
• A facility to generate a result chart as pre required without manual interface.
• The system should have records of students and faculty that can be access to the
system which can be used only by the authorized person.
• The system should be more secure for management user records and more
reliable to work at any conditions.
The products and process features:
This system must be designed as user required. So, the complete requirement must
be found:
Quick scheduling:
The system helps the faculty member to generate an automatic exam instead of
using papers. Which save a time for writing, checking and for input marks. Also,
student can see the exam when he login as an individual to the system.
Immediate results and solutions:
When the student finishes his exam, the system checks his/her answers and
compared with the correct answer. And the system saves the incorrect and correct
answers and calculates the mark of correct answers. Then give the total mark.
And send a report for student to see where he has gone wrong.
Easy to store and retrieve information:
Rather to save the information on a papers or in separate sheets there are data
base management to store and retrieve the information needed by the
administrator or faculty member or student according report generated by the
system.
23. User needs a network-based system, which will remove all the above-mentioned
problems that, the user is facing. The user wants a network-based system, which will
reduce the bulk of paper work, provide ease of work, flexibility, fast record finding,
modifying, adding, removing and generating the reports.
We proposed our perception of the system, in accordance with the problems of
existing system by making a full layout of the system on paper. We tallied the problems
and needs by existing system and requirements. We were further updating in the layout
in the basis of redefined the problems. In feasibility study phase we had undergone
through various steps, which are described as under:
Cost:
The cost required in the proposed system is comparatively less to the existing
system.
Effort:
24. Compared to the existing system the proposed system will provide a better
working environment in which their will be ease of work and the effort required will be
comparatively less than the existing system.
Time:
Also the time required generating a report or for doing any other work will be
comparatively very less than in the existing system. Record finding and updating will
take less time than the existing system.
Labor:
In the existing system the number of staff required for completing the work is
more while the new system will require quite less number of staff
Economic Feasibility
In my project I make use of the existing systems which have Visual Basic 6
installed on them along with the database which is SQL Server 2008. Though the cost of
buying SQL Server is often high, once it is bought, there is no other maintenance cost
and we are not buying any other software specially for this project, so we can say that
the project is economically feasible.
The only possible fixed costs involved with the system would be paying for
people to write the code. It is possible that faculty would be willing to write the code for
free, or students would be willing to work on it as a project. There are no variable costs
associated with this system- since it operates on the servers, the department does not pay
anything for each use of the system. The tangible benefits will mostly be in time savings
for the current administrators, as well as a simplified process for activities. The
intangible benefits would be increased system involvement among faculty members and
decreased workload on the current administrators.
Technical Feasibility
The project can be said to be technically feasible because there will be less
number of errors actually no errors because the whole project will be divided into two
25. modules and so the errors if found, can be debugged very well and all the bugs can be
removed. Since the system uses network to implement, it is technically practical for all
actors. The system can be implemented on the servers that the department currently has
access too. The system requires no special expertise to operate, although some expertise
will be required to code it.
Behavioral Feasibility
The proposed system can be easily accepted as it is very easy to understand and
is very user-friendly. The organization will not be disturbed by the use of this system
because, the users will be provided with prompts which will enable them to use this
software very easily.
People are inherently resistant to change and computer has been known to
facilitate changes. An estimate should be made of how strong the user is likely to move
towards the development of computerized system. These are various levels of users in
order to ensure proper authentication and authorization and security of sensitive data of
the organization. Therefore it is understandable that the introduction of a candidate
system requires special efforts to educate and train the staff. The software that is being
developed is user friendly and easy to learn. In this way, the developed software is truly
efficient and can work on any circumstances, tradition, locales. Behavioral study strives
on ensuring that the equilibrium of the organization and status quo in the organization
neither are nor disturbed and changes are readily accepted by the users.
27. HARDWARE SPECIFICATION
The selection of hardware is very important in the existence and
proper working of any software. When selecting hardware, the size and capacity
requirements are also important.
Below is some of the hardware that is required by the system
1. 40 GB hard disk
2. 256 MB RAM
3. Monitor
4. Keyboard
5. Processor- Pentium 4 or above
HARD DISK
28. A hard disk drive (HDD; also hard drive, hard disk, or disk drive is a data
storage device used for storing and retrieving digital information from non-volatile
memory (retaining its data even when powered off) in a random-access manner (data can
be retrieved in any order rather than just sequentially). An HDD consists of one or more
rigid ("hard") rapidly rotating discs (platters) coated with magnetic material, with
magnetic heads arranged on a moving actuator arm to read and write data to the surfaces.
We need a hard disk of greater storage capacity because we have a large amount
of data to store and that can be done only if we have hard disk of higher capacity.
RAM
Random-access memory (RAM) is a form of computer data storage. A random-
access device allows stored data to be accessed in very nearly the same amount of time
for any storage location, so data can be accessed quickly in any random order. In
contrast, other data storage media such as hard disks, CDs, DVDs and magnetic tape, as
well as early primary memory types such as drum memory, read and write data only in a
predetermined order, consecutively, because of mechanical design limitations. Therefore
the time to access a given data location varies significantly depending on its physical
location.
We need at least 256 MB of RAM because we have to store a large amount of
data in the primary memory which is to be accessed every now and then. This type of
memory is volatile so data is erased when power goes off, so we need secondary
memory also which can store data permanently, so we use the hard disk.
MONITOR
A monitor or display (also called screen or visual display unit) is an electronic
visual display for computers. The monitor comprises the display device, circuitry and an
enclosure. The display device in modern monitors is typically a thin film transistor liquid
crystal display (TFT-LCD) thin panel, while older monitors use a cathode ray tube
(CRT) about as deep as the screen size.
29. We use monitors which give use better quality of vision of the data that is being
displayed.
KEYBOARD
In computing, a keyboard is a typewriter-style device, which uses an
arrangement of buttons or keys, to act as mechanical levers or electronic switches.
Following the decline of punch cards and paper tape, interaction via teleprinter-style
keyboards became the main input device for computers.
A keyboard typically has characters engraved or printed on the keys and each
press of a key typically corresponds to a single written symbol. However, to produce
some symbols requires pressing and holding several keys simultaneously or in sequence.
While most keyboard keys produce letters, numbers or signs (characters), other keys or
simultaneous key presses can produce actions or computer commands.
PROCESSOR
A central processing unit (CPU), also referred to as a central processor unit,
is the hardware within a computer system which carries out the instructions of a
computer program by performing the basic arithmetical, logical, and input/output
operations of the system. The term has been in use in the computer industry at least since
the early 1960s. The form, design, and implementation of CPUs have changed over the
course of their history, but their fundamental operation remains much the same.
On large machines, CPUs require one or more printed circuit boards. On personal
computers and small workstations, the CPU is housed in a single silicon chip called a
microprocessor. Since the 1970s the microprocessor class of CPUs has almost
completely overtaken all other CPU implementations. Modern CPUs are large scale
30. integrated circuits in packages typically less than four centimeters square, with hundreds
of connecting pins.
Two typical components of a CPU are the arithmetic logic unit (ALU), which
performs arithmetic and logical operations, and the control unit (CU), which extracts
instructions from memory and decodes and executes them, calling on the ALU when
necessary.
Not all computational systems rely on a central processing unit. An array
processor or vector processor has multiple parallel computing elements, with no one unit
considered the "center". In the distributed computing model, problems are solved by a
distributed interconnected set of processors.
In my project, the processor that is required is Pentium 4 or its higher versions
for better performance in very small time consumption.
SOFTWARE SPECIFICATION
We require many different software to make the application which is in making
to work efficiently. It is very important to select the appropriate software so that the
software works properly.
Below are the software that are required to make the new system.
1. Windows XP or higher versions
2. SQL Server Management Server 2008
3. Visual Basic 6.0
31. WINDOWS XP
Windows XP is an operating system produced by Microsoft for use on personal
computers, including home and business desktops, laptops and media centers. First
released to computer manufacturers on August 24, 2001, it is the second most popular
version of Windows, based on installed user base. The name "XP" is short for
"eXPerience", highlighting the enhanced user experience.
Windows XP, the successor to Windows 2000 and Windows Me, was the first
consumer-oriented operating system produced by Microsoft to be built on the Windows
NT kernel. Windows XP was released worldwide for retail sale on October 25, 2001,
and over 400 million copies were in use in January 2006. It was succeeded by Windows
Vista in January 2007. Direct OEM and retail sales of Windows XP ceased on June 30,
2008. Microsoft continued to sell Windows XP through their System Builders (smaller
OEMs who sell assembled computers) program until January 31, 2009. On April 10,
2012, Microsoft reaffirmed that extended support for Windows XP and Office 2003
would end on April 8, 2014 and suggested that administrators begin preparing to migrate
to a newer OS.
We make use of the latest OS because , now a days, all the users are friendly with
the latest technologies, so as latest the OS , that well the user will be able to handle the
new software. Moreover, SQL and VB 6.0 which are platform independent software are
easily available and can be used in these OS’s.
SQL SERVER MANAGEMENT STUDIO 2008
SQL Server 2008 (formerly codenamed "Katmai") was released on August 6,
2008 and aims to make data management self-tuning, self organizing, and self
maintaining with the development of SQL Server Always On technologies, to provide
32. near-zero downtime. SQL Server 2008 also includes support for structured and semi-
structured data, including digital media formats for pictures, audio, video and other
multimedia data. In current versions, such multimedia data can be stored as BLOBs
(binary large objects), but they are generic bit streams. Intrinsic awareness of multimedia
data will allow specialized functions to be performed on them. According to Paul
Flessner, senior Vice President, Server Applications, Microsoft Corp., SQL Server 2008
can be a data storage backend for different varieties of data: XML, email, time/calendar,
file, document, spatial, etc as well as perform search, query, analysis, sharing, and
synchronization across all data types.
Other new data types include specialized date and time types and a Spatial data
type for location-dependent data. Better support for unstructured and semi-structured
data is provided using the new FILESTREAM data type, which can be used to reference
any file stored on the file system. Structured data and metadata about the file is stored in
SQL Server database, whereas the unstructured component is stored in the file system.
Such files can be accessed both via Win32 file handling APIs as well as via SQL Server
using T-SQL; doing the latter accesses the file data as a BLOB. Backing up and
restoring the database backs up or restores the referenced files as well. SQL Server 2008
also natively supports hierarchical data, and includes T-SQL constructs to directly deal
with them, without using recursive queries.
The Full-text search functionality has been integrated with the database engine.
According to a Microsoft technical article, this simplifies management and improves
performance.
Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar)
data type represents geospatial data which has been projected from its native, spherical,
coordinate system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an
ellipsoidal model in which the Earth is defined as a single continuous entity which does
not suffer from the singularities such as the international dateline, poles, or map
33. projection zone "edges". Approximately 70 methods are available to represent spatial
operations for the Open Geospatial Consortium Simple Features for SQL, Version 1.1.
SQL Server includes better compression features, which also helps in improving
scalability. It enhanced the indexing algorithms and introduced the notion of filtered
indexes. It also includes Resource Governor that allows reserving resources for certain
users or workflows. It also includes capabilities for transparent encryption of data (TDE)
as well as compression of backups. SQL Server 2008 supports the ADO.NET Entity
Framework and the reporting tools, replication, and data definition will be built around
the Entity Data Model. SQL Server Reporting Services will gain charting capabilities
from the integration of the data visualization products from Dundas Data Visualization,
Inc., which was acquired by Microsoft. On the management side, SQL Server 2008
includes the Declarative Management Framework which allows configuring policies and
constraints, on the entire database or certain tables, declaratively. The version of SQL
Server Management Studio included with SQL Server 2008 supports IntelliSense for
SQL queries against a SQL Server 2008 Database Engine. SQL Server 2008 also makes
the databases available via Windows PowerShell providers and management
functionality available as Cmdlets, so that the server and all the running instances can be
managed from Windows PowerShell.
Microsoft SQL Server is a relational database management system developed
by Microsoft. As a database, it is a software product whose primary function is to store
and retrieve data as requested by other software applications, be it those on the same
computer or those running on another computer across a network (including the
Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at
different audiences and for different workloads (ranging from small applications that
store and retrieve data on the same computer, to millions of users and computers that
access huge amounts of data from the Internet at the same time).
34. True to its name, Microsoft SQL Server's primary query languages are T-SQL and ANSI
SQL
Prior to version 7.0 the code base for MS SQL Server was sold by Sybase SQL
Server to Microsoft, and was Microsoft's entry to the enterprise-level database market,
competing against Oracle, IBM, and, later, Sybase. Microsoft, Sybase and Ashton-Tate
originally teamed up to create and market the first version named SQL Server 1.0 for
OS/2 (about 1989) which was essentially the same as Sybase SQL Server 3.0 on Unix,
VMS, etc. Microsoft SQL Server 4.2 was shipped around 1992 (available bundled with
IBM OS/2 version 1.3). Later Microsoft SQL Server 4.21 for Windows NT was released
at the same time as Windows NT 3.1. Microsoft SQL Server v6.0 was the first version
designed for NT, and did not include any direction from Sybase.
About the time Windows NT was released, Sybase and Microsoft parted ways
and each pursued its own design and marketing schemes. Microsoft negotiated exclusive
rights to all versions of SQL Server written for Microsoft operating systems. Later,
Sybase changed the name of its product to Adaptive Server Enterprise to avoid
confusion with Microsoft SQL Server. Until 1994, Microsoft's SQL Server carried three
Sybase copyright notices as an indication of its origin.
SQL Server 7.0 and SQL Server 2000 included modifications and extensions to
the Sybase code base, adding support for the IA-64 architecture. By SQL Server 2005
the legacy Sybase code had been completely rewritten.
In the ten years since release of Microsoft's previous SQL Server product (SQL
Server 2000), advancements have been made in performance, the client IDE tools, and
several complementary systems that are packaged with SQL Server 2005. These include:
an ETL tool (SQL Server Integration Services or SSIS), a Reporting Server, an OLAP
and data mining server (Analysis Services), and several messaging technologies,
specifically Service Broker and Notification Services.
35. Microsoft makes SQL Server available in multiple editions, with different feature
sets and targeting different users. These editions are:
Mainstream editions
Datacenter
SQL Server 2008 R2 Datacenter is the full-featured edition of SQL Server and is
designed for datacenters that need the high levels of application support and scalability.
It supports 256 logical processors and virtually unlimited memory. Comes with Stream
Insight Premium edition. The Datacenter edition has been retired in SQL Server 2012,
all its features are available in SQL Server 2012 Enterprise Edition.
Enterprise
SQL Server Enterprise Edition includes both the core database engine and add-on
services, with a range of tools for creating and managing a SQL Server cluster. It can
manage databases as large as 524 petabytes and address 2 terabytes of memory and
supports 8 physical processors. SQL 2012 Edition supports 160 Physical Processors
Standard
SQL Server Standard edition includes the core database engine, along with the stand-
alone services. It differs from Enterprise edition in that it supports fewer active instances
(number of nodes in a cluster) and does not include some high-availability functions
such as hot-add memory (allowing memory to be added while the server is still running),
and parallel indexes.
Web
SQL Server Web Edition is a low-TCO option for Web hosting.
Business Intelligence
36. Introduced in SQL Server 2012 and focusing on Self Service and Corporate
Business Intelligence. It includes the Standard Edition capabilities and Business
Intelligence tools: Power Pivot, Power View, and the BI Semantic Model, Master Data
Services, Data Quality Services and xVelocity in-memory analytics.
Workgroup
SQL Server Workgroup Edition includes the core database functionality but does
not include the additional services. Note that this edition has been retired in SQL Server
2012.
Express
SQL Server Express Edition is a scaled down, free edition of SQL Server, which
includes the core database engine. While there are no limitations on the number of
databases or users supported, it is limited to using one processor, 1 GB memory and 4
GB database files (10 GB database files from SQL Server Express 2008 R2). It is
intended as a replacement for MSDE. Two additional editions provide a superset of
features not in the original Express Edition. The first is SQL Server Express with
Tools, which includes SQL Server Management Studio Basic. SQL Server Express
with Advanced Services adds full-text search capability and reporting services.
Specialized editions
Azure
Microsoft SQL Azure Database is the cloud-based version of Microsoft SQL
Server, presented as software as a service on Azure Services Platform.
Compact (SQL CE)
The compact edition is an embedded database engine. Unlike the other editions
of SQL Server, the SQL CE engine is based on SQL Mobile (initially designed for use
with hand-held devices) and does not share the same binaries. Due to its small size
37. (1 MB DLL footprint), it has a markedly reduced feature set compared to the other
editions. For example, it supports a subset of the standard data types, does not support
stored procedures or Views or multiple-statement batches (among other limitations). It is
limited to 4 GB maximum database size and cannot be run as a Windows service,
Compact Edition must be hosted by the application using it. The 3.5 version includes
supports ADO.NET Synchronization Services. SQL CE does not support ODBC
connectivity, unlike SQL Server proper.
Developer
SQL Server Developer Edition includes the same features as SQL Server 2012
Enterprise Edition, but is limited by the license to be only used as a development and test
system, and not as production server. This edition is available to download by students
free of charge as a part of Microsoft's DreamSpark program.
Embedded (SSEE)
SQL Server 2005 Embedded Edition is a specially configured named instance of
the SQL Server Express database engine which can be accessed only by certain
Windows Services.
Evaluation
SQL Server Evaluation Edition, also known as the Trial Edition, has all the
features of the Enterprise Edition, but is limited to 180 days, after which the tools will
continue to run, but the server services will stop.
Fast Track
38. SQL Server Fast Track is specifically for enterprise-scale data warehousing
storage and business intelligence processing, and runs on reference-architecture
hardware that is optimized for Fast Track.
Parallel Data Warehouse (PDW)
A massively parallel processing (MPP) SQL Server appliance optimized for
large-scale data warehousing such as hundreds of terabytes.
Datawarehouse Appliance Edition
Pre-installed and configured as part of an appliance in partnership with Dell &
HP base on the Fast Track architecture. This edition does not include SQL Server
Integration Services, Analysis Services, or Reporting Services.
Architecture
This architecture of MS SQL Server contains different layers and services.
Protocol layer
Protocol layer implements the external interface to SQL Server. All operations
that can be invoked on SQL Server are communicated to it via a Microsoft-defined
format, called Tabular Data Stream (TDS). TDS is an application layer protocol, used to
transfer data between a database server and a client. Initially designed and developed by
Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and later by
Microsoft in Microsoft SQL Server, TDS packets can be encased in other physical
transport dependent protocols, including TCP/IP, Named pipes, and Shared memory.
Consequently, access to SQL Server is available over these protocols. In addition, the
SQL Server API is also exposed over web services.
39. Data storage
The main unit of data storage is a database, which is a collection of tables with
typed columns. SQL Server supports different data types, including primary types such
as Integer, Float, Decimal, Char (including character strings), Varchar (variable length
character strings), binary (for unstructured blobs of data), Text (for textual data) among
others. The rounding of floats to integers uses either Symmetric Arithmetic Rounding or
Symmetric Round Down (Fix) depending on arguments: SELECT Round(2.5, 0) gives
3.
Microsoft SQL Server also allows user-defined composite types (UDTs) to be
defined and used. It also makes server statistics available as virtual tables and views
(called Dynamic Management Views or DMVs). In addition to tables, a database can
also contain other objects including views, stored procedures, indexes and constraints,
along with a transaction log. A SQL Server database can contain a maximum of 2 31
objects, and can span multiple OS-level files with a maximum file size of 2 60 bytes. The
data in the database are stored in primary data files with an extension .mdf. Secondary
data files, identified with a .ndf extension, are used to store optional metadata. Log files
are identified with the .ldf extension.
Storage space allocated to a database is divided into sequentially numbered
pages, each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A
page is marked with a 96-byte header which stores metadata about the page including the
page number, page type, free space on the page and the ID of the object that owns it.
Page type defines the data contained in the page - data stored in the database, index,
allocation map which holds information about how pages are allocated to tables and
indexes, change map which holds information about the changes made to other pages
since last backup or logging, or contain large data types such as image or text. While
page is the basic unit of an I/O operation, space is actually managed in terms of an extent
which consists of 8 pages. A database object can either span all 8 pages in an extent
40. ("uniform extent") or share an extent with up to 7 more objects ("mixed extent"). A row
in a database table cannot span more than one page, so is limited to 8 KB in size.
However, if the data exceeds 8 KB and the row contains Varchar or Varbinary data, the
data in those columns are moved to a new page (or possibly a sequence of pages, called
an Allocation unit) and replaced with a pointer to the data.
For physical storage of a table, its rows are divided into a series of partitions (numbered
1 to n). The partition size is user defined; by default all rows are in a single partition. A
table is split into multiple partitions in order to spread a database over a cluster. Rows in
each partition are stored in either B-tree or heap structure. If the table has an associated
index to allow fast retrieval of rows, the rows are stored in-order according to their index
values, with a B-tree providing the index. The data is in the leaf node of the leaves, and
other nodes storing the index values for the leaf data reachable from the respective
nodes. If the index is non-clustered, the rows are not sorted according to the index keys.
An indexed view has the same storage structure as an indexed table. A table without an
index is stored in an unordered heap structure. Both heaps and B-trees can span multiple
allocation units.
Buffer management
SQL Server buffers pages in RAM to minimize disc I/O. Any 8 KB page can be
buffered in-memory, and the set of all pages currently buffered is called the buffer cache.
The amount of memory available to SQL Server decides how many pages will be cached
in memory. The buffer cache is managed by the Buffer Manager. Either reading from or
writing to any page copies it to the buffer cache. Subsequent reads or writes are
redirected to the in-memory copy, rather than the on-disc version. The page is updated
on the disc by the Buffer Manager only if the in-memory cache has not been referenced
for some time. While writing pages back to disc, asynchronous I/O is used whereby the
41. I/O operation is done in a background thread so that other operations do not have to wait
for the I/O operation to complete. Each page is written along with its checksum when it
is written. When reading the page back, its checksum is computed again and matched
with the stored version to ensure the page has not been damaged or tampered with in the
meantime.
Logging and Transaction
SQL Server ensures that any change to the data is ACID-compliant, i.e. it uses
transactions to ensure that the database will always revert to a known consistent state on
failure. Each transaction may consist of multiple SQL statements all of which will only
make a permanent change to the database if the last statement in the transaction (a
COMMIT statement) completes successfully. If the COMMIT successfully completes
the transaction is safely on disk.
SQL Server implements transactions using a write-ahead log.
Any changes made to any page will update the in-memory cache of the page,
simultaneously all the operations performed will be written to a log, along with the
transaction ID which the operation was a part of. Each log entry is identified by an
increasing Log Sequence Number (LSN) which is used to ensure that all changes are
written to the data files. Also during a log restore it is used to check that no logs are
duplicated or skipped. SQL Server requires that the log is written onto the disc before
the data page is written back. It must also ensure that all operations in a transaction are
written to the log before any COMMIT operation is reported as completed.
At a later point the server will checkpoint the database and ensure that all pages
in the data files have the state of their contents synchronized to a point at or after the
LSN that the checkpoint started. When completed the checkpoint marks that portion of
the log file as complete and may free it (see Simple transaction logging vs. Full
42. transaction logging). This enables SQL Server to ensure integrity of the data, even if the
system fails.
On failure the database log has to be replayed to ensure the data files are in a
consistent state. All pages stored in the roll forward part of the log (not marked as
completed) are rewritten to the database, when the end of the log is reached all open
transactions are rolled back using the roll back portion of the log .
The database engine usually checkpoints quite frequently. However, in a heavily
loaded database this can have a significant performance impact. It is possible to reduce
the frequency of checkpoints or disable them completely but the roll forward during a
recovery will take much longer
Concurrency and locking
SQL Server allows multiple clients to use the same database concurrently. As
such, it needs to control concurrent access to shared data, to ensure data integrity - when
multiple clients update the same data, or clients attempt to read data that is in the process
of being changed by another client. SQL Server provides two modes of concurrency
control: pessimistic concurrency and optimistic concurrency. When pessimistic
concurrency control is being used, SQL Server controls concurrent access by using
locks. Locks can be either shared or exclusive. Exclusive lock grants the user exclusive
access to the data - no other user can access the data as long as the lock is held. Shared
locks are used when some data is being read - multiple users can read from data locked
with a shared lock, but not acquire an exclusive lock. The latter would have to wait for
all shared locks to be released. Locks can be applied on different levels of granularity -
on entire tables, pages, or even on a per-row basis on tables. For indexes, it can either be
on the entire index or on index leaves. The level of granularity to be used is defined on a
per-database basis by the database administrator. While a fine grained locking system
allows more users to use the table or index simultaneously, it requires more resources.
So it does not automatically turn into higher performing solution. SQL Server also
43. includes two more lightweight mutual exclusion solutions - latches and spin locks -
which are less robust than locks but are less resource intensive. SQL Server uses them
for DMVs and other resources that are usually not busy. SQL Server also monitors all
worker threads that acquire locks to ensure that they do not end up in deadlocks - in case
they do, SQL Server takes remedial measures, which in many cases is to kill one of the
threads entangled in a deadlock and rollback the transaction it started. To implement
locking, SQL Server contains the Lock Manager. The Lock Manager maintains an in-
memory table that manages the database objects and locks, if any, on them along with
other metadata about the lock. Access to any shared object is mediated by the lock
manager, which either grants access to the resource or blocks it.
SQL Server also provides the optimistic concurrency control mechanism, which
is similar to the multiversion concurrency control used in other databases. The
mechanism allows a new version of a row to be created whenever the row is updated, as
opposed to overwriting the row, i.e., a row is additionally identified by the ID of the
transaction that created the version of the row. Both the old as well as the new versions
of the row are stored and maintained, though the old versions are moved out of the
database into a system database identified as Tempdb. When a row is in the process of
being updated, any other requests are not blocked (unlike locking) but are executed on
the older version of the row. If the other request is an update statement, it will result in
two different versions of the rows - both of them will be stored by the database,
identified by their respective transaction IDs.
Data retrieval
The main mode of retrieving data from an SQL Server database is querying for it.
The query is expressed using a variant of SQL called T-SQL, a dialect Microsoft SQL
Server shares with Sybase SQL Server due to its legacy. The query declaratively
specifies what is to be retrieved. It is processed by the query processor, which figures out
the sequence of steps that will be necessary to retrieve the requested data. The sequence
44. of actions necessary to execute a query is called a query plan. There might be multiple
ways to process the same query. For example, for a query that contains a join statement
and a select statement, executing join on both the tables and then executing select on the
results would give the same result as selecting from each table and then executing the
join, but result in different execution plans. In such case, SQL Server chooses the plan
that is expected to yield the results in the shortest possible time. This is called query
optimization and is performed by the query processor itself.
SQL Server includes a cost-based query optimizer which tries to optimize on the
cost, in terms of the resources it will take to execute the query. Given a query, then the
query optimizer looks at the database schema, the database statistics and the system load
at that time. It then decides which sequence to access the tables referred in the query,
which sequence to execute the operations and what access method to be used to access
the tables. For example, if the table has an associated index, whether the index should be
used or not - if the index is on a column which is not unique for most of the columns
(low "selectivity"), it might not be worthwhile to use the index to access the data.
Finally, it decides whether to execute the query concurrently or not. While a concurrent
execution is more costly in terms of total processor time, because the execution is
actually split to different processors might mean it will execute faster. Once a query plan
is generated for a query, it is temporarily cached. For further invocations of the same
query, the cached plan is used. Unused plans are discarded after some time.
SQL Server also allows stored procedures to be defined. Stored procedures are
parameterized T-SQL queries, which are stored in the server itself (and not issued by the
client application as is the case with general queries). Stored procedures can accept
values sent by the client as input parameters, and send back results as output parameters.
They can call defined functions, and other stored procedures, including the same stored
procedure (up to a set number of times). They can be selectively provided access to.
Unlike other queries, stored procedures have an associated name, which is used at
runtime to resolve into the actual queries. Also because the code need not be sent from
45. the client every time (as it can be accessed by name), it reduces network traffic and
somewhat improves performance. Execution plans for stored procedures are also cached
as necessary.
SQL CLR
Microsoft SQL Server 2005 includes a component named SQL CLR ("Common
Language Runtime") via which it integrates with .NET Framework. Unlike most other
applications that use .NET Framework, SQL Server itself hosts the .NET Framework
runtime, i.e., memory, threading and resource management requirements of .NET
Framework are satisfied by SQLOS itself, rather than the underlying Windows operating
system. SQLOS provides deadlock detection and resolution services for .NET code as
well. With SQL CLR, stored procedures and triggers can be written in any managed
.NET language, including C# and VB.NET. Managed code can also be used to define
UDTs (user defined types), which can persist in the database. Managed code is compiled
to CLI assemblies and after being verified for type safety, registered at the database.
After that, they can be invoked like any other procedure. However, only a subset of the
Base Class Library is available, when running code under SQL CLR. Most APIs relating
to user interface functionality are not available.
When writing code for SQL CLR, data stored in SQL Server databases can be
accessed using the ADO.NET APIs like any other managed application that accesses
SQL Server data. However, doing that creates a new database session, different from the
one in which the code is executing. To avoid this, SQL Server provides some
enhancements to the ADO.NET provider that allows the connection to be redirected to
the same session which already hosts the running code. Such connections are called
context connections and are set by setting context connection parameter to true in
the connection string. SQL Server also provides several other enhancements to the
ADO.NET API, including classes to work with tabular data or a single row of data as
well as classes to work with internal metadata about the data stored in the database. It
46. also provides access to the XML features in SQL Server, including XQuery support.
These enhancements are also available in T-SQL Procedures in consequence of the
introduction of the new XML Data type (query,value,nodes functions).
Services
SQL Server also includes an assortment of add-on services. While these are not
essential for the operation of the database system, they provide value added services on
top of the core database management system. These services either run as a part of some
SQL Server component or out-of-process as Windows Service and presents their own
API to control and interact with them.
Service Broker
Used inside an instance, it is used to provide an asynchronous programming
environment. For cross instance applications, Service Broker communicates over TCP/IP
and allows the different components to be synchronized together, via exchange of
messages. The Service Broker, which runs as a part of the database engine, provides a
reliable messaging and message queuing platform for SQL Server applications.
Replication Services
SQL Server Replication Services are used by SQL Server to replicate and
synchronize database objects, either in entirety or a subset of the objects present, across
replication agents, which might be other database servers across the network, or database
caches on the client side. Replication follows a publisher/subscriber model, i.e., the
changes are sent out by one database server ("publisher") and are received by others
("subscribers"). SQL Server supports three different types of replication.
47. Transaction replication
Each transaction made to the publisher database (master database) is synced out
to subscribers, who update their databases with the transaction. Transactional replication
synchronizes databases in near real time.
Merge replication
Changes made at both the publisher and subscriber databases are tracked, and
periodically the changes are synchronized bi-directionally between the publisher and the
subscribers. If the same data has been modified differently in both the publisher and the
subscriber databases, synchronization will result in a conflict which has to be resolved -
either manually or by using pre-defined policies. rowguid needs to be configured on a
column if merge replication is configured.
Snapshot replication
Snapshot replication publishes a copy of the entire database (the then-snapshot of
the data) and replicates out to the subscribers. Further changes to the snapshot are not
tracked.
Analysis Services
SQL Server Analysis Services adds OLAP and data mining capabilities for SQL
Server databases. The OLAP engine supports MOLAP, ROLAP and HOLAP storage
modes for data. Analysis Services supports the XML for Analysis standard as the
underlying communication protocol. The cube data can be accessed using MDX and
LINQ queries. Data mining specific functionality is exposed via the DMX query
language. Analysis Services includes various algorithms - Decision trees, clustering
48. algorithm, Naive Bayes algorithm, time series analysis, sequence clustering algorithm,
linear and logistic regression analysis, and neural networks - for use in data mining.
Reporting Services
SQL Server Reporting Services is a report generation environment for data
gathered from SQL Server databases. It is administered via a web interface. Reporting
services features a web services interface to support the development of custom
reporting applications. Reports are created as RDL files.
Reports can be designed using recent versions of Microsoft Visual Studio (Visual
Studio.NET 2003, 2005, and 2008) with Business Intelligence Development Studio,
installed or with the included Report Builder. Once created, RDL files can be rendered
in a variety of formats including Excel, PDF, CSV, XML, TIFF (and other image
formats), and HTML Web Archive.
Notification Services
Originally introduced as a post-release add-on for SQL Server 2000, Notification
Services was bundled as part of the Microsoft SQL Server platform for the first and only
time with SQL Server 2005. SQL Server Notification Services is a mechanism for
generating data-driven notifications, which are sent to Notification Services subscribers.
A subscriber registers for a specific event or transaction (which is registered on the
database server as a trigger); when the event occurs, Notification Services can use one of
three methods to send a message to the subscriber informing about the occurrence of the
event. These methods include SMTP, SOAP, or by writing to a file in the file system.
Notification Services was discontinued by Microsoft with the release of SQL Server
2008 in August 2008, and is no longer an officially supported component of the SQL
Server database platform.
49. Integration Services
SQL Server Integration Services is used to integrate data from different data sources. It
is used for the ETL capabilities for SQL Server for data warehousing needs. Integration
Services includes GUI tools to build data extraction workflows integration various
functionality such as extracting data from various sources, querying data, transforming
data including aggregating, duplication and merging data, and then loading the
transformed data onto other sources, or sending e-mails detailing the status of the
operation as defined by the user.
Full Text Search Service
SQL Server Full Text Search service is a specialized indexing and querying
service for unstructured text stored in SQL Server databases. The full text search index
can be created on any column with character based text data. It allows for words to be
searched for in the text columns. While it can be performed with the SQL LIKE operator,
using SQL Server Full Text Search service can be more efficient. Full allows for inexact
matching of the source string, indicated by a Rank value which can range from 0 to 1000
- a higher rank means a more accurate match. It also allows linguistic matching
("inflectional search"), i.e., linguistic variants of a word (such as a verb in a different
tense) will also be a match for a given word (but with a lower rank than an exact match).
Proximity searches are also supported, i.e., if the words searched for do not occur in the
sequence they are specified in the query but are near each other, they are also considered
a match. T-SQL exposes special operators that can be used to access the FTS
capabilities.
The Full Text Search engine is divided into two processes - the Filter Daemon
process (msftefd.exe) and the Search process (msftesql.exe). These processes
interact with the SQL Server. The Search process includes the indexer (that creates the
50. full text indexes) and the full text query processor. The indexer scans through text
columns in the database. It can also index through binary columns, and use iFilters to
extract meaningful text from the binary blob (for example, when a Microsoft Word
document is stored as an unstructured binary file in a database). The iFilters are hosted
by the Filter Daemon process. Once the text is extracted, the Filter Daemon process
breaks it up into a sequence of words and hands it over to the indexer. The indexer filters
out noise words, i.e., words like A, And etc., which occur frequently and are not useful
for search. With the remaining words, an inverted index is created, associating each
word with the columns they were found in. SQL Server itself includes a Gatherer
component that monitors changes to tables and invokes the indexer in case of updates.
When a full text query is received by the SQL Server query processor, it is
handed over to the FTS query processor in the Search process. The FTS query processor
breaks up the query into the constituent words, filters out the noise words, and uses an
inbuilt thesaurus to find out the linguistic variants for each word. The words are then
queried against the inverted index and a rank of their accurateness is computed. The
results are returned to the client via the SQL Server process.
SQLCMD
SQLCMD is a command line application that comes with Microsoft SQL Server,
and exposes the management features of SQL Server. It allows SQL queries to be
written and executed from the command prompt. It can also act as a scripting language
to create and run a set of SQL statements as a script. Such scripts are stored as a .sql
file, and are used either for management of databases or to create the database schema
during the deployment of a database.
51. SQLCMD was introduced with SQL Server 2005 and this continues with SQL
Server 2008. Its predecessor for earlier versions was OSQL and ISQL, which is
functionally equivalent as it pertains to TSQL execution, and many of the command line
parameters are identical, although SQLCMD adds extra versatility.
Visual Studio
Microsoft Visual Studio includes native support for data programming with
Microsoft SQL Server. It can be used to write and debug code to be executed by SQL
CLR. It also includes a data designer that can be used to graphically create, view or edit
database schemas. Queries can be created either visually or using code. SSMS 2008
onwards, provides intelligence for SQL queries as well.
SQL Server Management Studio
SQL Server Management Studio is a GUI tool included with SQL Server 2005
and later for configuring, managing, and administering all components within Microsoft
SQL Server. The tool includes both script editors and graphical tools that work with
objects and features of the server. SQL Server Management Studio replaces Enterprise
Manager as the primary management interface for Microsoft SQL Server since SQL
Server 2005. A version of SQL Server Management Studio is also available for SQL
Server Express Edition, for which it is known as SQL Server Management Studio
Express (SSMSE).
A central feature of SQL Server Management Studio is the Object Explorer,
which allows the user to browse, select, and act upon any of the objects within the
server. It can be used to visually observe and analyze query plans and optimize the
database performance, among others. SQL Server Management Studio can also be used
to create a new database, alter any existing database schema by adding or modifying
tables and indexes, or analyze performance. It includes the query windows which
provide a GUI based interface to write and execute queries.
52. Business Intelligence Development Studio
Business Intelligence Development Studio (BIDS) is the IDE from Microsoft
used for developing data analysis and Business Intelligence solutions utilizing the
Microsoft SQL Server Analysis Services, Reporting Services and Integration Services. It
is based on the Microsoft Visual Studio development environment but is customized
with the SQL Server services-specific extensions and project types, including tools,
controls and projects for reports (using Reporting Services), Cubes and data mining
structures (using Analysis Services).
Programmability
T-SQL
T-SQL (Transact-SQL) is the primary means of programming and managing
SQL Server. It exposes keywords for the operations that can be performed on SQL
Server, including creating and altering database schemas, entering and editing data in the
database as well as monitoring and managing the server itself. Client applications that
consume data or manage the server will leverage SQL Server functionality by sending T-
SQL queries and statements which are then processed by the server and results (or
errors) returned to the client application. SQL Server allows it to be managed using T-
SQL. For this it exposes read-only tables from which server statistics can be read.
Management functionality is exposed via system-defined stored procedures which can
be invoked from T-SQL queries to perform the management operation. It is also possible
to create linked Server using T-SQL. Linked server allows operation to multiple server
as one query.
SQL Native Client (aka SNAC)
SQL Native Client is the native client side data access library for Microsoft SQL
Server, version 2005 onwards. It natively implements support for the SQL Server
53. features including the Tabular Data Stream implementation, support for mirrored SQL
Server databases, full support for all data types supported by SQL Server, asynchronous
operations, query notifications, encryption support, as well as receiving multiple result
sets in a single database session. SQL Native Client is used under the hood by SQL
Server plug-ins for other data access technologies, including ADO or OLE DB. The SQL
Native Client can also be directly used, bypassing the generic data access layers.
VISUAL BASIC 6.0
Visual Basic is a third-generation event-driven programming language and
integrated development environment (IDE) from Microsoft for its COM programming
model first released in 1991. Visual Basic is designed to be relatively easy to learn and
use. Visual Basic was derived from BASIC and enables the rapid application
development (RAD) of graphical user interface (GUI) applications, access to databases
using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation
of ActiveX controls and objects. Scripting languages such as VBA and VBScript are
syntactically similar to Visual Basic, but perform differently.
A programmer can put together an application using the components provided
with Visual Basic itself. Programs written in Visual Basic can also use the Windows
API, but doing so requires external function declarations. Though the program has
received criticism for its perceived faults, from version 3 Visual Basic was a runaway
commercial success, and many companies offered third party controls greatly extending
its functionality.
The final release was version 6 in 1998. Microsoft's extended support ended in
March 2008 and the designated successor was Visual Basic .NET (now known simply as
Visual Basic).
Like the BASIC programming language, Visual Basic was designed to be easily
learned and used by beginner programmers. The language not only allows programmers
54. to create simple GUI applications, but to also develop complex applications.
Programming in VB is a combination of visually arranging components or controls on a
form, specifying attributes and actions of those components, and writing additional lines
of code for more functionality. Since default attributes and actions are defined for the
components, a simple program can be created without the programmer having to write
many lines of code. Performance problems were experienced by earlier versions, but
with faster computers and native code compilation this has become less of an issue.
Although VB programs can be compiled into native code executables from
version 5 onwards, they still require the presence of runtime libraries of approximately 1
MB in size. Runtime libraries are included by default in Windows 2000 and later,
however for earlier versions of Windows, i.e. 95/98/NT, runtime libraries must be
distributed together with the executable.
Forms are created using drag-and-drop techniques. A tool is used to place
controls (e.g., text boxes, buttons, etc.) on the form (window). Controls have attributes
and event handlers associated with them. Default values are provided when the control is
created, but may be changed by the programmer. Many attribute values can be modified
during run time based on user actions or changes in the environment, providing a
dynamic application. For example, code can be inserted into the form resize event
handler to reposition a control so that it remains centered on the form, expands to fill up
the form, etc. By inserting code into the event handler for a key press in a text box, the
program can automatically translate the case of the text being entered, or even prevent
certain characters from being inserted.
Visual Basic can create executables (EXE files), ActiveX controls, or DLL files,
but is primarily used to develop Windows applications and to interface database systems.
Dialog boxes with less functionality can be used to provide pop-up capabilities. Controls
provide the basic functionality of the application, while programmers can insert
additional logic within the appropriate event handlers. For example, a drop-down
55. combination box will automatically display its list and allow the user to select any
element. An event handler is called when an item is selected, which can then execute
additional code created by the programmer to perform some action based on which
element was selected, such as populating a related list.
Alternatively, a Visual Basic component can have no user interface, and instead
provide ActiveX objects to other programs via Component Object Model (COM). This
allows for server-side processing or an add-in module.
The runtime recovers unused memory using reference counting which depends
on variables passing out of scope or being set to "Nothing", resulting in the very
common problem of memory leaks. There is a large library of utility objects, and the
language provides basic object oriented support. Unlike many other programming
languages, Visual Basic is generally not case sensitive, although it will transform
keywords into a standard case configuration and force the case of variable names to
conform to the case of the entry within the symbol table. String comparisons are case
sensitive by default.
The Visual Basic compiler is shared with other Visual Studio languages (C, C+
+), but restrictions in the IDE do not allow the creation of some targets (Windows model
DLLs) and threading models.
Characteristics
Visual Basic has the following traits which differ from C-derived languages:
• Statements tend to be terminated with keywords such as "End If", instead of
using "{}"s to group statements.
• Multiple variable assignments are not possible. A = B = C does not imply that the
values of A, B and C are equal. The boolean result of "Is B = C?" is stored in A.
The result stored in A would therefore be either false or true.
56. • Boolean constant True has numeric value −1. This is because the Boolean data
type is stored as a 16-bit signed integer. In this construct −1 evaluates to 16
binary 1s (the Boolean value True), and 0 as 16 0s (the Boolean value False).
This is apparent when performing a Not operation on a 16 bit signed integer
value 0 which will return the integer value −1, in other words True = Not
False. This inherent functionality becomes especially useful when performing
logical operations on the individual bits of an integer such as And, Or, Xor and
Not. This definition of True is also consistent with BASIC since the early 1970s
Microsoft BASIC implementation and is also related to the characteristics of
CPU instructions at the time.
• Logical and bitwise operators are unified. This is unlike some C-derived
languages (such as Perl), which have separate logical and bitwise operators. This
again is a traditional feature of BASIC.
• Variable array base. Arrays are declared by specifying the upper and lower
bounds in a way similar to Pascal and FORTRAN. It is also possible to use the
Option Base statement to set the default lower bound. Use of the Option Base
statement can lead to confusion when reading Visual Basic code and is best
avoided by always explicitly specifying the lower bound of the array. This lower
bound is not limited to 0 or 1, because it can also be set by declaration. In this
way, both the lower and upper bounds are programmable. In more subscript-
limited languages, the lower bound of the array is not variable. This uncommon
trait does exist in Visual Basic .NET but not in VBScript.
OPTION BASE was introduced by ANSI, with the standard for ANSI Minimal
BASIC in the late 1970s.
• Relatively strong integration with the Windows operating system and the
Component Object Model. The native types for strings and arrays are the
dedicated COM types, BSTR and SAFEARRAY.
57. • Banker's rounding as the default behavior when converting real numbers to
integers with the Round function ? Round(2.5, 0) gives 2, ? Round(3.5, 0)
gives 4.
• Integers are automatically promoted to reals in expressions involving the normal
division operator (/) so that division of one integer by another produces the
intuitively correct result. There is a specific integer divide operator () which
does truncate.
• By default, if a variable has not been declared or if no type declaration character
is specified, the variable is of type Variant. However this can be changed with
Deftype statements such as DefInt, DefBool, DefVar, DefObj, DefStr. There
are 12 Deftype statements in total offered by Visual Basic 6.0. The default type
may be overridden for a specific declaration by using a special suffix character
on the variable name (# for Double, ! for Single, & for Long, % for Integer, $ for
String, and @ for Currency) or using the key phrase As (type). VB can also be
set in a mode that only explicitly declared variables can be used with the
command Option Explicit.
History
VB 1.0 was introduced in 1991. The drag and drop design for creating the user
interface is derived from a prototype form generator developed by Alan Cooper and his
company called Tripod. Microsoft contracted with Cooper and his associates to develop
Tripod into a programmable form system for Windows 3.0, under the code name Tripod
did not include a programming language at all. Microsoft decided to combine Ruby with
the Basic language to create Visual Basic.
The Ruby interface generator provided the "visual" part of Visual Basic and this
was combined with the "EB" Embedded BASIC engine designed for Microsoft's
abandoned "Omega" database system. Ruby also provided the ability to load dynamic
58. link libraries containing additional controls (then called "gizmos"), which later became
the VBX interface.
Timeline
• Project 'Thunder' was initiated in 1990.
• Visual Basic 1.0 (May 1991) was released for Windows at the Comdex/Windows
World trade show in Atlanta, Georgia.
• Visual Basic 1.0 for DOS was released in September 1992. The language itself
was not quite compatible with Visual Basic for Windows, as it was actually the
next version of Microsoft's DOS-based BASIC compilers, QuickBasic and
BASIC Professional Development System. The interface used a Text user
interface, using extended ASCII characters to simulate the appearance of a GUI.
• Visual Basic 2.0 was released in November 1992. The programming
environment was easier to use, and its speed was improved. Notably, forms
became instantiable objects, thus laying the foundational concepts of class
modules as were later offered in VB4.
• Visual Basic 3.0 was released in the summer of 1993 and came in Standard and
Professional versions. VB3 included version 1.1 of the Microsoft Jet Database
Engine that could read and write Jet (or Access) 1.x databases.
• Visual Basic 4.0 (August 1995) was the first version that could create 32-bit as
well as 16-bit Windows programs. It has three editions; Standard, Professional,
and Enterprise. It also introduced the ability to write non-GUI classes in Visual
Basic. Incompatibilities between different releases of VB4 caused installation
and operation problems. While previous versions of Visual Basic had used VBX
controls, Visual Basic now used OLE controls (with files names ending in .OCX)
instead. These were later to be named ActiveX controls.
• With version 5.0 (February 1997), Microsoft released Visual Basic exclusively
for 32-bit versions of Windows. Programmers who preferred to write 16-bit
59. programs were able to import programs written in Visual Basic 4.0 to Visual
Basic 5.0, and Visual Basic 5.0 programs can easily be converted with Visual
Basic 4.0. Visual Basic 5.0 also introduced the ability to create custom user
controls, as well as the ability to compile to native Windows executable code,
speeding up calculation-intensive code execution. A free, downloadable Control
Creation Edition was also released for creation of ActiveX controls. It was also
used as an introductory form of Visual Basic: a regular .exe project could be
created and run in the IDE, but not compiled.
• Visual Basic 6.0 (Mid 1998) improved in a number of areas including the ability
to create web-based applications. VB6 has entered Microsoft's "non-supported
phase" as of March 2008. Although the Visual Basic 6.0 development
environment is no longer supported, the runtime is supported on Windows Vista,
Windows Server 2008 and Windows 7.
• Mainstream Support for Microsoft Visual Basic 6.0 ended on March 31, 2005.
Extended support ended in March 2008. In response, the Visual Basic user
community expressed its grave concern and lobbied users to sign a petition to
keep the product alive. Microsoft has so far refused to change their position on
the matter. Ironically, around this time (2005), it was exposed that Microsoft's
new anti-spy ware offering, Microsoft AntiSpyware (part of the GIANT
Company Software purchase), was coded in Visual Basic 6.0. Its replacement,
Windows Defender, was rewritten as C++ code.
Derivative languages
Microsoft has developed derivatives of Visual Basic for use in scripting. Visual
Basic itself is derived heavily from BASIC, and subsequently has been replaced with
a .NET platform version.
Some of the derived languages are:
60. • Visual Basic for Applications (VBA) is included in many Microsoft applications
(Microsoft Office), and also in many third-party products like Solid Works,
AutoCAD, WordPerfect Office 2002, ArcGIS, Sage 300 ERP, and Business
Objects Desktop Intelligence. There are small inconsistencies in the way VBA is
implemented in different applications, but it is largely the same language as VB6
and uses the same runtime library. Although Visual Basic development ended
with 6.0, in 2010 Microsoft introduced VBA 7 to provide extended features and
64-bit support for VBA.
• VBScript is the default language for Active Server Pages. It can be used in
Windows scripting and client-side web page scripting. Although it resembles VB
in syntax, it is a separate language and it is executed by vbscript.dll as opposed to
the VB runtime. ASP and VBScript should not be confused with ASP.NET
which uses the .NET Framework for compiled web pages.
• Visual Basic .NET is Microsoft's designated successor to Visual Basic 6.0, and is
part of Microsoft's .NET platform. Visual Basic.Net compiles and runs using
the .NET Framework. It is not backwards compatible with VB6. An automated
conversion tool exists, but fully automated conversion for most projects is
impossible.
• StarOffice Basic is a Visual Basic compatible interpreter included in StarOffice
suite, developed by Sun Microsystems.
• Gambas is a Visual Basic inspired free software programming language. It is not
a clone of Visual Basic, but it does have the ability to convert Visual Basic
programs to Gambas.
Performance and other issues
Earlier versions of Visual Basic (prior to version 5) compiled the code to P-Code
only. The P-Code is interpreted by the language runtime. The benefits of P-Code include
portability and smaller binary file sizes, but it usually slows down the execution, since
61. having a runtime adds an additional layer of interpretation. However, small amounts of
code and algorithms can be constructed to run faster than compiled native code.
Visual Basic applications require Microsoft Visual Basic runtime
MSVBVMxx.DLL, where xx is the relevant version number, either 50 or 60.
MSVBVM60.dll comes as standard with Windows in all editions after Windows 98
while MSVBVM50.dll comes with all editions after Windows 95. A Windows 95
machine would however require inclusion with the installer of whichever dll was needed
by the program.
Visual Basic 5 and 6 can compile code to either native or P-Code but in either
case the runtime is still required for built in functions and forms management.
62. DATA FLOW DIAGRAM
A DFD also known as ‘bubble chart’ has the purpose of clarifying system
requirements and identifying major transformations. It shows the flow of data through a
system. It is a graphical tool because it presents a picture. The DFD may be partitioned
into levels that represent increasing information flow and functional detail. Four simple
notations are used to complete a DFD. These notations are given below:-
DATA FLOW:-
63. The data flow is used to describe the movement of information from one part of
the system to another part. Flows represent data in motion. It is a pipe line through
which information flows. Data flow is represented by an arrow.
PROCESS:-
A circle or bubble represents a process that transforms incoming data to outgoing
data. Process shows a part of the system that transforms inputs to outputs.
EXTERNAL ENTITY:-
A square defines a source or destination of system data. External entities
represent any entity that supplies or receive information from the system but is not a part
of the system.
DATA STORE:-
The data store represents a logical file. A logical file can represent either a data store
symbol which can represent either a data structure or a physical file on disk. The data
store is used to collect data at rest or a temporary repository of data. It is represented by
open rectangle.
64. LEVEL 0 DFD for Network based Quiz System
LEVEL 1 DFD for Network Based Quiz System
65.
66. SYSTEM DESIGN
The system which is in making is developed by working on two different
modules and combining them to work as a single unit. That single unit is the one which
is known as the new software. We go through the different design strategies to design
the system we are talking about. In the input design we decide which type of input
67. screens are going to be used for the system in making. In the output design we decide the
output screens and the reports that will be used to give the output and in the database
design we decide what all tables will be required and what all fields will be there in
those tables. Each of them is discussed briefly below.
INPUT DESIGN
Input design is the process of converting the user-originated inputs to a
computer-based format. For my project I will be making use of forms which will enable
me to get the user inputs with the help of the various tools like text box and combo
boxes. The forms that will be used are based on GUI and so any user will be able to use
it with ease. The design for handling input specifies how data are accepted for
computer processing.
Input design is a part of overall system design that needs careful attention and if
includes specifying the means by which actions are taken. A system user interacting
through a workstation must be able to tell the system whether to accept input produce a
report or end processing. The collection of input data is considered to be the most
expensive part of the system design. Since the inputs have to be planned in such a
manner so as to get the relevant information extreme care is taken to obtain the
information. If the data going into the system is incorrect then the processing and outputs
will magnify these errors. The major activities carried out are
1. Collection of needed data from the source
2. Conversion of data into computer accepted form.
3. Verification of converted data.
4. Checking data for accuracy.
The following are the major input screens used for the application:
Login screen: used for providing user id and password.
Registration form: used for storing the details of different users.