SlideShare uma empresa Scribd logo
1 de 52
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
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
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.
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
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
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
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
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
Bookstore2 LCD201D Lucidchart Database
Diagramming
9
Relational Database
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
Database Design Models
(Entity Relationship Diagrams)
LCD201D Lucidchart Database
Diagramming
11
We will start here
Bookstore2
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
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
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
Customer Entity
• CUSTOMERS
• Attributes (fields):
– Customer_numb
– Customer_first_name
– Customer_last_name
– Customer_street
– Customer_city
– Customer_state
– Customer_zip
– Customer_phone
– Customer_email
Bookstore2 LCD201D Lucidchart Database
Diagramming
15
Start the Lucidchart Drawing
• Start Lucidchart
and select entity
relationship
software type
• Save your
drawing
Bookstore2 LCD201D Lucidchart Database
Diagramming
16
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
LCD201D Lucidchart Database
Diagramming
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
Add remaining attributes
• Click to insert
attributes
Bookstore2 LCD201D Lucidchart Database
Diagramming
19
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
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
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
Orders Entity
• Follow steps
used for
customers entity
• Note
customer_numb
marked as FK
(foreign key)
Bookstore2 LCD201D Lucidchart Database
Diagramming
23
Relationship Properties
LCD201D Lucidchart Database
Diagramming
24
Has /
Belongs toEmployee Dependents
1 N
Degree
Cardinality
Optionality
Bookstore2
Relationship Types (after David Kroenke)
LCD201D Lucidchart Database
Diagramming
25Bookstore2
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
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
Annotate relationship (optional)
• Annotate the
relationship if
desired
• Use two
phrases, one for
each direction
LCD201D Lucidchart Database
Diagramming
28Bookstore2
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
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
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
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
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
LCD201D Lucidchart Database
Diagramming
34
Database Design
MakesMfgr
One-to-many
Mfgr #
1 N
Equipment
Bookstore2
PK=EqptID, FK=Mfgr#
LCD201D Lucidchart Database
Diagramming
35
Database Design
HasInvoice
One-to-many (w/ ID Dependency)
Inv #
1 N
Line Item
PK = inv#, item#
Bookstore2
Bookstore Database Physical
Design (1st
two tables)
• Final physical
design
• This would be
basis for
implementing
the tables
LCD201D Lucidchart Database
Diagramming
36Bookstore2
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
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
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
LCD201D Lucidchart Database
Diagramming
40
Database Design
Mfgr
Many-to-many
Mfgr_Eqpt
Equipment
M N
Mfg # Eqpt ID
Bookstore2
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
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
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
LCD201D Lucidchart Database
Diagramming
44
Database Design
HasEmployee
Auto #
One-to-one
1
Auto
Emp #
1
Bookstore2
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
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
LCD201D Lucidchart Database
Diagramming
47
Database Design
Referred byCustomer
Recursive
Customer #
1
M
Bookstore2
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
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
LCD201D Lucidchart Database
Diagramming
50
Database Design
Member
IS-A relationship (Subscriptions)
Print Online
Member#
Bookstore2
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
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.

Mais conteúdo relacionado

Semelhante a LCD201d Database Diagramming with Lucidchart

new_informatica_1
new_informatica_1new_informatica_1
new_informatica_1rao dpr
 
Informatica Online Training
Informatica Online TrainingInformatica Online Training
Informatica Online TrainingRao Rao
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelGarindra Prahandono
 
Introduction to ksqlDB and stream processing (Vish Srinivasan - Confluent)
Introduction to ksqlDB and stream processing (Vish Srinivasan  - Confluent)Introduction to ksqlDB and stream processing (Vish Srinivasan  - Confluent)
Introduction to ksqlDB and stream processing (Vish Srinivasan - Confluent)KafkaZone
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016Luigi Dell'Aquila
 
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor APIBeyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor APIconfluent
 
SQL212.1 Introduction to SQL using Oracle Module 1
SQL212.1 Introduction to SQL using Oracle Module 1SQL212.1 Introduction to SQL using Oracle Module 1
SQL212.1 Introduction to SQL using Oracle Module 1Dan D'Urso
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016Luigi Dell'Aquila
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updatedSukanta Saha
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updatedSukanta Saha
 
Resume april updated
Resume april updatedResume april updated
Resume april updatedSukanta Saha
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Databricks
 
New Features in Solidworks 2017 for Solidworks 2016 Users
New Features in Solidworks 2017 for Solidworks 2016 UsersNew Features in Solidworks 2017 for Solidworks 2016 Users
New Features in Solidworks 2017 for Solidworks 2016 UsersEngineering Technique
 
Cassandra and Spark
Cassandra and SparkCassandra and Spark
Cassandra and Sparknickmbailey
 
Fast federated SQL with Apache Calcite
Fast federated SQL with Apache CalciteFast federated SQL with Apache Calcite
Fast federated SQL with Apache CalciteChris Baynes
 

Semelhante a LCD201d Database Diagramming with Lucidchart (20)

new_informatica_1
new_informatica_1new_informatica_1
new_informatica_1
 
Informatica Online Training
Informatica Online TrainingInformatica Online Training
Informatica Online Training
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
 
Introduction to ksqlDB and stream processing (Vish Srinivasan - Confluent)
Introduction to ksqlDB and stream processing (Vish Srinivasan  - Confluent)Introduction to ksqlDB and stream processing (Vish Srinivasan  - Confluent)
Introduction to ksqlDB and stream processing (Vish Srinivasan - Confluent)
 
Epc projects and cad tools
Epc projects and cad toolsEpc projects and cad tools
Epc projects and cad tools
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL  - J On The Beach 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - J On The Beach 2016
 
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor APIBeyond the DSL - Unlocking the power of Kafka Streams with the Processor API
Beyond the DSL - Unlocking the power of Kafka Streams with the Processor API
 
SQL212.1 Introduction to SQL using Oracle Module 1
SQL212.1 Introduction to SQL using Oracle Module 1SQL212.1 Introduction to SQL using Oracle Module 1
SQL212.1 Introduction to SQL using Oracle Module 1
 
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
OrientDB - the 2nd generation of (Multi-Model) NoSQL - Codemotion Warsaw 2016
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updated
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updated
 
Resume april updated
Resume april updatedResume april updated
Resume april updated
 
Resume
ResumeResume
Resume
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
New Features in Solidworks 2017 for Solidworks 2016 Users
New Features in Solidworks 2017 for Solidworks 2016 UsersNew Features in Solidworks 2017 for Solidworks 2016 Users
New Features in Solidworks 2017 for Solidworks 2016 Users
 
seminar100326a.pdf
seminar100326a.pdfseminar100326a.pdf
seminar100326a.pdf
 
Cassandra and Spark
Cassandra and SparkCassandra and Spark
Cassandra and Spark
 
Resume 11 2015
Resume 11 2015Resume 11 2015
Resume 11 2015
 
Fast federated SQL with Apache Calcite
Fast federated SQL with Apache CalciteFast federated SQL with Apache Calcite
Fast federated SQL with Apache Calcite
 
Mathcad 15 overview
Mathcad 15 overviewMathcad 15 overview
Mathcad 15 overview
 

Mais de Dan D'Urso

Database Normalization
Database NormalizationDatabase Normalization
Database NormalizationDan D'Urso
 
PRJ101a Project 2013 Accelerated
PRJ101a Project 2013 AcceleratedPRJ101a Project 2013 Accelerated
PRJ101a Project 2013 AcceleratedDan D'Urso
 
PRJ101xl Project Libre Basic Training
PRJ101xl Project Libre Basic TrainingPRJ101xl Project Libre Basic Training
PRJ101xl Project Libre Basic TrainingDan D'Urso
 
Introduction to coding using Python
Introduction to coding using PythonIntroduction to coding using Python
Introduction to coding using PythonDan D'Urso
 
Stem conference
Stem conferenceStem conference
Stem conferenceDan D'Urso
 
SQL200A Microsoft Access SQL Design
SQL200A Microsoft Access SQL DesignSQL200A Microsoft Access SQL Design
SQL200A Microsoft Access SQL DesignDan D'Urso
 
Microsoft access self joins
Microsoft access self joinsMicrosoft access self joins
Microsoft access self joinsDan D'Urso
 
SQL302 Intermediate SQL
SQL302 Intermediate SQLSQL302 Intermediate SQL
SQL302 Intermediate SQLDan D'Urso
 
AIN106 Access Reporting and Analysis
AIN106 Access Reporting and AnalysisAIN106 Access Reporting and Analysis
AIN106 Access Reporting and AnalysisDan D'Urso
 
SQL302 Intermediate SQL Workshop 3
SQL302 Intermediate SQL Workshop 3SQL302 Intermediate SQL Workshop 3
SQL302 Intermediate SQL Workshop 3Dan D'Urso
 
SQL302 Intermediate SQL Workshop 2
SQL302 Intermediate SQL Workshop 2SQL302 Intermediate SQL Workshop 2
SQL302 Intermediate SQL Workshop 2Dan D'Urso
 
Course Catalog
Course CatalogCourse Catalog
Course CatalogDan D'Urso
 
SQL302 Intermediate SQL Workshop 1
SQL302 Intermediate SQL Workshop 1SQL302 Intermediate SQL Workshop 1
SQL302 Intermediate SQL Workshop 1Dan D'Urso
 
SQL212 Oracle SQL Manual
SQL212 Oracle SQL ManualSQL212 Oracle SQL Manual
SQL212 Oracle SQL ManualDan D'Urso
 
SQL201W MySQL SQL Manual
SQL201W MySQL SQL ManualSQL201W MySQL SQL Manual
SQL201W MySQL SQL ManualDan D'Urso
 
SQL206 SQL Median
SQL206 SQL MedianSQL206 SQL Median
SQL206 SQL MedianDan D'Urso
 
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3Dan D'Urso
 
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2Dan D'Urso
 
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1Dan D'Urso
 

Mais de Dan D'Urso (20)

Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
PRJ101a Project 2013 Accelerated
PRJ101a Project 2013 AcceleratedPRJ101a Project 2013 Accelerated
PRJ101a Project 2013 Accelerated
 
PRJ101xl Project Libre Basic Training
PRJ101xl Project Libre Basic TrainingPRJ101xl Project Libre Basic Training
PRJ101xl Project Libre Basic Training
 
Introduction to coding using Python
Introduction to coding using PythonIntroduction to coding using Python
Introduction to coding using Python
 
Stem conference
Stem conferenceStem conference
Stem conference
 
SQL200A Microsoft Access SQL Design
SQL200A Microsoft Access SQL DesignSQL200A Microsoft Access SQL Design
SQL200A Microsoft Access SQL Design
 
Microsoft access self joins
Microsoft access self joinsMicrosoft access self joins
Microsoft access self joins
 
SQL302 Intermediate SQL
SQL302 Intermediate SQLSQL302 Intermediate SQL
SQL302 Intermediate SQL
 
AIN106 Access Reporting and Analysis
AIN106 Access Reporting and AnalysisAIN106 Access Reporting and Analysis
AIN106 Access Reporting and Analysis
 
SQL302 Intermediate SQL Workshop 3
SQL302 Intermediate SQL Workshop 3SQL302 Intermediate SQL Workshop 3
SQL302 Intermediate SQL Workshop 3
 
SQL302 Intermediate SQL Workshop 2
SQL302 Intermediate SQL Workshop 2SQL302 Intermediate SQL Workshop 2
SQL302 Intermediate SQL Workshop 2
 
Course Catalog
Course CatalogCourse Catalog
Course Catalog
 
SQL302 Intermediate SQL Workshop 1
SQL302 Intermediate SQL Workshop 1SQL302 Intermediate SQL Workshop 1
SQL302 Intermediate SQL Workshop 1
 
SQL212 Oracle SQL Manual
SQL212 Oracle SQL ManualSQL212 Oracle SQL Manual
SQL212 Oracle SQL Manual
 
SQL201W MySQL SQL Manual
SQL201W MySQL SQL ManualSQL201W MySQL SQL Manual
SQL201W MySQL SQL Manual
 
AIN100
AIN100AIN100
AIN100
 
SQL206 SQL Median
SQL206 SQL MedianSQL206 SQL Median
SQL206 SQL Median
 
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3
SQL202.3 Accelerated Introduction to SQL Using SQL Server Module 3
 
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
SQL202.2 Accelerated Introduction to SQL Using SQL Server Module 2
 
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1
SQL202.1 Accelerated Introduction to SQL Using SQL Server Module 1
 

Último

Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxMohammedJunaid861692
 

Último (20)

Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
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
  • 9. Bookstore2 LCD201D Lucidchart Database Diagramming 9 Relational Database
  • 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
  • 15. Customer Entity • CUSTOMERS • Attributes (fields): – Customer_numb – Customer_first_name – Customer_last_name – Customer_street – Customer_city – Customer_state – Customer_zip – Customer_phone – Customer_email Bookstore2 LCD201D Lucidchart Database Diagramming 15
  • 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
  • 18. LCD201D Lucidchart Database Diagramming 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 • Click to insert attributes Bookstore2 LCD201D Lucidchart Database Diagramming 19
  • 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
  • 24. Relationship Properties LCD201D Lucidchart Database Diagramming 24 Has / Belongs toEmployee Dependents 1 N Degree Cardinality Optionality Bookstore2
  • 25. Relationship Types (after David Kroenke) LCD201D Lucidchart Database Diagramming 25Bookstore2
  • 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
  • 34. LCD201D Lucidchart Database Diagramming 34 Database Design MakesMfgr One-to-many Mfgr # 1 N Equipment Bookstore2 PK=EqptID, FK=Mfgr#
  • 35. LCD201D Lucidchart Database Diagramming 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 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
  • 40. LCD201D Lucidchart Database Diagramming 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 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
  • 44. LCD201D Lucidchart Database Diagramming 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 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
  • 47. LCD201D Lucidchart Database Diagramming 47 Database Design Referred byCustomer Recursive Customer # 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. 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
  • 50. LCD201D Lucidchart Database Diagramming 50 Database Design Member IS-A relationship (Subscriptions) Print Online Member# Bookstore2
  • 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

  1. Follow with student exercise to develop a database.