Answers.Body: <p>Based on the comments, the minimum for theory and technical is how the nomenclature of MS Access relates to Excel.</p>
  
  <p>If they've been doing everything in Excel anyway, they've developed habits for, or against, normalization that you're not going to break in a couple days, intensive or not.</p>
  
  <p>If they haven't discovered the pitfalls of redundant data in Excel, they probably won't in MS Access either. If they have, then they've already learned the lesson, and developed their own methods of "normalization."</p>
  
  <p>You can bring it up, and have resources available for them to access, online in their own time, if they develop the interest in "doing it right." Otherwise, concentrate on helping them become fluent in MS Access, an hopefully reduce the calls for help you get when they don't remember <em>how that works</em> in two weeks.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-05-30T10:55:53.130Z
Answers.LastActivityDate: 2017-05-30T10:55:53.130Z
Answers.UserDisplayName: Gypsy Spellweaver
Body: <p>When teaching database basics to non IT beginners, what is the minimum requirement in theory and technical terms?<br>
  <strong>So what is absolutely necessary to talk about DBs? What helps students grasp the basic idea of relational databases?</strong></p>
  
  <p>Especially with normal forms. NF1-2-3? Boyce-Codd? Or even NF4-5-6 makes sense?</p>
  
  <p>In my trainings we don't have a lot of time, we focus on the practice, but since this is a new concept to my students, they will need to understand a few fundamental things. </p>
  
  <p><em>Context:</em></p>
  
  <p>I'm holding company trainings. As tasks get more and more complex at corporations, and the general IT literacy is (somewhat, slowly) raising, more and more people are looking for ways to swap out their huge and cumbersome "Excel can do it all" solutions. This either means they start learning VBA programming or they turn towards databases, namely MS Access. The trainings I do are 2-3 day intensive courses with very strong practical focus.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-24T11:50:46.603Z
Comments.Text: Can you share some questions that people might ask? Will be easier to answer them, right? Plus, Excel is a client side spreadsheet software that looks *similar* to Database tables, but not a Relational Database Management System.
Comments.UserDisplayName: Praveen Kumar Purushothaman
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-25T09:57:54.320Z
Comments.Text: I have had some experience teaching normalization to undergrad business students. It was a fairly painful process, and I think it would be a lot to ask a non-technical audience to do it correctly in just three days (assuming you are teaching the practical Access skills alongside?) Is the goal to enable them to do all of this entirely on their own? I would think that enabling them to get to a level where they could comprehend and use a solution delivered by someone else might be more achievable, but maybe not deliver business goals. Either way, the exact goal will inform the answer here.
Comments.UserDisplayName: Diarmuid Ó Muirgheasa
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-25T10:55:51.130Z
Comments.Text: @DiarmuidÓMuirgheasa Thank you, you are right. My only goal is to help them understand the basic concept of a relational database better. To help them get a feel for it. The way I see it, NF1 through a few examples helps achieve this. I'll update my answer so this is clearer.
Comments.UserDisplayName: vacip
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-25T11:02:54.653Z
Comments.Text: Maybe this question is too specific for this site? Maybe not a lot of people are foolish enough to try and teach database basics to non IT adults in 2-3 days? :)
Comments.UserDisplayName: vacip
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-25T11:40:01.357Z
Comments.Text: Not sure you can cover the tradeoffs in normalization, alone, in 2 to 3 days. Combined with "these are the database skills you need", it feels like too much. What about doing it as two classes?
Comments.UserDisplayName: AlG
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-26T08:18:31.383Z
Comments.Text: @vacip I think you can definitely explain why we normalize in a short period of time - demonstrate the various anomalies that result if we don't. That's reasonably intuitive with good examples, I think. You could also have a good discussion of cardinality, and teach them the mechanics of Access as well. I'll have a think about a more complete answer to post below.
Comments.UserDisplayName: Diarmuid Ó Muirgheasa
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-28T22:48:07.133Z
Comments.Text: MS access is not the best sql/relational database system. Sql and relational are rarely the best database solution. Have you considered other database systems particularly nosql.
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-05-29T07:32:34.303Z
Comments.Text: @richard You are right, but my students want to learn MS Access, not relational databases or database management. So these trainings are "MS Access for Beginners".
Comments.UserDisplayName: vacip
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-23T14:17:18.590Z
Comments.Text: @vacip  Ms access is a fully relational database, in every sense of the word. It lacks some of the tuning and maintenance tools of the big boys,  but if you understand tuning DB2, you can apply the same techniques to access. I once worked in a division of a company that grew from 300M per year revenue to 1B per year on the basis of an access database that I helped maintain.
Comments.UserDisplayName: pojo-guy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-23T14:26:28.337Z
Comments.Text: @ctlaltdelor Nosql is a broad category encompassing everything from raw ISAM in c to JSON stores like Mongo or graphing databases like neo4j, and a host of other esoteric solutions. The reason the sql RDBMS persists is because for most solutions it offers a good balance of performance and usability,  one of the big markets today is creating tools to allow people to use sql with Nosql solutions (hive, for example)
Comments.UserDisplayName: pojo-guy
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-11-24T02:37:55.783Z
Comments.Text: @Heather I've been programming with databases for decades (since before SQL was mainstream), and I can't keep the names and definitions of normal forms straight in my head. While it's necessary to be able to choose the pattern, It's not necessary to manage names and definitions. Knowledge itself has a structure, and the simplest structure that captures the problem wins. Sometimes you have to adjust the structure of your database to match new knowledge.
Comments.UserDisplayName: pojo-guy
Tags: <cs-theory><databases><industry-training>
Title: Database theory (normalization) for beginners (adult education, MS Access)
ThreadText: # Database theory (normalization) for beginners (adult education, MS Access)
  
  (Asked by: username_0 on 2017-05-24)
  
  When teaching database basics to non IT beginners, what is the minimum requirement in theory and technical terms?  
  **So what is absolutely necessary to talk about DBs? What helps students grasp the basic idea of relational databases?**
  
  Especially with normal forms. NF1-2-3? Boyce-Codd? Or even NF4-5-6 makes sense?
  
  In my trainings we don't have a lot of time, we focus on the practice, but since this is a new concept to my students, they will need to understand a few fundamental things.
  
  *Context:*
  
  I'm holding company trainings. As tasks get more and more complex at corporations, and the general IT literacy is (somewhat, slowly) raising, more and more people are looking for ways to swap out their huge and cumbersome "Excel can do it all" solutions. This either means they start learning VBA programming or they turn towards databases, namely MS Access. The trainings I do are 2-3 day intensive courses with very strong practical focus.
  
  **Tags:** cs-theory, databases, industry-training
  
  > **Comments:**
  > **username_1**: Can you share some questions that people might ask? Will be easier to answer them, right? Plus, Excel is a client side spreadsheet software that looks *similar* to Database tables, but not a Relational Database Management System.  
  > **username_2**: I have had some experience teaching normalization to undergrad business students. It was a fairly painful process, and I think it would be a lot to ask a non-technical audience to do it correctly in just three days (assuming you are teaching the practical Access skills alongside?) Is the goal to enable them to do all of this entirely on their own? I would think that enabling them to get to a level where they could comprehend and use a solution delivered by someone else might be more achievable, but maybe not deliver business goals. Either way, the exact goal will inform the answer here.  
  > **username_0**: @username_2 Thank you, you are right. My only goal is to help them understand the basic concept of a relational database better. To help them get a feel for it. The way I see it, NF1 through a few examples helps achieve this. I'll update my answer so this is clearer.  
  > **username_0**: Maybe this question is too specific for this site? Maybe not a lot of people are foolish enough to try and teach database basics to non IT adults in 2-3 days? :)  
  > **username_3**: Not sure you can cover the tradeoffs in normalization, alone, in 2 to 3 days. Combined with "these are the database skills you need", it feels like too much. What about doing it as two classes?  
  > **username_2**: @username_0 I think you can definitely explain why we normalize in a short period of time - demonstrate the various anomalies that result if we don't. That's reasonably intuitive with good examples, I think. You could also have a good discussion of cardinality, and teach them the mechanics of Access as well. I'll have a think about a more complete answer to post below.  
  > **username_4**: MS access is not the best sql/relational database system. Sql and relational are rarely the best database solution. Have you considered other database systems particularly nosql.  
  > **username_0**: @richard You are right, but my students want to learn MS Access, not relational databases or database management. So these trainings are "MS Access for Beginners".  
  > **username_5**: @username_0  Ms access is a fully relational database, in every sense of the word. It lacks some of the tuning and maintenance tools of the big boys,  but if you understand tuning DB2, you can apply the same techniques to access. I once worked in a division of a company that grew from 300M per year revenue to 1B per year on the basis of an access database that I helped maintain.  
  > **username_5**: @ctlaltdelor Nosql is a broad category encompassing everything from raw ISAM in c to JSON stores like Mongo or graphing databases like neo4j, and a host of other esoteric solutions. The reason the sql RDBMS persists is because for most solutions it offers a good balance of performance and usability,  one of the big markets today is creating tools to allow people to use sql with Nosql solutions (hive, for example)  
  > **username_5**: @Heather I've been programming with databases for decades (since before SQL was mainstream), and I can't keep the names and definitions of normal forms straight in my head. While it's necessary to be able to choose the pattern, It's not necessary to manage names and definitions. Knowledge itself has a structure, and the simplest structure that captures the problem wins. Sometimes you have to adjust the structure of your database to match new knowledge.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_6 on 2017-05-30. Score: 5 | Accepted answer
  
  Based on the comments, the minimum for theory and technical is how the nomenclature of MS Access relates to Excel.
  
  If they've been doing everything in Excel anyway, they've developed habits for, or against, normalization that you're not going to break in a couple days, intensive or not.
  
  If they haven't discovered the pitfalls of redundant data in Excel, they probably won't in MS Access either. If they have, then they've already learned the lesson, and developed their own methods of "normalization."
  
  You can bring it up, and have resources available for them to access, online in their own time, if they develop the interest in "doing it right." Otherwise, concentrate on helping them become fluent in MS Access, an hopefully reduce the calls for help you get when they don't remember *how that works* in two weeks.
  
  
  ---
  
  