Conceptual Model
First of all, it is a sad fact that there are no standards in the database world. Different persons tend to have different words for the same concept, and also mean different concepts with the same word. Having said that, let's define the meaning of this lecture's concepts.
A conceptual model is a model of the reality. It is in no way a model of things in a database, but instead describes the parts of the reality that are to be stored in the database. The conceptual model is the first type of entity-relation diagram (also called ER diagram or ERD) introduced in the course. ER diagram is a term used for all types of database models.
Reading
- Chapter three in Fundamentals of Database Systems.
- Optional: sections 6.1-6.4 in Database System Concepts.
1. How to Create a Domain Model (from Object-Oriented Design, IV1350)
Much is written about conceptual models, but but most of what's written tells just what a conceptual model is, and what symbols to use when drawing it. It is very hard to find anything similar to a method describing how to create such a model. Therefore, as a first introduction to modelling, we take a look at a method to create a domain model when writing a program.
Note the difference here. A domain model is a model of the reality used when programming, and a conceptual model is a model of the reality used when designing a database. You never create a domain model when designing a database. These two models do, however, have very much in common. When creating the conceptual model, it will be of great help to have understood the method used, and the reasoning done, when creating the domain models in the videos below. That is the reason for presenting this section on domain modelling.
Another thing to consider is which symbols to use in the model. If we want other people to understand the diagrams that make up our model, we have to use standardized symbols. The domain model below is made with UML, which is introduced in the first video below. The diagrams are created with astah, see Software.
- Introduction to UML (in Swedish) Remember that the video was recorded for another course, ignore everything that is said about the course, for example about assignments.
UML, the relevant part of the video is at 00:28-20:47 Links to an external site.
Content
00:28 Vad är UML?
02:17 Att skapa ett diagram i astah
03:46 Klassdiagram
04:34 Attribut i klassdiagram
08:24 Associationer i klassdiagram
13:21 Noter i klassdiagram
15:04 Övning 1 på klassdiagram
17:35 Övning 2 på klassdiagram
Here is the astah project that was created in the video, uml-intro.asta
Download uml-intro.asta
- How to create a domain model (in Swedish) Remember that the videos were recorded for another course, ignore everything that is said about the course, for example about assignments.
Domain model, part 1
Links to an external site.
Content
00:00 Vad är analys?
03:12 Vad är en domänmodell?
07:50 Steg 1, substantividentifikation
11:32 Steg 2, kategorilista
29:05 Steg 3, ta bort onödiga klasser
Domain model, part 2, ignore the part on typical misstakes from 35:00 to the end
Links to an external site.
Content
00:00 Steg 4, attribut
21:13 Steg 5, associationer
Here is the astah project that was created in the videos, analys.asta
Download analys.asta
- The book that is mentioned in the videos is available at http://leiflindback.se/iv1350/object-oriented-development.pdf Links to an external site.. The relevant sections are 4.1 and 4.2, but reading the book is optional; it is sufficient to understand what is said in the videos.
2. More Diagram Symbols
The domain models above used UML, and it is perfectly fine to use UML also for the conceptual model. However, as was mentioned above, there are no standards in the database world. There are in fact many different sets of diagram symbols. You can find a quite nice description of Entity-Relation (ER) diagram symbols, and of tools that can be used for drawing, on this page Links to an external site.. You are not meant to read about them all, the link is there just to give an idea of different standards. The conceptual model examples in the next section are drawn with IE notation (as far as supported by astah), which is a very commonly used notation. It is (more or less) supported by both astah, Lucidchart and MySQL Workbench, but not by draw.io. You are allowed to use any notation you wish in the project, as long as it can be understood.
Here is an introduction to the IE notation
IE notation
Links to an external site.
Content
00:00
Links to an external site. Intro to the lecture
00:05
Links to an external site. Diagram editors
01:43
Links to an external site. Different notations used in conceptual models
03:25
Links to an external site. Creating a diagram in astah
04:52
Links to an external site. Entities
05:32
Links to an external site. Attributes
11:43
Links to an external site. Relations
17:03
Links to an external site. Identifying and non-identifying relations
19:04
Links to an external site. Inheritance
23:38
Links to an external site. Business rules
Here is an astah project with the diagram created in the video above, ie-notation.asta Download ie-notation.asta.
Here is an image of the same diagram, IENotation.png Download IENotation.png.
3. Conceptual Model Examples
There is quite a lot of thinking and trying different options in these videos. That is left on purpose, to illustrate the reasoning that must be done when modelling. It might, however, be a good idea to increase the speed when watching the videos.
Conceptual model, part 1
Links to an external site.
Content
00:00
Links to an external site. Intro to the lecture
00:13
Links to an external site. Definition of conceptual model
00:55
Links to an external site. Repetition of domain modelling method
02:45
Links to an external site. Conceptual modelling method
05:24
Links to an external site. Conceptual model exercise
07:04
Links to an external site. Step 1: noun identification
09:57
Links to an external site. Step 2: category list
20:00
Links to an external site. Step 3: remove unnecessary entities
22:05
Links to an external site. Step 4: find attributes
Conceptual model, part 2
Links to an external site.
Content
00:00 Links to an external site. Conceptual modelling, step 5: find relations
Here is the presentation that was used in the video above, conc-mod.pdf Download conc-mod.pdf.
Here is an astah project with the diagram created in the videos above, conc-mod.asta Download conc-mod.asta.
Here is an image of the same diagram, ConceptualModel.png Download ConceptualModel.png.