Describe the limitations of file-processing systems. How do database systems make it possible to overcome these limitations?
File processing systems store data in separate files and use custom programming code to read, write, and manipulate records in these files. These systems lack data integrity since the physical separation of data can create inconsistencies in the form of redundancy (i.e., duplication of data) and outdated or incomplete data. The dependence on custom programming code and a programmer’s documentation of the code creates potential problems if changes in business rules require updates and redesign. Databases solve this problem by keeping related data integrated and as a separate platform providing independence of data from the program that consumes the data. Programs can request and retrieve data through data views that are controlled by the database since a well-designed database can expose only necessary information to the client program preventing unauthorized data access. Existence of databases creates the possibility for the three-schema architecture (ANSI/SPARC) because users are now insulated from the physical location of the data and the underlying hardware. This separation creates physical and logical data independence among users immune to the changes in underlying data structures and hardware providers.