DBQuick - database management tool. EAP :)
DBQuick is a management tool for databases in MS SQL Server. Yet another, but not the same!
Point of this project is to give programmers small and efficient tool, not overloaded with tons of database abilities. "If some job is repeated 99% of the time, it should be done in 1% of efforts".
For people who is hurry to test, download that "ugly duckling"! :) (required .NET 4.5)
What DBQuick already can do:
- Create/modify/delete table (and columns of course)
- Keep list of "favorite" databases
- Show data from tables
Not so much, huh? But be sure: most of the work IS that small list! Now let's see HOW it's done:
Main window of DBQuick is a rectangle with dockable subwindows - nothing impressive. But if you look carefully you'll see that practically all what you need fits into these four windows!
Work with DBQuick is really quick:
- At the beginning we have one immortal window "Databases" - here we register working database (it should already exist on server). Once database is registered, you'll see it in the list with two buttons: [T]ables and [V]iews (views not implemented yet). Press it!
- Not a surprise, by [T] you'll get list of tables in appropriate database. No more jumps on a huge tree of servers->databases->schemas->tables->blah... - just one click and here you are!
- Same principle goes further - for every table you have [S]tructure button to edit columns and [D]ata button to see what table contains.
- While you cripple your table, you see what you've done. On the screen above we see: column 'Notes' is added, 'AlarmText' - deleted and 'FireTime' just modified. No any changes go out until you press [Save]. Even deleted column (if you miss it) can be revived just by editing! So DBQuick let you edit table and keep it visible, while you test changes somewhere else.
- Creation of new table cannot be simpler - just provide its name and PK "ID int IDENTITY(1,1)" is already there! Small fairy on the work...
- What about data? Again nothing extraordinary, but as usual handy to use: editor of SQL statements with syntax highlight (thanks to the FastColoredTextBox project) and grid below to show result. Boring typing is reduced with the following shortcuts:
- [Ctrl+T] - insert name of any table in the current database from popup menu.
- [Ctrl+F] - insert column of current table from popup menu.
- [Ctrl+Alt+F] - insert all columns of the table separated by comma.
- [Ctrl+L] - insert "LEFT JOIN" template: once you selected table from popup menu, in editor we get: "LEFT JOIN YourSelectedTable ON (YourSelectedTable.ID = CurrentTable.#)". Replace # with column, referencing selected table and viola! Just now I'm lit with idea: show not tables, but columns of the current table and only columns with FK - that's most useful JOIN helper!
- [F5] - execute SQL statement.
As you guess ideas for templates are limitless and some UI is needed to manage 'em. Shortcuts are also "semi-hardcoded", e.g. now you cannot change 'em, but internal infrastructure already prepared to it.
- All successfull operations don't disturb user with dumb "Columns are saved, press [OK]!" - DBQuick just blinks with tray hint (thanks to the Growl project). Small things, but useful.
Column editing also rewards a few words:
Again DBQuick simplifies your job till two clicks. Typical workflow:
- We start from column name editor (it's focused). Type some name and press F* to select its type (see list on the left).
- 50% chance that you've done! Press [OK] to confirm.
- If you made some 'varchar', most probably you'll want another length of column. There is a hint: press [Ctrl+S] - size of the column will be set to "maximum". Not what you want? Press [Ctrl+S] again and you already stay at numeric editor for the lenght! Quick, easy, no mouse roaming is required.
- Is it reference column? Surprise, probably you won't touch even a key! "Tick" foreign key box and see what happen: DBQuick will check name of the column and if it ends with "NameOfExistingTable + ID", smart dialog will offer you to make reference to that matching table! (and fill all necessary fields) Say, if we have "CreatePersonID" column and "Person" table, just tick checkbox and program will ask: "Do you want to create FK to reference column ID of table Person?". Hell, yeah! Name of the FK also will be created, but you still can edit it. Or just click on "Name" and it will be autogenerated.
That's it! As you see, DBQuick is really quick worker - all navigation is simplified till only necessary clicks and information presentation if maximally helpful (note also headers of the docked windows - all of 'em are descriptive and unambiguous).
Finally I wanna say that all implemented ideas are mine, so more heads is needed to evaluate them - sure everybody will have something to say! And you can do it right here in comments or drop me email on "thornik" mailbox on gmail.com;
Thanks in advance!
Sorry for my funny English - it's my secondary language. Можете черкнуть пару строк на русском. :)