Database information architecture

801 views

Published on

This is an introduction to relationships and normalization and how to model relationships to design databases.

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
801
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Database information architecture

  1. 1. Quentin Christensen quentin.christensen@live.com
  2. 2. Requirements Gathering  Relationship approach – gather information requirements, organize into entities, form relations, and add desired fields  Data requirements approach – gather information requirements about individual fields, organize into entities, create relationships between the entities
  3. 3. What is a relation? Rank Country Population 1 China 1,136,429,638 2 India 849,638,000 3 United States 258,115,725 4 Indonesia 179,247,783 5 Brazil 150,367,000
  4. 4. What is a relationship? Rank Country Population 1 China 1,136,429,638 2 India 849,638,000 3 United States 258,115,725 4 Indonesia 179,247,783 5 Brazil 150,367,000 Country Province/State China Anhui India Assam United States Washington Canada British Columbia Brazil Bahia
  5. 5. Normalization  1st form – All cells are atomic  2nd form – all rows in a relation have a unique identifier and are dependent on a primary or candidate key  3rd form – no rows are transitively dependent – all attributes must rely on the primary key
  6. 6. Conceptual Modeling
  7. 7. Conceptual Modeling
  8. 8. Logical Modeling
  9. 9. Logical Modeling
  10. 10. Physical Modeling  How much data in each table?  How many operations on each table?  What type of operations will be performed?
  11. 11. Prototyping  Create the database tables  Create the operations that will be performed  Put in some sample data  Try it out  Are the results what you expected?
  12. 12. Refinement  Give users scenarios  Ask them about the results that are returned  See if there is additional information you need  Do performance testing
  13. 13. Creating a data model for structuring unstructured data about generic objects. + support for versioning, user evaluation of content, and tagging
  14. 14. The Big Idea  A wiki that supports structured properties about generic items  Post articles, reviews, comments about wikis  Rate user content  Associate structured properties (text) or ratings (numbers) that can be shared between different types of items
  15. 15. Project Goals  Wiki – support user collaboration and versioning  Generic content – support data about different objects  User ratings – allow users to rate content and items  Dynamic submission – application changes as the properties of items change
  16. 16. Persona  Pam the Ninja  Has trouble finding ninja movies and games to enjoy  Dislikes regular review sites because they may be biased or influenced by advertisers  Hates pirates
  17. 17. User Scenarios / Tasks  Create a user  Log in  Update a wiki entry  Post comments, reviews, and articles  Rate a wiki entry by posting a review  Vote on quality of articles and reviews  View a users profile  Create a wiki entry
  18. 18. Conceptual Model
  19. 19. Logical Model
  20. 20. Physical Model Table Rows Field Freq/day Type article 1,000,000predicate: pageId 50,000Read join: articleBridge ON articleId predicate: pageId 50,000Read predicate: articleId 30,000Read predicate: userId 5,000Read 300Insert articleBridge 1,200,000join: article ON articleId predicate: pageId 50,000Read 300Insert articleType 10 500Read articleVotes 3,000,000 2,000Insert predicate: userId 50,000Read avgRating predicate: pageId 10,000Read join: avgRating on wikIEntry predicate: pageId 10,000Read comments 5,000,000predicate: pageId 50,000Read predicate: userId 5,000Read 2,000Insert predicate: commentId 50,000Read hits 50,000,000predicate: id, tableName, ip (index necessary) 150,000Read 100,000Insert
  21. 21. Physical Model admin about article copyright comment browse createreview index postarticle postcomment processcomment processarticle processreview createuser createwiki processuser processwiki processwikiediteditwiki review search support terms updateuseruser wikiedit wikientry blog login
  22. 22. Usability Testing  Two users  Tested on ability to complete user tasks – register, login, create wiki entry, evaluate content etc. Results:  Both users successfully able to complete all tasks
  23. 23. Shneiderman’s InfoVis Tasks  Overview – index page  Filter – by item type of the wiki (browse)  Details on Demand – linking to wiki entry  Relate – properties / tags
  24. 24. Conclusion Goals:  Wiki – wiki entries, wiki edits  Generic content – item type categorizations, text fields, properties  User ratings – reviews, ratings  Dynamic submissions – forms for reviews, articles, and wiki entries dynamically created based on current state of database

×