Database Design - Lecture 1 Database Concepts
Lecture Objectives Data vs Information Historical Roots of Databases What is a database, what it does, and why database design is important What a DBMS is, what it does, and how it fits into the database system
Data vs Information Information System Data versus Information Encompasses logic, algorithms and data Transformation of data into useful information Data versus Information Data constitute building blocks of information Information produced by processing data Good, timely, relevant information key to decision making Good decision making key to organization’s survival
Data vs Information
Data vs Information
Historical Roots of Databases First applications focused on clerical tasks File systems developed to address needs Data organized according to expected use Data Processing (DP) specialists computerized manual file systems Requests for information quickly followed Large amounts of data Many users require simultaneous access
Historical Roots of Databases Original databases applications: Inventory Control Payroll Banking Reservation Systems Newer database applications: CAD/CAM GPS systems
File System Critique File System Data Management Requires extensive programming in third-generation language (3GL) Time consuming Makes ad hoc queries impossible Leads to islands of information
File System Critique (con’t.) Data Dependence Change in file’s data characteristics requires modification of data access programs Must tell program what to do and how Makes file systems cumbersome from programming and data management views Structural Dependence Change in file structure requires modification of related programs
File System Critique (con’t.) Field Definitions and Naming Conventions Flexible record definition anticipates reporting requirements Selection of proper field names important Attention to length of field names Use of unique record identifiers
File System Critique (con’t.) Data Redundancy Different and conflicting versions of same data Results of uncontrolled data redundancy Data anomalies Modification Insertion Deletion Data inconsistency Lack of data integrity
Introducing the Database Data is stored in a database and must be structured and arranged for storage, extraction and processing Database consists of a collection of logically related data stored in a single repository which consists of end user data and metadata
Database Management A Database Management System (DBMS) manages the access to the database (and ultimately the data) Database Management System (DBMS): Collection of programs that manages database structure and controls access to data Sharing of data among multiple applications and users
Importance of DBMS Makes data management more efficient and effective Query language allows quick answers to ad hoc queries Provides better access to more and better-managed data Promotes integrated view of organization’s operations Reduces the probability of inconsistent data
DBMS Manages Interaction Figure 1.2
Importance of a DBMS For Top Management Provides the information necessary for strategic decision making and strategic planning Provides access to external and internal data Provides information on company performance and whether they are achieving their goals (targets)
Importance of a DBMS For Middle Management Provides data necessary for tactical decisions and planning Provides a framework for enforcing and ensuring the security and privacy of the data
Importance of a DBMS For Operational Management Provides timely information for customer support Produce query results within specified performance levels Represents and supports the company operations as closely as possible (operational data)
Database Design Importance of Good Design Practical Approach eliminates data redundancy eliminates errors leading to bad decisions Practical Approach Focus on principles and concepts of database design Importance of logical design
Database vs. File Systems Figure 1.6
Database System Environment Figure 1.7
DBMS environment roles Database Administrators Responsible for: Physical implementation of the DBMS Security and integrity control of the DBMS Maintenance of the operational system Ensuring satisfactory performance of the applications for users Requires detailed knowledge of the target DBMS and the system environment
DBMS environment roles Database Designer Logical Database Designer Responsible for: Identifying the data (entities and attributes) Identifying the relationships between the data Identifying the constraints on the data Ensures that the direction of database development ultimately supports corporate objectives
DBMS environment roles Database Designer Physical Database Designer Decides how the logical database design is to be physically realized Responsible for: Mapping the logical database design into a set of tables and integrity constraints Selecting specific storage structures and access methods for the data to achieve good performance Designing any security measures required on the data
Database System Types Single-user vs. Multiuser Database Single-user desktop Multi-user workgroup Enterprise Centralized vs. Distributed
Database Uses Production or transactional Supports day-to-day operations Decision support or data warehouse Information for tactical or strategic decision making Historical Data
DBMS Functions Data dictionary management Data storage management Defines data elements and their relationships Data storage management Stores data and related data entry forms, report definitions, etc Data transformation and presentation Translates logical requests into commands to physically locate and retrieve the requested data
DBMS Functions Security management Multi-user access control Enforces user security and data privacy within database Multi-user access control Creates structures that allow multiple users to access the data Backup and recovery management Provides backup and data recovery utilities
DBMS Functions Data integrity management Promotes and enforces integrity rules to eliminate data integrity problems Database language and application programming interfaces Provides data access through a query language Database communication interfaces Allows database to accept end-user requests within a computer network environment
Where do we go from here? Data Modeling
Where do we go from here? Data Modeling