# IFC SQLite support

**URL:** <https://forums.buildingsmart.org/t/ifc-sqlite-support/1883>\
**Category:** Developers\
**Created:** [October 4, 2019, 11:20pm UTC](https://forums.buildingsmart.org/t/ifc-sqlite-support/1883 "2019-10-04T23:20:43Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![ReD\_CoDE](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.buildingsmart.org/red_code/32/226_2.png) [@ReD\_CoDE](https://forums.buildingsmart.org/u/ReD_CoDE)\
**Post date:** [October 5, 2019, 8:53am UTC](https://forums.buildingsmart.org/t/ifc-sqlite-support/1883/2 "2019-10-05T08:53:27Z")

</div>

Hi Dion,

Some months ago I proposed: finishing IfcSQLite project as an “ **unfinished** ” project in bSI  
But …

> [@IFC SQLite Project](https://forums.buildingsmart.org/t/ifc-sqlite-project/1359):
>
> Dear friends, Do you think finishing some unfinished projects like IFC SQLite will help and speed up IFC development and implementation or not? Some say yes and some say no Would be happy to hear from you, Kind regards, Ehsan Azari

In IfcDoc you can choose SQLite to publish it in the documentation:

> [@IFC for relational databases - ifcSQL](https://forums.buildingsmart.org/t/ifc-for-relational-databases-ifcsql/1524/18):
>
> In IfcDoc you can export publications to any output you want If need help let me know to explain the process So the output would be HTML documentation plus formats you have chosen Forum doesn’t let upload SQL file, so uploaded it here: [https://gofile.io/?c=6DXMTU](https://gofile.io/?c=6DXMTU) It seems that bSI has started to focus on UML, I hope UML 2, but again with Object-Oriented approach, so I think O-O is good, but relational approach or Object-Relational approach is better

However, @bsbock did an invaluable job and introduced 6 scenarios (which the scenario no.6 was the best one):

> [@IFC for relational databases - ifcSQL](https://forums.buildingsmart.org/t/ifc-for-relational-databases-ifcsql/1524):
>
> The idea behind storing IFC-data in a database: What could be a way to store IFC-data in a relational database? Strategy no. 1: Store every IFC-File in a binary large object field. (-) no advantage over files (-) not searchable (-) no rule checking Strategy no. 2: Store every IFC-STEP-line in a text-field. (-) not searchable (-) no rule checking Strategy no. 3: Store every not abstract Entity-classes (over 600) in its own table. Same with enumerations. (+) high…

And mentioned that the existing approach in IfcDoc is the scenario no. 4 which is not good enough:

> [@IFC for relational databases - ifcSQL](https://forums.buildingsmart.org/t/ifc-for-relational-databases-ifcsql/1524/19):
>
> Thank you for upload, @ReD_CoDE! The result looks like this: CREATE TABLE IfcObject (oid INTEGER, GlobalId TEXT, OwnerHistory INTEGER, Name TEXT, Description TEXT, ObjectType TEXT); … CREATE TABLE IfcActorRole (oid INTEGER, Role VARCHAR, UserDefinedRole TEXT, Description TEXT); … IfcObject is abstract and IfcActorRole is derived from IfcObject, which contains only the attributes, that are not contained in IfcObject. This is Strategy no. 4: Store every inheritance-step in …

So, finally, he came with an invaluable solution:

> [@Store, modify and retrieve ifc-data with ifcSQL](https://forums.buildingsmart.org/t/store-modify-and-retrieve-ifc-data-with-ifcsql/1558):
>
> This is a picture of a prototype of ifcSQL: [ifc\_SQL\_tables\_Bock\_part1] [ifc\_SQL\_tables\_Bock\_part2] [ifc\_SQL\_tables\_Bock\_part3] (A) The table in namespace (schema) “ifcDocumentation” is currently a placeholder for aditional html-Documentation of Entities, Types, etc. (B) The tables in namespace “ifcInstance” contains ifc-data from many projects or libraries with rule-control by DML-trigger. The table EntityVariableName is used for storing variables of programming-code like IfcScript from @j…

I think with cooperation we will see an invaluable IFC SQLite/SQL  
So, as you mentioned it needs support

---

_[View the full topic](https://forums.buildingsmart.org/t/ifc-sqlite-support/1883)._
