- Learning PostgreSQL 11
- Salahaldin Juba Andrey Volkov
- 355字
- 2021-07-02 13:11:40
The entity-relation model
The entity-relation (ER) model falls into the conceptual data model category. It captures and represents the data model for both business users and developers. The ER model can be transformed into the relational model by following certain techniques.
Conceptual modeling is a part of the software development life cycle (SDLC). It is normally done after the functional and data requirement-gathering stage. At this point, the developer is able to make the first draft of the ER diagram as well as describe functional requirements using data flow diagrams, sequence diagrams, user stories, and many other techniques.
During the design phase, the database developer should give great attention to the design, run a benchmark stack to ensure performance, and validate user requirements. Developers modeling simple systems could start coding directly. However, care should be taken when making the design, since data modeling involves not only algorithms in modeling the application but also data. The change in design might lead to a lot of complexities in the future such as data migration from one data structure to another.
While designing a database schema, avoiding design pitfalls is not enough. There are alternative designs where one could be chosen. The following pitfalls should be avoided:
- Data redundancy: Bad database designs elicit redundant data. Redundant data can cause several other problems, including data inconsistency and performance degradation. When updating a tuple that contains redundant data, the changes on the redundant data should be reflected in all the tuples that contain this data.
- Null saturation: By nature, some applications have sparse data, such as medical applications. Imagine a relation called diagnostics, which has hundreds of attributes for symptoms such as fever, headache, sneezing, and so on. Most of them are not valid for certain diagnostics, but they are valid in general. This could be modeled by utilizing complex data types such as JSON.
- Tight coupling: In some cases, tight coupling leads to complex and difficult-to-change data structures. Since business requirements change with time, some requirements might become obsolete. Modeling generalization and specialization (for example, a part-time student is a student) in a tightly coupled way may cause problems.
- 無代碼編程:用云表搭建企業數字化管理平臺
- HTML5+CSS3網站設計教程
- JavaScript:Moving to ES2015
- Oracle GoldenGate 12c Implementer's Guide
- Visual C#.NET Web應用程序設計
- Xcode 6 Essentials
- Python預測之美:數據分析與算法實戰(雙色)
- Elasticsearch Blueprints
- Python數據科學實踐指南
- Visual C++程序設計全程指南
- Leaflet.js Essentials
- Learning Ext JS(Fourth Edition)
- Activiti權威指南
- Visual C++.NET(2008)典型案例
- 可信軟件基礎研究