by Giselle N
The article I read this week was about how data modeling can best be taught to students. The two main methods the authors focused on were Entity relationship (ER) modeling and the Unified Modeling Language (UML). The article talks about the history of ER modeling, which essentially came before the object oriented “movement,” when UML was created. First and foremost, it is important to know exactly what data modeling is and the authors describe it as the following, “data models are concerned with what data is required and how that data should be organized as the gap between reality and a database representation is bridged. It is helpful to think of a data model as a blueprint for the construction of a database.” The authors go on to talk about each method individually stating the advantages and disadvantages. One of the advantages of ER modeling is that it is easily understood in the sense that there is really no training required for understanding a model between users and designers. Also, since the ER model becomes a very similar representation of relational database tables and other mathematical reinforcements, it can easily be transformed into a database. However, one of the main disadvantages the authors talk about is, “The inability to recognize which facts become characteristics of which entity creates confusion in database designers and therefore increases the difficulty of creating a model that mirrors the users’ perceptions of reality.” They go on to say that the ER model is actually supposed to make this part easier, but instead falls short and is one of the hardest parts for a beginner to recognize and put together. The UML is obviously used more to develop large systems using object oriented programming languages. The diagrams that are made from the UML are many, but the one more generally used for data modeling is the class diagram, which shows classes, variables, operations, and associations with other classes in the model. The class diagram is closely related to the ER model and so it is used for data modeling. Now, for the issue at heart, which is better? The authors discuss several papers in which they conclude many things. One discusses how UML was made as an addition to ER modeling. Another goes on to say that both techniques should be taught, but separately, and that neither exactly explains everything. Another notes that UML is better understood by students so long as the have had a course in OO programming and database design before. Also, one argues that ERD is less useful because it is limited to database design as where UML can incorporate both system analysis and database design. Lastly, a study performed on IS undergraduate students, found that UML is becoming less popular to use and teach for both students and professors. In conclusion, the authors did not find a distinct answer on which method is better teach, but did discover that the bigger problem is most likely between system analysts and database designers. However they did agree that students must learn the basics, like mathematics, before mastering the bigger problems. “IT students must master the components taken individually to form a basis that can grow as new knowledge is gained.”
I personally agree with several points of this article. I have taken OO programming and OO system analysis and design, so I am familiar with the UML method. I do believe UML is like an extension of ER modeling, just because when we were learning about it last week, I was already familiar with most all the terms and components. However, I do believe ER can be a lot more specific. Because I am not that familiar with the ER model, it is still hard to say which one is more effective or which one I prefer. I do believe, like one of the authors said, that both techniques should definitely be taught and that they should be taught separately. From there, the students can decide which one will be more beneficial to them, whether they are designing a system or database.
Chilton, M. A., McHaney, R., & Chae, B. (2006). Data modeling education: The changing technology. Journal of Information Systems Education, 17(1), 17-20. Retrieved from http://search.proquest.com/docview/200168756?accountid=10357