8/8/2019 Dot Net Report
1/61
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION TO PROJECT
\Today, many businesses implement ecommerce solutions such as selling books, music,
and computer hardware. Dot-NET doesn't necessarily change the nature of these existing
businesses. However, dot-NET can make it is easier to start new small businesses and
allow customers to more easily find these businesses online. Microsoft is an active
participant in efforts to develop the Universal Discovery, Description, and Integration
(UDDI) system, that could turn out to be a worldwide registry service for dot-NET
applications.
This project is made by using the .NET technology. This technology is so
much advanced. In this we are using the C# languase for coding and
asp.net technology for designing the web pages .we are using SQL server
2005 as a database. Dot-NET consists of a number of technologies that allow
software developers to build Internet-based distributed systems. Individual pieces of
these systems, called software components, can be built using several different
programming languages and by several different organizations. Through a common set of
core functionality, Dot-NET allows these components to work reliably with each other.
The project online skill evaluation test provide the facility to check the
skill a of student .
(1)
8/8/2019 Dot Net Report
2/61
1.2NECESSITY
1.2.1 ADVANTAGE OF SYSTEM
Consistent Programming Model
Different programming languase have different approaches for doing a task.For example ,
accessing accessing data with a VB 6.0 application and a VC++ application is totally
different. When using different programming languages to do a task, a disparity exists
among the approach developers use to perform the task. The difference in techniques
comes from how different languages interact with the underlying system that applications
rely on.
Direct Support for SecurityDeveloping an application that resides on a local machine and uses local resources is easy. In this
scenario, security isn't an issue as all the resources are available and accessed locally. Consider an
application that accesses data on a remote machine or has to perform a privileged task on behalf
of a nonprivileged user. In this scenario security is much more important as the application is
accessing data from a remote machine.
With .NET, the Framework enables the developer and the system administrator to specify
method level security. It uses industry-standard protocols such as TCP/IP, XML, SOAP
and HTTP to facilitate distributed application communications. This makes
distributedcomputing more secure because .NET developers cooperate
with network security devices instead of working around their security limitations.
Simplified Development Efforts
ASP.NET and the .NET Framework simplify development by separating the application
logic and presentation logic making it easier to maintain the code. You write the design
(2)
http://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspx8/8/2019 Dot Net Report
3/61
code (presentation logic) and the actual code (application logic) separately eliminating
the need to mix HTML code with ASP code. ASP.NET can also handle the details of
maintaining the state of the controls, such as contents in a textbox, between calls to the
same ASP.NET page.
Another advantage of creating applications is debugging. Visual Studio .NET and other
third party providers provide several debugging tools that simplify application
development. The .NET Framework simplifies debugging with support for Runtime
diagnostics. Runtime diagnostics helps you to track down bugs and also helps you to
determine how well an application performs. The .NET Framework provides three types
of Runtime diagnostics: Event Logging, Performance Counters and Tracing.
Easy Application Deployment and Maintenance
The .NET Framework makes it easy to deploy applications. In the most common form, to
install an application, all you need to do is copy the application along with the
components it requires into a directory on the target computer. The .NET Framework
handles the details of locating and loading the components an application needs, even if
several versions of the same application exist on the target computer. The .NET
Framework ensures that all the components the application depends on are available on
the computer before the application begins to execute.
(3)
http://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspx8/8/2019 Dot Net Report
4/61
1.3 OBJECTIVE
1.3.1PROPOSED SYSTEM
In the new proposed system employee record, company details, has been kept
the computer only once. The redundancy is minimum and the records are stored in
reference to each other that is all the static data is stored at a place and users will picked
from the particular location in reference to some common field. Thus it makes the
retrieval of data more easy and convenient. The system is highly secure and it require
password to log on and for connecting to the database.
Menu Driven
The project has many easy to use menus through which the user can easily
communicate through the project and an easy navigational path to the user with full
information where to click and what for.
Validation checks and topics
The validation checks mark a special importance in the computerized system. These
checks are put to mark or validate the entries for a particular field, these checks provide
the help to the end user to make entries in the particular field. Moreover since the
computerized system use back ends to store the data it is very important to make sure that
the data being supplied to the database must be free from the redundancy.
(4)
8/8/2019 Dot Net Report
5/61
Significance of the proposed system
The proposed computerized system provides a fast access to the data retrieval and with
fewer chances of error occurrence. The use of proposed system minimizes and make
updation at a single press of button.The generation of the reports is easily done by the
system on the single click of the button. The reports are more accurate in terms of figures
and are more enchanting to look at.
NEED OF PROPOSED SYSTEM
The complexities involved in the existing manual system as studied by us and
explored after discussions with the respective employees are as follows:
1. Updating Problem:
In the existing system, since every thing is noted down on paper, it is immense error
prone and time consuming to update data.
2. Redundancy:
In the existing system the data is maintained on the sheets/register. This in turn leads
to considerable redundancy in the stored data, thus leading to wastage of stored place.
Same data needs to be written multiple numbers of times, for minor work, which again
leads to data redundancy.
3. Inconsistency:
If the system is not aware of duplication of the data then there can be cases in which two
entries of the same data will not agree. Obviously, such a system, which is in an
(5)
8/8/2019 Dot Net Report
6/61
inconsistent stage, is liable of supplying incorrect or conflicting information. Multiple
entries of same data lead to erroneous situation, which are difficult to hand
4. Security Problem:
The maintenance of data on manual register leads to security problems, as every
person has easy access to registers. Easy access of the registers leads to misusage of data
and it is difficult to trace the modification made by a person.
5. Maintenance of Data:
Maintenance of data is very difficult. As daily hundreds of data are to be stored,
so it is immensely difficult to store and trace data when required.
1.4 ORGNISATION
1.4.1 COMPANY PROFILE
ABOUT APTECH
Aptech Computer Education is the IT education brand ofAptech Limited. Established in
1986, it is a pioneer in IT education.
Through its wide network of centres in India and overseas, Aptech has so far trained 5
million students.
1.4.2Courses
Aptech offers a wide range of courses. These include courses for12th pass/
college students, courses forengineers as well as short-term courses to improve skills &
knowledge in any one area.
(6)
http://www.aptech-education.com/pages/about-us/about-aptech.htmlhttp://www.aptech-education.com/pages/courses/index.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/about-us/about-aptech.htmlhttp://www.aptech-education.com/pages/courses/index.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.html8/8/2019 Dot Net Report
7/61
The company also has alliances with leading IT companies i.e. Sun Microsystems, Oracle
& Red Hat to offer courses leading to certifications from these companies.
The following courses are available:
ACCP Career course (to become a complete IT professional)
ACTS Career course (.NET & Java for engineering/ B.Sc-IT/ BCA/ MCA
students)
Sun, Oracle & Red Hat Certification courses
Short-term courses
Courses for 12th pass/ college students
Courses for engineering students
Courses for IT students
Quality education
Aptech gives great importance to quality of education.
The company:
Ensures that its course curriculum is as per the needs of the industry & is always
kept updated.
Provides high-quality learning aids - including books & CDs - to the students &
faculty. These are developed specially by the company.
(7)
http://www.aptech-education.com/pages/courses/our-alliances.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/career-courses/accp.htmlhttp://www.aptech-education.com/pages/courses/career-courses/acts.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/for-it-students/index.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/index.htmlhttp://www.aptech-education.com/pages/courses/our-alliances.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/career-courses/accp.htmlhttp://www.aptech-education.com/pages/courses/career-courses/acts.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/for-it-students/index.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/index.html8/8/2019 Dot Net Report
8/61
Carries out regular training & certification of its faculty to ensure that they are
able to handle even advanced IT topics.
Supports classroom teaching with assignments, workshops & guided E-Projects.
1.4.3 COMPANY PLACEMENT
Aptech assists students in getting job placementson successful completion of their
courses.
Aptech also provides recruitment assistance to organizations. Aptech students are
shortlisted based on the organization's requirement.
To make students job-ready, Aptech conducts workshops e.g. how to do Group
Discussions, how to behave in a Personal Interview. From time to time, job fairs &
campus recruitments are conducted. Workplace skills such as time management, making
effective presentations and communication skills are also provided.
All this helps students find appropriate jobs in the IT industry while also helping save
companies recruitment costs.
1.4.4 Business partners
IT education is a large market and a profitable business opportunity. Aptech has built a
wide network of centres through its partnership with hundreds of franchisees.
(8)
http://www.aptech-education.com/pages/why-aptech/quality-education/e-projects.htmlhttp://www.aptech-education.com/pages/placements/index.htmlhttp://www.aptech-education.com/pages/placements/placement-for-students/placement-tips.htmlhttp://www.aptech-education.com/pages/why-aptech/workplace-skills.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/e-projects.htmlhttp://www.aptech-education.com/pages/placements/index.htmlhttp://www.aptech-education.com/pages/placements/placement-for-students/placement-tips.htmlhttp://www.aptech-education.com/pages/why-aptech/workplace-skills.html8/8/2019 Dot Net Report
9/61
The passion and efforts of thesebusiness partners, along with the support given by
Aptech, have made Aptech Computer Education a household name.
The company is a pioneer in education franchising and has also set up nationwide
network of centres for its brands, Arena Animation,N-Power Hardware &
Networking and Avalon Academy.
RETAIL BUSINESSES
Aptech Computer
Education
IT training & education
Arena AnimationAnimation &
multimedia training
Avalon AcademyAviation, Hospitality & Tourism education
(9)
http://www.aptech-education.com/pages/business-partners/index.htmlhttp://www.arena-multimedia.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.avalonacademy.in/http://www.aptech-education.com/http://www.aptech-education.com/http://www.arena-multimedia.com/http://www.avalon-aviation.com/http://www.avalon-aviation.com/http://www.arena-multimedia.com/http://www.aptech-education.com/http://www.aptech-education.com/pages/business-partners/index.htmlhttp://www.arena-multimedia.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.avalonacademy.in/http://www.aptech-education.com/http://www.aptech-education.com/http://www.arena-multimedia.com/http://www.avalon-aviation.com/8/8/2019 Dot Net Report
10/61
N-Power
Hardware & networking
Aptech WorldwideInternational IT &
multimedia training
English Express
English language training
(10)
http://www.aptechnpower.com/http://www.aptech-globaltraining.com/http://www.englishexpress.in/http://www.englishexpress.in/http://www.aptech-globaltraining.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.aptech-globaltraining.com/http://www.englishexpress.in/8/8/2019 Dot Net Report
11/61
CHAPTER 2
TRAINING WORK
2.1 Details of Hardware and Software:- Various tools have been used to finally
accomplish the software completely. The brief introduction has been given below
regarding the software and the hardware used in developing the software : -
2.1.1 SOFTWARE REQUIREMENTS:
Operating System Windows XP with Service Pack 4 Onwards
Programming Language MS-VB.NET, C# .NET, ASP.NET
Database Handling SQL Server 2005 Onwards
Image & Logo Microsoft Paint
Editing Microsoft Word
2.1.2 HARDWARE REQUIREMENTS:
Processor 600 MHZ Processor or faster
RAM 192 MB or more
Hard disk space 2 GB
DVD-Rom drive
1,024*768 or higher resolution display
With 256 colors
OTHERS Keyboard, Mouse, printer, scanner
(11)
8/8/2019 Dot Net Report
12/61
2.2 TECHNOLOGY USED
2.2.1 .NET
INTRODUCTION:
The Microsoft .NET Framework is a software frameworkthat can be installed on
computers running Microsoft Windows operating systems. It includes a large library of
coded solutions to common programming problems and a virtual machine that manages
the execution of programs written specifically for the framework. The .NET Framework
is a key Microsoft offering and is intended to be used by most new applications created
for the Windows platform.
The framework's Base Class Library provides a large range of features including
userinterface, data and data access, database connectivity, cryptography, web
application development, numeric algorithms, and network communications. The class
library is used by programmers, who combine it with their own code to produce
applications.
Programs written for the .NET Framework execute in a software environment that
manages the program's runtime requirements. Also part of the .NET Framework, this
runtime environment is known as the Common Language Runtime (CLR). The CLR
provides the appearance of an application virtual machine so that programmers need not
consider the capabilities of the specific CPU that will execute the program. The CLR also
provides other important services such as security, memory management, and exception
handling. The class library and the CLR together constitute the .NET Framework.
(12)
http://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Run_time_systemhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Virtual_machine#Application_virtual_machinehttp://en.wikipedia.org/wiki/Central_Processing_Unithttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Run_time_systemhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Virtual_machine#Application_virtual_machinehttp://en.wikipedia.org/wiki/Central_Processing_Unithttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Exception_handling8/8/2019 Dot Net Report
13/61
.NET ARCHITECTURE:
Common Language Infrastructure (CLI)
The purpose of the Common Language Infrastructure, or CLI, is to provide a language-
neutral platform for application development and execution, including functions for
exception handling, garbage collection, security, and interoperability. By implementing
the core aspects of the .NET Framework within the scope of the CLI, this functionality
will not be tied to a single language but will be available across the many languages
supported by the framework. Microsoft's implementation of the CLI is called
the Common Language Runtime, or CLR.
Assemblies
The CIL code is housed in .NET assemblies. As mandated by specification, assemblies
are stored in the Portable Executable (PE) format, common on the Windows platform for
all DLL and EXE files. The assembly consists of one or more files, one of which must
contain the manifest, which has the metadata for the assembly. The complete name of an
assembly (not to be confused with the filename on disk) contains its simple text name,
version number, culture, and public key token. The public key token is a unique hash
generated when the assembly is compiled, thus two assemblies with the same public key
token are guaranteed to be identical from the point of view of the framework. A private
key can also be specified known only to the creator of the assembly and can be used for
strong naming and to guarantee that the assembly is from the same author when a new
(13)
http://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/.NET_assemblyhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Public_keyhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/.NET_assemblyhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Public_key8/8/2019 Dot Net Report
14/61
version of the assembly is compiled (required to add an assembly to the Global Assembly
Cache).
Fig. 3.1
Visual overview of the Common Language Infrastructure
Metadata
All CIL is self-describing through .NET metadata. The CLR checks the metadata to
ensure that the correct method is called. Metadata is usually generated by language
compilers but developers can create their own metadata through custom attributes.
Metadata contains information about the assembly, and is also used to implement
the reflective programming capabilities of .NET Framework.
(14)
http://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/.NET_metadatahttp://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/File:Overview_of_the_Common_Language_Infrastructure.svghttp://en.wikipedia.org/wiki/File:Overview_of_the_Common_Language_Infrastructure.svghttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/.NET_metadatahttp://en.wikipedia.org/wiki/Reflection_(computer_science)8/8/2019 Dot Net Report
15/61
Security
.NET has its own security mechanism with two general features: Code Access
Security (CAS), and validation and verification. Code Access Security is based on
evidence that is associated with a specific assembly. Typically the evidence is the source
of the assembly (whether it is installed on the local machine or has been downloaded
from the intranet or Internet). Code Access Security uses evidence to determine the
permissions granted to the code. Other code can demand that calling code is granted a
specified permission. The demand causes the CLR to perform a call stack walk: every
assembly of each method in the call stack is checked for the required permission; if any
assembly is not granted the permission a security exception is thrown.
When an assembly is loaded the CLR performs various tests. Two such tests are
validation and verification. During validation the CLR checks that the assembly contains
valid metadata and CIL, and whether the internal tables are correct. Verification is not so
exact. The verification mechanism checks to see if the code does anything that is 'unsafe'.
The algorithm used is quite conservative; hence occasionally code that is 'safe' does not
pass. Unsafe code will only be executed if the assembly has the 'skip verification'
permission, which generally means code that is installed on the local machine.
.NET Framework uses appdomains as a mechanism for isolating code running in
a process. Appdomains can be created and code loaded into or unloaded from them
independent of other appdomains. This helps increase the fault tolerance of the
application, as faults or crashes in one appdomain do not affect rest of the application.
Appdomains can also be configured independently with different security privileges. This
(15)
http://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Application_Domainhttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Application_Domainhttp://en.wikipedia.org/wiki/Process_(computing)8/8/2019 Dot Net Report
16/61
can help increase the security of the application by isolating potentially unsafe code. The
developer, however, has to split the application into subdomains; it is not done by the
CLR.
Class library
The .NET Framework includes a set ofstandard class libraries. The class library is
organized in a hierarchy ofnamespaces. Most of the built in APIs are part of
either System.* or Microsoft.* namespaces. These class libraries implement a large
number of common functions, such as file reading and writing, graphic rendering,
database interaction, and XML document manipulation, among others. The .NET class
libraries are available to all .NET languages. The .NET Framework class library is
divided into two parts: the Base Class Library and the Framework Class Library.
The Base Class Library (BCL) includes a small subset of the entire class library and is
the core set of classes that serve as the basic API of the Common Language Runtime.
[10] The classes in mscorlib.dll and some of the classes
in System.dll and System.core.dll are considered to be a part of the BCL. The BCL
classes are available in both .NET Framework as well as its alternative implementations
including .NET Compact Framework, Microsoft Silverlight andMono.
The Framework Class Library (FCL) is a superset of the BCL classes and refers to the
entire class library that ships with .NET Framework. It includes an expanded set of
libraries, including WinForms, ADO.NET, ASP.NET, Language Integrated
Query, Windows Presentation Foundation,Windows Communication Foundation among
(16)
http://en.wikipedia.org/wiki/Standard_libraryhttp://en.wikipedia.org/wiki/Namespace_(computer_science)http://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/.NET_Framework#cite_note-bcllibs-9http://en.wikipedia.org/wiki/.NET_Compact_Frameworkhttp://en.wikipedia.org/wiki/Microsoft_Silverlighthttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Framework_Class_Libraryhttp://en.wikipedia.org/wiki/WinFormshttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Windows_Presentation_Foundationhttp://en.wikipedia.org/wiki/Windows_Communication_Foundationhttp://en.wikipedia.org/wiki/Standard_libraryhttp://en.wikipedia.org/wiki/Namespace_(computer_science)http://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/.NET_Framework#cite_note-bcllibs-9http://en.wikipedia.org/wiki/.NET_Compact_Frameworkhttp://en.wikipedia.org/wiki/Microsoft_Silverlighthttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Framework_Class_Libraryhttp://en.wikipedia.org/wiki/WinFormshttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Windows_Presentation_Foundationhttp://en.wikipedia.org/wiki/Windows_Communication_Foundation8/8/2019 Dot Net Report
17/61
others. The FCL is much larger in scope than standard libraries for languages like C++,
and comparable in scope to thestandard libraries of Java.
Memory management
The .NET Framework CLR frees the developer from the burden of managing memory
(allocating and freeing up when done); instead it does the memory management itself. To
this end, the memory allocated to instantiations of .NET types (objects) is done
contiguously from the managed heap, a pool of memory managed by the CLR. As long as
there exists a reference to an object, which might be either a direct reference to an object
or via a graph of objects, the object is considered to be in use by the CLR. When there is
no reference to an object, and it cannot be reached or used, it becomes garbage. However,
it still holds on to the memory allocated to it. .NET Framework includes a garbage
collectorwhich runs periodically, on a separate thread from the application's thread, that
enumerates all the unusable objects and reclaims the memory allocated to them.
The .NET Garbage Collector(GC) is a non-deterministic, compacting, mark-and-sweep
garbage collector. The GC runs only when a certain amount of memory has been used or
there is enough pressure for memory on the system. Since it is not guaranteed when the
conditions to reclaim memory are reached, the GC runs are non-deterministic. Each .NET
application has a set of roots, which are pointers to objects on the managed heap
(managed objects). These include references to static objects and objects defined as local
variables or method parameters currently in scope, as well as objects referred to by CPU
registers. When the GC runs, it pauses the application, and for each object referred to in
the root, it recursivelyenumerates all the objects reachable from the root objects and
(17)
http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_Class_Libraryhttp://en.wikipedia.org/wiki/Graph_(data_structure)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Thread_(computing)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Recursionhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_Class_Libraryhttp://en.wikipedia.org/wiki/Graph_(data_structure)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Thread_(computing)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Recursion8/8/2019 Dot Net Report
18/61
marks them as reachable. It uses .NET metadata and reflection to discover the objects
encapsulated by an object, and then recursively walk them. It then enumerates all the
objects on the heap (which were initially allocated contiguously) using reflection. All
objects not marked as reachable are garbage. This is the mark phase. Since the memory
held by garbage is not of any consequence, it is considered free space. However, this
leaves chunks of free space between objects which were initially contiguous. The objects
are then compacted together, by using memcpy to copy them over to the free space to
make them contiguous again. Any reference to an object invalidated by moving the object
is updated to reflect the new location by the GC. The application is resumed after the
garbage collection is over.
The GC used by .NET Framework is actually generational. Objects are assigned
a generation; newly created objects belong to generation 0. The objects that survive a
garbage collection are tagged as generation1, and the Generation 1 objects that survive
another collection are Generation 2 objects. The .NET Framework uses up to Generation
2 objects. Higher generation objects are garbage collected less frequently than lower
generation objects. This helps increase the efficiency of garbage collection, as older
objects tend to have a larger lifetime than newer objects. Thus, by removing older
objects from the scope of a collection run, fewer objects need to be checked and
compacted.
(18)
http://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/Memcpyhttp://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/Memcpy8/8/2019 Dot Net Report
19/61
ADO .NET:
ADO.NET is a set of computer software components that can be used by programmers to
access data and data services. It is a part of the base class library that is included with the
Microsoft .NET Framework. It is commonly used by programmers to access and modify
data stored in relational database systems, though it can also be used to access data in
non-relational sources. ADO.NET is sometimes considered an evolution ofActiveX Data
Objects (ADO) technology, but was changed so extensively that it can be considered an
entirely new product.
ARCHITECTURE OF ADO .NET
ADO.NET consists of two primary parts:
Data provider
These classes provide access to a data source, such as a Microsoft SQL ServerorOracle
database and OLEDB data provider. Each data source has its own set of provider objects,
but they each have a common set of utility classes:
Connection: Provides a connection used to communicate with the data source.
Also acts as an abstract factory for command objects.
Command: Used to perform some action on the data source, such as reading,
updating, or deleting relational data.
Parameter: Describes a single parameter to a command. A common example is a
parameter to a stored procedure.
Data Adapter: A bridge used to transfer data between a Data source and a
DataSet object (see below).
(19)
http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Abstract_factory_patternhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/Parameterhttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/DataAdapterhttp://en.wikipedia.org/wiki/DataAdapterhttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Abstract_factory_patternhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/Parameterhttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/DataAdapter8/8/2019 Dot Net Report
20/61
Data Reader: Used to efficiently process a large list of results one record at a
time. It allows records to be accessed in a read-only, forward-only mode, i.e., records
have to be accessed in sequential order; they can neither be randomly accessed nor
can a record which has been processed previously be accessed again.
Data Sets
DataSet is objects, a group of classes describing a simple in-memory relational database,
were the star of the show in the initial release (1.0) of the Microsoft.NET Framework.
The classes form a containment hierarchy:
A DataSet object represents a schema (either an entire database or a subset of
one). It can contain tables and relationships between those tables.
A DataTable object represents a single table in the database. It has a name, rows,
and columns.
A DataView object overlays a Data Table and sorts the data (much like
an SQL "order by" clause) and filters the records (much like an SQL "where"
clause) if a filter is set. An in-memory index is used to facilitate these operations.
All Data Tables have a default filter, while any number of additional Data Views
can be defined, reducing interaction with the underlying database and thus
improving performance.
A represents a column of the table, including its name and type.
(20)
http://en.wikipedia.org/wiki/DataReaderhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Order_byhttp://en.wikipedia.org/wiki/Where_(SQL)http://en.wikipedia.org/wiki/DataReaderhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Order_byhttp://en.wikipedia.org/wiki/Where_(SQL)8/8/2019 Dot Net Report
21/61
A Data Row object represents a single row in the table; it allows reading and
updating of values in that row, likewise retrieving any rows that are related to it
through a primary-key foreign-key relationship.
A Data Row View represents a single row of a Data View. The distinction
between a Data Row and Data Row View is important when iterating over a result
set.
A DataRelation is a relationship between tables, e.g. a primary-key foreign-key
relationship. This is useful for enabling Data Row's functionality of retrieving
related rows.
A Constraint describes an enforced property of the database, e.g. the uniqueness
of the values in a primary key column. When data is being modified any
violations that arise shall cause exceptions.
A DataSet is populated from a database by a DataAdapter
whose Connection and Commandproperties have been set. However, a DataSet can save
its contents to XML (optionally with anXSD schema), or populate itself from XML,
making it exceptionally useful for web services, distributed computing, and occasionally-
connected applications.
(21)
http://en.wikipedia.org/wiki/Iteratinghttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XSDhttp://en.wikipedia.org/wiki/Iteratinghttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XSD8/8/2019 Dot Net Report
22/61
Fig3.2 ADO .NET ARCHITECTURE
2.2.2 C # LANGUASE
INTRODUCTION:
C Sharp is designed for the .NET framework. The .NET framework is object oriented.
C Sharp has a great set of tools for the object oriented programmer. C Sharp
is standardized as ECMA-334 by ECMA International and as ISO/IEC 23270 by
ISO /IEC. C Sharp is the first component oriented language in the C/C++ family.
C Sharp can be embedded in web pages (ASP.NET). In C++ and Java primitive
date types (int, double, etc) are magic and do not interoperate with objects.
(22)
http://en.wikipedia.org/wiki/File:DotNet3.0.svg8/8/2019 Dot Net Report
23/61
In Smalltalk and Lisp primitive types are objects, but at great performance cost.
C Sharp unifies this with no performance cost. C Sharp also adds new primitive data
The accessibility options are:
Public - accessible to all
Private - accessible to containing class
Protected - accessible to containing or derived classes
Internal - accessible to code in same assembly
Protected internal - means protected or internal
Classes can be marked as public or internal. By default classes are private.
Type members in CSharp are:
Fields: The state of an object or type
Methods: Constructors, Functions, Properties (smart fields)
Members come in two basic forms
Instance - per object data and methods (default)
Static - per type data and methods (use the static keyword).
Constructors are used to initialize fields. We can implement simpler constructors
in terms of more complex ones with the this keyword. We can indicate which
base constructor to call by using the base keyword. Type constructors are used to
initialize static fields for a type. We use the static keyword to indicate a type
constructor.
(23)
8/8/2019 Dot Net Report
24/61
All types in the system are derived from class object. The class object contains
the functions string ToString() and bool Equals() which should be overriden
when we write our own class.
We use the virtual keyword to make a method virtual. In a derived class, an
override method is marked with the override keyword.
CSharp has built in support for events. This is useful for dealing with objects in an
event driven operating system. More than one type can register interest in a single
event. A single type can register interest in any number of events.
CSharp supports interfaces using the interface keyword. Our types can implement
interfaces. We must implement all methods. Interfaces can contain methods but no
fields with properties and events included.
CSharp also provides type conversion, for example if char c = a; we can convert
to an integer int i = (int) c; via the ASCII table.
C# provides a mechanism for programmers to document their code using a special
comment syntax that contains XML text. Comments using such syntax are called
documentation comments. The XML generation tool is called the documentation
generator. This generator could be the C# compiler itself.
The names given to variables, methods etc. by the programmer are referred to as
identifiers. An identifier has to: begin with a letter, or begin with an underscore.
It cannot be the same as built-in keywords. Identifiers are case-sensitive.
The following is a list of keywords. Keywords are reserved identifiers that hold a
special meaning to the CSharp compiler. We can use the same name as a keyword
C# cannot be run without installing the .NET Framework. The .NET Framework is
(24)
8/8/2019 Dot Net Report
25/61
installed automatically when Windows Server 2003, Windows XP SP2, Vista or later
is installed. It is also installed when Visual Studio 2003, 2005 or 2008 is installed.
The .NET Framework is also available as a separate download from Microsoft.
The current version of the .Net Framework is version 3.5, but many machines still
run 1.1, 2.0 and 3.0.
The .NET Framework consists of several components, the most important of which
are the runtime and Class Library. See Table 1.1 for an overview of the stack.
Version 3.5 adds several capabilities to the stack: the Windows Presentation Foundation
(WPF), Windows Communication Foundation (WCF), Windows Workflow
Foundation (WF), Windows CardSpace and Language Integrated Query (LINQ).
SilverLight is a web-based subset of WPF.
The runtime, or Common Language Runtime (CLR) provides a virtual machine for
the execution of .NET code. In addition, CLR provides services that include memory
management, thread management, component lifetime management, garbage
collection and default error handling. A benefit of the CLR is that it provides these
execution services to all .NET applications without any additional effort on the part
of the programmer.
When a .NET program is compiled, the compiler generates an .exe file. However, this
.exe file does not contain directly executable instructions. Instead it contains Common
Intermediate Language (CIL). When the .exe is executed it does not interact
with the operating system directly but with the CLR. This is similar to Java, with
CIL being analogous to bytecode and CLR with the Java Virtual Machine(JVM).
When a .NET application is first executed, the CLR performs a compile of the CIL
(25)
8/8/2019 Dot Net Report
26/61
and creates a directly executable file from it. This is known as Just In Time compilation.
This theoretically overcomes the performance overhead associated with
Using virtual machines.
The Class Library is a collection of extensible class libraries organised hierarchically
into namespaces. The Class Library covers a wide range, including user interface,
data access and database connectivity (ADO.NET), cryptography, web application
Development (ASP.NET), numeric algorithms, XML and network communications.
The Class Library is language-independent.
For example, the System namespace is at the top of the namespace hierarchy. It
Contains all the types that represent the base data types such as text, numbers and
Dates. The Systems. Windows. Forms namespace allows the programmer to take
Advantage of the Windows forms engine to create graphical user interface objects
Easily.
The Common Language Specification (CLS) is a specification for creating or porting
Programming languages to that they are .NET compatible. The CLS uses a Common
Type System (CTS). This is a component of the CLR and provides a
Common set of data types that are consistent between all .NET languages .
(26)
8/8/2019 Dot Net Report
27/61
2.2.3 ASP.NET
Contents
Introduction
Web Application Fundamentals
Parts of an ASP.NET Web Application
ASP.NET Architecture
INTRODUCTION:ASP.NET is the platform used to create Web applications and Web services that run
under IIS (Internet Information Service).
ASP.NET is more than the next version of Active Server Pages (ASP); it is a unified Web
development platform that provides the services necessary for developers to build
enterprise-class Web applications. While ASP.NET is largely syntax compatible with
ASP, it also provides a new programming model and infrastructure for more secure,
scalable, and stable applications.
ASP.NET is a compiled, .NET-based environment; Developer can author applications in
any .NET compatible language, including Visual Basic .NET, C#, and JScript .NET.
Additionally, the entire .NET Framework is available to any ASP.NET application.
Developers can easily access the benefits of these technologies, which include the
managed common language runtime environment, type safety, inheritance, and so on.
ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and
other programming tools, including Microsoft Visual Studio .NET. Not only does this
(27)
8/8/2019 Dot Net Report
28/61
make Web development easier, but it also provides all the benefits that these tools have to
offer, including a GUI that developers can use to drop server controls onto a Web page
and fully integrated debugging support.
Developers can choose from the following two features when creating an ASP.NET
application, Web Forms and Web services, or combine these in any way they see fit.
Each is supported by the same infrastructure that allows using authentication schemes;
cache frequently used data, or customizes applications configuration, to name only a few
possibilities.
Web Forms allows building powerful forms-based Web pages. When building
these pages, ASP.NET server controls can be used to create common UI elements,
and program them for common tasks. These controls allow to rapidly building a
Web Form out of reusable built-in or custom components, simplifying the code of
a page.
An XML Web service provides the means to access server functionality
remotely. Using Web services, businesses can expose programmatic interfaces to
their data or business logic, which in turn can be obtained and manipulated by
client and server applications. XML Web services enable the exchange of data in
client-server or server-server scenarios, using standards like HTTP and XML
messaging to move data across firewalls. XML Web services are not tied to a
particular component technology or object-calling convention. As a result,
programs written in any language, using any component model, and running on
any operating system can access XML Web services
(28)
8/8/2019 Dot Net Report
29/61
Web Application Fundamentals
The Internet allows people from all over the world to communicate with each other via
their computers. This technology has brought about many new possibilities, including e-
mail, instant messaging and the World Wide Web.
Originally, web sites were very simple. There were only HTML pages on any topic
.people could share whatever they liked, those early pages were static-visitors could not
interact with them in any way.
The Web quickly evolved and new levels of functionality were added, including images,
tables, and forms. This finally allowed visitors to interact with Web sites, giving rise to
guest books and user polls. Web site developers began to build other neat little tricks into
their sites, such as image rollovers and dropdown menus.
This allowed interactivity, but true dynamic content was still lacking. Then server
processing was introduced. A visitor can now interact with database, process content, and
determine new types of visitor demographics over the Web.
ASP.Net is a server technology that brings together the different pieces of the Web to
give Web sites developer more power than ever.
(29)
8/8/2019 Dot Net Report
30/61
Dynamic processing
The internet works on the client /server model .Two computers work together, sending
information back and forth, to perform a task. The most common scenario is
communication between a server (a computer that holds information) and a client (a
computer that wants the information).
The client computer sends a request for information to he server, the server then responds
to the client with the information that was requested of it. This paradigm is the
request/response model, and it is an integral part of the client/server model. Although
this is a marvelous way to communicate and distribute information, its rather simple and
static. It cant provide any dynamic information or processing. The server simply waits
around for someone t request information, and then it returns the data thats already
stored on its hard drive without really looking at what its sending.
Generally, static Web request follows these four steps:
1. The client locates a Web Server through its URL (such as www.microsoft.com).
2. The client requests page (such as index.htm).
3. The server sends the requested document.
4. The client receives the document and displays it.
On the other hand in server processing the server takes a look at what it sends before it
sends it, and it can take orders from the client. The server can return dynamic data, such
(30)
8/8/2019 Dot Net Report
31/61
as that from a database, calculations it performs and anything else the client may ask for.
The modified work flow is as follows:
1. The client locates a Web Server through its URL (such as www.microsoft.com).
2. The client requests page (such as index.htm).
3. The server examines the requested file and processes any code it contains.
4. The server translates the results of the processing to HTML and sends the requested
document to the client.
5. The client receives the document and displays it.
Theres another model for communicating between servers and clients, known as the
event-driven model. The server waits around for something to happen on the client.
Once it does the server takes action and performs some piece of functionality. This model
is much easier for building applications than using a request/response scenario.
ASP.net works in this way-it detects actions and responds to them.
Client-side processing
Client side processing occurs when some programming code in an HTML page is placed
the client can understand. This code is simply HTML that the browser executes. For
example
(31)
8/8/2019 Dot Net Report
32/61
alert (Hello World);
-- >
Welcome to my page
If browser supports client side scripting, it will understand that line 5 is telling it to
display message box to the user saying Hello World.
So now we have two places to execute code: on the server, where everything is returned
to the clients as HTML, and on the client. These two locations of code are distinct and
cannot interact with each other. Table below outlines the differences client-side and
server-side code.
(32)
8/8/2019 Dot Net Report
33/61
3.1 Table Name: The differences between Client side and server side
Location Description
Client-side This code isnt processed at all by theserver. Thats solely the client
responsibility. Code is written in scripts-
plain text commands that instruct theclient to do something.
Generally used for performing dynamicclient effects, such as image rollovers or
dynamic message boxes.
Server-side This code is executed only on the server.
Any content or information that this code
produces must be converted to plain
HTML before sent to the client.Code can be written in scripts as well, but
ASP.net uses compiled languages.
Used for processing content an returning
data.
Parts of an ASP.NET Web Application
A Web application consists of three parts: content, program logic, and Web configuration
information. Table below summarizes these parts and gives examples of where they
reside in an ASP.NET Web application.
(33)
8/8/2019 Dot Net Report
34/61
3.2 Table Name: Parts of an ASP.NET Web Application
Part Types of Files Description
Content Web Forms, HTML,images, audio, video, other
data
Content files determine theappearance of a Web
application. They can
contain static text andimages as well as elements
that are composed on the fly
by the program logic (as inthe case of a database
query).
Program Logic Executable files, scripts The program logic
determines how the
application responds to useractions. ASP.NET Web
applications have a
dynamic-link library (DLL)
file that runs on the server,and they can also include
scripts that run on the client
machine.
Configuration Web configuration file,
Style sheets, IIS settings
The configuration files and
settings determine how theapplication runs on the
server, who has access, howerrors are handled, and
other details.
The Web form is the key element of a Web application. A Web form is a cross between a
regular HTML page and a Windows form: It has the same appearance and similar
behavior to an HTML page, but it also has controls that respond to events and run code,
like a Windows form.
(34)
8/8/2019 Dot Net Report
35/61
In a completed Web application, the executable portion of the Web form is stored in an
executable (.dll) that runs on the server under the control of IIS. The content portion of
the Web form resides in a content directory of the Web server, as shown in Figure
Fig.3.3Web Application parts on a Web Server
When a user navigates to one of the Web Forms pages from his or her browser, the
following sequence occurs:
IIS starts the Web applications executable if it is not already running.
The executable composes a response to the user based on the content of the Web Forms
page that the user requested and any program logic that provides dynamic content.
IIS returns the response to the user in the form of HTML.
Once the user gets the requested Web form, he or she can enter data, select options, click
buttons, and use any other controls that appear on the page. Some controls, such as
(35)
8/8/2019 Dot Net Report
36/61
8/8/2019 Dot Net Report
37/61
As the illustration shows, all Web clients communicate with ASP.NET applications
through IIS. IIS deciphers and optionally authenticates the request. IIS also finds the
requested resource (such as an ASP.NET application), and, if the client is authorized,
returns the appropriate resource.
Integrating with IIS
IIS always assumes that a set of credentials maps to a Windows NT account and uses
them to authenticate a user. There are three different kinds of authentication
available in IIS 5.0: basic, digest, andIntegrated WindowsAuthentication (NTLMor Kerberos). A developer can select the type of authentication to use in the IIS
administrative services. If URL is requested containing an ASP.NET application,
the request and authentication information are handed off to the application.
ASP.NET provides the two additional types of authentication described in the
following table
3.4 Table Name: Two type of authentication provide by ASP.NET
ASP.NET authentication provider Description
Forms authentication A system by which unauthenticated
requests are redirected to an HTML
form using HTTP client-side redirection.The user provides credentials and
submits the form. If the application
authenticates the request, the systemissues a form that contains the
credentials or a key for reacquiring theidentity. Subsequent requests are issuedwith the form in the request headers;
they are authenticated and authorized by
an ASP.NET handler using whatevervalidation method the application
(37)
8/8/2019 Dot Net Report
38/61
developer specifies.
Passport authentication Centralized authentication service
provided by Microsoft that offers a
single log on and core profile servicesfor member sites.
Using ASP.NET Configuration Files
ASP.NET configuration, of which security is a part, has a hierarchical architecture. All
configuration information for ASP.NET is contained in files named Web.config and
Machine.config. Web.config can be placed in the same directories as the application files.
The Machine.config file is in the Config directory of the install root. Subdirectories
inherit a directory's settings unless overridden by a Web.config file in the subdirectory. In
a Web.config file, there are sections for each major category of ASP.NET functionality.
2.2.4 DATABASE USED IN PROJECT:
SQL 2005:
INTRODUCTION:
Microsoft SQL Server is a relational model database serverproduced by Microsoft. Its
primary query languages are T-SQL and ANSI .
ARCHITECTURE:
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
(38)
http://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Transact-SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tabular_Data_Streamhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Transact-SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tabular_Data_Stream8/8/2019 Dot Net Report
39/61
data between a database server and a client. Initially designed and developed by Sybase
Inc. for theirSybase SQL Serverrelational 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 bando web services.
DATA STORAGE:
The main unit ofdata storage is a database, which is a collection of tables
with typed columns. SQL Server supports different data types, includingprimary
types such as Integer, Float,Decimal, Char (including character
strings), Varchar (variable length character strings), binary (for unstructuredblobs of
data), Text (for textual data) among others. It also allows user-defined composite types
(UDTs) to be defined and used. SQL Server also makes server statistics available as
virtual tables and views (called Dynamic Management Views or DMVs). A database can
also contain other objects including views, stored procedures, indexes and constraints, in
addition to tables, along with a transaction log. A SQL Server database can contain a
maximum of 231 objects, and can span multiple OS-level files with a maximum file size
of 220TB. The data in the database are stored in primary data files with an
extension .mdf. Secondary data files, identified with an .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
(39)
http://en.wikipedia.org/wiki/Sybase_SQL_Serverhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/Named_pipehttp://en.wikipedia.org/wiki/Shared_memoryhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Binary_large_objecthttp://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/Constraint_(database)http://en.wikipedia.org/wiki/Terabytehttp://en.wikipedia.org/wiki/Sybase_SQL_Serverhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/Named_pipehttp://en.wikipedia.org/wiki/Shared_memoryhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Binary_large_objecthttp://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/Constraint_(database)http://en.wikipedia.org/wiki/Terabyte8/8/2019 Dot Net Report
40/61
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 ("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 orVarbinary 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 eitherB-tree orheap 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
(40)
http://en.wikipedia.org/wiki/Cluster_computinghttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Heap_(data_structure)http://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Cluster_computinghttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Heap_(data_structure)http://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/View_(database)8/8/2019 Dot Net Report
41/61
without an index is stored in an unordered heap structure. Both heaps and B-trees can
span multiple allocation units.
Buffer management
SQL Serverbuffers 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 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 any operation either totally completes or is undone if
fails, but never leaves the database in an intermediate state. Using transactions, a
sequence of actions can be grouped together, with the guarantee that either all actions
will succeed or none will. SQL Server implements transactions using a write-ahead log.
(41)
http://en.wikipedia.org/wiki/Data_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Checksumhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Transaction_(database)http://en.wikipedia.org/wiki/Data_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Checksumhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Transaction_(database)8/8/2019 Dot Net Report
42/61
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 ensure that no event overwrites another.
SQL Server ensures that the log will be written onto the disc before the actual page is
written back. This enables SQL Server to ensure integrity of the data, even if the system
fails. If both the log and the page were written before the failure, the entire data is on
persistent storage and integrity is ensured. If only the log was written (the page was either
not written or not written completely), then the actions can be read from the log and
repeated to restore integrity. If the log wasn't written then integrity is also maintained
although the database state remains unchanged as if the transaction never occurred. If it
was only partially written, then the actions associated with the unfinished transaction are
discarded. Since the log was only partially written, the page is guaranteed to have not
been written, again ensuring data integrity. Removing the unfinished log entries
effectively undoes the transaction. SQL Server ensures consistency between the log and
the data every time an instance is restarted.
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
(42)
http://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Optimistic_concurrency_controlhttp://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Optimistic_concurrency_control8/8/2019 Dot Net Report
43/61
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 includes
two more lightweight mutual exclusion solutions - latches and spinlocks - 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.
(43)
http://en.wikipedia.org/wiki/Mutual_exclusionhttp://en.wikipedia.org/wiki/Deadlockhttp://en.wikipedia.org/wiki/Mutual_exclusionhttp://en.wikipedia.org/wiki/Deadlock8/8/2019 Dot Net Report
44/61
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 RETRIVAL:
The main mode of retrieving data from an SQL Server database is querying for it. The
query is expressed using a variant ofSQL called T-SQL, a dialect Microsoft SQL Server
shares withSybase SQL Serverdue 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 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
(44)
http://en.wikipedia.org/wiki/Multiversion_concurrency_controlhttp://en.wikipedia.org/wiki/Database_queryhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/Adaptive_Server_Enterprisehttp://en.wikipedia.org/wiki/Declarative_programming_languagehttp://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Multiversion_concurrency_controlhttp://en.wikipedia.org/wiki/Database_queryhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/Adaptive_Server_Enterprisehttp://en.wikipedia.org/wiki/Declarative_programming_languagehttp://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Select_(SQL)8/8/2019 Dot Net Report
45/61
that is supposed 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, 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 queryconcurrently 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, that 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
(45)
http://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Database_schemahttp://en.wikipedia.org/wiki/Concurrent_computinghttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Access_controlhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Database_schemahttp://en.wikipedia.org/wiki/Concurrent_computinghttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Access_control8/8/2019 Dot Net Report
46/61
runtime to resolve into the actual queries. Also because the code need not be sent from
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
Frameworkruntime, 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 triggerscan be written in
any managed.NET language, including C# and VB.NET. Managed code can also be used
to define UDT's (user defined types), which can persist in the database.Managed code is
compiled to .NET assemblies and after being verified fortype safety, registered at the
database. After that, they can be invoked like any other procedure.[11]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.[11]
When writing code for SQL CLR, data stored in SQL Server databases can be accessed
using the ADO.NET APIs like any othermanaged 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
(46)
http://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Trigger_(database)http://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/VB.NEThttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/User_defined_typehttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Assembly_(.NET)http://en.wikipedia.org/wiki/Type_safetyhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Trigger_(database)http://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/VB.NEThttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/User_defined_typehttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Assembly_(.NET)http://en.wikipedia.org/wiki/Type_safetyhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Managed_code8/8/2019 Dot Net Report
47/61
the ADO.NETprovider 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 settingcontext 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 also provides access to the XML
features in SQL Server, including XQuerysupport. These enhancements are also available
in T-SQL Procedures in consequence of the introduction of the new XML Datatype
(query,value,nodes functions).
TOOLS:
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.
SQLCMD was introduced with SQL Server 2005 and this continues with SQL Server
2008. Its predecessor for earlier versions was OSQL, which is functionally equivalent and
many of the command line parameters are identical.
(47)
http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/Scripting_languagehttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/Scripting_language8/8/2019 Dot Net Report
48/61
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 adata 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 intellisense 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.[31] SQL Server Management Studio replaces Enterprise
Manageras 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.
(48)
http://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Intellisensehttp://en.wikipedia.org/wiki/SQL_Server_Management_Studiohttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-30http://en.wikipedia.org/wiki/Enterprise_Managerhttp://en.wikipedia.org/wiki/Enterprise_Managerhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Intellisensehttp://en.wikipedia.org/wiki/SQL_Server_Management_Studiohttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Microsoft_SQL_S