Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

LCD201d Database Diagramming with Lucidchart

276 views

Published on

Creating an Entity Relationship Diagram (ERD) using Lucidchart

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

LCD201d Database Diagramming with Lucidchart

  1. 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. 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. 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. 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. 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. 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. 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. 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. 9. Bookstore2 LCD201D Lucidchart Database Diagramming 9 Relational Database
  10. 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. 11. Database Design Models (Entity Relationship Diagrams) LCD201D Lucidchart Database Diagramming 11 We will start here Bookstore2
  12. 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. 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. 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. 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. 16. Start the Lucidchart Drawing • Start Lucidchart and select entity relationship software type • Save your drawing Bookstore2 LCD201D Lucidchart Database Diagramming 16
  17. 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. 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. 19. Add remaining attributes • Click to insert attributes Bookstore2 LCD201D Lucidchart Database Diagramming 19
  20. 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. 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. 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. 23. Orders Entity • Follow steps used for customers entity • Note customer_numb marked as FK (foreign key) Bookstore2 LCD201D Lucidchart Database Diagramming 23
  24. 24. Relationship Properties LCD201D Lucidchart Database Diagramming 24 Has / Belongs toEmployee Dependents 1 N Degree Cardinality Optionality Bookstore2
  25. 25. Relationship Types (after David Kroenke) LCD201D Lucidchart Database Diagramming 25Bookstore2
  26. 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. 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. 28. Annotate relationship (optional) • Annotate the relationship if desired • Use two phrases, one for each direction LCD201D Lucidchart Database Diagramming 28Bookstore2
  29. 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. 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. 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. 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. 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. 34. LCD201D Lucidchart Database Diagramming 34 Database Design MakesMfgr One-to-many Mfgr # 1 N Equipment Bookstore2 PK=EqptID, FK=Mfgr#
  35. 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. 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. 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. 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. 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. 40. LCD201D Lucidchart Database Diagramming 40 Database Design Mfgr Many-to-many Mfgr_Eqpt Equipment M N Mfg # Eqpt ID Bookstore2
  41. 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. 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. 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. 44. LCD201D Lucidchart Database Diagramming 44 Database Design HasEmployee Auto # One-to-one 1 Auto Emp # 1 Bookstore2
  45. 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. 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. 47. LCD201D Lucidchart Database Diagramming 47 Database Design Referred byCustomer Recursive Customer # 1 M Bookstore2
  48. 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. 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. 50. LCD201D Lucidchart Database Diagramming 50 Database Design Member IS-A relationship (Subscriptions) Print Online Member# Bookstore2
  51. 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. 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.

×