DATA DESIGN
DATA DESIGN
Explain data design concepts and data structures
Describe file processing systems Explain database systems and define
the components of a database management system (DBMS)
Describe Web-based data design
Explain data design terminology, including entities, fields, common fields, records, files, tables, and key fields
Describe data relationships, draw an entity-relationship diagram, define cardinality and use cardinality notation
Explain the concept of normalization Explain the importance of codes and
describe various coding schemes
Describe relational and object-oriented database models
Explain data warehousing and data mining
Differentiate between logical and physical storage and records
Explain data control measures
In this part, you will develop a physical plan for data organization, storage, and retrieval
We begins with a review of data design concepts and terminology, then discusses file-based systems and database systems, including Web-based databases
Concludes with a discussion of data storage and access, including strategic tools such as data warehousing and data mining, physical design issues, logical and physical records, data storage formats, and data controls
Before constructing an information system, a systems analyst must understand basic design concepts, including data structures and the characteristics of file processing and database systems, including Web-based database design
Data Structures Is a framework for organizing and storing data in
an IS Data structures consists of a file or table File contains data about people, places or events
that interact with the system Depend on how the system’s files are organized,
an IS is called a file processing system or a db mgmt sytem
a file processing system also called File-oriented system - stores and manages data in one or separate file
A Database system – consist of linked tables that form one overall data structure
Offer much greater flexibility and efficiency
Companies mainly use file processing to handle large volumes of structured data on a regular basis
Although much less common today, file processing can be more efficient and cost-effective in certain situations
Potential problems Data redundancy - data common to two or more IS
is stored in several places Data integrity – occurs if update are not apply in
every file Rigid data structure of a typical file processing
environment. Retrieving info from independent, file based system is
slow and ineffiecient
A file oriented information contain various types of files Master file – store permanent data about an entity Table file – contain reference data used by IS, static
and not updated by the IS Transaction file – store day-to-day operational data Work file – a temporary file created for a single task Security file – create for backup and recovery purpose History file – created for archiving purposes
A properly design database system offers a solution to the problems of file processing
Provides an overall framework that avoids data redundancy and supports a real-time, dynamic environment
A database management system (DBMS) is a collection of tools, features, and interfaces that enables users to add, update, manage, access, and analyze the contents of a database
The main advantage of a DBMS is that it offers timely, interactive, and flexible data access
Specific DBMS advantages include Scalability - system can be expanded, modified
or downsized easily to meet changing Better support for client/server systems Economy of scale Flexible data sharing Enterprise-wide application – database
administrator (DBA) Stronger standards
Refer pg 343
Advantages (cont..) Controlled redundancy Better security Increased programmer productivity Data independence
Although DBMS has many advtgs, some tradeoff exist
Because DBMSs are powerful, they require more expensive hardware, software, and data networks capable of supporting a multi-user environment
More complex than a file processing system Procedures for security, backup, and recovery are
more complicated and critical
A DBMS provides an interface between a database and users who need to access the data
In addition to interfaces for users, database administrators, and related systems, a DBMS also has a data manipulation language, a schema and subschemas, and a physical data repository
When users, db admin and related IS request data and services, DBMS processes the request, manipulates the data and provide response Users
Query language Query by example (QBE) SQL (structured query language)
Database Administrators A DBA is responsible for DBMS management and
support
Related information systems A DBMS can support several related information
systems that provide input to, and require specific data from, the DBMS
Unlike user interface, no human intervention required for 2 way comm between DBMS and the related system
A data manipulation language (DML) controls database operations, including storing, retrieving, updating, and deleting data
DBMS such as Oracle, IBM DB2 use DML MS Access also provide easy-to-use graphical
environment that enable user to control operation with menu-driven command
The complete definition of a database, including descriptions of all fields, tables, and relationships, is called a schema
You also can define one or more subschemas
At this stage, the data dictionary is transformed into a physical data repository, which also contains the schema and subschemas
The physical repository might be centralized, or distributed at several locations ODBC – open database connectivity is an industry
standard protocol that make it possible for sw from different vendors to interact and exchange data
JDBC – Java database connectivity enables Java application to exchange data with any db that uses SQL statement
The following sections discuss the characteristics of Web-based design, Internet terminology, connecting a database to the Web, and data security on the Web
In a Web-based design, the Internet serves as the front end, or interface for the database management system. Internet technology provides enormous power and flexibility
Web-based systems are popular because they offer ease of access, cost-effectiveness, and worldwide connectivity
To understand Web-based data design, review some basic Internet term and concept Web browser Web page HTML (Hypertext Markup Language) Tags Web server Web siteIntranet Extranet Protocols Web-centric Clients Servers
To access data in a Web based, the db must be connected to the Internet or intranet
Db and Internet speaks two different languages To bridge the gap, use Middleware, which is a
software that integrates different apps and allow them to exchange data
Example popular middleware is Adobe ColdFusion
Figure 8-10
Web-based data must be totally secure, yet easily accessible to authorized users
To achieve this goal, well-designed systems provide security at three levels: the database itself, the Web server, and the telecommunication links that connect the components of the system
Definitions Entity
is a person, place, thing or event for which data is collected and maintained
Eg ORDER, CUSTOMER, PRODUCT Table or file
Data is organized into tables or files Table contain related records that store about specific entity
Field Attribute Common field
Record Tuple
Key Fields Primary key – is a field or combination of fields that
uniquely and minimally identify a particular member of an entity Combination key / Composite key / Concatenated
key / Multi-valued key
Key Fields Candidate key – a key that could serve as the primary key
Nonkey field – any field that is not a primary key or a candidate key
Foreign key – a common field exist in more than one table and can be used to form a relationship or link between the tables
Secondary key – a field or combination of fields that can be used to access or retrieve records
Referential Integrity Validity checks can help avoid data input errors In a relational database, referential integrity means
that a foreign key value cannot be entered in one table unless it matches an existing primary key in another table
Figure 8-13
An entity is a person, place, thing, or event for which data is collected and maintained
Entity-relationship diagram (ERD) Is a model that shows the logical relationships and
interaction among system entities An ERD provides an overall view of the system, and
a blueprint for creating the physical data structures
The first step is to list the entities that you identified during the fact-finding process and to consider the nature of the relationships that link them
A popular method is to represent entities as rectangles and relationships as diamond shapes
Three types of relationships can exist between entities One-to-one relationship (1:1) One-to-many relationship (1:M) Many-to-many relationship (M:N)
Associative entity
After draws an initial ERD, he must define the relationship in more detail by using cardinality
Cardinality – describe the numeric relationship between two entities and show how instances of one entity relate to instance of another entity
1. Create the initial ERD2. Assign all data elements to entities3. Create 3NF designs for all tables4. Verify all data dictionary entries
After creating your final ERD and normalized table designs, you can transform them into a database
Figure 8-38
Figure 8-39
Figure 8-40
Relational Databases The relational model was introduced during the
1970s and became popular because it was flexible and powerful
Because all the tables are linked, a user can request data that meets specific conditions
New entities and attributes can be added at any time without restructuring the entire database
Object-Oriented Databases Many systems developers are using object-oriented
database (OODB) design as a natural extension of the object-oriented analysis process
It is establish by Object Database Management Group (ODMG) Each object has a unique object identifier, which is
similar to a primary key in a relational database
Files and tables contain data about people, places, things, or events that affect the information system
DBMS designs are more powerful and flexible than traditional file-oriented systems
Data design tasks include creating an initial ERD; assigning data elements to an entity; normalizing all table designs; and completing the data dictionary entries for files, records, and data elements
A code is a set of letters or numbers used to represent data in a system
The most common database models are relational and object-oriented