CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...
Transcript of CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab...
![Page 1: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/1.jpg)
7
CHAPTER 2
THEORETICAL FOUNDATION
2.1 Theoretical Foundation
2.1.1 System Analysis and Design
2.1.1.1 Information System
According to Whitten Information system is an arrangement of people, data, processes,
and information technology that interact to collect, process, store and provide as output
the information needed to support an organization [1].
The basic components of information are the followings:
2.1.1.1.1 Hardware
Hardware is a collection of devices that processes data and information as an input then
displays them. Processor, monitor, keyboard, and printer are examples of hardware [2].
2.1.1.1.2 Software
Software is a collection of computer programs that helps hardware in processing data
[2].
2.1.1.1.3 Network
Network is a connecting system that permits the sharing of resources among different
computers [2].
2.1.1.1.4 Procedures
Procedures are the strategies, policies, methods, and rules for using the information
system [2].
2.1.1.1.5 People
![Page 2: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/2.jpg)
8
People are the most important element in information systems; includes those persons
who work with the information system or use its output [2].
2.1.1.2 Expected capabilities of information system in modern organizations
Information systems in modern organizations should provide fast and accurate
transaction processing, large-capacity, fast-access storage, fast communications
(machine to machine, human to human), reduce information overload, span boundaries
within and between companies, and provide a competitive weapon in marketplace [2].
2.1.1.3 Knowledge Asset Management
2.1.1.3.1 Data
Data is defined as a raw facts or elementary descriptions of things, events, activities, and
transactions, that are captured, recorded, stored, and classified, but not to convey any
particular meanings and understanding [2].
2.1.1.3.2 Information
Information is defined as a collection of data, organized in some way so that they are
meaningful and comprehensible to a recipient [2].
2.1.1.3.3 Knowledge
Knowledge is defined as information that has been organized and processed to convey
understanding, experiences, accumulated learning, and expertise as it applies to a
particular problem or process [2].
2.1.1.4 Business Processes
Business processes are tasks that respond to business events, the work, procedures, and
rules required to complete the business tasks, independent of any information
technology used to automate or support them [2].
![Page 3: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/3.jpg)
9
2.1.1.5 Information technology
According to Whitten Information technology refers to the combination of computer
technology (hardware and software) with telecommunications technology (data, image,
and voice network) [1].
2.1.1.6 Data Flow Diagram
According to Whitten a data flow diagram is a tool that depicts the flow of data through
a system and the work or processing performed by that system. Synonyms include
bubble chart, transformation graph, and process model [2].
Elements of data flow diagram are:
Figure 2. 1 Element of DFD
• Process
Process is a symbol on DFD that represents an algorithm or procedure by
which data inputs are transformed into data outputs.
![Page 4: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/4.jpg)
10
• Data Flow
Data flow is an arrow on a DFD that represents data movement among
processes, data stores, and external agents.
• External Agent
A person or organization, outside the system boundary, that supplies data
Inputs or accepts data outputs. Usually drawn as a rectangle
• Data Store
A place where data are held pending future access by one or more
processes.
2.1.1.7 Use Case Modeling
2.1.1.7.1 Unified Modeling Language
Unified Modeling Language (UML) is a standard language that is primarily intended for
visualizing, specifying, constructing, and documenting the artifacts of a software-
intensive system [1]. In general, UML refe rs to a common language for describing a
software system in terms of objects. As a language for software blueprints, UML is
equipped with a well-defined syntax and semantics. The most perceptible part of the
UML's syntax is its graphical notation which is typically used to convey the design of
software projects. With the help of UML, the project teams could effectively
communicate, explore potential designs, and validate the architectural design of the
software.
![Page 5: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/5.jpg)
11
2.1.1.7.2 Use Case Diagram
According to Whitten, a use case diagram is “a diagram that describes the
interactions between the system and external systems and users. It graphically depicts
who will use the system and in what ways the user expects to interact with the system”
[1]. Use case diagram is particularly important in organizing and modeling the behaviors
of a system. In the use case diagram, a system is usually represented as a collection of
use cases, actors (users), and their relationships.
Here is a rundown of the key symbols found in a use case diagram [14]:
§ Actor
Based on Whitten, anything that needs to interact with the system for exchanging
information is called as an actor [1]. Typically, an actor only refers to a coherent
set of roles carried out by a user who interacts with the system. It is not a
representation of an individual or job title. Actors are commonly rendered as
stick figures labeled with the name of the role the actor plays.
§ Use case
Each use case only represents a single system function. Graphically, a use case is
represented by a horizontal ellipse with the name of the use case emerging
above, below, or inside the ellipse.
§ System boundary
A system boundary is used to define the limits of the system. It is usually
represented as a rectangle box that embraces all of the relevant use cases.
§ Connections
![Page 6: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/6.jpg)
12
A solid line connecting an actor to a use case implies that the actor is engaged in
that typical system function. However, that solid line does not mean that the
actor is sending data to or receiving data from the use case.
§ Extend relationship
An extend relationship extends the functionality of the original use case by
adding new behaviors or actions. It is diagrammatically depicted as a dotted- line
arrow pointed toward the use case that has been extended and labeled with the
<<extend>> symbol.
§ Include relationship
An include relationship occurs when one use case uses another use case. It is
diagrammatically depicted as a dotted- line arrow pointed toward the use case that
is being used and labeled with the <<include>> symbol.
2.1.2 Theoretical Framework
2.1.2.1 System Development Process
According to Whitten System Development process is a set of activities, methods, best
practices, deliverables, and automated, tools that stakeholders, use to develop and
maintain information systems and software [1]. Most system development process
follows a problem-solving approach steps:
• Identify the problem. (System Initiation)
• Analyze and understand the problem. (System Analysis)
• Identify solution requirements and expectations. (System Analysis)
![Page 7: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/7.jpg)
13
• Identify alternative solutions and choose the “best” course of action.
(System Design)
• Design the chosen solution. (System Design)
• Implement the chosen solution. (System Implementation)
• Evaluate the results. (System Implementation)
The Processes are:
2.1.2.1.1 System Initiation
System Initiation is the initial planning process for a project to define initial business
scope, goals, schedule, and budget [1].
2.1.2.1.2 System Analysis
System Analysis is the study process of a business problem domain to recommend
improvements and specify the business requirements and priorities for the solution [1].
2.1.2.1.3 System Design
System Design is the specification or construction process of a technical, computer-
based solution for the business requirements identified in a system analysis [1].
2.1.2.1.4 System Implementation
System Implementation is the construction, installation, testing, and delivery of a system
into production [1].
2.1.2.2 Rapid Application Development
Rapid Application Development (RAD) is “a system development strategy that
emphasizes speed of development through extensive user involvement in the rapid,
iterative, and incremental construction of a series of functioning prototypes of a system
![Page 8: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/8.jpg)
14
that eventually evolves into the final system” [1]. It was actually a response to non-agile
processes developed in the 1970s, such as the waterfall model. RAD attempts to
eliminate some weaknesses in previous structured development methodologies such as
lengthy development times and an intricacy in understanding a system from a paper-
based description.
In order to quickly develop some part of the system, the RAD approach shortens the
SDLC phases by combining them with each other. According to Hoffer et al., this
approach shortens the planning and design phases by emphasizing work on system
function and user interface requirements at the expense of detailed business analysis and
concern for system performance issues [14]. It emphasizes less on the sequence and
structure of processes in the life cycle. However, it fully concentrates on doing different
tasks in parallel with each other and using prototyping extensively.
Figure 2. 2 RAD Life Cycle Source: A.J. Hoffer, F.J. George, and Valacich, S. Joseph, Modern Systems Analysis and Design, 4th Ed. New Jersey: Prentice Hall, 2005, p. 20)
As cited from Whitten, the basic ideas of RAD are [1]:
§ To more actively involve system users in the analysis, design, and
construction activities.
![Page 9: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/9.jpg)
15
§ To organize systems development into a series of focused, intense
workshops jointly involving system owners, users, analysts, designers,
and builders.
§ To accelerate the requirements analysis and design phases through an
iterative construction approach.
§ To reduce the amount of time that it takes for users to begin to see a
working system.
In the RAD, end users are extensively involved during the entire system development
process. RAD uses prototypes to help both analysts and end users to verify the users’
requirements and formally refine the data and process models. A prototype itself, in
accordance with Whitten, is a small-scale, representative, or working model of the users’
requirement or a proposed information system. Indeed, prototyping is very useful for
requirements discovery since users will hardly know their requirements before they see a
representative of working system. At the end, that prototype will eventually evolve into
the final running system [1].
In accordance to Whitten, the RAD approach offers some advantages, which are [1]:
§ It is useful for projects where the user requirements keep changing.
§ It encourages active user and management participation. Hence, the end-user
enthusiasm for a project is significantly enhanced.
§ Due to the extensive user involvement throughout the process, projects have
higher visibility and support.
§ Users and management notice working, software-based solutions more rapidly
than in model-driven development.
![Page 10: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/10.jpg)
16
§ Errors and omissions are likely to be detected earlier in prototypes than in system
models.
§ Testing and training is a natural by product of the underlying prototyping
approach.
§ The iterative approach is a more “natural” process since change is an expected
factor during development.
2.1.3 Database
During the course of Information Technology development, Database has been
conveyed with various meanings and understandings. According to Taylor, database is a
self-describing collection of integrated records [3]. According to Hernandez, a database
is an organized collection of data used for the purpose of modeling some type of
organization or organizational process [4]. Though definitions may vary, database in a
computing world, as described by Powell, is the process of implementation or creation
of a physical database inside a computer [5].
In business world today, database has played a very significant role in the step of data
processing, storage, manipulation, and calculation. It has become a common application
in most corporate or even in personal usage due to its flexibility and cross-system
platform. This thesis will put great emphasis in database creation as it is considered the
as core of the proposed system.
2.1.4 Database Model
Basically, a database model is a blueprint on how data stored in a database and is similar
to an architectural approach on how data is stored. More of a concept than a physical
![Page 11: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/11.jpg)
17
object and is used to create the tables in your database. This architecture of a database
model is commonly depicted in a graph called Entity Relationship Diagram [5]. The
most commonly used database model is Relational Database Model [4]. Before the rise
of Relational Database Model, two data models are mainly used to maintain and
manipulate data: Hierarchical Database model and Network Database model.
Figure 2. 3 Example of Hiearchical Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.
Figure 2. 4 Example of Network Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.
![Page 12: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/12.jpg)
18
2.1.5 Relational Database Model
The relational database was first conceived in 1969 and has arguably become the most
widely used database model in database management today. The father of the relational
model, Dr. Edgar F. Codd, was an IBM research scientist in the late 1960s and was at
that time looking into new ways to handle large amounts of data. A relational database
stores data in relations, which the user perceives as tables. Each relation is composed of
records, and attributes, or fields The physical order of the records or fields in a table is
completely immaterial, and each record in the table is identified by a field that contains a
unique value. These are the two characteristics of a relational database that allow the
data to exist independently of the way it is physically stored in the computer [4].
![Page 13: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/13.jpg)
19
Figure 2. 5 Example of Relational Database Model Source: M.J Hernandez, Database Design for Mere Mortals. 2nd edition, Boston: Addison-Wesley, 2003.
In general terms, relational database systems have the following characteristics [6]:
• All data is conceptually represented as an orderly arrangement of data into rows
and columns, called a relation.
• All values are scalar. That is, at any given row/column position in the relation
there is one and only one value.
![Page 14: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/14.jpg)
20
• All operations are performed on an entire relation and result in an entire relation,
a concept known as closure.
2.1.5.1 Advantages of Relational Database
The relational database provides a number of advantages over previous models,
such as the following [4]:
• Built- in multilevel integrity: Data integrity is built into the model at the field
level to ensure the accuracy of the data; at the table level to ensure that
records are not duplicated and to detect missing primary key values; at the
relationship level to ensure that the relationship between a pair of tables is
valid; and at the business level to ensure that the data is accurate in terms of
the business itself. (Integrity is discussed in detail as the design process
unfolds.)
• Logical and physical data independence from database applications: Neither
changes a user makes to the logical design of the database, nor changes a
database software vendor makes to the physical implementation of the
database, will adversely affect the applications built upon it.
• Guaranteed data consistency and accuracy: Data is consistent and accurate
due to the various levels of integrity you can impose within the database.
(This will become quite clear as you work through the design process.)
• Easy data retrieval: At the user's command, data can be retrieved either from
a particular table or from any number of related tables within the database.
This enables a user to view information in an almost unlimited number of
ways.
![Page 15: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/15.jpg)
21
2.1.6 Relational Database Management System
A relational database management system (RDBMS) is a term used to describe an entire
suite of programs for both managing a relational database and communicating with that
relational database engine. Sometimes Software Development Kit (SDK) front-end tools
and complete management kits are included with relational database packages. Both the
relational database and front-end development tools, for building input screens, are all
packaged within the same piece of software. In other words, an RDBMS is both the
database engine and any other tools that come with it [5].
2.1.7 Normalization
Normalization is commonly used by system analysts to produce a good data model that
is characterized with the following criteria [1]:
§ A good data model is simple.
It enforces the data attributes that portray an entity should portray only that entity.
§ A good data model is nonredundant.
All data attributes, except foreign keys, must describe at most one entity.
§ A good data model is flexible and adaptable to future needs.
A good data model must not only satisfy current business requirement, but it must be
easily tailored to future needs as well.
In essence, the primary purpose of normalization is to develop a data model that has the
properties of simplicity, no-redundancy, and minimal maintenance. In accordance to
Whitten, normalization refers to a data analysis technique that is used to manage data
attributes by means of arranging them into groups to form nonredundant, stable, flexible,
and adaptive entities [1]. Moreover, Whitten also elaborates that normalization involves
![Page 16: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/16.jpg)
22
three sequential steps of technique in transforming the data model from non-first normal
form into the third normal form [1]:
1. An entity is in first normal form (1NF) if there are no attributes that can
have multiple values for a single instance of the entity. Any attribute that
has multiple values actually describe a separate entity, possibly an entity
and relationship.
2. An entity is in second normal form (2NF) if it is already in 1 NF and all
non-primary key attributes are fully functional dependent on the primary
key. Any non-key attributes that rely on only part of the primary key
should be moved to any entity where that partial key is actually the full
key.
3. An entity is in third normal form (3NF) if it is already in 2NF and the
values of all non-primary key attributes do not depend on any other non-
primary key attributes. Any non-key attributes that depend on other non-
key attributes must be moved or eliminated.
2.1.8 Data Model
The most abstract level of a database design is the data model, the conceptual
description of a problem space. Data models are expressed in terms of entities,
attributes, domains, and relationships [6].
2.1.8.1 Entity
Entity can be described as a person, place, things, or event on which an
organization maintains information.
![Page 17: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/17.jpg)
23
2.1.8.2 Attribute
Attribute is the equivalent of a relational database field, used more often to
describe a similar low-level structure in object structures.
2.1.8.3 Domains
Domains can be defined as the range of values from which an attribute can be
drawn.
2.1.8.4 Relationship
Relationship is an interdependence that exists between two tables when records
in the first table can in some way is associated with records in the second table.
There are three types of relationships in a relational database: one-to-one, one-to-
many, and many-to-many.
2.1.8.5 Entity Relationship Diagram
ERD is a diagram that represents the structural contents (the fields) in tables for
an entire schema, in a database. Additionally included are schematic
representations of relationships between entities, represented by various types of
relationships, plus primary and foreign keys.
![Page 18: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/18.jpg)
24
Figure 2. 6 Example of An ERD Source: G. Powell, Beginning Database Design. Indiana: Wiley Publishing, Inc, 2006.
2.1.9 Structured Query Language
According Allan Taylor, SQL or Structured Query Language is an industry standard data
sublanguage, specifically designed to create, manipulate, and control relational
databases, in which SQL: 2003 is the latest version of the standard [3].
2.1.9.1 Query
Query is a set of instruction in the form of question that will be executed in the
database in order to manipulate, edit, add, delete, select the data inside the
database. If any of the data inside the database satisfies the conditions of your
query, SQL retrieves that data.
![Page 19: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/19.jpg)
25
2.1.9.2 SQL Keywords
Below is the list of core reserved keywords in the latest SQL:2003.
Table 2. 1 SQL:2003 Core Keywords ALTER DOMAIN DECLARE CURSOR FREE LOCATOR
ALTER TABLE DECLARE TABLE GET DIAGNOSTICS
CALL DELETE GRANT
CLOSE DISCONNECT HOLD LOCATOR
COMMIT DROP ASSERTION INSERT
CONNECT DROP CHARACTER
SET
OPEN
CREATE ASSERTION DROP COLLATION RELEASE
SAVEPOINT
CREATE CHARACTER SET DROP DOMAIN RETURN
CREATE COLLATION DROP ORDERING REVOKE
CREATE DOMAIN DROP ROLE ROLLBACK
CREATE FUNCTION DROP SCHEMA SAVEPOINT
CREATE METHOD DROP SPECIFIC
FUNCTION
SELECT
CREATE ORDERING DROP SPECIFIC
PROCEDURE
SET CONNECTION
CREATE PROCEDURE DROP SPECIFIC
ROUTINE
SET CONSTRAINTS
CREATE ROLE DROP TABLE SET ROLE
![Page 20: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/20.jpg)
26
CREATE SCHEMA DROP TRANSFORM SET SESSION
AUTHORIZATION
CREATE TABLE DROP TRANSLATION SET SESSION
CHARACTERISTICS
CREATE TRANSFORM DROP TRIGGER SET TIME ZONE
CREATE TRANSLATION DROP TYPE SET TRANSACTION
CREATE TRIGGER DROP VIEW START
TRANSACTION
CREATE TYPE FETCH UPDATE
CREATE VIEW
2.1.9.3 Data Definition Language
The Data Definition Language (DDL) is the part of SQL that is used to create,
change, or destroy the basic elements of a relational database. Basic elements
include tables, views, schemas, catalogs, clusters [3].
2.1.9.4 Data Manipulation Language
The Data Manipulation Language (DML) is the part of SQL that operates on the
data primarily used in retrieving and updating data [3].
2.1.9.5 Data Control Language
Data Control Language protects your database from becoming corrupted, if used
correctly, the DCL provides security for a database; the amount of protection
depends on the implementation [3].
![Page 21: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/21.jpg)
27
2.1.10 Microsoft SQL Server 2005
SQL Server 2005 is a Microsoft-developed multi-component relational database
management system centered on a high-performance, highly available database engine.
Microsoft SQL Server 2005 is released in 4 different editions, with each editions has its
own set and limitations [7]. Those editions are:
• Enterprise: Provides a relational database to meet the exacting needs of the
largest enterprises and busiest online databases. The Enterprise Edition includes
high-end business intelligence support and clustering.
• Standard: Generally provides the common requirement of medium-sized
companies or large departments in larger companies.
• Workgroup: Meets the requirement of small- to medium-sized businesses that
don’t require the features of Standard Edition.
• Express: A lightweight edition intended for use by application programmers.
SQL Server 2005 is a client-server database. Typically, the SQL Server 2005 database
engine is installed on a server machine to which typically configured to connect
anything from a few machines to many hundreds or thousands of client machines.
Client-server architecture can handle large amounts of data better than a desktop
database and client-server architecture also can reduce network traffic [7].
SQL Server 2005 supports the Structured Query Language (SQL). In fact SQL is the
main language that SQL Server uses. Like many other databases, SQL Server satisfies
some standard SQL syntax and adds its own extensions to SQL, allowing easy writable
and programmable codes. The Microsoft flavor of SQL is called Transact-SQL (T-SQL).
![Page 22: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/22.jpg)
28
T-SQL allows user to add, modify, or query relational or XML data held in SQL Server
2005.
2.1.10.1 Microsoft SQL Server 2005 Features
Below is the table that lists all the notable features of Microsoft SQL Server
2005 [7]. Note that not all the features will be utilized in the thesis’ program and
database development.
Table 2. 2 Microsoft SQL Server 2005 Features Features Express
Edition
Workgroup
Edition
Standard
Edition
Enterprise
Edition
Authentication and Authorization Yes Yes Yes Yes
Data Encryption and key
management
Yes Yes Yes Yes
Best Practices Analyzer Yes Yes Yes Yes
Integration with Microsoft
Baseline Security Analyzer
Yes Yes Yes Yes
Integration with Microsoft Update Yes Yes Yes Yes
Stored Procedures and Triggers Yes Yes Yes Yes
New Enhancements to T-SQL Yes Yes Yes Yes
Integration of the Common
Language Runtime and .NET
support
Yes Yes Yes Yes
User-defined types Yes Yes Yes Yes
![Page 23: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/23.jpg)
29
XML datatype Yes Yes Yes Yes
CPU 1 2 4 No limit
RAM 1GB 3GB No limit No limit
Database Size 4GB No limit No limit No limit
Partitioning No No No Yes
Database Mirroring No No Partial Yes
Failover Clustering No No Limited Yes
Backup log shipping No Yes Yes Yes
Online Indexing No No No Yes
Online Page and file restore No No No Yes
Automatic Performance Tuning Yes Yes Yes Yes
SQL Server Management Studio No Yes Yes Yes
Database Engine Tuning Advisor No Yes Yes Yes
Full Text Search No Yes Yes Yes
Report Builder No Yes Yes Yes
Data Warehousing No No Yes Yes
2.1.11 ReportViewer
ReportViewer is a built in class library inside Visual Studio 2005 that is useful to map a
report and to display a list of reporting entries. ReportViewer is free and can be used in
practical business application without paying a license to Microsoft [9]. Therefore, for
this thesis, the reporting system is developed by using this feature of the Visual Studio
2005.
![Page 24: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/24.jpg)
30
2.1.12 C#
C# is an object-oriented programming language developed by Microsoft as part of their
.NET initiative, and later approved as a standard by ECMA and ISO. C# has a
procedural, object-oriented syntax based on C++ that includes aspects of several other
programming languages with a particular emphasis on simplification (fewer symbolic
requirements than C++, fewer declarative requirements than Java) [10].
2.1.12.1 Visual Studio 2005
Microsoft Visual Studio is Microsoft's flagship software development product
for computer programmers. It centers on an integrated development environment
which lets programmers create standalone applications, web sites, web
applications, and web services that run on any platforms supported by
Microsoft's .NET Framework [12].
2.1.12.2 Object Oriented Programming
Object-oriented programming (OOP) is a programming paradigm that uses
"objects" to design applications and computer programs. It utilizes several
techniques from previously established paradigms, including inheritance,
modularity, polymorphism, and encapsulation [13].
2.1.13 .NET Framework
The Microsoft .NET Framework is a software component that can be added to or is
included with the Microsoft Windows operating system. It provides a large body of pre-
coded solutions to common program requirements, and manages the execution of
programs written specifically for the framework. The .NET Framework is a key
![Page 25: CHAPTER 2 THEORETICAL FOUNDATION 2.1 …library.binus.ac.id/eColls/eThesisdoc/Bab2/Bab 2_07-50.pdfthan in model-driven development. 16 Errors and omissions are likely to be detected](https://reader031.fdocuments.in/reader031/viewer/2022011911/5f93d906c5fedd0ccf65b03c/html5/thumbnails/25.jpg)
31
Microsoft offering, and is intended to be used by most new applications created for the
Windows platform.
The pre-coded solutions that form the framework's class library cover a large range of
programming needs in areas including: user interface, data access, database connectivity,
cryptography, web application development, numeric algorithms, and network
communications. The functions of the class library are used by programmers who
combine them with their own code to produce applications.
Programs written for the .NET Framework execute in a software environment that
manages the program's runtime requirements. This runtime environment, which is also a
part of the .NET Framework, is known as the Common Language Runtime (CLR). The
CLR provides the appearance of an application virtual machine, so that programmers
need not consider the capabilities of the specific CPU that will execute the program. The
CLR also provides other important services such as security mechanisms, memory
management, and exception handling. The class library and the CLR together compose
the .NET Framework [11].