The final product of the database model is a properly functioning database. Therefore, when designing a database in a modeling program, you should focus not so much on a nice and legible database model (although this is also important) but on correctly defined fields, indexes or relationships between tables, i.e. on all those aspects thanks to which the database will be both efficient and easy to maintain during product development. Therefore, the authors of the SqlDBD program implemented a real-time model verification tool (the so-called validator), which allows you to avoid many errors already during the design of the database.
The validator is available in the left part of the screen in the tab under the "warning sign" icon. This icon turns yellow or red depending on the types of errors detected.
The validator tracks the work of the designer and displays messages in the form of two lists:
1. errors - i.e. any incorrectly defined tables, columns, indexes and relations, the end result of which will be an error in the execution of the SQL script,
2. warnings - incorrectly defined objects that should not result in execution errors, but may generate problems with performance or database maintenance.
The list of errors and warnings is updated each time the model is modified and after its opening.
Example validator messages:
1. "the table must contain at least one column" - an error that occurs immediately after adding a new table to the project - columns must be defined,
2. "name seems invalid" - a warning occurs when the name of a table, column or index contains an SQL language keyword or a space,
3. "no PK key in the table" - warning about the lack of a PRIMARY KEY index in the table,
4. "duplicate table/column/index name, etc." - a bug that must be removed by giving correct names to objects.
Errors must be removed in order to obtain a valid, importable SQL script. Warnings can be ignored, but it is worth striving for the ideal, which is the lack of any validator feedback.