SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Short course on using Visio 2016 to create an Entity Relationship Diagram (ERD). Covers entities, attributes and relationships: 1 to 1, 1 to many, many to many and recursive.
Short course on using Visio 2016 to create an Entity Relationship Diagram (ERD). Covers entities, attributes and relationships: 1 to 1, 1 to many, many to many and recursive.
1.
VIS201D Visio Database Digramming 1
An introduction to Visio database diagramming
for analysts and IT professionals
P.O. Box 6142
Laguna Niguel, CA 92607
949-489-1472
http://www.ocdatabases.com
Welcome to VIS201D – Visio
Database Diagramming
Bookstore2
2.
VIS201D Visio Database Digramming 2
Visio Database Diagramming
• Introduction (s)
• Facilities
• Course Packet (contents may vary)
– Student questionnaire
– Collaterals (Maps, Catalogs, Etc.)
– PowerPoint handouts
– Evaluation form
– Training certificate
Bookstore2
3.
Bookstore2 VIS201D Visio Database Digramming 3
VIS201D Contact Information
P.O. Box 6142
Laguna Niguel, CA 92607
949-489-1472
http://www.ocdatabases.com
slides.1@ocdatabases.com
Copyright 2017. All rights reserved.
4.
VIS201D Resources
• Bookstore database scripts found on
box.net at
http://tinyurl.com/SQLScripts
• Slides can be viewed on SlideShare…
http://www.slideshare.net/OCDatabases
• Follow up questions?
support@ocdatabases.com
Bookstore2 VIS201D Visio Database Digramming 4
5.
Visio Database Diagramming
• Entity Relationship Diagrams (ERD’s)
• Relational Databases
• Entities
• Attributes
• Relationships
– 1 to many
– Many to many
– 1 to 1
– Recursive
– IS-a (subtypes)
Bookstore2 VIS201D Visio Database
Digramming
5
6.
VIS201D Visio Database Digramming 6
Visio Database Diagramming
• Course focus is using Visio to create an
ERD (Entity Relationship Diagram)
• Widely used for:
– Database development
– Database administration
• ERD’s are a foundation skill for work in
the Database field much like SQL
Bookstore2
7.
VIS201D Visio Database Digramming 7
Visio Database Diagramming
• A basic knowledge of relational databases,
perhaps via MS Access, or some
programming knowledge, is desirable
Bookstore2
8.
VIS201D Approach
• Create a complete ERD
– In this class using Visio; another class uses
Lucidchart on-line tool
• Step-by-step
• Use same bookstore database used in our
SQL classes
VIS201D Visio Database
Digramming
8Bookstore2
9.
VIS201D Visio Database Digramming 9
Relational Database Evolution
• Based on Codd’s paper
• Early commercial efforts focused on Unix
• First mainframe implementation by IBM -
precursor to today’s DB2
• First PC implementation in early 80’s by
Oracle
Bookstore2
11.
Database Design Models
(Entity Relationship Diagrams)
VIS201D Visio Database Digramming 11
We will start here
Bookstore2
12.
Logical ERD Development
• Create entities
– Add attributes (fields)
– Set attribute properties (PK, FK, required)
• Draw the relationships from the parent
tables to the child tables
VIS201D Visio Database Digramming 12Bookstore2
13.
ERD Development
• We will use the bookstore database used in our
SQL classes for our examples
• At this time we will just create two tables
– Customers
– Orders
• Although a little odd we will stick with the field
names used by the author
• These two tables are in a one-to-many
relationship
VIS201D Visio Database Digramming 13Bookstore2
14.
VIS201D Visio Database Digramming 14
ERD Drawing Tools
• Embarcadero
• ER-WIN
• Visio (used in this class)
• Oracle Designer
• Many others
(Note: most tools use the crows-foot or similar model.)
Bookstore2
16.
Start the Visio Drawing
• Start Visio and
select software
and databases
• Use the crow’s
foot notation
• Save your
drawing
VIS201D Visio Database Digramming 16Bookstore2
17.
Initialize the Customer Entity
• Drag an entity
shape to the
drawing surface
• Zoom in to give
yourself some
working room
• Note by default
it set the 1st
attribute as the
primary key
VIS201D Visio Database Digramming 17Bookstore2
18.
VIS201D Visio Database Digramming 18
Attributes
Customer entity
Customer
_numb
Customer_first_name Customer_last_name
12 Al Le
13 Bobby Jones
14 Carol Gomez
15 Hank Tartanian
166 Mary Park
167 Nancy Bocage
attributes
values
Bookstore2
19.
Add remaining attributes
• Drag an
attribute shape
to the drawing
surface, or
• Click insert
attribute
VIS201D Visio Database Digramming 19Bookstore2
20.
VIS201D Visio Database Digramming 20
Keys
• Derived from entity identifier
• One or more attributes (more = composite key)
• Uniquely determine a row
• Functionally determine an entire row’s
attributes
Bookstore2
21.
Set attribute properties
• Mark any
attribute
properties such
as required or
primary key
• In our example
we only have
one required
field. This may
or may not be
realistic for
your databases.
VIS201D Visio Database Digramming 21Bookstore2
22.
Add Orders Entity
• Conventions
used:
– Entity name in
caps
– Underline pk’s
– Italicize fk’s
– Bold required
fields
• Not necessary,
really, but can
be used to
create a sort of
text ERD
VIS201D Visio Database Digramming 22
• ORDERS
• Attributes (fields):
– Order_numb
– Customer_numb
– Order_date
– Credit_card_numb
– Order_filled
– Credit_card_exp_date
Bookstore2
23.
Orders Entity
• Follow steps
used for
customers entity
• Note
customer_numb
marked as FK
(foreign key)
VIS201D Visio Database Digramming 23Bookstore2
24.
Relationship Properties
VIS201D Visio Database Digramming 24
Has /
Belongs toEmployee Dependents
1 N
Degree
Cardinality
Optionality
Bookstore2
26.
Create initial relationship
• Pin one side to
customers
• Drag crows foot
to orders
VIS201D Visio Database Digramming 26Bookstore2
27.
Create relationship
• Adjust
relationship
properties
– End size
– End symbols
– Line thickness
• Add titles,
colors, etc.
• This completes
the logical ERD
VIS201D Visio Database Digramming 27Bookstore2
28.
Annotate relationship
• Annotate the
relationship if
desired
• Use two
phrases, one for
each direction
VIS201D Visio Database Digramming 28Bookstore2
29.
VIS201D Visio Database Digramming 29
Physical Database Design
• Expand logical model with attribute
properties
• Translate model to the Database
– Entities -> tables
– Establish primary & foreign keys, indexes
– Many-to-many relations ->Junction tables
– Business rules -> triggers, constraints, etc.
• Typically done with a “CASE” tool
Bookstore2
30.
Add attribute properties column
• Right click on
the table
• Select show
attributes to add
an attribute
properties
column
VIS201D Visio Database Digramming 30Bookstore2
31.
Data Types
• int – whole number
• char (n) – fixed number of characters
• varchar (n) – variable number of characters
• float (m, d) – floating point with m digits, d after the
decimal point
• decimal (p, s) - fixed point with precision p, scale s
• datetime – date and time
• bit (n) – binary value with n bits
VIS201D Visio Database Digramming 31
See the documentation for your specific database for exact
details plus other supported data types
Bookstore2
32.
Customers Physical Design
• Set properties
for all fields
VIS201D Visio Database Digramming 32Bookstore2
33.
Orders Physical Design
• Set properties
for all fields
• Note optional
text boxes IX
for indexed
field with
duplicates
allowed, and
UX for unique
VIS201D Visio Database Digramming 33Bookstore2
35.
VIS201D Visio Database Digramming 35
Database Design
HasInvoice
One-to-many (w/ ID Dependency)
Inv #
1 N
Line Item
PK = inv#, item#
Bookstore2
36.
Bookstore Database Physical
Design (1st
two tables)
• Final physical
design
• This would be
basis for
implementing
the tables
VIS201D Visio Database Digramming 36Bookstore2
37.
Add Books Entity
• Conventions
used:
– Entity name in
caps
– Underline pk’s
– Italicize fk’s
– Bold required
fields
• Not necessary,
really, but can
be used to
create a sort of
text ERD
VIS201D Visio Database Digramming 37
• BOOKS
• Attributes (fields):
– isbn
– title
– publisher_name
– Publication_year
– binding
– source_numb
– retail_price
– number_on_hand
Bookstore2
38.
Books Physical Design
• Set properties
for all fields
• Note optional
text boxes IX
for indexed
field with
duplicates
allowed, and
UX for unique
VIS201D Visio Database Digramming 38Bookstore2
39.
Connect Books to Orders NXM
• Create relationship
between books and
orders
• Note this is a many
to many
relationship
• It may be OK on an
ERD but cannot be
implemented
directly in a
relational database
VIS201D Visio Database Digramming 39Bookstore2
40.
VIS201D Visio Database Digramming 40
Database Design
Mfgr
Many-to-many
Mfgr_Eqpt
Equipment
M N
Mfg # Eqpt ID
Bookstore2
41.
Add Orderlines Entity
• Conventions
used:
– Entity name in
caps
– Underline pk’s
– Italicize fk’s
– Bold required
fields
• Not necessary,
really, but can
be used to
create a sort of
text ERD
VIS201D Visio Database Digramming 41
• ORDERLINES
• Attributes (fields):
– order_numb
– isbn
– quantity
– cost_each
– cost_line
– shipped
Bookstore2
42.
Orderlines Entity
• Set properties for
all fields
• Note order_numb
and isbn form a
single, composite
PK. Both columns
are in the PK.
VIS201D Visio Database Digramming 42Bookstore2
43.
Bookstore 4 Table ERD
• This is a very
typical design
pattern
• All relationships are
now 1 to many
• Note intersection
table between
orders and books
VIS201D Visio Database Digramming 43Bookstore2
44.
VIS201D Visio Database Digramming 44
Database Design
HasEmployee
Auto #
One-to-one
1
Auto
Emp #
1
Bookstore2
45.
One-to-one demonstration
• There are no one-to-one relationships in
the bookstore database
• Instructor will demonstrate example
• Requires an FK with a unique index on it
VIS201D Visio Database
Digramming
45Bookstore2
46.
VIS201D Visio Database Digramming 46
Recursive Relationships
Customer referrals
Customer_numb Customer_last_nam
e
Referred_by
12 Le 15
13 Jones 12
14 Gomez 13
15 Tartanian 166
166 Wang <null>
167 Park 166
Bookstore2
47.
VIS201D Visio Database Digramming 47
Database Design
Referred byMember
Recursive
Member #
1
M
Bookstore2
48.
Add referred_by to Customers
Entity
• Referred_by is the
customer that
referred this one
• The referred_by
field is a FK which
points back to the
PK in the same
customers table.
VIS201D Visio Database Digramming 48Bookstore2
49.
Final Bookstore 4 Table ERD
• This is a very
typical design
pattern
• All relationships are
now 1 to many
• Note intersection
table between
orders and books
• There is a recursive
relationship
between customers
and itself
VIS201D Visio Database Digramming 49Bookstore2
51.
IS-A Relationships
• There are no IS-A relationships in the
bookstore database
• PK’s in child and parent tables are the
same
• Instructor will demonstrate
VIS201D Visio Database
Digramming
51Bookstore2
52.
Bookstore2 VIS201D Visio Database Digramming 52
VIS201D
End of Course
P.O. Box 6142
Laguna Niguel, CA 92607
949-489-1472
http://www.ocdatabases.com
Please fill out and turn in your
end-of-course evaluations.
Editor's Notes
Follow with student exercise to develop a database.