ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Database Systems
    COMP2114
    Progress0 / 34 topics
    Topics
    1. Basic Database Concepts2. Database Approach vs File Based System3. Database Architecture4. Three Level Schema Architecture5. Data Independence6. Relational Data Model7. Attributes8. Schemas9. Tuples10. Domains11. Relation Instances12. Keys of Relations13. Integrity Constraints14. Relational Algebra15. Selection in Relational Algebra16. Projection in Relational Algebra17. Cartesian Product in Relational Algebra18. Types of Joins19. Normalization20. Functional Dependencies21. Normal Forms22. Entity-Relationship Model23. Entity Sets24. Attributes in Entity-Relationship Model25. Relationship in Entity-Relationship Model26. Entity-Relationship Diagrams27. Structured Query Language (SQL)28. Joins in SQL29. Sub-Queries in SQL30. Grouping and Aggregation in SQL31. Concurrency Control32. Database Backup and Recovery33. Indexes34. NoSQL Systems
    COMP2114›Database Approach vs File Based System
    Database SystemsTopic 2 of 34

    Database Approach vs File Based System

    7 minread
    1,105words
    Intermediatelevel

    Database Approach vs File-Based System

    The database approach and the file-based system are two different methods for storing and managing data. Both have their advantages and drawbacks, and the choice between them depends on the specific needs of an application or organization. Here's a detailed comparison:


    1. File-Based System

    In a file-based system, data is stored in files and typically managed using conventional file management systems (such as operating system file systems like NTFS or FAT). These files could be in various formats, such as text files, spreadsheets, or other formats like CSV or JSON.

    Characteristics of File-Based Systems:

    • Data Storage: Data is stored in separate, individual files, and each file typically has its own format.
    • Data Access: To access or manipulate data, the application has to read or write to the file directly. This often requires custom code to manage file formats and perform operations.
    • Data Duplication: In many cases, the same data may be stored in multiple files, leading to redundancy and inefficiency.
    • Lack of Data Integrity: Since there is no central control over how data is managed across multiple files, it can be difficult to ensure data consistency and integrity.
    • Limited Data Security: Security measures are often limited to file system access permissions, and the integrity of data is not guaranteed, especially in multi-user environments.
    • Difficulty in Data Sharing: Sharing data between different files or systems is complex, as each application may need to handle different file formats and structures.

    Example:

    In a file-based system, a company might store employee data in a text file:

    employee_data.txt
    ------------------------------------------------
    EmployeeID, Name, Age, Department
    101, John, 30, HR
    102, Sarah, 25, IT
    

    And another file for payroll data:

    payroll_data.txt
    ------------------------------------------------
    EmployeeID, Salary, Bonus
    101, 50000, 5000
    102, 60000, 6000
    

    If these files need to be linked or queried together, the system must implement manual operations, such as reading both files, matching EmployeeIDs, and performing the required computations.


    2. Database Approach

    In a database approach, a Database Management System (DBMS) is used to store, manage, and manipulate data. Data is stored in structured formats (usually in tables), and a DBMS provides tools for querying, updating, and managing data in a centralized way.

    Characteristics of Database Approach:

    • Centralized Data Management: Data is stored in a central database, which can be accessed and managed through a DBMS. The DBMS ensures that the data is consistent, secure, and available.
    • Data Integrity: A DBMS enforces integrity constraints (such as primary keys, foreign keys, and unique constraints) to maintain the consistency and accuracy of data.
    • Redundancy Control: A well-designed database minimizes redundancy by using normalization techniques. Data is stored efficiently, reducing unnecessary duplication.
    • Data Security: Databases provide more advanced security features than file systems. This includes user access control, encryption, and backup systems to protect data.
    • Querying and Reporting: The Structured Query Language (SQL) is used to interact with the database. SQL allows users to perform complex queries, join data across tables, and generate reports without having to manage the underlying file structures manually.
    • Concurrency Control: The DBMS ensures that multiple users can access and modify the data simultaneously without causing conflicts or data corruption.
    • Data Independence: A DBMS abstracts the storage details of the data, meaning that applications don't need to worry about how data is stored, only how it is accessed.

    Example:

    In a database approach, the data could be organized into multiple tables, like this:

    • Employees Table

      EmployeeID Name Age DepartmentID
      101 John 30 1
      102 Sarah 25 2
    • Departments Table

      DepartmentID DepartmentName
      1 HR
      2 IT
    • Payroll Table

      EmployeeID Salary Bonus
      101 50000 5000
      102 60000 6000

    In this case, the database system would allow you to join these tables together to get information about an employee's department and payroll, using SQL:

    SELECT Employees.Name, Departments.DepartmentName, Payroll.Salary
    FROM Employees
    JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID
    JOIN Payroll ON Employees.EmployeeID = Payroll.EmployeeID;
    

    Key Differences Between File-Based System and Database Approach:

    Aspect File-Based System Database Approach
    Data Storage Data stored in separate files. Data stored in a centralized database.
    Data Access Custom code needed for accessing and managing data. Uses DBMS with query languages like SQL.
    Data Redundancy Data redundancy is common. DBMS minimizes redundancy using normalization.
    Data Integrity Limited control over data consistency. DBMS enforces integrity constraints (e.g., primary keys, foreign keys).
    Security Basic file permissions for security. Advanced security features such as access control, encryption, and backup.
    Data Sharing Difficult to share and combine data across files. Data can be easily shared and combined using relational queries.
    Concurrency Control File locks for concurrency control, if supported. DBMS provides built-in concurrency control (transactions).
    Backup and Recovery Backup and recovery are manual and less efficient. Automatic backup and recovery mechanisms in DBMS.
    Scalability Difficult to scale as data grows. DBMS is designed to scale with large amounts of data.
    Data Independence Applications depend on the file format. Data independence through abstraction by the DBMS.

    Advantages of the Database Approach over File-Based System:

    1. Improved Data Integrity and Consistency: The DBMS enforces rules (like constraints and data types) to ensure that data is accurate and consistent.
    2. Reduced Redundancy: Data duplication is minimized, and data is efficiently stored and accessed.
    3. Easier Data Retrieval: SQL allows for easy and complex querying, which is often much harder in file-based systems.
    4. Better Security: DBMSs provide robust user management, access control, and encryption.
    5. Concurrency and Multi-User Access: DBMSs allow multiple users to access and modify data simultaneously without conflicts.
    6. Automatic Backup and Recovery: DBMSs include tools for backing up data and recovering it in case of failure.

    Disadvantages of the Database Approach over File-Based System:

    1. Complexity: Setting up and maintaining a DBMS can be complex, requiring specialized knowledge and skills.
    2. Overhead: The DBMS adds some overhead due to its additional features like query optimization, data integrity enforcement, and concurrency control.
    3. Cost: Some DBMSs, especially commercial ones, can be expensive in terms of licensing, hardware, and maintenance.

    When to Use Each:

    • File-Based System: Best for small-scale applications with limited data management needs, such as simple data logging, personal file storage, or when working with non-structured data (e.g., text files, CSV).
    • Database Approach: Ideal for applications with larger datasets, multiple users, complex relationships between data, and where data integrity, security, and scalability are important. Examples include enterprise applications, e-commerce platforms, financial systems, etc.

    In summary, while the file-based system is simpler and may be sufficient for smaller, less complex applications, the database approach offers more powerful, scalable, and secure data management, making it the preferred choice for larger and more complex systems.

    Previous topic 1
    Basic Database Concepts
    Next topic 3
    Database Architecture

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time7 min
      Word count1,105
      Code examples0
      DifficultyIntermediate