In: Computer Science
DATABASE DESIGN & FACTORS THAT INFLUENCE THE DESIGN
A database is an organized collection of structured data, typically stored electronically in a computer system, with an objective of reducing the redundancy. A database is usually controlled by a database management system (DBMS).
Database design is the process of organization of data according to a database model. A database model determines the logical structure and the manner in which data can be stored, organized and manipulated of a database. Important logical database models include relational, network, hierarchical, object-relational, etc.
During the database design, the designer determines what data must be stored and how the data elements relate to each other. With this information, the database designer can begin to fit the data to the database model selected. Database management system suitable for managing the selected data model manages the data accordingly.
THE PROCESS OF DESIGNING A DATABASE
The process of designing a database includes the following basic steps:
Requirements Gathering: During requirements gathering, the database designers have to interview the database users to understand the proposed system and obtain and document the data and functional requirements. The result of this step is a formal agreement, called data requirements document, signed representatives of users as to what data they want to store along with the meaning and interpretation of the data elements.
Analysis: The aim of analysis is to obtain a detailed description of the data that will suit user requirements. Data analysis begins with the statement of data requirements and then produces a conceptual data model that provides a shared, formal representation of the meaning and structure of data. The conceptual data model then is a formal representation of what data a database should contain and the constraints the data must satisfy.
Logical Design: Logical design starts with a conceptual data model and produces a specification of a logical schema that determine the specific type of database system (network, relational, object-oriented) that is required. A relational representation of the conceptual data model as input to the logical design process and the output of this stage is a detailed relational specification, the logical schema, of all the tables and constraints needed to satisfy the description of the data in the conceptual data model. During the logical design, the choices are made as to which tables are most appropriate for representing the data in a database by considering various design criteria including, flexibility for change, control of duplication and how best to represent the constraints.
Implementation: Implementation involves the construction of databases according to the specification of a logical schema. This will include the specification of an appropriate storage schema, security enforcement and external schema. Implementation is heavily influenced by the choice of available DBMSs, database tools and operating environment. The implementation includes additional tasks like entry of data into the tables and the activities related to database management.
INTERNAL FACTORS THAT INFLUENCE THE DESIGN CHOICES OF A DATABASE
The database design process does not confines itself to appropriate structuring of data in storage, it aims a design that guarantees good performance. For a given conceptual schema, there are many physical design alternatives in a given DBMS. The internal factors that affect the design of database include:
· Information about the mix of queries, transactions, and applications that are expected to run on the database.
· Information on expected frequency of invocation of queries and transactions.
· Information on time constraints of queries and transactions.
· Information on expected frequencies of update operations.
· Usability in terms of user-friendliness of the system
· Visualization & reporting requirements of the clients
· Security requirements of the of the data
· Functionality in terms of conformity to the user requirements
· Integration in terms of how well the proposed system integrate with
· Does the system you are considering integrate with the existing software in the organization
· Scalability in terms of the capacity of the database to grow with your data and your business
· Cost and Suitability to the client application
· Whilst cost is obviously a factor in any business expenditure, it is wise to ensure that – as far as possible – your decision is based on the software being fit for purpose.
· Hosting decisions that determines where the system will be physically placed.
· Suitability for updates
EXTERNAL FACTORS THAT INFLUENCE THE DESIGN CHOICES OF A DATABASE
Standards: Standards are common practices that ensure the consistency and effectiveness of the database environment, such as database naming conventions. Conformity to standards are needed for inter and intra database communications.
Practices: Database design practices like normalization requirements, database structure transparency requirements, data base constraints and integrity requirements, documentation requirements, planning requirements, back-up requirements, privacy and security requirements, etc., will influence the database design process
Regulatory requirements: The database design must conform to the regulatory requirements, the privacy, security and ethical factors in particular.