{"id":9112,"date":"2026-09-01T06:22:24","date_gmt":"2026-09-01T06:22:24","guid":{"rendered":"https:\/\/aboutknowledge.com\/?p=9112"},"modified":"2026-09-01T09:30:49","modified_gmt":"2026-09-01T09:30:49","slug":"odoo-database-structure-explained","status":"publish","type":"post","link":"https:\/\/aboutknowledge.com\/zh\/odoo-database-structure-explained\/","title":{"rendered":"Odoo Database Structure Explained"},"content":{"rendered":"<h2>Why a business owner should care<\/h2>\n<p>You do not need to write SQL. But three decisions depend on understanding roughly how Odoo stores data:<\/p>\n<p><strong>Whether your data is portable.<\/strong> Can you get it out if you ever leave?<\/p>\n<p><strong>Why some changes are blocked.<\/strong> Odoo refuses certain edits, and the reason is structural rather than arbitrary.<\/p>\n<p><strong>Why reports can be trusted.<\/strong> Or not.<\/p>\n<p>This article covers the shape of it, without the technical detail.<\/p>\n<h2>One database, standard format<\/h2>\n<p>Odoo stores everything in <strong>PostgreSQL<\/strong> \u2014 a standard, widely used, open-source database.<\/p>\n<p>Three consequences that matter commercially.<\/p>\n<p><strong>No proprietary format.<\/strong> Your data is not locked in an encrypted file only the vendor can open. A backup can be read with standard tools.<\/p>\n<p><strong>Portable.<\/strong> You can host it on Odoo&#8217;s cloud, on your own server, or move between them.<\/p>\n<p><strong>Yours if you leave.<\/strong> Compare that with systems where getting your own history out requires a paid export service and a three-month wait.<\/p>\n<p><strong>One thing to know:<\/strong> attachments and images are not in the database. They live in a separate <strong>filestore<\/strong> on disk. A backup needs both \u2014 a database backup alone restores your invoices with every attachment missing.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 1: WHAT A COMPLETE BACKUP CONTAINS<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">The database<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Customers, products, orders<\/li>\n<li>Stock moves and journal entries<\/li>\n<li>Settings and user accounts<\/li>\n<li>Standard PostgreSQL format<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">The filestore<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Attachments and uploaded documents<\/li>\n<li>Product images<\/li>\n<li>Report PDFs that were saved<\/li>\n<li>Separate files on disk<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>Models and records<\/h2>\n<p>Odoo organises data into <strong>models<\/strong>. A model is a type of thing \u2014 a customer, a product, a sales order, a journal entry.<\/p>\n<p>Each model has <strong>fields<\/strong> \u2014 the pieces of information it holds. A customer has a name, an address, a payment term.<\/p>\n<p>Each individual entry is a <strong>record<\/strong>.<\/p>\n<p>That is the whole vocabulary. When somebody says &#8220;the sale.order model&#8221;, they mean the sales order table.<\/p>\n<h2>Relationships<\/h2>\n<p>This is the part that explains a lot of Odoo&#8217;s behaviour.<\/p>\n<p>Records are linked to each other. A sales order links to a customer, to a price list, to order lines, to deliveries, to invoices.<\/p>\n<p>Those links are why <strong>deleting is often blocked<\/strong>.<\/p>\n<p>If a customer has invoices, Odoo will not let you delete the customer \u2014 the invoices would point at nothing, and your accounts would break.<\/p>\n<p><strong>This is a protection, not an obstacle.<\/strong> The right answer is almost always to <strong>archive<\/strong> rather than delete. Archiving removes the record from normal views and keeps every link intact.<\/p>\n<p><strong>A useful rule:<\/strong> archive by default, delete almost never.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 2: THREE THINGS THE STRUCTURE EXPLAINS<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Why deleting is blocked<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Records are linked. Deleting one would leave others pointing at nothing.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Why archiving exists<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>It hides the record and keeps every link. Almost always what you actually want.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Why some changes are refused<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>A product&#8217;s unit of measure is embedded in every past transaction.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>Why some changes are refused<\/h2>\n<p>Two examples that come up constantly, and both make sense once you see the structure.<\/p>\n<p><strong>Unit of measure on a product.<\/strong> Once a product has stock moves and order lines, its unit is embedded in all of them. Changing it would make every historical record wrong. Odoo blocks it.<\/p>\n<p><strong>Editing a posted invoice.<\/strong> It has a sequence number and journal entries. Changing it silently would break your audit trail. You issue a credit note instead.<\/p>\n<p><strong>Neither is Odoo being awkward.<\/strong> Both protect the integrity of data other records depend on.<\/p>\n<p>The practical lesson: <strong>get units of measure and your chart of accounts right before you start<\/strong>, because those are the decisions the structure makes permanent.<\/p>\n<h2>Where your business data lives<\/h2>\n<p>A rough map, useful when somebody asks where something is stored.<\/p>\n<p><strong>Partners.<\/strong> Customers, suppliers and contacts are all the same model, distinguished by flags. One company appearing as both a customer and a supplier is one record, not two.<\/p>\n<p><strong>Products.<\/strong> Split into templates and variants. A shirt is a template; each size and colour is a variant with its own stock.<\/p>\n<p><strong>Stock.<\/strong> Quants hold current quantity by location. Moves hold the history of every change.<\/p>\n<p><strong>Accounting.<\/strong> Journal entries, each with lines that must balance. Odoo enforces that at the database level.<\/p>\n<p><strong>Documents.<\/strong> Sales orders, purchase orders, invoices \u2014 each a header record with line records attached.<\/p>\n<h2>Custom fields and modules<\/h2>\n<p>When a developer adds a field, it becomes a real column in the database, defined by the module that added it.<\/p>\n<p><strong>Why that matters:<\/strong><\/p>\n<p><strong>Uninstalling the module removes the field and its data.<\/strong> Never uninstall a custom module on a live system without understanding what it holds.<\/p>\n<p><strong>Version upgrades touch the structure.<\/strong> Fields get renamed, models get restructured. Custom modules built against the old structure need checking.<\/p>\n<p><strong>Studio changes are also structural.<\/strong> They create fields too, with less visibility over what was added and why.<\/p>\n<h2>Backups, practically<\/h2>\n<p>Three things, and the third is the one people skip.<\/p>\n<p><strong>Back up both parts.<\/strong> Database and filestore.<\/p>\n<p><strong>Store a copy off the server.<\/strong> A backup on the same machine does not survive the machine failing or being encrypted.<\/p>\n<p><strong>Test a restore quarterly.<\/strong> Restore into a separate database. Open it. Check a recent invoice, an attachment and a stock figure.<\/p>\n<p><strong>An untested backup is not a backup.<\/strong> The number of companies who discover theirs have been silently failing \u2014 at the moment they need one \u2014 is not small.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 3: WHAT THE STRUCTURE MEANS IN PRACTICE<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Your data is portable<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Standard PostgreSQL. No proprietary format, no vendor lock.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Archive, do not delete<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Links protect your history. Archiving is almost always the right answer.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Get units and accounts right early<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Both become effectively permanent once you have transactions.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Back up both parts, and test it<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Database plus filestore, stored off the server, restored quarterly.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>What this means for you<\/h2>\n<p>Four practical positions.<\/p>\n<p><strong>Your data is not trapped.<\/strong> That is a genuine advantage over many alternatives, and it is worth knowing.<\/p>\n<p><strong>Archive instead of deleting.<\/strong> Safe, reversible, and it keeps your history intact.<\/p>\n<p><strong>Decide units of measure and chart of accounts before go-live.<\/strong> The structure makes them expensive to change afterwards.<\/p>\n<p><strong>Test your backups.<\/strong> Both parts, off the server, restored properly, at least quarterly.<\/p>\n<h2>What you do not need to worry about<\/h2>\n<p><strong>Writing queries.<\/strong> Odoo&#8217;s reporting reads the same data and applies your permission rules. Direct database access bypasses those rules and is rarely necessary.<\/p>\n<p><strong>Table names.<\/strong> Unless you are commissioning an integration, and then your developer handles it.<\/p>\n<p><strong>Optimising it.<\/strong> Routine database maintenance is a server administration task, and it is an argument for hosted Odoo if nobody in your company does it.<\/p>\n<h2>The short version<\/h2>\n<p>Odoo stores everything in one standard PostgreSQL database, plus a filestore for attachments.<\/p>\n<p>Records are linked, which is why <strong>deleting is often blocked and archiving is the right answer<\/strong>.<\/p>\n<p>Some things become permanent once you have transactions \u2014 units of measure and your chart of accounts especially. Decide those early.<\/p>\n<p>And back up <strong>both parts<\/strong>, off the server, and actually test a restore.<\/p>\n<div style=\"border-left:4px solid #5C3A52;background:#F7F3F6;padding:18px 22px;margin:28px 0;border-radius:0 6px 6px 0\">\n<p style=\"margin:0 0 6px;font-weight:700;color:#5C3A52;font-size:16px\">Not sure whether your backups would actually restore?<\/p>\n<p style=\"margin:0;color:#5a5a5a\">Get in touch. We will check that both the database and the filestore are covered, and restore one to prove it.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Why a business owner should care You do not need to write SQL. But three decisions depend on understanding roughly how Odoo stores data: Whether your data is portable. Can you get it out if you ever leave? Why some changes are blocked. Odoo refuses certain edits, and the reason is structural rather than arbitrary. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9113,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-9112","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odoo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Odoo Database Structure Explained for Business Owners<\/title>\n<meta name=\"description\" content=\"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aboutknowledge.com\/zh\/odoo-database-structure-explained\/\" \/>\n<meta property=\"og:locale\" content=\"zh_HK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Odoo Database Structure Explained\" \/>\n<meta property=\"og:description\" content=\"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aboutknowledge.com\/zh\/odoo-database-structure-explained\/\" \/>\n<meta property=\"og:site_name\" content=\"AboutKnowledge\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/aboutknowledge28\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-01T06:22:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-01T09:30:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"612\" \/>\n\t<meta property=\"og:image:height\" content=\"402\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"kopraveen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kopraveen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/\"},\"author\":{\"name\":\"kopraveen\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/person\\\/f14efbc95a95a4cec982367fb079cdf4\"},\"headline\":\"Odoo Database Structure Explained\",\"datePublished\":\"2026-09-01T06:22:24+00:00\",\"dateModified\":\"2026-09-01T09:30:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/\"},\"wordCount\":1174,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2195684944-612x612-1.webp\",\"articleSection\":[\"Odoo\"],\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/\",\"name\":\"Odoo Database Structure Explained for Business Owners\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2195684944-612x612-1.webp\",\"datePublished\":\"2026-09-01T06:22:24+00:00\",\"dateModified\":\"2026-09-01T09:30:49+00:00\",\"description\":\"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#breadcrumb\"},\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#primaryimage\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2195684944-612x612-1.webp\",\"contentUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2195684944-612x612-1.webp\",\"width\":612,\"height\":402},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-database-structure-explained\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aboutknowledge.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Odoo Database Structure Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#website\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/\",\"name\":\"AboutKnowledge\",\"description\":\"System Integrator You Can Trust\",\"publisher\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aboutknowledge.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-HK\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\",\"name\":\"AboutKnowledge (Hong Kong) Limited\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo.png\",\"width\":560,\"height\":256,\"caption\":\"AboutKnowledge (Hong Kong) Limited\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/aboutknowledge28\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/104125547\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/person\\\/f14efbc95a95a4cec982367fb079cdf4\",\"name\":\"kopraveen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"caption\":\"kopraveen\"},\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/zh\\\/author\\\/kopraveen\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Odoo Database Structure Explained for Business Owners","description":"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/aboutknowledge.com\/zh\/odoo-database-structure-explained\/","og_locale":"zh_HK","og_type":"article","og_title":"Odoo Database Structure Explained","og_description":"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.","og_url":"https:\/\/aboutknowledge.com\/zh\/odoo-database-structure-explained\/","og_site_name":"AboutKnowledge","article_publisher":"https:\/\/www.facebook.com\/aboutknowledge28\/","article_published_time":"2026-09-01T06:22:24+00:00","article_modified_time":"2026-09-01T09:30:49+00:00","og_image":[{"width":612,"height":402,"url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp","type":"image\/webp"}],"author":"kopraveen","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kopraveen","Est. reading time":"6 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#article","isPartOf":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/"},"author":{"name":"kopraveen","@id":"https:\/\/aboutknowledge.com\/#\/schema\/person\/f14efbc95a95a4cec982367fb079cdf4"},"headline":"Odoo Database Structure Explained","datePublished":"2026-09-01T06:22:24+00:00","dateModified":"2026-09-01T09:30:49+00:00","mainEntityOfPage":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/"},"wordCount":1174,"commentCount":0,"publisher":{"@id":"https:\/\/aboutknowledge.com\/#organization"},"image":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp","articleSection":["Odoo"],"inLanguage":"zh-HK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/","url":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/","name":"Odoo Database Structure Explained for Business Owners","isPartOf":{"@id":"https:\/\/aboutknowledge.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#primaryimage"},"image":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#primaryimage"},"thumbnailUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp","datePublished":"2026-09-01T06:22:24+00:00","dateModified":"2026-09-01T09:30:49+00:00","description":"Understand Odoo database structure without the technical detail. Learn how Odoo stores data, why it matters for portability, backups, and trusted reports.","breadcrumb":{"@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#breadcrumb"},"inLanguage":"zh-HK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/"]}]},{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#primaryimage","url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp","contentUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2195684944-612x612-1.webp","width":612,"height":402},{"@type":"BreadcrumbList","@id":"https:\/\/aboutknowledge.com\/odoo-database-structure-explained\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/aboutknowledge.com\/"},{"@type":"ListItem","position":2,"name":"Odoo Database Structure Explained"}]},{"@type":"WebSite","@id":"https:\/\/aboutknowledge.com\/#website","url":"https:\/\/aboutknowledge.com\/","name":"AboutKnowledge","description":"System Integrator You Can Trust","publisher":{"@id":"https:\/\/aboutknowledge.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aboutknowledge.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-HK"},{"@type":"Organization","@id":"https:\/\/aboutknowledge.com\/#organization","name":"AboutKnowledge (Hong Kong) Limited","url":"https:\/\/aboutknowledge.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/aboutknowledge.com\/#\/schema\/logo\/image\/","url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2021\/11\/logo.png","contentUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2021\/11\/logo.png","width":560,"height":256,"caption":"AboutKnowledge (Hong Kong) Limited"},"image":{"@id":"https:\/\/aboutknowledge.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/aboutknowledge28\/","https:\/\/www.linkedin.com\/company\/104125547"]},{"@type":"Person","@id":"https:\/\/aboutknowledge.com\/#\/schema\/person\/f14efbc95a95a4cec982367fb079cdf4","name":"kopraveen","image":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","caption":"kopraveen"},"url":"https:\/\/aboutknowledge.com\/zh\/author\/kopraveen\/"}]}},"_links":{"self":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/comments?post=9112"}],"version-history":[{"count":1,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9112\/revisions"}],"predecessor-version":[{"id":9114,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9112\/revisions\/9114"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/media\/9113"}],"wp:attachment":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/media?parent=9112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/categories?post=9112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/tags?post=9112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}