Database design Concepts assignment
Part A)
Compare and contrast the three phases of database design
Database designing is a combination of stages that are interdependent to each other to facilitate its design, development, implementation of database systems. For good database designs, some phases are followed to achieve the goal of an ideal database. Besides, it helps to have a database that is easy to maintain, cost-effective and facilitate an organized, practical design. Connolly and his friend Begg introduced three development phases which begin with conceptual to logical and end with the physical stage (Connolly & Begg,2005). These phases differ from each other but are interdependent in the designing process.
The first phase, known as conceptualization involves designing a database without any hardware and software resources being needed. This stage, the designer focus is to come up with a model which will be vital for the next step. The model is the first thing to be developed, and it is referred to be the abstract design. The main target of this stage involves describing the data to be stored in the database; the relationship of data stored. Moreover, the constraints on the data are also defined in this phase(Fabregat & Hermjakob,2018). They are hence coming up with a representative structure of the database if changes in the selection of the database management software and hardware, this phase is not affected at all.
The other stage is the logical design which involves taking the designed model in the first stage, and the application of database management system knowledge is used in this stage. The data is, therefore, normalized and testing for its accuracy is conducted. In this phase, there are no physical entities denoted. The output of this stage is model, including an entity-relationship diagram, the relational representation and the documentation. Moreover, the main goal is defining the models for a particular database management system. In this phase, the database engineer uses a whiteboard or a paper to visualize the idea of the logical model (Van Aken, & Zhang,2017).
The last phase, namely the physical design, takes the logical phase output and adds the database management system consigned for the enterprise. Besides, it enables the ability to define physical entities hence the physical layout of the database is described here. The activity involves creating tables, defining relationships and constrains, keys as well as setting up security measures. The phase also involves file organization and the full database structure. The indexing techniques vary from one database vendor to another. The stage is also interdependent to the operating system that carries out the management activities.
Indeed, we can conclude that these phases are dependent on each other hence showing that a successful process would start from the concept to physical design of the database., and later implementation. The three phases act as a guideline for the designer to use to ensure normalization and all the small details are not left out in the process. The steps aim for meeting the user need, hardware platform, the database programming language and performance issues are also considered when developing a database using this methodology of three phases. It should be noted that the design stages define the level of abstraction in the database system.
Part B)
Please explain how the bottom-up design approach differs from the top-down design approach Database development includes using either the bottom-up approach or the top-down bottom according to its complexity. The bottom-up approach begins with essential attributes towards the relationships of those attributes. In contrast, the top-down approach starts with developing models that contain a higher level of entities and relationships towards the lower ones (Keene & Subramaniam,2020).
The bottom-up approach is when transferring a database from one physical database to another. Simultaneously, the other is used when developing a new database at a logical level and later applying the objects to physical database design. For instance, using the bottom-up approach to migrate the Oracle database falls under the relational database management systems to IBM DB2, which needs changes in the data types.
The bottom-up approach modules require interaction between the fundamental attributes for combination purposes while the top-down approach does not require communication. Besides, the bottom-up approach uses the concept of abstraction, which involves hiding the implementation details while sub-models are separately processed (Harrington,2016).
Another key difference is that developers and database administrators utilize bottom-up in testing. Simultaneously, the top-down approach is in debugging the databases, test case creation, and module documentation.
Besides that, the object-oriented programming languages abides with the bottom-up approach, which means the database is or around objects rather than logic. In contrast, the procedural programming languages which utilize routines and functions follow the top-down approach. Examples of these object-oriented languages include python and C#, while the C and COBOL are procedural programming languages.
The bottom-up approach begins with data while top-bottom deigns with the database’s visualization, thus suitable for complex databases (Zahorjanski & Veljovic,2011). Therefore, data redundancy is minimal in bottom-up, while top-down can generate data redundancy.
The bottom-up approach’s main idea is to ensure that the database is correct technically, and data integrity is the priority, while in the bottom-up, the main aim is to abide by the business rules and be customer-oriented. The top-down approach has its business awareness in the first phases. Lastly, we can conclude that both have their disadvantages and benefits; therefore, their application is dynamic.
Which approach do you believe should be used to design a simple database with a relatively small number of attributes, and why?
The bottom-up approach is suitable when designing simple databases since it’s easier to manage a small number of attributes or objects. The course will provide simplicity and fast development since there is no complexity in a remote database. The ability to make decisions and implement them quickly provides the advantage of this approach, saving cost and time spent in a simple database development phase.
The bottom-up approach also covers the aspect of normalization, which involves ensuring that the database is free from data redundancy. Besides, it checks across the objects or entities defined and their relationships. This method works well in developing small data, and it is recommendable as the best method for building databases that have no much complexity.
References
Connolly, T. M., & Begg, C. E. (2005). Database systems: a practical approach to design,
Fabregat, A., Korninger, F., Viteri, G., Sidiropoulos, K., Marin-Garcia, P., Ping, P., … & Hermjakob, H. (2018). Reactome graph database: Efficient access to complex pathway data. PLoS computational biology, 14(1), e1005968.implementation, and management. Pearson Education.
Harrington, J. L. (2016). Relational database design and implementation. Morgan Kaufmann.
Keene, D. J. B., & Subramaniam, R. (2020). Duplex systems: Top-down or bottom-up approach? Journal of Pediatric Urology.
Van Aken, D., Pavlo, A., Gordon, G. J., & Zhang, B. (2017, May). Automatic database management system tuning through large-scale machine learning. In Proceedings of the 2017 ACM International Conference on Management of Data (pp. 1009-1024).
Zahorjanski, M., Benkovic, S., & Veljovic, A. (2011). Concept of analytical databases in the creation of the financial business strategy of a company. Metalurgia International, 16(10), 105.