Chapter 3: Database Management System.pdf
Document Details
Related
- PCSII Depression/Anxiety/Strong Emotions 2024 Document
- A Concise History of the World: A New World of Connections (1500-1800)
- Human Bio Test PDF
- University of Santo Tomas Pre-Laboratory Discussion of LA No. 1 PDF
- Vertebrate Pest Management PDF
- Lg 5 International Environmental Laws, Treaties, Protocols, and Conventions
Full Transcript
Chapter 3: Database Management System What is Data? Data refers to raw, unprocessed facts and figures that have no specific meaning or context on their own. Data can be in the form of numbers, text, images, or other types of input that are collected from various sources. For example, a list of numb...
Chapter 3: Database Management System What is Data? Data refers to raw, unprocessed facts and figures that have no specific meaning or context on their own. Data can be in the form of numbers, text, images, or other types of input that are collected from various sources. For example, a list of numbers like "5, 10, 15, 20" or a collection of names like "John, Mary, Sarah" are considered data. Process It's a run time entity which takes inputted data as input and processes it; in processing it purifies data by removing erroneous records, incomplete or partial entries from data, inconsistent entries, removing unnecessary records which are not required in the final data set etc. It's a data preparation phase where a user processes data and makes it for use. Information Information, on the other hand, is processed data that has been organized, structured, or presented in a way that makes it meaningful and useful. Information provides context and helps in understanding the data. For instance, if the list of numbers "5, 10, 15, 20" represents the ages of people in a group, then this processed data becomes information. Information is data that has been interpreted to provide insight, support decision-making, or convey knowledge. What is Database? A database is an organized collection of data, so that it can be easily accessed and managed. You can organize data into tables, rows, columns, and index it to make it easier to find relevant information. Database handlers create a database in such a way that only one set of software program provides access of data to all the users. The main purpose of the database is to operate a large amount of information by storing, retrieving, and managing data. There are many dynamic websites on the World Wide Web nowadays which are handled through databases. For example, a model that checks the availability of rooms in a hotel. It is an example of a dynamic website that uses a database. There are many databases available like MySQL, Sybase, Oracle, MongoDB, Informix, PostgreSQL, SQL Server, etc. Modern databases are managed by the database management system (DBMS). SQL or Structured Query Language is used to operate on the data stored in a database. SQL depends on relational algebra and tuple relational calculus. DBMS (Data Base Management System) Database management System is software which is used to store and retrieve the database. For example, Oracle, MySQL, etc.; these are some popular DBMS tools. ○ DBMS provides the interface to perform the various operations like creation, deletion, modification, etc. ○ DBMS allows the user to create their databases as per their requirement. ○ DBMS accepts the request from the application and provides specific data through the operating system. ○ DBMS contains the group of programs which acts according to the user instruction. ○ It provides security to the database. A Database Management System (DBMS) is software that facilitates the creation, manipulation, management, and retrieval of data in a structured format. It provides a systematic way to store, manage, and query data, allowing users to efficiently interact with large volumes of information. DBMSs are fundamental in various applications, from business and finance to education and healthcare. A DBMS is an integrated software system designed to handle data in a database. It serves as an intermediary between users and the database, ensuring data is stored securely, retrieved efficiently, and manipulated accurately. The main functions of a DBMS include data storage, retrieval, manipulation, and protection. Key Components of a DBMS: Database Engine: The core component responsible for the storage, retrieval, and updating of data. It handles query processing and execution. Database Schema: Defines the structure of the database, including tables, relationships, and constraints. Query Language: A language used to interact with the database. SQL (Structured Query Language) is the most common query language used for relational databases. User Interface: Provides a way for users to interact with the database, often through graphical interfaces or command-line tools. Database Administrator (DBA) Tools: Utilities for managing and maintaining the database, including backups, performance tuning, and security management. Advantage of DBMS Controls redundancy It stores all the data in a single database file, so it can control data redundancy. Data sharing An authorized user can share the data among multiple users. Backup It providesBackup and recovery subsystem. This recovery system creates automatic data from system failure and restores data if required. Multiple user interfaces It provides a different type of user interfaces like GUI, application interfaces. Disadvantage of DBMS Size It occupies large disk space and large memory to run efficiently. Cost DBMS requires a high-speed data processor and larger memory to run DBMS software, so it is costly. Complexity DBMS creates additional complexity and requirements. DBMS Architecture ○ The DBMS design depends upon its architecture. The basic client/server architecture is used to deal with a large number of PCs, web servers, database servers and other components that are connected with networks. ○ The client/server architecture consists of many PCs and a workstation which are connected via the network. ○ DBMS architecture depends upon how users are connected to the database to get their request done. Database architecture refers to the overall design of a database system that defines how data is stored, processed, and managed. It focuses on organizing the data, ensuring smooth interaction between users and the database, and efficiently handling operations like querying, updates, and storage. Key Components of Database Architecture: 1. Database Management System (DBMS): The software that interacts with the database, manages data storage, and handles requests from users and applications. It ensures that data is consistently organized and accessible. 2. Database: The actual collection of related data stored in tables. The database stores data in a structured format, ensuring relationships between data are preserved. 3. Application Interface: This is the layer through which applications or users interact with the database. Applications send queries or requests to the DBMS, which processes and returns the required data. 4. Data Access Layer: This layer ensures secure and controlled access to the data. It manages user permissions, checks data integrity, and enforces data security. 5. Query Processor: The component responsible for interpreting and executing queries from users or applications. It translates high-level queries (e.g., SQL) into commands that interact with the database. 6. Storage Manager: This component manages the physical storage of data on disk. It handles tasks such as data indexing, retrieving data from disk, and managing the storage space efficiently. 7. Transaction Manager: Ensures that all database operations are performed reliably and meet the ACID properties (Atomicity, Consistency, Isolation, Durability). It coordinates multiple operations to ensure data integrity, even in case of system failures. Let’s take a simple example to illustrate how database architecture works: a library management system. Scenario: A library has a database to manage information about books, members, and borrowings. Users (e.g., librarians, members) can interact with the system to borrow books, return books, or search for books. Step-by-Step Explanation: 1. User Interaction (Application Layer): ○ A librarian wants to check the availability of a book. ○ They use the library’s interface (such as a web application) to search for the book. 2. Query Processor (DBMS Interaction): ○ The query (e.g., "Find all books with title 'MY DREAMS'") is sent to the DBMS. ○ The query processor analyzes the request and prepares it to be executed on the database. 3. Data Access Layer (Security Check): ○ The DBMS checks whether the librarian has the appropriate permissions to access the data. ○ If the user is authorized, the query proceeds; otherwise, it’s denied. 4. Storage Manager (Data Retrieval): ○ The storage manager interacts with the underlying storage (disk) to fetch the data about the book. ○ It retrieves relevant information (like book title, author, and availability) from the database tables. 5. Transaction Manager (Ensuring Data Integrity): ○ If any changes are made, such as updating the availability of a book (after a borrowing transaction), the transaction manager ensures that this operation is successfully committed to the database. ○ It ensures that all updates are permanent and follow the ACID properties. 6. Response to User (Application Layer): ○ The DBMS sends the retrieved data back to the librarian via the application. ○ The librarian can now see the availability of the book and complete the transaction (e.g., borrowing the book or returning it). Types of DBMS Architecture Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of two types like: 2-tier architecture and 3-tier architecture. 1-Tier Architecture In 1-Tier Architecture, the user can directly access the database. This means the user interacts with the database without any middle layer or tool in between. This setup is mainly used by developers or programmers for creating applications, where they need quick access to the database. Example: Imagine you are building a simple local application on your computer, like a budget tracker. You, as the programmer, directly interact with the database to store or retrieve information about your expenses. Any changes you make go directly into the database. 2-Tier Architecture 2-Tier Architecture is like a basic client-server setup. There are two layers: 1. Client-side: This is where the user interface and the application program are. 2. Server-side: This is where the database is stored and managed. When a user wants to access the database (e.g., to get information or update data), the client-side application sends a request to the server-side where the database is located. The server processes the request and sends the data back. Example: Let’s say you’re using a library management system. The librarian (client-side) uses an application on their computer to look for a book. The application sends a request to the database on the server to find the book information. The server (database) processes the request and sends the result back to the librarian's screen. Fig: 2-tier Architecture 3-Tier Architecture In 3-Tier Architecture, there is an extra layer called the application server, which sits between the client and server. The client doesn’t communicate directly with the database. Instead, it interacts with the application server, which then communicates with the database. The client is unaware of the database's existence, and the database is unaware of the client. This setup is used in large web applications where there is a need to manage many users efficiently. Example: Consider an online shopping website like Amazon: 1. Client-side (User): You, as a customer, use a web browser or mobile app to browse products. 2. Application server (Middle Layer): When you search for a product, your request goes to the application server. This server processes the request and sends it to the database. 3. Database server: The database server retrieves product information and sends it back to the application server, which then displays it to you. In this way, the user doesn’t interact directly with the database. The middle layer (application server) handles everything, making the system more secure and scalable. Fig: 3-tier Architecture Types of Databases There are various types of databases used for storing different varieties of data: 1) Centralized Database A centralized database stores all data in a single central location. This means that the data is managed and maintained from one point, but users from different locations can access it through applications. These applications use an authentication process to make sure that only authorized users can access the data securely. Example: Imagine a university library system where every branch of the library in the university has its data stored in one central database. Librarians from different branches access the same central database to issue or return books. Advantages of Centralized Database: 1. Reduced Data Management Risk: Since all data is stored in one place, any changes to the data (like updates or deletions) won't affect the main core data. This ensures data integrity. 2. Data Consistency: With all data in one central location, it's easier to maintain consistent data across the organization. Everyone accessing the database gets the same up-to-date information. 3. Better Data Quality: Organizations can enforce data standards more easily, ensuring accurate and high-quality data throughout the system. 4. Cost-Effective: Having a single central system reduces the need for multiple database vendors, leading to lower costs for managing data. Disadvantages of Centralized Database: 1. Slower Response Time: As the database grows in size, it might take longer to fetch data because the system has to search through a large amount of information. 2. Difficult to Update: Managing updates and changes to a large centralized database can be challenging because of its complexity. 3. Risk of Data Loss: If the central server experiences a failure, all the data could be lost. This could result in a major loss for the organization, especially if proper backups aren’t in place.. 2) Distributed Database A distributed database is different from a centralized one because the data is spread across multiple locations or systems within an organization. These separate database systems are connected through communication links, allowing users to access the data as if it were all in one place. Examples: Popular distributed database systems include Apache Cassandra, HBase, and Ignite. Types of Distributed Databases: 1. Homogeneous Distributed Database : ○ All database systems in this setup run on the same operating system, use the same applications, and operate on the same hardware. 2. Heterogeneous Distributed Database : ○ In this type, the database systems may operate on different operating systems, use different application processes, and run on different hardware. Advantages of Distributed Database: 1. Modular Development: ○ You can expand the system by adding new computers to the network. This means the database can grow in size without needing a complete overhaul. 2. Fault Tolerance: ○ If one server fails, the entire system isn't affected because data is spread across multiple servers. This ensures that data availability is maintained even during failures. Imagine a retail chain with stores in different cities. Each store has its own database system to manage local sales, inventory, and customer data. However, all these store databases are connected through a network, allowing the head office to view the combined data from all stores. Example Scenario: Store in City A has its own database that stores sales data, like how many items were sold and inventory levels. Store in City B also has its own separate database for the same purpose. The head office can access both databases from a central location, giving them a full picture of sales and inventory across all stores, even though the data is spread out. In this system: The stores have access to their local data quickly. The head office can see the combined data from all stores in real-time. This setup is a distributed database, where data is stored across multiple locations but connected through a network, making it easily accessible. 3) Relational Database A relational database organizes data in the form of rows (tuples) and columns (attributes) to create a table (relation). It uses SQL (Structured Query Language) to store, update, and manage data. The relational database model was invented by E.F. Codd in 1970. Each table has a unique key that identifies each row, ensuring no two rows are the same. Examples of Relational Databases: MySQL Microsoft SQL Server Oracle ACID Properties: Relational databases follow four key properties, known as ACID, to ensure reliable transactions: 1. A – Atomicity: ○ Ensures that an operation is either fully completed or not done at all. It follows the "all or nothing" rule. ○ Example: If you transfer $50 from Account A to Account B, both the debit and credit operations must complete. If the debit from Account A succeeds but the credit to Account B fails, the whole transaction is canceled. 2. C – Consistency: ○ The database ensures that after any transaction, the data remains correct and follows all rules. ○ Example: After transferring $50 from Account A to Account B, if Account A had $100 before, it should have $50 after, and Account B's balance should increase by $50. 3. I – Isolation: ○ Multiple transactions can happen at the same time, but each transaction should be independent of others. One transaction shouldn't interfere with another. ○ Example: If two people are transferring money from Account A at the same time, both transfers happen in isolation, so one doesn't see the results of the other until it's completed. 4. D – Durability: ○ Once a transaction is completed and committed, the changes are permanent, even if the system crashes afterward. ○ Example: After transferring $50 from Account A to Account B, if the system crashes, the transfer should still be reflected in both accounts when the system is back online. 4) NoSQL Database NoSQL (Not Only SQL) Database is a type of database used to store large and diverse data sets in various formats beyond just tables. Unlike traditional relational databases, NoSQL databases store data in more flexible ways, allowing developers to handle different types of data structures. NoSQL databases became popular with the rise of modern applications that require handling massive amounts of data quickly. Types of NoSQL Databases: 1. Key-Value Storage: ○ This is the simplest form of data storage, where each item is stored as a key (like an ID) with its associated value. ○ Example: Think of a dictionary where you have a word (key) and its definition (value). A real-world use case is storing user session data in online shopping platforms. 2. Document-Oriented Database: ○ Stores data as documents, often in JSON format, which is similar to the format used in web applications. ○ Example: MongoDB stores customer data, including names, addresses, and orders, in documents. 3. Graph Databases: ○ Data is stored in a graph structure where entities are nodes, and relationships between entities are edges. ○ Example: Social media platforms use graph databases to represent users (nodes) and their connections (edges), like friendships or followers. 4. Wide-Column Stores: ○ Stores data in large columns instead of rows. It is similar to a spreadsheet where columns store related information together. ○ Example: Cassandra, often used in distributed systems, stores user activity logs in columns for faster access. ○ It doesn't use the traditional "rows and tables" like in regular databases (e.g., MySQL). ○ It spreads data across many servers, so it's fast and reliable. ○ It can grow easily when you need more storage. ○ Even if some servers crash, Cassandra ensures your data is safe and accessible. Advantages of NoSQL Databases: 1. Flexibility: NoSQL allows data to be stored in a flexible, non-structured format, making it ideal for applications where data structure may change over time. 2. Handling Large Data Sets: It is particularly well-suited for managing large volumes of data that do not fit neatly into rows and columns. 3. High Scalability: NoSQL databases can scale easily across multiple servers, making them perfect for big data applications. 4. Quick Access: Key-value storage allows for fast retrieval of data, improving performance in applications that require real-time access to data. 5) Cloud Database A cloud database is a type of database that is hosted and operated in a virtual environment over the cloud. This means that instead of running on physical servers or local machines, the database is managed and accessed via cloud computing platforms. Users can interact with the database and access data through various cloud services such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS). Key Characteristics: Scalability: Cloud databases can easily scale up or down based on demand, allowing users to handle varying workloads without significant changes to their infrastructure. Accessibility: Data can be accessed from anywhere with an internet connection, offering flexibility and convenience. Managed Services: Cloud providers typically manage the database, including maintenance, updates, and backups, reducing the administrative burden on users. Popular Cloud Database Platforms: 1. Amazon Web Services (AWS): ○ Services: AWS offers various database services, including Amazon RDS (Relational Database Service), Amazon DynamoDB (NoSQL), and Amazon Aurora (a high-performance relational database). 2. Microsoft Azure: ○ Services: Azure provides databases like Azure SQL Database, Azure Cosmos DB (NoSQL), and Azure Database for MySQL/PostgreSQL. 3. ScienceSoft: ○ Services: ScienceSoft offers cloud-based database solutions with a focus on providing managed and scalable database services. 4. Google Cloud SQL: ○ Services: Google Cloud SQL is a managed relational database service that supports MySQL, PostgreSQL, and SQL Server, providing scalable and reliable database options. Example Scenario: Imagine a company that uses a cloud database to manage its customer information. The database is hosted on Google Cloud SQL, allowing employees to access customer data from anywhere in the world. As the company grows, it can easily scale the database resources up or down using Google Cloud's tools, ensuring that they only pay for what they use. Additionally, the cloud provider handles backups, updates, and maintenance, letting the company's IT team focus on other tasks. 6) Object-oriented Databases Object-Oriented Database (OODB): An object-oriented database (OODB) integrates object-oriented programming principles with database management. In an OODB, data is represented in the form of objects, similar to how data is handled in object-oriented programming languages like Java, C++, or Python. This approach allows the database to store complex data structures and relationships more naturally, reflecting how data is organized in the application code. Advantages of Object-Oriented Databases: 1. Natural Mapping: ○ OODBs provide a natural mapping between application objects and database objects, reducing the need for complex data transformation. ○ Example: A Customer object in an e-commerce application can be directly mapped to a Customer object in the database, avoiding the need for conversion between objects and relational tables. 2. Support for Complex Data: ○ They handle complex data structures, such as hierarchical or graph-based relationships, more effectively than relational databases. ○ Example: Representing a social network with users, their friends, and their interactions is more straightforward in an OODB. 3. Code Reusability: ○ Object-oriented principles such as inheritance and polymorphism promote code reusability and modularity. ○ Example: Common functionality can be defined in a base class and shared among multiple derived classes. Disadvantages of Object-Oriented Databases: 1. Complexity: ○ OODBs can be more complex to design and manage compared to relational databases, especially for developers who are not familiar with object-oriented principles. 2. Less Mature Technology: ○ Compared to relational databases, OODBs are less mature and have fewer industry-standard tools and support. 3. Performance Issues: ○ Performance can be an issue for certain types of queries and operations, particularly if the database is not optimized for object-oriented access patterns. Example Scenario: Consider an OODBMS for a multimedia application. You might have a Video object that includes data attributes like Title, Duration, and Resolution, along with methods such as Play() stop () and Pause(). This allows the database to manage complex data types like images, audio, and video files directly as objects. Video Object: +---------+-------------+-------------+--------+ | Title | Duration | Resolution | Play() | +---------+-------------+-------------+--------+ | "Video Abc"| 120 mins | 1080p | | Imagine a library system using an object-oriented database. In this system, you might have objects for Book, Author, and LibraryMember. Each Book object could contain attributes like title, ISBN, and a reference to an Author object. When a LibraryMember checks out a book, the system updates the Book object to reflect its new status (e.g., checked out) and associates it with the LibraryMember object. 7) Hierarchical Databases A hierarchical database is a type of database that organizes data in a tree-like structure, using parent-child relationships. In this structure, data is stored in records that are connected through links, creating a hierarchy of records. Each record in this hierarchy is a node in the tree, where: Parent Record: A record that has one or more child records associated with it. Child Record: A record that is linked to exactly one parent record. How It Works: Tree Structure: The database is organized in a tree-like format, where each record (node) can have multiple child records but only one parent record. This creates a clear parent-child relationship between the records. Data Storage: Each node or record stores information and is linked to its child nodes. The links between parent and child records establish the hierarchy. Accessing Data: To access data, you start from the root (top-level parent) and traverse through the hierarchy to reach the desired child record. Example: Consider a company’s organizational structure where data about employees is stored. Root Record: The top-level record might be "Company" which represents the entire organization. Child Records: Under the "Company" record, there could be child records like "Department A" and "Department B." Further Child Records: Each department can have further child records representing individual employees, such as "Employee 1" and "Employee 2." In this example, the "Company" record is the parent of "Department A" and "Department B," and these department records are parents to individual employee records. Advantages: Easy to Understand: The hierarchical structure is straightforward and easy to understand, especially for representing natural hierarchies. Data Integrity: Enforces a clear parent-child relationship, which helps in maintaining data consistency. Disadvantages: Rigid Structure: The hierarchical model can be inflexible, making it difficult to represent many-to-many relationships. Complex Queries: Complex queries involving multiple levels of the hierarchy can be challenging to perform efficiently. 8) Network Databases It is the database that typically follows the network data model. Here, the representation of data is in the form of nodes connected via links between them. Unlike the hierarchical database, it allows each record to have multiple children and parent nodes to form a generalized graph structure. A network database is a type of database that uses a network data model to represent and store data. In this model, data is organized in a graph-like structure with nodes and links. Each node represents a record, and the links (or edges) between nodes define the relationships between those records. Key Characteristics: Graph Structure: Data is represented in a generalized graph structure, where records (nodes) can have multiple parent and child nodes. This allows for more complex relationships compared to a hierarchical database. Multiple Relationships: Unlike hierarchical databases, network databases support many-to-many relationships. Each record can be connected to multiple other records, both as parents and children. Flexibility: The network model provides greater flexibility in representing complex relationships and navigating through the database. How It Works: 1. Nodes: Represent individual records or entities in the database. 2. Links (Edges): Connect nodes to establish relationships. These links define how records are related to each other. 3. Generalized Structure: The network structure allows for records to have multiple connections, creating a more intricate and flexible representation of data. Example: Consider a database for a university that tracks students, courses, and professors. Nodes: ○ Students: Each student record contains information about a student. ○ Courses: Each course record contains information about a course. ○ Professors: Each professor record contains information about a professor. Links: ○ Student-Course Links: Students are linked to the courses they are enrolled in. ○ Course-Professor Links: Courses are linked to the professors who teach them. ○ Professor-Student Links: Professors can be linked to students through courses they are teaching. In this example, a student can be enrolled in multiple courses, and each course can be taught by multiple professors. Similarly, a professor can teach multiple courses and interact with multiple students. Advantages: Complex Relationships: Supports complex many-to-many relationships and allows for more flexible data representation. Efficient Navigations: Provides efficient methods to navigate through interconnected data. Disadvantages: Complex Design: The network model can be more complex to design and manage compared to hierarchical models. Query Complexity: Writing queries can be more challenging due to the intricate relationships between nodes. 9) Personal Database A personal database is a type of database designed for use by an individual rather than a group or organization. It is typically used to store and manage personal data on a user's own computer or device. Key Characteristics: Single User: Personal databases are meant for use by a single individual. They are designed to manage data that is relevant to that person’s personal or small-scale needs. Local Storage: The data is usually stored locally on the user’s device, such as a personal computer, smartphone, or tablet. Simplicity: These databases are generally simpler and more user-friendly compared to enterprise databases. They are designed to be easy to set up and use. Advantages: Customizable: Tailored to the specific needs and preferences of the individual user. Easy to Use: Designed to be user-friendly with minimal setup required. Accessible: Data is stored locally and can be accessed without the need for internet connectivity. Disadvantages: Limited Scalability: Not suitable for handling large-scale data or multiple users. Limited Features: May lack advanced features found in more complex database systems used by businesses. 10) Operational Database An operational database is a type of database designed to handle and manage real-time data operations for daily business activities. It supports routine operations and processes that are essential for the functioning of an organization. Key Characteristics: Real-Time Updates: Operates in real-time, meaning that data is created, updated, and managed immediately as transactions occur. Daily Operations: Specifically designed to support the day-to-day activities of a business, such as transaction processing, order management, and customer interactions. High Performance: Optimized for fast and efficient performance to handle large volumes of transactions and queries with minimal delay. Common Uses: 1. Transaction Processing: Managing financial transactions, sales, and inventory updates in retail or banking environments. 2. Order Management: Handling orders, deliveries, and customer service in e-commerce and logistics. 3. Customer Relationship Management (CRM): Storing and managing customer information, interactions, and support in businesses. 4. Enterprise Resource Planning (ERP): Integrating and managing various business processes like accounting, human resources, and supply chain in an organization. Example: Imagine a retail store that uses an operational database to manage daily sales transactions. When a customer makes a purchase: Sales Data Entry: The details of the sale (items purchased, prices, payment method) are entered into the operational database. Inventory Update: The database immediately updates the inventory levels to reflect the items sold. Transaction Record: The sale is recorded in real-time, and the database is updated to keep track of total sales and revenue. In this example, the operational database ensures that the sales transaction is processed and recorded instantly, helping the store to maintain accurate inventory and financial records throughout the day. Advantages: Real-Time Data: Provides immediate access to the most current data, which is crucial for making timely decisions. Efficient Processing: Handles high transaction volumes efficiently, making it suitable for businesses with frequent data operations. Supports Daily Operations: Specifically designed to manage routine business processes and transactions effectively. Disadvantages: Complexity: Requires robust infrastructure and management to ensure smooth operation and performance. Maintenance: Continuous updates and real-time operations can necessitate regular maintenance and monitoring to prevent issues. 11) Enterprise Database Large organizations or enterprises use this database for managing a massive amount of data. It helps organizations to increase and improve their efficiency. Such a database allows simultaneous access to users. Enterprise Database: An enterprise database is a robust and large-scale database system used by large organizations or enterprises to manage and store extensive volumes of data. It is designed to support the complex data needs of large organizations, including handling multiple users, processes, and applications simultaneously. Key Characteristics: Scalability: Capable of managing and scaling to handle massive amounts of data and numerous simultaneous users. Multi-User Access: Supports concurrent access by multiple users, ensuring that many people can interact with the database at the same time without performance degradation. Complex Queries: Handles complex queries and large-scale data operations efficiently. Common Uses: 1. Enterprise Resource Planning (ERP): Integrates various business processes such as finance, HR, and supply chain management within a single system. 2. Customer Relationship Management (CRM): Manages customer interactions, sales, and service across different departments. 3. Data Warehousing: Aggregates data from various sources to support business intelligence and reporting. 4. Business Analytics: Provides tools for analyzing large data sets to inform strategic decision-making. Example: Consider a multinational corporation with multiple departments such as finance, human resources, sales, and supply chain management. Advantages: Supports Multiple Processes: Can handle various processes and operations concurrently, facilitating the smooth functioning of different departments and functions within the organization. Parallel Query Execution: Capable of executing multiple queries at the same time, improving efficiency and performance in accessing and analyzing large data sets. Disadvantages: High Complexity: Managing and maintaining an enterprise database can be complex and requires specialized skills and infrastructure. Cost: Implementation and maintenance can be expensive due to the need for high-performance hardware, software licenses, and ongoing support.