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.

VIS201d Visio Database Diagramming

235 views

Published on

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.

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

VIS201d Visio Database Diagramming

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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
  10. 10. VIS201D Visio Database Digramming 10 Relational Database Bookstore2
  11. 11. Database Design Models (Entity Relationship Diagrams) VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 12Bookstore2
  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 VIS201D Visio Database Digramming 13Bookstore2
  14. 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
  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 VIS201D Visio Database Digramming 15Bookstore2
  16. 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. 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. 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. 19. Add remaining attributes • Drag an attribute shape to the drawing surface, or • Click insert attribute VIS201D Visio Database Digramming 19Bookstore2
  20. 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. 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. 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. 23. Orders Entity • Follow steps used for customers entity • Note customer_numb marked as FK (foreign key) VIS201D Visio Database Digramming 23Bookstore2
  24. 24. Relationship Properties VIS201D Visio Database Digramming 24 Has / Belongs toEmployee Dependents 1 N Degree Cardinality Optionality Bookstore2
  25. 25. Relationship Types (after David Kroenke) VIS201D Visio Database Digramming 25Bookstore2
  26. 26. Create initial relationship • Pin one side to customers • Drag crows foot to orders VIS201D Visio Database Digramming 26Bookstore2
  27. 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. 28. Annotate relationship • Annotate the relationship if desired • Use two phrases, one for each direction VIS201D Visio Database Digramming 28Bookstore2
  29. 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. 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. 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. 32. Customers Physical Design • Set properties for all fields VIS201D Visio Database Digramming 32Bookstore2
  33. 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
  34. 34. VIS201D Visio Database Digramming 34 Database Design MakesMfgr One-to-many Mfgr # 1 N Equipment PK=EqptID, FK=Mfgr# Bookstore2
  35. 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. 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. 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. 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. 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. 40. VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 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. VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 43Bookstore2
  44. 44. VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 45Bookstore2
  46. 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. 47. VIS201D Visio Database Digramming 47 Database Design Referred byMember Recursive Member # 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. VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 49Bookstore2
  50. 50. VIS201D Visio Database Digramming 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 VIS201D Visio Database Digramming 51Bookstore2
  52. 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.

×