The main feature of relational databases is their ability to relate one or more tables. One such relationship feature is the use of foreign key concept where a primary key of a table is related to a column in another table. This relation can be easily exhibited using QRelationalTableModel
. In order to explain this, we create three tables that are connected to each other. The schema is defined as follows:
CREATE TABLE employee (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, name VARCHAR(40) NOT NULL, department INTEGER, branch INTEGER) CREATE TABLE department (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, name VARCHAR(20) NOT NULL, FOREIGN KEY(id) REFERENCES employee) CREATE TABLE branch (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL, name VARCHAR(20) NOT NULL, FOREIGN KEY(id) REFERENCES employee)
If we use the QSqlTableModel
, we will get a view as given in the following screenshot:
Using relational table model, we can reference the department...