Case programs for database development. Using case technologies for database design

CASE database design tools

Trends in the development of modern information technologies lead to a constant increase in the complexity of database systems. The experience of designing such systems shows that this is a logically complex, time-consuming and time-consuming work that requires highly qualified specialists involved in it. Since the 70s and 80s, in the development of information systems, a structural methodology has been widely used, which provides developers with strict formalized methods for describing systems and accepted technical solutions. It is based on a visual graphic technique: diagrams and diagrams are used to describe various types of models. To automate this technology, software and technological tools of a special class are currently used - CASE tools that implement the CASE technology for creating and maintaining information systems. The term CASE (Computer Aided Software Engineering) is currently used in a very broad sense. original value term CASE, limited to issues of development automation only software, has now acquired a new meaning, covering the process of developing complex automated systems generally. The term CASE-tools refers to software tools that support the processes of creating and maintaining information systems, including analysis and formulation of requirements, application and database design, code generation, testing, documentation, quality assurance, configuration management and project management, as well as other processes.

CASE tools are automated tools based on CASE technologies that allow you to automate individual steps life cycle software. All modern CASE tools can be classified into types and categories. The classification by type reflects the functional orientation to the software life cycle processes. The category classification determines the degree of integration by functions performed and includes individual local funds, solving the most autonomous tasks (in English tools), a set of partially integrated tools covering most of the life cycle stages (toolkit) and fully integrated tools that support the entire life cycle of information systems.

The classification by type includes the following main CASE tools:

1. Analysis tools designed to build and analyze domain models (Bpwin, Design/IDEF);

2. Analysis and design tools designed to create design specifications (CASE.Analyst, Vantage Team Builder, Designer/2000, Silverrun, PRO-IV);

3. Database design tools that provide data modeling and database schema generation for the most common DBMS (Silverrun, Vantage Team Builder, Designer/2000, ERwin, S-Designor);

4. Application development tools and code generators (Vantage Team Builder, Silverrun, PRO-IV);

5. Reengineering tools that provide analysis of program codes, database schemas and formation on their basis various models and design specifications. Database schema analysis tools are included in: (Silverrun, Vantage Team Builder, Designer/2000, Erwin, S-Designor). To analyze program codes, tools such as Rational Rose and Object Team.

In the context of this study guide the most interesting CASE-tools used in the design of databases, listed in paragraph 3.

The Silverrun CASE tool of the American company Computer Systems Advisers (CSA) is used for the analysis and design of business-class information systems and is focused, to a greater extent, on the spiral life cycle model. It is applicable to support any methodology based on the separate construction of functional and information models (data flow diagrams and entity-relationship diagrams). Silverrun has a modular structure and consists of four modules, each of which is a standalone product. The module for building models of business processes in the form of data flow diagrams (BMP - Business Process Modeler) allows you to model the functioning of the organization being surveyed or the information system being created. The conceptual data modeling module (ERX - Entity-Relationship eXpert) provides the construction of entity-relationship data models that are not tied to a specific implementation. The Relational Data Modeler (RDM) module allows you to create detailed entity-relationship models for implementation in a relational database. Repository manager working group(WRM - Workgroup Repository Manager) is used as a data dictionary for storing information common to all models, and also provides integration of Silverrun modules into a single design environment. The price to pay for the high flexibility and variety of visual tools for building models is such a disadvantage of Silverrun as the lack of strict mutual control between the components of different models (for example, the ability to automatically propagate changes between data flow diagrams of different levels). But this shortcoming can be significant only in the case of using the cascade model of the software life cycle. To automatically generate database schemas, Silverrun has bridges to the most common DBMS: Oracle, Informix, DB2, Ingres, Progress, SQL Server, SQLBase, Sybase. To transfer data to application development tools, there are bridges to 4GL languages: JAM, PowerBuilder, SQL Windows, Uniface, NewEra, Delphi. The Silverrun system is implemented on three platforms - MS Windows, Macintosh, OS / 2 Presentation Manager - with the ability to exchange design data between them.

Vantage Team Builder is an integrated software product focused on the implementation of the waterfall model of the software life cycle. Vantage Team Builder provides the following functions: 1) design of data flow diagrams, "entity-relationship", data structures, block diagrams of programs and sequences of screen forms; 2) generation of program code in the 4GL language of the target DBMS with full provision software environment and SQL code generation for creating database tables, indexes, integrity constraints and stored procedures; 3) programming in C with embedded SQL; 4) project versioning and configuration management; 5) generation of project documentation according to standard and individual templates; 6) export and import of project data. Vantage Team Builder is available in various configurations depending on the used DBMS (Oracle, Informix, Sybase, Ingress) or application development tools (Uniface). Vantage Team Builder configuration provides sharing two systems within a single technological design environment, while database schemas (SQL models) are transferred to the Uniface repository, and vice versa, applied models, generated by Uniface tools, can be transferred to the Vantage Team Builder repository. The possibility of inconsistency between the repositories of the two systems is eliminated using special utility. The development of screen forms in the Uniface environment is performed on the basis of form sequence diagrams (FSD) after importing the SQL model. Vantage Team Builder runs on all major Unix platforms (Solaris, SCO UNIX, AIX, HP-UX) and VMS.



Oracle's Designer/2000 CASE tool is an integrated CASE tool that, in conjunction with the Developer/2000 application development tools, provides full software lifecycle support for systems using the Oracle database. Designer/2000 includes following components: 1) Repository Administrator - repository management tools (creating, deleting applications, managing access to data from various users, exporting and importing data); 2) Repository Object Navigator - a means of accessing the repository. Providing a multi-window object-oriented interface for access to all elements of the repository; 3) Process Modeller - a tool for analyzing and modeling business activities based on the concepts of business process reengineering and a global quality management system; 4) Systems Modeller - a set of tools for constructing functional and information models of the information system being designed, including tools for constructing entity-relationship diagrams, functional hierarchy diagrams, data flow diagrams, and a tool for analyzing and modifying relationships of various types of repository objects; 5) Systems Designer - a set of information systems design tools, including a relational database structure building tool, as well as diagramming tools that display interaction with data, hierarchy, structure and application logic, implemented by stored procedures in SQL; 6) Server Generator - a generator of descriptions of Oracle database objects (tables, indexes, keys, sequences, etc.). In addition to Oracle products, database generation and reengineering can be performed for Informix, DB/2, Microsoft SQL Server, Sybase, and also for databases accessed via ODBC; 7) Forms Generator - an application generator that includes various screen forms, data controls, integrity constraint checks, and automated hints; 8) Repository Reports - generator of standard reports. Designer/2000 operating environment - Windows 3.x, Windows 95, Windows NT.

Erwin is a logical database modeling tool that uses the IDEF1X methodology. Erwin implements database schema design, generation of its description in the language of the target DBMS (Oracle, Informix, DB/2, Ingres, Progress, SQL Server, SQLBase, Sybase, etc.) and reengineering existing base data. Erwin is available in several different configurations targeting the most common 4GL application development tools. The Erwin/Open version is fully compatible with the PowerBuilder and SQLWindows application development tools and allows you to export the description of the designed database directly to the tool's data repository.

S-Designor is a CASE design tool relational databases data. S-Designor implements a standard data modeling methodology and generates database descriptions for such DBMS as Oracle, Informix, DB/2, Ingres, Progress, SQL Server, SQLBase, Sybase, etc. For existing systems database reengineering.

Of the listed tools, the last two are universal tools focused only on database design.

The next section will discuss the theoretical aspects of relational databases that affect the choice of decisions when developing databases and subsequent work with databases.

Rationale for the need to use Case funds

Composition, structure and functional features of Case funds

Classification of Case funds

Overview of modern tools

Systems analysis

Database Design Methodology Using Case

Creating Use Case Diagrams

1. Rationale for the need to use Case-tools

When designing and describing the operation of systems, block diagrams and diagrams are widely used. The visibility and rigor of the schemes allows developers and future users of the system from the very beginning to informally participate in its creation, discuss and consolidate the understanding of the main technical solutions. It is very difficult to manually develop and graphically represent strict formal system specifications, check them for completeness and consistency, and even more so change them. If, nevertheless, it is possible to create a strict system of design documents, then its processing when serious changes appear is practically impossible. Manual development usually generates the following problems:

    inadequate requirements specification;

    inability to detect errors in design decisions;

    poor quality of documentation, which reduces the performance of the system;

    long cycle and poor system test results.

It is necessary to create, model, execute and check the elements of architecture, design and development results, on the one hand, as early as possible, on the other hand, throughout the entire life cycle of the product. In addition, it seems very important for any company to be able to reuse already existing elements of architecture and design, as well as previously created and compiled software and system developments (including model elements and previously received code).

Currently, many teams working on a project are geographically dispersed, with different teams using different tools, following different processes, communicating and programming in different languages. On the other hand, with the ever-increasing complexity of projects, engineers more than ever need good integration and coordination of many functions and activities, which, for example, include requirements management, product or feature portfolio management, systems engineering and design, change and configuration management, software development.

CASE(Computer Aided Software Engineering) - technology is an IS design methodology, as well as a set of tools that allow you to visually model a subject area, analyze this model at all stages of IS development and maintenance, and develop applications in accordance with the information needs of users.

CASE-tools are software tools that support the processes of creating and / or maintaining IS, such as: analysis and formulation of requirements, design of databases and applications, code generation, testing, quality assurance, configuration and project management. That is, the use case-technologies covers the entire process of developing IP as a whole.

Case technologies offer a new, automation-based approach to the concept of the database life cycle. When using case, all phases of the life cycle are changed, while biggest changes relate to the analysis and design phases. Figure 1 shows simplest model database creation cycle (Fig. 1a) and the corresponding case model (Fig. 1b), in which the prototyping phase replaces the traditional system analysis phase. It should be noted that the most automated phases are the phases of project control and code generation (although all other phases are also supported by case-tools). Table 1 gives an estimate of labor costs by life cycle phases for various database development methods, and Table 2 shows the advantages of traditional development and using case tools.

prototyping

Design

Specification Design

Coding

Project control

Testing

code generation

Escort

System testing

Escort

Figure 1 - Models of the life cycle of creating a database

a) without using b) using CASE

Table 1 - Evaluation of labor costs for various methods of database development

Table 2 - Advantages of traditional development and with the helpcase- funds

Traditional development

Development withcase

Main efforts on coding and testing

Main efforts on analysis and design

"Paper" specifications

Rapid iterative prototyping

Manual coding

Automatic code generation

Manual documentation

Automatic documentation generation

Code testing

Automatic project control

Maintenance of codes

Maintenance of design specifications

Real benefit from case usage-Funds can only be obtained after one or two years of experience. The impact of case tools can really come into play during the operational phase of the database, when technological improvements can lead to lower operational costs.

The implementation of case tools is a rather lengthy process and may not bring immediate returns. There may even be a short-term decrease in productivity as a result of the effort expended on implementation. As a result, the management of the user organization may lose interest in case tools and stop supporting their implementation. The negative attitude of the staff towards the introduction of a new case-technology can be the main reason for the failure of the project. Users of case-tools must be prepared for the need for long-term operating costs, the frequent appearance of new versions and the possible rapid obsolescence of tools, as well as the constant costs of training and staff development.

When designing a database based on case technology, a spiral cycle of system creation is used, Fig.2. In case of incomplete completion of work at each stage of development, we proceed to the next stage without waiting for the complete completion of work at the current stage. With an iterative development method, we perform the missing work at the next iteration. The main task is set as follows - as soon as possible to show users of the system a workable product, thereby activating the process of clarifying and supplementing requirements. The main problem of the spiral cycle is determining the moment of transition to the next stage. To solve it, it is necessary to introduce time limits for each of the stages of the life cycle.

Figure 2 - Spiral model of the IP life cycle

We can list the following factors that complicate the determination of the possible effect of the use of case-means:

    a wide variety of quality and possibilities of case-means;

    relatively short time of using case-tools in various organizations and lack of experience in their application;

    a wide variety in the practice of implementation of various organizations;

    lack of detailed metrics and data for already completed and ongoing projects;

    a wide range of project subject areas;

    different degree of integration of case-tools in different projects.

For the successful implementation of case-tools, there must be an understanding of the limitations of existing capabilities and the ability to accept new technology, a willingness to implement new processes and relationships between developers and users, clear leadership and organization in relation to the most milestones and implementation processes.

Among the most important problems of using case-technology are the following:

    lack of full correspondence between those processes and methods that are supported by case-means and those that are used in this organization, can lead to additional difficulties;

    case tools are often difficult to use in conjunction with other similar tools. this is explained as the different paradigms supported various means, and problems of data transmission and control in these means;

    some case tools require too much effort to justify their use in a small project, while you can benefit from the discipline that their application obliges;

    the negative attitude of staff towards the implementation of case-technology can be the main reason for the failure of the project.

CASE (eng. computer-aided software engineering) - a set of tools and methods software engineering for software design that helps provide high quality programs, no errors and easy maintenance software products. CASE is also understood as a set of methods and tools for designing information systems using CASE tools.

Program development automation tools (CASE-tools) - tools for automating the design and development of software for a system analyst, software developer and programmer

Designer/2000 (Oracle) Designer/2000 (previously called Oracle*CASE) is a versatile CASE tool that allows you to model business processes, create data flow diagrams, and create functional models. The data design and ER diagramming tool is just one part of this rather complex product and provides the ability to save the created data models and the described business rules in a dedicated repository.

Designed primarily for use with Oracle 8, Designer/2000 supports all of the features of that DBMS, including object data types (CLOBs, Arrays, nested tables, and more), as well as the specifics of the physical implementation of the Oracle database. For Oracle 7 and Oracle 8, this CASE tool allows you to create role definitions, generate triggers that implement the business logic described in the models used to generate the database, and generate objects for distributed databases. In addition, using Designer/2000, you can create physical models and perform reverse engineering for other DBMS - Oracle RDB, DB 2, Microsoft SQL Server, Sybase, ODBC data sources, as well as reverse engineering based on DDL scripts, if they follow the ANSI SQL standard

The process of generating a physical database schema from a logical data model is called Forward Engineering. Similarly, the process of generating a logical model from a physical database is called reverse engineering.

Data Definition Language (DDL) (data description language) is a family of computer languages used in computer programs to describe the structure of databases. Currently, the most popular DDL language is SQL, which is used to retrieve and manipulate data in an RDBMS and combines elements of DDL, DML, and DCL. The functions of DDL languages ​​are defined by the first word in a sentence (often called a query), which is almost always a verb. In the case of SQL, these are verbs - “create” (“create”), “alter” (“change”), “drop” (“delete”). These queries or commands are often mixed with other SQL commands and therefore DDL is not a separate computer language.

ERwin (Computer Associates) ERwin is a specialized data engineering tool. Its application assumes that the modeling of business processes and data flows is carried out using other products (for example, BPwin), with which information about models can be exchanged. ERwin is not focused on any particular DBMS and supports more than 20 types of DBMS, including DBMS from all leading database server manufacturers (Oracle, Sybase, Microsoft, IBM, Informix), as well as all popular desktop DBMS formats (including d. Base, Clipper , Fox. Pro, Access, Paradox), except perhaps the most recent versions.

ERwin has a built-in macro language for writing DBMS-independent server code templates during the logical design process, as well as ready-made templates to generate triggers that implement standard actions (for example, cascade deletion). When a physical model is created, the templates are converted into code in the procedural SQL extension of the server for which the physical model is being created. Logical and physical ERwin models stored in one file. ERwin supports the exchange of models with the Designer/2000 and Microsoft Repository, as well as the generation of client applications for Visual Basic and power. builder.

power. Designer (Sybase) Power. Designer (formerly S-Designor, owned by Power. Soft) is a tool that includes a conceptual (that is, logical) modeler, a physical modeler, and an object-oriented modeling tool used to generate client applications. The physical modeler is a separate product - Power. Designer Physical. architect. As part of the product Power. designerdata. Architect includes tools for creating conceptual and physical models, as part of Power. Designer Developer - tools for object-oriented modeling and creation of physical models, as part of Power. designer object. Architect - all three means. Physical and conceptual models in Power. designerdata. Architect are stored in different files, however, it is possible to generate both a physical model based on a conceptual model, and vice versa.

In addition to server DBMS manufactured by Sybase (Adaptive Server Enterprise 12. 0, Sybase SQL Anywhere) Power. designerdata. Architect is able to work with any ODBC sources. Like ERwin, it supports the generation of server-side DBMS triggers that perform standard handling of events related to referential integrity violations. power. Designer Developer and Power. designer object. Architect can generate client application code for Power. Builder, as well as Java classes and Java components. beans. It is also possible to reverse engineer class diagrams from Java sources, bytecodes, and Java archives. It also supports the generation of Web application code and objects for Sybase Enterprise Application Server based on the physical model. power. designerdata. Architect can import ERwin logical and physical models.

ER/Studio (Embarcadero Technologies) ER/Studio is less known in our country than ERwin and Power. designerdata. architect. However, the capabilities of this product also deserve attention. In its purpose, this product is similar to ERwin - it is a specialized data design tool and does not contain tools for object-oriented modeling or business process modeling. The list of supported DBMS for this product is quite wide and includes all the most popular server and desktop DBMS.

ER/Studio models can be saved not only as a DDL script, but also in XML format. You can also create a repository to store them in any server DBMS. ER/Studio can import ERwin models, but server-side code templates are lost when they are imported, and not all ERwin macros are correctly converted to SAX Basic macros. ER/Studio allows you to generate Java classes for client applications.

Visible Analyst (Visible Systems Corporation) Visible Analyst is a very popular product from Visible Systems Corporation. Easy CASE-means previously produced by this company are also widely known. ER and Easy. CASE are the forerunners of Visible Analyst. This product is available in three editions: Visible Analyst DB Engineer, which includes data design tools, Visible Analyst Standard, which, in addition to data design, allows structural modeling, and Visible Analyst Corporate, which, in addition to the above features, also allows object-oriented modeling.

Visible Analyst supports a fairly wide range of DBMS in terms of server code generation, including Oracle 7, Sybase SQL Server (System 10 and 4.x); Informix, DB2, Ingres. For Informix and DB 2 specified product allows you to generate DDL scripts that take into account the specific features of the organization of physical memory of the most popular server DBMS, such as managing table space, extent size, data blocking modes, fill factor, as well as creating clustered indexes and generating triggers for execution standard operations. From the same DBMS, you can directly reverse engineer. In addition to these two DBMSs, reverse engineering can also be done from DDL scripts generated for other DBMSs, as well as from COBOL code.

Visio Enterprise (Microsoft) A product called Visio, acquired in January 2000 by Microsoft Corporation along with its developer, Visio Corporation, was positioned on the market as one of the most popular diagramming and diagramming tools. Like the vast majority of data design tools, Visio Enterprise allows you to perform forward and reverse engineering of data, transform logical model into the physical. It can be used to create triggers for standard handling of referential integrity violations if the DDL script is created for Microsoft SQL Server, and server-side restrictions if the script is created for another DBMS. Visio, when generating scripts, allows you to specify the parameters for organizing the physical memory of Oracle, Informix, Microsoft SQL Server, DB 2, and some other DBMS.

Visio, unlike specialized data design tools, does not have a scripting language that allows you to create server code that is not associated with a specific DBMS. When using this product, such code must be created at the physical design stage in an already created script.

The modern case-tool covers a wide area of ​​support for numerous technical IS logging from simple analysis and documentation tools to full-scale automation tools covering the entire IS life cycle.

The category of case tools includes both relatively cheap systems for PCs with very limited capabilities, and expensive systems for heterogeneous computing platforms.

The modern software market includes about 300 different case-tools, the most powerful of which, one way or another, are used by almost all leading Western firms. The case tool has the following main abilities:

    the presence of powerful graphical tools for describing and documenting the system, providing a convenient interface with the developer and developing his creative capabilities;

    integration individual components case-tools that provide controllability of the IS development process;

    use of a specially organized repository of project metadata.

Case (from Computer Aided Software / System Engineering) is a technology that is a combination of an IC design method, as well as a set of tools that allow you to visually model subject area, analyze this model at all stages of development and maintenance of IS, and develop applications in accordance with the user's information needs.

The integrated CASE tool contains the following components:

    a repository that is the basis of a CASE tool. It should ensure the storage of versions of the project and its individual components, the synchronization of the receipt of information from various developers during group development, the control of metadata for correctness and consistency;

    graphic analysis and design tools that provide the creation and editing of a complex of interconnected diagrams that form models of the organization and system activity;

    application development tools;

    requirements management tools;

    means of documentation;

    testing tools;

    project management tools.

The content of a repository (storage) includes not only information objects of various types, but also the relationships between their components, as well as the rules for using or processing these components. The repository can store over 100 object types, examples of which are diagram, screen and menu definitions, report designs, data descriptions, source codes, and so on.

Graphic tools provide:

    creating hierarchically linked diagrams that combine graphic and text objects;

    creating, moving and aligning groups of objects, changing their sizes, scaling;

    maintaining relationships between objects when they are moved and resized;

    automatic error control.

Classification of CASE funds by type:

    universal - throughout the entire life cycle;

    local - specifically at each stage of development.

Analysis Tools(Upper CASE) designed for building and analyzing domain models (Design/IDEF (Meta Software), BPwin (Logic Works)).

Analysis and design tools(Middle CASE) that support the most common design methodologies and are used to create design specifications (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE.Analyst (MacroProject) ). The output of such tools are specifications of system components and interfaces, system architecture, algorithms and data structures;

Database design tools, which provide data modeling and database schema generation (usually in SQL) for the most common DBMS. These include ERwin (Logic Works), S-Designor (SDP), and DataBase Designer (ORACLE). Database design tools are also included in the Vantage Team Builder, Designer/2000, Silverrun, and PRO-IV CASE tools;

Requirements management tools, which provide comprehensive support for heterogeneous requirements created in the system. Examples of such tools are DOORS, Requisite PRO;

Application development tools. These include 4GL tools (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland), etc.) and generators codes included in Vantage Team Builder, PRO-IV and partially in Silverrun;

Reengineering Tools, which provide analysis of program codes and database schemes and the formation of various models and design specifications on their basis. Database schema analysis and ERD generation tools are included in Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin, and S-Designor. In the field of program code analysis, object-oriented CASE-tools that provide reengineering of C++ programs (Rational Rose (Rational Software), Object Team (Cayenne)) are most widely used.

Helper types include.

Project planning and management tools(SE Companion, Microsoft Project, etc.).

Documentation tools. The most famous of them is SoDA (Rational Software).

Test Tools. The most developed tool today is Rational Suite Test Studio - a set of products designed for automatic application testing. (Quality Works (Segue Software)).

Configuration management tools(PVCS (Intersolv)).

    separate local tools that solve small autonomous tasks;

    selection of partially integrated tools covering most of the IP life cycle processes;

    fully integrated tools that support the entire IP life cycle and are linked by a common repository.

To date, the software market has the following most developed CASE tools:

    Vantage Team Builder (Westmount I-CASE);

  • CASE.Analyst.

When designing an IS, it is necessary to examine the subject area. Software survey is carried out at the stage of conceptual design. It is necessary to identify all software objects (entities) and the relationships between them. After that, you need to define the properties of each object (entity instances). Next, you can start designing the database.

Gaifullov Ruslan,2nd year student,specialty applied computer scienceFGBOU VPOFederal State Budgetary Educational Institution of Higher Professional EducationMoscow State Technical University named after Nosov

annotation

This article defines a database. Next, the types of data in databases, and their use in database design, are considered. Then the definition of Case technologies is given. And at the end, it talks about Case technologies in database design

CASE technologies in database design

Gayfullov Ruslan, 2nd year student, specialty Applied Informatics, FSBEI HPE “MSTU of a name Nosov”

Abstract

This article provides a definition database. Further describes the types of data in databases and their use in database design. Then provides a definition database. And in the end, tells about case technologies in database design.

WHAT IS DATABASES

Database(DB) - set bound friend with other data, which are organized with the database schema for convenient work with the user.

Definition from Wikipedia: Databases are a set of documents in an objective form, systematized for searching and processing using a computer (this is an electronic computer).

Database - a set of data stored according to the data scheme, the manipulation of which occurs according to the rules of data manipulation tools.

Database- Information stored in some sort of orderly manner.

DATABASE DESIGN

Database Design Phase- the process of creating a database project that is necessary to support the functioning of the enterprise and contribute to the achievement of its goals.

Database design is the process of creating a database schema, as well as determining the necessary integrity constraints.

Main goals:

Storage in the database of all the necessary information.

The ability to get data for all the necessary requests.

Reducing redundancy and duplication of data.

Ensuring the integrity and duplication of data

DATABASE DESIGN STAGES

Database design is carried out in 3 stages: conceptual (infological), logical (datalogical), physical.

Conceptual design is the process of creating a final (infological) enterprise data model (abstract database structure) by modeling data without taking into account physical conditions (hardware and software).

Conceptual (infological) design is the creation of a semantic model of the subject area (an information model of the highest level of abstraction). This model is created without focusing on the DBMS and the data model. The conceptual model of the database consists of a description of information objects (concepts of the subject area) with links between them and a description of integrity constraints, that is, requirements for the allowed value of these links between them.

Logical design - transferring the project to the internal model of the DBMS (this is a database management system).

Logical (datalogical) design is the creation of a database schema using relational model data.

A datalogical model is a set of relationship schemes indicating primary keys and links between relations that are foreign keys.

Physical design is the creation of a database schema for a specific desired system database management (for example, Access).

There is another option for the stages of database design:

Stage 1: setting the task

Stage 2: Analysis of the subject area.

Stage 3: Model creation.

Stage 4: Choice of ways of presenting information and software tools.

Stage 5: Creation computer model object.

Stage 6: Work with the created database.

WHAT IS CASE TECHNOLOGY

CASE is a systems analyst toolkit for design and development. The purpose of CASE tools is to separate the design process from programming. CASE technologies (Computer Aided Software Engineering) is a set of methodologies for analysis, design, development, maintenance of complex software systems (SW), supported by a set of interconnected automation tools. CASE - software engineering tools and methods for designing software that ensures the creation of high-quality programs, the absence of errors, and the ease of maintenance of software products. Also CASE is a set of methods and design tools information media at help CASE tools.

Case Technology- This is an IS design methodology and a set of tools with which you can visually model the subject area, as well as analyze the model at different stages of development and design, as well as develop an application based on user needs.

Software development automation tools are tools for automating the design and development of software for the system analyst, as well as the software developer and programmer. Initially, Case was considered as means only as tools that simplified the most labor-intensive processes of analysis and design, but later Case was also considered as means as software tools for supporting software life cycles.

The main goal of CASE technologies is to separate the processes of designing software products and coding and the development processes following it, as well as to maximize the automation of the development process. Therefore, there are two completely different approaches to design: structural and object-oriented.

The structural approach offers decomposition (separation) of the task into functions that require automation. Functions, in turn, are divided into subfunctions, tasks and procedures. And at the end, a hierarchy of functions is created in certain order passing information between functions

The approach also uses generally accepted methodologies, modeling different information systems, namely

SADT (Structured Analysis and Design Technique), DFD (Data Flow Diagrams), and ERD (Entity Relationship Diagrams).

There are three main models in this approach:

functional, informational and dynamic

This approach is implemented by Bpwin, Erwin, Business Studio, IBM WebSphere business modeler, and Sybase Power Designer.

In an object-oriented approach, the main tool is UML language is a unified modeling language that can visualize and document object-oriented systems focused on software development. UML has a system of different diagrams to build an idea of ​​the system being designed.

This approach is implemented by Rational Rose and ARIS.

Case can analyze and program software, design interfaces, document, and produce structural code in any programming language.

Case tools are divided into types and categories:

Types (this reflects the functional orientation to different processes of the software development life cycle and coincides with the composition of the components of large integrated Case systems):

analysis tools designed to create and analyze a domain model (Bpwin (logical works).

analysis and design tools that support the most famous design methodologies by creating design specifications with their help. As an output, here are the specifications of the components and interfaces of the system, the architecture of the systems, the algorithms and the data structures.

database design tools that model data and generate database schemas (in SQL) for database management systems. These are Erwin (Logic works) and DataBase Designer (Oracle) and Designer/2000.

application development tools (Developer/2000), Delphi).

reengineering tools that analyze programming codes and database schemas, as well as the formation with their help different models and design specifications. Tools for analyzing database schemas and generating ERD are provided by Designer/2000, Erwin. When analyzing program codes, the most famous are the object-oriented Case tools that help to reengineer programs in the C ++ language (Rational Rose).

Helper types

project planning and management tools (Microsoft Project).

configuration management tools (PVCS (Intersolv)).

testing tools (Quality Works (Segue Software)).

documentation tools (SoDA (Rational Software)).

CASE TECHNOLOGIES IN DATABASE DESIGN

As a case technology, I will consider Erwin

At all stages of database development, Erwin shows the structure and main elements created base data. It is a development tool automatic mode creating tables, as well as generating thousands of lines of stored procedures and triggers for database management systems. Erwin accelerates the creation of data processing applications.

With Erwin, database design is easier. For this, it is necessary to create graphic E-R a model (relationship object) that satisfies data requirements, and business rules are introduced, creating a logical model that displays elements, attributes, relationships, and groupings. Erwin can manipulate attributes by dragging them, make changes, and also normalize during database creation. Can be edited directly on charts. This means making changes to the model without opening special dialog boxes. With the help of reports that are generated by the system, the correctness of the created database is checked.

Erwin is not only a tool for "drawing", but also automates the design. Referential integrity of the database is ensured automatic transfer keys. The data models created in Erwine can be edited, viewed and printed in a variety of ways. And with the help of RPTwin (having GUI and reporter) and viewers with custom modes that provide control over the display of report content, you can implement the same design and display settings standards for all models.

Erwin tool for quick database creation. Erwin optimizes the model to match the physical characteristics of the desired database. Erwin also independently coordinates the logical and physical schemes and converts logical constructions (for example, many to many) into their implementation at the physical level. The implementation of both forward and reverse engineering in Erwin is achieved through a natural dynamic relationship between the model and the database. With this relationship, Erwin independently creates tables, views, indexes, rules for maintaining referential integrity (primary and foreign keys), sets default values, as well as limits for domains/columns. Erwine provides referential integrity with many optimized trigger templates, as well as a powerful macro language with which to create custom triggers and stored procedures. To accurately estimate and grow a database or storage, sizing tools are available to facilitate efficient system resource allocation and capacity planning.

Post views: -