Answers.Body: <blockquote>
    <p>Is there any easy to use database platform that would allow 9th graders to enter data easily (like Google Sheets), and pull data using client-side JS?</p>
  </blockquote>
  
  <p>Given that you're thinking about Google Sheets as a data entry method, I understand that your goals don't extend to getting the students to implement server-side form handling. But in that case, why do you need a database? It seems to me that the requirements given can be met perfectly well by a hand-coded JSON file.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-09T08:42:36.513Z
Answers.LastActivityDate: 2018-07-09T08:42:36.513Z
Answers.UserDisplayName: Peter Taylor
Answers.Body: <p>There are some websites that have free APIs. One is <a href="https://jsonplaceholder.typicode.com/" rel="nofollow noreferrer">JSONPlaceholder</a>, but you can easily request access to some others. For instance, <a href="https://developers.strava.com/" rel="nofollow noreferrer">Strava</a> offers some for those interested in developing applications from running / swimming / biking data; all you need is an account, which can be made at no cost!</p>
  
  <p>So in regards to the challenge at hand, you could use these online APIs in lieu of  a database or a database platform. This would allow your students to learn about HTTP requests (or the like) and how these can be sent from and used by client-side JavaScript. But, perhaps more importantly, this confines the scope of the class to front-end technologies and methodologies, rather than delving too much into back-end techologies and databases, restricting this only to APIs. </p>
  
  <hr>
  
  <p>Now, depending on <em>your</em> knowledge, if you have some web development experience or are willing to learn about it, I recommend using <a href="https://nodejs.org/en/" rel="nofollow noreferrer">Node.js</a> and setting up a localserver on your network, or perhaps on a hosting platform (e.g. <a href="https://firebase.google.com/docs/hosting/" rel="nofollow noreferrer">Firebase</a>, which I believe is free). From here, you can set up routes which handle HTTP requests, or the like, from which your students can send GET requests to. And since <em>you</em> would set up the routes and the data to be returned, you could tailor and personalize the data and the routes to the students (e.g. have a hypothetical endpoint <code>&lt;YOUR-FIREBASE-APP&gt;.firebaseapp.com/Jeremy</code> which would return info about your student Jeremy).  </p>
  
  <p>My opinion? As a student, I would not only be impressed by a teacher who could do something like this, but also personally intrigued as to how routing and servers work. But, hey, maybe that's just me :)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-23T15:51:46.647Z
Answers.LastActivityDate: 2018-07-23T15:51:46.647Z
Answers.UserDisplayName: natn2323
Answers.Body: <ol>
  <li>Google sheets is not a database. I'd yank my kids from any class that pretended that so fast the friction would burn the tile floors</li>
  <li>Using client end JavaScript to talk directly to the database is poor design for many reasons. </li>
  </ol>
  
  <p>Microsoft Access is about as clean a teaching tool as you can get for introducing databases. IT folk love to hate it, but it is the reason that nosql solutions were neglected for nearly two decades. In the hands of a pro, it tunes up much like DB2, and you can perform most functions without writing the SQL yourself.</p>
  
  <p>If you're concerned about the bad habits that Access programmers develop, the big 3 (Oracle, DB2, and SQL server) have free versions available. Postgresql is open source and robust enough that it can compete head to head with the big 3. However, of you go this route you will have to teach SQL.</p>
  
  <p>If you choose a "nosql" solution, you will have to teach the DSL for the nosql solution, which will not be less than the effort of teaching SQL.</p>
  
  <p>My 7 year old son is learning Java from an online self study course (and as a java programmer I am watching what he's learning so I know it's good), so there is no reason a motivated 14 year old can't learn a server side framework, which will provide the correct decoupling and connectivity for a serious web spp. 14 year old programmers are regular contributors to the open source MMORPG game engines such as Trinity (World of Warcraft enulator), programming in C++, SQL, and Lua.</p>
  
  <p>You might check out nodeJs if you don't want to get out of the JavaScript world.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-17T03:45:06.740Z
Answers.LastActivityDate: 2018-07-17T03:45:06.740Z
Answers.UserDisplayName: pojo-guy
Answers.Body: <p>You can try to use browser storages to explain some concepts of storing and retrieving data: cookies, local storage, session storage or even WebSQL. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-22T08:41:57.843Z
Answers.Text: It is worth noting that WebSQL [is deprecated](https://www.w3.org/TR/webdatabase/) and not supported properly in many major browsers; IndexedDB replaces it essentially.
Answers.UserDisplayName: Aurora0001
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-17T15:27:14.763Z
Answers.LastActivityDate: 2018-07-17T15:27:14.763Z
Answers.UserDisplayName: hanuman
Body: <p>I'm a web design teacher and I teach 9th graders (14 year olds) in the US.</p>
  
  <p>Currently the 9th grade curriculum in my HS programme teaches students CSS, HTML and JavaScript. Students can create buttons, forms, navigation bars, and other fun things at the end of the course.</p>
  
  <p>I was wondering - I want students to be able to get data from a database so they can inject data onto their websites.</p>
  
  <p>Is there any easy to use database platform that would allow 9th graders to enter data easily (like Google Sheets), and pull data using client-side JS? </p>
  
  <p>Even better would be that there already exists an API for getting queries so I don't have to teach SQL?</p>
  
  <p>Just looking for ideas! Even instructions on how to build the service myself would be great.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-07-08T17:45:35.733Z
Comments.Text: This topic is covered, more or less in other questions with tag [tag:databases].
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-07-08T17:53:23.587Z
Comments.Text: Stackoverflow also covers this topic. Use tag [tag:database] on that site, among other tags.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-07-08T18:00:27.087Z
Comments.Text: A google search for [populate database] will turn up several links, including many at stack overflow.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-07-10T23:22:47.390Z
Comments.Text: see also nosql. SQL is being used less and less. (I have been using couchdb, but not with students).
Comments.UserDisplayName: ctrl-alt-delor
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-07-17T03:14:59.267Z
Comments.Text: The return to nosql is by no means a given in industry. There is a trade-off between the ease of support for SQL solutions and the raw speed of many nosql solutions. The reasons industry switched to SQL from ISAM, VSAM and other nosql solutions in the 1990's are still valid.
Comments.UserDisplayName: pojo-guy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-07T02:27:20.167Z
Comments.Text: If you want to understand & reason per what databases/DBMSs involve & can be then look into Rel. If you prefer an industry stack they can translate per whatever DBMS you are using. Eg some SQL product.
Comments.UserDisplayName: philipxy
Tags: <web-development><databases><sql>
Title: Easy to use database for HS students
ThreadText: # Easy to use database for HS students
  
  (Asked by: username_0 on 2018-07-08)
  
  I'm a web design teacher and I teach 9th graders (14 year olds) in the US.
  
  Currently the 9th grade curriculum in my HS programme teaches students CSS, HTML and JavaScript. Students can create buttons, forms, navigation bars, and other fun things at the end of the course.
  
  I was wondering - I want students to be able to get data from a database so they can inject data onto their websites.
  
  Is there any easy to use database platform that would allow 9th graders to enter data easily (like Google Sheets), and pull data using client-side JS?
  
  Even better would be that there already exists an API for getting queries so I don't have to teach SQL?
  
  Just looking for ideas! Even instructions on how to build the service myself would be great.
  
  **Tags:** web-development, databases, sql
  
  > **Comments:**
  > **username_1**: This topic is covered, more or less in other questions with tag [tag:databases].  
  > **username_1**: Stackoverflow also covers this topic. Use tag [tag:database] on that site, among other tags.  
  > **username_1**: A google search for [populate database] will turn up several links, including many at stack overflow.  
  > **username_2**: see also nosql. SQL is being used less and less. (I have been using couchdb, but not with students).  
  > **username_3**: The return to nosql is by no means a given in industry. There is a trade-off between the ease of support for SQL solutions and the raw speed of many nosql solutions. The reasons industry switched to SQL from ISAM, VSAM and other nosql solutions in the 1990's are still valid.  
  > **username_4**: If you want to understand & reason per what databases/DBMSs involve & can be then look into Rel. If you prefer an industry stack they can translate per whatever DBMS you are using. Eg some SQL product.  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_5 on 2018-07-09. Score: 2
  
  > Is there any easy to use database platform that would allow 9th graders to enter data easily (like Google Sheets), and pull data using client-side JS?
  
  Given that you're thinking about Google Sheets as a data entry method, I understand that your goals don't extend to getting the students to implement server-side form handling. But in that case, why do you need a database? It seems to me that the requirements given can be met perfectly well by a hand-coded JSON file.
  
  
  ---
  
  ### Answer by username_6 on 2018-07-23. Score: 1
  
  There are some websites that have free APIs. One is [JSONPlaceholder](https://jsonplaceholder.typicode.com/), but you can easily request access to some others. For instance, [Strava](https://developers.strava.com/) offers some for those interested in developing applications from running / swimming / biking data; all you need is an account, which can be made at no cost!
  
  So in regards to the challenge at hand, you could use these online APIs in lieu of a database or a database platform. This would allow your students to learn about HTTP requests (or the like) and how these can be sent from and used by client-side JavaScript. But, perhaps more importantly, this confines the scope of the class to front-end technologies and methodologies, rather than delving too much into back-end techologies and databases, restricting this only to APIs.
  
  ---
  
  Now, depending on *your* knowledge, if you have some web development experience or are willing to learn about it, I recommend using [Node.js](https://nodejs.org/en/) and setting up a localserver on your network, or perhaps on a hosting platform (e.g. [Firebase](https://firebase.google.com/docs/hosting/), which I believe is free). From here, you can set up routes which handle HTTP requests, or the like, from which your students can send GET requests to. And since *you* would set up the routes and the data to be returned, you could tailor and personalize the data and the routes to the students (e.g. have a hypothetical endpoint `<YOUR-FIREBASE-APP>.firebaseapp.com/Jeremy` which would return info about your student Jeremy).
  
  My opinion? As a student, I would not only be impressed by a teacher who could do something like this, but also personally intrigued as to how routing and servers work. But, hey, maybe that's just me :)
  
  
  ---
  
  ### Answer by username_3 on 2018-07-17. Score: 0
  
  1. Google sheets is not a database. I'd yank my kids from any class that pretended that so fast the friction would burn the tile floors
  2. Using client end JavaScript to talk directly to the database is poor design for many reasons.
  
  Microsoft Access is about as clean a teaching tool as you can get for introducing databases. IT folk love to hate it, but it is the reason that nosql solutions were neglected for nearly two decades. In the hands of a pro, it tunes up much like DB2, and you can perform most functions without writing the SQL yourself.
  
  If you're concerned about the bad habits that Access programmers develop, the big 3 (Oracle, DB2, and SQL server) have free versions available. Postgresql is open source and robust enough that it can compete head to head with the big 3. However, of you go this route you will have to teach SQL.
  
  If you choose a "nosql" solution, you will have to teach the DSL for the nosql solution, which will not be less than the effort of teaching SQL.
  
  My 7 year old son is learning Java from an online self study course (and as a java programmer I am watching what he's learning so I know it's good), so there is no reason a motivated 14 year old can't learn a server side framework, which will provide the correct decoupling and connectivity for a serious web spp. 14 year old programmers are regular contributors to the open source MMORPG game engines such as Trinity (World of Warcraft enulator), programming in C++, SQL, and Lua.
  
  You might check out nodeJs if you don't want to get out of the JavaScript world.
  
  
  ---
  
  ### Answer by username_7 on 2018-07-17. Score: -1
  
  You can try to use browser storages to explain some concepts of storing and retrieving data: cookies, local storage, session storage or even WebSQL.
  
  > **Comments:**
  > **username_8**: It is worth noting that WebSQL [is deprecated](https://www.w3.org/TR/webdatabase/) and not supported properly in many major browsers; IndexedDB replaces it essentially.  
  
  ---
  
  