File Systems and Databases: Database Systems: Design, Implementation, and Management, 4th Edition
File Systems and Databases: Database Systems: Design, Implementation, and Management, 4th Edition
File Systems and Databases: Database Systems: Design, Implementation, and Management, 4th Edition
Data
and information
Data
management
1
Figure 1.1
The DBMS Manages the Interaction Between the End User and the Database
1
Figure 1.2
A well-designed database facilitates data management and becomes a valuable information generator.
Historical Roots
Why Study File Systems?
1
Figure 1.3
Field
Record
File
1
Figure 1.4
1
Figure 1.5
File systems require extensive programming in a third-generation language (3GL). As the number of files expands, system administration becomes difficult. Making changes in existing file structures is important and difficult. Security features to safeguard data are difficult to program and usually omitted. Difficulty to pool data creates islands of information.
Structural Dependence
A change in any files structure requires the modification of all programs using that file.
Data Dependence
A change in any files data characteristics requires changes in all data access programs.
Significance of data dependence is the difference between the data logical format and the data physical format. Data dependence makes file systems extremely cumbersome from a programming and data management point of view.
A good (flexible) record definition anticipates reporting requirements by breaking up fields into their components.
Example: Customer Name Last Name, First Name, Initial Customer Address Street Address, City, State
CONTENTS Customer last name Customer first name Customer initial Customer area code Customer phone Customer street address or box number Customer city Customer state
Naming must reflect designers documentation needs and users reporting and processing requirements.
Figure 1.6
1
Figure 1.7
Figure 1.7
Database Systems
The Database System Components
Hardware
Computer Peripherals
Software
Operating systems software DBMS software Applications programs and utilities software
Database Systems
The Database System Components
People
Systems administrators Database administrators (DBAs) Database designers Systems analysts and programmers End users
Procedures
Instructions and rules that govern the design and use of the database system
Data
Database Systems
The Database System Components
Database Systems
Types of Database Systems
Number of Users
Single-user
Desktop database
Multiuser
Workgroup database Enterprise database
Scope
Database Systems
Types of Database Systems
Location
Centralized Distributed
Use
Database Systems
DBMS Functions
1. Data Dictionary Management
2. Data Storage Management 3. Data Transformation and Presentation 4. Security Management 5. Multi-User Access Control 6. Backup and Recovery Management 7. Data Integrity Management
8. Database Access Languages (DDL and DML) and Application Programming Interfaces
9. Database Communication Interfaces
Database Models
A database model is a collection of logical constructs used to represent the data structure and the data relationships found within the database. Two Categories of Database Models
Conceptual models focus on the logical nature of the data representation. They are concerned with what is represented rather than how it is represented. Implementation models place the emphasis on how the data are represented in the database or on how the data structures are implemented.
Database Models
Three Types of Relationships
A painter paints many different paintings, but each one of them is painted by only that painter.
PAINTER (1) paints PAINTING (M)
An employee might learn many job skills, and each job skill might be learned by many employees.
EMPLOYEE (M) learns SKILL (N)
Each store is managed by a single employee and each store manager (employee) only manages a single store.
EMPLOYEE (1) manages STORE (1)
Database Models
Three Types of Implementation Database Models
A Hierarchical Structure
1
Figure 1.8
Database Models
Hierarchical Database Model
Basic Structure
Collection of records logically organized to conform to the upside-down tree (hierarchical) structure. The top layer is perceived as the parent of the segment directly beneath it. The segments below other segments are the children of the segment above them. A tree structure is represented as a hierarchical path on the computers storage media.
Database Models
Hierarchical Database Model
Advantages
Conceptual simplicity Database security Data independence Database integrity Efficiency dealing with a large database Complex implementation Difficult to manage Lacks structural independence Applications programming and use complexity Implementation limitations Lack of standards
Disadvantages
1
Figure 1.9
Database Models
Network Database Model
Basic Structure
A set is represents a 1:M relationship between the owner and the member.
1
Figure 1.10
Database Models
Network Database Model
Advantages
Disadvantages
Database Models
Relational Database Model
Basic Structure
RDBMS allows operations in a human logical environment. The relational database is perceived as a collection of tables. Each table consists of a series of row/column intersections. Tables (or relations) are related to each other by sharing a common entity characteristic. The relationship type is often shown in a relational schema. A table yields complete data and structural independence.
1
Figure 1.11
Database Models
Relational Database Model
Advantages
Structural independence Improved conceptual simplicity Easier database design, implementation, management, and use Ad hoc query capability (SQL) Powerful database management system
Disadvantages
Substantial hardware and system software overhead Possibility of poor design and implementation Potential islands of information problems
A Relational Schema
1
Figure 1.12
Database Models
Entity-Relationship Data Model
It is one of the most widely accepted graphical data modeling tools. It graphically represents data as entities and their relationships in a database structure. It complements the relational data model concepts.
Database Models
Entity Relationship Data Model
Basic Structure
E-R models are normally represented in an entity relationship diagram (ERD). An entity is represented by a rectangle. Each entity is described by a set of attributes. An attribute describes a particular characteristics of the entity. A relationship is represented by a diamond connected to the related entities.
Figure 1.14
Database Models
Entity-Relationship Data Model
Advantages
Exceptional conceptual simplicity Visual representation Effective communication tool Integrated with the relational database model
Disadvantages
Limited constraint representation Limited relationship representation No data manipulation language Loss of information content
Database Models
Object-Oriented Database Model
Characteristics
An object is described by its factual content. An object includes information about relationships between the facts within the object, as well as with other objects. An object is a self-contained building block for autonomous structures.
Database Models
Object-Oriented Database Model
Basic Structure
1
Figure 1.15
Database Models
Object-Oriented Database Model
Advantages
Database integrity
Both structural and data independence
Disadvantages
Lack of OODM standards Complex navigational data access Steep learning curve High system overhead slows transactions
1
Figure 1.16
A data model must show some degree of conceptual simplicity without compromising the semantic completeness. A data model must represent the real world as closely as possible. The representation of the real-world transformations (behavior) must be in compliance with the consistency and integrity characteristics of any data model.
The use of the Internet as a prime business tool is shifting focus to database products that interface efficiently and easily with the Internet.
Flexible, efficient, and secure Internet access. Support for complex data types and relationships. Seamless interfacing with multiple data sources and structures. Simplicity of the conceptual database model. An abundance of available database tools. A powerful DBMS to help make the DBAs job easier.