Matter for Bus Reservation System Final report

download Matter for Bus Reservation System Final report

of 112

Transcript of Matter for Bus Reservation System Final report

  • 7/27/2019 Matter for Bus Reservation System Final report

    1/112

    PROJECT REPORT

    ON

    BUS RESERVATION SYSTEM

    Project Submitted in partial fulfillment of

    the requirement of the award of degreeof

    Master of Science(Information Technology)

    (2006-2009)

    Submitted byNehpal Singh RathoreVijay AgarwalM.Sc.IT Final Semester

    Under Guidance of: Submitted to:SH. HARDAYAL SINGH SH. HARDAYAL SINGHH.O.D. (MCA Deptt.) H.O.D. (MCA Deptt.)Engineering College Engineering CollegeBikaner Bikaner

  • 7/27/2019 Matter for Bus Reservation System Final report

    2/112

    Bus Reservation System

    A Project Report

    Project Submitted in partial fulfillment

    of the requirement of the award ofdegree of

    Master of Science -IT (2006-2009)

    Under Guidance of: Submitted By:Sh. Hardayal Singh Nehpal Singh RathoreH.O.D. (MCA Deptt.) Vijay Agarwal

    Engineering College

    University Of Rajasthan, Jaipur (Rajasthan)(Year 2008)

  • 7/27/2019 Matter for Bus Reservation System Final report

    3/112

    Certificate

  • 7/27/2019 Matter for Bus Reservation System Final report

    4/112

    Acknowledgement

    A project like this takes quite a lot of time to do properly. As is often the

    case, this project owes its existence and certainly its quality to a number of

    people, whose name does not appear on the cover. Among them is one of the

    most extra ordinary programmers it has been my pleasure to work with

    Mr. Bajarang Lal Agarwal, who did a super job in technically editing this

    project. He did more then just check the facts by offering thoughtful logic

    where needed to improve the project as a whole.

    We also thank to Mr. Sh. Hardayal Singh (H.O.D. -MCA Deptt.

    Engineering College Bikaner) who deserves credit for helping me done the

    project and taking care of all the details that most programmers really dont

    think about. Errors and confusions are my responsibility, but the quality of

    the project is to their credit and we can only thank them.

    We are highly thankful and feel obliged to Rathore Travelsstaff members

    for nice Co-Operation and valuable suggestions in my project work.

    We owe my obligation to my friends and other colleagues in the computer

    field for their co-operation and support.

    We thank God for being on my side.

    (Nehpal Singh Rathore)

    (Vijay Agarwal)

  • 7/27/2019 Matter for Bus Reservation System Final report

    5/112

    Table of Contents

    Chapter 1 Introduction

    Chapter 2 Development model

    Chapter 3 System Study

    Chapter 4 Project Monitoring System

    Chapter 5 System Analysis

    Chapter 6 Technology Used

    Chapter 7 System Design

    Chapter 8 System Testing

    Chapter 9 System Implementation

    Chapter 10 Conclusion

    Chapter 11 Scope of the Project

  • 7/27/2019 Matter for Bus Reservation System Final report

    6/112

    Chapter 1

    Introuction

  • 7/27/2019 Matter for Bus Reservation System Final report

    7/112

    In bus reservation system there has been a collection of buses, agent who are

    booking tickets for customers journey which give bus number and departure time

    of the bus. According to its name it manages the details of all agent, tickets, rental

    details, and timing details and so on. It also manages the updating of the objects.

    In the tour detail there is information about bus, who has been taking

    customers at their destination, it also contain the detailed information about the

    customer, who has been taken from which bus and at what are the number of

    members he or she is taking his/her journey.

    This section also contain the details of booking time of the seat(s) or

    collecting time of the tickets, this section also contain the booking date and the

    name of agent which is optional, by which the customer can reserve the seats for

    his journey

    In Bus no category it contains the details of buses which are old/new.

    New buses are added with the details with bus no, from city to the city, type of the

    bus, rent of a single seat, if the bus has sleeper than the cost of sleeper, if the cabin

    has the facility for sitting than the cost of cabin seats, tour timings of the new bus

    has also been stored. How many buses are currently given and available in office?

    In seats specification it gives the list of given issued and currently

    available seats and contain the information about seats like sleeper, cabin etc.

    The main objective of this project to provide the better work efficiency, security,

    accuracy, reliability, feasibility. The error occurred could be reduced to nil and

    working conditions can be improved.

  • 7/27/2019 Matter for Bus Reservation System Final report

    8/112

    Chapter 2

    Development model

  • 7/27/2019 Matter for Bus Reservation System Final report

    9/112

    Development model

    Software Process Model

    Our project life cycle uses the waterfall model, also known as classic life cycle

    model or linear sequential model.

    The Waterfall Model

    The waterfall model encompasses the following activities:

    1. System/information Engineering and Modeling

    System Engineering and Analysis encompass requirements gathering at the system

    level with a small amount of Top-level design and analysis. Information

    Engineering encompasses requirements gathering at the strategic business level

    and at the business area level.

    2. Software requirements analysis

    Software requirements analysis involves requirements for both the system and the

    software to be document and reviewed with the customer.

    3. Design

    System/Information

    Engineering

    Analysis Design Code Test

  • 7/27/2019 Matter for Bus Reservation System Final report

    10/112

    Software design is actually a multi-step process that focuses on for distinct

    attributes of a program: data structure, software architecture, interfaces

    representation and procedural detail. The design process translates requirements

    into a representation of the software that can be accessed for quality before coding

    begins.

    4. Code Generation

    Code-Generation phase translates the design into a machine-readable form.

    5. Testing

    Once code has been generated, program testing begins. The testing focuses on the

    logical internals of the software, ensuring that all statement have been tested, and

    on the functional externals; that is, conducting test to uncover errors and ensure

    that define input will produce actual results that agree with required results.

    6. Support

    Software will undoubtedly undergo change after it is delivered to the customer.

    Change will occur because errors have been encountered, because the software

    must be adapted to accommodate changes in its external environment or because

    the customer requires functional or performance enhancements.

  • 7/27/2019 Matter for Bus Reservation System Final report

    11/112

    Chapter 3

    System Study

  • 7/27/2019 Matter for Bus Reservation System Final report

    12/112

    Before the project can begin, it becomes necessary to estimate the work to be

    done, the resource that will be required, and the time that will elapse from start to

    finish. During making such a plan we visited site many more times .

    2.1 Project planning objectives

    The objective of software project planning is to provide a framework that enables

    the management to make reasonable estimates of resources, cost, and schedule.

    These estimates are made within limited time frame at the beginning of a software

    project and should be updated regularly as the project progresses. In addition,

    estimates should attempt to define best case and worst case scenarios so that

    project outcomes can be bounded.

    2.2 Software Scope

    The first activity in software project planning is the determination of software

    scope. Software scope describes the data and control to be processed, function,

    performance, constraints, interfaces, and reliability.

    2.2.1 Gathering Information Necessary for Scope

    The most commonly used technique to bridge communication gap between

    customer and the software developer to get the communication process started is

    to conduct a preliminary meeting or interview. When I visited the site we have

    been introduced to the Manager of the center, there were two another persons out

    of one was the technical adviser and another one was the cost accountant. Neither

    of us knows what to ask or say; we were very much worried that what we say will

    be misinterpreted.

    We started to asking context-free questions; that is, a set of questions that will lead

    to a basic understanding of the problem. The first set of context-free questions was

    like this:

  • 7/27/2019 Matter for Bus Reservation System Final report

    13/112

    What do you want to be done?

    Who will use this solution?

    What is wrong with your existing working systems?

    Is there another source for the solution?

    Can you show us (or describe) the environment in which the solution will

    be used?

    After first round of above asked questions. We revisited the site and asked many

    more questions considering to final set of questions.

    Are our questions relevant to the problem that you need to be solved?

    Are we asking too many questions?

    Should we be asking you anything else?

    2.2.2 Feasibility

    Not everything imaginable is feasible, not even in software. Software feasibilityhas four dimensions:

    Technologyis a project technically feasible? Is it within the state of the art?

    Finance Is it financially feasible?

    Timewill the project be completed within specified time?

    Resourcesdoes the organization have the resources needed to succeed?

    After taking into consideration of above said dimensions, we found it could be

    feasible for us to develop this project.

    2.3 Software Project Estimation

    Software cost and effort estimation will never be an exact science. Too may

    variableshuman, technical, environmental, politicalcan affect the ultimate

  • 7/27/2019 Matter for Bus Reservation System Final report

    14/112

    cost of software and effort applied to develop it. However, software project

    estimation can be transformed a black art to a series of systematic steps that

    provide estimates with acceptable risk.

    To achieve reliable cost and effort estimates, a number of options arise:

    1. Delay estimation until late in the project (since, we can achieve 100%

    accurate estimates after the project is complete!)

    2. Base estimates on similar projects that have already been completed.

    3. Use relatively simple decomposition techniques to generate project cost

    and effort estimates.

    4. Use one or more empirical models for software cost and effort

    estimation.

    Unfortunately, the first option, however attractive, is not practical. Cost estimates

    must be provided Up front. However, we should recognize that the longer we

    wait, the more we know, and the more we know, the less likely we are to make

    serious errors in our estimates.

    The second option can work reasonably well, if the current project is quite

    similar to past efforts and other project influences (e.g., the customer, business

    conditions, the SEE, deadlines) are equivalent. Unfortunately past experience has

    not always been a good indicator of future results.

    The remaining options are viable approaches the software project estimation.

    Ideally, the techniques noted for each option be applied in tandem; each used as

    cross check for the other. Decomposition techniques take a divide and conquer

    approach to software project estimation. By decomposing a project into major

    functions and related software engineering activities, cost and effort estimation can

    be performed in the stepwise fashion.

    Empirical estimation models can be used to complement decomposition

    techniques and offer a potentially valuable estimation approach in their own right. A

    model based on experience (historical data) and takes the form

  • 7/27/2019 Matter for Bus Reservation System Final report

    15/112

    D = f (vi)

    Where d is one of a number of estimated values (e.g., effort, cost, project

    duration and we are selected independent parameters (e.g., estimated LOC (line of

    code)).

    Each of the viable software cost estimation options is only as good as the

    historical data used to seed the estimate. If no historical data exist, costing rests on a

    very shaky foundation.

  • 7/27/2019 Matter for Bus Reservation System Final report

    16/112

    Chapter 4

    Project Monitoring System

  • 7/27/2019 Matter for Bus Reservation System Final report

    17/112

    4.1 PERT Chart

    Program evaluation and review technique (PERT) and critical path method

    (CPM) are two project scheduling methods that can be applied to software

    development. These techniques are driven by following information:

    Estimates of Effort

    A decomposition of the product function

    The selection of the appropriate process model and task set

    Decomposition of tasks

    PERT chart for this application software is illustrated in figure 3.1. The critical

    Path for this Project is Design, Code generation and Integration and testing.

    Aug-2008

    Figure 4.1 PERT charts for University Study CenterManagement SystemManagement System.

    4.2 Gantt Chart

    Gantt chart which is also known as Timeline chart contains the information

    like effort, duration, start date, completion date for each task. A timeline chart can

    be developed for the entire project.

    Integration

    and test

    Oct 10 2008

    Design

    Aug 5, 2008

    Requirement

    Analysis

    Aug 1, 2008

    Start

    Coding

    Aug 15,2008

    Documentati

    on and

    Report

    Oct 30, 2008

    Finish

    Jan 3, 2008

  • 7/27/2019 Matter for Bus Reservation System Final report

    18/112

    Below in figure 4.2 we have shown the Gantt chart for the project. All project

    tasks have been listed in the left-hand column.

    Start: Jan 1, 2008.

    Work tasksPlannedstart

    Actualstart

    Plannedcomplete

    ActualComplete

    Notes

    1.1 Identify needs and benefits

    Meet with customers

    Identified needs and constraints

    Established Product Statement

    Milestone:Product statement defined

    1.2 Defined

    Desiredoutput/control/input (OCI)

    Scope modes of interacton

    Documented (OCI)

    FTR: reviewed OCI with customer

    Revised OCI as required

    Milestore: OCI defined

    1.3 Defined the function/behavior

    Milestone: Data Modeling completed

    1.4 Isolation software elements

    Coding

    Reports

    1.5 Integration and Testing

    Wk1,d1

    Wk1,d2

    Wk1,d3

    Wk1,d3

    Wk2,d1

    Wk2,d1

    Wk3,d3

    Wk4,d1

    Wk4,d3

    Wk5,d1

    Wk5,d1

    W9,d1

    Wk1,d1

    Wk1,d2

    Wk1,d3

    Wk1,d3

    Wk5,d2

    Wk6,d1

    Wk7,d6

    W9,d3

    Wk1,d2

    Wk1,d2

    Wk1,d3

    Wk1,d3

    Wk2,d2

    Wk2,d3

    Wk3,d5

    Wk4,d2

    Wk4,d5

    Wk1,d2

    Wk1,d2

    Wk1,d3

    Wk1,d3

    Wk5,d5

    W7,d5

    W8,d6

    W11,d3

    Analysis

    and design

    is more

    time

    consuming.

    Finish: Jan 3, 2008

    Figure: 4.2 Gant chart for the Project University Study Center Management

    System. Note: Wk1week1, d1day1.

  • 7/27/2019 Matter for Bus Reservation System Final report

    19/112

    Chapter 5

    System Analysis

  • 7/27/2019 Matter for Bus Reservation System Final report

    20/112

    Software requirements analysis is a process of

    discovery, refinement, modeling, and specification. Requirement analysis proves

    the software designer with a representation of information, function, and behavior

    that can be translated to data, architectural interface, and component -level

    designs. To perform the job properly we need to follow as set of underlying

    concepts and principles of Analysis.

    5.1 Analysis Principles

    Over the past two decades, a large number of analysis modeling methods

    have been developed. Investigators have identified analysis problems and their

    caused and have developed a variety of modeling notations and corresponding sets

    of heuristics to overcome them. Each analysis method has a unique point of view.

    However, all analysis methods are related by a set of operational principles:

    1. The information domain of a problem must be represented and understood.

    2. The functions that the software is to perform must be defined.

    3. The behavior of the software (as a consequence of external events) must be

    represented.

    4. The models that depict information function and behavior must be partitioned

    in a manner that uncovers detail in layered (or hierarchical) fashion.

    5. The analysis process should move from essential information toward

    implementation detail.

    By applying these principles, we approach the problem systematically. The

    information domain is examined so that function may be understood more

    completely. Models are used so that the characteristics of function and behavior

    can be communicated in a compact fashion. Partitioning is applied to reduce

    complexity. Essential and implementation vies of the software are necessary to

    accommodate the logical constraints imposed any processing requirements and the

    physical constraints imposed by other system elements.

  • 7/27/2019 Matter for Bus Reservation System Final report

    21/112

    In addition to these operational analysis principles, Davis suggests a set o guiding

    principles for requirements analysis:

    Understand the problem before you begin to create the analysis model.

    There is a tendency to rush to a solution, even before the problem is

    understood. This often leads to elegant software that solves the wrong

    problem! We always tried to escape from such situation while making

    this project a success.

    Develop prototypes that enable a user to understand how

    human/machine interaction will occur. Since the perception of the

    quality of software is ofter based on the perception ot the friendlinessof the interface, protoptying (and the iteration that results) are highly

    recommended.

    Record the origin of and the reason for every requirement. This is the

    first step in establishing traceability back to the customer.

    Use multiple views of requirements. Building data, functional, and

    behavioral models provide the software developer with three views.

    This reduces the likelihood that something will be missed and increases

    the likelihood that inconsistency will be recognized.

    Rank requirements. Tight deadlines may preclude the implementation of

    every software requirement.

    Work to eliminate ambiguity. Because most requirements are described

    in a natural language, the opportunity for ambiguity abounds. The use of

    formal technical reviews is one way to uncover and eliminateambiguity.

    We have tried to takes above said principles to heart so that we could provide

    an excellent foundation for design.

  • 7/27/2019 Matter for Bus Reservation System Final report

    22/112

    5.1.1 The Information Domain

    All software applications can be collectively called data processing. Software is

    built to process data, to transform data from one form to another; that is, to accept

    input, manipulate it in some way, and produce output. This fundamental statement

    of objective is true whether we build batch software for a payroll system or real-

    time embedded software to control fuel flow to an automobile engine.

    The first operational analysis principle requires an examination of the information

    domain and the creation of a data model. The information domain contains three

    different views of the data and control as each is processed by a computer

    program:

    (1) information contend and relationships (the data model)

    (2) information flow, and

    (3) Information structure.

    To fully understand the information domain, each of these views should be

    considered.

    Information content represents the individual data and control objects that

    constitute some larger collection of information transformed by the software. For

    example, the data object, Status declare is a composite of a number of important

    pieces of data: the aircrafts name, the aircrafts model, ground run, no of hour

    flying and so forth. Therefore, the content of Status declares is defined by the

    attributes that are needed to create it. Similarly, the content of a control object

    called System status might be defined by a string of bits. Each bit represents a

    separate item of information that indicates whether or not a particular device is on-

    or off-line.

  • 7/27/2019 Matter for Bus Reservation System Final report

    23/112

    Data and control objects can be related to other data and control objects.

    For example, the date object Status declare has one or more relationships with the

    objects like total no of flying, period left for the maintenance of aircraft an others.

    Information flow represents the manner in which date and control change

    as each moves through a system. Referring to figure 6.1, input objects are

    transformed to intermediate information (data and / or control), which is further

    transformed to output. Along this transformation path, additional information may

    be introduced from an existing date store ( e.g., a disk file or memory buffer). The

    transformations applied to the date are functions or sub functions that a program

    must perform. Data and control that move between two transformations define the

    interface for each function.

    Figure 5.1 Information flow and transformation.

    5.1.2 Modeling

    Transfor

    m

    #1

    Transfor

    m

    #1

    Transfo

    rm#2

    Transfo

    rm#2

    Data/Contro

    l

    Store

    Data/Contro

    l

    Store

    Input

    Objects

    Intermediate

    data and

    control

    Output

    Object(s)

  • 7/27/2019 Matter for Bus Reservation System Final report

    24/112

    The second and third operational analysis principles require that we build models

    of function and behavior.

    Functional models. Software transforms information, and in order to accomplish

    this, it must perform at lease three generic functions:

    Input

    Processing

    And output.

    The functional model begins with a single context level model (i.e., the name of

    the software to be built). Over a series of iterations, more and more functional

    detail is gathered, until a through delineation of all system functionality is

    represented.

    Behavioral models. Most software responds to events from the outside

    world. This stimulus/response characteristic forms the basis of the behavioral

    model. A computer program always exists in some state- an externally observable

    mode of behavior (e.g., waiting, computing, printing, and polling) that is changed

    only when some even occurs. For example, in our case the project will remain in

    the wait state until:

    We click OK command button when first window appears

    An external event like mouse click cause an interrupt and consequently

    main window appears by asking the username and password.

    This external system (providing password and username) signals the

    project to act in desired manner as per need.

    A behavioral model creates a representation of the states of the software and the

    events that cause software to change state.

  • 7/27/2019 Matter for Bus Reservation System Final report

    25/112

    5.1.2 Partitioning(Divide)

    Problems are often too large and complex to be understood as a whole, for

    this reason, se tend to partition (divide) such problems into parts that can be easily

    under stood and establish interfaces between the part so that overall function can

    be accomplished. The fourth operational analysis principle suggests that the

    information, functional, and behavioral domains of software can be partitioned.

    In essence, partitioning decomposes problem intoits constituent parts.

    Conceptually, we establish a hierarchical representation of function or information

    and then partition and uppermost element by

    (1) exposing increasing detail by moving vertically in the

    hierarchy or

    (2) Functionally decomposing the problem my moving

    horizontally in the hierarchy.

    To issulstate these partitioning approaches let us consider our project

    Bus Reservation SystemBus Reservation System.. Horizontal partitioning and vertical partitioning of

    Bus Reservation systemBus Reservation system is shown below.

    Horizontal partitioning:

    Bus Reservation SystemBus Reservation System

    System configuration Password acceptance Interact with user

    During installation, the software (Bus Reservation System) used toprogram and configure the system. A master password is programmed for getting

  • 7/27/2019 Matter for Bus Reservation System Final report

    26/112

    in to the software system. After this step only user can work in the environments

    (right cornor naming operation, administration and maintenance) only.

    Vertical partitioning ofBus Reservation SystemBus Reservation System function.

    Bus Reservation SystemBus Reservation System

    Configure system Username and Password

    Acceptance Rejection

    Interact with user Fail Retry

    5.2 Software Prototyping.

    Some circumstances require the construction of a prototype at the

    beginning of analysis, since the model is the only means through which

    requirements can be effectively derived. The model then evolves into production

    software.

    5.2.1 Selecting the Prototype Approach

  • 7/27/2019 Matter for Bus Reservation System Final report

    27/112

    The prototyping paradigm can be either close-ended or open-ended. The

    close-ended approach is often called throwaway prototyping. Using this approach,

    a prototype serves solely as a rough demonstration of requirements. It is then

    discarded, and the software is engineered using a different paradigm. An open-

    ended approach, called evolutionary prototyping, uses the prototype as the first

    part of an analysis activity that will be continued into design and construction. The

    prototype of the software is the first evolution of the finished system.

    Before a close-ended or open-ended approach can be chosen, it is necessary

    to determine whether the system to be built is amenable to prototyping. A number

    of prototyping candidacy factors can be defined: application area, application

    complexity, customer characteristics, and project characteristics.

    Figure 5.5 selecting the appropriate prototyping approach

    Question

    Throwawa

    y

    Prototype

    Evolutiona

    ry

    prototype

    Additional

    preliminary work

    required

    Is the application domain

    understood?

    Can the problem be modeled?Is the customer certain of basic

    system requirements?

    Are requirements established and

    stable?

    Are any requirements

    ambiguous?

    Are there contradictions in the

    requirements?

    Yes

    Yes

    Yes/No

    No

    Yes

    Yes

    Yes

    Yes

    Yes/No

    Yes

    No

    No

    No

    No

    No

    Yes

    Yes

    Yes

    The above six questions are made as per the Andriole suggestions for prototypingapproach.

  • 7/27/2019 Matter for Bus Reservation System Final report

    28/112

    E-R DIAGRAM :

    BUSES

    Work

    area

    Give

    service

    s

    Wor

    ks

    Careof

    SLEEPER

    OR

    WITHOUT

    SLEEPER

    DEPARTMENT

    Full

    of

    Divide

    d

    DIFFERENT

    TYPE OF

    BUSES

    SEATS

    examin

    e

    BUS RESERVATION

    SYSTEM

  • 7/27/2019 Matter for Bus Reservation System Final report

    29/112

    The following DFD shows how the working of a reservation system could be

    smoothly managed:

    DETAIL DESCRIPTION OF DATA FLOW DIAGRAM:

    We have STARBUS as our database and some of our tables (relation) are

    such as AGENT_BASIC_INFO, FEEDBACK, PASSANGER_INFO, STATIS and

    TIMELIST

    WORK AREAS

    DEPTT WITH ITSBUSES

    AGENT

    BUSESRECORDS

    DAILYENTRY REC

    RESERVEDAGENT

    VISITINGAGENT

    AGENTDETAILS

    REPORT

    TABLE

  • 7/27/2019 Matter for Bus Reservation System Final report

    30/112

    STARBUS

    In our table AGENT_BASIC_INFO we have following field such as agent_id,

    agent_name, agent_name, agent_fname, agent_shop_name, agent_shop_address,

    agent_shop_city, agent_phon_number etc.

    AGENT_BASIC_INFO

    AGENTBASICINFO

    FEEDBACK

    PASSANGERIFNO

    STATIS

    TIMELIST

    AGENT_ID

    AGENT_NAME

    AGENT_FNAME

    AGENT_SHOP_NAME

    AGENT_SHOP_ADDRESS

    AGENT_SHOP_CITY

    AGENT_PHON_NUMBER

    AGENT_MOBIL_NUMBER

    AGENT_CURRENT_BAL

  • 7/27/2019 Matter for Bus Reservation System Final report

    31/112

    In our FEEDBACK table we have fields like name, Email, Phon, Subject,

    Comment, and User_type.

  • 7/27/2019 Matter for Bus Reservation System Final report

    32/112

    In our table PASSANGER_INFO we have filed like bill_no, c_name, c_phone,

    c_to, c_from, c_time, Ttalseat, Seatnumber, Amount, Agent_id and Status.

    FEEDBACK

    Name

    Email

    Comment

    User_typ

    e

    Phone

    Subject

  • 7/27/2019 Matter for Bus Reservation System Final report

    33/112

    In the table of TIME_LIST we have fields such as Sno, Satation_name,

    Rate_per_seat, Time, Reach_time and Bus_number.

    PASSANGER

    _INFO

    Bill_no

    C_name

    AmountSeat_no

    C_to

    C_time

    C_phon

    C_from

    Total_seat

    Status

    Agent_id

  • 7/27/2019 Matter for Bus Reservation System Final report

    34/112

    PROCESS LOGIC::

    TIME_LIST

    SnoStation_name

    Bus_numbe

    r

    Reach_time

    Rate_perSeat

    Time

  • 7/27/2019 Matter for Bus Reservation System Final report

    35/112

    As the privatization of buses is increasing thus the need of its smooth

    management is also increasing the more we could facilitate the customers,

    the more they are comfortable with us, the more customers we have visiting

    our reservation unit .the above tables and modules facilitates many logics

    like:

    Number of buses in one unit

    Number of computers in particular department

    Number of users in a department

    Which bus has what tour on which day

    What are time table for different buses of different department

    What are the schedule for buses

    Schedule of a particular bus

    How many buses are there

    Each bus has how many seats

    How many seats are occupied

    Advance booking for seat

    How much money is collected in a particular day

    Bills for different customers

    Which seat has booked by agent

  • 7/27/2019 Matter for Bus Reservation System Final report

    36/112

    Chapter 6

    Technology used

  • 7/27/2019 Matter for Bus Reservation System Final report

    37/112

    6.1 Tools and Platform used for the Development

    6.1.1 Front-end Environment (.NET Framework)

    The Internet revolution of the late 1990s represented a dramatic shift in the way

    individuals and organizations communicate with each other. Traditional

    applications, such as word processors and accounting packages, are modeled as

    stand-alone applications: they offer users the capability to perform tasks using data

    stored on the system the application resides and executes on. Most new software,

    in contrast, is modeled based on a distributed computing model where applications

    collaborate to provide services and expose functionality to each other. As a result,the primary role of most new software is changing into supporting information

    exchange (through Web servers and browsers), collaboration (through e-mail and

    instant messaging), and individual expression (through Web logs, also known as

    Blogs, and e-zines Web based magazines). Essentially, the basic role of

    software is changing from providing discrete functionality to providing services.

    The .NET Framework represents a unified, object-oriented set of services and

    libraries that embrace the changing role of new network-centric and network-

    aware software. In fact, the .NET Framework is the first platform designed from

    the ground up with the Internet in mind.

    Microsoft .NET Framework is a software component that is a part of several

    Microsoft Windowsoperating systems. It has a large library of pre-coded solutions

    to common programming problems and 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.

    http://en.wikipedia.org/wiki/Software_componentryhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Software_componentry
  • 7/27/2019 Matter for Bus Reservation System Final report

    38/112

    Benefits of the .NET Framework

    The .NET Framework offers a number of benefits to developers:

    A consistent programming model

    Direct support for security

    Simplified development efforts

    Easy application deployment and maintenance

    The .NET Class Library is a key component of the .NET Framework it is

    sometimes referred to as the Base Class Library (BCL). The .NET Class Library

    contains hundreds of classes you can use for tasks such as the following:

    Processing XML

    Working with data from multiple data sources

    Debugging your code and working with event logs

    Working with data streams and files

    Managing the run-time environment

    Developing Web services, components, and standard Windows applicationsWorking with application security

    Working with directory services

    The functionality that the .NET Class Library provides is available to all .NET

    languages, resulting in a consistent object model regardless of the programming

    language developers use.

  • 7/27/2019 Matter for Bus Reservation System Final report

    39/112

    Elements of the .NET Framework

    The .NET Framework consists of three key elements as show in below diagram

    Components of the .NET Framework

    Common Language Runtime

    .NET Class Library

    Unifying components

    VB.NET VC#.NET VC++.NET JSCRIPT.NET

    ASP.NET

    Web Server Web Form

    Window Forms

    .NET Class Library

    System Data I/O Security

    Common Language Runtime

    Common Type System

    Operating System

    Visual

    Studio.NET

  • 7/27/2019 Matter for Bus Reservation System Final report

    40/112

    1. Common Language Runtime

    The Common Language Runtime (CLR) is a layer between an application and the

    operating system it executes on. The CLR simplifies an application's design and

    reduces the amount of code developers need to write because it provides a variety

    of execution services that include memory management, thread management,

    component lifetime management, and default error handling.

    The CLR is also responsible for compiling code just before it executes. Instead of

    producing a binary representation of your code, as traditional compilers do, .NET

    compilers produce a representation of your code in a language common to the

    .NET Framework: Microsoft Intermediate Language, often referred to as IL. When

    your code executes for the first time, the CLR invokes a special compiler called a

    Just In Time (JIT) compiler, Because all .NET languages have the same compiled

    representation, they all have similar performance characteristics. This means that a

    program written in Visual Basic .NET can perform as well as the same program

    written in Visual C++ .NET.

    2 .NET Class Library

    The .NET Class Library containing hundreds of classes that model the system and

    services it provides. To make the .NET Class Library easier to work with and

    understand, it's divided into namespaces. The root namespace of the .NET Class

    Library is called System, and it contains core classes and data types, such as Int32,

    Object, Array, and Console. Secondary namespaces reside within the System

    namespace.

    Examples of nested namespaces include the following:

    System.Diagnostics : Contains classes for working with the Event Log

    System.Data: Makes it easy to work with data from multiple data sources

    System.IO: Contains classes for working with files and data streams

  • 7/27/2019 Matter for Bus Reservation System Final report

    41/112

    The benefits of using the .NET Class Library include a consistent set of services

    available to all .NET languages and simplified deployment, because the .NET

    Class Library is available on all implementations of the .NET Framework.

    3. Unifying components

    Until this point, this chapter has covered the low-level components of the .NET

    Framework. The unifying components, listed next, are the means by which you

    can access the services the .NET Framework provides:

    ASP.NET

    Windows Forms

    Visual Studio .NET

  • 7/27/2019 Matter for Bus Reservation System Final report

    42/112

    ASP.NET

    After the release of Internet Information Services 4.0 in 1997, Microsoft began

    researching possibilities for a new web application model that would solve

    common complaints about ASP.

    . ASP.NET introduces two major features: Web Forms and Web Services.

    1. Web Forms

    Developers not familiar with Web development can spend a great deal of time, for

    example, figuring out how to validate the e-mail address on a form. You canvalidate the information on a form by using a client-side script or a server-side

    script. Deciding which kind of script to use is complicated by the fact that each

    approach has its benefits and drawbacks, some of which aren't apparent unless

    you've done substantial design work. If you validate the form on the client by

    using client-side JScript code, you need to take into consideration the browser that

    your users may use to access the form. Not all browsers expose exactly the same

    representation of the document to programmatic interfaces. If you validate the

    form on the server, you need to be aware of the load that users might place on the

    server. The server has to validate the data and send the result back to the client.

    Web Forms simplify Web development to the point that it becomes as easy as

    dragging and dropping controls onto a designer (the surface that you use to edit a

    page) to design interactive Web applications that span from client to server.

    2. Web Services

    A Web service is an application that exposes a programmatic interface through

    standard access methods. Web Services are designed to be used by other

    applications and components and are not intended to be useful directly to human

    end users. Web Services make it easy to build applications that integrate features

    from remote sources. For example, you can write a Web Service that provides

    weather information for subscribers of your service instead of having subscriberslink to a page or parse through a file they download from your site. Clients can

  • 7/27/2019 Matter for Bus Reservation System Final report

    43/112

    simply call a method on your Web Service as if they are calling a method on a

    component installed on their system and have the weather information

    available in an easy-to-use format that they can integrate into their own

    applications or Web sites with no trouble.

    Introducing ASP.NET

    ASP.NET, the next version of ASP, is a programming framework that is used to

    create enterprise-class Web applications. The enterprise-class Web applications

    are accessible on a global basis, leading to efficient information management.

    However, the advantages that ASP.NET offers make it more than just the next

    version of ASP. ASP.NET is integrated with Visual Studio .NET, which provides

    a GUI designer, a rich toolbox, and a fully integrated debugger. This allows the

    development of applications in a What You See is What You Get (WYSIWYG)

    manner. Therefore, creating ASP.NET applications is much simpler.

    Unlike the ASP runtime, ASP.NET uses the Common Language Runtime (CLR)provided by the .NET Framework. The CLR is the .NET runtime, which manages

    the execution of code. The CLR allows the objects, which are created in different

    languages, to interact with each other and hence removes the language barrier.

    CLR thus makes Web application development more efficient.

    In addition to simplifying the designing of Web applications, the .NET CLR offers

    many advantages.

    Some of these advantages are listed as follows.

    Improved performance:

    The ASP.NET code is a compiled CLR code instead of an interpreted code. The

    CLR provides just-in-time compilation, native optimization, and caching. Here, it

    is important to note that compilation is a two-stage process in the .NET

  • 7/27/2019 Matter for Bus Reservation System Final report

    44/112

    Framework. First, the code is compiled into the Microsoft Intermediate Language

    (MSIL). Then, at the execution time, the MSIL is compiled into native code. Only

    the portions of the code that are actually needed will be compiled into native code.

    This is called Just In Time compilation. These features lead to an overall improved

    performance of ASP.NET applications.

    Flexibility:

    The entire .NET class library can be accessed by ASP.NET applications. You can

    use the language that best applies to the type of functionality you want to

    implement, because ASP.NET is language independent.

    Configuration settings:

    The application-level configuration settings are stored in an Extensible Markup

    Language (XML) format. The XML format is a hierarchical text format, which is

    easy to read and write. This format makes it easy to apply new settings to

    applications without the aid of any local administration tools.

    Security:

    ASP.NET applications are secure and use a set of default authorization and

    authentication schemes. However, you can modify these schemes according to the

    security needs of an application. In addition to this list of advantages, the

    ASP.NET framework makes it easy to migrate from ASP applications.

    Creating an ASP.NET Application

    After you've set up the development environment for ASP.NET, you can create

    your first ASP.NET Web application. You can create an ASP.NET Web

    application in one of the following ways:

    Use a text editor:

  • 7/27/2019 Matter for Bus Reservation System Final report

    45/112

    In this method, you can write the code in a text editor, such as Notepad, and save

    the code as an ASPX file. You can save the ASPX file in the directory

    C:\inetpub\wwwroot. Then, to display the output of the Web page in Internet

    Explorer, you simply need to type http://localhost/.aspx in the Address

    box. If the IIS server is installed on some other machine on the network,

    replace"localhost" with the name of the server. If you save the file in some other

    directory, you need to add the file to a virtual directory in the Default WebSite

    directory on the IIS server. You can also create your own virtual directory and add

    the file to it.

    Use the VS.NET IDE:

    In this method, you use the IDE of Visual Studio .NET to create a Web page in a

    WYSIWYG manner. Also, when you create a Web application, the application is

    automatically created on a Web server (IIS server). You do not need to create a

    separate virtual directory on the IIS server.

    Characteristics

    Pages

    ASP.NET pages, known officially as "web forms", are the main building block for

    application development. Web forms are contained in files with an ASPX

    extension; in programming jargon, these files typically contain static (X)HTML

    markup, as well as markup defining server-side Web Controls and User Controls

    where the developers place all the required static and dynamic content for the web

    page. Additionally, dynamic code which runs on the server can be placed in a page

    within a block which is similar to other web

    development technologies such as PHP, JSP, and ASP, but this practice is

    generally discouraged except for the purposes of data binding since it requires

    more calls when rendering the page.

    Note that this sample uses code "inline", as opposed to code behind.

    http://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/JavaServer_Pageshttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Binding_(computer_science)http://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/JavaServer_Pageshttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Binding_(computer_science)
  • 7/27/2019 Matter for Bus Reservation System Final report

    46/112

    protectedvoid Page_Load(object sender, EventArgs e)

    {Label1.Text = DateTime.Now.ToLongDateString();

    }

    Sample page

    The current time is:

    Code-behind model

    It is recommended by Microsoft for dealing with dynamic program code to use the

    code-behind model, which places this code in a separate file or in a specially

    designated script tag. Code-behind files typically have names like MyPage.aspx.cs

    or MyPage.aspx.vb based on the ASPX file name (this practice is automatic in

    Microsoft Visual Studio and other IDEs). When using this style of programming,

    the developer writes code to respond to different events, like the page being

    loaded, or a control being clicked, rather than a procedural walk through the

    document.

  • 7/27/2019 Matter for Bus Reservation System Final report

    47/112

    ASP.NET's code-behind model marks a departure from Classic ASP in that it

    encourages developers to build applications with separation of presentation and

    content in mind. In theory, this would allow a web designer, for example, to focus

    on the design markup with less potential for disturbing the programming code that

    drives it. This is similar to the separation of the controller from the view in model-

    view-controller frameworks.

    Example

    The above tag is placed at the beginning of the ASPX file. The CodeFile property

    of the @ Page directive specifies the file (.cs or .vb) acting as the code-behind

    while the Inherits property specifies the Class the Page derives from. In this

    example, the @ Page directive is included in SamplePage.aspx, then

    SampleCodeBehind.aspx.cs acts as the code-behind for this page:

    using System;namespace Website{

    public partial class SampleCodeBehind :System.Web.UI.Page

    {protectedoverridevoid Page_Load(EventArgs e)

    {base.OnLoad(e);

    }}

    }

  • 7/27/2019 Matter for Bus Reservation System Final report

    48/112

    In this case, the Page_Load () method is called every time the ASPX page is

    requested. The programmer can implement event handlers at several stages of the

    page execution process to perform processing.

    User controls

    ASP.NET supports creating reusable components through the creation of User

    Controls. A User Control follows the same structure as a Web Form, except that

    such controls are derived from the System.Web.UI.UserControl class, and are

    stored in ASCX files. Like ASPX files, a ASCX contains static HTML or

    XHTML markup, as well as markup defining web control and other User Controls.

    The code-behind model can be used.

    Programmers can add their own properties, methods, and event handlers. An event

    bubbling mechanism provides the ability to pass an event fired by a user control

    up to its containing page.

    State management

    ASP.NET applications are hosted in a web server and are accessed over the

    statelessHTTP protocol. As such, if the application uses stateful interaction, it has

    to implement state management on its own. ASP.NET provides various

    functionality for state management in ASP.NET applications.

    Application state

    Application state is a collection of user-defined variables that are shared by an

    ASP.NET application. These are set and initialized when the Application_OnStart

    event fires on the loading of the first instance of the applications and are available

    till the last instance exits. Application state variables are accessed using the

    http://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Stateless_serverhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/State_managementhttp://en.wikipedia.org/wiki/State_managementhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Stateless_serverhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/State_management
  • 7/27/2019 Matter for Bus Reservation System Final report

    49/112

    Applications collection, which provides a wrapper for the application state

    variables. Application state variables are identified by names.

    Session state

    Session state is a collection of user-defined session variables, which are persisted

    during a user session. These variables are unique to different instances of a user

    session, and are accessed using the Session collection. Session variables can be set

    to be automatically destroyed after a defined time of inactivity, even if the session

    does not end. At the client end, a user session is identified either by a cookie or by

    encoding the session ID in the URL itself.

    ASP.NET supports three modes of persistence for session variables:

    In Process Mode

    The session variables are maintained within the ASP.NETprocess. This is

    the fastest way, however, in this mode the variables are destroyed when the

    ASP.NET process is recycled or shut down. Since the application is

    recycled from time to time this mode is not recommended for critical

    applications.

    ASPState Mode

    In this mode, ASP.NET runs a separate Windows service that maintains the

    state variables. Because the state management happens outside the

    ASP.NET process, this has a negative impact on performance, but it allows

    multiple ASP.NET instances to share the same state server, thus allowing

    an ASP.NET application to be load-balanced and scaled out on multiple

    servers. Also, since the state management service runs independent of

    ASP.NET, variables can persist across ASP.NET process shutdowns.

    http://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Windows_servicehttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Windows_service
  • 7/27/2019 Matter for Bus Reservation System Final report

    50/112

    SqlServer Mode

    In this mode, the state variables are stored in a database server, accessible

    using SQL. Session variables can be persisted across ASP.NET process

    shutdowns in this mode as well. The main advantage of this mode is it

    would allow the application to balance load on a server cluster while

    sharing sessions between servers.

    View state

    View state refers to the page-level state management mechanism, which is

    utilized by the HTML pages emitted by ASP.NET applications to maintain

    the state of the web form controls and widgets. The state of the controls are

    encoded and sent to the server at every form submission in a hidden field

    known as __VIEWSTATE. The server sends back the variable so that when

    the page is re-rendered, the controls render at their last state. At the server

    side, the application might change the viewstate, if the processing results in

    updating the state of any control. The states of individual controls are

    decoded at the server, and are available for use in ASP.NET pages using

    the ViewState collection.

    Template engine

    When first released, ASP.NET lacked a template engine. Because the .NET

    frameworkis object-oriented and allows for inheritance, many developers would

    define a new base class that inherits from "System.Web.UI.Page", write methods

    here that render HTML, and then make the pages in their application inherit from

    this new class. While this allows for common elements to be reused across a site,

    it adds complexity and mixes source code with markup. Furthermore, this method

    can only be visually tested by running the application - not while designing it.

    http://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/GUI_widgethttp://en.wikipedia.org/wiki/Template_enginehttp://en.wikipedia.org/wiki/.NET_frameworkhttp://en.wikipedia.org/wiki/.NET_frameworkhttp://en.wikipedia.org/wiki/Object_orientedhttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Method_(computer_science)http://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Markup_languagehttp://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/GUI_widgethttp://en.wikipedia.org/wiki/Template_enginehttp://en.wikipedia.org/wiki/.NET_frameworkhttp://en.wikipedia.org/wiki/.NET_frameworkhttp://en.wikipedia.org/wiki/Object_orientedhttp://en.wikipedia.org/wiki/Inheritance_(computer_science)http://en.wikipedia.org/wiki/Method_(computer_science)http://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Markup_language
  • 7/27/2019 Matter for Bus Reservation System Final report

    51/112

    Other developers have used include files and other tricks to avoid having to

    implement the same navigation and other elements in every page.

    ASP.NET 2.0 introduced the concept of "master pages", which allow for template-

    based page development. A web application can have one or more master pages,

    which can be nested. Master templates have place-holder controls, called

    ContentPlaceHolders to denote where the dynamic content goes, as well as HTML

    and JavaScript shared across child pages.

    Child pages use those ContentPlaceHolder controls, which must be mapped to the

    place-holder of the master page that the content page is populating. The rest of the

    page is defined by the shared parts of the master page, much like a mail merge in a

    word processor. All markup and servercontrols in the content page must be placed

    within the ContentPlaceHolder control.

    When a request is made for a content page, ASP.NET merges the output of the

    content page with the output of the master page, and sends the output to the user.

    The master page remains fully accessible to the content page. This means that the

    content page may still manipulate headers, change title, configure caching etc. If

    the master page exposes public properties or methods (e.g. for setting copyright

    notices) the content page can use these as well.

    Performance

    ASP.NET aims for performance benefits over other script-based technologies

    (including Classic ASP) by compiling the server-side code to one or more DLL

    files on the web server. This compilation happens automatically the first time a

    page is requested (which means the developer need not perform a separate

    compilation step for pages). This feature provides the ease of development offered

    by scripting languages with the performance benefits of a compiled binary.

    However, the compilation might cause a noticeable but short delay to the web user

    http://en.wikipedia.org/wiki/Header_filehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Mail_mergehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Dynamic_link_libraryhttp://en.wikipedia.org/wiki/Computer_filehttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Header_filehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/Mail_mergehttp://en.wikipedia.org/wiki/Word_processorhttp://en.wikipedia.org/wiki/Server_(computing)http://en.wikipedia.org/wiki/Dynamic_link_libraryhttp://en.wikipedia.org/wiki/Computer_filehttp://en.wikipedia.org/wiki/Web_server
  • 7/27/2019 Matter for Bus Reservation System Final report

    52/112

    when the newly-edited page is first requested from the web server, but won't again

    unless the page requested is updated further.

    The ASPX and other resource files are placed in a virtual host on an Internet

    Information Services server (or other compatible ASP.NET servers; see Other

    Implementations, below). The first time a client requests a page, the .NET

    framework parses and compiles the file(s) into a .NET assembly and sends the

    response; subsequent requests are served from the DLL files. By default ASP.NET

    will compile the entire site in batches of 1000 files upon first request. If the

    compilation delay is causing problems, the batch size or the compilation strategy

    may be tweaked.

    Developers can also choose to pre-compile their code before deployment,

    eliminating the need for just-in-time compilation in a production environment.

    http://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Internet_Information_Services
  • 7/27/2019 Matter for Bus Reservation System Final report

    53/112

    Development tools

    Several available software packages exist for developing ASP.NET applications:

    Delphi 2006

    Macromedia Dreamweaver MX, Macromedia Dreamweaver MX 2004, or

    Macromedia Dreamweaver 8 (doesn't support ASP.NET 2.0 features, and

    produces very inefficient code for ASP.NET 1.x: also, code generation and

    ASP.NET features support through version 8.0.1 was little if any changed

    from version MX: version 8.0.2 does add changes to improve security

    against SQL injection attacks) Macromedia HomeSite 5.5 (For ASP Tags)

    Microsoft Expression Web, part of the Microsoft Expression Studio

    application suite.

    Microsoft SharePoint Designer

    MonoDevelop (Free/Open Source)

    SharpDevelop (Free/Open Source)

    Visual Studio .NET (for ASP.NET 1.x)

    Visual Web Developer 2005 Express Edition (free) orVisual Studio 2005

    (for ASP.NET 2.0)

    Visual Web Developer 2008 Express Edition (free) or Visual Studio 2008

    (for ASP.NET 2.0/3.5)

    Eiffel for ASP.NET

    http://en.wikipedia.org/wiki/Microsoft_Expression_Studiohttp://en.wikipedia.org/wiki/Open_Sourcehttp://en.wikipedia.org/wiki/Open_Sourcehttp://en.wikipedia.org/wiki/Visual_Studio_2005http://en.wikipedia.org/wiki/Visual_Studio_2005http://en.wikipedia.org/wiki/Microsoft_Expression_Studiohttp://en.wikipedia.org/wiki/Open_Sourcehttp://en.wikipedia.org/wiki/Open_Sourcehttp://en.wikipedia.org/wiki/Visual_Studio_2005
  • 7/27/2019 Matter for Bus Reservation System Final report

    54/112

    6.2.1 Back-end Environment

    What is SQL?

    SQL stands for Structured Query Language. SQL is used to communicate with a

    database. According to ANSI (American National Standards Institute), it is the

    standard language for relational database management systems. SQL statements

    are used to perform tasks such as update data on a database, or retrieve data from a

    database. Some common relational database management systems that use SQL

    are: Oracle, Sybase, Microsoft SQL Server, Access, Ingres, etc. Although most

    database systems use SQL, most of them also have their own additional

    proprietary extensions that are usually only used on their system. However, the

    standard SQL commands such as "Select", "Insert", "Update", "Delete", "Create",

    and "Drop" can be used to accomplish almost everything that one needs to do with

    a database. This tutorial will provide you with the instruction on the basics of each

    of these commands as well as allow you to put them to practice using the SQL

    Interpreter.

    SQL (Structured Query Language) is a database computer language designed for

    the retrieval and management ofdata in relational database management systems

    (RDBMS), database schema creation and modification, and database object access

    control management.

    SQL is a standard interactive and programming language for querying and

    modifying data and managing databases. Although SQL is both an ANSI and an

    ISO standard, many database products support SQL with proprietary extensions to

    the standard language. The core of SQL is formed by a command language that

    allows the retrieval, insertion, updating, and deletion of data, and performing

    management and administrative functions. SQL also includes a Call Level

    Interface(SQL/CLI) for accessing and managing data and databases remotely.

    http://en.wikipedia.org/wiki/Computer_languagehttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Call_Level_Interfacehttp://en.wikipedia.org/wiki/Call_Level_Interfacehttp://en.wikipedia.org/wiki/Call_Level_Interfacehttp://en.wikipedia.org/wiki/Computer_languagehttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Call_Level_Interfacehttp://en.wikipedia.org/wiki/Call_Level_Interface
  • 7/27/2019 Matter for Bus Reservation System Final report

    55/112

    The first version of SQL was developed at IBM by Donald D. Chamberlin and

    Raymond F. Boyce in the early 1970s. This version, initially called SEQUEL, was

    designed to manipulate and retrieve data stored in IBM's original relational

    database product, System R. The SQL language was later formally standardized

    by the American National Standards Institute (ANSI) in 1986. Subsequent

    versions of the SQL standard have been released as International Organization for

    Standardization (ISO) standards.

    Originally designed as a declarative query and data manipulation language,

    variations of SQL have been created by SQL database management system

    (DBMS) vendors that add procedural constructs, control-of-flow statements, user-

    defined data types, and various other language extensions. With the release of the

    SQL: 1999 standard, many such extensions were formally adopted as part of the

    SQL language via the SQL Persistent Stored Modules (SQL/PSM) portion of the

    standard.

    Common criticisms of SQL include a perceived lack of cross-platform portability

    between vendors, inappropriate handling of missing data and unnecessarily

    complex and occasionally ambiguous language grammar and semantics.

    During the 1970s, a group at IBM's San Jose research center developed the System

    R relational database management system, based on the model introduced by

    Edgar F. Codd in his influential paper, A Relational Model of Data for Large

    Shared Data Banks. Donald D. Chamberlin and Raymond F. Boyce of IBM

    subsequently created the Structured English Query Language (SEQUEL) to

    manipulate and manage data stored in System R. The acronym SEQUEL was later

    changed to SQL because "SEQUEL" was a trademarkof the UK-basedHawker

    Siddeley aircraft company.

    http://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Donald_D._Chamberlinhttp://en.wikipedia.org/wiki/Raymond_F._Boycehttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/Standardizationhttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/Edgar_F._Coddhttp://en.wikipedia.org/wiki/Academic_publishinghttp://en.wikipedia.org/wiki/Trademarkhttp://en.wikipedia.org/wiki/United_Kingdomhttp://en.wikipedia.org/wiki/Hawker_Siddeleyhttp://en.wikipedia.org/wiki/Hawker_Siddeleyhttp://en.wikipedia.org/wiki/IBMhttp://en.wikipedia.org/wiki/Donald_D._Chamberlinhttp://en.wikipedia.org/wiki/Raymond_F._Boycehttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/Standardizationhttp://en.wikipedia.org/wiki/American_National_Standards_Institutehttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/System_Rhttp://en.wikipedia.org/wiki/Edgar_F._Coddhttp://en.wikipedia.org/wiki/Academic_publishinghttp://en.wikipedia.org/wiki/Trademarkhttp://en.wikipedia.org/wiki/United_Kingdomhttp://en.wikipedia.org/wiki/Hawker_Siddeleyhttp://en.wikipedia.org/wiki/Hawker_Siddeley
  • 7/27/2019 Matter for Bus Reservation System Final report

    56/112

    The first non-commercial non-SQL RDBMS, Ingres, was developed in 1974 at the

    U.C. Berkeley. Ingres implemented a query language known as QUEL, which was

    later supplanted in the marketplace by SQL.

    In the late 1970s, Relational Software, Inc. (now Oracle Corporation) saw the

    potential of the concepts described by Codd, Chamberlin, and Boyce and

    developed their own SQL-based RDBMS with aspirations of selling it to the U.S.

    Navy, CIA, and other government agencies. In the summer of 1979, Relational

    Software, Inc. introduced the first commercially available implementation of SQL,

    Oracle V2 (Version2) for VAX computers. Oracle V2 beat IBM's release of the

    System/38 RDBMS to market by a few weeks.

    After testing SQL at customer test sites to determine the usefulness and

    practicality of the system, IBM began developing commercial products based on

    their System R prototype including System/38, SQL/DS, and DB2, which were

    commercially available in 1979,1981, and 1983, respectively.

    Standardization

    SQL was adopted as a standard by ANSI in 1986 and ISO in 1987. In the original

    SQL standard. Until 1996, the National Institute of Standards and Technology

    (NIST) data management standards program was tasked with certifying SQL

    DBMS compliance with the SQL standard. In 1996, however, the NIST data

    management standards program was dissolved, and vendors are now relied upon to

    self-certify their products for compliance.

    The SQL standard has gone through a number of revisions, as shown below:

    http://en.wikipedia.org/wiki/Ingreshttp://en.wikipedia.org/wiki/University_of_California%2C_Berkeleyhttp://en.wikipedia.org/wiki/QUEL_query_languageshttp://en.wikipedia.org/wiki/Oracle_Corporationhttp://en.wikipedia.org/wiki/RDBMShttp://en.wikipedia.org/wiki/United_States_Navyhttp://en.wikipedia.org/wiki/United_States_Navyhttp://en.wikipedia.org/wiki/Central_Intelligence_Agencyhttp://en.wikipedia.org/wiki/Federal_government_of_the_United_Stateshttp://en.wikipedia.org/wiki/1979http://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/VAXhttp://en.wikipedia.org/wiki/System/38http://en.wikipedia.org/wiki/System/38http://en.wikipedia.org/wiki/SQL/DShttp://en.wikipedia.org/wiki/IBM_DB2http://en.wikipedia.org/wiki/1979http://en.wikipedia.org/wiki/1979http://en.wikipedia.org/wiki/1981http://en.wikipedia.org/wiki/1983http://en.wikipedia.org/wiki/1983http://special.lib.umn.edu/findaid/xml/cbi00168.xmlhttp://en.wikipedia.org/wiki/1996http://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/Ingreshttp://en.wikipedia.org/wiki/University_of_California%2C_Berkeleyhttp://en.wikipedia.org/wiki/QUEL_query_languageshttp://en.wikipedia.org/wiki/Oracle_Corporationhttp://en.wikipedia.org/wiki/RDBMShttp://en.wikipedia.org/wiki/United_States_Navyhttp://en.wikipedia.org/wiki/United_States_Navyhttp://en.wikipedia.org/wiki/Central_Intelligence_Agencyhttp://en.wikipedia.org/wiki/Federal_government_of_the_United_Stateshttp://en.wikipedia.org/wiki/1979http://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/VAXhttp://en.wikipedia.org/wiki/System/38http://en.wikipedia.org/wiki/System/38http://en.wikipedia.org/wiki/SQL/DShttp://en.wikipedia.org/wiki/IBM_DB2http://en.wikipedia.org/wiki/1979http://en.wikipedia.org/wiki/1981http://en.wikipedia.org/wiki/1983http://special.lib.umn.edu/findaid/xml/cbi00168.xmlhttp://en.wikipedia.org/wiki/1996http://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technologyhttp://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology
  • 7/27/2019 Matter for Bus Reservation System Final report

    57/112

    Year Name Alias Comments

    198

    6

    SQL-86 SQL-87 First published by ANSI. Ratified by ISO in 1987.

    198

    9

    SQL-89 FIPS 127-1 Minor revision, adopted as FIPS 127-1.

    199

    2

    SQL-92 SQL2, FIPS 127-2 Major revision (ISO 9075), Entry Level SQL-92

    adopted as FIPS 127-2.

    1999

    SQL:1999 SQL3 Added regular expression matching, recursivequeries, triggers, support for procedural and control-

    of-flow statements, non-scalar types, and some

    object-oriented features.

    200

    3

    SQL:2003 Introduced XML-related features, window functions,

    standardized sequences, and columns with auto-

    generated values (including identity-columns).

    200

    6

    SQL:2006 ISO/IEC 9075-14:2006 defines ways in which SQL

    can be used in conjunction with XML. It defines

    ways of importing and storing XML data in an SQL

    database, manipulating it within the database and

    publishing both XML and conventional SQL-data in

    XML form. In addition, it provides facilities that

    permit applications to integrate into their SQL codethe use of XQuery, the XML Query Language

    published by the World Wide Web Consortium

    (W3C), to concurrently access ordinary SQL-data

    and XML documents.

    The SQL standard is not freely available. SQL: 2003 and SQL: 2006 may be

    purchased from ISO or ANSI. A late draft of SQL: 2003 is freely available as a zip

    http://en.wikipedia.org/wiki/1989http://en.wikipedia.org/wiki/1989http://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/1992http://en.wikipedia.org/wiki/1992http://en.wikipedia.org/wiki/SQL-92http://en.wikipedia.org/wiki/1999http://en.wikipedia.org/wiki/1999http://en.wikipedia.org/wiki/SQL:1999http://en.wikipedia.org/wiki/2003http://en.wikipedia.org/wiki/2003http://en.wikipedia.org/wiki/SQL:2003http://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/2006http://en.wikipedia.org/wiki/2006http://en.wikipedia.org/wiki/SQL:2006http://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/W3Chttp://www.wiscorp.com/sql_2003_standard.ziphttp://en.wikipedia.org/wiki/ZIP_file_formathttp://en.wikipedia.org/wiki/1989http://en.wikipedia.org/wiki/1989http://en.wikipedia.org/wiki/Federal_Information_Processing_Standardhttp://en.wikipedia.org/wiki/1992http://en.wikipedia.org/wiki/1992http://en.wikipedia.org/wiki/SQL-92http://en.wikipedia.org/wiki/1999http://en.wikipedia.org/wiki/1999http://en.wikipedia.org/wiki/SQL:1999http://en.wikipedia.org/wiki/2003http://en.wikipedia.org/wiki/2003http://en.wikipedia.org/wiki/SQL:2003http://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/2006http://en.wikipedia.org/wiki/2006http://en.wikipedia.org/wiki/SQL:2006http://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/W3Chttp://www.wiscorp.com/sql_2003_standard.ziphttp://en.wikipedia.org/wiki/ZIP_file_format
  • 7/27/2019 Matter for Bus Reservation System Final report

    58/112

    archive, however, from Whitemarsh Information Systems Corporation. The zip

    archive contains a number of PDF files that define the parts of the SQL: 2003

    specification.

    Scope and extensions

    Procedural extensions

    SQL is designed for a specific purpose: to query data contained in a relational

    database. SQL is a set-based, declarative query language, not an imperative

    language such as C or BASIC. However, there are extensions to Standard SQL

    which add procedural programming language functionality, such as control-of-

    flow constructs. These are:

    SourceCommon

    NameFull Name

    ANSI/ISOStandard

    SQL/PSM SQL/Persistent Stored Modules

    IBM SQL PL SQL Procedural Language (implements SQL/PSM)

    Microsoft/

    SybaseT-SQL Transact-SQL

    MySQL SQL/PSM SQL/Persistent Stored Module (as in ISO SQL:2003)

    Oracle PL/SQL Procedural Language/SQL (based on Ada)

    PostgreSQL PL/pgSQLProcedural Language/PostgreSQL Structured Query

    Language (based on Oracle PL/SQL)

    PostgreSQL PL/PSMProcedural Language/Persistent Stored Modules (implements

    SQL/PSM)

    http://www.wiscorp.com/SQLStandards.htmlhttp://en.wikipedia.org/wiki/PDFhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Sethttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/BASIC_programming_languagehttp://en.wikipedia.org/wiki/Procedural_programming_languagehttp://en.wikipedia.org/wiki/SQL/PSMhttp://en.wikipedia.org/wiki/SQL_PLhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Sybasehttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/MySQLhttp://en.wikipedia.org/wiki/Oracle_Corporationhttp://en.wikipedia.org/wiki/PL/SQLhttp://en.wikipedia.org/wiki/Adahttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/wiki/PL/pgSQLhttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/w/index.php?title=PL/PSM&action=edit&redlink=1http://www.wiscorp.com/SQLStandards.htmlhttp://en.wikipedia.org/wiki/PDFhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Sethttp://en.wikipedia.org/wiki/Declarative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/C_(programming_language)http://en.wikipedia.org/wiki/BASIC_programming_languagehttp://en.wikipedia.org/wiki/Procedural_programming_languagehttp://en.wikipedia.org/wiki/SQL/PSMhttp://en.wikipedia.org/wiki/SQL_PLhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Sybasehttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/MySQLhttp://en.wikipedia.org/wiki/Oracle_Corporationhttp://en.wikipedia.org/wiki/PL/SQLhttp://en.wikipedia.org/wiki/Adahttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/wiki/PL/pgSQLhttp://en.wikipedia.org/wiki/PostgreSQLhttp://en.wikipedia.org/w/index.php?title=PL/PSM&action=edit&redlink=1
  • 7/27/2019 Matter for Bus Reservation System Final report

    59/112

    In addition to the standard SQL/PSM extensions and proprietary SQL extensions,

    procedural and object-oriented programmability is available on many SQL

    platforms via DBMS integration with other languages. The SQL standard defines

    SQL/JRT extensions (SQL Routines and Types for the Java Programming

    Language) to support Java code in SQL databases. SQL Server 2005 uses the

    SQLCLR (SQL Server Common Language Runtime) to host managed .NET

    assemblies in the database, while prior versions of SQL Server were restricted to

    using unmanaged extended stored procedures which were primarily written in C.

    Other database platforms, like MySQL and Postgres, allow functions to be written

    in a wide variety of languages including Perl, Python, Tcl, and C.

    Additional extensions

    SQL: 2003 also defines several additional extensions to the standard to increase

    SQL functionality overall. These extensions include:

    The SQL/CLI, or Call-Level Interface, extension is defined in ISO/IEC 9075-

    3:2003. This extension defines common interfacing components (structures and

    procedures) that can be used to execute SQL statements from applications written

    in other programming languages. The SQL/CLI extension is defined in such a way

    that SQL statements and SQL/CLI procedure calls are treated as separate from the

    calling application's source code.

    The SQL/MED, or Management of External Data, extension is defined by

    ISO/IEC 9075-9:2003. SQL/MED provides extensions to SQL that define foreign-

    data wrappers and datalink types to allow SQL to manage external data. External

    data is data that is accessible to, but not managed by, an SQL-based DBMS.

    The SQL/OLB, or 'Object Language Bindings, extension is defined by ISO/IEC

    9075-10:2003. SQL/OLB defines the syntax and symantics of SQLJ, which is

    SQL embedded in Java. The standard also describes mechanisms to ensure binary

    http://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/SQL/JRThttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/SQL_Server_2005http://en.wikipedia.org/wiki/SQLCLRhttp://en.wikipedia.org/wiki/Microsoft_.NEThttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Tclhttp://en.wikipedia.org/wiki/SQL/CLIhttp://en.wikipedia.org/wiki/SQL/MEDhttp://en.wikipedia.org/wiki/SQL/MEDhttp://en.wikipedia.org/wiki/SQL/OLBhttp://en.wikipedia.org/wiki/SQLJhttp://en.wikipedia.org/wiki/Object-oriented_programming_languagehttp://en.wikipedia.org/wiki/SQL/JRThttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/SQL_Server_2005http://en.wikipedia.org/wiki/SQLCLRhttp://en.wikipedia.org/wiki/Microsoft_.NEThttp://en.wikipedia.org/wiki/Perlhttp://en.wikipedia.org/wiki/Python_(programming_language)http://en.wikipedia.org/wiki/Tclhttp://en.wikipedia.org/wiki/SQL/CLIhttp://en.wikipedia.org/wiki/SQL/MEDhttp://en.wikipedia.org/wiki/SQL/OLBhttp://en.wikipedia.org/wiki/SQLJ
  • 7/27/2019 Matter for Bus Reservation System Final report

    60/112

    portability of SQLJ applications, and specifies various Java packages and their

    contained classes.

    The SQL/Schemata, or Information and Definition Schemas, extension is defined

    by ISO/IEC 9075-11:2003. SQL/Schemata define the Information Schema and

    Definition Schema, providing a common set of tools to make SQL databases and

    objects self-describing. These tools include the SQL object identifier, structure and

    integrity constraints, security and authorization specifications, features and

    packages of ISO/IEC 9075, support of features provided by SQL-based DBMS

    implementations, SQL-based DBMS implementation information and sizing

    items, and the values supported by the DBMS implementations.

    The SQL/JRT, or SQL Routines and Types for the Java Programming Language,

    extension is defined by ISO/IEC 9075-13:2003. SQL/JRT specifies the ability to

    invoke static Java methods as routines from within SQL applications. It also calls

    for the ability to use Java classes as SQL structured user-defined types.

    The SQL/XML, or XML-Related Specifications, extension is defined by ISO/IEC

    9075-14:2003. SQL/XML specifies SQL-based extensions for using conjunction

    with SQL. The XML data type is introduced, as well as several routines, functions,

    and XML-to-SQL data type mappings to support manipulation and storage of

    XML in an SQL database.

    The SQL/PSM, or Persistent Stored Modules, extension is defined by ISO/IEC

    9075-4:2003. SQL/PSM standardizes procedural extensions for SQL, including

    flow of control, condition handling, statement condition signals and resignals,

    cursors and local variables, and assignment of expressions to variables and

    parameters. In addition, SQL/PSM formalizes declaration and maintenance of

    persistent database language routines (e.g., "stored procedures").

    The SQL language is sub-divided into several language elements, including:

    http://en.wikipedia.org/wiki/SQL/Schematahttp://en.wikipedia.org/wiki/SQL/XMLhttp://en.wikipedia.org/wiki/SQL/Schematahttp://en.wikipedia.org/wiki/SQL/XML
  • 7/27/2019 Matter for Bus Reservation System Final report

    61/112

    Statements which may have a persistent effect on schemas and data, or which may

    control transactions, program flow, connections, sessions, or diagnostics.

    Queries which retrieve data based on specific criteria.

    Expressions which can produce either scalar values or tables consisting of

    columns and rows of data. Predicates which specify conditions that can be

    evaluated to SQL three-valued logic Boolean truth values and which are used to

    limit the effects of statements and queries, or to change program flow. Clauses

    which are (in some cases optional) constituent components of statements and

    queries.

    Whitespace is generally ignored in SQL statements and queries, making it easier

    to format SQL code for readability.

    SQL statements also include the semicolon (";") statement terminator. Though not

    required on every platform, it is defined as a standard part of the SQL grammar.

    Queries

    The most common operation in SQL databases is the query, which is performed

    with the declarative SELECT keyword. SELECT retrieves data from a specified

    table, or multiple related tables, in a database. While often grouped with Data

    Manipulation Language (DML) statements, the standard SELECT query is

    considered separate from SQL DML, as it has no persistent effects on the data

    stored in a database. Note that there are some platform-specific variations of

    SELECT that can persist their effects in a database, such as the SELECT INTO

    syntax that exists in some databases.

    SQL queries allow the user to specify a description of the desired result set, but it

    is left to the devices of the database management system (DBMS) to plan,

    optimize, and perform the physical operations necessary to produce that result set

    http://en.wikipedia.org/wiki/Scalar_(computing)http://en.wikipedia.org/wiki/Scalar_(computing)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/Column_(database)http://en.wikipedia.org/wiki/Row_(database)http://en.wikipedia.org/wiki/Row_(database)http://en.wikipedia.org/wiki/Ternary_logichttp://en.wikipedia.org/wiki/Whitespace_(computer_science)http://en.wikipedia.org/wiki/Semicolonhttp://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/Data_Manipulation_Languagehttp://en.wikipedia.org/wiki/Data_Manipulation_Languagehttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Query_planhttp://en.wikipedia.org/wiki/Query_optimizerhttp://en.wikipedia.org/wiki/Scalar_(computing)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/Column_(database)http://en.wikipedia.org/wiki/Row_(database)http://en.wikipedia.org/wiki/Ternary_logichttp://en.wikipedia.org/wiki/Whitespace_(computer_science)http://en.wikipedia.org/wiki/Semicolonhttp://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Table_(database)http://en.wikipedia.org/wiki/Data_Manipulation_Languagehttp://en.wikipedia.org/wiki/Data_Manipulation_Languagehttp://en.wikipedia.org/wiki/Database_management_systemhttp://en.wikipedia.org/wiki/Query_planhttp://en.wikipedia.org/wiki/Query_optimizer
  • 7/27/2019 Matter for Bus Reservation System Final report

    62/112

    in as efficient a manner as possible. An SQL query includes a list of columns to be

    included in the final result immediately following the SELECT keyword. An

    asterisk ("*") can also be used as a "wildcard" indicator to specify that all

    available columns of a table (or multiple tables) are to be returned. SELECT is the

    most complex statement in SQL, with several optional keywords and clauses,

    including:

    The FROM clause which indicates the source table or tables from which the data

    is to be retrieved. The FROM clause can include optional JOIN clauses to join

    related tables to one another based on user-specified criteria.

    The WHERE clause includes a comparison predicate, which is used to restrict the

    number of rows returned by the query. The WHERE clause is applied before the

    GROUP BY clause. The WHERE clause eliminates all rows from the result set

    where the comparison predicate does not evaluate to True.

    The GROUP BY clause is used to combine, or group, rows with related values

    into elements of a smaller set of rows. GROUP BY is often used in conjunction

    with SQL aggregate functions or to eliminate duplicate rows from a result set.

    TheHAVING clause includes a comparison predicate used to eliminate rows after

    the GROUP BY clause is applied to the result set. Because it acts on the results of

    the GROUP BY clause, aggregate functions can be used in the HAVING clause

    predicate.

    The ORDER BY clause is used to identify which columns are used to sort the

    resulting data, and in which order they should be sorted (options are ascending or

    descending). The order of rows returned by an SQL query is never guaranteed

    unless an ORDER BY clause is specified.

    The following is an example of a SELECT query that returns