key review info
- Application: Kexi 1.1.1
- Reviewed on:
- Fully visual designers for tables, queries and forms. Queries can be also designed in dedicated SQL view.
- (4 more, see all...)
The three main components, KWord, KSpread and KPresenter are all that most people need to use for any typical office-related task but KOffice has a lot more programs to offer. Often referred to as the open-source competitor to Microsoft Access, Kexi provides a fast and powerful application development tool for database systems. Although under Linux, the obvious choice for building desktop database applications would have been OpenOffice's Base, things are most likely about to change. Kexi is a relatively new member of the KOffice family but has developed quite rapidly into a mature application which allows users to create simple databases without learning all the complicated and complex notions about database development.
Even though Kexi is a rather easy to use application, you must have some basic knowledge about how databases work, as this will help you to build better applications and will save you from wasting hours fixing poorly developed databases. So, if your knowledge level about databases is close to nothing, it's better if you ask for professional assistance, rather than trying to create them yourself.
Just like any other database front-end, Kexi has three important components: tables, queries and forms. Data from a database is stored into tables, each table contains rows and columns and each row contains data known as record. Queries however, are used for extracting, viewing and manipulating data. Therefore, they're able to draw data from many tables, but also can have forms and reports based on the data they produce. Finally, forms allow users to view and edit the data contained by a table. These actions are performed through an easy to use GUI and therefore, don't require any database knowledge at all to manage the data stored in tables.
As you have probably gotten used to, Linux offers several ways in which you can install a piece of software. That's the case with Kexi as well. You can either use the package manager for your system and install the koffice-kexi package through Yum, apt-get or other manager. Alternatively, you can download the source code package and compile it on your machine.
When Kexi is launched for the first time, it will ask you to choose whether the new project will be saved in a file on the disk, or in a database server. The first option will create a new .kexi file on your disk, while the second option will create a new database on a SQL server, either remote or local. I don't know if that's the case for every Linux distribution, but on Fedora using Yum, I had to install separate packages to have Kexi working properly. First, I had to install the koffice-kexi-driver-mysql package just to be able to store my new project into a MySQL remote database server. There's also a separate package for PostgreSQL database as well. If you haven't used any KOffice application at all, you'll also have to install the koffice-filters package just so Kexi will be able to read other database project filetypes, excluding its own.
When a new project has been started, you'll see that the main Kexi window is divided into three main sections: to the left there's the Project Navigator pane which contains the database components (tables, queries, forms and scripts) and has them sorted into a tree view; to the right, there's the Proprieties pane which allows you to define different proprieties regarding the currently selected element. And finally, in the middle, there's the working area where you actually create and manage the database. A useful feature about Kexi's interface is that you have the ability to undock the left and right panes and making them movable windows, while the work area will gather the space from the panes, giving you more space to work with complex databases.
Building a database can be referred to as a simple process, as long as you have some knowledge about them. Using Kexi, the database build process gets even more simplified, allowing almost anyone to use it. To create a database with Kexi, you'll first need to insert a table (or more) from the Menubar. The table can also be inserted by right-clicking Tables in the Project Navigator and selecting Create Object: Table. Once a table has been created, the Table Designer window will appear and the new table has been auto-named. Because the table is not saved, it won't yet appear in the Project Navigator.
The Table Designer window consists of four columns: Primary Key, Field Caption, Data Type and Comments. The first column will show a small key symbol if the current row contains a primary key, while the Field Caption column contains a caption of the field which will be displayed during data editing. The Data Type column contains a list of data types, from which the user can choose through a drop-down menu. The data type can be either plain text or integer number, date/time, etc and defines a rule for the entered data in a field. For example, if the Data Type is set to "Text", you will be able to insert just about any (Unicode) character, while if the Data Type is set to "Integer number", the cell will only accept numbers.
After all the needed tables have been designed, you can now start to enter data into each table. First, you'll have to switch to "Data View" so you can see and edit each table's cells. To navigate through table cells, you can use Page Down, Page Up, Home and End keys, as well as using the mouse cursor to select the cell you want to edit. To add some data to a cell, you can either select the cell and start typing (as soon as you enter the first character, the current row is being edited), double click on the cell or select it and press Enter or F2. The ESC key will cancel all changes made to the selected cell, while pressing ESC twice will cancel all changes made to the entire row. The Shift+Enter keys will accept the changes made to all cells in the currently edited row. You can also click the OK button on the toolbar.
Kexi can also be used for designing database queries. A databases' main purpose is to store data and easily extract and show information someone is looking for. Kexi databases allow you to specify more search criteria, while the results are returned faster, even for large data sets. However, in order to perform effective queries in your database, you'll need to learn how to tell it what you're looking for. Queries designed with Kexi allow you to limit the data coming from a table to a predefined set of rows and columns, as well as dynamically join data coming from multiple tables. To create a new query, you can either go to Insert menu and click on Query, or you can right-click Queries in the Project Navigator and select Create Object: Query The design window will appear, it is split into two sections: query relationships at the top and query columns at the bottom. Next, you'll have to select each table from the Table: drop down list and click Add for each of them. A query relationship can easily be added using drag & drop technique, by clicking a field from a table and dragging & dropping it into the field you want it to be linked to. Finally, to add fields as a query column, simply double click on the field's name. To view the data provided as query results, simply click on the Switch to data view button on the toolbar.
Kexi also allows you to create forms, which will act as the user interface or GUI for the database. To create a form, simply right-click on the Forms item in the Project Navigator pane and select Create Object: Form, or go to Insert menu and select Form. This will open a new form in design view mode, which allows you to edit the form so it will fit your needs. The form will first need to be linked to a table, so the data from that particular table can be easily viewed, added or modified. When in design mode for a form, you'll notice that the toolbar has some additional buttons. These buttons allow you to add so-called widgets in the form. These widgets include text boxes, radio buttons and several other design elements. Text boxes are used for displaying the contents of a table field. Other design elements include labels, headers, images and so on.
There's also a piece of beta technology in Kex: scripting support. A script can either be manually edited through the script editor window, or you can choose from an already-made script which comes by default with Kexi. So far, there're only a few available scripts which only offer basic features such as project documentation generator or exporting data to XHTML file.
Although Kexi is a rather new project, it has developed quite rapidly into a powerful and easy to use application development tool for database systems. It has all the features needed for creating databases and comes with a comprehensive help document. Kexi is also a highly portable product as it's available for Microsoft Windows as well, with paid support.
I have to be honest, I'm not such a database guru so I really can't know if it's missing some features or others are misimplemented. This doesn't mean that this application is perfect as there's always room for improvement.
The truth is that if you're managing databases from Linux for a living and haven't yet tried Kexi, you should definitely take it for a spin. Moreover, I've heard that Kexi is a lot better than OpenOffice's Base, but then again, I couldn't know for sure.
Check out some screenshots below: