Вы можете смоделировать ограничения внешнего ключа на более старых версиях Android с помощью триггеров: http://www.codeproject.com/KB/android/AndroidSQLite.aspx
Оттуда вы можете просто иметь другую таблицу для групп (и любые метаданные, которые вы хотите связать с ней), изатем еще один для контактов, и у каждого контакта есть group_id, или, если вам нужно несколько групп для контакта, у вас также может быть другая таблица, содержащая только contact_id и group_id.
Итак, допустим, вы хотите набор контактов, и вы хотите набор групп контактов.И вы хотите, чтобы каждая группа содержала переменное количество контактов, и вы хотите, чтобы контакт был в переменной ammoun of groups, вам нужны три таблицы, таблица групп, таблица контактов и таблица группового контакта.В таблице групп будут все столбцы, которые нужны группе, плюс дополнительный столбец первичного ключа (обратите внимание, что он должен называться _id, потому что android предполагает, что он будет называться _id).Таблица контактов будет содержать все столбцы, необходимые для контакта, плюс дополнительный первичный ключ.Наконец, таблица groupcontact будет иметь три столбца (хотя вас интересуют только два из них), столбец первичного ключа, столбец group_id и столбец contact_id.
Наконец, если вы хотите связать всеЭлементы группы, в том числе все контакты, вы можете сделать что-то вроде этого:
<group_fileds>, <contact_fields> from <group_table>, <contact_table>, <group_contact_table> where <group_table>._id = <groupid> and <contact_table>._id = <contactid>
Где и из таблицы группового контакта.(Обратите внимание, что у android есть методы, продемонстрированные в их примере с блокнотом: http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NotePadProvider.html, также вы можете увидеть пример схожих (хотя и немного более простых) недавних поставщиков, которые я написал (хотя я еще не реализовал триггеры,поэтому он не будет работать должным образом в старых версиях Android): https://github.com/LeifAndersen/NetCatch/blob/master/src/net/leifandersen/mobile/android/netcatch/providers/ShowsProvider.java