4 - Conceptual Modeling
4 - Conceptual Modeling
Conceptual Modeling
School of Computing and Information Technology -
University of Wollongong
Conceptual Modeling
Outline
Methodology
Example 1
Example 2
Example 3
Example 4
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 2/39
Methodology
Input: Specification of the requirements (usually a natural language
description of a database domain)
Tools: Object Modeling graphical notation
Methods: Systematic transformation of individual components of
specification of requirements into the components of Object Modeling
notation
Output: Conceptual schema - simplified object class diagram
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 3/39
Methodology
The transformations of specifications are performed in the following
sequence of steps:
- Step 1: Creating classes of objects
- Step 2: Creating associations and association classes
- Step 3: Creating attributes and link attributes
- Step 4: Creating identifiers
- Step 5: Creating qualifications
- Step 6: Creating generalizations
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 4/39
Conceptual Modeling
Outline
Methodology
Example 1
Example 2
Example 3
Example 4
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 5/39
Example 1
An objective is to create a conceptual schema of a small database that
contains information about employees and projects
A detailed specification is the following:
- A group of employees works on the projects
- Some of employees supervise other employees
- An employee is described by an employee number and their full name
- A project is described by a project title, completion date and budget
- Employees are identified by their employee numbers and projects are identified
by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 6/39
Example 1
Step 1: Creating classes of objects
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 7/39
Example 1
Step 2: Creating associations and association classes
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 8/39
Example 1
Step 3: Creating attributes and link attributes
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 9/39
Example 1
Step 4: Creating identifiers
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 10/39
Example 1
Step 5: Creating qualifications
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 11/39
Example 1
Step 6: Creating generalizations
A group of employees works on the projects. Some of employees
supervise other employees. An employee is described by an employee
number and full name. A project is described by a project title,
completion date and budget. Employees are identified by their
employee numbers and projects are identified by the titles
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 12/39
Conceptual Modeling
Outline
Methodology
Example 1
Example 2
Example 3
Example 4
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 13/39
Example 2
An objective is to create a conceptual schema of a small database that
contains information about publications such as journals and
conference proceedings, published research papers and authors
A detailed specification is the following:
- A publishing company publishes the journals and conference proceedings
- The research papers are included in the journals and proceedings
- The company employs the general editors who take responsibility for editing
the research papers
- A research paper is written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 14/39
Example 2
Step 1: Creating classes of objects
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 15/39
Example 2
Step 2: Creating associations and association classes
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 16/39
Example 2
Step 3: Creating attributes and link attributes
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 17/39
Example 2
Step 4: Creating identifiers
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 18/39
Example 2
Step 5: Creating qualifications
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 19/39
Example 2
Step 6: Creating generalizations
A publishing company publishes the journals and conference
proceedings. The research papers are included in the journals and
proceedings. The company employs the general editors who take
responsibility for editing the research papers. A research paper is
written by one or more authors
Journal, proceedings IS-A publication
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 20/39
Conceptual Modeling
Outline
Methodology
Example 1
Example 2
Example 3
Example 4
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 21/39
Example 3
An objective is to create a conceptual schema of a small database that
contains information about the construction companies and buildings
built by the companies
A detailed specification is the following:
- A group of construction companies is involved in the construction of industrial
buildings
- A building is located at a different address, it has a unique name and
completion date
- A number of construction stages apply to each building
- A construction stage is described by its name, the names of the construction
companies involved together with the start date, completion date and the total
costs
- A construction company is usually involved in many construction stages of the
same building
- Many construction companies are involved in one construction stage
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 22/39
Example 3
Step 1: Creating classes of objects
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 23/39
Example 3
Step 2: Creating associations and association classes
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 24/39
Example 3
Step 2 (improved): Creating associations and association classes
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
If a company is involved in a construction stage that applies to a building
then such company is involved in construction of the building
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 25/39
Example 3
Step 2 (improved): Creating associations and association classes
It means that we do not need an association Involved-in bettwen the
classes COMPANY and BUILDING because such association can be
derived from the other two associations
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 26/39
Example 3
Step 3: Creating attributes and link attributes
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 27/39
Example 3
Step 4: Creating identifiers
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
What we know about the reality is that construction companies have
unique names
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 28/39
Example 3
Step 5: Creating qualifications
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
What we also know about the reality is that a construction stage of a
building starts once at a given moment in time
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 29/39
Example 3
Step 6: Creating generalizations
A group of construction companies is involved in the construction of
industrial buildings. A building is located at a different address, it has a
unique name and completion date. A number of construction stages
apply to each building. A construction stage is described by its name, the
names of the construction companies involved together with the start
date, completion date and the total costs. A construction company is
usually involved in many construction stages of the same building. Many
construction companies are involved in one construction stage
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 30/39
Conceptual Modeling
Outline
Methodology
Example 1
Example 2
Example 3
Example 4
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 31/39
Example 4
An objective is to create a conceptual schema for a database domain
described by the following poem for kids
"Caterpillar"
by Christina Rossetti
Brown and furry
Caterpillar in a hurry,
Take your walk
To the shady leaf, or stalk,
Or what not,
Which may be the chosen spot.
No toad spy you,
Hovering bird of prey pass by you;
Spin and die,
32/39
Example 4
Step 1: Creating classes of objects
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 33/39
Example 4
Step 2: Creating associations and association classes
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 34/39
Example 4
Step 3: Creating attributes and link attributes
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 35/39
Example 4
Step 4: Creating identifiers
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 36/39
Example 4
Step 5: Creating qualifications
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 37/39
Example 4
Step 6: Creating generalizations
Brown and furry Caterpillar in a hurry Take your walk To the shady leaf,
or stalk, Or what not, Which may be the chosen spot. No toad spy you,
Hovering bird of prey pass by you; Spin and die, To live again a butterfly.
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 38/39
References
C. Coronel, S. Morris, A. Basta, M. Zgola, Data Management and Security,
Chapters 3 and 4, Cengage Compose eBook, 2018, eBook: Data
Management and Security, 1st Edition
T. Connoly, C. Begg, Database Systems, A Practical Approach to Design,
Implementation, and Management, Chapter 16 Methodology -
Conceptual Database Design, Pearson Education Ltd, 2015
How to ... ? Cookbook, How to use UMLetlet for conceptual modeling ?
Recipe 2.1 How to create very simple conceptual schemas with UMLetlet
?
How to ... ? Cookbook, How to use UMLetlet for conceptual modeling ?
Recipes 2.2, 2.3, and 2.4 How to do design a conceptual schema with
UMLetlet (Design 1, 2, and 3) ?
TOP Created by Janusz R. Getta, CSIT115/CSIT815 Data Management and Security, Summer 2020/2021 39/39