Database Structure & Custom Objects | Community
Skip to main content
December 19, 2015
Question

Database Structure & Custom Objects

  • December 19, 2015
  • 2 replies
  • 3844 views

Hello,

We're in the process of starting from scratch with a new instance. I'm looking for some guidance on how to set up our database. Here's the scenario:

- No data integration (manual .csv imports for now)

- Multiple products with different data sets (registration and product usage data)

- Customers can trial/purchase multiple products (so, a record can be in multiple product data sets)

- Other data sources (data matching, analytics, etc.)

My thought was to create a custom object for each product and data source. Use the main database a profile data. If we have multiple custom objects, do we need to import a file separately or is there a way to just have one file and map it to each object?

Looking forward to hearing your recommendations.


Cheers,

Sam

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

Grégoire_Miche2
Level 10
December 20, 2015

Hi Sam,

My first reaction would be to try to minimize the complexity of the schema and think ahead on what is going to happen in the future if you want to add products or channels. You may end up with a lot of different custom objects. Therefore, I would rather use a schema where information such as product or channels and filed values, not hard written in the custom object name. I would rather create 1 unique custom object with enough fields to handle the various aspects :

  • Product Name
  • Product Status (trial, purchased, ...)
  • Data source

Custom object import has to be done 1 custom object at a time, which also pledges for a single custom object. You also may consider using the API to do the import.

A key questions will be link fields (email or lead ID?) and Unique IDs for your custom object instances.

-Greg

December 20, 2015

Hi Greg,

So, we have customers that could be trialing multiple products with the same email address. I'm trying to keep things as simple as possible right now because we don't have must dev support so the plan was to use email as the identifier. The file that I'll be importing has duplicate email addresses. I need to ensure that a customer has data for each of the products. This is what I'm trying to figure out. Any thoughts?

I'd love to do an API but again, limited resources.

Grégoire_Miche2
Level 10
December 20, 2015

Hi Sam,

No problem. With a unique custom object, you can handle this. When defining the table, you will need to define a Unique ID (UID) that will enable you to:

  1. Differentiate the records and avoid they merge while you would want to keep them separate
  2. Update them later, for instance when the status will have to be updated

The fact that the file has duplicate email addresses is not important as long as theses lines have different UIDs.

So you need to add a Unique ID to your import file and create this Unique ID in your custom object.

If you cannot use the API, then you will have to keep using imports to add records to the custom object or update them.

-Greg

Kenny_Elkington
Adobe Employee
Adobe Employee
December 21, 2015

You'll need to import custom objects of different types in separate files.  The custom object import feature isn't designed to handle multiple types at once, not to mention that it would be difficult and confusing to make a csv file which represented that.