Join the Free Database Training Course From Backendless
Tags: beginners, tutorial, database, codenewbie
Published: 2023-02-24 15:42:51

Building the perfect database doesn’t have to take months or years. Backendless Database is a robust, powerful, and infinitely scalable database solution perfect for coders and no-coders alike.

In our newest **ongoing** video course, you will learn all of the ins and outs of our incredibly robust real-time database.

{% embed https://youtu.be/WLTrNhu9m8Q %}
Backendless founder Mark Piller will guide you through all of the powerful functionality of our most innovative feature: [Backendless Database](https://backendless.com/feature/backendless-database/?utm_campaign=dbcourseblog). New videos release each week, expanding on new topics as well as addressing your questions and feedback.

Looking for an explanation of a specific element of Backendless Database? Leave a comment below. **Be sure to bookmark this post as we will be updating it weekly as new lessons are released.**

Whether you’re an experienced coder looking to speed up development dramatically or a no-coder looking for a truly scalable database solution, this course can help you. Watch the intro video above for more information and [start the course for free today](https://www.youtube.com/playlist?list=PLWRqDbbT5r9CUikehiVM89gqd-9mhG2Wh)!

_This course is part of the [**Backendless Learning Path**](https://backendless.com/become-a-backendless-certified-software-engineer/ideal-backendless-learning-path/) that ends with the opportunity to become a [Certified Backendless Engineer](https://backendless.com/become-a-backendless-certified-software-engineer/)._

1\. Data Tables, Columns and Records
------------------------------------

{% embed https://youtu.be/hYtnU_yKNIM %}
In this video, we explain the core concepts of a backend database. We go over the basic elements of a database, such as tables, columns, and records. We describe how tables are similar to spreadsheets and how they are used to store data of a specific kind. We also explain that when a table is created in Backendless, it automatically provides an API for adding, retrieving, modifying, and deleting records. Finally, we also briefly introduce data types that we will go over in more detail in future videos.

2\. About Data Types
--------------------

{% embed https://youtu.be/sCO1SusmVwY %}
In this video, we discuss the importance of data types in building logic for your application. We explain that data types directly relate to columns and records, and that they are important for both frontend and backend development. We introduce some basic data types, such as text and numbers, and explain the operations that they support. We also explain how to identify the data types for the data that you’re working with, which is done early on in the design stage of your application. Finally, we show how to create a table in Backendless Database for the properties of an entity.

3\. Adding Data Records
-----------------------

{% embed https://youtu.be/6PBzDB9znbg %}
In this video, we will be discussing different ways to add data to your Backendless Database. One way is through the Management Console, which we briefly covered in a previous video. The other way is by using the API. We will go over the mechanics of what it means to get data into the Backendless Database and how it relates to the database schema. We will also go over how to manually enter data into the database through the Management Console and how to use the API to add data to the database through a REST endpoint URL. We will also be looking at how to use the API with external systems such as UI development systems and how to format the data in JSON format.

4\. String and Text Data Types
------------------------------

{% embed https://youtu.be/B-asb8y17GI %}
In this video, we’ll be discussing the string and text data types. Both string and text are data types that can be assigned to columns in your database tables, and they designate that those columns can store string-based information. The operations that are applicable to text include concatenation, searching within text, and checking if a substring or character is present. We’ll also go over some of the configuration parameters and demonstrate how they come into play when storing or updating data in the database. Additionally, we’ll show the difference between using a string and text data type and the effects it has on search speed.

5\. Multiple Choice Data Type
-----------------------------

{% embed https://youtu.be/3fVjnk8nL-U %}
In this video, we will be reviewing the multiple choice data type. This data type is special in that it internally uses the string data type, but it provides extra value by making it easier for you to make selections for values and visualize them accordingly in Backendless Console. We will review the configuration options for the multiple choice data type, such as maximum length, default value, and constraints. We will also show how to rearrange values and how to enable or disable colors. Additionally, we will demonstrate how the “use validation” option works and how it can be used to restrict acceptable values for a particular column. Lastly, we will show how to use the values/labels option and how to enable multiple selection for a column.

6\. Numeric Data Types
----------------------

{% embed https://youtu.be/EQs5Xf-rItc %}
In this video, we’ll be discussing the numeric data types. We’ll take a look at the core numeric data types: int, double, and decimal, and the ranges they support. Int is for whole numbers and supports a large range of data, double is a floating point with double precision and is not recommended for scientific data due to precision, and decimal has a fixed precision and scale. We’ll also take a look at the shortcut, money, which is a decimal with a precision of 10 and scale of 2, making it convenient to represent a fraction of currency. We’ll also show how to define and configure these data types in Backendless Console and demonstrate how to store data in the Data Browser.

7\. Auto Number Data Type
-------------------------

{% embed https://youtu.be/vEy4xmud6II %}
In this video, we’re diving into a powerful data type called Auto Number (also known as Auto Increment). This type of data allows for values in a specific column to be automatically assigned and incremented as new records are added to the table. It’s a simple but effective concept, especially when you need to assign unique values that are easy to understand. We demonstrate how to set up an Auto Number column and highlight some key considerations to keep in mind when configuring this type of column. Additionally, we show you how to control the initial value of the column and how the database will adjust it to the next available value if you attempt to go below a previously established threshold.

8\. DateTime Data Type
----------------------

{% embed https://youtu.be/HKQPDt2HZtc %}
In this video, we will be discussing the datetime data type. We will demonstrate how to create a column of this data type and the data formats that it supports. We will also show you the kind of things that you can do to retrieve data using this data type. We will start with configuring a column, and as an example, we will take a look at the date of birth column. We will also demonstrate some examples of how to query the database with the syntax that we support. Additionally, we will show you how to store data with the datetime information and how the database automatically converts the data to the client’s time zone.

9\. Boolean Data Type
---------------------

{% embed https://youtu.be/BPfenJcZqRA %}
In this video, we discuss the Boolean data type in the Backendless Database. Boolean values are traditionally either true or false and they may indicate whether something happened or not, whether there is a certain quality present or not, and so on. In Backendless, there is a third value that a Boolean type may contain and it is null. We will discuss when and why you may want to use this third option. Finally, we also show how to create a Boolean column in Backendless and the different options available for visualization.

10\. File Reference Data Type
-----------------------------

{% embed https://youtu.be/-DLMiQLYv8E %}
In this video, we will be discussing the file reference data type. The file reference data type is designed to provide the ability for your data records to reference a file that is stored somewhere, whether that be in the Backendless file storage system or anywhere on the web with a URL. We recommend using the file storage system for any use cases outside of storing JSON files and manipulating the JSON data inside of them. Backendless provides a file system that is a powerful system where you can store files in directories, upload, download, move them, delete files, and get directory listings. In this video, we’ll show how to create a reference to a file in the file storage system and how the data is returned when querying the database.

11\. JSON Data Type
-------------------

{% embed https://youtu.be/a0aVxa-cTr8 %}
In this video, we’re going to be discussing the JSON data type. The database itself is a relational system that provides support for well-structured data where you can describe pretty much any entity by identifying its properties and declaring those properties as columns and the corresponding data tables as a result. However, there are some cases when any given entity may need to have additional description that does not follow a specific structure, and that’s where JSON comes in. We’ll be discussing some use cases and examples of when it makes sense to start using JSON in Backendless. We’ll also demonstrate how to create a JSON column and work with JSON documents in Backendless Console.

12\. Money Data Type
--------------------

{% embed https://youtu.be/uIGTgwDp38Y %}
In this video, we talk about the money data type available in Backendless Console. Money is a shortcut for the decimal type that is already pre-configured to express currency values with precision 10 and scale 2. That said, additional formatting may be necessary when displaying currency values in the UI, even though the actual numeric value might return from the API without a trailing zero. We’ll be discussing different ways of formatting data in an upcoming video dedicated to UI Builder – stay tuned!

13\. Color Data Type
--------------------

{% embed https://youtu.be/PBO_Cy2M4wU %}
In this video, we discuss the Color data type in Backendless Database. With this data type, you can easily store and display colors for your web and mobile applications with Backendless. The Color data type is a specialized string shortcut that returns a hexadecimal value, making it simple to select and create the exact color you need. We’ll show you how to use the intuitive color selector to quickly assign properties to records or use default values if desired. We’ll also discuss how you’ll be able to use our upcoming Visualization feature to easily see all of your data properties at once.

14\. Data Import and API Setup
------------------------------

{% embed https://youtu.be/6cHz0JKN0v8 %}
In this video, we dive into the world of Backendless Database APIs. To start learning, we’ll need some sample data to work with. We’ve prepared a sample schema in the sample database data, which can be downloaded using the link below. In this tutorial, we’ll walk you through the process of importing the sample data into your Backendless database and give you a sneak peek of the actual data import process. By the end of this video, you’ll have a better understanding of how to import data into Backendless and how to visualize your data using the schema visual modeler feature.

15\. What is API?
-----------------

{% embed https://youtu.be/YZZh1zqowtA %}
In this video, we are taking you through the basics of Backendless Database APIs. Before diving into the actual API lectures, we want to make sure you have a solid understanding of what APIs are and how they are structured. This will make it easier for you to understand our documentation and make you a better engineer in the process. This video will show you how to run a basic API request and take a look at its structure using REST Console and dev tools. We will also cover the elements of an API request including HTTP method, endpoint, headers, and body. By the end of this video, you will have a good understanding of the structure of API requests and responses.

16\. Basic Data Retrieval API
-----------------------------

{% embed https://youtu.be/ZTYeybQ-Sjs %}
In this video, we’ll be focusing strictly on the basics of data retrieval from the Backendless Database. We’ll be using the product table for demonstration purposes and will go through the REST Console to retrieve data. We’ll also show you how to retrieve the data using the API in an application. We’ll switch to the UI Builder where we’ll create a new page using the template for basic data retrieval. The logic for data retrieval sits on the actual page and we’ll briefly go over the on page enter handler. Finally, we’ll preview the page and see how the data is rendered in the UI.

17\. Data Retrieval With Sorting
--------------------------------

{% embed https://youtu.be/oonA8oq5Www %}
In this video, we will be discussing data sorting. Data sorting is a simple process that sorts data either in ascending or descending order, regardless of whether it’s numeric, alphanumeric, or alphabetic. The data sorting process is made easy in Backendless with the data retrieval API. We’ll also show you how to sort data from the REST console perspective and in UI Builder, the codeless alternative. The process involves identifying the columns, selecting the property to sort by, and modifying the URL with the sort by parameter. We’ll demonstrate how to sort by multiple columns and how to sort in descending order.

18\. Requesting Specific Properties
-----------------------------------

{% embed https://youtu.be/Kcndko1vSZ8 %}
In this video, we dive into the data retrieval API and explore how to request specific properties when making database queries. We demonstrate the process using both the REST Console and UI Builder, showing how to restrict the data returned to optimize performance and ensure security. We also explain the structure of the REST API and how to specify which properties you want to retrieve. Finally, we cover how this applies to relations and how it works in UI Builder, where you can instruct the backend to return only specific properties for every single object.

19\. Excluding Specific Properties
----------------------------------

{% embed https://youtu.be/IX6Flc1xsAI %}
In this video, we learn how to specify which properties should be excluded in a request to Backendless Database. Whether you choose to use inclusion or exclusion, it all depends on your use case. We’ll be using UI Builder to demonstrate the process, which will also work for regular APIs with our SDKs. We’ll be exploring the exclude properties connector. This connector expects a list of properties that should not be returned to the client. And to answer the burning question, what happens if you specify a property in both the property list and the exclude properties list? We’ll run the page and find out.

20\. About the Where Clause
---------------------------

{% embed https://youtu.be/vnczIQQMpQA %}
In this video, we review the power of the “where clause” in Backendless Database. We’ll discuss the structure of the where clause, starting with the most basic form of identifying a column name, operator, and value. We then cover how the where clause can get more complex by combining conditions for multiple columns using “and” and “or” logical operators. Finally, we also cover how to test and run the where clause in Backendless Console and through REST API.

21\. Where Clause Operators and Data Types
------------------------------------------

{% embed https://youtu.be/NPk4oCA3Q78 %}
In this video, we dive into the available operators for various data types in the where clause structure. From numeric data types like integers and decimals, to text data types like string and text, to datetime data types, and Boolean data types, we cover the different operators you can use to build conditions in your queries. We’ll also show specific examples of how these operators work in practice using Backendless Console.

22\. Database Functions
-----------------------

{% embed https://youtu.be/5-7rTBRTx8s %}
In this video, we go through the powerful mechanism of database functions. We explain how functions can be used to transform data coming from the database and make conditions more precise, elegant, and powerful. We start with a demonstration of basic scenarios before going through a list of all the available functions in Backendless. The video covers two main uses of database functions: data transformation and use in the “where” clause. We also categorize the functions in Backendless into three categories: date-time functions, string functions, and aggregate functions.

23\. Data Paging
----------------

{% embed https://youtu.be/GSOj5p9R9eo %}
In this video, we dive into the concept of data paging, an extremely important aspect of backend systems that has direct impact on data retrieval APIs. Data paging allows for the retrieval of larger sets of data in chunks or pages and can be controlled through the use of parameters in the data retrieval API. This technique is implemented for performance reasons, as retrieving all data at once can negatively impact both the user experience and the performance of the application.

24\. Retrieve an Object by ID
-----------------------------

{% embed https://youtu.be/993QG_3K9io %}
In this video, we review an API that allows for the retrieval of a specific object by its object ID. The API has additional parameters that can be specified and we walk you through them in detail. We also demonstrate how this functionality can be useful in a product page scenario, where a product is identified by its object ID and displayed on a screen. We take you through the backend section to show what objects are in the data table and how they can be retrieved.

25\. Object Update API
----------------------

{% embed https://youtu.be/RO2nmOqIaH8 %}
In this video, we discuss the Object Update API that enables the modification of one or more properties of an object in the database. It is different from storing a new object because the object is already in the database, with an object ID assigned to it. In Backendless Console, we demonstrate how modifications done in the data browser do not use the API. We then demonstrate how to use the API to update a record and how it can be used with any of our SDKs.

26\. Object Delete API
----------------------

{% embed https://youtu.be/Xjd9HGTujEg %}
In this video, we talk about the Object Delete API, which is an API designed to delete a specific object in the database. We identify that object with its object ID. Every single object stored in the database has its own unique ID, and that’s the ID we use to identify a specific object that should be deleted. We demonstrate how to use this API with the REST API provided by Backendless, and we also do a demo using Codeless, but it will equally apply to the API available in all of our SDKs.

27\. Bulk Create API
--------------------

{% embed https://youtu.be/Rg-tuLaD1I0 %}
In this video, we learn about the Bulk Create API, which allows users to save multiple objects in the database with a single API call. As an example, we’ll explore how this API can benefit users who are working on a to-do app where they need to save multiple tasks. By using the Bulk Create API, fewer API calls to the database are needed which can result in a better user experience.

28\. Bulk Delete API
--------------------

{% embed https://youtu.be/jA2DZHVK2Vk %}
In this video, we will talk about the Bulk Delete API that allows you to delete multiple objects from a table. We will demonstrate how it works using the REST Console and then show an example in UI Builder. In the UI Builder example, we will show how you can select multiple records with checkboxes and delete them at once. We will also discuss the different types of where clauses you can use, including how to use the “in” operator to specify individual object IDs to be deleted.

29\. Bulk Update API
--------------------

{% embed https://youtu.be/1OpyP-DDZ8U %}
In this video, we will be discussing the Bulk Update API, which allows you to update multiple objects with a single API call. You can update a single or multiple properties, and the objects to be updated are identified with the where clause identical to the way it works with the Bulk Delete API. We will be going over some animations with slides to demonstrate the mechanics of how bulk update works. Then, we’ll review that API in REST Console, and finally, there will be a demo with UI Builder and Codeless bulk update.

30\. Object Upsert API
----------------------

{% embed https://youtu.be/AQTFFB3B2tw %}
In this video, we will be discussing the Upsert API, a special API that allows you to create new objects in the database and update existing ones using the same method. The convenience of this API is huge, and there are many practical applications where you might need to use it. If your system imports data from an external source, for example, you may need to write extra logic to determine if an item already exists in the database before you can update it. With Upsert, this logic is built into the API, so you don’t have to worry about it. Object ID is a required property for both create and update, and the API uses it to determine if the object needs to be created or updated.

Conclusion
----------

This course is the second video in the ideal Backendless learning path. Between the video courses and [Backendless Missions](https://backendless.com/introducing-backendless-missions-learn-get-rewards/), you will have a strong foundation that will allow you to build virtually any type of application with Backendless.

1.  [Codeless Fundamentals](https://www.youtube.com/playlist?list=PLWRqDbbT5r9ClwHuSiZZqOpbqu0ac0Boq)
2.  Backendless Database Training Course <- You are here
3.  [Backendless User Management](https://www.youtube.com/playlist?list=PLWRqDbbT5r9B0NlVfXvk6o-Av-o_9-ATq)
4.  [UI Builder Intro](https://www.youtube.com/playlist?list=PLWRqDbbT5r9CoT7FpUKVb3fmg4ZkUj4vd)
5.  [UI Builder Masterclass](https://www.youtube.com/playlist?list=PLWRqDbbT5r9CJlZrWlGrQOZSZ5mxUK1Zf)

Complete the path to have the opportunity to become a [Backendless Certified Engineer](https://backendless.com/become-a-backendless-certified-software-engineer/).

Not a Backendless developer yet? [Get started for free today!](https://develop.backendless.com/registration)

More Videos Coming Weekly
-------------------------

Unlike our previous courses, this course is **ongoing**. We will be adding new videos weekly.

If you have specific questions or areas of Backendless Database you’d like to learn more about, **leave a comment below**. Your feedback may be the basis for a future video!

*This article first appeared on [https://backendless.com](https://backendless.com/mastering-backendless-database/).*