C# and Database development

   The Introduce of C#

In one sense, C# can be seen as being the same thing to programming languages as .NET is to the Windows environment. Just as Microsoft has been adding more and more features to Windows and the Windows API over the past decade ,Visual Basic and C++ have undergone expansion. Although Visual Basic and C++ have ended up as hugely powerful languages as a result of this, both languages also suffer form problems due to the legacies of how they have evolved.

In the case of Visual Basic 6 and earlier, the main strength of the language was the fact that it was simple to understand and didn’t make many programming tasks easy,largely hiding the details of the Windows API and the COM component infrastructure from the developer.The downside to this was that Visual Basic was never truly object-oriented, so that large applications quickly become disorganized and hard to maintain .As well as this ,because Visual Basic `s syntax was inherited from early versions of BASIC(which ,in turn, was designed to be intuitively simple for beginning programmers to understand,rather than to write large commercial applications), it didn’t really lend itself to well-structured or object-oriented programs.

C++,on the other and, has its roots in the ANSI C++ language definition. It isn’t completely ANSI compliant for the simple reason that Microsoft first wrote its C++ compiler before the ANSI definition had become official, but it comes close. Unfortunately, this has led to two problems.First, ANSI C++ has its roots in a decade-old state of technology, and this shows up in a lack of support for modern concepts(such as Unicode strings and generating XML documentation), and in some archaic syntax structures designed for the compilers of yesteryear(such as the separation of declaration from definition of member functions).Second,Microsoft has been simultaneously trying to evolve C++ into a language that is designed for high-performance tasks on Windows ,and in order to achieve that they’ve been forced to add a huge number of Microsoft-specific keywords as well as various libraries to the language.

The result is that on Windows ,the language has become a complete mess. Just ask C++ developers how many definitions for a string they can think of:char*,LPTSTR,string, CString(MFC version),CString(WTL version),vchar_t,OLECHAR*,and so on.

Now enter.NET--a completely new environment that is going to involve new extensions to both languages .Microsoft has gotten around this by adding yet more Microsoft_specific keywords to C++,and by completely revamping Visual Basic into Visual Basic .NET, a language that retains some of the basic VB syntax but that is so different in design that we can consider it to be, for all practical purposes , anew language.

It’s in this context that Microsoft has decided to give developers an alternative--a language designed specifically for .NET, and designed with a clean state .Visual C#.NET is the  result . Officially, Microsoft describes C# as a”simple, modern, object-oriented, and type-safe programming language derived from C and C++.” Most independent observers would probably change that to “derived from C,C++,and Java.” Such descriptions are technically accurate but do little to convey the beauty or elegance of the language. Syntactically,C# is very similar to both C++ and Java, to such an extent that many keywords are the same, and C# also shares the same block structure with braces ({})to mark blocks of code ,and semicolons to separate statements . The first impression of a piece of C# code is that it looks quite like C++,and of comparable difficulty to Java. Its design is more in tune with modern developer tools than both of those other languages , and it has been designed to give us ,simultaneously,the ease of use of Visual Basic, and the high performance, low-level memory access of C++ if required .Some of the features of C# are:

Full support for classes and object-oriented programming, including both interface and implementation inheritance, virtual functions, and operator overloading.

A consistent and well-defined set of basic types.

Built-in support for automatic generation of XML documentation.

Automatic cleanup of dynamically allocated memory.

The facility to mark classes or methods with user-defined attributes. This can be useful for documentation and can have some effects on compilation (for example ,marking methods to be compiled only in debug builds).

Full access to the .NET base class library, as well as easy access to the Windows API(if you really need it, which won’t be all that often).

Pointers and direct memory access are available if required, but the language has been designed in such a way that you can work without them in almost all cases.

Support for properties and events in the style of Visual Basic.

Just by changing the compiler options, you can compile either to an executable or to a library of .NET components that can be called up bu other code in the same way as Active X controls (COM components).

C# can be used to write ASP.NET dynamic Web pages an XML Web services. Most of the above statements, it should be pointed out, do also apply to Visual Basic .NET and Managed C++. The fact that C# is designed from the start to work with .NET, however, means that its support for the features of .NET is both more complete, and offered within the context of a more suitable syntax than for those other languages. While the C# language itself is very similar to Java , there are some improvements: in particular, Java is not designed to work with the.NET environment.

Before we leave the subject, we should point out a couple of limitations of C#. The one area the language is not deigned for is time-critical or extremely high performance code--the kind where you really are worried about whether a loop takes 1,000 or 1,050 machine cycles to run through, and you need to clean up your resources the millisecond they are no longer needed. C++ is likely to continue to reign supreme among low-level languages in this area. C# lakes certain key facilities needed for extremely high performance apps. Including the ability to specify inline functions and distructors that are guaranteed to run at particular points in the code. However, the proportions of applications that fall into this category are very low.

database development process

Based on information engineering information systems planning database is a source of development projects. These new database development projects is usually in order to meet the strategic needs of organizations, such as improving customer support, improve product and inventory management, or a more accurate sales forecast. However, many more database development project is the bottom-up approach emerging, such as information system user needs specific information to complete their work, thus beginning a project request, and as other information systems experts found that organizations need to improve data management and begin new projects. Bottom-up even in the circumstances, to set up an enterprise data model is also necessary to understand the existing database can provide the necessary data, otherwise, the new database, data entities and attribute can be added to the current data resources to the organization.

Both the strategic needs or operational information needs of each database development projects normally concentrated in a database. Some projects only concentrated in the database definition, design and implementation of a database, as a follow-up to the basis of the development of the development of information systems. However, in most cases, the database and associated information processing function as a complete information systems development project was part of the development.

System Development Life Cycle

Guide management information system development projects is the traditional process of system development life cycle (SDLC). System development life cycle is an organization of the database designers and programmers information system composed of the Panel of Experts detailed description, development, maintenance and replacement of the entire information system steps. This process is because Waterfall than for every step into the adjacent the next step, that is, the information system is a specification developed by a piece of land, every piece of the output is under an input. However shown in the figure, these steos are not purely linear, each of the steps overlap in time (and thus can manage parallel steps), but when the need to reconsider previous decisions, but also to roll back some steps ahead. (And therefore water can be put back in the waterfall!)

Figure 4 on the system development life cycle and purpose of each stage of the product can be delivered concise notes. The system development life cycle including each stage and database development-related activities, therefore, the question of database management systems throughout the entire development process. In Figure 5 we of the system development life cycle stage of the seven,and outlines the common database at each stage of development life cycle stage of the seven,and outlines the common database at each stage of development activities.Please note that the systems development life cycle stages and database development steps.development life cycle stages between.

Enterprise Modeling

Database development process from the enterprise modeling(system development life cycle stage of the project feasibility students,and to choose a part),Organizations set the scope and general database content,Enterprise modeling in information systems planning and other activities,these activities,these activities determine which part of information systems need to change and strengthen the entire organization and outlines the scope of data.In this step,check the current database and information systems,development of the project ad the main areas of the nature of the business,with a very general description of each term in the development of information systems.when needed data.Each item only when it achieved the expected goals of organizations can be when the next step.

Conceptual Data Modeling

One has already begun on the Information System project,the concept of data modeling phase of the information systems needs of all the data.It is divided into two stages.First,it began the project in the planning stage and the establishment of a plan similar to Figure 1.At the same time outlining the establishment of other documents to the existing database without considering the circumstances specific development project in the scope of the required data.This category only includes high-level data must have a management information system set the entire organization Details of the data model definition of all data attributes,listing all data types that all data inter-entity business linkages,defining description of the full data integrity rules.In the analysis phase,but also the concept of inspection data model(also called the concept behind the model)and the goal of information systems used to explain other aspects of the model of consistency categories,such ad processing steps,rules and data processing time of timing.However,even if the concept is such detailed data model is only preliminary,because follow-up information system life cycle activities in the design of services,statements,display and inquiries may find that missing element or mistakes.Therefore,the concept of data often said that modeling is a top-down manner.its areas of operation from the general understanding of the driver,data processing time of timing,However,even if the concept is such detailed data model is only preliminary,because follow-up information system life cycle activities in the design of services,statements,display and inquiries may find that missing element or mistakes.Therefore,the concept of data often said that modeling is a top-down manner,its areas of operation from the general understanding of the general understanding of the driver,rather than the specific information processing activities by the driver.

Logical Database Design

Logical database design from two perspectives database development.First,the concept of data model transform into relational database theory based on the criteria that means-between.Then ,as the design of information systems,every computer procedures (including procedures for the input and output format),database support services.statements,and inquiries revealed that a detailed examination.In this so-called Bottom-up analysis,accurate verification of the need to maintain the database and the data in each affairs,statements and so on the needs of those in the nature of the data.

For each separate statements,services,and so on the analysis must take into account a specific,limited but complete database view. When statements.services,and other analysis might be necessary to change the concept of data model. Especially in large-scale projects, the different analytical systems development staff and the team can work independently in different procedures or in a centralized, the details of their work until all the logic design stage may be displayed . In these circumstances, logic database design stage must be the original concept of data model and user view these independent or merged into a comprehensive design. In logic design information systems also identify additional information processing needs of these new demands at this time must be integrated into the logic of earlier identified in the database design.

Logical database design is based on the final step for the formation of good data specifications and determine the rules , the combination, the data after consultation specifications or converted into basic atomic element .Most of today’s database, these rules form the relational database theory and process known as standardization. This step is the result of management of these data have not cited any database management system for a complete description of the database map . Logical database design completed , we began to identify in detail the logic of the computer program and maintenance, the report contents of the database for inquiries.

Physical database design and definition 

Physical database design and definition of According to the library management system for physical structure , the procedures outlined processing services,produce the desired management information and decision support statements. The objective of this stage is to design an effective and safe management of all data-processing database, the physical database design to closely integrate the information systems of other physical aspects of the design, including procedures , computer hardware,operating systems and data communications networks. 

Database Implementation

The database prepared by the realization stage, testing and installation procedures for handling databases. Designers can use the standard programming language(such as COBOL, C or Visual Basic),the dedicated database processing languages(such as SQL),or the process of the non-exclusive language programming in order to produce a statement of the fixed for mate, the result will be displayed, and may also include charts. In achieving stage, but also the completion of all the database files, training users for information systems(database) user setup program. The final step is to use existing sources of information (documents legacy applications and now needs new data  )loading data. Loading data is often the first step in data from existing files and databases to an intermediate format (such as binary or text files) and then to turn intermediate loading data to a new database .Finally,running databases and related applications for the actual user maintenance and retrieval of data .n operation, the regular backup database and the database when damaged or affected resume database.

Database maintenance

During the database in the progressive development of database maintenance. In this step, in order to meet changing business conditions, in order to correct the erroneous database design, database applications or processing speed increase, delete or change the structure of the database .When a procedure or failure of the computer database affect or damage the database may also be reconstruction. This step usually is the longest in the database development process step, as it continued to databases and relate applications throughout the life cycle ,the development of each database can be seen as a brief database development process and data modeling concepts arise, logical and physical database design and database to achieve dealing with the changes.

database development of the three-tier architecture model 

In this article on the front of the database development process mentioned in the interpretation of a system development project on the establishment of the several different, but related database view or model:

Conceptual model (in the analysis stage of the establishment).

External model or user view (in the analysis phase and the establishment of logical design phase).

    Physical model or internal model (in the physical design phase of the establishment).

Figure 7 describes the database view that the relationship between the three, it is important or remember that they are the same organizations database view or model. In other words , each organization has a database of the physical model , a concept model and one or more users view .Therefore, the three-tier architecture model using the same data set observe the different ways definition database.

Concept model on the full database structure , has nothing to do with the technical specifications. Conceptual model definition do not involve the entire database data stored in the computer how the secondary memory .Usually, the conceptual model by entities - links(e-r)map or object modeling symbols such a graphical format to describe, we have this type of concept model called the data model . In addition, the conceptual model specification as a meta data stored in the database or data dictionary.

    Physical model including conceptual model of how data stored in computer memory in the two specifications . Analysts and the database design is as important to the physical database (physical mode) definition, it provides information on the distribution and management of data storage and access of the physical memory space of two full database technology specifications.

Database development and database technology database is among the three models divided into basis. Database development projects may have a role to only deal with these three views of  of a related work. For example, a beginner may be designed for one or more procedures external model ,and an experienced developer will design the physical model or conceptual model .Database design issues at different level s are quite different.

    three-tier structure of the database positioning system

Obviously, all the good thing in the database are ,and the “three”!

When designing a database, you have to choose where to store data. This option in the physical database design stage. Database is divided into individual databases,the Working Group database,departmental databases, corporate databases and the Internet database . Individuals often by the end-user database design and development of their own, just by database experts to give training and advice to help ,it only contains individual end -user interested in the data. Sometimes, personal database from the database or enterprise Working Group extracted from the database ,such circumstances database prepared by some experts from the regular routine to create local database .Sector Working Group database and the database is often the end-user Business experts and the central database system experts development.The collaborative work of these officers is necessary because in the design of the database definition differences and other similar problems.Due to corporate databases and the Internet database broad impact,large-scale,it is normally concentrated in the database development team has received professional training to develop a database of experts.

Customers layer

A desktop or notebook also known as that layer,which specialized management user interface and system localization data in this layer can be implemented on the Web scripting tasks.

   Server/Web server

HTTP protocol handling,scripting tasks,the implementation of computing and provide data access,the layer known as processing services layer.

   Enterprise Server layer

The implementation of complex computing and inter-organizational management from multiple data sources of data integration,also known as data services layer.

In an organization,hierarchical database and information system architecture for distributed computing and the client/server architecture of the concept of correlation.Client/server architecture based on a LAN environment,including servers database software implementation from the client workstation database orders,each customer applications focus on their user interface functions.In fact,the whole concept of the database as a distributed database or the separate but related physical database distribution in the local PC workstation,server intermediate.Simply said that the use of client/server architecture for:

1.it can handle multiple processors on the same application at the same time,improve application response time and data processing speed.

2.It can use each computer platform of the best data processing.

3.Can mix various client technology and public data sharing.In addition,you can change the technology at any layer and other layers only a small influence on the system module.

4.Able to handle close to the data source to be addressed to improve response time and reduce network traffic.

5.Accept it to allow and encourage open systems standards.

6.From database development,the user of a multi-layered client/server database architecture development is the most meaningful of the database will be easy to develop and maintain database information system module separated.that routine can be used as Power Builder,Java,and Visual Basic language to provide this easy-to-use graphical user interface.Through middle-ware that routine interaction between layers can be passed to access routine,the routine visit to the necessary data and analysis of these data in order to form the required information.As a database developers and programmers,you can in this three-tier level of any of the work,developing the necessary software. 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值