Database¶
A database is a collection of structured data that is organized and stored in a way that enables efficient retrieval and manipulation of the data. A database can be used to store and manage data for a variety of purposes, such as maintaining a record of transactions, storing customer information, or tracking inventory.
Databases are typically managed by a database management system (DBMS), which provides a set of tools and interfaces for creating, modifying, and querying the data stored in the database. This can include a graphical user interface for managing the database, or a set of command-line tools and programming APIs for accessing and manipulating the data programmatically.
- 1. Category
- 1.1. Database
- 1.1.1. Relational Databases
- 1.1.2. Object-Relational Databases
- 1.1.3. NoSQL Databases
- 1.1.4. Columnar Databases
- 1.1.5. Graph Databases
- 1.1.6. Time-series Databases
- 1.1.7. In-Memory Databases
- 1.1.8. Cloud Databases
- 1.1.9. Hybrid Databases
- 1.1.10. Distributed Databases
- 1.1.11. Embedded Databases
- 1.1.12. XML Databases
- 1.1.13. Key-Value Databases
- 1.1.14. Document Databases
- 1.1.15. Geospatial Databases
- 1.1.16. Edge Databases
- 1.1.17. Streaming Databases
- 1.1.18. Machine Learning Databases
- 1.1.19. Event-Driven Databases
- 1.1.20. NewSQL Databases
- 1.1.21. Multi-Model Databases
- 1.2. Management
- 1.1. Database
- 2. Principle
- 3. Best Practice
- 4. Terminology
1. Category¶
1.1. Database¶
1.1.1. Relational Databases¶
Relational databases store data in a structured format using tables and relationships. The data is organized into rows and columns, and relationships are established between tables using keys.
DBMS tools: MySQL, Oracle Database, Microsoft SQL Server.
1.1.2. Object-Relational Databases¶
Object-Relational databases combine the features of relational databases and object-oriented programming. They store data in tables as well as objects, allowing for more complex data structures and relationships.
DBMS tools: PostgreSQL, Oracle Database.
1.1.3. NoSQL Databases¶
NoSQL databases do not use a fixed schema, and instead store data in a variety of formats, such as key-value pairs, documents, or graph structures. They are designed for scalability and handling large amounts of unstructured data.
DBMS tools: MongoDB, Cassandra, Amazon DynamoDB.
1.1.4. Columnar Databases¶
Columnar databases store data in columns rather than rows, providing faster query performance for large datasets, improving data performance and scalability. They are typically used in data warehousing and analytics.
DBMS tools: Apache Cassandra, Amazon Redshift, Google Bigtable.
1.1.5. Graph Databases¶
Graph databases store data as nodes and relationships, providing efficient querying and navigation of complex relationships. They are commonly used in social network analysis, recommendation systems, and fraud detection.
DBMS tools: Neo4j, Amazon Neptune, OrientDB.
1.1.6. Time-series Databases¶
Time-series databases are specialized databases optimized for storing and retrieving time-stamped data. They are commonly used for monitoring and analyzing sensor data, financial data, and IoT data.
DBMS tools: InfluxDB, TimescaleDB, OpenTSDB.
1.1.7. In-Memory Databases¶
In-Memory databases store data in RAM, providing extremely fast query performance. They are used for real-time applications, such as gaming, financial trading, and telecommunications.
DBMS tools: Redis, Apache Ignite, MemSQL.
1.1.8. Cloud Databases¶
Cloud databases are databases that run on cloud computing platforms, such as Amazon Web Services, Microsoft Azure, or Google Cloud Platform. They provide scalable, on-demand access to databases, allowing for easy provisioning and management of resources.
DBMS tools: Amazon RDS, Microsoft Azure SQL Database, Google Cloud SQL.
1.1.9. Hybrid Databases¶
Hybrid databases are databases that combine the features of multiple database categories, allowing for a variety of data formats and structures. They are designed to handle the demands of modern applications, which often require a combination of structured and unstructured data.
DBMS tools: Amazon DocumentDB, Microsoft Azure Cosmos DB, Google Cloud Firestore.
1.1.10. Distributed Databases¶
Distributed databases are databases that are split across multiple servers, providing increased scalability and fault tolerance. They are commonly used for large-scale, data-intensive applications, such as e-commerce, online gaming, and scientific simulations.
DBMS tools: Apache Cassandra, Amazon DynamoDB, Microsoft Azure Cosmos DB.
1.1.11. Embedded Databases¶
Embedded databases are databases that run directly on an application, rather than on a separate server. They are typically used for small-scale, standalone applications, such as mobile devices or embedded systems.
DBMS tools: SQLite, Berkeley DB, H2.
1.1.12. XML Databases¶
XML databases store data in the XML format, providing a flexible and extensible data structure. They are commonly used for data exchange and web services, as well as for document management.
DBMS tools: eXist-db, BaseX, Apache MarkLogic.
1.1.13. Key-Value Databases¶
Key-value databases are databases that store data as key-value pairs, allowing for simple and efficient data storage and retrieval. They often support advanced key-value operations, such as key-value updates, key-value deletions, and key-value search, and they are often used in applications that require simple and efficient data storage and retrieval.
DBMS tools: Amazon DynamoDB, Riak, Redis.
1.1.14. Document Databases¶
Document databases are databases that store data as semi-structured or unstructured documents, allowing for the flexible storage and retrieval of data elements. They often support advanced document operations, such as document queries, document updates, and document indexing, and they are often used in applications that require the flexible storage and retrieval of semi-structured or unstructured data elements.
DBMS tools: MongoDB, Amazon DocumentDB, Couchbase.
1.1.15. Geospatial Databases¶
Geospatial databases are databases that are optimized for storing and retrieving geospatial data, such as locations, maps, and geographic information. They often support advanced geospatial operations, such as spatial indexing, geospatial queries, and geospatial analytics, and they are often used in applications that require geospatial data processing and analysis.
DBMS tools: PostGIS, Oracle Spatial and Graph, MongoDB Geospatial.
1.1.16. Edge Databases¶
Edge databases are databases that run on edge devices, such as IoT devices, and are designed for low-latency data processing and storage. They often support advanced edge operations, such as local data processing, data aggregation, and data synchronization, and they are often used in applications that require low-latency data processing and storage at the edge.
DBMS tools: Amazon Greengrass, Microsoft Azure IoT Edge, Google Cloud IoT Edge.
1.1.17. Streaming Databases¶
Streaming databases are databases that are designed for real-time data ingestion, processing, and analysis of large amounts of data. They often support advanced streaming operations, such as real-time data analysis, event processing, and data pipelines, and they are often used in applications that require real-time data processing and analysis.
DBMS tools: Apache Kafka, Apache Flink, Amazon Kinesis.
1.1.18. Machine Learning Databases¶
Machine learning databases are databases that provide built-in machine learning algorithms and support for data science workflows. They often support advanced machine learning operations, such as data preprocessing, model training, and model deployment, and they are often used in applications that require machine learning and data science capabilities.
DBMS tools: Google BigQuery ML, Amazon SageMaker, Databricks.
1.1.19. Event-Driven Databases¶
Event-driven databases are databases that support event-driven architectures and real-time data processing. They often support advanced event-processing operations, such as event streams, event sourcing, and event notifications, and they are often used in applications that require real-time data processing and event-driven architectures.
DBMS tools: Apache Kafka, Apache Pulsar, Apache Flink.
1.1.20. NewSQL Databases¶
NewSQL databases are databases that combine the scalability and performance of NoSQL databases with the transactional consistency and durability of relational databases. They often support advanced SQL operations, and they are often used in applications that require high performance and strong consistency guarantees.
DBMS tools: Google Spanner, CockroachDB, NuoDB.
1.1.21. Multi-Model Databases¶
Multi-model databases are databases that support multiple data models, such as relational, document-oriented, graph, and key-value. This allows for greater flexibility in data modeling and the ability to handle a variety of data structures in a single database. Multi-model databases are often used in applications that require the ability to store and retrieve different types of data in a unified way.
DBMS tools: ArangoDB, Amazon DocumentDB, OrientDB.
1.2. Management¶
Database Management involves organizing, storing, and maintaining data within a database system. It encompasses design principles, technologies, and methodologies to ensure data reliability, efficiency, and security. The tasks involved in database management include defining data elements, creating and maintaining the database schema, enforcing data integrity and security, optimizing performance, and implementing backup and recovery mechanisms.
1.2.1. DBMS¶
A database management system (DBMS) is a software system that allows users to define, create, maintain, and control access to databases. A DBMS manages the organization, manipulation, storage, and retrieval of data, and provides an interface for interaction with the data.
Key functions of a DBMS include:
-
Data Storage
A DBMS provides a centralized repository for storing data, which can be organized into tables and other structures.
-
Data Retrieval
A DBMS allows users to retrieve specific data from the database, either through queries or by browsing the data directly.
-
Data Manipulation
A DBMS provides a set of tools for modifying and updating data in the database, including adding new records, deleting existing records, and modifying existing data.
-
Data Security
A DBMS provides a variety of security features to protect the data in the database, including authentication, authorization, and access control.
-
Data Consistency
A DBMS provides a set of features to ensure the consistency and reliability of the data in the database, including transaction management and data validation.
1.2.2. Transaction¶
A transaction in database systems refers to a unit of work that is executed within a database management system (DBMS). The primary objective of transactions is to maintain the consistency and integrity of data within a database, by ensuring that the database remains in a consistent state even in the face of failures or errors. Transactions achieve this objective by implementing the Atomicity, Consistency, Isolation, and Durability (ACID) properties, which guarantee that either all the operations within a transaction are completed successfully, or none of them are completed at all.
1.2.3. ACID¶
ACID stands for Atomicity, Consistency, Isolation, and Durability. It is a set of properties that ensure the consistency and reliability of database transactions.
ACID properties ensure that database transactions are reliable, consistent, and resistant to failures or data loss.
-
Atomicity
Atomicity property ensures that a transaction is treated as a single unit of work, either completing fully or rolling back completely in the event of a failure. This ensures that the database remains in a consistent state, even if part of the transaction fails.
-
Consistency
Consistency property ensures that a transaction brings the database from one consistent state to another, without introducing any invalid data. This is typically achieved through the use of constraints and data validation.
-
Isolation
Isolation property ensures that concurrent transactions do not interfere with each other, and that each transaction is executed as if it were the only transaction taking place. This prevents data corruption and other issues that could arise from multiple transactions accessing the same data simultaneously.
-
Durability
Durability property ensures that once a transaction is committed, its effects are permanent and cannot be lost in the event of a failure. This is achieved through the use of transaction logs, backups, and other measures.
1.2.4. CRUD¶
CRUD stands for Create, Read, Update, and Delete. It is a set of basic operations that can be performed on a database, and is used to manage data in a database.
The CRUD operations are the foundation of most database management systems, and are used to perform the basic functions of managing data in a database.
-
Create
Create operation allows a user to add new data to a database. This can include creating new records, tables, or other structures in the database.
-
Read
Read operation allows a user to retrieve data from a database. This can include reading specific records, performing searches, or retrieving data for reporting purposes.
-
Update
Update operation allows a user to modify existing data in a database. This can include updating existing records, adding new fields to tables, or changing the structure of the database.
-
Delete
Delete operation allows a user to remove data from a database. This can include deleting individual records, tables, or other structures in the database.
1.2.5. HTAP¶
HTAP (Hybrid Transactional/Analytical Processing) is a term used to describe a database architecture that combines the characteristics of both transactional (OLTP) and analytical (OLAP) processing. HTAP databases are designed to handle both transactional and analytical workloads in real-time, providing a single source of truth for data that is both transactional and analytical.
1.2.6. OLTP¶
OLTP (Online Transactional Processing) is a database design approach that focuses on optimizing transactional processing, such as inserting, updating, or deleting data. OLTP databases are designed to handle large numbers of concurrent transactions, and are optimized for high-speed and low latency.
1.2.7. OLAP¶
OLAP (Online Analytical Processing) is a database design approach that focuses on optimizing analytical processing, such as complex queries and reporting. OLAP databases are designed to handle large amounts of data and complex calculations, and are optimized for high-performance data analysis.
1.2.8. FDW¶
FDW (Foreign Data Wrapper) is a foreign data wrapper is a database component that enables data stored in external databases to be treated as if it were part of the local database. FDWs provide a convenient way to access data stored in different databases, and can be used to create a single virtual database from multiple sources.
1.2.9. Streaming¶
Streaming refers to the process of continuously receiving and processing data in real-time. In database systems, streaming can be used to handle large amounts of data that are generated in real-time, such as IoT data or social media data.
1.2.10. Geospatial¶
Geospatial databases are databases that are designed to store and manage geographic data, such as location-based data, maps, and satellite imagery. Geospatial databases are optimized for the storage and management of large amounts of data with geographic attributes, and are widely used in industries such as transportation, logistics, and real estate.
1.2.11. Time Series¶
Time series databases are databases that are designed to store and manage time-based data, such as sensor data, stock prices, and weather data. Time series databases are optimized for the storage and management of large amounts of time-based data, and are widely used in industries such as finance, IoT, and weather forecasting.
1.2.12. Distributed Tables¶
Distributed tables are tables in a database that are spread across multiple nodes in a distributed database system. Distributed tables provide a way to scale databases horizontally, allowing for the storage and management of large amounts of data across multiple nodes. This provides increased performance and scalability, as well as improved fault tolerance.
1.2.13. Schema Design¶
Schema design is a critical component of database architecture and design, as it defines the structure of the data in a database. Schema design involves creating tables, columns, and relationships to represent the data requirements of an application. The schema defines the structure of the data and the relationships between the data elements, and it is used to ensure that the data is stored in a consistent and organized manner.
2. Principle¶
-
Atomicity
The principle of atomicity ensures that a database transaction is either completed in its entirety or not completed at all, ensuring data consistency and integrity.
-
Consistency
The principle of consistency ensures that a database conforms to a set of rules or constraints, such as uniqueness, referential integrity, and domain integrity, ensuring data accuracy and reliability.
-
Isolation
The principle of isolation ensures that multiple database transactions are executed as if they were executing independently, ensuring data consistency and avoiding concurrent access conflicts.
-
Durability
The principle of durability ensures that once a database transaction is committed, its effects are permanent and will persist even in the event of a system failure, ensuring data reliability and availability.
-
Normalization
The principle of normalization is the process of organizing a database into a set of tables with well-defined relationships, reducing data redundancy and increasing data accuracy and consistency.
-
Referential Integrity
The principle of referential integrity is the requirement that every foreign key in a database must have a corresponding primary key in another table, ensuring data accuracy and consistency.
-
Data Abstraction
The principle of data abstraction is the process of hiding the implementation details of a database from the users, providing a higher-level view of the data and simplifying database access.
-
Scalability
The principle of scalability is the ability of a database to handle increasing amounts of data and users as the system grows, ensuring data reliability and availability.
-
Performance
The principle of performance is the ability of a database to efficiently retrieve and manipulate data, ensuring that database operations are executed quickly and effectively.
-
Security
The principle of security is the protection of database data from unauthorized access and manipulation, ensuring data privacy and confidentiality.
-
Backup and Recovery
The principle of backup and recovery is the process of creating and maintaining backups of database data, ensuring data availability and reliability in the event of a system failure or data loss.
-
Data Encryption
The principle of data encryption is the process of converting sensitive data into an unreadable format, ensuring data privacy and confidentiality.
-
ata Access Control
The principle of data access control is the process of controlling access to database data based on user permissions, ensuring data security and confidentiality.
-
Data Modeling
The principle of data modeling is the process of creating a conceptual representation of a database, ensuring data consistency and accuracy.
-
Data Integration
The principle of data integration is the process of combining data from multiple sources into a single, unified view, ensuring data accuracy and consistency.
-
Data Migration
The principle of data migration is the process of transferring data from one database to another, ensuring data availability and reliability.
-
Query Optimization
The principle of query optimization is the process of improving the efficiency of database queries, ensuring fast and efficient data retrieval.
-
Indexing
The principle of indexing is the process of creating an index of data elements, allowing for fast and efficient data retrieval.
-
Partitioning
The principle of partitioning is the process of dividing a database into smaller, more manageable parts, improving database performance and scalability.
-
Replication
The principle of replication is the process of creating multiple copies of a database, ensuring data availability and reliability.
-
Redundancy
The principle of redundancy is the process of creating multiple backups of database data, ensuring data availability and reliability in the event of a system failure.
-
Fault Tolerance
The principle of fault tolerance is the ability of a database to continue functioning in the event of a system failure or error, ensuring data availability and reliability.
-
High Availability
The principle of high availability is the ability of a database to be accessible and operational at all times, ensuring data availability and reliability.
-
Load Balancing
The principle of load balancing is the process of distributing database workloads across multiple servers, improving database performance and scalability.
-
Data Warehousing
The principle of data warehousing is the process of storing large amounts of data for analysis and reporting purposes, improving data accuracy and consistency.
-
Data Marts
The principle of data marts is the process of creating smaller, more focused data warehouses, improving data accuracy and consistency.
-
Data Mining
The principle of data mining is the process of discovering patterns and trends in large amounts of data, improving data accuracy and consistency.
-
Business Intelligence
The principle of business intelligence is the process of using data analysis and reporting to support business decision-making, improving data accuracy and consistency.
-
Data Visualization
The principle of data visualization is the process of presenting data in graphical and visual format, improving data accuracy and consistency.
-
Big Data
The principle of big data is the process of handling and analyzing large amounts of data, improving data accuracy and consistency.
-
NoSQL
The principle of NoSQL is a type of database that does not use a fixed schema and allows for flexible data modeling, improving data scalability and performance.
3. Best Practice¶
-
Define Clear Objectives
Determine the specific purpose and requirements of the database before starting the design process.
-
Normalize Data
Normalize the data to reduce redundancy and improve data accuracy and consistency.
-
Choose the Right Database Technology
Choose the database technology that best fits the requirements of the database, taking into consideration factors such as scalability, performance, and reliability.
-
Design for Performance
Design the database to optimize performance, taking into consideration factors such as indexing, query optimization, and caching.
-
Implement Security Measures
Implement security measures to protect sensitive data and prevent unauthorized access to the database.
-
Monitor and Tune the Database
Regularly monitor and tune the database to ensure optimal performance and prevent issues such as bottlenecks and deadlocks.
-
Plan for Data Backup and Recovery
Plan for data backup and recovery to ensure the availability and integrity of the database in case of disaster or other unexpected events.
-
Document the Database
Document the database design, schema, and data to help ensure accuracy and consistency over time.
-
Consider Scalability
Consider scalability when designing the database, ensuring that the database can easily be expanded to accommodate future growth.
-
Continuously Evaluate and Improve
Continuously evaluate and improve the database to ensure that it remains efficient and effective over time.
-
Implement Access Controls
Implement access controls to ensure that only authorized users can access the database and specific data.
-
Use Unique Identifiers
Use unique identifiers, such as primary keys, to ensure that data is accurately referenced and linked.
-
Use Transactions
Use transactions to ensure data integrity and consistency, even in the face of errors or unexpected events.
-
Regularly Test and Verify Data
Regularly test and verify data to ensure accuracy and completeness, and to identify and fix any issues.
-
Maintain Data History
Maintain data history to track changes and provide a historical view of the data.
-
Plan for Disaster Recovery
Plan for disaster recovery to ensure that the database can quickly and easily be recovered in the event of a disaster.
-
Use Automated Tools
Use automated tools, such as backups and monitoring software, to simplify and automate database management tasks.
-
Implement Data Validation
Implement data validation to ensure that data is entered correctly and meets specific criteria.
-
Use Standard Data Formats
Use standard data formats, such as XML or JSON, to simplify data exchange and integration.
-
Monitor Database Health
Monitor the health of the database to identify and address performance or reliability issues.
-
Encrypt Sensitive Data
Encrypt sensitive data to protect it from unauthorized access and to ensure privacy.
-
Document Data Sources
Document data sources to help ensure data accuracy and consistency and to simplify data integration.
-
Use Triggers
Use triggers to automate database actions and to ensure data consistency and accuracy.
-
Implement Version Control
Implement version control to track changes and ensure that multiple users can work on the database simultaneously.
-
Plan for Data Archiving
Plan for data archiving to help ensure data accuracy and consistency over time, and to reduce the size of the database.
-
Use Stored Procedures
Use stored procedures to improve database performance and to simplify complex database operations.
-
Implement Data Partitioning
Implement data partitioning to improve database performance and scalability.
-
Use Data Warehousing
Use data warehousing to improve data accuracy, consistency, and performance, especially for large amounts of data.
-
Implement Automated Reporting
Implement automated reporting to simplify the generation of reports and to improve data accuracy.
-
Evaluate the Database Regularly
Evaluate the database regularly to identify and address performance, reliability, and security issues, and to make improvements where necessary.
-
Use Materialized Views
Use materialized views to improve database performance and to simplify complex database queries.
-
Implement Data Replication
Implement data replication to ensure high availability and to improve database performance.
-
Use Real-time Analytics
Use real-time analytics to quickly analyze data and make decisions in real-time.
-
Consider Multi-tenancy
Consider multi-tenancy when designing the database, to ensure that multiple tenants can use the database simultaneously and securely.
-
Implement Disaster Tolerance
Implement disaster tolerance to ensure that the database remains available even in the face of a disaster.
-
Use Compression
Use compression to reduce the size of the database and to improve database performance.
-
Implement Data Sharding
Implement data sharding to improve database performance and scalability, especially for large amounts of data.
-
Use Cloud Databases
Use cloud databases to take advantage of the scalability, security, and reliability offered by cloud computing.
-
Implement Auditing
Implement auditing to track database activity, improve security, and comply with regulations.
-
Optimize Queries
Optimize queries to improve database performance and reduce response time.
4. Terminology¶
-
Relational Database
A type of database that organizes data into tables and uses relationships between the tables to store and retrieve data.
-
Table
A collection of related data organized into rows and columns in a relational database.
-
Column
A vertical data element in a table, representing a specific type of data.
-
Row
A horizontal data element in a table, representing a single instance of data.
-
Primary Key
A unique identifier for each row in a table, used to establish relationships between tables.
-
Foreign Key
A reference to a primary key in another table, used to establish relationships between tables.
-
Index
A data structure used to improve database performance by allowing for fast searching and retrieval of data.
-
Query
A request for data from a database, usually expressed in a database query language.
-
Transaction
A sequence of database operations that are treated as a single unit of work, either committed or rolled back.
-
Stored Procedure
A precompiled set of database operations that can be executed repeatedly.
-
Trigger
An event-driven procedure that is executed automatically when a specific database event occurs.
-
View
A virtual table that is derived from the data in one or more tables.
-
Materialized View
A pre-computed view of data, stored in a table for fast retrieval.
-
Partition
A division of a database table into smaller pieces for improved performance and scalability.
-
Data Warehousing
The practice of storing data in a centralized repository for fast and efficient analysis.
-
NoSQL
A type of database that does not use the relational model and is optimized for handling large amounts of unstructured data.
-
Object-Relational Database
A type of database that combines the features of relational databases and object-oriented databases.
-
Cloud Database
A database hosted on a remote server and accessed through the internet, typically provided as a service by a cloud computing provider.
-
Scalability
The ability of a database to handle increasing amounts of data and traffic without impacting performance.
-
Availability
The ability of a database to remain accessible to users at all times, even during maintenance or failures.
-
Replication
The process of copying data from one database to another, typically used for backup and disaster recovery purposes.
-
Sharding
The process of dividing a database into multiple smaller databases, typically to improve performance and scalability.
-
Backup
A copy of a database used for recovery purposes in case the original database is lost or damaged.
-
Recovery
The process of restoring a database to a previous state after a failure or disaster.
-
Data Integrity
The accuracy and consistency of data stored in a database, maintained through the use of constraints and transactions.
-
Data Security
The measures taken to protect sensitive data stored in a database from unauthorized access, modification, or theft.
-
ACID Properties
A set of properties that ensure the consistency and reliability of database transactions, including Atomicity, Consistency, Isolation, and Durability.
-
Denormalization
The process of adding redundant data to a database to improve performance, typically used in data warehousing and NoSQL databases.
-
Query Optimization
The process of improving the performance of database queries by reducing the amount of data that must be processed.
-
Normalization
The process of organizing data into separate tables to eliminate redundant data and improve data integrity.
-
Data Modeling
The process of creating a blueprint or representation of data and its relationships, used to design and build a database.
-
ER Model
An entity-relationship model, used in data modeling to represent the relationships between entities in a database.
-
Data Types
The classification of data into specific types, such as text, numbers, or dates, used to define the structure of a database.
-
Concurrency Control
The management of access to a database by multiple users, ensuring data consistency and avoiding conflicts.
-
Locking
The process of preventing other users from accessing data while it is being updated or modified.
-
Transactions Log
A record of all database transactions, used for recovery purposes in case of a failure.
-
Encryption
The process of converting data into a secure format that can only be decrypted by authorized users.
-
Data Migration
The process of moving data from one database to another, typically for the purpose of upgrading or changing systems.
-
Performance Tuning
The process of improving the performance of a database by optimizing its configuration, queries, and indexing.
-
Data Dictionary
A repository of metadata, including information about the structure, relationships, and constraints of data in a database.
-
Indexing
The process of creating a data structure that allows for faster and more efficient searches of data in a database.
-
Foreign Key
A field in a database table that refers to the primary key of another table, used to establish relationships between tables.
-
Primary Key
A unique identifier for each record in a database table, used to uniquely identify and access data.
-
Normalization Forms
The series of rules used to eliminate redundant data and improve data integrity, such as 1NF, 2NF, 3NF, and BCNF.
-
Stored Procedures
Pre-compiled sets of SQL statements that can be stored in a database and executed repeatedly.
-
Triggers
Automated actions that are triggered by specific events in a database, such as data changes or updates.
-
Views
A virtual table in a database that is created by querying data from one or more other tables.
-
Query Language
The language used to interact with and manipulate data in a database, such as SQL (Structured Query Language).
-
Data Warehousing
The process of storing and managing large amounts of data for analysis and reporting purposes.Data Mining: The process of discovering and extracting insights from large amounts of data.