“Can you add another column?”
Sara has heard that one before. It's another morning at Sandline Supplies, our fictional distributor running on Beezr. The order sheet repeats names, delivery details and product descriptions.
Everyone wants a new screen. First, what does a row mean?
That's the point of “what is a data model”. Let's split the sheet into records, link them, then build screens.
What is a data model?
A data model is the plan for your records and their links. Think of labelled folders in a filing cabinet. Each fact has a home; cross-references lead you to other folders.
The terms are entities, attributes and relationships. Customer is an entity type; one customer is a record. Name is an attribute, held in a field.
An order points to who placed it. Oracle's guide shows how entities and attributes become tables, rows and columns. Start with which things need records of their own.
A data model example: split the order sheet
A flat list is fine when it fits the task. Here, one row tries to cover too many things.
| Order | Customer | Product SKU | Product description | Quantity | Unit |
|---|---|---|---|---|---|
| Northbay order | Northbay Hotels | NG-200 | Nitrile gloves, box of 100 | 40 | box |
| Dunecrest mixed order | Dunecrest Facilities | HLM-01 | Safety helmet, white | 1 | piece |
| Dunecrest mixed order | Dunecrest Facilities | TPE-48 | Packing tape 48 mm | 1 | roll |
These rows are order lines, not whole orders. Northbay orders 40 boxes of gloves. Dunecrest's mixed order has separate rows for HLM-01 and TPE-48.
Change Dunecrest's contact name. Which rows need fixing?
Now change HLM-01's description. Which old orders should keep the agreed wording?
For this design, current contacts belong on Customer. Keep the words in today's catalogue on Product. Agreed descriptions and unit prices stay on Order Line as a snapshot.
In Beezr, a module is a record type with fields, relations and rules. Build the modules your process needs.
| Module | One record means | Illustrative fields | Connection |
|---|---|---|---|
| Customers | One customer account | Account reference, name, current contact | Sales orders refer to this customer |
| Sales Orders | One order placed by a customer | Order reference, order date, status | Customer relation; related order lines |
| Order Lines | One product entry on one order | Quantity, agreed description, agreed unit price | Sales Order relation and Product relation |
| Products | One catalogue item | SKU, description, unit | Order lines refer to this product |
Use text for SKU: HLM-01 is an identifier, hyphen included. Use a date for order date. Choose integer or decimal based on whether quantities allow fractions.
Our boxes and pieces use whole quantities. Order status uses a lookup: Draft, Awaiting approval and Approved. Agree what those labels mean.
Build the records before the screens
- Name each record — Customer, Sales Order, Order Line, Product.
- Place each fact — current values on Product; agreed values on Order Line.
- Choose field types — text for SKU, date for order date, lookup for status.
- Link records — order to customer; line to order and product.
- Test real examples — Northbay's 40 boxes of NG-200 and Dunecrest's mixed order.
- Add screens and access — views and profiles over shared modules.
How do database relationships work?
One-to-many means one record can link to several on the other side. Here, a customer can have several orders. Each order has one customer: many-to-one in reverse.
One-to-one means each side has at most one match under the model. A separate profile for a customer could use that customer's unique key. We don't need that extra module here.
Microsoft's guide shows this distinction. Store the key for that customer on the order.
Avoid typing the name afresh. Names can change or look alike.
Beezr uses relation labels for display too. See the FAQ before configuring them.
Sandline · example
One order, with its own lines
Sara creates Northbay Hotels' order in Beezr, linked to its customer. The line links to that order and the NG-200 product. It has quantity 40, unit box.
Each box contains 100 gloves. Forty boxes and 40 gloves are very different deliveries.
Dunecrest's order has separate lines for HLM-01 and TPE-48. Another product means another line, rather than “Product 2” columns.
Sandline writes and tests a form rule to block invalid quantities. Its message says what to fix. Beezr's rule book can warn or block a save.
Is a lookup the same as a relation?
A lookup is a list of agreed values, like order status. A relation points to a record with its own fields. Product is one example.
How Beezr does it
Lookups keep an identifier. Rename a value and every record using it shows the new label.
Changing “Awaiting approval” to “Approved” changes the meaning too. Treat that as a change to the rules. Keep label fixes separate from approving records.
| Choice | Use it here for | The catch |
|---|---|---|
| Text | A delivery note or agreed line description | Free typing doesn't give you a shared controlled list |
| Lookup | Order status | A changed label affects all records using that value |
| Relation | The customer or product record | You need to manage the referenced records and choose the correct one |
| Separate snapshot field | Agreed unit price and description on the line | You must define when those values are set and who may change them |
How can three screens share one model?
Sara enters orders. Yousef in Jebel Ali wants a pick list. Hana checks agreed quantities and values before paying at month-end.
They need different screens over shared records. Private copies would bring the old sheet problem back.
A Beezr app is a menu over shared modules. Views include table, kanban, schedule, spreadsheet, cards and list.
| Working screen | View over shared records | Field access |
|---|---|---|
| Sales desk | Sales Orders kanban, with columns from the status lookup | Sara edits the fields needed to prepare an order |
| Warehouse | Table view; a record rule in the profile limits it to approved orders | Yousef reads product and quantity; agreed prices are hidden |
| Finance | Sales Orders table with access to the related line values | Hana reads order details and reviews agreed values |
Views lay out records. Profiles say which fields you can edit, only read, or not see. Record rules limit which records appear.
Each module has one form. The profile changes what each role can do on it. Sales kanban columns come from the status lookup.
How do you test a data model?
Try the product list from our made-up business. It holds products and units, not customers or orders.
Download Sandline's sample product catalogue
Download the Products module's own import template first. Map sample columns into it. Beezr imports CSV, XLSX and XLS, with a preview before confirmation.
A key in the row means update that record. An empty key means create one.
Don't assume a repeated SKU means update. You must plan how to match by SKU as a separate task.
Fix Must fix items before confirming. Then create customer, order and line relations. Loading a catalogue is only part of the model.
Where should this value live?
- If it has its own identity → use a related record — products hold more than labels.
- If it's a shared category → use a lookup — agree one meaning for each status.
- If a transaction has several items → use line records — add lines, not repeated columns.
- If it records the agreement at order time → store a snapshot — current catalogue values serve a different purpose.
Myth / Reality
“We'll fix the model with a new screen.” A screen can't decide where quantity belongs. Agree what each record means first.
Our take
Our take. Test awkward cases before decorating forms. Try several products, several orders and a changed description. Ask what should stay the same.
Key takeaways
- If you're technical: define rows, identifiers and snapshots first. Check how many rows can link each way. Then check what Beezr's display labels mean.
- If you're not: ask to see a customer, its orders and their lines. Then change a product description.
- Lookups hold categories; relations point to records.
- Views and profiles let roles work with shared records.
Model Sandline in Beezr
Build records, then screens.
- Create modules — Customers, Sales Orders, Order Lines, Products.
- Choose fields — SKU text, order date, quantities and a shared status lookup.
- Add relations — order to customer; line to order and product. Set their displays and tabs.
- Set views and access — table and kanban, application menus and role field permissions.
- Load and test — use the import template and preview. Try Northbay's 40-box order and Dunecrest's mixed order.
Questions readers ask
What are conceptual, logical and physical data models?
They're levels of detail, as SAP explains. Agree concepts and logical detail first. You need physical design to build and look after the database you choose.
| Level | The question | Sandline's example |
|---|---|---|
| Conceptual | What things matter, and how do they relate? | Customers place orders containing products |
| Logical | Which records, attributes and relationships express that? | Orders have lines; each line identifies a product and stores quantity |
| Physical | How will the chosen database implement the design? | Actual tables, columns, types and constraints |
Data model vs schema: what's the difference?
A schema often sets out the tables and columns in a database. A model can say what things mean before you choose a database.
A physical model can cover the same ground as a schema. Oracle shows logical, relational and physical forms of a design.
Ask what the document explains: why lines exist, or database storage? That tells you which decision you're reviewing.
What is a data model in Excel or Power BI?
Excel's Data Model joins tables for use in a workbook. You can analyse them with tools such as PivotTables. You needn't put every fact in one sheet.
Power BI links let a filter on one table act on another. Choose a customer to narrow the sales shown in a report. Microsoft says these links don't enforce data integrity: they don't check the data is sound.
Those links don't check how you enter or approve an order. An analysis model may arrange data differently from our working order system. Keep customer, product and line meanings clear in both.
What do Beezr's relation labels mean?
The master holds the key; the detail is the record it identifies. An order holds its customer's key. The word master needn't mean the parent in your business.
One to One shows the detail's View Field on each master. One to Many adds a tab on the detail listing masters. Use the Relation button for the former; Relations manager for the latter.
An order shows its customer's View Field. The customer's tab lists orders pointing to it. Order and Product tabs can show their lines.
Use what those labels tell you about the screen when building. Don't assume the label means only one record can match.
Why use separate order lines?
Each product has its own quantity and agreed price. Add one more product as one more line on that order. Customer and order details keep their own home.
Sandline Supplies is a fictional example company.
Sources
- Conceptual and Logical Data Model Quick Reference · SAP · Version 16.7.03; accessed 2026-10-17
- Data Modeler Concepts and Usage · Oracle · Version 18.4; accessed 2026-10-17
- Relationships between tables in a Data Model · Microsoft · Undated; accessed 2026-10-17
- Create a Data Model in Excel · Microsoft · Undated; accessed 2026-10-17
- Model relationships in Power BI Desktop · Microsoft Learn · Undated; accessed 2026-10-17