Note: You are currently viewing documentation for Moodle 3.1. Up-to-date documentation for the latest stable version of Moodle is probably available here: Building Database.

Building Database: Difference between revisions

From MoodleDocs
m (fixing minor image formatting issue)
(moving content to Using Database, content moved from Database fields)
Line 1: Line 1:
{{Database}}
{{Database}}
After creating a database, as explained in [[Database activity settings]]...
After creating a database, as explained in [[Database activity settings]]...
* Next you define the kind of [[Database fields|fields]] that define the information you wish to collect. For example a database of famous paintings may have a picture field called ''painting'', for uploading an image file showing the painting, and two text fields called ''artist'' and ''title'' for the name of the artist and the painting.
* Next you define the kind of fields that define the information you wish to collect. For example a database of famous paintings may have a picture field called ''painting'', for uploading an image file showing the painting, and two text fields called ''artist'' and ''title'' for the name of the artist and the painting.
* It is then optional to edit the [[Database templates|database templates]] to alter the way in which the database displays entries.
* It is then optional to edit the [[Database templates|database templates]] to alter the way in which the database displays entries.
* Note that if you later edit the fields in the databases you must use the Reset template button, or manually edit the template, to ensure the new fields are added to the display
* Note that if you later edit the fields in the databases you must use the Reset template button, or manually edit the template, to ensure the new fields are added to the display
* The teacher and/or students can start entering data and (optionally) commenting on and grading other submissions. These entries can be viewed alone, viewed as a list or searched and sorted.
* Data can be uploaded into the database from a .csv file.
You can add many kinds of fields to your database. After you have created some fields, you will be able to add information to the database.


==Creating a single entry==
==Database fields==


Go to the "Add entry" tab and fill in the form.
A '''field''' is a named unit of information. Each entry in a [[Database activity module|database activity module]] can have multiple fields of multiple types e.g. a text field called 'favourite color' which allows you to type in your favourite shade, or a menu called 'state' that lets you choose one from a list of the 50 that make up the United States of America. By combining several fields with appropriate names and types you should be able to capture all the relevant information about the items in your database.


==Importing many entries==
=== Field name and description ===
You can import entries via a csv file if you click the "Import entries" link in the Database activity administration block:


The name is what is shown when an entry is added. It must be unique and short. The description is for your benefit to help identify that field.


[[image:Databaseupload.png]]
=== Field types ===


Here's a sample of what a very simple file will look like.
The following screenshots show "before" and "afters" of setting up fields. The selection in orange shows the field as it is displayed for the user when they add an entry.


[[Image:Upload_csv_sample.png]]
;Checkbox
:This allows you to offer checkboxes for the user to select. Add the options one under the other. The word will appear next to a checkbox when the user clicks to add an entry. They can check more than one box.


Do not put spaces after your commas or upload will fail!
[[File:Checkboxfield1.png]]


After upload page import.php comes back blank if it failed.
;Date
If successful you'll read a message like, "1 entries saved".
:This allows a user to enter a date by picking a day, month and year from a drop down list.


==Activity import==
[[File:Datefield1.png]]
Database activity entries may be imported by uploading a text file. The easiest way to determine the format of the text file is to manually add an entry to the database and then export it. The resulting export text file may then be edited and used for importing entries.


CSV means Comma-Separated-Values and is a common format for text interchange.
;File
:Users can upload a file from their computer. If it is an image file then the picture field may be a better choice.


The expected file format is a plain text file with a list of field names as the first record. The data then follows, one record per line.
[[File:Filefield.png]]


The field delimiter defaults to a comma character and the field enclosure is not set by default (field enclosures are characters that surround each field in each record).
;Latitude/longitude
:Users can enter a geographic location using latitude and longitude. For example, [http://moodle.com/hq/ Moodle HQ] is at latitude -31.9545, longitude 115.877. When viewing the record, links are automatically generated linking to geographic data services such as [http://earth.google.com Google Earth], [http://www.openstreetmap.org/ OpenStreetMap], [http://www.geabios.com/ GeaBios],[http://www.mapstars.com/extern/deltaworks-holland Mapstars] and more. (The teacher can choose which of those links appear, if any.)


Records should be delimited by new lines (usually generated by pressing RETURN or ENTER in your text editor). Tabs can be specified using \t and newlines by \n.
[[File:Latlongfield.png]]


Sample file:
;Menu
:The text entered in the ''options'' area will be presented as a drop-down list for the user to choose from. Each line become a different option.


  name,height,weight
[[File:Menufield.png]]
  Kai,180cm,80kg
  Kim,170cm,60kg
  Koo,190cm,20kg


Warning: all field types may not be supported.
;Menu (Multi-select)
:The text entered in the ''options'' area will be presented as a list for the user to choose from and each line become a different option. By holding down control or shift as they click, users will be able to select multiple options. This is a fairly advanced computer skill so it may be wise to use multiple checkboxes instead.


==Exporting Database==
[[File:Multiselectfield.png]]
=== Choose the format you wish to export to ===


You can export entries either in CSV (comma separated values) or ODS (OpenOffice Calc) formats by clicking the tab at the top or by clicking the "Export entries" link in the Database Activity administration block. (Both CSV and ODS formats can be opened with MS Excel.)
;Number
:This allows users to enter any number. For example:
* 42
* -1000
* 0
* 0.123
* 3.0e8
:(For those who care about the technical details, the field stores floating point numbers.)


[[File:Numberfield.png]]


[[File:Databasexport.png]]
;Picture
:This allows a user to upload and display an image file. "Single view" is when the image is viewed on its own; "list view" is when it is viewed in with other images. Single view can be larger than list view.


When using the CSV format, the user can select either the comma, semicolon, or tab to separate the fields. The selection of the proper character is important. If users select to use a comma to separate the fields and some of the fields contain data with commas then the number of columns is going to be misaligned and likely cause confusion.
[[File:Picturefield.png]]


=== Choose the fields you wish to export ===
;Radio buttons
:The user gets radio buttons and can choose only one. They can only submit the entry when they have clicked on one button. (Note:If you only have two options and they are opposites (true/false, yes/no) then you could simply use a single checkbox instead. However checkboxes default to their unchecked status and so people could submit without actively selecting one of the options. This may not always be appropriate.)


Users can select which fields from the database they wish to have exported. By default, all fields are checked to be included. Choose the fields that you wish to have included in the export.
[[File:Radiofield.png]]


===Export entries ===
;Text
:Users can enter text up to 60 characters in length. For longer text, or for text that requires formatting such as headers and bullet points, you can use a text area field.


Once the export type and the fields to be exported have been selected, clicking on the Export entries pushbutton will generate the file. The user will usually have the option of either opening or saving the file.
[[File:Textfield.png]]


;Text area
:This allows users to enter a long piece of text using the text editor.


==Exporting to an external portfolio==
[[File:Textareafield.png]]
If an external [[Portfolios|portfolio]] such as [[Mahara_portfolio|Mahara]] has been enabled by the administrator then users have the option to export individual entries to that portfolio. They will see at the bottom of a database entry an "export" icon to click on and select the portfolio to export to:


[[File:Exportdatabasentry.png]]
;URL
:The user can add a link to a website here. If you select ''autolink'' then the URL becomes clickable.. If you also enter a ''forced name for the link'' then that text will be used for the hyperlink. For example in a database of authors you may wish people to enter the author's website. If you enter the text 'homepage' as a forced name then clicking on text "homepage" will take you to the entered URL.
 
[[File:Urlfield.png]]

Revision as of 09:42, 9 January 2012

After creating a database, as explained in Database activity settings...

  • Next you define the kind of fields that define the information you wish to collect. For example a database of famous paintings may have a picture field called painting, for uploading an image file showing the painting, and two text fields called artist and title for the name of the artist and the painting.
  • It is then optional to edit the database templates to alter the way in which the database displays entries.
  • Note that if you later edit the fields in the databases you must use the Reset template button, or manually edit the template, to ensure the new fields are added to the display

Database fields

A field is a named unit of information. Each entry in a database activity module can have multiple fields of multiple types e.g. a text field called 'favourite color' which allows you to type in your favourite shade, or a menu called 'state' that lets you choose one from a list of the 50 that make up the United States of America. By combining several fields with appropriate names and types you should be able to capture all the relevant information about the items in your database.

Field name and description

The name is what is shown when an entry is added. It must be unique and short. The description is for your benefit to help identify that field.

Field types

The following screenshots show "before" and "afters" of setting up fields. The selection in orange shows the field as it is displayed for the user when they add an entry.

Checkbox
This allows you to offer checkboxes for the user to select. Add the options one under the other. The word will appear next to a checkbox when the user clicks to add an entry. They can check more than one box.

Checkboxfield1.png

Date
This allows a user to enter a date by picking a day, month and year from a drop down list.

Datefield1.png

File
Users can upload a file from their computer. If it is an image file then the picture field may be a better choice.

Filefield.png

Latitude/longitude
Users can enter a geographic location using latitude and longitude. For example, Moodle HQ is at latitude -31.9545, longitude 115.877. When viewing the record, links are automatically generated linking to geographic data services such as Google Earth, OpenStreetMap, GeaBios,Mapstars and more. (The teacher can choose which of those links appear, if any.)

Latlongfield.png

Menu
The text entered in the options area will be presented as a drop-down list for the user to choose from. Each line become a different option.

Menufield.png

Menu (Multi-select)
The text entered in the options area will be presented as a list for the user to choose from and each line become a different option. By holding down control or shift as they click, users will be able to select multiple options. This is a fairly advanced computer skill so it may be wise to use multiple checkboxes instead.

Multiselectfield.png

Number
This allows users to enter any number. For example:
  • 42
  • -1000
  • 0
  • 0.123
  • 3.0e8
(For those who care about the technical details, the field stores floating point numbers.)

Numberfield.png

Picture
This allows a user to upload and display an image file. "Single view" is when the image is viewed on its own; "list view" is when it is viewed in with other images. Single view can be larger than list view.

Picturefield.png

Radio buttons
The user gets radio buttons and can choose only one. They can only submit the entry when they have clicked on one button. (Note:If you only have two options and they are opposites (true/false, yes/no) then you could simply use a single checkbox instead. However checkboxes default to their unchecked status and so people could submit without actively selecting one of the options. This may not always be appropriate.)

Radiofield.png

Text
Users can enter text up to 60 characters in length. For longer text, or for text that requires formatting such as headers and bullet points, you can use a text area field.

Textfield.png

Text area
This allows users to enter a long piece of text using the text editor.

Textareafield.png

URL
The user can add a link to a website here. If you select autolink then the URL becomes clickable.. If you also enter a forced name for the link then that text will be used for the hyperlink. For example in a database of authors you may wish people to enter the author's website. If you enter the text 'homepage' as a forced name then clicking on text "homepage" will take you to the entered URL.

Urlfield.png