Data Abstraction:
- Data is represented at multiple levels of abstraction, hiding implementation details from users.
- Conceptual (Logical) Schema: High-level representation of the database.
- Internal (Physical) Schema: Low-level representation that specifies how data is stored on physical devices.
Data Independence:
- Changes to the internal schema should not require changes to the conceptual schema.
- Changes to the conceptual schema should not require changes to the physical schema.
Entity-Relationship (ER) Modeling:
- Data is represented as entities and relationships between them.
- Entities: Objects that exist in the real world (e.g., Customer, Product).
- Relationships: Connections between entities (e.g., Bought, Owns).
Normalization:
- Process of organizing data to prevent data anomalies and inconsistencies.
- Aim is to create tables where each column depends functionally on the key.
- Normal forms: 1NF, 2NF, 3NF, BCNF.
Query Languages:
- SQL (Structured Query Language): Standard language for accessing and manipulating data in relational databases.
- Allows users to retrieve, insert, update, and delete data.
Concurrency Control:
- Mechanisms to ensure that multiple users can access and modify data concurrently without data loss or corruption.
- Techniques include locking, transaction isolation levels, and multiversion concurrency control.
Database Management Systems (DBMS):
- Software that provides a platform for creating, managing, and accessing databases.
- Handles data storage, query processing, concurrency control, and other database operations.
Data Integrity:
- Measures taken to ensure that data is accurate, consistent, and valid.
- Methods include data validation, referential integrity, and data auditing.
Data Security:
- Protecting data from unauthorized access, modification, or destruction.
- Techniques include authentication, authorization, encryption, and backup strategies.
Data Warehousing:
- Central repository of data that is extracted from operational systems and optimized for data analysis and reporting.
- Enables faster and more comprehensive data analysis.
Data Mining:
- Process of extracting useful knowledge from large datasets.
- Techniques include association analysis, clustering, and classification.