No, it's not bad practice. It's just that you're trying to make a decent database, most likely, while most uses of SQLite are for columnar data stores, with transaction safety, in a portable format. Even SQLite performs perfectly fine with composite keys. With any sane DB that breaks simple hierarchies, and is at least 1NF, natural composite keys pop up all the time.I just started doing some sqlite myself. SQLite Manager for Firefox is fairly good, although it doesn't seem to understand a table with a multiple column primary key. (Maybe that's bad practice?)
Yes, it's SQLite Manager that gets confused. I try to delete a row (in the GUI), but it thinks that only one column is the primary key. So it delets all rows with that value. I should file a bug report. :hmm: Edit: Someone beat me to it.Even SQLite performs perfectly fine with composite keys.
I've been thinking about a program I'd like to work on in my spare time this summer, which will need a SQLite database. It's been a while since I did any DB stuff, so are there tools out there that can help with the design and hopefully exporting scripts to create the DB?
Are you looking for an ERD tool or just a GUI that creates the tables? In case of ERD and assuming this is a not too complex one man project:
Use paper and pencil.
MySQL Workbench should be sufficient for what you need.
Except for all the crashing, and the poorly-implemented print feature. But, it's free, doesn't screw anything basic up, and you can use the model ASAP, which is all nice, and there are pay applications that can't even get those done well (if you call relationships relations, FI, when relations already have a 45-year-old accepted definition in this context, why should I expect any knowledge or thought, much less correctness, on your part, for any deeper implementation details? Then ignore the existence and usefulness of any constraints, composite keys existing, and...).Mysql workbench is the best for choice:twisted: