Andreas Ntaflos
<[EMAIL PROTECTED]> wrote:
> this question is about the AUTOINCREMENT usage in SQLite when
> modelling weak entities. Suppose there are two tables 'Building' and
> 'Room':
>
> CREATE TABLE Building (
>    buildingID INTEGER PRIMARY KEY AUTOINCREMENT,
>    ...
> );
>
> CREATE TABLE Room (
>    roomID INTEGER,
>    buildingID INTEGER CONSTRAINT fk_room_building_id REFERENCES
> Building(buildingID),
>    PRIMARY KEY(roomID, buildingID)
> );
>
> CREATE TRIGGER statements follow to enforce the foreign key
> constraint.
>
> Naturally a room cannot be identified without a building so it is a
> weak entity (this seems to be the canonical example in all database
> books I've seen).
>
> I'd like to auto-increment the ID numbers in both tables but as far
> as I can see the AUTOINCREMENT keyword only works the way it is used
> in the Building table. That is, only "INTEGER PRIMARY KEY
> AUTOINCREMENT" is syntactically correct.

Wait: if you want roomID to be autoincrement, then it's going to be 
unique (which, after all, is the point of autoincrement). Run it by my 
again: why can't you identify a room without a building?

Igor Tandetnik



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to