FILE DESIGN/ DATABASE DESIGN
Database design is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which can then be used to create a database. A fully attributed data model contains detailed attributes for each entity.
The term database design can be used to describe many different parts of the design of an overall database system. Principally, and most correctly, it can be thought of as the logical design of the base data structures used to store the data. In the relational model these are the tables and views. In an Object database the entities and relationships map directly to object classes and named relationships. However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the Database Management System or DBMS.
All information systems create, read, update, and delete data. This data is stored in files and databases. A file is a collection of similar records. Examples include a CUSTOMER FILE, ORDER FILE, and PRODUCT FILE. A database is a collection of
interrelated files. A database is not merely a collection of files. The records in each file must allow for relationships to the records in other files. For example, a SALES database might contain order records that are linked to their corresponding CUSTOMER and PRODUCT records.
There is a fundamental difference between the file and database environments. In the file environment, data storage is built around the applications that will use the files. In the database environment, applications will be built around the integrated database.
Advantages and Disadvantages of Conventional Files
In most organizations, many existing information systems and applications are built around conventional files. Conventional files are relatively easy to design and implement becauSe they are normally designed for use with a single application or information system, such as ACCOUNT RECEIVABLE or PAYROLL. If the end user’s output requirements are clearly understood, then the data that will be have to be captured and stored to produced those outputs can be easily determined and the best file organization for those requirements can be defined.
Another advantage of conventional files has been processing speed. They can be optimized for the access of the application. At the same time, they can rarely be optimized for shared use by different applications or systems.
Conventional files also have numerous disadvantages. Duplication of data items in multiple files is normally cites as the principal disadvantage of file-based systems. Files tend to be built around single applications without regard to other applications. Over time, because many applications have common data needs, the common data elements get stored redundantly in many different files. This duplicate data results in duplicate inputs, duplicate maintenance, duplicate storage and possibly data integrity problems. A significant disadvantage of files is their inflexibility and non-scalability. Files are typically designed to support a single application’s current requirements and programs. Future needs such as new reports and queries often require that these files be restructured because the original file structure cannot effectively or efficiently support the new requirements. Thus, the inflexibility and redundancy problems tend to complicate one another.
Advantages and Disadvantages of Databases
The principal advantage of databases is the ability to share the same data across multiple applications and systems. Most organizations build several databases, each one sharing data with several information systems. Thus, there will be some redundancy between databases. However, this redundancy is both greatly reduced and controlled. Database technology offers the advantage of storing data. in flexible formats. This is possible because databases are defined separately from the information systems and application programs that will use them. This allows us to use the data in ways not originally specified by the end users. If the database is well-designed, different combinations of the same data can be easily accessed to fulfill future report and query needs.
Database technology provides superior scalability, that is, the database and the systems that use it can be grown or expanded to meet the changing needs of an organization. Database technology provides better technology for client/server and network computing architectures. Such architectures require that the database run on its own server. Database technology is more complex than file technology. Special software called a database management software (DBMS) is required. It requires a significant investment. The cost of developing databases is higher because analysts and programmers must learn how to use the DBMS.
Another problem with the database approach is the increased vulnerability inherent in the use of shared data. Therefore, backup and recovery and security and privacy.become important issues.
Relational Database Management Systems : There are several types of database management systems. They can be classified according to the way they structure records. Early database management systems organized records in hierarchies or networks implemented with indexes and linked lists. Relational databases implement data in a series of two-dimensional tables that are “related” to one another via foreign keys. Each table consists of named columns and any number of un-named rows.