• Sonuç bulunamadı

Supervisor Students: NEAR EAST UNIVERSITY FACULTY OF ENGINEERING

N/A
N/A
Protected

Academic year: 2021

Share "Supervisor Students: NEAR EAST UNIVERSITY FACULTY OF ENGINEERING"

Copied!
77
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

NEAR EAST UNIVERSITY

FACULTY OF ENGINEERING

DEPARTMENT OF COMPUTER ENGINEERING

CARGO & TRANSPORTATION APPLICATION

SOFTWARE PROGRAM

Graduation Project

COM-400

Students:

Goktug Atac

(20020450)

Si nan Ozerenler (200107

49)

Supervisor :

Omit Soyer

(2)

~~

"S/;-~

0 )- :{' :-!, i/JJ f~ \ ct

'<'-'

~

\ <'1.

,/:>

/!.

ACKNOWLEDGEMENT

~~.,,

/~

\,,, -- ,<y~

We, Goktug Atac and Sinan Ozerenler are dedicated this thesis to our fami~~~ who have supported us at rough times and have shared our joy at good times through all these months.

First, we owe the greatest thanks to our supervisor, Mr. -Omit Soyer, whose encouragement and enthusiasms have been constant sources of inspiration to us. Also his invaluable advices and belief in our work and ourself over the course of this Graduation Project. He is one of the best advisor a student can wish, both as a person and as a mentor.

Second, we would like to express our gratitude to Near East University (NEU) for the scholarship that made the work possible. Also special thanks starting from our Dean Prof. Dr Fakhreddin Mamedov , our department chairman Prof. Dr. Dogan Ibrahim , Assoc. Prof. Dr Rahib Abiyev and all other lecturers for the advices and helps.

Finally, we would like to thank all our friends for their advices , supports and being with us with a big respect and patience.

(3)

ABSTRACT

Designing software programs is a computer & software Engineering responsibility. Increasing the complexity of the technological process the importance of software and engineers is increasing in the parallel way of technology too. Engineering is the application of science to the needs of humanity. This is accomplished through the application of knowledge, mathematics, and practical experience to the design of useful objects or processes. Professional practitioners of engineering are called engineers.

The aim of our project is to develop an office software program as in the way of the definition of engineering for a cargo & transportation company. For this purpose the structure, functions and analysis of its main blocks of cargo & transportation company is described.

The main problem of this software program is making analysis and constructing the knowledge base detailed. For example if we look from the point of a customer what are the main necessities of a cargo and transportation company. This program is designed in the way of necessities of a company. As we said company has two main department cargo and transportation. Briefly cargo department is responsible with receiving and sending cargo. The transportation department is responsible with transporting people in desired destinations.

Finally, in this technologically fastly growing century we try to create a new approach which we expect to bring speed, reliablity, flexbility to or with systems and users in the company.

(4)

TABLE OF CONTENTS

ACKNOWLEDGEMENT i

ABSTRACT

ii

TABLE OF CONTENTS

iii

LIST OF ABBREVIATIONS

iv

INTRODUCTION

1

CHAPTER ONE: AN OVERVIEW OF MICROSOFT

VISUAL STUDIO .NET

&

SQL SERVER

2

I. I History of Visual Studio

2

1.1.1 Visual Studio 97 2

1.1.2 Visual Studio 6.0 2

1.1.3 Visual Studio .NET (2002) 3

1.1.4 Visual Studio .NET 2003 4

1.1.5 Visual Studio 2005 4

1.1.6 Future versions 5

1.2 Features of Visual Studio 2003 6

1.2.1 New Features 6

1.2.2 Power Toys 8

1.2.3 System Requirements 8

1.3 Product Overview for Visual Studio .NET 2003 10

1.3.1 Enterprise Architect 10

1.3 .2 Enterprise Developer 12

1.3.3 Professional 13

1.3.4 Academic 14

1.4 An Overview to C# Programming Language 16

1.4.1 Architectural History 16

1.4.2 Object Oriented Programming 17

1.4.3 User Defined Classes in C# 19

1.4.4 Language features 19

1.4.5 C# 2.0 & 3.0 New Language Features 21 1.5 Overview of SQL Server Developer Edition 24

(5)

1.5 .1 Understanding the Definition of Database 24

1.5.2 Database Architecture And Features of SQL 2000 26

1.5.3 Ms-SQL Server Permissions and Uses 29

CHAPTER TWO: PROJECT ANALYSIS

&

OVERVIEW

2.1 Project Overview 34

CHAPTER THREE: EXAMINATION OF CODE STRUCUTRE

3 .1 Selecting Data From Database 56

3 .2 Inserting Data to Database 56

3.2.1 Using Stored Procedures 56

3.2.2 Using SQL Query 57

3 .3 Updating Data in Database 58

3 .4 Delete Data From Database 58

3.5 Windows Control 59

3.5.1 Adding Item to ComboBox 59

3.5.2 Filling DataGrid 59

3.5.3 Filling ListBox 60

3.5.4 Creating DialogBox 61

CHAPTER FOUR: WEB APPLICATION PART OF PROJECT

4.1 HTML and XHTML

4.2 OVERVIEW OF ASP.NET 4.3 Web Project Overview

CONCLUSION

REFERENCES

62 64 66 70 71

(6)

NEU C# DBMS SQL ASP DIME EIF LINQ DRI.

LIST OF ABBREVIATIONS

Near East University C Sharp

Data Base Management System Structured Query Language Active Server Pages

Direct Internet Messaging

Enterprise Implementation Framework Language Integrated Query

(7)

INTRODUCTION

Software or Computer engineering is the profession of people who create and maintain software applications by applying technologies and practices from computer science, project management, engineering, application domains and other fields. They deal with matters of cost and reliability, like traditional engineering disciplines. In spite of the enormous economic growth and productivity gains enabled by software,persistent complaints about the quality of software remain. So the question of "What is the best way to make more and better software?" is still a problem.

In our project we wanted to create a new approach for this question with our analysis and structures. First of all we used a new and fastly growing Microsoft .NET platform in our project. We analysed the companies of structures in detailed. These are the main objectives of our project.

Our projects consist of introduction ,four chapters and conclusion. We seperated project in the main topics of chapters as our programming language, database language, about structure and the main parts, main partsdetails, website part of project.

Chapter one describes the programming languauge platform Microsoft Visual Studio .Net 2003 Enterprise Developer platform and our programming language C#(C Sharp). Also it presents the database Microsoft SQL Server 2000 Developer Edition that is used in our project.

Chapter two presents construction period , structure and the main parts of cargo and transportation departments in summary. We describe the architecture of program, the steps , and the diffucilties that we encountered.

Chapter three is devoted to parts detailed that we described in chapter two with main topics. Actually, what type of codes is needed and how we construct the project hormony with the platform and with database are described. Also the compatiblity of program with diffemet operating systems are mentioned.

Chapter four presents results of program as summary and starts to describe the website of the company ,a briefly about HTML and ASP.NET platforms, its construction period, its main work and the duty that supplied over the internet.

(8)

CHAPTERl

AN OVERVIEW OF MICROSOFT VISUAL STUDIO .NET

1.1 History of Visual Studio :

1.1.1 Visual Studio 97

Microsoft first released Visual Studio in 1997, bundling together many of its programming tools for the first time. Visual Studio 97 was released in two editions, Professional and Enterprise. It included Visual Basic 5.0 and Visual C++ 5.0, primarily for Windows programming; Visual J++ 1.1 for Java and· Windows programming; and Visual FoxPro 5.0 for xBase programming. It introduced Visual InterDev for creating dynamically generated web sites using Active Server Pages. A snapshot of the Microsoft Developer Network library was also included. Visual Studio 97 was Microsoft's first attempt at using the same development environment for multiple languages. Visual C++, J++, InterDev, and the MSDN Library all used one environment, called Developer Studio. Visual Basic used a separate environment, as did Visual FoxPro.

1.1.2 Visual Studio 6.0

The next version, version 6.0, was released in 1998. The version numbers of all of its constituent parts also moved to 6.0, including Visual J++ which jumped from 1.1, and Visual InterDev which was at 1.0. This version was the basis of Microsoft's development system for the next four years, as Microsoft transitioned their development focus to the .NET Framework.

Visual Studio 6.0 was the last version to include Visual Basic as most VB programmers knew it; subsequent versions would include a quite different version of VB based on .NET. It was also the last version to include Visual J++, which included deeper ties to Windows and proprietary extensions to the Java language that were incompatible with Sun's version. This caused Sun to sue Microsoft. As part of the settlement, Microsoft would no longer sell programming tools that targeted the Java Virtual Machine.

Although Microsoft's long-term goal was to unify its tools under one environment, this version actually had one more environment than VS 97. Visual J++ and Visual InterDev broke away from the Visual C++ environment, while Visual Basic and Visual FoxPro maintained their separate tools.

(9)

1.1.3 Visual Studio .NET (2002)

Microsoft released Visual Studio .NET in 2002 (the beta version was released on the Microsoft developer network in 2001). The biggest change was the introduction of a managed code development environment using the .NET Framework. Programs developed using .NET are not compiled to machine language (like C++ is, for example) but instead to a format called MIL or CIL. When a MIL application is executed, it is compiled while being executed into the appropriate machine language for the platform it is being executed on, thereby making code portable across multiple platforms. Programs compiled into MIL can be executed only on platforms which have an implementation of Common Language Infrastructure. It is possible to run MIL programs in Linux or Mac OS X using non-Microsoft .NET implementations like Mono andDotGNU.

Microsoft introduced C#, a language similar to Java, that targets .NET. It also introduced the successor to Visual J++ called Visual J#. Visual J# programs use Java's language syntax. However, unlike Visual J++ programs, Visual J# programs can only target the .NET Framework, not the Java Virtual Machine that all other Java tools target.

Visual Basic was drastically changed to fit the new framework, and the new version was called Visual Basic .NET. Microsoft also added extensions to C++, called Managed Extensions for C++, so that C++ programmers could create .NET programs.

Visual Studio .NET can be used to make applications targeting Windows (using Windows Forms, part of the .NET Framework), Web (using ASP.NET and Web Services) and, with an add-in, portable devices (using the .NET Compact Framework) like compatible mobiles and laptops.

The Visual Studio .NET environment was rewritten to partially use .NET. All languages are unified under one environment, except for Visual FoxPro. Compared to previous versions of Visual Studio, it has a cleaner interface and greater cohesiveness. It is also more customizable with tool windows that automatically hide when not in use.

Also in this version, Visual -

FoxPro was no longer being bundled Micrrsoft• ... · . • . and is now sold separately. The

Visual Studio

.net

internal version number of Visual Studio .NET is version 7.0.

(10)

1.1.4 Visual Studio .NET 2003

Microsoft introduced a minor upgrade to Visual Studio .NET in 2003 called Visual Studio .NET 2003. At that point, it referred to the previous version as Visual Studio .NET 2002. It included an upgrade to the .NET Framework, version 1.1. It also came with built-in support for developing programs for mobile devices, using either ASP.NET or the .NET Compact Framework. As well, the Visual C++ compiler was improved to be more standards-compiliant, especially in the area of partial template specialization, and a free version of the same C++ compiler shipped· with Visual Studio .NET 2003 was made available to the public, athough without the IDE, called Visual C++ Toolkit 2003 (no longer available and now superseded by the Express Editions).

Visual Studio 2003 shipped in four editions: Academic, Professional, Enterprise Developer, and Enterprise Architect. The Enterprise Architect edition included an implementation of Microsoft Visio's modeling technologies, which focused on creating Unified Modeling Language-based visual representations of an application's architecture. "Enterprise Templates" were also introduced, to help larger development teams standardize coding styles and enforce policies around component usage and property settings.

The internal version number of Visual Studio .NET 2003 is version 7.1. 1.1.5 Visual Studio 2005

Visual Studio 2005, codenamed Whidbey (a reference to NAS Whidbey Island in Puget Sound), was released online in October 2005 and hit the stores a couple of weeks later. Microsoft removed the ".NET" moniker from Visual Studio 2005 (as well as every other product with .NET in its name), but it still primarily targets the .NET Framework, which was upgraded to version 2.0.

The most important C# language feature added in this version was the introduction of generics, which are very similar to C++ templates. This potentially increases the number of bugs caught at compile-time instead of run-time. C++ also got a similar upgrade with the addition of C++/CLI which is slated to eventually replace Managed C++.

Other new features of Visual Studio 2005 include the "Deployment Designer" which allows application designs to be validated before deployments, an improved environment for web publishing when combined with ASP.NET 2.0 and load testing to see application performance under various sorts of user loads.

(11)

Visual Studio 2005 also added extensive 64-bit support. Visual C++ 2005 supports compiling for x64 (AMD64 and EM64T) as well as IA-64 (Itanium). Previous versions of Visual Studio did not come with 64-bit support. The Platform SDK only included the 64-bit compilers and 64-bit versions of the Visual C++ 6.0 libraries. The 64-bit versions of the Visual C++ .NET 2003 (7 .1) libraries were available only by e- mailing Microsoft with this email address: [email protected].

Visual Studio 2005 is available in several editions, which are significantly different than previous versions: Express, Standard, Professional, Tools for Office, and Team System. In addition to these, four separate Team System editions are provided in conjunction with MSDN Premium subscriptions: Team Suite, Team Edition for Software Architects, Team Edition for Software Developers, and Team Edition for Software Testers.

Team System includes support for large development organizations, and comes in separate editions for software architects, developers, and testers.

Tools for the Microsoft Office System lets developers create extensions to Microsoft Office.

Express Editions were introduced for amateurs, hobbyists, and small businesses, and are available as a free download from Microsoft's web site. There are Express Editions for each language (Visual Basic, Visual C++, Visual C#, Visual J#), each targeting the .NET Framework on Windows, as well as a Visual Web Developer for creating ASP.NET web sites. The Express Editions lack many of the more advanced development tools and extensibility of the other editions. Individual language editions of Visual Studio are no longer available.

Compared to the previous versions of Visual Studio, this time its interface has come to closely resemble the IBM Eclipse interface (particularly IBM IDEs' distinctive notched tab comers).

Visual Studio 2005's internal version number is 8.0. 1.1.6 Future versions

The successor to Visual Studio 2005, code-named Orcas, is currently under

development. The name Orcas is, just like Whidbey, a reference to an island in Puget Sound, namely Orcas Island. The successor to Orcas is code-named Hawaii. Visual Studio has a facility for developers to write extensions (or add-ins) for Visual Studio to extend its capabilities. These add-ins "plug into" Visual Studio and offer some benefits not available from Visual Studio itself.

(12)

1.2 Features of Visual Studio 2003

1.2.1 New Features

VS 2003 includes plenty of new features. The following sections describe what we think are the best ones.

Java Support: VS 2003 brings first-time integration with Visual J#, a tool for Java

developers who want to use Microsoft's .NET framework to build applications and XML Web services. Outside of Visual J#, VS 2003 also supports Visual Basic (VB), Visual C++, and Visual C# developers. The new IDE is available in Standard, Professional, Enterprise Developer, and Enterprise Architect editions .

. NET 1.1 Support: If you want to build applications supporting Microsoft's new .NET

Framework 1 :1, VS 2003 appears to be an absolute must. According to Microsoft, NET 1.1 provides increased scalability with support for up to 32 processors, along with improvements such as better mobile and database support. It also supports IPv6 and, for the ASP.NET platform only, tighter permissions lockdown through code access security.

Side-by-Side Development: For easier migration to the new development environment,

you can run VS 2003 and .NET 1.1 side by side with VS 2002 and .NET 1.0.This new capability is enabled by side-by-side execution, an enhancement in version 1.1 that permits execution of multiple versions of applications or components on the same computer.

However, successful side-by-side development assumes you have adequate disk space to run both frameworks and both IDEs. VS 2003 alone requires 900MB of available disk space on the system drive and 3.3GB of available space on the installation drive.

VS 2003 also includes a setting that lets you compile for either .NET 1.1 or .NET 1.0. Be careful, however, not to compile code to version 1.0 that requires brand- new capabilities in version 1.1.

You should also be aware that VS 2003 uses different file extensions than VB 2002. If you open a project already started in VS 2002, a pop-up appears informing you that the 2002 project is about to be converted to VS 2003 format.

Native Mobile Support: For VB and C# developers, VS 2003 comes with two types of

native mobile support. By using VS 2003's built-in Compact Framework-together with Microsoft Windows Forms Designer-you can create applications for mobile devices

(13)

runnmg on the Pocket PC, the Pocket PC Phone Edition, or Windows CE .NET operating system. Alternatively, VB and C# developers can use VS 2003's integrated ASP.NET Web Forms-along with VS .NET Designer-to build thin-client applications for more than 200 Web site META-enabled devices. The supported devices include WAP phones, pagers, and PDAs.

Better Database Support: VS 2003 also come with new managed data provider tools,

for easier connectivity to Microsoft SQL Server, Microsoft Jet, Oracle, and ODBC databases.

Quicker Development: Also in VS 2003, Microsoft introduces enhancements to both

code completion and IntelliSense. IntelliSense, a design-time assistant, now appears in the immediate window, for easier access.

Here's another time-saver that Microsoft has been demonstrating to developers and journalists. If you type Try at the beginning and end of the handling block, VS automatically inserts the stub code for the rest of the block.

Web Services: Other new tools in VS 2003 support the latest Web services standards,

including WS-Security, WS-Routing, WS-Attachments, and Direct Internet Messaging (DIME).

Code Obfuscation: Also new in VS 2003 is a built-in utility for source code

obfuscation. In addition, VS developers can now download Microsoft's Enterprise Implementation Framework (EIF), a tool that the company promises lets you quickly add runtime monitoring to your applications. The source code obfuscation tool, PreEmptive Dotfuscator Community Edition, is the "lite" version of a product from PreEmptive Solutions, a Microsoft ISV partner based in Cleveland. Microsoft says it included the tool to protect the intellectual property of programmers who distribute VS 2003 code, as well as to help developers reduce the size and improve the performance of mobile and other .NET applications. The tool is designed to render Microsoft Intermediate Language (MSIL ), which is said to be very difficult, if not impossible, to reverse-engineer into comprehensible source code.

Improved Upgrade Wizard: Microsoft improved the VS Upgrade Wizard, a tool for

VB developers only, with first-time support for user controls and Web classes. The enhanced Upgrade Wizard is designed to automatically upgrade Visual Basic 6.0 projects when opened in VS 2003. The tool modifies the language for syntax changes, while also converting VB 6.0 forms. The wizard also notifies developers when manual

(14)

changes need to be made to code. To view the code statement, you navigate to the Task List window and double-click on the task item.

1.2.2 Power Toys

Microsoft's Power Toys work with VS 2003 only. The latest release in the series is VSMousebindings, a tool for assigning mouse buttons to Visual Studio commands. Earlier Power Toy releases for VS 2003 are as follows:

*

VSWindowsManager, for designing custom window layouts

*

VB Commenter, for quickly adding comments to VB source code

*

VSTweak, for modifying some of the most obscure VS options and settings

*

VSEdit, a command-line tool that lets you load files into a currently running instance of VS 2003

*

Custom Help Builder, for producing XML-based Visual Basic or Visual C# help files that can be fully integrated into VS 2003

Some VS 2003 users have complained online to Microsoft that, after installing Custom Help Builder, they get notifications that the tool is not installed. Microsoft has promised a Custom Help Builder fix.

Meanwhile, Microsoft is readying two more Power Toys for VS 2003:

*

VSCMShell Window, a tool that will permit use of the same window for accessing both the VS Commands window and the external CMD.exe process

*

VSTransparency, enabling creation of "semi-transparent" floating windows and pop- ups so that developers can see through to the code beneath.

1.2.3 System Requirements

To use Visual Studio .NET 2003, you need :

Processor

Operating System

450-megahertz (MHz) PentiumII-class processor, 600-MHz Pentium III-class processor recommended

Visual Studio .NET 2003 can be installed onto any of the following systems:

• Microsoft Windows® Server 2003 • Windows XP Professional

• Windows XP Home Edition'

• Windows XP Media Center Edition • Windows XP Tablet PC Edition

• Windows 2000 Professional (SP3 or later required for installation) • Windows 2000 Server (SP3 or later required for installation)

(15)

Applications can be deployed onto the following systems: • Windows Server 2003

• Windows XP Professional • Windows XP Home Edition

• Windows XP Media Center Edition • Windows XP Tablet PC Edition

• Windows 2000 (Service Pack 2 recommended) • Windows Millennium Edition (Windows Me) • Windows 98

• Microsoft Windows NT® 4.0 (Service Pack 6a required) • Windows 95 (using Microsoft Visual C++® .NET) Memory

• Windows Server 2003: 160 megabytes (MB) of RAM • Windows XP Professional: 160 MB of RAM

• Windows XP Home Edition: 96 MB of RAM

• Windows XP Media Center Edition: 160 MB of RAM • Windows XP Tablet PC Edition: 160 MB of RAM • Windows 2000 Professional: 96 MB of RAM • Windows 2000 Server: 192 MB of RAM Hard Disk

• 900 MB of available space required on system drive, 3.3 gigabytes (GB) of available space required on installation drive

• Additional 1.9 GB of available space required for optional MSDN Library documentation

Drive CD-ROM or DVD-ROM drive

(16)

1.3 Product Overview for Visual Studio .NET 2003

Introducing Visual Studio .NET 2003-visionary yet practical, the single comprehensive development tool for creating the next generation of applications has arrived. Developers can use Visual Studio .NET to:

• Build the next-generation Internet.

• Create powerful applications quickly and effectively. • Span any platform or device.

Visual Studio .NET is the only development environment built from the ground up to enable integration through XML Web services. By allowing applications to share data over the Internet, XML Web services enable developers to assemble applications from new and existing code, regardless of platform, programming language, or object model. Visual Studio .NET 2003 is available in the following editions:

1.3 .1 Enterprise Architect

Visual Studio .NET 2003 provides developers with comprehensive tools for designing and building distributed applications for Microsoft Windows®, the Web, and mobile devices. Visual Studio .NET 2003 Enterprise Architect (VSEA) builds on the power of Visual Studio .NET 2003 Enterprise Developer by including additional capabilities for designing, specifying, and communicating application architecture, development best practices, and application functionality. Developers using Visual Studio .NET 2003 Enterprise Architect will benefit from the ability to:

*

Visually model applications, databases, and business processes. Clearly define

application functionality and architecture for XML Web services and applications, and visually orchestrate business processes.

*

Create sound architectural frameworks and best practices guidelines. Increase application development efficiency through starting application frameworks, sharing best practices guidelines, and simplifying development and management of complex applications.

*

Build on a scalable and dependable platform for distributed applications. Create

secure, reliable, and high performance applications using the Visual Studio .NET 2003 integrated development environment (IDE) and the Windows Server 2003 programming model. Choose from a broad range of integrated third-party tools.

(17)

Visually Model Applications, Databases, and Business Processes use a complete set of Microsoft Visio®-based modeling capabilities to create and communicate application architecture, business requirements, database design, and business processes. Architects using Microsoft Visual C++® .NET, Microsoft Visual Basic® .NET, or Microsoft Visual C#® .NET can use Unified Modeling Language (UML) models to specify

I

application architecture and functionality, reduce development time by directly generating classes, functions, and methods, and document existing application code by reverse-engineering projects. Visual Studio .NET 2003 Enterprise Architect enables developers to create architectural designs and models that they can share with the rest of their team.

Visual Studio .NET 2003 Enterprise Architect provides end-to-end support for database modeling, including conceptual, logical, and physical views. Business analysts can easily enter business rules using the Fact Editor, which in turn generates an underlying database model that can be refined by a database analyst. Roundtrip engmeenng guarantees that changes made at any of the views will be reflected throughout, improving communication across the development team. Business processes can be defined and orchestrated using a full-featured version of Microsoft BizTalk® server designed for developers. This makes it easier to compose applications from existing functionality-whether that functionality is internal or external to an organization.

Create Sound Architectural Frameworks and Best Practices Guidelines Enterprise

Templates and the Template Description Language can help developers meet the challenges of rapidly proliferating innovations and technologies, and increase collaboration across development teams. Architects can use Enterprise Template projects to create application starting points by specifying an initial application structure (including any reusable or standard components and technologies), as well as design documents and models.

Build on a Scalable and Dependable Platform for Distributed Applications The

Microsoft .NET Framework, along with Windows Server 2003, is designed to simplify application development in the highly distributed environment of the Internet and enterprise computing. This is achieved through integration of:

*

Public Internet standards such as XML, SOAP, UDDI, and WML.

*

Web services enhancements such as message-based security (WS-Security).

*

A highly scalable, loosely coupled architecture.

(18)

*

Application development in the language of your choice.

*

Easy-to-use automatic transactions, automatic memory management, and easy deployment.

*

Advanced security designed from the ground up to ensure that data and applications are protected through a fine-grained, evidence-based security model.

*

Rich operating system services such as transaction processing monitor and message queumg.

1.3 .2 Enterprise Developer

Visual Studio .NET 2003 provides developers with powerful tools and servers for rapidly building XML Web services and enterprise applications. Visual Studio .NET 2003 Enterprise Developer builds on the power of Visual Studio .NET 2003 Professional by including additional capabilities for enterprise development teams building mission-critical applications that target any device and integrate with any platform. Developers using Visual Studio 2003 Enterprise Developer will benefit from:

A productive team development environment Development teams can safely

version and share source code and documentation using Microsoft Visual SourceSafe®. Development guidelines and best practices can be shared across development teams using XML-based Template Description Language and Enterprise Template projects. Development teams can analyze performance and scalability of XML Web services and applications using Application Center Test (ACT).

The ability to build scalable and secure XML Web services and applications.

Rapidly build, test, and deploy scalable and reliable enterprise applications that harness the power of servers, including full-featured developer versions of Microsoft Windows Server 2003 and Microsoft SQL Server™. Visually build server-side and database components using Server Explorer, Component Designer, and Visual Database Tools. Use the new Web Services Development Kit (WSDK) to support several core Web service scenarios, including message-based security (WS-Security).

A scalable, dependable platform for distributed applications. Create secure,

reliable, high-performance applications using the Visual Studio .NET 2003 integrated development environment (IDE) and the Windows Server 2003 programming model. Choose from a broad range of integrated third-party tools.

Finally, it provides a powerful, enterprise team development environment for rapidly building mission-critical applications that target any device and integrate with any platform.

(19)

1.3.3 Professional

Visual Studio .NET 2003 Professional enables you to rapidly build a broad range of applications for Microsoft Windows®, the Web, and mobile devices. Developers can use Visual Studio .NET 2003 Professional to:

*

Quickly build professional software. With an extensive set of visual designers,

a range of programming languages, and integrated Visual Database Tools, Visual Studio .NET 2003 enables you to build powerful software quickly. Visual Studio .NET 2003 delivers the developer productivity you need to deliver a range of professional software in record time. The integrated development environment (IDE) provides a consistent interface for all languages, including Microsoft Visual Basic® .NET, Microsoft Visual C++® .NET, Microsoft Visual C#® .NET, and Microsoft Visual J#™ .NET. Using the language best suited to your skill set, you can take advantage of shared visual designers to build rich Windows-based applications and dynamic Web applications that render in any browser. Extra features are;

- Quickly Build Windows-based Applications - Streamline Web-based Development

- Create Server-Side Business Logic - IDE Productivity and Extensibility

- Build Software Using Your Choice of Modernized, Powerful Languages

*

Reduce IT operating costs. Easy, Web-style deployment of rich Windows-

based applications, built-in security, and an infrastructure for reusing existing code make the latest version of the Microsoft .NET Framework a dependable platform for software development. Visual Studio .NET 2003 contains an updated version of the .NET Framework, version 1.1, that builds upon the previous version with new capabilities and improved scalability, reliability, security, and performance. These core enhancements in the underlying development framework combine with improved IDE responsiveness to enable reduced costs associated with application development, deployment, and ongoing maintenance.

• Stability and Security

• Simplified Application Deployment

• Flexibility to Leverage Existing Investments

*

Integrate with a wide range of applications, systems, and devices.

Support for the latest XML Web service standards and visual designers for mobile application development enable you to easily extend your applications to other systems

(20)

and devices. Addressing the emerging opportunities represented by XML Web services and mobile application development were key design goals of Visual Studio .NET 2003. Using the skills you already have, Visual Studio .NET 2003 enables you to create and consume XML Web services and provides intuitive designers for rapidly building broad-reach Mobile Web applications as well as smart device software.

• XML Web Services

• Mobile Application Development 1.3.4 Academic

Visual Studio .NET 2003 Academic offers full support for the Microsoft .NET Framework version 1.1 and includes significant improvements for device development. Visual Studio .NET 2003 Academic also provides full support for the .NET Compact Framework, allowing seamless development for mobile and embedded devices, such as the Pocket PC and Pocket PC phone edition, as well as other devices powered by the Windows® CE .NET operating system. Web Services Enhancements (WSE) in Visual Studio .NET 2003 adds support for the latest Web services standards, including routing, attachment, and security. Visual Studio .NET 2003 Academic also includes an improved Visual Basic® .NET Upgrade Wizard, as well as C++ enhancements that lead to greater ANSI/ISO compliance. With Windows Server 2003 and Visual Studio .NET 2003 Academic, students can learn to rapidly develop and deploy dependable, connected applications.

Visual Studio .NET 2003 Academic brings the power of Microsoft .NET Framework into the classroom. It combines all of the features of Visual Studio .NET 2003 Professional with new tools and features, including Assignment Manager, student and faculty documentation, and sample code. All of these simplify course management by providing a set of tools that enable the publication of courses and assignments for students that may be accessed from a Web server, a network share, or a File Transfer Protocol (FTP) site. Visual Studio .NET 2003 Academic offers:

*

A flexible and rich learning environment for student developers. With the help

of features like the object browser, class browser, and IntelliSense®, beginning students can master basic programming, and advanced students can learn to build complex XML Web services and applications. Students can also rapidly build Microsoft Windows applications for Web and Mobile Devices.

(21)

*

Powerful course management tools for faculty. Added functionality enables the publishing of courses and assignments to locations where students may access them using Visual Studio .NET 2003 Academic.

*

Special features designed for academic needs. Both students and faculty benefit from special features designed for instructional settings.

Learn to Program in a Rich and Flexible Environment ; Multiple-language support and interoperability enable students to write applications using a programming language of their choice. Visual Studio .NET 2003 Academic supports languages, that are used by more than 70 percent of all professional developers, including Visual Basic, C, C++, C#, and Java. In addition, the Microsoft .NET Framework has built-in support for dozens of other programming languages, including COBOL, Fortran, Scheme, Oberon, and Component Pascal. Cross-language inheritance enables students to share and reuse code across multiple languages, while cross-language debugging makes it easy to locate code errors in a multi-language environment.

Students can learn to quickly build powerful database, server, and Microsoft Windows-based graphical user interface (GUI) applications by employing XML, Windows Forms, Web Forms, and ADO.NET tools. Additionally, students can create solutions that work with any Internet-enabled device and integrate with any platform using XML services. ASP.NET mobile controls (formerly the Microsoft Mobile Internet Toolkit) and Smart Device Programmability in Visual Studio .NET 2003 Academic enable students to create a single Web solution that integrates smoothly with any operating system and mobile device, including mobile phones, Pocket PCs, handheld devices, and pagers.

Utilize Faculty Tools for Course Management Useful features such as Code Extraction help faculty create student starter projects by removing designated code from working code solutions. The starter project is then published with the assignment and provides the base for the student's coding work. This feature may be used with either the Assignment Publishing Tools or Assignment Man_ager.Assignment Publishing Tools enable faculty to publish courses and assignments so that students may access them from a Web server, a network share, or an FTP site. Once an assignment is published, the Assignment Manager tool helps instructors to submit assignments securely, track assignment submissions, automatically build student solutions, notify students of assignment grades, and send messages to students.

(22)

Facilitate Learning Through Special Instructional Features Visual Studio .NET 2003 Academic includes nine complete student assignments written in languages supported by the Visual Studio environment and ranging in difficulty from simple to advanced. This sample set of assignments includes those commonly found in computer science or information systems programs: Hello World; Tic-Tac-Toe; Diff Tool; Elementary Data Structures; Expression Parser; Sorting; Tile Puzzle; Towers of Hanoi; and Network Chat.The in-depth documentation in Visual Studio .NET 2003 Academic supports both faculty and student users. Students can learn quickly using detailed walkthroughs for topics, such as creating console applications and using the debugger. Faculty documentation describes the course management tools and provides instructions for deploying Visual Studio .NET 2003 Academic in computer science laboratories. The documentation also includes a rich Help reference.

Teach Server-Side Programming Quickly and Easily With the rapid application

development (RAD) features in Visual Studio .NET 2003 Academic, faculty can teach server-side programming in first- and second-year computer science classes. For example, students can compose middle-tier components visually using the Visual Component Designer, which enables them to drag and drop message queues, timers, event logs, and other non-visual objects from the Toolbox. This reduces the amount of code required to build middle-tier components, while allowing for greater functionality in student assignments.

1.4 An Overview to C# Programming Language

1.4.1 Architectural History

C#'s principal designer, and lead architect at Microsoft, was Anders Hejlsberg. His previous experience in programming language and framework design (Visual J++, Borland Delphi, Turbo Pascal) can be readily seen in the syntax of the C# language, as well as throughout the CLR (Common Language Runtime) core. He can be cited in interviews and technical papers as stating flaws in most major programming languages, for example, C++, Java, Delphi, Smalltalk, were what drove the fundamentals of the CLR, which, in turn, drove the design of the C# programming language itself. His expertise can be seen in C#. There is a critical argument that C# shares roots in other languages, as purported by programming language history chart. C# was designed to fit both demands for a concise syntax (C++) and 'unlimited' rapid development (versus the 'limited' RAD of Visual Basic).

(23)

1.4.2 Object Oriented Programming

The idea behind object-oriented programming is that a computer program may be seen as comprising a collection of individual units, or objects, that act on each other,

as opposed to a traditional view in which a program may be seen as a collection of functions, or simply as a list of instructions to the computer. Each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine or actor with a distinct role or responsibility.

Object-oriented programming is claimed to promote greater flexibility and maintainability in programming, and is widely popular in large-scale software engineering. Furthermore, proponents of OOP claim that OOP is easier to learn for those new to computer programming than previous approaches, and that the OOP approach is often simpler - to develop and to maintain, lending itself to more direct analysis, coding, and understanding of complex situations and procedures than other programming methods. Critics dispute this, at least for some domains (industries).

Object-oriented programming (OOP) emphasizes the following concepts:

*

Class - the unit of definition of data and behavior (functionality) for some kind-of-thing. For example, the 'class of Dogs' might be a set which includes the various breeds of dogs. A class is the basis of modularity and structure in an object-oriented computer program. A class should typically be recognizable to a non-programmer

familiar with the problem domain, and the code for a class should be (relatively) self-

contained and independent (as should the code for any good pre-OOP function). With such modularity, the structure of a program will correspond to the aspects of the problem that the program is intended to solve. This simplifies the mapping to and from the problem and program.

*

Object - an instance of a class, an object (for example, "Lassie" the Dog) is the run-time manifestation (instantiation) of a particular exemplar of a class. (For the class of dogs which contains breed types, an acceptable exemplar would only be the

subclass 'collie'; "Lassie" would then be an object in that subclass.) Each object has its

own data, though the code within a class (or a subclass or an object) may be shared for economy ..

*

Method (also known as message)- how code can use an object of some class. A method is a form of subroutine operating on a single object. Methods may be divided into queries returning the current state and commands changing it: a Dog could have a

(24)

query Age to say how old it is, and command chase (Rabbit target) to start it chasing a rabbit. A method may also do both, but some authorities (e.g. Bertrand Meyer) recommend they be kept separate. Sometimes access to the data of an object is restricted to the methods of its class.

*

A member of a class or object is a method or a data item describing the state of an object. In some languages the general term is feature.

*

Inheritance - a mechanism for creating subclasses, inheritance provides a way to define a (sub)class as a specialization or subtype or extension of a more general class: Dog is a subclass of Canidae, and Collie is a subclass of the (sub)class Dog. A subclass inherits all the members of its superclass( es), but it can extend their behaviour and add new members. Inheritance is the "is-a" relationship: a Dog is a Canidae. This is in contrast to composition, the "has-a" relationship: a Dog has a mother (another Dog) and has a father, etc.

* Multiple inheritance - a Dog is both a Pet and a Canidae - is not always·

supported, as it can be hard both to implement and to use well.

*

Encapsulation - ensuring that code outside a class sees only functional details of that class, but not implementation details. The latter are liable to change, and could allow a user to put an object in an inappropriate state. Encapsulation is achieved by specifying which classes may use the members of an object. The result is that each object exposes to any class a certain interface - those members accessible to that class. For example, an interface can ensure that puppies can only be added to an object of the class Dog by code in that class. Members are often specified as public, protected and private, determining whether they are available to all classes, sub-classes or only the defining class. Some languages go further: Java uses the protected keyword to restrict access also to classes in the same package, C# and VB.NET reserve some members to classes in the same assembly using keywords internal (C#) or Friend (VB.NET), and Eiffel allows one to specify which classes may access any member.

*

Abstraction - the ability of a program to ignore the details of an object's (sub)class and work at a more generic level when appropriate; For example, "Lassie" the Dog may be treated as a Dog much of the time, but when appropriate she is abstracted to the level of Canidae (superclass of Dog) or Camivora (superclass of Canidae ), and so on.

* Polymorphism - polymorphism is behavior that varies depending on the class

in which the behavior is invoked, that is, two or more classes can react differently to the

(25)

same message. For example, if Dog is commanded to speak this may elicit a Bark; if

Pig is commanded to speak this may elicit a Grunt. 1.4.3 User Defined Classes in C#

In C#, most of object definition, class methods and syntax has been taken from C and C++. So, to create a class in C# we use "class" keyword and a class name. Public, private or protected attributes of the class determined via these keywords. To write methods for variable's get and set operations are implemented very easily. The keywords "get" and "set" can be used to create this method. An example from project is shown below:

using System;

namespace Graduation2 {

public class Customer {

private string sUserEMail; private int iRestaurantID; public string U serEMail

{ get{retum sUserEMail;} set{sUserEMail = value;} } public Customer() {} } }

In the example code above, "using" keyword is used as "include" in C. System header file is the main one for creating a class. The keyword "namespace" is used to determine the solution name we use class in. The method Customer() is the constructor of the class. It is called automatically when a component from this class is created.

1.4.4Language Features

C# is, in some senses, the programming language which most directly reflects the underlying Common Language Infrastructure (CLI). It depends strongly on this framework because it was designed specifically to take advantage of the features that the CLI provides. Most of C#'s intrinsic types correspond to value-types implemented by the CLI framework. A common misbelief is that they are garbage-collected, though

(26)

they are not; they are true value-types and are stack allocated (with an exception for System.Object, and due to interning, System.String).Applications written in C# require an implementation of the Common Language Runtime (CLR) to execute, in the same way that VB6 requires a runtime to execute (this is often confused with the JRE, which provides a byte-code interpreter). Unlike Java classes, CLI applications are compiled in 2 passes. First compiled to platform abstract bytecode, and secondly, it's compiled at first runtime of the application to the native client's machine code.Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:

*

True support for pointers. However pointers can only be used within unsafe

scopes, and only programs with appropriate permissions can execute code marked as unsafe. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow. An unsafe pointer can be made to not only value-types, but to subclasses of System.Object as well. Also safe code can be written that uses a pointer (System.IntPtr).

*

Managed memory cannot be explicitly freed, but instead is garbage collected when no more references to the memory exist. (Objects that reference unmanaged resources, such as an HBRUSH, can be instructed to release those resources through the standard IDisposable interface, which provides a pattern for deterministic deallocation ofresources.)

*

Multiple inheritance is prohibited (although a class can implement any number of interfaces). This was a design decision by the language's lead architect (Anders Hejlsberg) to avoid complication, avoid 'dependency hell,' and simplify architectural requirements throughout CLI.

*

C# is more typesafe than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type (and this is enforced at compile-time and, indirectly, during JIT). There are no implicit conversions between booleans and integers and between enumeration members and integers, and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s copy constructors.

*

Syntax for array declaration is different (" int [ J a = new int [ 5 J ; " instead

of"int a[SJ ;").

*

Enumeration members are placed in their own namespace.

*

C# 1.0 lacks templates, however, C# 2.0 provides generics.

(27)

*

Properties are available which results in syntax that resembles C++ member field access, similar to VB.

*

Full type reflection and discovery is available. 1.4.5 C# 2.0 & 3.0 New Language Features

New features in C# for the .NET SDK 2.0 (corresponding to the 3rd edition of the ECMA ECMA-334 standard) are:

*

Partial classes (separation of class implementation into more than one file)

Generics or parameterized types. They support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters, as with C++ templates. Also, they differ from Java in that parameterized types are first-class objects in the Virtual Machine, which allows for optimizations and preservation of the type information. See a simple example of C# 2.0 generics.

*

Static classes which represent a concept close to VB.NET modules, cannot be instantiated from code and allow only static members.

*

A new form of iterator that employs coroutines via a functional-style yield keyword

similar to yield in Python.

*

Anonymous delegates providing closure functionality.

*

Covariance and contravariance for signatures of delegates

*

Coalesce operator: (??) returns the first non-null value in a list:

object nullObj = null; object obj = new Object(); return nullObj ?? obj; //returns obj

The primary use of this operator is to assign a nullable type to a non-nullable type with an easy syntax:

int? i = null;

intj = i ?? default(int); //can't assign null to int In C# 3.0 there will be radical additions:

*

"select, from, where" keywords allowing to query from SQL, XML, collections, and more (LINQ).

*

Object initialization : Customer c = new Customer(); c.Name="James"; becomes Customer c = new Customer { Name="James" };

*

Lambda expressions : listOfFoo.Where(delegate(Foo x) { return x.size>lO;}) becomes listOfFoo. Where(x => x.size> 1 O);

(28)

string x="hello";

*

Anonymous types : var x = new { Name = "James" }

*

Extension methods ( adding methods to classes by including the this keyword in the first parameter)

C# 3.0 was unveiled at the PDC 2005, and a Preview, with specifications is available From the MSDN Page (MSDN).

Language researchers at Microsoft have emphasized that C# 3.0 is bytecode- compatible with C# 2.0 - essentially the improvements are purely syntactic or compile-time improvements. For example, many of the most common integrated queries can already be implemented using anonymous delegates in combination with predicate-based container methods such as List.FindAll and List.RemoveAll.

Code Libraries ; The ECMA C# specification details a minimum set of types and class

libraries that the compiler expects to have available and they define the basics required. Most implementations in the open ship with the larger set of libraries.

The .NET Framework is a class library which can be used from a .NET language to perform tasks from simple data representation and string manipulation to generating dynamic web pages (ASP.NET), XML parsing, Web Services/Remoting (SOAP) and reflection. The code is organized into a set of namespaces which group together classes with a similar function, e.g. System.Drawing for graphics, System.Collections for data structures and System.Windows.Forms for the Windows Forms system.

A further level of organisation is provided by the concept of an assembly. An assembly can be a single file or multiple files linked together (through al.exe) which may contain many namespaces and objects. Programs needing classes to perform a particular function might reference assemblies such as System.Drawing.dll and System.Windows.Forms.dll as well as the core library (known as mscorlib.dll in Microsoft's implementation).

Standartization ; In August, 2000, Microsoft Corporation, Hewlett-Packard and Intel

Corporation co-sponsored the submission of specifications for C# as well as the Common Language Infrastructure (CLI) the international standardization organization ECMA. In December 2001, ECMA released ECMA-334 C# Language Specification. C# became an ISO standard in 2003 (ISO/IEC 23270). ECMA had previously adopted equivalent specifications as the 2nd edition of C#, in December, 2002.

In June 2005, ECMA approved edition 3 of the C# specification, and updated ECMA-334. Additions included partial classes, anonymous methods, nullable types,

(29)

and generics (similar to C++ templates). In July 2005, ECMA submitted the standards and related TRs to ISO/IEC JTC 1 via the latter's Fast-Track process. This process usually takes 6-9 months. Based on these standards, there are independent implementations being worked on, including:

*

Mono, Novell's open source .NET implementation (originally by Ximian).

*

DotGNU, and Portable.NET from the Southern Storm Software, PTY

Microsoft released support of the 3rd edition of C# in the .NET SDK 2.0, and Visual Studio 2005, in November 2005.

Politics ; Many of Microsoft's products and initiatives generate political attention, and

C# is no exception. Owing to C#'s close relationship with a commercial institution, political discussions continue regarding the legitimacy of C# standardization, its Java similarities, its future as a general-purpose language, and other issues. Some security experts express skepticism as to the efficacy of the CLR's security mechanisms, and criticise their complexity. At the same time, the language is praised for its clear and programmer-friendly grammar, in addition to reduction in development time for certain types of applications. Unlike proprietary languages such as Visual Basic, Microsoft chose to open up C# to the standardization process. However, Microsoft is still a primary force driving changes and innovation in the language. Additionally, Microsoft has made it clear that C#, as well as the other .NET languages, is an important part of its software strategy for both internal use and external consumption. Microsoft takes an active role in marketing the language as part of its overall business strategies.

Languauge Name; According to the ECMA-334 C# Language Specification, section 6,

Acronyms and abbreviations [1] the name of the language is written "C#" (''LATIN CAPITAL LETTER C (U+0043) followed by the NUMBER SIGN# (U+0023)") and pronounced "C Sharp".

C sharp musical noteDue to technical limitations of display (fonts, browsers, etc.) and the fact that the sharp symbol (#, U+266F,

MUSIC SHARP SIGN, see graphic at right if the symbol is not

C#

visible) is not present on the standard keyboard, the number sign (#) was chosen to represent the sharp symbol in the written name of the language. So, although the symbol in "C#" represents the sharp symbol, it is actually the number sign ("#"). Although Microsoft's C# FAQ refers to the sharp symbol in the language name, Microsoft clarifies the language name as follows:

(30)

"The spoken name of the language is "C sharp" in reference to the musical "sharp" sign, which increases a tone denoted by a letter (between A and G) by half a tone. However, for ease of typing it was decided to represent the sharp sign by a pound symbol (which is on any keyboard) rather than the "musically correct" Unicode sharp sign. The Microsoft and ECMA 334 representation symbols thus agree: the # in C# is the pound sign, but it represents a sharp sign. Think of it in the same way as the <= glyph in C languages which is a less than sign and an equals sign, but represents a less- than-or-equals sign.", Microsoft Online Customer Service.

The choice to represent the sharp symbol tjl) with the number sign(#) has led to confusion regarding the name of the language. For example, although most printed literature uses the correct number sign [2], some incorrectly uses the sharp symbol. What's more, users have been known to call the language "see-pound" (in the US the#- key on telephones is pronounced as the "pound"-key) or "see-hash". Also in the US the # symbol is also occasionally referred to as the "gate" symbol on a telephone, leading to a pronunciation of the language as "see-gate", which could be confused with the brand name of hard-drive manufacturer, Seagate.

The "sharp" suffix has been emulated by a number of other .NET languages that are variants of existing languages, including J# (Microsoft's implementation of Java), A# (from Ada), F# (presumably from System F, the type system used by the ML family), and Gtk# (a .NET wrapper for GTK+).

The # symbol also makes a visual programmers joke. The ++ (increment) operator signifies an increase, or improvement. Hence C++ is an improvement over C. C# can be seen as ++ stacked on top of++, therefore even a further increase.

1.5 Overview of SQL Server Developer Edition

1.5.1 Understanding the Definition of Database

Both SQL and relational database theory originated in IBM's research laboratories. In June 1970, Dr. Edgar F. Codd, an IBM engineer, wrote a paper outlining the mathematical theory of how data could be stored in tables and manipulated using a data sublanguage. Tlie article, entitled "A Relational Model of Data for Large Shared Data Banks," was published in the Communications of the Association for Computing Machinery (ACM) and led to the creation of relational database management systems (DBMS) and Structured Query Language (SQL).

(31)

After Dr. Codd published his article, IBM researchers began work on System /R, a prototype relational DBMS. During the development of System /R, the engineers also worked on a database query language-after all, once data was stored in a DBMS, it would be of no use unless you could combine and extract it in the form of useful information. One of the query languages, SEQUEL (short for Structured English Query Language), became the de facto standard data query language for relational DBMS products. The SQL we use today is the direct descendant of IBM's original SEQUEL data sublanguage.

Although IBM started the research in 1970 and developed the first prototype relational DBMS (System /R) in 1978, it was Oracle (then known as Relational Software, Inc.) that introduced the first commercial relational DBMS product in 1980. The Oracle DBMS (which ran on Digital Equipment Corp [DEC] VAX minicomputers) beat IBM's first commercial DBMS product (SQL/DS) to market by two years. While Oracle continued to refine its product and released version 3, which ran on mainframes, minicomputers, and PCs, in 1982, IBM was working on Database 2 (DB2) which it announced in 1983 and began shipping in 1985.DB2 operated on IBM's MVS operating system on IBM mainframes that dominated the large data center market at the time. IBM called DB2 its flagship relational DBMS, and with IBM's weight behind it, DB2's SQL became the de facto standard database language.Although initially slower than other database models (such as the hierarchical model that you learned about in Tip 3, "Understanding the Hierarchical Database Model," and the network model that you learned about in Tip 4, "Understanding the Network Database Model"), the relational model had one major advantage-you didn't need a programmer to get information fromthe database. The relational query languages let users pose ad hoc, English-like queries to the database and get immediate answers-without having to write a program first.As the performance of relational DBMS products improved through software enhancements and increases in hardware processing power, they became accepted as the database technology of the future. Unfortunately, compatibility across vendor platforms was poor. In 1986 the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) published the first formal ANSI/ISO standard for SQL. SQL-86 (or SQLl) gave SQL "official" status as the relational DBMS data language. ANSI updated the standard in 1992 to include "popular" enhancements/extensions found across DBMS products and added a "wish list" objects and methods that a DBMS should have.

(32)

SQL-92 (or SQL2), published in ANSI Document X3.135-1992, is the most current and comprehensive definition of SQL. At present, no commercial DBMS fully supports all of the features defined by SQL-92, but all vendors are working toward becoming increasingly compliant with the standard. As a result, we are getting closer to the goal of having a data language (SQL) that is truly transportable across DBMS products and hardware platforms.

Many people use the term database to mean any collection of data items. Microsoft and Lotus have also blurred the lines between application data and a database by referring to "database" queries in help screens about searching the information stored in the cells that make up their competing spreadsheet products.

As the name implies, a database contains data. The data is organized into records that describe a physical or conceptual object. Related database records are grouped together into tables. A customer record, for example, could consist of data items, or attributes, such as name, customer number, address, phone number, credit rating, birthday, anniversary, and so on. In short, a customer record is any group of attributes or characteristics that uniquely identify a person (or other business), making it possible to market the customer for new business or to deliver goods or services. A customer table, then, is a collection of customer records. Similarly, if a business wants to track its inventory ( or collection of goods for sale), it would create an inventory table consisting of inventory records. Each inventory record would contain multiple attributes that uniquely describe each item in the inventory. These attributes might include item number, description, cost, date manufactured or purchased, and so on.

1.5 .2 Database Architecture And Features of SQL 2000

Microsoft® SQL Server™ 2000 data is stored in databases. The data in a database is organized into the logical components visible to users. A database is also physically implemented as two or more files on disk.

When using a database, you work primarily with the logical components such as tables, views, procedures, and users. The physical implementation of files is largely transparent. Typically, only the database administrator needs to work with the physical implementation.

(33)

Database XYZ : User view - - - -, ' ' L---1 : Physical implementation ' ' ' • Log1. ldf _ Data1 .mdf Data2.ndf

Figure 1.1 Database Models

Each instance of SQL Server has four system databases (master, model,

tempdb, and msdb) and one or more user databases. Some organizations have only one

user database, containing all the data for their organization. Some organizations have

diiicrcnt databases for each group in their orgaaizstioa, and sometimes a database used

by a single application. For example, an organization could have one database for sales,

~umentmanagementapp~uo;, an~ on. ~efim~s an ase; other applications may access several databases.

~er.tel coml)u\e1 '

I

SQL Server

I

! --- ' System databases -~---~---· ---J---. - : User databases ''

'' master tempdb msdb model payroll sales employees :

' '

1---'

I I,.. - •,.. - •,.. • •,.. - • •,.. • •,.. - •,.. - ,.. ,.. ,.. - ,.. - •,.. - - ,.. - - - - •,.. •• I

Figure 1.2 Database Tables

It is not necessary to run multiple copies of the SQL Server database engine to allow multiple users to access the databases on a server. An instance of the SQL Server Standard or Enterprise Edition is capable of handling thousands of users working in multiple databases at the same time. Each instance of SQL Server makes all databases in the instance available to all users that connect to the instance, subject to the defined security permissions.When connecting to an instance of SQL Server, your connection is

(34)

associated with a particular database on the server. This database is called the current database. You are usually connected to a database defined as your default database by the system administrator, although you can use connection options in the database APis to specify another database. You can switch from one database to another using either the Transact-SQL USE database_ name statement, or an API function that changes your

current database context.

SQL Server 2000 allows you to detach databases from an instance of SQL Server, then reattach them to another instance, or even attach the database back to the same instance. If you have a SQL Server database file, you can tell SQL Server when you connect to attach that database file with a specific database name.

Microsoft® SQL Server™ 2000 features include:

*

Internet Integration :

The SQL Server 2000 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2000 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2000 supports features such as English Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web applications.

*

Scalability and Availability:

The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows® 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites.

*

Enterprise-Level Database Features:

The SQL Server 2000 relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server 2000 database, while at the same time, the distributed transaction support protects the integrity of any updates of the distributed data. Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of

Referanslar

Benzer Belgeler

As a start, you may like to use say 25 thou for signal tracks, 50 thou for power and ground tracks, and 10-15 thou for going between IC and component pads.. Good design practice is

1.1 Overview Of Transmission Line Modeling 1.2 Distributed Transmission Line Parameter 1.3 Lumped Transmission Line Parameters.. 1.4 Lumped Parameter Transmission

ASP is a feature of the Microsoft Internet Information Server (IIS), but, since the server-side script is just building a regular HTML page, it can be delivered to ahnost

The Boolean data type is used to declare a variable whose value would be set as true (1) or false (O). To declare such a value, you use the Boolean

Corrosion of electrodes due to oxidation and direct chemical attack is sometimes a problem to be considered. Bare copper acquires a protective oxide film under normal

The Oracle implementation is packaged into two different distributions: The Java Runtime Environment (JRE) which contains the parts of the Java SE platform required to run

a) Plates. These are generally made from copper, zinc, steel, or cast iron, and may be solid or the lattice type. Because of their mass, they tend to be costly. With the steel

Calculus also provides important tools in understanding functions and has led to the development of new areas of mathematics including real and complex analysis,