# Catalog Format



## AttwoodThomas (Mar 10, 2009)

I've read somewhere on the forums something that leads me to believe that the catalog is an SQL compliant file or database. We have a specific issue being required to create a separate "folder" for each child at our school - so I thought, since I'm an SQL kind of person this can't be too hard to do based on Keywords. Anyone got a Data Dictionary for the catalog, and/or any other info?


----------



## dj_paige (Mar 10, 2009)

While I don't have such a data directory, I believe that the effort to create such an SQL program would far exceed the effort to simply create the folders in Lightroom and then move the files. 

Even better from my point of view: apply Lightroom keywords to the photos to indicate which child is in the photo, and forget about folders entirely.


----------



## Denis Pagé (Mar 10, 2009)

AttwoodThomas said:


> I've read somewhere on the forums something that leads me to believe that the catalog is an SQL compliant file or database...


It is in fact SQLite 3. Doc available from link. For the database shema, I think one should look at Adobe's Lightroom SDK.


----------



## DawMatt (Mar 11, 2009)

*Please clarify*



AttwoodThomas said:


> We have a specific issue being required to create a separate "folder" for each child at our school


Please explain what you mean by this requirement.  Do you mean:
Create a folder on the computer's HDD
Create a collection for each child
Somehow allow the user to quickly access photos of an individual student?
My guess is you mean the latter.  I would have thought keywording would be sufficient for this.  You can even use this approach to create/maintain your keyword lists to make this easier.

If you are looking to create folders on HDD then this is probably more of an export plugin development exercise.



AttwoodThomas said:


> so I thought, since I'm an SQL kind of person this can't be too hard to do based on Keywords. Anyone got a Data Dictionary for the catalog, and/or any other info?


This could be done in theory.  I wouldn't recommend it.  Adobe will not support you if you break your catalog writing to it, and reading from it will be hard because no doco exists.  The SDK describes the documented ways to access this data (export plugin is likely to be most useful for you here) and doesn't include DB schema info because Adobe don't want people playing with this.

sqlite3 also seems to encourage developers to avoid including referential integrity details in DDL and instead embed it in the application.  That means the derivable schema aspects (table/column details) don't include how the tables inter-relate.  So you have a lot of work ahead of you if you want to meet this requirement via SQL.

Matt


----------

