BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
LCD201d Database Diagramming with Lucidchart
1. Bookstore2 LCD201D Lucidchart Database
Diagramming
1
An introduction to Lucidchart database
diagramming for analysts and IT professionals
P.O. Box 6142
Laguna Niguel, CA 92607
949-489-1472
http://www.ocdatabases.com
Welcome to LCD201D –
Lucidchart Database
Diagramming
2. Bookstore2 LCD201D Lucidchart Database
Diagramming
2
Lucidchart Database
Diagramming
• Introduction (s)
• Facilities
• Course Packet (contents may vary)
– Student questionnaire
– Collaterals (Maps, Catalogs, Etc.)
– PowerPoint handouts
– Evaluation form
– Training certificate
3. Bookstore2 LCD201D Lucidchart Database
Diagramming
3
LCD201D 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. LCD201D 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 LCD201D Lucidchart Database
Diagramming
4
5. Bookstore2 LCD201D Lucidchart Database
Diagramming
5
Lucidchart Database
Diagramming
• Course focus is using Lucidchart 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
6. Lucidchart 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 LCD201D Lucidchart Database
Diagramming
6
7. Bookstore2 LCD201D Lucidchart Database
Diagramming
7
Lucidchart Database
Diagramming
• A basic knowledge of relational databases,
perhaps via MS Access, or some
programming knowledge, is desirable
8. LCD201D Approach
• Create a complete ERD
– In this class using Lucidchart; another class
uses Microsoft Visio
• Step-by-step
• Use same bookstore database used in our
SQL classes
LCD201D Lucidchart Database
Diagramming
8Bookstore2
10. Bookstore2 LCD201D Lucidchart Database
Diagramming
10
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
11. Database Design Models
(Entity Relationship Diagrams)
LCD201D Lucidchart Database
Diagramming
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
Bookstore2 LCD201D Lucidchart Database
Diagramming
12
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
Bookstore2 LCD201D Lucidchart Database
Diagramming
13
14. LCD201D Lucidchart Database
Diagramming
14
ERD Drawing Tools
• Embarcadero
• ER-WIN
• Visio
• Lucidchart (used in this class)
• Oracle Designer
• Many others
(Note: most tools use the crows-foot or similar model.)
Bookstore2
16. Start the Lucidchart Drawing
• Start Lucidchart
and select entity
relationship
software type
• Save your
drawing
Bookstore2 LCD201D Lucidchart Database
Diagramming
16
17. Initialize the Customer Entity
• Drag an entity
shape to the
drawing surface
• Select the two
column one to
create a logical
design
• Zoom in to give
yourself some
working room
Bookstore2 LCD201D Lucidchart Database
Diagramming
17
20. LCD201D Lucidchart Database
Diagramming
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
• Bold the fields
that are required
• In our example
we only have
one required
field. This may
or may not be
realistic for
your database.
Bookstore2 LCD201D Lucidchart Database
Diagramming
21
22. 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
Bookstore2 LCD201D Lucidchart Database
Diagramming
22
• ORDERS
• Attributes (fields):
– Order_numb
– Customer_numb
– Order_date
– Credit_card_numb
– Order_filled
– Credit_card_exp_date
23. Orders Entity
• Follow steps
used for
customers entity
• Note
customer_numb
marked as FK
(foreign key)
Bookstore2 LCD201D Lucidchart Database
Diagramming
23
26. Create initial relationship
• There may be
many orders to
one customer.
• Drag the mouse
from the
customers table to
the orders table.
• Must drag from
the parent table
(customers) to the
child (orders) to
get crows foot on
the child side.
Bookstore2 LCD201D Lucidchart Database
Diagramming
26
27. Adjust relationship properties
• Adjust relationship
properties
– End symbols
– Line thickness
– Line type
• Add titles, colors,
business rules if
desired, etc.
• This completes the
logical ERD
Bookstore2 LCD201D Lucidchart Database
Diagramming
27
28. Annotate relationship (optional)
• Annotate the
relationship if
desired
• Use two
phrases, one for
each direction
LCD201D Lucidchart Database
Diagramming
28Bookstore2
29. LCD201D Lucidchart Database
Diagramming
29
Physical Database Design
• Use design 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
(Lucidchart in this class)
Bookstore2
30. Three column entity
• Create your
diagram
using the 3
column
entity type
• Build as
before
• We will fill
in data types
in later slides
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
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
• Note some
authors refers to
this as the
internal design
• Customer_last_
name is a
required field
LCD201D Lucidchart Database
Diagramming
32Bookstore2
33. Orders Physical Design
• Set properties
for all fields
• Note optional
entries IX for
indexed field
with duplicates
allowed, and
UX for unique.
LCD201D Lucidchart Database
Diagramming
33Bookstore2
36. Bookstore Database Physical
Design (1st
two tables)
• Final physical
design
• This would be
basis for
implementing
the tables
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
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
• we will see later how
to “flatten” the design
LCD201D Lucidchart Database
Diagramming
39Bookstore2
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
LCD201D Lucidchart Database
Diagramming
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.
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
43Bookstore2
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
LCD201D Lucidchart Database
Diagramming
45Bookstore2
46. LCD201D Lucidchart Database
Diagramming
46
Recursive Relationships
Bookstore2
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
Customer referrals
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.
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
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
LCD201D Lucidchart Database
Diagramming
51Bookstore2
52. Bookstore2 LCD201D Lucidchart Database
Diagramming
52
LCD201D
End of Course
P.O. Box 6142
Laguna Niguel, CA 92607
949-489-1472
http://www.ocdatabases.com
Please fill out your end-of-
course evaluations.
Notas do Editor
Follow with student exercise to develop a database.