Use the same account next time to pick up where you left off.
|Production Salesforce account||Developer Edition or Admin Playground|
|Do I need to be a Salesforce customer?||Yes||No (It's free!)|
|Can I use it to create my Trailhead profile and store my badges?||Yes||Yes|
|Can I use it to complete Trailhead challenges?||No (except for multiple choices quizzes)||Yes|
|Can I keep my Trailhead badges if I leave my company?||No||Yes (use a personal email address)|
Salesforce has two different user interfaces: Lightning Experience and Salesforce Classic. It’s easy to switch between the two. You can learn about switching between interfaces, enabling Lightning Experience, and more in the Lightning Experience Basics module here on Trailhead.
This module is designed for Salesforce Classic.
The Force.com platform provides a powerful database, with many features that make it faster and easier to create applications. In a relational database, data is stored in tables. Each table comprises a number of columns of a particular data type, such as text, number, or date. Information is stored in rows of the table. Tables can be related to other tables, using primary and foreign keys. Apps manage information by creating, reading, updating, and deleting rows in a table.
The database in Force.com, on the other hand, uses objects to store data. Objects contain all the functionality you expect in a table, with additional enhancements that make them more powerful and versatile. Each object comprises a number of fields, which correspond to columns in a database. Data is stored in records of the object, which correspond to rows in a database.
Custom Objects—These are new objects you create to store information unique to your organization. Custom objects extend the functionality that standard objects provide. For example, if you’re building an app to track product inventory, you can create custom objects called Merchandise and Invoices, as shown in the figure below.
Objects can have relationship fields that define how records in one object relate to records in another object. These fields play the same role as primary and foreign keys in a database, but they’re more flexible, making it easier to design and implement your data model.
Whether they’re standard or custom, Force.com objects not only provide structure for storing data but also power the interface elements that allow users to interact with the data, such as tabs, the layout of fields on a page, and lists of related records. They also have built-in support for features such as access management, validation, formulas, and history tracking. All attributes of an object are described with metadata, making it easy to create and modify records either through a visual interface or programmatically.
As you can see, objects are a lot more than simply containers for storing data. They provide a rich set of functionality that frees you up to focus on building the features unique to your product. This ensures you can focus your development efforts on the features unique to your product, enhancing productivity and reducing time to market.
Each standard or custom object consists of a set of fields. There are several different types of fields, as described below.
Force.com automatically assigns an identity field (called ID) to every object, and manages the identity data in every record. This identity field usually comes in a 15-character case sensitive form, which you may have already seen while using the platform. For example, when looking at the details of a record, the URL has the form:
Here, 0015000000Gv7qJ is the identifier for the record. Every record in your application will have such an identifier, and as a result you can view every record (across all objects) by simply using a URL of the above form. The platform will automatically retrieve the record and the associated metadata, and display that record using the automatically generated user interface.
The name field of an object is a required field that has a special place in the life of the object. The record name is intended as a human-readable identifier for a record. It's not required to be a unique identifier, but it is supposed to be the primary way users distinguish one record from another. In the automatically generated user interfaces, you’ll see that the value for the name is always displayed as a link to the record itself, to its own detail page.
A name can be one of two types: a text string or an auto-number field. For an auto-number field, you must specify the format for the field and the starting number. Auto number fields increment by one each time a record is created.
You can define custom fields, either to extend the functionality of a standard object, or when creating new custom objects. All fields in an object must be defined as a particular data type. Here's a summary of many of the supported data types:
The basic Text, Auto Number and Number are found on many relational databases. The Formula field type is somewhat different to the others. Instead of holding a value, it derives its value from a supplied formula expression. The field is then updated whenever any of the source fields are changed. Checkbox fields, Email fields, URL fields and Phone fields include some automatic formatting capabilities when displayed as part of the automatically generated user interface.
The Force.com database differs from relational databases in the way that record relationships are implemented. Instead of having to deal with primary keys and foreign keys, to define relationships between data, Force.com uses relationship fields. A relationship field stores the ID of the parent record in a relationship, as well as optionally providing user interface representations in both the parent and child records.
You can define two types of relationship fields.
The use of relationship fields greatly simplifies the task of designing and implementing an effective data model for your app.
Here is a partial list of features available with all objects.
In most cases, you can simply activate and configure these features on your objects to get the desired functionality.
Here are some tips: