Fundamentals of Database Systems
Types of Databases and Applications
- Traditional Applications:
- Numeric and Textual Databases
- Recent Applications:
- Multimedia Databases
- Geographic Information Systems (GIS)
- Biological and Genome Databases
- Data Warehouses
- Mobile Databases
- Real-time and Active Databases
Recent Developments
- Social Networks (e.g., Facebook, Twitter, LinkedIn) capture extensive data about people and their communications.
- Search Engines (e.g., Google, Bing, Yahoo) collect a repository of web pages for searching purposes.
- New technologies from non-database software vendors manage vast amounts of web-generated data:
- Big Data Storage Systems involving large clusters of distributed computers.
- NoSQL Systems designed for specific data processing needs.
- Cloud Storage maintains massive data centers to house extensive datasets.
Basic Definitions
- Database: A collection of related data.
- Data: Known facts that can be recorded and have meaning.
- Mini-world: A subset of the real world represented in a database (e.g., student information).
- Database Management System (DBMS): Software/ system that facilitates the creation and maintenance of databases.
- Database System: The combination of DBMS software and the data itself, sometimes including applications.
Impact of Databases and Technology
- Businesses: Critical in banking, insurance, retail, transportation, healthcare, and manufacturing.
- Service Industries: Financial, real estate, legal, electronic commerce.
- Education: Provides resources for content delivery.
- Recent Fields: Increasing relevance in social networks, environmental applications, and personalized mobile apps.
Typical DBMS Functionality
- Define database concerning data types, structures, and constraints.
- Construct or load initial database contents on storage media.
- Manipulation:
- Retrieval: Querying and generating reports.
- Modification: Insertions, deletions, updates.
- Accessing the database through web applications.
- Ensuring data validity and consistency during multi-user access.
Application Activities Against a Database
- Queries: Accessing and formulating requests for specific data.
- Transactions: Operations that read and update the database.
- Ensuring Unauthorized access protection and adapting to changing user requirements.
Additional DBMS Functionality
- Protection measures against unauthorized access.
- Active processing (internal actions on data).
- Data presentation and visualization.
- Maintenance of the DBMS and underlying database.
Example of a University Database
Mini-World Components:
- Entities:
- Students, Courses, Sections, Departments, Instructors.
Relationships:
- Sections belong to specific Courses.
- Students enroll in Sections.
- Courses may have prerequisites.
- Instructors teach Sections.
Characteristics of the Database Approach
- Self-describing Nature: Metadata stores descriptions of data (data structures, types, constraints).
- Program-Data Independence: Changes to data structures do not require modifications to application programs.
- Data Abstraction: Data models provide a conceptual view, hiding storage details.
- Multiple Views of Data: Different users can see tailored views aligned to their requirements.
Sharing Data and Transaction Processing
- Allows concurrent users to retrieve and update data.
- Concurrency Control: Ensures correctness during simultaneous operations.
- Recovery System: Ensures transactions are recorded permanently.
- Online Transaction Processing (OLTP): Supports numerous transactions per second.
Database Users
Types:
Actors on the Scene:
- Database Administrators (DBA): Authorize access, monitor efficiency, manage resources.
- Database Designers: Define structure and constraints, communicate user needs.
- End-Users: Consume data for queries and reports.
- Casual, Naïve/Parametric, Sophisticated, Stand-alone users.
Workers Behind the Scene:
- System Analysts: Capture user requirements, design applications.
- Tool Developers: Create supporting software and facilitate database management.
- Operators: Maintain DBMS hardware and software environments.
Advantages of Database Approach
- Controls data redundancy.
- Facilitates data sharing among users.
- Protects against unauthorized access.
- Provides persistent storage, optimization of queries, and recovery services.
- Supports complex relationships and enforces integrity constraints.
Implications of Using Databases
- Establishes standards for data-related operations improving cohesiveness in production environments.
- Minimizes application development time and fosters flexibility in evolving data structures.
- Ensures access to current information, especially for real-time applications.
Historical Development of Database Technology
- Hierarchical and Network Models: Dominated in the 1960s and 70s.
- Relational Model: Introduced in 1970, revolutionizing data management.
- Object-oriented Database Management Systems (OODBMS): Emerged in the late 1980s addressing complex data applications.
Extending Database Capabilities
- New functionalities in scientific applications, XML data, image storage, and data warehousing.
- Social media and cloud-based storage are reshaping data management.
- The rise of Big Data technologies and NoSQL databases for massive dataset handling.
When Not to Use a DBMS
- High initial investment costs.
- Situations with simple data needs, single-user access, or stringent real-time requirements.
- Challenges in managing complex data with conventional DBMS models.