Server Objects. PremiumSoft Navicat 11
જાહેરાત
જાહેરાત
Server Objects
Navicat provides powerful tools to manage server objects, such as databases, tables, views, functions, etc.
Note: Before working with the server objects in Navicat, you should establish the connection first.
MySQL/MariaDB Objects
To start working with the server objects, you should create and open a connection. If the server is empty, you need to control-click the connection in the Connection pane and choose New Database to create a new database.
To edit an existing database properties, control-click the database in the Connection pane and choose Edit Database.
Please notice that MySQL does not support renaming database through its interface at this moment. Access the directory in which databases being stored. By default, all databases store within a directory called data under MySQL
Installation folder. For example: /usr/local/mysql5/data .
Database Name
Set the name for a new database.
Default Character Set
Specify the default database character set.
Default Collation
Specify the default database collation.
MySQL/MariaDB Tables
Relational databases use tables to store data. All operations on data are done on the tables themselves or produce another table as the result. A table is a set of rows and columns, and their intersections are fields. From a general perspective, columns within a table describe the name and type of data that will be found by row for that column's fields.
Rows within a table represent records composed of fields that are described from left to right by their corresponding column's name and type. Each field in a row is implicitly correlated with each other field in that row. Click to open an object list for Table.
When open a table with graphical fields, control-click a table and select Open Table (Quick) from the pop-up menu.
Faster performance for opening the graphical table, as BLOB fields (images) will not be loaded until you click on the cell.
If you do wish Navicat loads all your images while opening the table, click Open button from the object list toolbar.
You can create a table shortcut by drag the table out. It provides a convenient way for you to open your table for entering data directly without activating the main Navicat.
33
To empty a table, control-click the selected table and choose Empty Table from the pop-up menu. This option is only applied when you wish to clear all the existing records without resetting the auto-increment value. To reset the auto-increment value while emptying your table, use Truncate Table.
MySQL/MariaDB Table Fields
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new, insert and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Note: Insert Field button is supported from MySQL 3.22 or later.
You can change the order of a field, simply drag and drop the field to desired location. To enable the drag and drop function, control-click the fields grid and choose Drag to change table columns' order.
Note: Support from MySQL 4.0.1 or later.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See MySQL Data Types / MariaDB Data Types for details.
Use the Length edit box to define the length of the field and use Decimals edit box to define the number of digits after the decimal point (the scale) for Floating Point data type.
Note: Be careful when shortening the field length as losing data might be caused.
Not Null
Check this box to not allow the NULL values for the field.
Virtual
Check this box to enable the virtual column settings for the field.
Note: Support from MariaDB 5.2 or later.
Key
A Primary Key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value.
Field's Properties
Note: The following options depend on the field type you are chosen.
Default Value
Set the default value for the field.
34
Comment
Set any optional text describing the current field.
Column Format
Set the column format for the field.
Storage
Set the storage for the field.
Key Length
The edit box will be enabled when Primary Key is set.
Character Set
A character set is a set of symbols and encodings.
Collation
A collation is a set of rules for comparing characters in a character set.
Note: MySQL chooses the column character set and collation in the following manner:
If both CHARACTER SET X and COLLATE Y were specified, then character set X and collation Y are used.
If CHARACTER SET X was specified without COLLATE, then character set X and its default collation are used.
Otherwise, the table character set and collation are used.
Binary
As of MySQL 4.1, values in CHAR and VARCHAR fields are sorted and compared according to the collation of the character set assigned to the field.
Before MySQL 4.1, sorting and comparison are based on the collation of the server character set; you can declare the field with the BINARY attribute to cause sorting and comparison to be based on the numeric values of the bytes in field values. BINARY does not affect how field values are stored or retrieved.
Auto Increment
The AUTO INCREMENT attribute can be used to generate a unique identity for new rows. To start with the AUTO
INCREMENT value other than 1, you can set that value in Options tab.
Unsigned
UNSIGNED values can be used when you want to allow only non-negative numbers in a field and you need a bigger upper numeric range for the field.
As of MySQL 4.0.2, floating-point and fixed-point types also can be UNSIGNED. Unlike the integer types, the upper range of column values remains the same.
Zerofill
The default padding of spaces is replaced with zeros. For example, for a field declared as INT(5) ZEROFILL, a value of
35
4 is retrieved as 00004; for a field declared as FLOAT(20,10) ZEROFILL, a value of 0.1 is retrieved as
000000000.1000000015.
Note: If you specify ZEROFILL for a numeric type, MySQL automatically adds the UNSIGNED attribute to the field.
On Update Current_Timestamp
As of 4.1.2, you have more flexibility in deciding which TIMESTAMP field automatically is initialized and updated to the current timestamp.
Enum Value
Use this edit box to define the members of SET/ENUM.
Type
Choose the virtual column's type. VIRTUAL means that the column is calculated on the fly when a command names it.
PERSISTENT means that the value is physically stored in the table.
Note: Support from MariaDB 5.2 or later.
Expression
Specify an expression or function to evaluate at insertion time.
Note: Support from MariaDB 5.2 or later.
MySQL/MariaDB Table Indexes
Indexes are organized versions of specific columns in your tables. MySQL uses indexes to facilitate quick retrieval of records. With indexes, MySQL can jump directly to the records you want. Without any indexes, MySQL has to read the entire data file to find the correct record(s).
In the Indexes tab, just simply click an index field for editing. By using the index toolbar, you can create new, edit and delete the selected index field.
Use the Name edit box to set the index name.
To include field(s) in the index, just click the Fields to open the editor for editing. Select the field(s) from the list.
To remove the fields from the index, uncheck them in the same way. The Key Length edit box(s) is used to set index
KEY LENGTH.
Note: Some of data types do not allow indexing by several fields. For example: BLOB
Index Type
Define the type of the table index.
Normal
Unique
NORMAL indexes are the most basic indexes, and have no restraints such as uniqueness.
UNIQUE indexes are the same as NORMAL indexes with one difference - all values of the
36
Full Text indexed column(s) must only occur once.
FULL TEXT indexes are used by MySQL in full-text searches.
Index Method
Specify an index type when creating an index, BTREE or HASH.
Comment
Set any optional text describing the current index.
Note: Support from MySQL 5.5.3 or later.
MySQL/MariaDB Table Foreign Keys
A foreign key is a field in a relational table that matches the primary key column of another table. The foreign key can be used to cross-reference tables.
In the Foreign Keys tab, just simply click a foreign key field for editing. By using the foreign key toolbar, you can create new, edit and delete the selected foreign key field.
Both tables must be InnoDB type (or solidDB type if you have solidDB for MySQL ). In the referencing table, there must be an index where the foreign key columns are listed as the first columns in the same order. Starting with MySQL 4.1.2, such an index will be created on the referencing table automatically if it does not exist.
Note: Foreign Key support from MySQL 3.23.44 or later.
Editing foreign key is supported from MySQL 4.0.13 or later.
Delete Foreign Key is supported from MySQL 4.0.13 or later.
Use the Name edit box to enter a name for the new key.
Use the Referenced Database and Referenced Table drop-down menus to select a foreign database and table respectively.
To include field(s)/referenced field(s) to the key, click Fields editing.
or Referenced Fields to open the editor(s) for
The On Delete and On Update drop-down menu define the type of the actions to be taken.
CASCADE
SET NULL
No ACTION
RESTRICT
Delete the corresponding foreign key, or update the corresponding foreign key to the new value of the primary key.
Set all the columns of the corresponding foreign key to NULL.
Does not change the foreign key.
Produce an error indicating that the deletion or update would create a foreign key constraint violation.
Related topic:
37
MySQL/MariaDB Table Triggers
A trigger is a named database object that is associated with a table and that is activated when a particular event occurs for the table.
In the Triggers tab, just simply click a trigger field for editing. By using the trigger toolbar, you can create new, edit and delete the selected trigger field.
Note: Trigger is supported from MySQL 5.0.2 or later.
Use the Name edit box to set the trigger name.
Use the Fires drop-down menu to define the trigger action time. It can be Before or After to indicate that the trigger activates before or after the statement that activated it.
Insert
The trigger is activated whenever a new row is inserted into the table. For example, INSERT, LOAD DATA, and
REPLACE statements.
Update
The trigger is activated whenever a row is modified. For example, UPDATE statement.
Delete
The trigger is activated whenever a row is deleted from the table. For example, DELETE and REPLACE statement.
However, DROP TABLE and TRUNCATE statements on the table do not activate the trigger.
The Statement edit box defines the statement to execute when the trigger activates. To include your statement, just simply click to write. If you want to execute multiple statements, use the BEGIN ... END compound statement construct.
Example:
BEGIN
set new.capacity = new.capacity + 100;
set new.amount = new.amount + 100;
END
MySQL/MariaDB Table Options
Table Type
Define the engine of the table. Use the Set Default button to set the default table type.
Auto Increment
Set/Reset the Auto Increment value in the edit field. The auto increment value indicates the value for next record.
38
Default Character Set
Define the type of the character set for table.
Default Collation
Choose the collation for the table.
Data Directory
To specify where the MyISAM storage engine should put a table's data file.
Index Directory
To specify where the MyISAM storage engine should put a table's index file.
Max Rows
The maximum number of rows you plan to store in the table. This is not a hard limit, but rather a hint to the storage engine that the table must be able to store at least this many rows.
Average Row Length
An approximation of the average row length for your table. You need to set this only for large tables with variable-size rows.
Min Rows
The minimum number of rows you plan to store in the table.
Key Block Size
This option provides a hint to the storage engine about the size in bytes to use for index key blocks. The engine is allowed to change the value if necessary. A value of 0 indicates that the default value should be used.
Note: Support from MySQL 5.5 or later.
Row Format
Define how the rows should be stored.
Pack Keys (take effect only with MyISAM table)
Set this option to 1 if you want to have smaller indexes. This usually makes updates slower and reads faster. Setting the option to 0 disables all packing of keys. Setting it to DEFAULT tells the storage engine to pack only long CHAR,
VARCHAR, BINARY, or VARBINARY columns.
Checksum (only for MyISAM table)
Check this option if you want MySQL to maintain a live checksum for all rows.
Delay key write (only for MyISAM table)
Check this option if you want to delay key updates for the table until the table is closed.
Page Checksum (only for Aria table)
Check this option if you want index and data use page checksums for extra safety.
39
Note: Support from MariaDB 5.1 or later.
Transactional (only for Aria table)
Check this option if you want crash-safe.
Note: Support from MariaDB 5.1 or later.
Union Tables (only for MRG_MYISAM table)
UNION is used when you want to access a collection of identical MyISAM tables as one. This works only with MERGE tables. You must have SELECT, UPDATE, and DELETE privileges for the tables you map to a MERGE table.
Insert Method (only for MRG_MYISAM table)
If you want to insert data into a MERGE table, you must specify with INSERT_METHOD the table into which the row should be inserted. INSERT_METHOD is an option useful for MERGE tables only. Use a value of FIRST or LAST to have inserts go to the first or last table, or a value of NO to prevent inserts.
Connection (only for FEDERATED table)
To create the local table that will be federated to the remote table. You can create the local table and specify the connection string (containing the server name, login, password) to be used to connect to the remote table using the
Connection edit box.
The CONNECTION string contains the information required to connect to the remote server containing the table that will be used to physically store the data. The connection string specifies the server name, login credentials, port number and database/table information.
The format the connection string is as follows: scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
Sample of connection strings:
CONNECTION='mysql://username:password@hostname:port/database/tablename'
CONNECTION='mysql://username@hostname/database/tablename'
CONNECTION='mysql://username:password@hostname/database/tablename'
Tablespace (only for ndbcluster table)
To specify the tablespace for the storage.
Note: Support from MySQL 5.1.6 or later.
Storage (only for ndbcluster table)
To specify type of storage used (disk or memory), and can be one of DISK, MEMORY, or DEFAULT.
Note: Support from MySQL 5.1.6 or later.
Partition Options
Set the Partition Options.
40
Note: Support from MySQL 5.1 or later.
Option
Partition by
Partition no.
Subpartition by
Subpartition no.
Description
Select the function that is used to determine the partition: Hash, Key, Range and List.
Set the partition number.
Select the function that is used to determine the subpartition: Hash and Key.
Set the subpartition number.
Partition Definition Use Add Partition or Remove Partition to add or delete the partition. Use Add
Subpartition or Remove Subpartition to add or delete the subpartition.
Values For range partitioning, each partition must include a VALUES LESS THAN clause; for list partitioning, you must specify a VALUES IN clause for each partition. This is used to
Engine
Data Directory determine which rows are to be stored in this partition.
Select the storage engine for both partition and subpartition.
The directory where the data for this partition are to be stored.
The directory where the indexes for this partition are to be stored. Index Directory
Max Rows
Min Rows
Tablespace
The maximum number of rows to be stored in the partition.
The minimum number of rows to be stored in the partition.
Designate a tablespace for the partition. Used for Falcon only.
Nodegroup
Comment
Set the Node Group.
Enter the comment for the partition.
MySQL/MariaDB Views
Views (including updatable views) are implemented in MySQL Server 5.0 and available in binary releases from 5.0.1 and up. Views are useful for allowing users to access a set of relations (tables) as if it were a single table, and limiting their access to just that. Views can also be used to restrict access to rows (a subset of a particular table). For access control to columns, you can also use the sophisticated privilege system in MySQL Server. Click to open an object list for View.
You can create a view shortcut by drag the view out. It provides a convenient way for you to open your view without activating the main Navicat.
Button
Preview
Description
Preview and/or Explain the view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
41
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Options
View's Algorithm
Undefined MySQL chooses which algorithm to use. It prefers Merge over Temptable if possible, because
Merge is usually more efficient and because a view cannot be updatable if a temporary table is used.
Merge The text of a statement that refers to the view and the view definition are merged such that parts of the view definition replace corresponding parts of the statement.
Temptable The results from the view are retrieved into a temporary table, which then is used to execute the statement.
With check option
Local
Cascaded
Restrict the Check option only to the view being defined.
Cause the checks for underlying views to be evaluated as well.
SQL Security
The SQL SECURITY characteristic determines which MySQL account to use when checking access privileges for the view when the view is executed. The legal characteristic values are Definer and Invoker. These indicate that the view must be executable by the user who defined it or invoked it, respectively.
Definer
The default Definer value is the user who executes the CREATE VIEW statement. (This is the same as DEFINER =
CURRENT_USER.) If a user value is given, it should be a MySQL account in 'user_name'@'host_name' format (the same format used in the GRANT statement). The user_name and host_name values both are required.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
MySQL/MariaDB Functions/Procedures
Stored routines (procedures and functions) are supported in MySQL 5.0. A stored routine is a set of SQL statements that can be stored in the server. Once this has been done, clients do not need to keep reissuing the individual statements but can refer to the stored routine instead. Click to open an object list for Function.
Definition
42
Definition consists of a valid SQL procedure statement. This can be a simple statement such as SELECT or INSERT, or it can be a compound statement written using BEGIN and END. Compound statements can contain declarations, loops, and other control structure statements.
Hint:
Parameter
Define function/procedure parameter.
Return Type
This text box will be enabled only for creating a function. It indicates the return type of the function.
Type
Select the stored routines you wish to create from the drop-down menu, i.e. PROCEDURE and FUNCTION.
Advanced Properties
SQL Security
Specify whether the routine should be executed using the permissions of the user who creates the routine or the user who invokes it.
Definer
The default Definer value is the user who executes the CREATE PROCEDURE or CREATE FUNCTION statement.
(This is the same as DEFINER = CURRENT_USER.) If a user value is given, it should be a MySQL account in
'user_name'@'host_name' format (the same format used in the GRANT statement). The user_name and host_name values both are required.
SQL Data Access
Several characteristics provide information about the nature of data use by the routine.
CONTAINS SQL
NO SQL
READS SQL DATA
MODIFIES SQL
DATA
Indicate that the routine does not contain statements that read or write data. It is the default if none of these characteristics is given explicitly.
Indicate that the routine contains no SQL statements.
Indicate that the routine contains statements that read data, but not statements that write data.
Indicate that the routine contains statements that may write data.
Deterministic
A procedure or function is considered deterministic if it always produces the same result for the same input parameters, and not deterministic otherwise.
Result
43
To run the procedure/function, click Execute on the toolbar. If the SQL statement is correct, the statement will be executed and, if the statement is supposed to return data, the Result tab opens with the data returned by the procedure/function. If an error occurs while executing the procedure/function, execution stops, the appropriate error message is displayed. If the function/procedure requires input parameter, the Input Parameters box will pop up.
MySQL/MariaDB Events
MySQL Event Scheduler was added in MySQL 5.1.6. MySQL Events are tasks that run according to a schedule.
Therefore, we sometimes refer to them as scheduled events. When you create an event, you are creating a named database object containing one or more SQL statements to be executed at one or more regular intervals, beginning and ending at a specific date and time. Conceptually, this is similar to the idea of the Windows Task Scheduler. Click
to open an object list for Event.
Definition
Definition consists of a valid SQL statement. This can be a simple statement such as SELECT or INSERT, or it can be a compound statement written using BEGIN and END. Compound statements can contain declarations, loops, and other control structure statements.
Hint:
Definer
Specify the user account to be used when checking access privileges at event execution time. The default DEFINER value is the user who executes the CREATE EVENT statement. (This is the same as DEFINER = CURRENT_USER.)
If a user value is given, it should be a MySQL account in 'user_name'@'host_name' format (the same format used in the GRANT statement). The user_name and host_name values both are required.
Status
You can create an event but keep it from being active using the DISABLE keyword. Alternatively, you may use
ENABLE to make explicit the default status, which is active.
On Completion
Normally, once an event has expired, it is immediately dropped. You can override this behavior by specifying ON
COMPLETION PRESERVE. Using ON COMPLETION NOT PRESERVE merely makes the default non-persistent behavior explicit.
Schedule
At
AT timestamp is used for a one-time event. It specifies that the event executes one time only at the date and time, given as the timestamp, which must include both the date and time, or must be an expression that resolves to a datetime value. Use INTERVAL to create an event which occurs at some point in the future relative to the current date and time.
44
Every
For actions which are to be repeated at a regular interval, you can use an EVERY clause which followed by an interval.
(INTERVAL is not used with EVERY.)
Starts
An EVERY clause may also contain an optional STARTS clause. STARTS is followed by a timestamp value which indicates when the action should begin repeating, and may also use INTERVAL interval in order to specify an amount of time "from now".
For example: EVERY 3 MONTH STARTS CURRENT_TIMESTAMP + 1 WEEK means "every three months, beginning one week from now".
Ends
An EVERY clause may also contain an optional ENDS clause. The ENDS keyword is followed by a timestamp value which tells MySQL when the event should stop repeating. You may also use INTERVAL interval with ENDS.
For example: EVERY 12 HOUR STARTS CURRENT_TIMESTAMP + INTERVAL 30 MINUTE ENDS
CURRENT_TIMESTAMP + INTERVAL 4 WEEK is equivalent to "every twelve hours, beginning thirty minutes from now, and ending four weeks from now".
P.S.
The timestamp must be in the future - you cannot schedule an event to take place in the past.
The interval portion consists of two parts, a quantity and a *unit of time.
*YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND
Oracle Objects
To start working with the server objects, you should create and open a connection. When you create a user account, you are also implicitly creating a schema for that user. A schema is a logical container for the database objects (such as tables, views, triggers, and so on) that the user creates. The schema name is the same as the user name, and can be used to unambiguously refer to objects owned by the user. Other user schemas are showed under Other
Schemas.
Hint: Oracle interprets non-quoted object identifiers as uppercase. In Navicat, all objects identifier will be quoted. That is, Navicat saves exactly what you have inputted.
Oracle Data Pump (Available only in Full Version)
Oracle Data Pump technology enables very high-speed movement of data and metadata from one database to another.
It includes two utilities: Data Pump Export and Data Pump Import.
45
Data Pump Export is a utility for unloading data and metadata into a set of operating system files called a dump file set.
The dump file set can be imported only by the Data Pump Import utility. The dump file set can be imported on the same system or it can be moved to another system and loaded there.
Data Pump Import is a utility for loading an export dump file set into a target system. The dump file set is made up of one or more disk files that contain table data, database object metadata, and control information. The files are written in a proprietary, binary format. During an import operation, the Data Pump Import utility uses these files to locate each database object in the dump file set.
Click to open an object list for Data Pump.
Directory from the pop-up menu.
Note: Support from Oracle 10g or later.
Data Pump requires SYSDBA Role and the dump file set is stored in the server.
Oracle Data Pump Export
You can save the Data Pump Export settings to a profile. Simply click the Save button.
Hint:
The profiles(.exp) are saved under the Settings Location .
To show the hidden tabs (advanced options), check the Show advanced options box.
General Properties
Job Name
The name of the job.
Mode
FULL In a full database export, the entire database is unloaded. This mode requires that you have the EXP_FULL_DATABASE role.
TABLESPACE In tablespace mode, only the tables contained in a specified set of tablespaces are unloaded. If a table is unloaded, its dependent objects are also unloaded. Both object metadata and data are unloaded.
SCHEMAS If you have the EXP_FULL_DATABASE role, then you can specify a list of schemas and optionally include the schema definitions themselves, as well as system privilege grants to those schemas. If you do not have the EXP_FULL_DATABASE role, you can export only your own schema.
TABLE In table mode, only a specified set of tables, partitions, and their dependent objects are unloaded. You must have the EXP_FULL_DATABASE role to specify tables that are not in your own schema. All specified tables must reside in a single schema.
46
Content
ALL Unload both data and metadata.
DATA_ONLY Unload only table row data; no database object definitions are unloaded.
METADATA_ONLY Unload only database object definitions; no table row data is unloaded.
Output Files
Add dump files to the dump file set for the export.
Objects to be exported
Select the objects to export. If you select TABLE mode, choose the schema in the Schema drop-down menu.
Metadata Filter
Include or Exclude a set of objects from the Export operation. Choose the Object Type and specify the Name
Clause.
Data Filter
Enable Table Data Filters
Specify a subquery that is added to the end of the SELECT statement for the table.
Enable Sample Filters
Specify a percentage for sampling the data blocks to be moved.
Remap Data
Table Schema
The schema containing the column to be remapped.
Table Name
The table containing the column to be remapped.
Column Name
The name of the column to be remapped.
Package Schema
The schema of the package.
Package Name
The name of the package.
Package Function
A PL/SQL package function which is called to modify the data for the specified column.
Encryption
47
Encryption Content
Specify what to encrypt in the dump file set.
ALL
DATA_ONLY Only data is written to the dump file set in encrypted format.
ENCRYPTED_COLUMNS_ONLY Only encrypted columns are written to the dump file set in encrypted format.
METADATA_ONLY
Enable encryption for all data and metadata in the export operation.
NONE
Only metadata is written to the dump file set in encrypted format.
No data is written to the dump file set in encrypted format.
Encryption Algorithm
Identify which cryptographic algorithm should be used to perform encryption.
Encryption Mode
Option
Transparent
Description
Allow an encrypted dump file set to be created without any intervention from a database administrator (DBA), provided the required Oracle Encryption Wallet is available.
Provide a password when creating encrypted dump file sets. Encryption
Password
Dual Create a dump file set that can later be imported using either the Oracle Encryption
Wallet or the password that was specified with the ENCRYPTION_PASSWORD parameter.
Encryption Password
Specify a key for re-encrypting encrypted table columns, metadata, or table data so that they are not written as clear text in the dump file set.
Confirm Password
Re-type your password.
Advanced Properties
Number of worker processes to be used
The maximum number of worker processes that can be used for the job.
Reuse files
A preexisting file will be overwritten.
Append timestamp to dump and log file names
Check this box to append timestamp to dump and log file names.
48
Enable data options for XMLCLOBS
Check this box to enable data options for XMLCLOBS.
Version
The version of database objects to be extracted.
COMPATIBLE The version of the metadata corresponds to the database compatibility level and the compatibility release level for feature.
LATEST The version of the metadata corresponds to the database version.
Database Link
The name of a database link to the remote database that will be the source of data and metadata for the current job.
Estimate
Specify that the estimate method for the size of the tables should be performed before starting the job.
Compression Type
ALL
DATA_ONLY
Compress both user data and metadata.
Compress only user data in the dump file set.
METADATA_ONLY Compress only metadata in the dump file set.
NONE Store the dump file set in an uncompressed format.
Transportable
Operate on metadata for tables (and their dependent objects) within a set of selected tablespaces to perform a transportable tablespace export.
Directory
Choose the log file directory.
Log File Name
Enter the name of the log file.
Flashback SCN
System change number (SCN) to serve as transactionally consistent point for reading user data.
Flashback Time
Either the date and time used to determine a consistent point for reading user data or a string of the form
TO_TIMESTAMP(...).
Oracle Data Pump Import
To show the hidden tabs (advanced options), check the Show advanced options box.
General Properties
49
Job Name
The name of the job.
Mode
FULL In a full database export, the entire database is unloaded. This mode requires that you have the EXP_FULL_DATABASE role.
TABLESPACE In tablespace mode, only the tables contained in a specified set of tablespaces are unloaded.
If a table is unloaded, its dependent objects are also unloaded. Both object metadata and
SCHEMAS data are unloaded.
If you have the EXP_FULL_DATABASE role, then you can specify a list of schemas and optionally include the schema definitions themselves, as well as system privilege grants to
TABLE those schemas. If you do not have the EXP_FULL_DATABASE role, you can export only your own schema.
In table mode, only a specified set of tables, partitions, and their dependent objects are unloaded. You must have the EXP_FULL_DATABASE role to specify tables that are not in your own schema. All specified tables must reside in a single schema.
Content
ALL Unload both data and metadata.
DATA_ONLY Unload only table row data; no database object definitions are unloaded.
METADATA_ONLY Unload only database object definitions; no table row data is unloaded.
Input Files
Add dump files to the dump file set for the import.
Objects to be imported
Select the objects to import. If you select TABLE mode, specify the schema in the Schema text box.
Network
Database Link
The name of a database link to the remote database that will be the source of data and metadata for the current job.
Estimate
Specify that the estimate method for the size of the tables should be performed before starting the job.
Flashback SCN
System change number (SCN) to serve as transactionally consistent point for reading user data.
Flashback Time
Either the date and time used to determine a consistent point for reading user data or a string of the form
TO_TIMESTAMP(...).
50
Transportable
Operate on metadata for tables (and their dependent objects) within a set of selected tablespaces to perform a transportable tablespace export.
DataFile Path
Specify the full file specification for a datafile in the transportable tablespace set.
Filters
Enable Include/Exclude Filters
Include or Exclude a set of objects from the Import operation. Choose the Object Type and specify the Name Clause.
Enable Table Data Filters
Specify a subquery that is added to the end of the SELECT statement for the table. If you specify a WHERE clause in the subquery, you can restrict the rows that are selected.
Remap Data
Enable Data Filters
Fields
Table Schema
Table name
Column Name
Package Schema
Package Name
Package Function
Description
The schema containing the column to be remapped.
The table containing the column to be remapped.
The name of the column to be remapped.
The schema of the package.
The name of the package.
A PL/SQL package function which is called to modify the data for the specified column.
Enable Datafile Filters
Specify a remapping to be applied to objects as they are processed in the specified job. Enter the Source datafile and
Target datafile.
Remap Objects
Enable Remap Schema
Specify a remapping to be applied to schemas as they are processed in the specified job. Enter the Source schema and choose the Target schema.
Enable Remap TableSpace
Specify a remapping to be applied to tablespaces as they are processed in the specified job. Enter the Source tablespace and choose the Target tablespace.
51
Enable Remap Table
Specify a remapping to be applied to tables as they are processed in the specified job. Enter the Source table and choose the Target table.
Advanced Properties
Number of worker processes to be used
The maximum number of worker processes that can be used for the job.
Reuse data files
Check this box to reuse existing datafiles for tablespace creation.
Skip unusable indexes
Check this box to skip loading tables that have indexes that were set to the Index Unusable state (by either the system or the user).
Streams Configuration
Check this box to import any general Streams metadata that may be present in the export dump file.
Action on table if table exists
Specify the action to be performed when data is loaded into a preexisting table.
SKIP The preexisting table is left unchanged.
APPEND New rows are added to the existing rows in the table.
TRUNCATE Rows are removed from a preexisting table before inserting rows from the Import.
REPLACE Preexisting tables are replaced with new definitions. Before creating the new table, the old table is dropped.
Data Options
A bitmask to supply special options for processing the job.
Partition Options
Specify how partitioned tables should be handled during an import operation.
NONE Partitioning is reproduced on the target database as it existed in the source database.
DEPARTITION Each partition or subpartition that contains storage in the job is reproduced as a separate unpartitioned table.
MERGE Each partitioned table is re-created in the target database as an unpartitioned table.
Version
The version of database objects to be extracted.
COMPATIBLE The version of the metadata corresponds to the database compatibility level and the compatibility release level for feature.
LATEST The version of the metadata corresponds to the database version.
52
Encryption Password
Specify a key for re-encrypting encrypted table columns, metadata, or table data so that they are not written as clear text in the dump file set.
Segment Attributes
Designate the segment attribute to which the transform applies.
Storage
Designate the storage to which the transform applies.
OID
Designate the OID to which the transform applies.
PCTSpace
Specify a percentage multiplier used to alter extent allocations and datafile sizes. Used to shrink large tablespaces for testing purposes.
Directory
Choose the log file directory.
Log File Name
Enter the name of the log file.
Oracle Debugger (Available only in Full Version)
Navicat provides Oracle PL/SQL debugger for debugging Oracle functions, procedures, packages and queries.
53
You can perform the most commonly used actions for debugging on the toolbar or menu:
Button
Run
Description
Start running code in debug mode. The debugger executes your code until the end of the code or the next breakpoint is reached. Keyboard shortcut: OPTION-CMD-ENTER
Step
Over
Step In
Stop
Resume the execution. The current line will be executed. If the line is a procedure or function call, it will bypass the procedure or function. The counter will then move to the next line of code.
Keyboard shortcut: SHIFT-CMD-O
Resume the execution. The current line will be executed. If the line is a procedure or function call, the counter goes to the first statement in the procedure or function. Otherwise, the counter will move to the next line of code. Keyboard shortcut: SHIFT-CMD-I
Step Out
Resume the execution. The remaining part of the code within the current procedure or function will be executed.
Step End
Resume the execution. The counter will jump to the last line of the procedure or function.
Keyboard shortcut: SHIFT-CMD-E
Stop stepping the code. The execution will stop and cannot resume it. Keyboard shortcut:
SHIFT-CMD-ENTER
The Breakpoints tab displays all the breakpoints which allowing you to delete, enable or disable breakpoints. To enable/disable a breakpoint, simply check/uncheck the Enable box. Also, you can delete a breakpoint or enable/disable all breakpoints, simply control-click a breakpoint and choose Delete, Enable All or Disable All.
54
The Stacks tab displays the procedure or function calls of the current line.
The Data tab displays information about the variables associated with breakpoints.
The Watches tab displays information about the variables being watched, allows you to add, delete or edit watch variables. To add a watch variable, simply control-click anywhere of the Watches tab and choose Add. Then, enter the
Variable Name and Value of the variable. To delete a watch variable, simply control-click a variable and choose
Delete.
The Code pane shows the code of the procedure or function, etc. You can add/remove breakpoints for debugging by clicking in the grey area beside each statement. To add a variable to the watch list, simply control-click the highlighted code and choose Add to Watch List. To show the debug tips, simply mouse-over the code.
The Log pane shows the message log and output when debugging the code.
Oracle Physical Attributes/Default Storage Characteristics
Pct Free
Specify a whole number representing the percentage of space in each data block of the database object reserved for future updates to rows of the object.
Pct Used
Specify a whole number representing the minimum percentage of used space that Oracle maintains for each data block of the database object. A block becomes a candidate for row insertion when its used space falls below this value.
Ini Trans
Specify the initial number of concurrent transaction entries allocated within each data block allocated to the database object.
Max Trans
Specify the maximum number of concurrent update transactions allowed for each data block in the segment.
Initial
Specify the size of the first extent of the object. Use the drop-down menu K or M to specify the size in kilobytes or megabytes.
Next
Specify the size of the next extent to be allocated to the object. Use the drop-down menu K or M to specify the size in kilobytes or megabytes.
Min
Specify the total number of extents to allocate when the object is created.
55
Max
Specify the total number of extents, including the first, that Oracle can allocate for the object. Check Unlimited if you want extents to be allocated automatically as needed.
Pct Increase
Specify the percent by which the third and subsequent extents grow over the preceding extent.
Buffer Pool
KEEP Choose this to put blocks from the segment into the KEEP buffer pool. Maintaining an appropriately sized KEEP buffer pool lets Oracle retain the schema object in memory to avoid I/O operations.
KEEP takes precedence over any NOCACHE clause you specify for a table, cluster, materialized view, or materialized view log.
RECYCLE Choose this to put blocks from the segment into the RECYCLE pool. An appropriately sized
RECYCLE pool reduces the number of objects whose default pool is the RECYCLE pool from taking up unnecessary cache space.
Free Lists
For objects other than tablespaces and rollback segments, specify the number of free lists for each of the free list groups for the table, partition, cluster, or index.
Free List Groups
Specify the number of groups of free lists for the database object you are creating.
Optimal
Specify an optimal size for a rollback segment. Use the drop-down menu K, M, G, T, P or E to specify the size in kilobytes, megabytes, gigabytes, terabytes, petabytes, or exabytes. Check Null for no optimal size for the rollback segment.
Oracle Tables
Relational databases use tables to store data. All operations on data are done on the tables themselves or produce another table as the result. A table is a set of rows and columns, and their intersections are fields. From a general perspective, columns within a table describe the name and type of data that will be found by row for that column's fields.
Rows within a table represent records composed of fields that are described from left to right by their corresponding column's name and type. Each field in a row is implicitly correlated with each other field in that row. Click to open an object list for Table.
To create a new normal table, simply click Add from the object list toolbar. Or, you can click-and-hold on Add to choose the type Normal / External / Index Organized.
When open a table with graphical fields, control-click a table and select Open Table (Quick) from the pop-up menu.
Faster performance for opening the graphical table, as BLOB fields (images) will not be loaded until you click on the cell.
If you do wish Navicat loads all your images while opening the table, click Open button from the object list toolbar.
56
You can create a table shortcut by drag the table out. It provides a convenient way for you to open your table for entering data directly without activating the main Navicat.
To empty a table, control-click the selected table and choose Empty Table from the pop-up menu. This option is only applied when you wish to clear all the existing records without resetting the auto-increment value. To reset the auto-increment value while emptying your table, use Truncate Table.
Oracle Normal Tables
Tables are the basic unit of data storage in an Oracle database. Data is stored in rows and columns. You define a table with a table name and set of columns.
In a normal (heap-organized) table, data is stored as an unordered collection (heap).
Oracle Table Fields
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See Oracle Built-in Datatypes for details.
Use the Size edit box to define the precision (total number of digits) of the field and use Scale edit box to define the
scale (number of digits to the right of the decimal point) for numeric column.
Note: Be careful when shortening the field length as it might result in data loss.
Not Null
Check this box to not allow the NULL values for the field.
Key
A Primary Key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value.
Field's Properties
Note: The following options depend on the field type you are chosen.
Default Value
Set the default value for the field.
Comment
Set any optional text describing the current field.
57
Day Precision
Set the number of digits in the leading field.
Fractional Seconds Precision
Set the number of digits in the fractional part of the SECOND datetime field.
Year Precision
Set the number of digits in the year.
Unit
Set the unit either in BYTE or CHAR.
Schema
Set the schema for the field type.
User-defined Type
Set the type for the field.
Oracle Table Indexes
Indexes are optional structures associated with tables and clusters. You can create indexes on one or more columns of a table to speed SQL statement execution on that table. An Oracle Database index provides a faster access path to table data. Indexes are the primary means of reducing disk I/O when properly used.
You can create many indexes for a table as long as the combination of columns differs for each index. You can create more than one index using the same columns if you specify distinctly different combinations of the columns.
In the Indexes tab, just simply click an index field for editing. By using the index toolbar, you can create new, edit and delete the selected index field.
Use the Name edit box to set the index name.
To include field(s) in the index, click Fields to open the editor for editing.
Index Type
Define the type of the table index.
Non-unique Non-unique indexes do not impose the restriction of unique indexes on the column values.
Unique Unique indexes guarantee that no two rows of a table have duplicate values in the key column (or columns).
Bitmap In a bitmap index, a bitmap for each key value is used instead of a list of rowids.
Parallel with degree
Parallel indexing can improve index performance when you have a large amount of data, and have multiple CPUs.
Enter the degree that determines the number of separate indexing processes.
58
Schema
The schema in which to create the index.
Note: To create an index in your own schema, at least one of the following conditions must be true:
The table or cluster to be indexed is in your own schema.
You have INDEX privilege on the table to be indexed.
You have CREATE ANY INDEX system privilege.
To create an index in another schema, all of the following conditions must be true:
You have CREATE ANY INDEX system privilege.
The owner of the other schema has a quota for the tablespaces to contain the index or index partitions, or
UNLIMITED TABLESPACE system privilege.
Oracle Table Foreign Keys
A foreign key specifies that the values in a column (or a group of columns) must match the values appearing in some row of another table. We say this maintains the referential integrity between two related tables.
In the Foreign Keys tab, just simply click a foreign key field for editing. By using the foreign key toolbar, you can create new, edit and delete the selected foreign key field.
Use the Name edit box to enter a name for the new key.
Use the Referenced Schema, Referenced Table and Referenced Constraint drop-down menus to select a foreign schema, table and constraint respectively.
To include field(s) to the key, click Local Fields to open the editor(s) for editing.
The On Delete drop-down menu defines the type of the actions to be taken.
No Action
Cascade
This is the default action. Referenced key values will not be updated or deleted.
Delete any rows referencing the deleted row, or update the value of the referencing column to the new value of the referenced column, respectively.
Set the referencing column(s) to null. Set Null
Enable
You can choose whether to enable/disable the foreign key constraint by checking/unchecking the box.
Related topic:
Oracle Table Uniques
59
Unique constraints ensure that the data contained in a column or a group of columns is unique with respect to all the rows in the table.
In the Uniques tab, just simply click an unique field for editing. By using the unique toolbar, you can create new, edit and delete the selected unique field.
Use the Name edit box to set the unique name.
To set field(s) as unique, click Fields to open the editor(s) for editing.
Enable
You can choose whether to enable/disable the unique constraint by checking/unchecking the box.
Oracle Table Checks
A check constraint is the most generic constraint type. It allows you to specify that the value in a certain column must satisfy a Boolean (truth-value) expression.
In the Checks tab, just simply click a check field for editing. By using the check toolbar, you can create new, edit and delete the selected check field.
Use the Name edit box to set the check name.
Expression
Type in the definition for the check constraint. That is, set the condition for checking, e.g. "field_name1 > 0 AND field_name2 > field_name1" in the Expression edit box. A check constraint specified as a column constraint should reference that column's value only, while an expression appearing in a table constraint may reference multiple columns.
Enable
You can choose whether to enable/disable the check constraint by checking/unchecking the box.
Oracle Table Triggers
A trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be defined to execute either before or after any INSERT, UPDATE, or DELETE operation, either once per modified row, or once per SQL statement.
In the Triggers tab, just simply click a trigger field for editing. By using the trigger toolbar, you can create new, edit and delete the selected trigger field.
Name
Set the trigger name.
Compound
Check to set the trigger as a compound trigger.
60
Note: Support from Orac1e 11g or later.
For Each
Set the trigger as a row trigger or statement trigger.
Fires
Specify the trigger timing whether the trigger action is to be run before or after the triggering statement.
Insert
Fire the trigger whenever an INSERT statement adds a row to a table or adds an element to a nested table.
Update
Fire the trigger whenever an UPDATE statement changes a value in one of the columns specified in Update Of Fields.
If no Update Of Fields are present, the trigger will be fired whenever an UPDATE statement changes a value in any column of the table or nested table.
Delete
Fire the trigger whenever a DELETE statement removes a row from the table or removes an element from a nested table.
Update Of Fields
Specify the fields for UPDATE statement trigger upon necessary. Click to select field(s).
Enable
You can choose whether to enable / disable the trigger constraint by checking / unchecking the box.
Body
Type in the definition for the trigger. Example:
BEGIN
add_job_history(:old.employee_id, :old.hire_date, sysdate,
:old.job_id, :old.department_id);
END;
Old
Specify correlation names. The default correlation name is OLD.
New
Specify correlation names. The default correlation name is NEW.
When
Specify the trigger condition, which is a SQL condition that must be satisfied for the database to fire the trigger. This condition must contain correlation names and cannot contain a query.
61
Schema
Define the trigger on the current schema.
Follows
Specify the relative firing order of triggers of the same type.
Note: Support from Orac1e 11g or later.
Oracle Table Options
Tablespace
Define a tablespace different from the default tablespace to create a table.
Logging
Specify whether creation of a database object will be logged in the redo log file (LOGGING) or not (NOLOGGING).
Table Compression
Specify whether to compress data segments to reduce disk use. It is valid only for heap-organized tables.
COMPRESS
COMPRESS FOR ALL
OPERATIONS
COMPRESS FOR DIRECT_LOAD
OPERATIONS
NOCOMPRESS
Enable table compression.
Attempt to compress data during all DML operations on the table.
Attempt to compress data during direct-path INSERT operations when it is productive to do so.
Disable table compression.
Cache
Indicate how blocks are stored in the buffer cache.
CACHE
NOCACHE
Indicate that the blocks retrieved for this table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed.
Indicate that the blocks retrieved for this table are placed at the least recently used end of the LRU list in the buffer cache when a full table scan is performed.
Parallel with degree
Specify the degree of parallelism, which is the number of parallel threads used in the parallel operation.
Row movement
With the option on, it allows the database to move a table row. It is possible for a row to move, for example, during table compression or an update operation on partitioned data.
Physical Attributes
Refer to Physical Attributes/Default Storage Characteristics .
62
Oracle External Tables
External tables access data in external sources as if it were in a table in the database. While creating external tables, you are actually creating metadata in the data dictionary that enables you to access external data.
Note that external tables are read only. No DML operations are possible and no index can be created.
Fields for Oracle External Tables
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See Oracle Built-in Datatypes for details.
Use the Size edit box to define the precision (total number of digits) of the field and use Scale edit box to define the
scale (number of digits to the right of the decimal point) for numeric column.
Note: Be careful when shortening the field length as it might result in data loss.
Field's Properties
Note: The following options depend on the field type you are chosen.
Day Precision
Set the number of digits in the leading field.
Fractional Seconds Precision
Set the number of digits in the fractional part of the SECOND datetime field.
Year Precision
Set the number of digits in the year.
Unit
Set the unit either in BYTE or CHAR.
Schema
Set the schema for the field type.
User-defined Type
Set the type for the field.
External Properties for Oracle External Tables
63
Default Directory
Specify the default directory for the external table.
Directory
Set the external directory.
Location
Set the external source location.
Access Driver Type
Specify the access driver for the external table. The default type for external tables is ORACLE_LOADER.
Reject Limit
Specify the limit on the number of errors that can occur during a query of the external data.
Parallel with degree
Check to enable parallel query on the data sources and specify the degree of parallel access.
Access Parameters for Oracle External Tables
Describe the mapping of the external data to the Oracle Database data columns.
Use CLOB subquery
Check this option to get a CLOB data value of the returned query.
Oracle Index Organized Tables
An index-organized table has a storage organization that is a variant of a primary B-tree. Data for an index-organized table is stored in a B-tree index structure in a primary key sorted manner. Each leaf block in the index structure stores both the key and nonkey columns.
Index-organized tables have full table functionality. They support features such as constraints, triggers etc with additional features such as key compression.
Note: The Table Designer for Index Organized Tables differs from Normal Tables only on the Options tab. Therefore,
you can refer to the Normal Table on the similar tabs.
Options for Oracle Index Organized Tables
Tablespace
Define a tablespace different from the default tablespace to create a table.
Logging
Specify whether creation of a database object will be logged in the redo log file (LOGGING) or not (NOLOGGING).
64
Parallel with degree
Specify the degree of parallelism, which is the number of parallel threads used in the parallel operation.
Key compress
Check this option to enable key compression. Upon necessary, you can also specify the prefix length (as the number of key columns), which identifies how the key columns are broken into a prefix and suffix entry.
Pct Threshold
When an overflow segment is being used, it defines the maximum size of the portion of the row that is stored in the index block, as a percentage of block size.
Mapping table
Specify if there is a mapping table for the index-organized table. Note that a mapping table is required for creating bitmap indexes on an index-organized table.
Physical Attributes
Refer to Physical Attributes/Default Storage Characteristics .
IOT Overflow
Option
Overflow
Last Index Column
Tablespace
Logging
Description
Check to enable an overflow storage area.
Note: After saving the table, this option cannot be unchecked.
Specify the column to be put in a separate overflow data segment.
Specify the tablespace in which the overflow segment to be stored.
Specify whether creation of a database object will be logged in the redo log file
(LOGGING) or not (NOLOGGING).
Refer to Physical Attributes/Default Storage Characteristics .
Physical Attributes
Oracle Views
Views are useful for allowing users to access a set of relations (tables) as if it were a single table, and limiting their access to just that. Views can also be used to restrict access to rows (a subset of a particular table). Click to open an object list for View.
You can create a view shortcut by drag the view out. It provides a convenient way for you to open your view without activating the main Navicat.
Button
Preview
Description
Preview and/or Explain the view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
65
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Advanced Properties
Read only
Indicate that the table or view cannot be updated.
Check option
Indicate that Oracle Database prohibits any changes to the table or view that would produce rows that are not included in the subquery.
Constraint Name
Specify the name. If you omit this identifier, then Oracle automatically assigns a name of the form SYS_Cn, where n is an integer that makes the constraint name unique within the database.
Force on create
Check this option if you want to create the view regardless of whether the base tables of the view or the referenced object types exist or the owner of the schema containing the view has privileges on them.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
Oracle Functions/Procedures
A procedure or function is a schema object that consists of a set of SQL statements and other PL/SQL constructs, grouped together, stored in the database, and run as a unit to solve a specific problem or perform a set of related tasks.
Procedures and functions are identical except that functions always return a single value to the caller, while procedures do not. Click to open an object list for Function.
Function Pop-up Window
Click the Add from the object list toolbar. A Window will pop up and it allows you to create a procedure/function easily.
66
Type
Define whether it is a procedure/function.
Name
Specify the name for the procedure/function.
Define the parameter(s) for the procedure/function. Set the parameter Name, Type, Mode and Default Value under corresponding columns.
Definition
The Code Outline window displays information about the function/procedure including parameter, code body, etc. To show the Code Outline window, simply choose Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
Result
To run the procedure/function, click Execute on the toolbar. If the SQL statement is correct, the statement will be executed and, if the statement is supposed to return data, the Result tab opens with the data returned by the procedure/function. If an error occurs while executing the procedure/function, execution stops, the appropriate error message is displayed. If the function/procedure requires input parameter, the Input Parameters box will pop up.
Debug (Available only in Full Version)
To debug the function/procedure, click
Debug on the toolbar to launch the Oracle Debugger . Enter the Input
Parameters if necessary.
You can add/remove breakpoints for debugging by clicking in the grey area beside each statement.
Oracle Database Links
Database link is a named schema object that describes a path from one database to another and are implicitly used when a reference is made to a global object name in a distributed database. After you have created a database link,
67
you can use it to refer to tables and views on the other database. Click -> Database Link to open an object list for Database Link.
General Properties
Service Name
Specify the service name of a remote database.
User Name
The user name used to connect to the remote database using a fixed user database link.
Password
The password for connecting to the remote database.
Current User
With this option checked, a current user database link is created. The current user must be a global user with a valid account on the remote database.
Shared
Fill in Authentication User Name and Authentication Password when Shared option is enabled.
Oracle Indexes
Index provides a faster access path to table data. It is created using one or more columns of a table to speed SQL statement execution on that table. Click -> Index to open an object list for Index.
You can choose the index Type:
Non-unique
Unique
Bitmap
Domain
Cluster
A normal index does not impose restrictions on the column values.
A unique index indicates that no two rows of a table have duplicate values in the key columns.
A bitmap index created with a bitmap for each distinct key, rather than indexing each row separately. Bitmap indexes store the rowids associated with a key value as a bitmap. Each bit in the bitmap corresponds to a possible rowid.
A domain index is an index designed for a specialized domain, such as spatial or image processing. Users can build a domain index of a given type after the designer creates the indextype.
A cluster index is an index designed for a cluster.
General Properties for Non-unique and Unique Indexes
Table Schema
The schema that contains the index.
Table Name
The table name.
68
Fields
Use the Field drop-down menu to select the field name and Order drop-down menu to define the order of the index
(ASC or DESC).
General Properties for Bitmap Index
Table Schema
The schema that contains the index.
Table Name
The table name.
Bitmap Join Index
In addition to a bitmap index on a single table, you can create a bitmap join index, which is a bitmap index for the join of two or more tables. A bitmap join index is a space efficient way of reducing the volume of data that must be joined by performing restrictions in advance.
Fields
Use the Schema, Table and/or Field drop-down menus to select the schema, table and/or field name.
Bitmap Join
Use the Left Schema, Left Table, Left Field, Right Schema, Right Table and Right Field drop-down menus to select joined schemas, tables and fields respectively.
General Properties for Domain Index
Table Schema
The schema that contains the index.
Table Name
The table name.
Column
The column which the index is based.
Schema
The schema of the indextype.
Name
Select the created or built-in indextypes.
Parameters
Information about the path table and about the secondary indexes corresponding to the components of XMLIndex.
General Properties for Cluster Index
69
Cluster Schema
The schema that contains the index.
Cluster Name
The name of the cluster.
Advanced Properties
Unusable
An unusable index must be rebuilt, or dropped and re-created, before it can be used.
Tablespace
The name of the tablespace to hold the index.
Compress
To enable key compression, which eliminates repeated occurrence of key column values and may substantially reduce storage.
Note: No compression for Bitmap Indexes.
Parallel
The creation of the index will be parallelized.
Reverse
To store the bytes of the index block in reverse order, excluding the rowid.
Logging
Choose LOGGING to log the creation of the index in the redo log file. Or, choose NOLOGGING for no log.
Visibility
Specify the index is VISIBLE or INVISIBLE to the optimizer.
Online
To indicate that DML operations on the table will be allowed during creation of the index.
No sort
To indicate to the database that the rows are already stored in the database in ascending order, so that Oracle
Database does not have to sort the rows when creating the index.
Physical Attributes
Set the physical attributes of an index.
70
Oracle Java
Java is an object-oriented programming language efficient for application-level programs. You can write and load applications within the database. Click -> Java to open an object list for Java.
You can choose the Type: Source, Class or Resource.
General Properties for Source
BFile
Select the Directory and type the File Name.
Load From File
Browse the File path of Java source file.
Plain Source
Type the source code in the Plain Source box.
General Properties for Class and Resource
BFile
Select the Directory and type the File Name.
Load From File
Browse the File path of Java class or Java resource file.
Advanced Properties
Invoker Rights
Select Current User to indicate that the methods of the class execute with the privileges of current user or Definer to indicate that the methods of the class execute with the privileges of the owner of the schema in which the class resides, and that external names resolve in the schema where the class resides.
Resolver
Specify a mapping of the fully qualified Java name to a Java schema object.
Compile / Resolve
Check this to specify that Oracle Database should attempt to resolve the Java schema object that is created if this statement succeeds.
No force
Check this to roll back the results of the CREATE command of Java if you have enabled Compile or Resolve and the resolution or compilation fails. If you do not specify this option, then Oracle Database takes no action if the resolution or compilation fails, and the created schema object remains.
71
Oracle Materialized Views
Materialized view is a schema object that can be used to summarize, compute, replicate, and distribute data. Click
-> Materialized View to open an object list for Materialized View.
Button
Preview
Description
Preview and/or Explain the materialized view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Advanced Properties
When
DEMAND
COMMIT
The materialized view will be refreshed on demand by calling one of the three DBMS_MVIEW refresh procedures.
A fast refresh is to occur whenever the database commits a transaction that operates on a master table of the materialized view.
AUTOMATIC The database automatically refresh the materialized view with the automatic refresh time.
NEVER The materialized view will not be refreshed with any Oracle Database refresh mechanism or packaged procedure.
Start With
A datetime expression for the first automatic refresh time.
Next
A datetime expression for calculating the interval between automatic refreshes.
Method
FORCE
FAST
When a refresh occurs, Oracle Database will perform a fast refresh if one is possible or a complete refresh if fast refresh is not possible.
A incremental refresh method, which performs the refresh according to the changes that have
72
occurred to the master tables.
COMPLETE A complete refresh method, which is implemented by executing the defining query of the materialized view.
Type
PRIMARY KEY
ROW ID
A primary key materialized view.
A rowid materialized view.
Master
The remote rollback segment is used at the remote master site for the individual materialized view.
Local
The remote rollback segment is used for the local refresh group that contains the materialized view.
Constraints
ENFORCED Oracle Database use enforced constraints during the refresh operation.
TRUSTED Oracle Database use dimension and constraint information that has been declared trustworthy by the database administrator but that has not been validated by the database.
No Index
Check this to suppress the creation of the default index.
Build Type
IMMEDIATE The materialized view is to be populated immediately.
DEFERRED The materialized view is to be populated by the next refresh operation.
PREBUILT To register an existing table as a preinitialized materialized view.
Prebuilt Option
WITH REDUCED
PRECISON
WITHOUT REDUCED
PRECISON
To authorize the loss of precision that will result if the precision of the table or materialized view columns do not exactly match the precision returned by subquery.
To require that the precision of the table or materialized view columns match exactly the precision returned by subquery, or the create operation will fail.
Compress
COMPRESS Data segments are compressed to reduce disk and memory use.
NOCOMPRESS No data segments are compressed.
Parallel
Choose NOPARALLEL for serial execution or PARALLEL if you want Oracle to select a degree of parallelism equal to the number of CPUs available on all participating instances times the value of the PARALLEL_THREADS_PER_CPU initialization parameter.
73
With Degree
Set the default degree of parallelism for queries and DML on the materialized view after creation.
Logging
Choose LOGGING for logging the creation of Materialized view in the redo log file. Choose NOLOGGING for no logging.
Tablespace
Choose the tablespace in which the materialized view is to be created.
Cache
CACHE
NOCACHE
The blocks retrieved for the table are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed.
The blocks are placed at the least recently used end of the LRU list.
For update
Check this to allow a subquery, primary key, object, or rowid materialized view to be updated. When used in conjunction with Advanced Replication, these updates will be propagated to the master.
Enable query rewrite
The materialized view is used for query rewrite.
Physical Attributes
Set the Physical Attributes of the materialized view.
Using Index Clause
Option
Tablespace
Physical
Attributes
Description
Choose the tablespace of the index.
Set the Physical Attributes for the default index Oracle Database uses to maintain the
materialized view data.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
Oracle Materialized View Logs
defined on the master table can be refreshed incrementally. Click -> Materialized View Log to open an object list for Materialized View Log.
General Properties
74
Master Table
The table of the materialized view log.
Tablespace
The tablespace of the materialized view log.
Logging
To specify either LOGGING or NOLOGGING to establish the logging characteristics for the materialized view log.
Cache
CACHE
NOCACHE
The blocks retrieved for this log are placed at the most recently used end of the least recently used (LRU) list in the buffer cache when a full table scan is performed.
The blocks are placed at the least recently used end of the LRU list.
New Values
INCLUDING To save both new and old values in the log.
EXCLUDING To disable the recording of new values in the log.
Parallel
To determine the number of parallel threads used in the parallel operation.
Physical Attributes
Set the Physical Attributes of a materialized view log.
Object ID
The system-generated or user-defined object identifier of every modified row should be recorded in the materialized view log.
Primary Key
The primary key of all rows changed should be recorded in the materialized view log.
Row ID
The rowid of all rows changed should be recorded in the materialized view log.
Sequence
A sequence value providing additional ordering information should be recorded in the materialized view log.
Filter Columns
Choose the columns whose values you want to be recorded in the materialized view log for all rows that are changed.
75
Oracle Packages
Packages are encapsulated collections of related procedures, stored functions, and other program objects stored together in the database. Package bodies, specified subsequently, defines these objects. An package consists of two parts: a specification and a body. Click -> Package to open an object list for Package.
The Code Outline window displays information about the package/package body including function, procedure, parameter, code body, etc. To show the Code Outline window, simply choose Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Package's Definition
Enter the package's definition. After saving the package, you can edit the Package Body. Just click New Package
Body or Edit Package Body to open the Package Body Designer.
Hint:
Package Body's Definition
Enter the package body's definition. To edit the Package Specification, click Package to open the Package
Designer.
Hint:
Result
To run the package click Execute on the toolbar. If the SQL statement is correct, the statement will be executed and, if the statement is supposed to return data, the Result tab opens with the data returned by the package. If an error occurs while executing the package, execution stops, the appropriate error message is displayed. Select the function/procedure and enter the parameter(s) if the function/procedure has input parameter(s).
Debug (Available only in Full Version)
To debug the package click
Debug on the toolbar to launch the Oracle Debugger . Select the function/procedure
and enter the parameter(s) if the function/procedure has input parameter(s).
76
You can add/remove breakpoints for debugging by clicking in the grey area beside each statement.
Oracle Sequences
Sequence involves creating and initializing a new special single-row table. It is usually used to generate unique identifiers for rows of a table. Click -> Sequence to open an object list for Sequence.
General Properties
Starting Value
To specify the first sequence number to be generated.
Increment
To specify which value is added to the current sequence value to create a new value. A positive value will make an ascending sequence, a negative one a descending sequence. The default value is 1.
Minimum Value
The minimum value a sequence can generate.
Maximum Value
The maximum value for the sequence.
Cache Size
To specify how many values of the sequence the database preallocates and keeps in memory for faster access. The minimum value for this parameter is 2.
No Cache
This option indicates that values of the sequence are not preallocated.
Cyclic
This option allows the sequence continues to generate values after reaching either its maximum or minimum value.
After an ascending sequence reaches its maximum value, it generates its minimum value. After a descending sequence reaches its minimum, it generates its maximum value.
Order
This option guarantees that sequence numbers are generated in order of request.
Oracle Synonyms
Synonym is an alias for any table, view, materialized view, synonym, procedure, function, package, type, Java class schema object, user-defined object type, or another synonym. Because a synonym is simply an alias, it requires no storage other than its definition in the data dictionary. Click -> Synonym to open an object list for Synonym.
General Properties
77
DB Link
A complete or partial database link to create a synonym for a schema object on a remote database where the object is located.
Object Schema
The schema in which the object resides.
Object Type
The object type.
Object Name
The object for which the synonym is created.
Oracle Triggers
Triggers are similar to procedures. A trigger stored in the database can include SQL and PL/SQL or Java statements to run as a unit and can invoke procedures. Click -> Trigger to open an object list for Trigger.
You can choose the Trigger Type: TABLE, VIEW, SCHEMA or DATABASE.
General Properties for Table Trigger
Enabled
An enabled trigger runs its trigger action if a triggering statement is issued and the trigger restriction (if any) evaluates to true.
Table Owner
The owner of the table.
Table Name
The table you wish to create the trigger.
Compound
A compound trigger is a single trigger on a table that allows you to specify actions for each of four timing points:
Timing Point
Before the triggering statement executes
After the triggering statement executes
Before each row that the triggering statement affects
After each row that the triggering statement affects
Section
BEFORE STATEMENT
AFTER STATEMENT
BEFORE EACH ROW
AFTER EACH ROW
Note: Support from Oracle 11g or later and you can edit the SQL in Trigger Definition.
78
Fire
When defining a trigger, you can specify the trigger timing - whether the trigger action is to be run Before or After the triggering statement.
For Each
Oracle Database fires a ROW trigger once for each row that is affected by the triggering statement and fires a
STATEMENT trigger only once when the triggering statement is issued if the optional trigger constraint is met.
When
To specify the trigger condition, which is a SQL condition that must be satisfied for the database to fire the trigger.
Insert
The trigger is activated whenever adding a row to a table or adds an element to a nested table.
Delete
The trigger is activated whenever removing a row from the table or removes an element from a nested table.
Update
The trigger is activated whenever changing a value in one of the fields selected in Columns.
General Properties for View Trigger
Enabled
An enabled trigger runs its trigger action if a triggering statement is issued and the trigger restriction (if any) evaluates to true.
View Owner
The owner of the view.
View Name
The view you wish to create the trigger.
Compound
To specify the Instead Of Trigger.
Nested table
To select the nested table field.
Note: Support from Oracle 11g or later and you can edit the SQL in Trigger Definition.
Insert
The trigger is activated whenever adding a row to a table or adds an element to a nested table.
Delete
The trigger is activated whenever removing a row from the table or removes an element from a nested table.
79
Update
The trigger is activated whenever changing a value in a row.
General Properties for Schema Trigger
Enabled
An enabled trigger runs its trigger action if a triggering statement is issued and the trigger restriction (if any) evaluates to true.
Schema
The schema of the trigger.
Fire
When defining a trigger, you can specify the trigger timing - whether the trigger action is to be run Before or After the triggering statement.
When
To specify the trigger condition, which is a SQL condition that must be satisfied for the database to fire the trigger.
Events
Choose the DDL statements that can cause the trigger to fire.
General Properties for Database Trigger
Enabled
An enabled trigger runs its trigger action if a triggering statement is issued and the trigger restriction (if any) evaluates to true.
Fire
When defining a trigger, you can specify the trigger timing - whether the trigger action is to be run Before or After the triggering statement.
When
To specify the trigger condition, which is a SQL condition that must be satisfied for the database to fire the trigger.
Events
Choose the DDL statements that can cause the trigger to fire.
Advanced Properties for Table and View Trigger
Old
Correlation names of the old nested table.
New
Correlation names of the new nested table.
80
Parent
Correlation names of the parent table.
Follows
To indicate that the trigger should fire after the specified triggers. Use the Schema drop-down menu to select the schema name and Trigger Name drop-down menu to select the trigger.
Note: Support from Oracle 11g or later.
Definition
You can edit valid SQL or procedure statements in the trigger definition inside BEGIN and END.
The Code Outline window displays information about the trigger. To show the Code Outline window, simply choose
Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
Oracle Types
Type is an user-defined datatype that model the structure and behavior of the data in an application. An object type consists of two parts: a specification and a body. The type body always depends on its type specification. A collection type is a named varying array (varray) or a nested table type. Click -> Type to open an object list for Type.
To create an object type, simply click Add from the object list toolbar. Or, you can click-and-hold on Add to choose the type Object / Collection.
The Code Outline window displays information about the object type/object type body including declaration, etc. To show the Code Outline window, simply choose Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
81
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Object Type's Definition
Enter the object type's definition. After saving the object type, you can edit the Object Type Body. Just click New
Type Body or Edit Type Body to open the Type Body Designer.
Hint:
Object Type Body's Definition
Enter the object type body's definition. To edit the Object Type Specification, click Type to open the Object Type
Designer.
Hint:
Collection Type
Nested table
Create a nested table type.
Varying array
Create a varray type and determine the array size of the varray type.
Data Type
Select the Oracle Database built-in datatype or user-defined type of the attribute.
Data Type Parameter(s)
Determine the corresponding data type parameters.
Oracle XML Schemas
XML Schema is a schema definition language written in XML. It can be used to describe the structure and various other semantics of conforming instance documents. Click -> XML Schema to open an object list for XML Schema.
Schema Doc
Enter a valid XML schema document under the Schema Doc tab.
Advanced Properties
82
Local
Check this to register as local schemas.
Force On Schema Registration
Check this to ignore errors generated during schema evolution.
Object Types
Check this to enable the schema compiler to generate object types.
Java Beans
Check this to enable the schema compiler to generate Java beans.
Default Tables
Check this to enable the schema compiler to generate default tables.
REGISTER_NODOCID
Check this to prevent the creation of this column if the user wishes to optimize on storage.
REGISTER_BINARYXML
Check this to register the schema for Binary XML.
REGISTER_NT_AS_IOT
Check this to store nested tables created during schema registration as index organized tables.
REGISTER_AUTO_OOL
Check this to automatically move large types out of line.
Enable Hierarchy
ENABLE_HIERARCHY_NONE
ENABLE_HIERARCHY_CONTENTS
Enable hierarchy will not be called on any tables created while registering that schema.
Enable hierarchy will be called for all tables created during schema registration with hierarchy_type as
DBMS_XDBZ.ENABLE_CONTENTS.
ENABLE_HIERARCHY_RESMETADATA Enable hierarchy will be called on all tables created during schema registration with hierarchy_type as
DBMS_XDBZ.ENABLE_RESMETADATA.
Oracle Recycle Bin
Recycle bin is actually a data dictionary table containing information about dropped objects. Dropped tables and any associated objects such as indexes, constraints, nested tables, and the likes are not removed and still occupy space.
They continue to count against user space quotas, until specifically purged from the recycle bin or the unlikely situation
83
where they must be purged by the database because of tablespace space constraints. Click -> Recycle Bin to open an object list for Recycle Bin.
To restore a table
1. Choose a table in recycle bin.
2. Click Flashback from the object list toolbar.
To remove an object
1. Select an object for purging in the Object List pane.
2. Click Purge from the object list toolbar.
3. Confirm deleting in the dialog window.
To remove all objects
1. Control-click and select Purge Recycle Bin from the pop-up menu.
2. Confirm deleting in the dialog window.
To remove all objects of any users
1. Log in a user has the SYSDBA privilege.
2. Control-click and select the Purge DBA Recycle Bin from the pop-up menu.
3. Confirm deleting in the dialog window.
Oracle Directories
A directory object specifies an alias for a directory on the server file system where external binary file LOBs (BFILEs) and external table data are located. All directories are created in a single namespace and are not owned by an individual schema. Click -> Directory to open an object list for Directory.
General Properties
Path Name
Specify the full path name of the operating system directory of the server where the files are located. The path name is case sensitive.
Oracle Tablespaces
Tablespaces are the allocation of space in the database that can contain schema objects. Click ->
Tablespace to open an object list for Tablespace.
General Properties
Tablespace Type
84
PERMANENT A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stored in datafiles.
TEMPORARY A temporary tablespace contains schema objects only for the duration of a session. Objects in temporary tablespaces are stored in tempfiles.
UNDO An undo tablespace is a type of permanent tablespace used by Oracle Database to manage undo data if you are running your database in automatic undo management mode.
Name
Set the name of the datafile/tempfile.
Size
Set the size of the datafile/tempfile.
Unit
Define the size unit of the datafile/tempfile. Specify the maximum disk space allowed for automatic extension of the datafile. Use the drop-down menu K, M, G or T to specify the size in kilobytes, megabytes, gigabytes or terabytes.
Reuse
To allow Oracle to reuse an existing file.
Path
Specify the path of the datafile/tempfile.
Autoextend
To ON (enable) or OFF (disable) the automatic extension of a new or existing datafile or tempfile.
Next Size
Specify the size in bytes of the next increment of disk space to be allocated automatically when more extents are required. The default is the size of one data block. Use the drop-down menu K, M, G or T to specify the size in kilobytes, megabytes, gigabytes or terabytes.
Unlimited max
Unlimited disk space that Oracle can allocate to the datafile or tempfile.
Max Size
Specify the maximum disk space allowed for automatic extension of the datafile. Use the drop-down menu K, M, G or T to specify the size in kilobytes, megabytes, gigabytes or terabytes.
Storage
File Type
BIGFILE A bigfile tablespace contains only one datafile or tempfile, which can contain up to approximately 4 billion (2
32
) blocks. The maximum size of the single datafile or tempfile is 128 terabytes (TB) for a tablespace with 32K blocks and 32TB for a tablespace with 8K blocks.
85
SMALLFILE A smallfile tablespace is a traditional Oracle tablespace, which can contain 1022 datafiles or tempfiles, each of which can contain up to approximately 4 million (2
22
) blocks.
Minimum Extent Size
The minimum size of an extent in the tablespace. Use the drop-down menu K, M, G or T to specify the size in kilobytes, megabytes, gigabytes or terabytes.
Block size
The block size for the tablespace.
Use storage option
to set the storage options of the tablespace.
Table Compression
Use the drop-down menu to select the type of compressing data segments to reduce disk use.
Manual segment management
To manage the free space of segments in the tablespace using free lists.
Extent Management
DICTIONARY Extent management by the data dictionary.
LOCAL Extent management by the bitmaps.
Allocation
AUTOALLOCATE The tablespace is system managed.
UNIFORM The tablespace is managed with uniform extents of size.
Uniform Size
The size of uniform extent. The default size is 1 megabyte. Use the drop-down menu K, M, G or T to specify the size in kilobytes, megabytes, gigabytes or terabytes. If you do not specify any of the abbreviations, then the size is interpreted as bytes.
Advanced Properties
Logging
LOGGING Log all objects within the tablspace in the redo log file.
NOLOGGING No operations are logged.
Force logging
Oracle Database will log all changes to all objects in the tablespace except changes to temporary segments, overriding any NOLOGGING setting for individual objects.
86
Offline
The tablespace is unavailable immediately (offline) after creation.
Retention guarantee
Oracle Database should preserve unexpired undo data in all undo segments of tablespace even if doing so forces the failure of ongoing operations that need undo space in those segments.
Tablespace Group
To determine whether tablespace is a member of a tablespace group.
Flashback
ON Oracle Database will save Flashback log data for this tablespace and the tablespace can participate in a FLASHBACK DATABASE operation.
Oracle Database will not save any Flashback log data for this tablespace. OFF
Use encryption
Enable the encryption properties of the tablespace.
Algorithm
To select the encryption algorithm.
Oracle Public Database Links
Public database Link is a database link created by a DBA on a local database that is accessible to all users on that database. Click -> Public Database Link to open an object list for Public Database Link.
See Database Link for details.
Oracle Public Synonyms
Public synonym is a synonym owned by the special user group named PUBLIC and every user in a database can access it. Click -> Public Synonym to open an object list for Public Synonym.
PostgreSQL Objects
To start working with the server objects, you should create and open a connection. If the server is empty, you need to control-click the connection in the Connection pane and choose New Database to create a new database.
General Properties
87
Designer on how to set user properties.
Name
Define the name of the database.
Owner
Define the owner for the database. If omitted, defaults to the user executing the command. Only superusers may create database owned by users other than themselves.
Encoding
Define the encoding for the database. If omitted, the default is the encoding of the template database.
Collation Order
Define the collation order (LC_COLLATE) to use in the new database. This affects the sort order applied to strings, e.g. in queries with ORDER BY, as well as the order used in indexes on text columns. The default is to use the collation order of the template database.
Note: Support from PostgreSQL 8.4 or later.
Character Classification
Define the character classification (LC_CTYPE) to use in the new database. This affects the categorization of characters, e.g. lower, upper and digit. The default is to use the character classification of the template database.
Note: Support from PostgreSQL 8.4 or later.
Template
Create the database from a template database.
Note: It is essential that the source database be idle (no data-altering transactions in progress) for the duration of the copying operation. CREATE DATABASE will check that no session (other than itself) is connected to the source database at the start of the operation, but this does not guarantee that changes cannot be made while the copy proceeds, which would result in an inconsistent copied database. Therefore, it is recommended that databases used as templates be treated as read-only.
Tablespace
Define the tablespace for the database. If omitted, defaults to pg_default.
Connection Limit
Define how many concurrent connections can be made to this database. -1 (the default) means no limit.
Note: Support from PostgreSQL 8.1 or later.
88
PostgreSQL Debugger (Available only in Full Version)
Navicat provides PostgreSQL debugger for debugging PostgreSQL PL/pgSQL functions.
You can perform the most commonly used actions for debugging on the toolbar or menu:
Button
Run
Description
Start running code in debug mode. The debugger executes your code until the end of the code or the next breakpoint is reached. Keyboard shortcut:
OPTION-CMD-ENTER
Step Over
Resume the execution. The current line will be executed. If the line is a function call, it will bypass the function. The counter will then move to the next line of code.
Keyboard shortcut: SHIFT-CMD-O
Step In
Resume the execution. The current line will be executed. If the line is a function call, the counter goes to the first statement in the function. Otherwise, the counter will move to the next line of code. Keyboard shortcut: SHIFT-CMD-I
Step Out
Resume the execution. The remaining part of the code within the current function will be executed.
Step End
Resume the execution. The counter will jump to the last line of the function.
Keyboard shortcut: SHIFT-CMD-E
Stop
Stop stepping the code. The execution will stop and cannot resume it. Keyboard shortcut: SHIFT-CMD-ENTER
The Breakpoints tab displays all the breakpoints. You can delete a breakpoint, simply control-click a breakpoint and choose Delete.
89
The Stacks tab displays the function calls of the current line.
The Data tab displays the varaibles in function.
The Watches tab displays information about the variables being watched, allows you to add, delete or edit watch variables. To add a watch variable, simply control-click anywhere of the Watches tab and choose Add. Then, enter the
Variable Name of the variable. To delete a watch variable, simply control-click a variable and choose Delete.
The Code pane shows the code of the function, etc. You can add/remove breakpoints for debugging by clicking in the grey area beside each statement.
The Log pane shows the message log and output when debugging the code.
PostgreSQL Schemas
A schema is essentially a namespace: it contains named objects (tables, data types, functions, and operators) whose names may duplicate those of other objects existing in other schemas. The schema name must be distinct from any existing schema name in the current database.
General Properties
Name
The name of a schema to be created. The name cannot begin with pg_, as such names are reserved for system schemas.
Owner
The name of the user who will own the schema. If omitted, defaults to the user executing the command.
PostgreSQL Tables
Relational databases use tables to store data. All operations on data are done on the tables themselves or produce another table as the result. A table is a set of rows and columns, and their intersections are fields. From a general perspective, columns within a table describe the name and type of data that will be found by row for that column's fields.
Rows within a table represent records composed of fields that are described from left to right by their corresponding column's name and type. Each field in a row is implicitly correlated with each other field in that row. Click to open an object list for Table.
To create a new normal table, simply click Add from the object list toolbar. Or, you can click-and-hold on Add to choose the type Normal / Foreign.
When open a table with graphical fields, control-click a table and select Open Table (Quick) from the pop-up menu.
Faster performance for opening the graphical table, as BLOB fields (images) will not be loaded until you click on the cell.
If you do wish Navicat loads all your images while opening the table, click Open button from the object list toolbar.
90
You can create a table shortcut by drag the table out. It provides a convenient way for you to open your table for entering data directly without activating the main Navicat.
To empty a table, control-click the selected table and choose Empty Table from the pop-up menu. This option is only applied when you wish to clear all the existing records without resetting the auto-increment value. To reset the auto-increment value while emptying your table, use Truncate Table below.
PostgreSQL Normal Tables
Tables are the basic unit of data storage in a PostgreSQL database. Data is stored in rows and columns. You define a table with a table name and set of columns.
PostgreSQL Table Fields
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See PostgreSQL Data Types for details.
Use the Length edit box to define the length of the field and use Decimals edit box to define the number of digits after the decimal point (the scale) for Floating Point data type.
Note: Be careful when shortening the field length as losing data might be caused.
Dimensions
Set the dimensions of array specifiers.
Not Null
Check this box to not allow the NULL values for the field.
Key
A Primary Key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value.
Field's Properties
Note: The following options depend on the field type you are chosen.
Default Value
Set the default value for the field.
91
Comment
Set any optional text describing the current field.
Collation
Set the collation of the column (which must be of a collatable data type). If not specified, the column data type's default collation is used.
Note: Support from PostgreSQL 9.1 or later.
Schema
Set the schema for the field type.
User-defined Type
Set the type for the field.
PostgreSQL Table Indexes
Indexes are primarily used to enhance database performance (though inappropriate use can result in slower performance). An index field can be an expression computed from the values of one or more columns of the table row.
This feature can be used to obtain fast access to data based on some transformation of the basic data.
In the Indexes tab, just simply click an index field for editing. By using the index toolbar, you can create new, edit and delete the selected index field.
Use the Name edit box to set the index name. No schema name can be included here; the index is always created in the same schema as its parent table.
To include field(s) in the index, just simply click Fields to open the editor for editing.
Note: Some of field types do not allow indexing by several fields.
The Index Type drop-down menu defines the type of the table index.
Unique
Makes index unique, causes the system to check for duplicate values in the table when the index is created (if data already exist) and each time data is added.
Cluster
CLUSTER instructs PostgreSQL to cluster the table specified by tablename based on the index specified by indexname. The index must already have been defined on tablename.
When a table is clustered, PostgreSQL remembers on which index it was clustered. The form CLUSTER tablename reclusters the table on the same index that it was clustered before.
Tablespace
The tablespace in which to create the index.
92
Constraints
If you wish to create partial index, enter constraint condition in this edit box. A partial index is an index that contains entries for only a portion of a table, usually a portion that is more useful for indexing than the rest of the table.
Buffering
Use the buffering build technique to build the index.
Note: Support from PostgreSQL 9.2 or later.
Fill Factor
The fillfactor for an index.
Note: Support from PostgreSQL 8.2 or later.
Comment
Define the comment for the index.
Fields Editor
Select the field(s) from the Field list.
Collation
Choose the collation for the index.
Note: Support from PostgreSQL 9.1 or later.
Order
Specify the sort order: ASC or DESC.
Nulls
Specify that nulls sort before(FIRST)/after(LAST) non-nulls.
PostgreSQL Table Foreign Keys
A foreign key specifies that the values in a column (or a group of columns) must match the values appearing in some row of another table. We say this maintains the referential integrity between two related tables.
In the Foreign Keys tab, just simply click a foreign key field for editing. By using the foreign key toolbar, you can create new, edit and delete the selected foreign key field.
Use the Name edit box to enter a name for the new key.
Use the Referenced Schema and Referenced Table drop-down menus to select a foreign schema and table respectively.
93
To include field(s)/referenced field(s) to the key, click Fields editing.
or Referenced Fields to open the editor(s) for
The On Delete and On Update drop-down menu define the type of the actions to be taken.
CASCADE
SET NULL Set the referencing column(s) to null.
NO ACTION Produce an error indicating that the deletion or update would create a foreign key constraint violation. If the constraint is deferred, this error will be produced at constraint check time if there still exist any referencing rows. This is the default action.
RESTRICT
Delete any rows referencing the deleted row, or update the value of the referencing column to the new value of the referenced column, respectively.
Produce an error indicating that the deletion or update would create a foreign key constraint violation. This is the same as NO ACTION except that the check is not deferrable.
Related topic:
Match Full
Check this option to not allow one column of a multicolumn foreign key to be null unless all foreign key columns are null.
Deferrable
The foreign key constraint can be deferred.
Deferred
The foreign key constraint is checked only at the end of the transaction.
Comment
Define the comment for the foreign key.
PostgreSQL Table Uniques
Unique constraints ensure that the data contained in a column or a group of columns is unique with respect to all the rows in the table.
In the Uniques tab, just simply click an unique field for editing. By using the unique toolbar, you can create new, edit and delete the selected unique field.
Use the Name edit box to set the unique name.
To set field(s) as unique, click Fields to open the editor(s) for editing.
Index Tablespace
The tablespace of the unique constraint's index.
94
Fill Factor
The fillfactor for an unique is a percentage between 10 and 100. 100 (complete packing) is the default.
Note: Support from PostgreSQL 8.2 or later.
Deferrable
The unique constraint can be deferred.
Deferred
The unique constraint is checked only at the end of the transaction.
Comment
Define the comment for the unique.
PostgreSQL Table Checks
A check constraint is the most generic constraint type. It allows you to specify that the value in a certain column must satisfy a Boolean (truth-value) expression.
In the Checks tab, just simply click a check field for editing. By using the check toolbar, you can create new, edit and delete the selected check field.
Use the Name edit box to set the check name.
Expression
Set the condition for checking, e.g. "field_name1 > 0 AND field_name2 > field_name1" in the Expression edit box. A check constraint specified as a column constraint should reference that column's value only, while an expression appearing in a table constraint may reference multiple columns.
No Inherit
The check constraint will not propagate to child tables.
Note: Support from PostgreSQL 9.2 or later.
Comment
Enter the comment for the check.
PostgreSQL Table Excludes
A exclude constraint guarantees that if any two rows are compared on the specified column(s) or expression(s) using the specified operator(s), not all of these comparisons will return TRUE.
In the Excludes tab, just simply click an exclude field for editing. By using the exclude toolbar, you can create new, edit and delete the selected exclude field.
Note: Exclude is supported from PostgreSQL 9.0 or later.
95
Use the Name edit box to set the exclude name.
Index Method
The name of the index access method to be used.
Exclude Elements
Choose the element(s) to be excluded and specify the operator(s).
Index Tablespace
The tablespace of the exclude constraint's index.
Fill Factor
The fillfactor storage parameter of the exclude constraint's index.
Buffering
Use the buffering build technique to build the exclude constraint's index.
Note: Support from PostgreSQL 9.2 or later.
Predicate
Specify an exclusion constraint on a subset of the table.
Deferrable
The exclude constraint can be deferred.
Deferred
The exclude constraint is checked only at the end of the transaction.
Comment
Define the comment for the exclude.
PostgreSQL Table Rules
The PostgreSQL rule system allows one to define an alternate action to be performed on insertions, updates, or deletions in database tables. Roughly speaking, a rule causes additional commands to be executed when a given command on a given table is executed.
Note: You must be the owner of a table to create or change rules for it.
In the Rules tab, just simply click a rule field for editing. By using the rule toolbar, you can create new, edit and delete the selected rule field.
Use the Name edit box to set the rule name. This must be distinct from the name of any other rule for the same table.
Multiple rules on the same table and same event type are applied in alphabetical name order.
96
Event Type
The event is one of SELECT, INSERT, UPDATE, or DELETE.
Do also instead
This indicates that the commands should be executed in addition to the original command.
This indicates that the commands should be executed instead of the original command.
Condition
Any SQL conditional expression (returning boolean). The condition expression may not refer to any tables except NEW and OLD, and may not contain aggregate functions.
Commands
The command or commands that make up the rule action. Valid commands are SELECT, INSERT, UPDATE, DELETE, or NOTIFY.
Within condition and command, the special table names NEW and OLD may be used to refer to values in the referenced table. NEW is valid in ON INSERT and ON UPDATE rules to refer to the new row being inserted or updated.
OLD is valid in ON UPDATE and ON DELETE rules to refer to the existing row being updated or deleted.
Comment
Define the comment for the rule.
PostgreSQL Table Triggers
A trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be defined to execute either before or after any INSERT, UPDATE, or DELETE operation, either once per modified row, or once per SQL statement.
In the Triggers tab, just simply click a trigger field for editing. By using the trigger toolbar, you can create new, edit and delete the selected trigger field.
Note:
To create a trigger on a table, the user must have the TRIGGER privilege on the table.
Use the Name edit box to set the trigger name. This must be distinct from the name of any other trigger for the same table.
For Each
This specifies whether the trigger procedure should be fired once for every row affected by the trigger event, or just once per SQL statement.
Fires
Define the trigger action time. It can be before or after to indicate that the trigger activates before or after the statement that activated it.
97
Insert
The trigger is activated whenever a new row is inserted into the table.
Update
The trigger is activated whenever a row is modified.
Delete
The trigger is activated whenever a row is deleted from the table.
Update Of Fields
Specify a list of columns. The trigger will only fire if at least one of the listed columns is mentioned as a target of the
UPDATE command.
Note: Support from PostgreSQL 9.1 or later.
Condition
Specify a Boolean WHEN condition, which will be tested to see whether the trigger should be fired.
Note: Support from PostgreSQL 9.0 or later.
Function Schema and Function
A user-supplied function that is declared as taking no arguments and returning type trigger, which is executed when the trigger fires.
Arguments
An optional comma-separated list of arguments to be provided to the function when the trigger is executed. The arguments are literal string constants. Simple names and numeric constants may be written here, too, but they will all be converted to strings. Please check the description of the implementation language of the trigger function about how the trigger arguments are accessible within the function; it may be different from normal function arguments.
Comment
Define the comment for the trigger.
Constraint
Create a constraint trigger.
Deferrable
The trigger constraint can be deferred.
Deferred
The trigger constraint is checked only at the end of the transaction.
Referenced Table Schema and Referenced Table Name
The schema and the name of another table referenced by the constraint.
98
PostgreSQL Table Options
Unlogged
The table is created as an unlogged table. Data written to unlogged tables is not written to the write-ahead log, which makes them considerably faster than ordinary tables.
Note: Support from PostgreSQL 9.1 or later.
Owner
Define the user to own this table.
Tablespace
Define a tablespace different from the default tablespace to create a table.
Note: Support from PostgreSQL 8.0 or later.
Has oids
Check this option if you want to specify whether rows of the new table should have OIDs (object identifiers) assigned to them.
Inherits from
This option specifies a list of tables from which the new table automatically inherits all columns. Use of inheritance creates a persistent relationship between the new child table and its parent table(s). Schema modifications to the parent(s) normally propagate to children as well, and by default the data of the child table is included in scans of the parent(s).
Select the available table(s) from the list.
Fill Factor
The fillfactor for a table is a percentage between 10 and 100. 100 (complete packing) is the default. When a smaller fillfactor is specified, INSERT operations pack table pages only to the indicated percentage; the remaining space on each page is reserved for updating rows on that page. This gives UPDATE a chance to place the updated copy of a row on the same page as the original, which is more efficient than placing it on a different page. For a table whose entries are never updated, complete packing is the best choice, but in heavily updated tables smaller fillfactors are appropriate.
Note: Support from PostgreSQL 8.2 or later.
PostgreSQL Foreign Tables
Foreign tables define the structure of the remote data. A foreign table can be used in queries just like a normal table, but a foreign table has no storage in the PostgreSQL server. Whenever it is used, PostgreSQL asks the foreign data wrapper to fetch data from the external source, or transmit data to the external source in the case of update commands.
Note: Support from PostgreSQL 9.1 or later.
99
Fields for PostgreSQL Foreign Tables
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See PostgreSQL Data Types for details.
Use the Length edit box to define the length of the field and use Decimals edit box to define the number of digits after the decimal point (the scale) for Floating Point data type.
Note: Be careful when shortening the field length as losing data might be caused.
Dimensions
Set the dimensions of array specifiers.
Not Null
Check this box to not allow the NULL values for the field.
Field's Properties
Note: The following options depend on the field type you are chosen.
Foreign Column Name
The foreign table's column name.
Options
Options to be associated with the foreign table column. The allowed option Name and Value are specific to each foreign data wrapper and are validated using the foreign-data wrapper's validator function.
Default Value
Set the default value for the field.
Comment
Set any optional text describing the current field.
Collation
Set the collation of the column (which must be of a collatable data type). If not specified, the column data type's default collation is used.
Note: Support from PostgreSQL 9.1 or later.
Schema
Set the schema for the field type.
100
User-defined Type
Set the type for the field.
Table Options for PostgreSQL Foreign Tables
Foreign Server
The name of an existing server for the foreign table.
Note: Support from PostgreSQL 9.1 or later.
Options
Options to be associated with the foreign table. The allowed option Name and Value are specific to each foreign data wrapper and are validated using the foreign-data wrapper's validator function.
Owner
Define the user to own this table.
PostgreSQL Views
Views are useful for allowing users to access a set of relations (tables) as if it were a single table, and limiting their access to just that. Views can also be used to restrict access to rows (a subset of a particular table). Click to open an object list for View.
You can create a view shortcut by drag the view out. It provides a convenient way for you to open your view without activating the main Navicat.
Button
Preview
Description
Preview and/or Explain the view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Rules
Use the Name edit box to set the rule name.
101
Event Type
The event is one of SELECT, INSERT, UPDATE, or DELETE.
Do also This indicates that the commands should be executed in addition to the original command. instead This indicates that the commands should be executed instead of the original command.
Condition
Any SQL conditional expression (returning boolean). The condition expression may not refer to any tables except NEW and OLD, and may not contain aggregate functions.
Commands
The command or commands that make up the rule action. Valid commands are SELECT, INSERT, UPDATE, DELETE, or NOTIFY.
Within condition and command, the special table names NEW and OLD may be used to refer to values in the referenced table. NEW is valid in ON INSERT and ON UPDATE rules to refer to the new row being inserted or updated.
OLD is valid in ON UPDATE and ON DELETE rules to refer to the existing row being updated or deleted.
Comment
Define the comment for the rule.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
PostgreSQL Functions
PostgreSQL provides four kinds of functions:
query language functions (functions written in SQL)
procedural language functions (functions written in, for example, PL/Tcl or PL/pgSQL)
internal functions
C-language functions
Every kind of function can take base types, composite types, or combinations of these as arguments (parameters). In addition, every kind of function can return a base type or a composite type. Many kinds of functions can take or return certain pseudo-types (such as polymorphic types), but the available facilities vary. Click to open an object list for
Function.
Properties
102
Owner
The owner of the function.
Language
The name of the language that the function is implemented in. May be SQL, C, internal, or the name of a user-defined procedural language. For backward compatibility, the name may be enclosed by single quotes.
Return Type Schema and Return Type
The return type of the function.
Volatility
These attributes inform the query optimizer about the behavior of the function. At most one choice may be specified. If none of these appear, VOLATILE is the default assumption.
IMMUTABLE The function cannot modify the database and always returns the same result when given the same argument values; that is, it does not do database lookups or otherwise use information not directly present in its argument list. If this option is given, any call of the function with all-constant arguments can be immediately replaced with the function value.
STABLE
VOLATILE
The function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values, but that its result could change across
SQL statements. This is the appropriate selection for functions whose results depend on database lookups, parameter variables (such as the current time zone), etc. Also note that the current_timestamp family of functions qualify as stable, since their values do not change within a transaction.
The function value can change even within a single table scan, so no optimizations can be made. Relatively few database functions are volatile in this sense; some examples are random(), currval(), timeofday(). But note that any function that has side-effects must be classified volatile, even if its result is quite predictable, to prevent calls from being optimized away; an example is setval().
Security
INVOKER
DEFINER
Indicate that the function is to be executed with the privileges of the user that calls it.
Specify that the function is to be executed with the privileges of the user that created it.
Returns set
Indicate that the function will return a set of items, rather than a single item.
Strict
Indicate that the function always returns null whenever any of its arguments are null. If this parameter is specified, the function is not executed when there are null arguments; instead a null result is assumed automatically.
Parameter
Define function parameter.
103
Estimated Cost
A positive number giving the estimated execution cost for the function, in units of cpu_operator_cost. If the function returns a set, this is the cost per returned row. If the cost is not specified, 1 unit is assumed for C-language and internal functions, and 100 units for functions in all other languages. Larger values cause the planner to try to avoid evaluating the function more often than necessary.
Note: Support from PostgreSQL 8.3 or later.
Estimated Rows
A positive number giving the estimated number of rows that the planner should expect the function to return. This is only allowed when the function is declared to return a set. The default assumption is 1000 rows.
Note: Support from PostgreSQL 8.3 or later.
Configuration Parameter
The specified configuration parameter to be set to the specified value when the function is entered, and then restored to its prior value when the function exits.
Note: Support from PostgreSQL 8.3 or later.
Definition
Definition consists of a valid SQL procedure statement. This can be a simple statement such as SELECT or INSERT, or it can be a compound statement written using BEGIN and END. Compound statements can contain declarations, loops, and other control structure statements.
Hint:
Result
To run the function, click Execute on the toolbar. If the SQL statement is correct, the statement will be executed and, if the statement is supposed to return data, the Result tab opens with the data returned by the function. If an error occurs while executing the function, execution stops, the appropriate error message is displayed. If the function requires input parameter, the Input Parameters box will pop up.
Debug (Available only in Full Version)
To debug the PL/pgSQL function, click
Debug on the toolbar to launch the PostgreSQL Debugger . Enter the Input
Parameters if necessary.
You can add/remove breakpoints for debugging by clicking in the grey area beside each statement.
104
PostgreSQL Aggregates
Aggregate functions in PostgreSQL are expressed as state values and state transition functions. That is, an aggregate can be defined in terms of state that is modified whenever an input item is processed. To define a new aggregate function, one selects a data type for the state value, an initial value for the state, and a state transition function. The state transition function is just an ordinary function that could also be used outside the context of the aggregate. A final function can also be specified, in case the desired result of the aggregate is different from the data that needs to be kept in the running state value. Click -> Aggregate to open an object list for Aggregate.
General Properties
Owner
The owner of the aggregate function.
Input Type
An input data type on which this aggregate function operates.
Note: Support from PostgreSQL 8.2 or later. For versions below 8.2, just select the Schema and Type from the drop-down menus.
State Type Schema and State type
The data type for the aggregate's state value.
State Function Schema and State function
The state transition function to be called for each input row. For an N-argument aggregate function, the state function must take N+1 arguments, the first being of type state_data_type and the rest matching the declared input data type(s) of the aggregate. The function must return a value of type state_data_type. This function takes the current state value and the current input data value(s), and returns the next state value.
Final Function Schema and Final function
The final function called to compute the aggregate's result after all input rows have been traversed. The function must take a single argument of type state_data_type. The return data type of the aggregate is defined as the return type of this function. If final function is not specified, then the ending state value is used as the aggregate's result, and the return type is state_data_type.
Initial Condition
The initial setting for the state value. This must be a string constant in the form accepted for the data type
state_data_type. If not specified, the state value starts out null.
Sort Operator Schema and Sort Operator
The associated sort operator for a MIN- or MAX-like aggregate. The operator is assumed to have the same input data types as the aggregate (which must be a single-argument aggregate).
Note: Support from PostgreSQL 8.1 or later.
105
PostgreSQL Conversions
Conversion defines a new conversion between character set encodings. Conversion names may be used in the convert function to specify a particular encoding conversion. Also, conversions that are marked DEFAULT can be used for automatic encoding conversion between client and server. For this purpose, two conversions, from encoding A to B and from encoding B to A, must be defined. Click -> Conversion to open an object list for Conversion.
General Properties
Owner
The owner of the conversion function.
Source Encoding
The source encoding name.
Target Encoding
The destination encoding name.
Schema of Function and Function
The function used to perform the conversion. The function name may be schema-qualified. If it is not, the function will be looked up in the path.
The function must have the following signature:
conv_proc( integer, -- source encoding ID integer, -- destination encoding ID cstring, -- source string (null terminated C string) internal, -- destination (fill with a null terminated C string) integer -- source string length
) RETURNS void;
Default
Check this box to indicate that this conversion is the default for this particular source to destination encoding. There should be only one default encoding in a schema for the encoding pair.
PostgreSQL Domains
A domain is essentially a data type with optional constraints (restrictions on the allowed set of values). The user who defines a domain becomes its owner. Domains are useful for abstracting common constraints on fields into a single location for maintenance. For example, several tables might contain email address columns, all requiring the same
CHECK constraint to verify the address syntax. Define a domain rather than setting up each table's constraint individually. Click -> Domain to open an object list for Domain.
General Properties
106
Underlying Type Category
Choose the underlying data type category: Base Type, Composite Type, Enum Type and Domain.
Note: Support from PostgreSQL 8.2 or later.
Underlying Type Schema
Select schema of the underlying data type.
Underlying Type
Select the underlying data type of the domain from the drop-down menu.
Dimensions
The dimensions of array specifiers.
Length and Scale
Use the Length edit box to define the length of the field and use Scale edit box to define the number of digits after the decimal point. (if required for the selected data type)
Default
The DEFAULT clause specifies a default value for columns of the domain data type. The value is any variable-free expression (but subqueries are not allowed). The data type of the default expression must match the data type of the domain. If no default value is specified, then the default value is the null value.
The default expression will be used in any insert operation that does not specify a value for the column. If a default value is defined for a particular column, it overrides any default associated with the domain. In turn, the domain default overrides any default value associated with the underlying data type.
Not Null
Values of this domain are not allowed to be null.
Owner
The owner of the domain function. The user who defines a domain becomes its owner.
Check
The Check tab is provided for managing domain checks. It allows you to create new, edit, or delete the selected check.
CHECK clauses specify integrity constraints or tests which values of the domain must satisfy. Each constraint must be an expression producing a Boolean result. It should use the key word VALUE to refer to the value being tested.
PostgreSQL Indexes
Index provides a faster access path to table data. It is created using one or more columns of a table to speed SQL statement execution on that table. Click -> Index to open an object list for Index.
107
General Properties
Type
Define the type of the index.
Unique
Makes index unique, causes the system to check for duplicate values in the table when the index is created (if data already exist) and each time data is added.
Table Name
The name (possibly schema-qualified) of the table to be indexed.
Field
The name of a column of the table.
Collation
Choose the collation for the index.
Note: Support from PostgreSQL 9.1 or later.
Order (only for btree index)
Specify the sort order: ASC or DESC.
Nulls (only for btree index)
Specify that nulls sort before(FIRST)/after(LAST) non-nulls.
Constraint
If you wish to create partial index, enter constraint condition in this tab. A partial index is an index that contains entries for only a portion of a table, usually a portion that is more useful for indexing than the rest of the table.
Advanced Properties
Cluster
CLUSTER instructs PostgreSQL to cluster the table specified by tablename based on the index specified by indexname. The index must already have been defined on tablename.
When a table is clustered, PostgreSQL remembers on which index it was clustered. The form CLUSTER tablename reclusters the table on the same index that it was clustered before.
Concurrently
When this option is used, PostgreSQL will build the index without taking any locks that prevent concurrent inserts, updates, or deletes on the table; whereas a standard index build locks out writes (but not reads) on the table until it's done.
108
Tablespace
The tablespace in which to create the index.
Fill Factor (%)
The fillfactor for an index is a percentage that determines how full the index method will try to pack index pages.
Fast Update (only for gin index)
This setting controls usage of the fast update technique.
Note: Support from PostgreSQL 8.4 or later.
Buffering (only for gist index)
Determine whether the buffering build technique is used to build the index.
PostgreSQL Operators
PostgreSQL supports left unary, right unary, and binary operators. Operators can be overloaded. At least one of
LEFTARG and RIGHTARG must be defined. For binary operators, both must be defined. For right unary operators, only LEFTARG should be defined, while for left unary operators only RIGHTARG should be defined. Click ->
Operator to open an object list for Operator.
Note: LEFTARG = Left type; RIGHTARG = Right type.
General Properties
Owner
The owner of the operator function.
Schema of Left Type and Left Type
The data type of the operator's left operand, if any. This option would be omitted for a left-unary operator.
Schema of Right Type and Right Type
The data type of the operator's right operand, if any. This option would be omitted for a right-unary operator.
Schema of Operator Function and Operator Function
The function used to implement this operator.
Advanced Properties
Schema of Restrict Function and Restrict Function
The restriction selectivity estimator function for this operator.
Schema of Join Function and Join Function
The join selectivity estimator function for this operator.
109
Schema of Commutator and Commutator
The commutator of this operator.
Schema of Negator and Negator
The negator of this operator.
Hash join
The operator can support a hash join if this option on.
Merge join
The operator can support a merge join if this option on.
Additional Advanced Properties for PostgreSQL Version below 8.3
Schema of Left Sort Operator and Left Sort Operator
If this operator can support a merge join, the left sort operator that sorts the left-hand data type of this operator.
Schema of Right Sort Operator and Right Sort Operator
If this operator can support a merge join, the right sort operator that sorts the right-hand data type of this operator.
Schema of Less Than Operator and Less Than Operator
If this operator can support a merge join, the less-than operator that compares the input data types of this operator.
Schema of Greater Than Operator and Greater Than Operator
If this operator can support a merge join, the greater-than operator that compares the input data types of this operator.
PostgreSQL Materialized Views
Materialized view is a view of a query that is physically materialized. The query is executed and used to populate the view at the time the command is issued and may be refreshed later. Click -> Materialized View to open an object list for Materialized View.
Note: Support from PostgreSQL 9.3 or later.
To refresh and completely replace the contents of a materialized view, control-click it in the Object List pane and select
Refresh Materialized View With from the pop-up menu.
Button
Preview
Description
Preview and/or Explain the materialized view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
View Builder (Available only in Full Version)
110
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Advanced Properties
Owner
The owner of the materialized view.
Tablespace
The name of the tablespace in which the new materialized view is to be created.
Fill Factor
The fillfactor for a view is a percentage between 10 and 100. 100 (complete packing) is the default.
With Data
The materialized view should be populated at creation time.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
PostgreSQL Operator Classes
An operator class defines how a particular data type can be used with an index. The operator class specifies that certain operators will fill particular roles or "strategies" for this data type and this index method. The operator class also specifies the support procedures to be used by the index method when the operator class is selected for an index column. All the operators and functions used by an operator class must be defined before the operator class is created.
Click -> Operator Class to open an object list for Operator Class.
Note: Two operator classes in the same schema can have the same name only if they are for different index methods.
General Properties
Owner
The owner of the operator class function.
Schema of Data Type and Data Type
The column data type that this operator class is for.
111
Index Method
The name of the index method this operator class is for.
Schema of Storage Type and Storage type
The data type actually stored in the index. Normally this is the same as the column data type, but some index methods
(GIN and GiST for now) allow it to be different. The STORAGE clause must be omitted unless the index method allows a different type to be used.
Operator Family
The name of the existing operator family to add this operator class to. If not specified, a family named the same as the operator class is used (creating it, if it doesn't already exist).
Note: Support from PostgreSQL 8.3 or later.
Default operator
With this option selected, the operator class will become the default operator class for its data type. At most one operator class can be the default for a specific data type and index method.
Operators
Strategy No.
The index method's strategy number for an operator associated with the operator class.
Schema of operator and Operator Prototype
The operator associated with the operator class.
Recheck
With this option selected, the index is "lossy" for this operator, and so the rows retrieved using the index must be rechecked to verify that they actually satisfy the qualification clause involving this operator.
Note: Before PostgreSQL 8.4, the OPERATOR clause could include a RECHECK option. This is no longer supported because whether an index operator is "lossy" is now determined on-the-fly at runtime. This allows efficient handling of cases where an operator might or might not be lossy.
Functions
Support No.
The index method's support procedure number for a function associated with the operator class.
Schema of function and Function Prototype
The function that is an index method support procedure for the operator class.
112
PostgreSQL Sequences
Sequence involves creating and initializing a new special single-row table. It is usually used to generate unique identifiers for rows of a table. Click -> Sequence to open an object list for Sequence.
General Properties
Owner
The owner of the sequence function.
Starting Value
The starting value of the sequence.
Increment
Specify which value is added to the current sequence value to create a new value. A positive value will make an ascending sequence, a negative one a descending sequence. The default value is 1.
Minimum Value
Determine the minimum value a sequence can generate. If No minimum value is checked, then defaults will be used.
Maximum Value
Determine the maximum value for the sequence. If No maximum value is checked, then default values will be used.
Cache Size
Specify how many sequence numbers are to be preallocated and stored in memory for faster access.
Cyclic
This option allows the sequence to wrap around when the maxvalue or minvalue has been reached by an ascending or descending sequence respectively. If the limit is reached, the next number generated will be the minvalue maxvalue, respectively. Otherwise, any calls to nextval after the sequence has reached its maximum value will return an error.
Add owned by
Choose the Owned By Table and Owned By Column so that the sequence is associated with a specific table column, such that if that column (or its whole table) is dropped, the sequence will be automatically dropped as well. The specified table must have the same owner and be in the same schema as the sequence.
Note: Support from PostgreSQL 8.2 or later.
PostgreSQL Triggers
Triggers are database operations that are automatically performed when a specified database event occurs. Click
-> Trigger to open an object list for Trigger.
113
General Properties
Constraint
Check this box to create a constraint trigger.
Trigger Type
Choose the type of the trigger: Table or View.
Note: Support from PostgreSQL 9.0 or later.
Table Name or View Name
Choose a table or view.
Before
The trigger can be specified to fire before the operation is attempted on a row.
After
The trigger can be specified to fire after the operation is attempted on a row.
Instead Of
The trigger can be specified to fire instead of the operation is attempted on a row.
Insert
The trigger is activated whenever a new row is inserted.
Update
The trigger is activated whenever a row is modified.
Delete
The trigger is activated whenever a row is deleted.
Truncate
Trigger defined to fire for TRUNCATE.
Update Of columns
Specify a list of columns. The trigger will only fire if at least one of the listed columns is mentioned as a target of the
UPDATE command.
Statement Level
Specify the trigger procedure should be fired once per SQL statement.
Row Level
Specify the trigger procedure should be fired once for every row affected by the trigger event.
Note: Support from PostgreSQL 9.0 or later.
114
Function Schema and Function Name
A user-supplied function that is declared as taking no arguments and returning type trigger, which is executed when the trigger fires.
Function Arguments
An optional comma-separated list of arguments to be provided to the function when the trigger is executed. The arguments are literal string constants. Simple names and numeric constants may be written here, too, but they will all be converted to strings. Please check the description of the implementation language of the trigger function about how the trigger arguments are accessible within the function; it may be different from normal function arguments.
Condition
Specify a Boolean condition, which will be tested to see whether the trigger should be fired.
Constraint
Deferrable
The constraint can be deferred.
Initially Immediate
The constraint is checked after each statement.
Initially Deferred
The constraint is checked only at the end of the transaction.
Referenced Table Schema and Referenced Table Name
The schema and the name of another table referenced by the constraint.
PostgreSQL Trigger Functions
Trigger Function can be created with PL/pgSQL and referenced within a PostgreSQL trigger definition. The term
"trigger function" is a simply a way of referring to a function that is intended to be invoked by a trigger. Triggers define operations that are performed when a specific event occurs within the database. A PL/pgSQL trigger function can be referenced by a trigger as the operation to be performed when the trigger's event occurs.
The definition of a trigger and the definition of its associated trigger function are two different things. A trigger is defined with the SQL
CREATE TRIGGER
command, whereas trigger functions are defined using the SQL
CREATE
FUNCTION
command. Click -> Trigger Function to open an object list for Trigger Function.
Properties
Owner
The owner of the trigger function.
115
Language
The name of the language that the function is implemented in. May be C, internal, or the name of a user-defined procedural language. For backward compatibility, the name may be enclosed by single quotes.
Return Type Schema and Return Type
The return type of the trigger function.
Hint:
Volatility
These attributes inform the query optimizer about the behavior of the function. At most one choice may be specified. If none of these appear, VOLATILE is the default assumption.
IMMUTABLE The function cannot modify the database and always returns the same result when given the same argument values; that is, it does not do database lookups or otherwise use information not directly present in its argument list. If this option is given, any call of the function with all-constant arguments can be immediately replaced with the function value.
STABLE
VOLATILE
The function cannot modify the database, and that within a single table scan it will consistently return the same result for the same argument values, but that its result could change across SQL statements. This is the appropriate selection for functions whose results depend on database lookups, parameter variables (such as the current time zone), etc. Also note that the current_timestamp family of functions qualify as stable, since their values do not change within a transaction.
The function value can change even within a single table scan, so no optimizations can be made. Relatively few database functions are volatile in this sense; some examples are random(), currval(), timeofday(). But note that any function that has side-effects must be classified volatile, even if its result is quite predictable, to prevent calls from being optimized away; an example is setval().
Security
INVOKER
DEFINER
Indicate that the function is to be executed with the privileges of the user that calls it.
Specify that the function is to be executed with the privileges of the user that created it.
Returns set
Indicate that the function will return a set of items, rather than a single item.
Strict
Indicate that the function always returns null whenever any of its arguments are null. If this parameter is specified, the function is not executed when there are null arguments; instead a null result is assumed automatically.
Parameter
Define trigger function parameter.
116
Estimated Cost
A positive number giving the estimated execution cost for the function, in units of cpu_operator_cost. If the function returns a set, this is the cost per returned row. If the cost is not specified, 1 unit is assumed for C-language and internal functions, and 100 units for functions in all other languages. Larger values cause the planner to try to avoid evaluating the function more often than necessary.
Note: Support from PostgreSQL 8.2 or later.
Estimated Rows
A positive number giving the estimated number of rows that the planner should expect the function to return. This is only allowed when the function is declared to return a set.
Note: Support from PostgreSQL 8.2 or later.
Configuration Parameter
The specified configuration parameter to be set to the specified value when the function is entered, and then restored to its prior value when the function exits.
Note: Support from PostgreSQL 8.2 or later.
Definition
Definition consists of a valid SQL procedure statement. This can be a simple statement such as SELECT or INSERT, or it can be a compound statement written using BEGIN and END. Compound statements can contain declarations, loops, and other control structure statements.
Debug (Available only in Full Version)
To debug the PL/pgSQL function, click
Debug on the toolbar to launch the PostgreSQL Debugger .
You can add/remove breakpoints for debugging by clicking in the grey area beside each statement.
PostgreSQL Types
Type registers a new data type for use in the current database. If a schema name is given then the type is created in the specified schema. Otherwise it is created in the current schema. The type name must be distinct from the name of any existing type or domain in the same schema. (Because tables have associated data types, the type name must also be distinct from the name of any existing table in the same schema.) Click -> Type to open an object list for Type.
Base types are those, like int4, that are implemented below the level of the SQL language (typically in a low-level language such as C). They generally correspond to what are often known as abstract data types. PostgreSQL can only operate on such types through functions provided by the user and only understands the behavior of such types to the extent that the user describes them. Base types are further subdivided into scalar and array types. For each scalar type, a corresponding array type is automatically created that can hold variable-size arrays of that scalar type.
117
Composite types, or row types, are created whenever the user creates a table; it's also possible to define a
"stand-alone" composite type with no associated table. A composite type is simply a list of base types with associated field names. A value of a composite type is a row or record of field values. The user can access the component fields from SQL queries.
Enumerated (Enum) types are data types that are comprised of a static, predefined set of values with a specific order.
They are equivalent to the enum types in a number of programming languages. An example of an enum type might be the days of the week, or a set of status values for a piece of data.
Range types are data types representing a range of values of some element type (called the range's subtype).
Note: Enum Type was added in PostgreSQL 8.3. Range Type was added in PostgrerSQL 9.2.
General Properties for Base Type
Input Schema and Input
The function that converts data from the type's external textual form to its internal form.
Output Schema and Output
The function that converts data from the type's internal form to its external textual form.
Internal Length
A numeric constant that specifies the length in bytes of the new type's internal representation. The default assumption is that it is variable-length.
Variable
Check this option if the type length is unknown.
Pass by value
Indicate that values of this data type are passed by value rather than by reference.
Alignment
The storage alignment requirement of the data type. If specified, it must be char, int2, int4, or double; the default is int4.
Storage
The storage strategy for the data type. If specified, must be plain, external, extended, or main; the default is plain.
Element Type
The type being created is an array; this specifies the type of the array elements.
Default Value
The default value for the data type. If this is omitted, the default is null.
Delimiter
The delimiter character to be used between values in arrays made of this type.
118
Advanced Properties for Base Type
The Advanced tab is supported from PostgreSQL 7.4 or later.
Owner
The owner of the type.
Note: Support from PostgreSQL 8.0 or later.
Receive Schema and Receive
The function that converts data from the type's external binary form to its internal form.
Send Schema and Send
The function that converts data from the type's internal form to its external binary form.
Analyze Schema and Analyze
The function that performs statistical analysis for the data type.
Note: Support from PostgreSQL 8.0 or later.
Type Modifier Input Schema and Type Modifier Input
The function that converts an array of modifier(s) for the type into internal form.
Note: Support from PostgreSQL 8.3 or later.
Type Modifier Output Schema and Type Modifier Output
The function that converts the internal form of the type's modifier(s) to external textual form.
Note: Support from PostgreSQL 8.3 or later.
General Properties for Composite Type
Name
The name of an attribute (column) for the composite type.
Type
The name of an existing data type to become a column of the composite type.
Length and Decimals
Use the Length edit box to define the length of the field and use Decimals edit box to define the number of digits after the decimal point. (if required for the selected data type)
Dimension
The dimension of array specifiers.
Advanced Properties for Composite Type
119
Owner
The owner of the type.
Note: Support from PostgreSQL 8.0 or later.
General Properties for Enum Type
Label
A string literal representing the textual label associated with one value of an enum type.
Advanced Properties for Enum Type
Owner
The owner of the type.
General Properties for Range Type
Subtype Schema and Subtype
The schema and the name of the element type that the range type will represent ranges of.
Operator Class Schema and Operator Class
The schema and the name of a b-tree operator class for the subtype.
Collate
The name of an existing collation to be associated with a column with a range type.
Canonical Schema and Canonical
The schema and the name of the canonicalization function for the range type.
Subtype Diff Schema and Subtype Diff
The schema and the name of a difference function for the subtype.
Owner
The owner of the type.
PostgreSQL Tablespaces
A tablespace allows superusers to define an alternative location on the file system where the data files containing database objects (such as tables and indexes) may reside. Click -> Tablespace to open an object list for
Tablespace.
Note: Tablespace was added in PostgreSQL 8.0.
The Comment tab is supported from PostgreSQL 8.2 or later.
General Properties
120
Owner
The name of the user who will own the tablespace. If omitted, defaults to the user executing the command. Only superusers may create tablespaces, but they can assign ownership of tablespaces to non-superusers.
Location
The directory that will be used for the tablespace. The directory must be empty and must be owned by the PostgreSQL system user. The directory must be specified by an absolute path name.
PostgreSQL Casts
A cast specifies how to perform a conversion between two data types. Click -> Cast to open an object list for
Cast.
Note: The Comment tab is supported from PostgreSQL 8.0 or later.
General Properties
Schema of Source Type and Source Type
The schema and name of the source data type of the cast.
Schema of Target Type and Target Type
The schema and name of the target data type of the cast.
Schema of Function and Function
The function used to perform the cast. The function name may be schema-qualified. If it is not, the function will be looked up in the schema search path. The function's result data type must match the target type of the cast.
If no function is specify, indicates that the source type and the target type are binary compatible, so no function is required to perform the cast.
Assignment
Indicate that the cast can be invoked implicitly in assignment contexts.
Implicit
Indicate that the cast may be invoked implicitly in any context.
PostgreSQL Foreign Servers
A foreign server typically encapsulates connection information that a foreign-data wrapper uses to access an external data resource. Additional user-specific connection information may be specified by means of user mappings. Click
-> Foreign Server to open an object list for Foreign Server.
Note: Support from PostgreSQL 8.4 or later.
121
To install the postgres_fdw extension for accessing data stored in external PostgreSQL servers, you can control-click anywhere the Object List pane and select Install postgres_fdw Extension.
General Properties
FDW Name
The name of the foreign-data wrapper that manages the server.
Host Name/IP Address
The host name or the IP address of the server.
Port
The port of the server.
Database Name
The database of the server.
Options
Specify the options for the server.
Server Type
Specify the server type.
Server Version
Specify the server version.
Owner
The owner of the foreign server.
User Mappings
User
The name of an existing user that is mapped to foreign server.
Foreign User
The actual user name of the mapping.
Foreign Password
The actual user password of the mapping.
Options
Specify the options of the user mapping.
122
PostgreSQL Languages
Language can register a new procedural language with a PostgreSQL database. Subsequently, functions and trigger procedures can be defined in this new language. The user must have the PostgreSQL superuser privilege to register a new language. Click -> Language to open an object list for Language.
General Properties
Owner
The owner of the language.
Schema of Handler and Handler
Call Handler is the name of a previously registered function that will be called to execute the procedural language functions. The call handler for a procedural language must be written in a compiled language such as C with version 1 call convention and registered with PostgreSQL as a function taking no arguments and returning the language_handler type, a placeholder type that is simply used to identify the function as a call handler.
Schema of Validator and Validator
Validator function is the name of a previously registered function that will be called when a new function in the language is created, to validate the new function. If no validator function is specified, then a new function will not be checked when it is created. The validator function must take one argument of type oid, which will be the OID of the to-be-created function, and will typically return void.
A validator function would typically inspect the function body for syntactical correctness, but it can also look at other properties of the function, for example if the language cannot handle certain argument types. To signal an error, the validator function should use the ereport() function. The return value of the function is ignored.
Trusted
Specify that the call handler for the language is safe, that is, it does not offer an unprivileged user any functionality to bypass access restrictions. If this key word is omitted when registering the language, only users with the PostgreSQL superuser privilege can use this language to create new functions.
SQLite Objects
To start working with the server objects, you should create and open a connection.
You can attach a database, control-click the opened connection and choose Attach Database and enter the following information.
Option Description
Database Name Enter the database name which displays in Navicat.
Database File
Encrypted
Set the file path for a database.
Enable this option and provide Password when connecting to an encrypted SQLite
123
database.
To detach a database, control-click it in the Connection pane and choose Detach Database.
If you want to encrypt or decrypt a database, simply control-click it in the Connection pane and choose Encrypt
Database or Decrypt Database.
A special table named sqlite_master stores the complete database schema. To view the sqlite_master table, control-click the database and select View Master Table from the pop-up menu.
SQLite Tables
Relational databases use tables to store data. All operations on data are done on the tables themselves or produce another table as the result. A table is a set of rows and columns, and their intersections are fields. From a general perspective, columns within a table describe the name and type of data that will be found by row for that column's fields.
Rows within a table represent records composed of fields that are described from left to right by their corresponding column's name and type. Each field in a row is implicitly correlated with each other field in that row. Click to open an object list for Table.
When open a table with graphical fields, control-click a table and select Open Table (Quick) from the pop-up menu.
Faster performance for opening the graphical table, as BLOB fields (images) will not be loaded until you click on the cell.
If you do wish Navicat loads all your images while opening the table, click Open button from the object list toolbar.
You can create a table shortcut by drag the table out. It provides a convenient way for you to open your table for entering data directly without activating the main Navicat.
To empty a table, control-click the selected table and choose Empty Table from the pop-up menu.
SQLite Table Fields
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new, insert, move and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
You can change the order of a field, simply drag and drop the field to desired location. To enable the drag and drop function, control-click the fields grid and choose Drag to change table columns' order.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type (storage class) of the field data. See SQLite 2 Data Types and SQLite 3
Data Types for details.
Use the Length edit box to define the length of the field and use Decimals edit box to define the number of digits after the decimal point (the scale).
124
Not Null
Check this box to not allow the NULL values for the field.
Key
A Primary Key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value.
Field's Properties
Note: The following options depend on the field type you are chosen.
Default Value
To set the default value for the field.
Collation
To specify the text collating function to use when comparing text entries for the column.
BINARY Compare string data using memcmp(), regardless of text encoding.
NOCASE The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed. Note that only ASCII characters are case folded.
SQLite does not attempt to do full UTF case folding due to the size of the tables required.
RTRIM The same as binary, except that trailing space characters are ignored.
Note: Support in SQLite 3.
Not null ON CONFLICT
To specify an algorithm used to resolve constraint conflicts if Not Null option is checked.
ROLLBACK When a constraint violation occurs, an immediate ROLLBACK occurs, thus ending the current transaction, and the command aborts with a return code of SQLITE_CONSTRAINT. If no transaction is active (other than the implied transaction that is created on every command) then this algorithm works the same as ABORT.
ABORT When a constraint violation occurs, the command backs out any prior changes it might have made and aborts with a return code of SQLITE_CONSTRAINT. But no ROLLBACK is executed so changes from prior commands within the same transaction are preserved. This is the default behavior.
FAIL
IGNORE
When a constraint violation occurs, the command aborts with a return code
SQLITE_CONSTRAINT. But any changes to the database that the command made prior to encountering the constraint violation are preserved and are not backed out. For example, if an
UPDATE statement encountered a constraint violation on the 100th row that it attempts to update, then the first 99 row changes are preserved but changes to rows 100 and beyond never occur.
When a constraint violation occurs, the one row that contains the constraint violation is not inserted or changed. But the command continues executing normally. Other rows before and after the row that contained the constraint violation continue to be inserted or updated normally. No
125
error is returned when the IGNORE conflict resolution algorithm is used.
REPLACE When a UNIQUE constraint violation occurs, the pre-existing rows that are causing the constraint violation are removed prior to inserting or updating the current row. Thus the insert or update always occurs. The command continues executing normally following REPLACE. No error is returned by the REPLACE conflict resolution. If a NOT NULL constraint violation occurs, the
NULL value is replaced by the default value for that column. If the column has no default value, then the ABORT algorithm is used. If a CHECK constraint violation occurs then the IGNORE algorithm is used.
Auto Increment
The AUTO INCREMENT attribute can be used to generate a unique identity for new rows. To start with the AUTO
INCREMENT value other than 1, you can set that value in Options tab.
SQLite Table Indexes
Index provides a faster access path to table data. It is created using one or more columns of a table to speed SQL statement execution on that table.
In the Indexes tab, just simply click an index field for editing. By using the index toolbar, you can create new, edit and delete the selected index field.
Use the Name edit box to set the index name.
To include field(s) in the index, click Fields to open the editor for editing.
Unique
All values of the indexed column(s) must only occur once.
Fields Editor
Select the field(s) from the Field list.
Collate
To define a collating sequence used for text entries in that column. The default collating sequence is the collating sequence defined for that column.
BINARY Compares string data using memcmp(), regardless of text encoding.
NOCASE The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed. Note that only ASCII characters are case folded.
RTRIM
SQLite does not attempt to do full UTF case folding due to the size of the tables required.
The same as binary, except that trailing space characters are ignored.
Note: Support in SQLite 3.
126
Order
To indicate sort order - ascending "ASC" or descending "DESC".
SQLite Table Foreign Keys
A foreign key is a field in a relational table that matches the primary key column of another table.
In the Foreign Keys tab, just simply click a foreign key field for editing. By using the foreign key toolbar, you can create new, edit and delete the selected foreign key field.
Use the Name edit box to enter a name for the new key.
Use the Referenced Table drop-down menu to select a foreign table.
To include field(s)/referenced field(s) to the key, click Fields editing.
or Referenced Fields to open the editor(s) for
The On Delete and On Update drop-down menu define the type of the actions to be taken.
RESTRICT The "RESTRICT" action means that the application is prohibited from deleting (for ON
DELETE RESTRICT) or modifying (for ON UPDATE RESTRICT) a parent key when there exists one or more child keys mapped to it.
NO ACTION Configuring "NO ACTION" means just that: when a parent key is modified or deleted from the database, no special action is taken.
CASCADE A "CASCADE" action propagates the delete or update operation on the parent key to each dependent child key. For an "ON DELETE CASCADE" action, this means that each row in the child table that was associated with the deleted parent row is also deleted. For an "ON
UPDATE CASCADE" action, it means that the values stored in each dependent child key are modified to match the new parent key values.
SET NULL
SET
DEFAULT
If the configured action is "SET NULL", then when a parent key is deleted (for ON DELETE
SET NULL) or modified (for ON UPDATE SET NULL), the child key columns of all rows in the child table that mapped to the parent key are set to contain SQL NULL values.
The "SET DEFAULT" actions are similar to "SET NULL", except that each of the child key columns is set to contain the columns default value instead of NULL.
Deferred
Deferred foreign key constraints are not checked until the transaction tries to COMMIT.
Related topic:
127
SQLite Table Uniques
Unique constraints ensure that the data contained in a column or a group of columns is unique with respect to all the rows in the table.
In the Uniques tab, just simply click an unique field for editing. By using the unique toolbar, you can create new, edit and delete the selected unique field.
Use the Name edit box to set the unique name.
To set field(s) as unique, click Fields to open the editor(s) for editing.
ON CONFLICT
To specify an algorithm used to resolve constraint conflicts.
ROLLBACK
ABORT
FAIL
IGNORE
REPLACE
When a constraint violation occurs, an immediate ROLLBACK occurs, thus ending the current transaction, and the command aborts with a return code of SQLITE_CONSTRAINT. If no transaction is active (other than the implied transaction that is created on every command) then this algorithm works the same as ABORT.
When a constraint violation occurs, the command backs out any prior changes it might have made and aborts with a return code of SQLITE_CONSTRAINT. But no ROLLBACK is executed so changes from prior commands within the same transaction are preserved. This is the default behavior.
When a constraint violation occurs, the command aborts with a return code
SQLITE_CONSTRAINT. But any changes to the database that the command made prior to encountering the constraint violation are preserved and are not backed out. For example, if an
UPDATE statement encountered a constraint violation on the 100th row that it attempts to update, then the first 99 row changes are preserved but changes to rows 100 and beyond never occur.
When a constraint violation occurs, the one row that contains the constraint violation is not inserted or changed. But the command continues executing normally. Other rows before and after the row that contained the constraint violation continue to be inserted or updated normally.
No error is returned when the IGNORE conflict resolution algorithm is used.
When a UNIQUE constraint violation occurs, the pre-existing rows that are causing the constraint violation are removed prior to inserting or updating the current row. Thus the insert or update always occurs. The command continues executing normally following REPLACE. No error is returned by the REPLACE conflict resolution. If a NOT NULL constraint violation occurs, the NULL value is replaced by the default value for that column. If the column has no default value, then the ABORT algorithm is used. If a CHECK constraint violation occurs then the
IGNORE algorithm is used.
Fields Editor
128
Select the field(s) from the Field list. To remove the fields from the unique, uncheck them in the same way.
Collate
To define a collating sequence used for text entries in that column. The default collating sequence is the collating sequence defined for that column.
BINARY
NOCASE
RTRIM
Compares string data using memcmp(), regardless of text encoding.
The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed. Note that only ASCII characters are case folded. SQLite does not attempt to do full UTF case folding due to the size of the tables required.
The same as binary, except that trailing space characters are ignored.
Note: Support in SQLite 3.
Order
To indicate sort order - ascending "ASC" or descending "DESC".
SQLite Table Checks
A check constraint allows you to specify that the value in a certain column must satisfy a Boolean (truth-value) expression.
In the Checks tab, just simply click a check field for editing. By using the check toolbar, you can create new, edit and delete the selected check field.
Note: Checks are supported from SQLite version 3.3.0 or later.
Use the Name edit box to set the check name.
Expression
Set the condition for checking, e.g. "field_name1 > 0 AND field_name2 > field_name1" in the Expression edit box.
SQLite Table Triggers
A trigger is a database operation that is automatically performed when a specified database event occurs.
In the Triggers tab, just simply click a trigger field for editing. By using the trigger toolbar, you can create new, edit and delete the selected trigger field.
Name
Set the trigger name.
Fires
Determine when the trigger actions will be executed relative to the insertion, modification or removal of the associated row.
129
Events
It indicates the kind of statement that activates the trigger.
Insert
Update
Delete
Fire the trigger whenever an INSERT statement adds a row to a table.
Fire the trigger whenever an UPDATE statement changes a value in one of the columns specified in Update Of Fields. If no Update Of Fields are present, the trigger will be fired whenever an UPDATE statement changes a value in any column of the table.
Fire the trigger whenever a DELETE statement removes a row from the table.
Update Of Fields
Specify the fields for UPDATE statement trigger upon necessary.
Body
Type in the definition for the trigger.
When
Specify the trigger condition, which is a SQL condition that must be satisfied for the database to fire the trigger.
SQLite Table Options
Primary Key ON CONFLICT
To specify an algorithm used to resolve primary key constraint conflicts.
ROLLBACK When a constraint violation occurs, an immediate ROLLBACK occurs, thus ending the current transaction, and the command aborts with a return code of SQLITE_CONSTRAINT. If no transaction is active (other than the implied transaction that is created on every command) then this algorithm works the same as ABORT.
ABORT When a constraint violation occurs, the command backs out any prior changes it might have made and aborts with a return code of SQLITE_CONSTRAINT. But no ROLLBACK is executed so changes from prior commands within the same transaction are preserved. This is the default behavior.
FAIL
IGNORE
When a constraint violation occurs, the command aborts with a return code
SQLITE_CONSTRAINT. But any changes to the database that the command made prior to encountering the constraint violation are preserved and are not backed out. For example, if an
UPDATE statement encountered a constraint violation on the 100th row that it attempts to update, then the first 99 row changes are preserved but changes to rows 100 and beyond never occur.
When a constraint violation occurs, the one row that contains the constraint violation is not inserted or changed. But the command continues executing normally. Other rows before and after the row that contained the constraint violation continue to be inserted or updated normally. No error is returned when the IGNORE conflict resolution algorithm is used.
REPLACE When a UNIQUE constraint violation occurs, the pre-existing rows that are causing the constraint violation are removed prior to inserting or updating the current row. Thus the insert or update always occurs. The command continues executing normally following REPLACE. No error is
130
returned by the REPLACE conflict resolution. If a NOT NULL constraint violation occurs, the NULL value is replaced by the default value for that column. If the column has no default value, then the
ABORT algorithm is used. If a CHECK constraint violation occurs then the IGNORE algorithm is used.
Auto Increment
Set/Reset the Auto Increment value in the edit field. The auto increment value indicates the value for next record.
SQLite Views
Views are useful for allowing users to access a set of tables as if it were a single table, and limiting their access to just that. Views can also be used to restrict access to rows (a subset of a particular table). Click to open an object list for View.
You can create a view shortcut by drag the view out. It provides a convenient way for you to open your view without activating the main Navicat.
Button
Preview
Description
Preview and/or Explain the view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
SQLite Indexes
Index provides a faster access path to table data. It is created using one or more columns of a table to speed SQL statement execution on that table. Click to open an object list for Index.
General Properties
131
Table Name
The table that contains the index.
Unique
An unique index indicates that no two rows of a table have duplicate values in the key columns.
Field
To define the field.
Collate
To define a collating sequence used for text entries in that column. The default collating sequence is the collating sequence defined for that column.
BINARY
NOCASE
RTRIM
Note: Support in SQLite 3.
Compare string data using memcmp(), regardless of text encoding.
The same as binary, except the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed. Note that only
ASCII characters are case folded. SQLite does not attempt to do full UTF case folding due to the size of the tables required.
The same as binary, except that trailing space characters are ignored.
Order
To indicate sort order - ascending "ASC" or descending "DESC".
SQLite Triggers
Triggers are database operations that are automatically performed when a specified database event occurs. Click to open an object list for Trigger.
General Properties
Trigger Type
Define the trigger type: TABLE or VIEW.
Table Name or View Name
Choose a table or view.
Fire
Determine when the trigger actions will be executed relative to the insertion, modification or removal of the associated row.
132
Event
It indicates the kind of statement that activates the trigger.
INSERT The trigger is activated whenever adding a row to a table.
DELETE The trigger is activated whenever removing a row from the table.
UPDATE
The trigger is activated whenever changing a value in one of the fields selected in Columns.
When
Specify the trigger condition for the database to fire the trigger.
Columns
Specify the fields for UPDATE statement trigger upon necessary.
Definition
You can edit valid SQL statements in the trigger definition inside BEGIN and END.
SQL Server Objects
To start working with the server objects, you should create and open a connection. If the server is empty, you need to control-click the connection in the Connection pane and choose New Database to create a new database.
Note: SQL Azure does not support Comment tab.
General Properties for SQL Azure
Database Name
Define the name of the database.
Edition
Choose the edition of the database: web or business.
Max Size
Choose the maximum size of the database.
General Properties for SQL Server
Database Name
Define the name of the database.
Owner
Choose the owner of the database.
Collation
Choose the default collation for the database. Collation name can be either a Windows collation name or a SQL
133
collation name. If not specified, the database is assigned the default collation of the instance of SQL Server. A collation name cannot be specified on a database snapshot.
Recovery Model
Control database recovery options and disk I/O error checking.
FULL Provide full recovery after media failure by using transaction log backups. If a data file is damaged, media recovery can restore all committed transactions.
BULK_LOGGED Provide recovery after media failure by combining the best performance and least amount of log-space use for certain large-scale or bulk operations.
SIMPLE A simple backup strategy that uses minimal log space is provided. Log space can be automatically reused when it is no longer required for server failure recovery.
Compatibility Level
Choose the version of SQL Server with which the database is to be made compatible.
Filegroups Properties for SQL Server
Rows
Add or delete a filegroup. PRIMARY filegroup cannot be deleted.
Filestream
Add or delete a FILESTREAM filegroup.
Note: Support from SQL Server 2008 or later.
Files Properties for SQL Server
Name
Specify the logical name for the file.
File Type
Choose the file type.
Directory
The path used by the operating system when you create the file.
File Name
The file name used by the operating system when you create the file.
Filegroup
Choose the filegroup.
Initial Size
Specify the size of the file.
134
Unlimited File Size
Specify that the file grows until the disk is full. In SQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.
Max Size
Specify the maximum size to which the file can grow.
Enable Auto Growth
Check this option if you want to allow automatic growth.
Growth
Specify the automatic growth increment of the file.
Advanced Properties (Automatic) for SQL Server
Auto Close
If this option is on, the database is shut down cleanly and its resources are freed after the last user exits.
Auto Create Statistics
If this option is on, the query optimizer creates statistics on single columns in query predicates, as necessary, to improve query plans and query performance.
Auto Shrink
If this option is on, the database files are candidates for periodic shrinking.
Auto Update Statistics
Specify that the query optimizer updates statistics when they are used by a query and when they might be out-of-date.
Auto Update Statistics Asynchronously
Specify that statistics updates for the AUTO_UPDATE_STATISTICS option are asynchronous. The query optimizer does not wait for statistics updates to complete before it compiles queries.
Note: Support from SQL Server 2005 or later.
Advanced Properties (Change Tracking) for SQL Server
Note: Support from SQL Server 2008 or later.
Change Tracking
Enable change tracking for the database.
Retention Period
Specify the minimum period for keeping change tracking information in the database. Data is removed only when Auto
Cleanup is checked.
135
Auto Cleanup
Change tracking information is automatically removed after the specified retention period.
Advanced Properties (Cursor) for SQL Server
Close Cursor On Commit Enabled
If this option is on, any cursors open when a transaction is committed or rolled back are closed.
Default Cursor
LOCAL When LOCAL is specified and a cursor is not defined as GLOBAL when created, the scope of the cursor is local to the batch, stored procedure, or trigger in which the cursor was created. The cursor name is valid only within this scope. The cursor can be referenced by local cursor variables in the batch, stored procedure, or trigger, or a stored procedure OUTPUT parameter. The cursor is implicitly deallocated when the batch, stored procedure, or trigger ends, unless it was passed back in an
OUTPUT parameter. If the cursor is passed back in an OUTPUT parameter, the cursor is deallocated when the last variable that references it is deallocated or goes out of scope.
GLOBAL When GLOBAL is specified, and a cursor is not defined as LOCAL when created, the scope of the cursor is global to the connection. The cursor name can be referenced in any stored procedure or batch executed by the connection.
Advanced Properties (Recovery) for SQL Server
Page Verify
Discover damaged database pages caused by disk I/O path errors. Disk I/O path errors can be the cause of database corruption problems and are generally caused by power failures or disk hardware failures that occur at the time the page is being written to disk.
NONE Database page writes will not generate a CHECKSUM or
TORN_PAGE_DETECTION value. SQL Server will not verify a checksum or torn page during a read even if a CHECKSUM or TORN_PAGE_DETECTION value is present in the page header.
TORN_PAGE_DETECTION Save a specific 2-bit pattern for each 512-byte sector in the 8-kilobyte (KB) database page and stored in the database page header when the page is written to disk.
CHECKSUM Calculate a checksum over the contents of the whole page and stores the value in the page header when a page is written to disk.
Advanced Properties (Service Broker) for SQL Server
Note: Support from SQL Server 2005 or later.
Broker Enabled
Specify that Service Broker is enabled for the specified database. Message delivery is started, and the
136
is_broker_enabled flag is set to true in the sys.databases catalog view. The database retains the existing Service
Broker identifier.
Honor Broker Priority
Send operations take into consideration the priority levels that are assigned to conversations. Messages from conversations that have high priority levels are sent before messages from conversations that are assigned low priority levels.
Note: Support from SQL Server 2008 or later.
Advanced Properties (SQL) for SQL Server
ANSI Null Default
Check this option if you want to determines the default value as NULL.
ANSI Nulls Enabled
If this option is on, all comparisons to a null value evaluate to UNKNOWN.
ANSI Padding Enabled
If this option is on, strings are padded to the same length before conversion or inserting to a varchar or nvarchar data type.
ANSI Warnings Enabled
If this option is on, errors or warnings are issued when conditions such as divide-by-zero occur or null values appear in aggregate functions.
Arithmetic Abort Enabled
If this option is on, a query is ended when an overflow or divide-by-zero error occurs during query execution.
Concatenate Null Yields Null
If this option is on, the result of a concatenation operation is NULL when either operand is NULL.
Numeric Round-Abort
If this option is on, an error is generated when loss of precision occurs in an expression.
Quoted Identifiers Enabled
If this option is on, double quotation marks can be used to enclose delimited identifiers.
Recursive Triggers Enabled
If this option is on, Recursive firing of AFTER triggers is allowed.
Advanced Properties (State) for SQL Server
Database Read-Only
If this option is on, users can read data from the database but not modify it.
137
Database State
Choose the state of the database.
OFFLINE The database is closed, shut down cleanly, and marked offline. The database cannot be modified while it is offline.
ONLINE The database is open and available for use.
EMERGENCY The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY is primarily used for troubleshooting purposes.
Restrict Access
Control user access to the database.
SINGLE_USER Specifies that only one user at a time can access the database.
RESTRICTED_USER RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does
MULTI_USER not limit their number.
All users that have the appropriate permissions to connect to the database are allowed.
Encryption Enabled
Check this option if you want to encrypt the database.
Note: Support from SQL Server 2008 or later.
Advanced Properties (Miscellaneous) for SQL Server
Note: Support from SQL Server 2005 or later.
Cross-database Ownership Chaining Enabled
If this option is on, database can be the source or target of a cross-database ownership chain.
Trustworthy
If this option is on, database modules (for example, user-defined functions or stored procedures) that use an impersonation context can access resources outside the database.
Date Correlation Optimization Enabled
SQL Server maintains correlation statistics between any two tables in the database that are linked by a FOREIGN KEY constraint and have datetime columns.
Parameterization
SIMPLE
FORCED
Queries are parameterized based on the default behavior of the database.
SQL Server parameterizes all queries in the database.
138
VarDecimal Storage Format Enabled
Indicate that decimal and numeric data types are stored by using the vardecimal storage format.
SQL Server Backup/Restore (Available only in Full Version)
You can backup and restore your SQL Server databases. The SQL Server backup and restore component provides an important safeguard for protecting critical data. Click to open an object list for SQL Server Backup.
Note: The backup file is stored in the server.
SQL Server Backup
Before starting the backup process, click Generate SQL button to review the SQL. Then, you can click the
Start button to run it. If you want to backup with the setting of an existing backup file, you can control-click a backup file in the Object List pane and choose Backup from this Setting.
General Properties
Backup Type
Full
Differential
Perform a full backup.
Specify that the database or file backup should consist only of the portions of the database or file changed since the last full backup.
Transaction Log Specify a backup of the transaction log only.
Note: Support from SQL Server 2012 or later and SQL Azure.
Backup Name
Specify the name of the backup set.
Description
Specify the free-form text describing the backup set.
Password
Set the password for the backup set.
New media set
Create a new media set for the backup. To add a Backup Device or file to the list, click
button.
Existing media set
Choose an existing Media set for the backup.
Components
Choose the Backup Components: Database, Partial or Files and Filegroups.
139
Note: Files and Filegroups option is supported from SQL Server 2012 or later and SQL Azure.
Options
Copy only
Specify that the backup is a copy-only backup, which does not affect the normal sequence of backups.
Never expire
Specify the backup set never expire.
Expire after days
Specify the number of days that must elapse before this backup media set can be overwritten.
Expire on
Specify when the backup set expires and can be overwritten.
New Media Set Name (only for New media set)
The name of the new media set.
New Media Set Description (only for New media set)
Specify the free-form text description of the media set.
Use password (only for New media set)
Set the password for the media set.
Append to the existing backup set (only for Existing media set)
Indicate that the backup set is appended to the specified media set, preserving existing backup sets.
Overwrite all existing backup sets (only for Existing media set)
Specify that all backup sets should be overwritten, but preserves the media header.
Check media set name and backup set expiration (only for Existing media set)
Control whether a backup operation checks the expiration date and time of the backup sets on the media before overwriting them.
Media Set Name (only for Existing media set)
Specify the media name for the entire backup media set.
Media set is password protected (only for Existing media set)
Enter the password for the media set.
Verify backup when finished
Check this options to verify the backup.
Perform checksum before writing to media
Enable the backup checksums.
140
Continue on error
Instruct backup to continue despite encountering errors such as invalid checksums or torn pages.
Truncate the transaction log (only for Transaction Log backup)
Check this option to truncate the transaction log.
Back up the tail of the log and leave the database in the restoring state (only for Transaction Log backup)
Choose this option to back up the tail of the log and leaves the database in the RESTORING state.
Compress Backup
Specify whether backup compression is performed on this backup.
Note: Support from SQL Server 2008 or later and SQL Azure.
SQL Server Restore
Before starting the restore process, click Generate SQL button to review the SQL. Then, you can click the
Start button to run it. If you want to restore from a file that is not listed in the Object List pane, you can control-click anywhere in the Object List pane and choose Restore from File.
General Properties for Restore Backup
Restore to Database
Select the database to restore.
Latest possible (only for Transaction Log backup)
Choose this option if do not have the restore point.
Specific time (only for Transaction Log backup)
Specify that the database be restored to the state it was in as of the date and time.
Marked transaction (only for Transaction Log backup)
Specify recovery to a specified recovery point.
Include marked transaction (only for Transaction Log backup)
The specified transaction is included in the recovery, but it is committed only if it was originally committed when the transaction was actually generated.
General Properties for Restore from File
Restore to Database
Select the database to restore.
Source of Backup Set
To add a Backup Device or file to the list, click
button.
141
Latest possible
Choose this option if do not have the restore point.
Specific time
Specify that the database be restored to the state it was in as of the date and time.
Restore Plan
Select the database backup files in the list.
Advanced Properties
Restore database files to
Specify that the data or log file should be moved by restoring it to the location specified in Restore To.
WITH REPLACE
Specify that SQL Server should create the specified database and its related files even if another database already exists with the same name.
WITH RESTRICTED_USER
Restrict access for the newly restored database to members of the db_owner, dbcreator, or sysadmin roles.
WITH KEEP_REPLICATION
KEEP_REPLICATION should used when setting up replication to work with log shipping.
RECOVERY
Roll back all uncommitted transactions. After the recovery process, the database is ready for use.
NORECOVERY
Do not roll back the uncommitted transactions.
STANDBY
Specify a Standby File that allows the recovery effects to be undone.
SQL Server Schemas
A schema contains named objects (tables, views, functions, etc) whose names may duplicate those of other objects existing in other schemas. The schema name must be distinct from any existing schema name in the current database.
Note: SQL Server 2000 or below does not support edit, create and delete schema.
SQL Azure does not support the Comment tab.
General Properties
Schema Name
The name of a schema which is identified within the database.
142
Owner
The name of the database-level principal that will own the schema. This principal may own other schemas, and may not use the current schema as its default schema.
SQL Server Tables
Tables are database objects that contain all the data in a database. A table definition is a collection of columns. In tables, data is organized in a row-and-column format similar to a spreadsheet. Each row represents a unique record, and each column represents a field within the record. Click to open an object list for Table.
When open a table with graphical fields, control-click a table and select Open Table (Quick) from the pop-up menu.
Faster performance for opening the graphical table, as BLOB fields (images) will not be loaded until you click on the cell.
If you do wish Navicat loads all your images while opening the table, click Open button from the object list toolbar.
You can create a table shortcut by drag the table out. It provides a convenient way for you to open your table for entering data directly without activating the main Navicat.
To empty a table, control-click the selected table and choose Empty Table from the pop-up menu.
Note: SQL Azure does not support the Storage and Comment tab.
SQL Server Table Fields
In the Fields tab, just simply click a field for editing. By using the field toolbar, you can create new and drop the selected field. To search a field name, choose Edit -> Find -> Find or press CMD-F.
Use the Name edit box to set the field name. Note that the name of the field must be unique among all the field names in the table.
The Type drop-down menu defines the type of the field data. See SQL Server Data Type and SQL Azure Support Data
Type for details.
Use the Size edit box to define the length of the field and use Scale edit box to define the number of digits after the decimal point (the scale) for Floating Point data type.
Note: Be careful when shortening the field length as losing data might be caused.
Not Null
Check this box to not allow the NULL values for the field.
Key
A Primary Key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value.
Field's Properties
143
Note: The following options depend on the field type you are chosen.
Identity
Indicate that the new column is an identity column.
Row GUID Column
Indicate that the new column is a row GUID column. Only one uniqueidentifier column per table can be designated as the ROWGUIDCOL column.
Note: SQL Azure does not support.
Collate
Specify the collation for the column.
Column Set
Combine all of the sparse columns of a table into a structured output.
Note: Support from SQL Server 2008 or later.
Filestream
Specify FILESTREAM storage for the varbinary(max) BLOB data.
Note: Support from SQL Server 2008 or later.
Schema
Set the schema of the user defined type.
User-defined Type
Set the user defined type.
Expression
Set an expression that defines the value of a computed column.
Persisted
Specify that the SQL Server Database Engine will physically store the computed values in the table, and update the values when any other columns on which the computed column depends are updated.
Default Value
Set the default value for the field.
Sparse
Indicate that the column is a sparse column.
Note: Support from SQL Server 2008 or later.
144
Comment
Set any optional text describing the current field.
Note: SQL Azure does not support.
SQL Server Table Indexes
Indexes are optional structures associated with tables. You can create indexes on one or more columns of a table to speed SQL statement execution on that table.
In the Indexes tab, just simply click an index field for editing. By using the index toolbar, you can create new, edit and delete the selected index field.
Use the Name edit box to set the index name.
To include field(s) in the index, click Fields to open the editor for editing.
Note: Some of data types do not allow indexing. For example: text
The Index Type drop-down menu defines the type of the table index.
Clustered
Nonclustered Create an index that specifies the logical ordering of a table. With a nonclustered index, the physical order of the data rows is independent of their indexed order.
Spatial
Create an index in which the logical order of the key values determines the physical order of the corresponding rows in a table.
Create a spatial index on a specified table and column. An index can be created before there is data in the table.
Note: Support from SQL Server 2008 or later and SQL Azure.
XML Create an XML index on a specified table. An index can be created before there is data in the table.
Note: Support from SQL Server 2005 or later.
Unique
Create a unique index on a table.
Comment
Specify the comment of the index.
Note: SQL Azure does not support.
SQL Server Table Foreign Keys
A foreign key is a field in a relational table that matches the primary key column of another table. The foreign key can be used to cross-reference tables.
145
In the Foreign Keys tab, just simply click a foreign key field for editing. By using the foreign key toolbar, you can create new, edit and delete the selected foreign key field.
Use the Name edit box to enter a name for the new key.
Use the Referenced Schema and Referenced Table drop-down menus to select a foreign schema and table respectively.
To include field(s)/referenced field(s) to the key, click Fields editing.
or Referenced Fields to open the editor(s) for
The On Delete and On Update drop-down menu define the type of the actions to be taken.
No Action
Cascade
Set Null
Set Default
The Database Engine raises an error and the delete or update action on the row in the parent table is rolled back.
Corresponding rows are deleted from or updated in the referencing table if that row is deleted from or updated in the parent table.
All the values that make up the foreign key are set to NULL when the corresponding row in the parent table is deleted or updated.
All the values that make up the foreign key are set to their default values when the corresponding row in the parent table is deleted or updated.
Not for Replication
The constraint is not enforced when replication agents perform insert, update, or delete operations.
Note: SQL Azure does not support.
Enable
You can choose whether to enable/disable the foreign key constraint by checking/unchecking the box.
Comment
Specify the comment of the foreign key.
Note: SQL Azure does not support.
Related topic:
SQL Server Table Uniques
Unique constraints ensure that the data contained in a column or a group of columns is unique with respect to all the rows in the table.
In the Uniques tab, just simply click an unique field for editing. By using the unique toolbar, you can create new, edit and delete the selected unique field.
146
Use the Name edit box to set the unique name.
To set field(s) as unique, click Fields to open the editor for editing.
Unique Type
Indicate that a clustered or nonclustered index is created for the unique constraint.
Comment
Specify the comment of the unique.
Note: SQL Azure does not support.
SQL Server Table Checks
A check a constraint that enforces domain integrity by limiting the possible values that can be entered into a column or columns.
In the Checks tab, just simply click a check field for editing. By using the check toolbar, you can create new, edit and delete the selected check field.
Use the Name edit box to set the check name.
Expression
Set the condition for checking, e.g. "field_name1 > 0 AND field_name2 > field_name1" in the Expression edit box.
Not for Replication
The constraint is not enforced when replication agents perform insert, update, or delete operations.
Note: SQL Azure does not support.
Enable
You can choose whether to enable/disable the check constraint by checking/unchecking the box.
Comment
Specify the comment of the check.
Note: SQL Azure does not support.
SQL Server Table Triggers
A trigger is a special kind of stored procedure that automatically executes when an event occurs in the database server.
In the Triggers tab, just simply click a trigger field for editing. By using the trigger toolbar, you can create new, edit and delete the selected trigger field.
147
Use the Name edit box to set the trigger name.
Use the Fires drop-down menu to define the trigger action time.
After
Instead of
Specify that the DML trigger is fired only when all operations specified in the triggering SQL statement have executed successfully.
Specify that the DML trigger is executed instead of the triggering SQL statement, therefore, overriding the actions of the triggering statements.
Delete
The trigger is activated whenever a row is deleted from the table.
Insert
The trigger is activated whenever a new row is inserted into the table.
Update
The trigger is activated whenever a row is modified.
Enable
You can choose whether to enable/disable the trigger by checking/unchecking the box.
The Body tab defines the statement to execute when the trigger activates. To include your statement, just simply click to write. If you want to execute multiple statements, use the BEGIN ... END compound statement construct.
Execute as
Specify the security context under which the trigger is executed.
Note: Support from SQL Server 2005 or later and SQL Azure.
User
Choose a user that the trigger executes in.
Note: Support from SQL Server 2005 or later and SQL Azure.
Definition Type
Choose the type of definition.
Note: Support from SQL Server 2005 or later.
Encrypted
Obfuscate the text of the CREATE TRIGGER statement.
Note: Support from SQL Server 2005 or later.
148
Not for replication
Indicate that the trigger should not be executed when a replication agent modifies the table that is involved in the trigger.
Note: SQL Azure does not support.
Append
Specify that an additional trigger of an existing type should be added.
Note: SQL Azure does not support.
Comment
Specify the comment of the trigger.
Note: SQL Azure does not support.
SQL Server Table Storage
Store on filegroup
Option
Filegroup
Description
Choose a filegroup that storing the table.
Text/Image Filegroup Choose a filegroup for storing text, ntext, image, xml, varchar(max), nvarchar(max), varbinary(max), and CLR user-defined type columns.
Filestream Filegroup Choose a filegroup for FILESTREAM data.
Note: Support from SQL Server 2008 or later.
Store on partition scheme
Option
Partition Scheme
Partition Column
Description
Choose a partition scheme that storing the table.
Choose a partition column name.
Filestream Partition
Scheme
Choose a partition scheme for FILESTREAM data.
Note: Support from SQL Server 2008 or later.
Data Compression Specify the data compression option for the specified table, partition number, or range of partitions.
Note: Support from SQL Server 2008 or later.
Note: Support from SQL Server 2005 or later.
SQL Server Table Options
Seed
The value used for the very first row loaded into the table.
149
Increment
The incremental value added to the identity value of the previous row loaded.
Current
Set the current identity value.
Note: SQL Azure does not support.
Not for Replication
Values are not incremented in identity columns when replication agents perform inserts.
Note: SQL Azure does not support.
Change Tracking
Specify change tracking is enabled for the table.
Note: Support from SQL Server 2008 or later.
Track Columns Updated
Specify the Database Engine tracks which change tracked columns were updated.
Note: Support from SQL Server 2008 or later.
Lock Escalation
Specify the allowed methods of lock escalation for a table.
Note: Support from SQL Server 2008 or later.
SQL Server Views
A view can be thought of as either a virtual table or a stored query. Unless a view is indexed, its data is not stored in the database as a distinct object. What is stored in the database is a SELECT statement. The result set of the SELECT statement forms the virtual table returned by the view. A user can use this virtual table by referencing the view name in
Transact-SQL statements the same way a table is referenced. Click to open an object list for View.
You can create a view shortcut by drag the view out. It provides a convenient way for you to open your view without activating the main Navicat.
Note: SQL Azure does not support the Comment tab.
Button
Preview
Description
Preview and/or Explain the view.
Note: You can choose to show the Result tab below the editor or in a new tab by selecting Edit -> Show Result ->
Below Query Editor or In a New Tab.
150
View Builder (Available only in Full Version)
View Builder allows you to build views visually. It allows you to create and edit views without knowledge of SQL. See
View Editor
You can edit the view definition as SQL statement (SELECT statement it implements).
Hint:
Advanced Properties
Encrypted
Encrypt the entries in sys.syscomments that contain the text of the CREATE VIEW statement.
Note: SQL Azure does not support.
Schema binding
Bind the view to the schema of the underlying table or tables.
View metadata
Specify that the instance of SQL Server will return to the DB-Library, ODBC, and OLE DB APIs the metadata information about the view, instead of the base table or tables, when browse-mode metadata is being requested for a query that references the view.
Check option
Force all data modification statements executed against the view to follow the criteria set within select_statement.
View Viewer
View Viewer displays the view data as a grid. Data can be displayed in two modes: Grid View and Form View. See
SQL Server Functions/Procedures
A user-defined function, which is a Transact-SQL or common language runtime (CLR) routine that accepts parameters, performs an action, such as a complex calculation, and returns the result of that action as a value. The return value can either be a scalar (single) value or a table. Click to open an object list for Function.
Stored procedures are similar to procedures in other programming languages in that they can:
Accept input parameters and return multiple values in the form of output parameters to the calling procedure or batch.
Contain programming statements that perform operations in the database, including calling other procedures.
151
Return a status value to a calling procedure or batch to indicate success or failure (and the reason for failure).
Note: SQL Azure does not support the Comment tab.
Function Pop-up Window
Click the Add from the object list toolbar. A Window will pop up and it allows you to create a procedure/function easily.
Type
Define whether it is a procedure/function.
Name
Specify the name for the procedure/function.
Define the parameter(s) for the procedure/function. Set the parameter Name, Schema of Type, Type, Default Value,
Output and Read Only under corresponding columns.
Definition
The Code Outline window displays information about the function/procedure including parameter, code body, etc. To show the Code Outline window, simply choose Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
Result
To run the procedure/function, click Execute on the toolbar. If the SQL statement is correct, the statement will be executed and, if the statement is supposed to return data, the Result tab opens with the data returned by the procedure/function. If an error occurs while executing the procedure/function, execution stops, the appropriate error message is displayed. If the function/procedure requires input parameter, the Input Parameters box will pop up.
152
SQL Server Indexes
An index in a database lets you quickly find specific information in a table or indexed view. An index contains keys built from one or more columns in the table, or view, and pointers that map to the storage location of the specified data. You can significantly improve the performance of database queries and applications by creating well-designed indexes to support your queries. Indexes can reduce the amount of data that must be read to return the query result set. Indexes can also enforce uniqueness on the rows in a table, ensuring the data integrity of the table data. Click ->
Index to open an object list for Index.
Note: SQL Azure does not support the Comment tab.
You can choose the index Type: Nonclustered, Clustered, XML or Spatial.
Note: XML index is supported from SQL Server 2005 or later.
Spatial index is supported from SQL Server 2008 or later and SQL Azure.
General Properties for Nonclustered and Clustered Indexes
Unique
A unique index is one in which no two rows are permitted to have the same index key value.
Table/View
Choose to create a table index or a view index.
Table Name or View Name
Select a table or a view.
Fields
Select the column or columns on which the index is based and the sorting order.
Included Columns (only for Nonclustered Index)
Select the non-key columns to be added to the leaf level of the nonclustered index.
Note: Support from SQL Server 2005 or later and SQL Azure.
Filter Properties for Nonclustered Index
To create a filtered index, specify which rows to include in the index.
Note: Support from SQL Server 2008 or later and SQL Azure.
Advanced Properties for Nonclustered and Clustered Indexes
153
Ignore duplicate key values
A warning message will occur when duplicate key values are inserted into a unique index. Only the rows violating the uniqueness constraint will fail.
Recompute statistics
Enable automatic statistics updating.
Allow row locks
Row locks are allowed when accessing the index. The Database Engine determines when row locks are used.
Note: Support from SQL Server 2005 or later.
Allow page locks
Page locks are allowed when accessing the index. The Database Engine determines when page locks are used.
Note: Support from SQL Server 2005 or later.
Fill Factor (%)
Specify a percentage that indicates how full the Database Engine should make the leaf level of each index page during index creation or rebuild.
Note: SQL Azure does not support.
Pad index
The percentage of free space that is specified by fillfactor is applied to the intermediate-level pages of the index.
Note: Support from SQL Server 2005 or later.
Sort in tempdb
Specify to store temporary sort results in tempdb.
Note: SQL Azure does not support.
Online
Long-term table locks are not held for the duration of the index operation.
Note: Support from SQL Server 2005 or later and SQL Azure.
Max. degree of parallelism
Override the max degree of parallelism configuration option for the duration of the index operation.
Note: Support from SQL Server 2005 or later.
Storage Properties for Nonclustered and Clustered Indexes
Note: SQL Azure does not support this tab.
154
Store on filegroup
Option
Filegroup
Filestream Filegroup
Description
Choose a filegroup that storing the index.
Choose a filegroup for FILESTREAM data.
Note: Support from SQL Server 2008 or later.
Store on partition scheme
Option
Partition Scheme
Partition Column
Filestream Partition
Scheme
Data Compression
Description
Choose a partition scheme that storing the index.
Choose a partition column name.
Choose a partition scheme for FILESTREAM data.
Note: Support from SQL Server 2008 or later.
Specify the data compression option for the specified index, partition number, or range of partitions.
Note: Support from SQL Server 2008 or later.
Note: Support from SQL Server 2005 or later.
General Properties for XML Indexs
Table/View
Must be TABLE.
Table Name
Select a table.
XML Column
Select the xml column on which the index is based.
XML Index Type
PRIMARY
PATH secondary
VALUE secondary
PROPERTY secondary
A clustered index is created with the clustered key formed from the clustering key of the user table and an XML node identifier.
Create a secondary XML index on columns built on path values and node values in the primary XML index. In the PATH secondary index, the path and node values are key columns that allow efficient seeks when searching for paths.
Create a secondary XML index on columns where key columns are (node value and path) of the primary XML index.
Create a secondary XML index on columns (PK, path and node value) of the primary
XML index where PK is the primary key of the base table.
155
Primary XML index
Specify the primary XML index to use in creating a secondary XML index.
Advanced Properties for XML Index
Allow row locks
Row locks are allowed when accessing the index. The Database Engine determines when row locks are used.
Allow page locks
Page locks are allowed when accessing the index. The Database Engine determines when page locks are used.
Fill Factor (%)
Specify a percentage that indicates how full the Database Engine should make the leaf level of each index page during index creation or rebuild.
Pad index
The percentage of free space that is specified by fillfactor is applied to the intermediate-level pages of the index.
Sort in tempdb
Specify to store temporary sort results in tempdb.
Max. degree of parallelism
Override the max degree of parallelism configuration option for the duration of the index operation.
General Properties for Spatial Index
Table/View
Must be TABLE.
Table Name
Select a table.
Spatial Column
Select a spatial column which the index is based.
Tessellation Scheme
The tessellation scheme for the spatial index.
Min. Coordinates
Specify the x-coordinate (X) and y-coordinate (Y) of the lower-left corner of the bounding box.
Max. Coordinates
Specify the x-coordinate (X) and y-coordinate (Y) of the upper-right corner of the bounding box.
Level 1
Specify the first (top) level grid.
156
Level 2
Specify the second-level grid.
Level 3
Specify the third-level grid.
Level 4
Specify the fourth-level grid.
Cells per Object
Specify the number of tessellation cells per object that can be used for a single spatial object in the index by the tessellation process.
Advanced Properties for Spatial Index
Recompute statistics
Enable automatic statistics updating.
Allow row locks
Row locks are allowed when accessing the index. The Database Engine determines when row locks are used.
Note: SQL Azure does not support.
Allow page locks
Page locks are allowed when accessing the index. The Database Engine determines when page locks are used.
Note: SQL Azure does not support.
Fill Factor (%)
Specify a percentage that indicates how full the Database Engine should make the leaf level of each index page during index creation or rebuild.
Note: SQL Azure does not support.
Pad index
The percentage of free space that is specified by fillfactor is applied to the intermediate-level pages of the index.
Note: SQL Azure does not support.
Sort in tempdb
Specify to store temporary sort results in tempdb.
Note: SQL Azure does not support.
Max. degree of parallelism
Override the max degree of parallelism configuration option for the duration of the index operation.
157
Note: SQL Azure does not support.
SQL Server Synonyms
A synonym is an alternative name for a schema-scoped object. Client applications can use a single-part name to reference a base object by using a synonym instead of using a two-part, three-part, or four-part name to reference the base object. Click -> Synonym to open an object list for Synonym.
Note: SQL Azure does not support the Comment tab.
General Properties
Server Name
The name of the server on which base object is located.
Note: SQL Azure does not support.
Database Name
The name of the database in which the base object is located.
Schema Name
The name of the schema of the base object.
Object Type
The object type.
Object Name
The name of the base object that the synonym references.
SQL Server Triggers
A trigger is a special kind of stored procedure that automatically executes when an event occurs in the database server.
Click -> Trigger to open an object list for Trigger.
Note: SQL Azure does not support the Comment tab.
General Properties
Trigger Type
Choose Table or View on which the DML trigger is executed.
Enable
Check this option to enable the trigger.
158
Table Name or View name
Choose a table or a view.
After
Specify that the DML trigger is fired only when all operations specified in the triggering SQL statement have executed successfully.
Instead of
Specify that the DML trigger is executed instead of the triggering SQL statement, therefore, overriding the actions of the triggering statements.
Insert
The trigger is activated whenever a new row is inserted into the table.
Delete
The trigger is activated whenever a row is deleted from the table.
Update
The trigger is activated whenever a row is modified.
SQL statements
Specify additional criteria in Definition tab.
Note: Support from SQL Server 2005 or later.
Assembly method
Specify the method of an assembly to bind with the trigger.
Note: Support from SQL Server 2005 or later.
Advanced Properties
Caller
Specify the statements inside the module are executed in the context of the caller of the module.
Note: Support from SQL Server 2005 or later and SQL Azure.
Owner
Specify the statements inside the module executes in the context of the current owner of the module.
Note: Support from SQL Server 2005 or later and SQL Azure.
Self
Specify the statements inside the module are executed in the context of the specified user is the person creating or altering the module.
159
Note: Support from SQL Server 2005 or later and SQL Azure.
User
Specify the statements inside the module execute in the context of the user.
Note: Support from SQL Server 2005 or later and SQL Azure.
Encrypted
Obfuscate the text of the CREATE TRIGGER statement.
Note: Support from SQL Server 2005 or later.
Not for replication
Indicate that the trigger should not be executed when a replication agent modifies the table that is involved in the trigger.
Note: SQL Azure does not support.
Append
Specify that an additional trigger of an existing type should be added.
Note: SQL Azure does not support.
Definition
This tab will appear when the Definition Type is set to SQL statements in General tab or when connecting to SQL
Azure. Enter valid SQL statements.
The Code Outline window displays information about the trigger. To show the Code Outline window, simply choose
Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
160
SQL Server Backup Devices
During a backup operation on a SQL Server database, the backed up data (the backup) is written to a physical backup device. This physical backup device is initialized when the first backup in a media set is written to it. The backups on a set of one or more backup devices compose a single media set. Click -> Backup Device to open an object list for Backup Device.
General Properties
Destination
Specify the physical file name or path of the backup device.
Type
The type of the backup device: DISK.
SQL Server Linked Servers
A linked server configuration enables SQL Server to execute commands against OLE DB data sources on remote servers. Click -> Linked Server to open an object list for Linked Server.
Linked servers offer the following advantages:
Remote server access.
The ability to issue distributed queries, updates, commands, and transactions on heterogeneous data sources across the enterprise.
The ability to address diverse data sources similarly.
Note: SQL Azure does not support.
General Properties
You can choose the Server Type: SQL Server or Other data source. If you choose Other data source, define the required information:
Provider
Choose the unique programmatic identifier (PROGID) of the OLE DB provider corresponding to the data source.
Product Name
Define the product name of the OLE DB data source to add as a linked server.
Data Source
Define the name of the data source as interpreted by the OLE DB provider.
Provider String
Define the OLE DB provider-specific connection string that identifies a unique data source.
161
Location
Define the location of the database as interpreted by the OLE DB provider.
Catalog
Define the catalog to be used when making a connection to the OLE DB provider.
Security
In this tab, add or delete a mapping between logins on the local instance of SQL Server and remote logins on the linked server.
Local Login
Choose a login on the local server.
Impersonate
Check this option to specify that logins use their own credentials to connect to the linked server.
Remote User
Enter the username used to connect the linked server.
Remote Password
Enter the user password.
Set the action when a login not defined in the list:
not be made
be made without using a security context
be made using the login's current security context
be made using the following security context
Set the Remote login and Password
Advanced Properties
Connect timeout
Define the time-out value for connecting to a linked server. If 0, use the sp_configure default.
Query timeout
Define the time-out value for queries against a linked server. If 0, use the sp_configure default.
Data Access
Check this option to enable a linked server for distributed query access.
Collation Compatible
If this option is checked, SQL Server assumes that all characters in the linked server are compatible with the local
162
server, with regard to character set and collation sequence (or sort order). This enables SQL Server to send comparisons on character columns to the provider.
Use Remote Collation
If this option is checked, the collation of remote columns is used for SQL Server data sources, and the collation specified in collation name is used for non-SQL Server data sources.
Collation
Specify the name of the collation used by the remote data source if Use Remote Collation is checked and the data source is not a SQL Server data source. The name must be one of the collations supported by SQL Server.
Lazy Schema Validation
If this option is checked, skip schema checking of remote tables at the beginning of the query.
Publisher
Check this option to enable publisher.
Subscriber
Check this option to enable subscriber.
Distributor
Check this option to enable distributor.
RPC
Check this option to enable RPC from the given server.
RPC Out
Check this option to enable RPC to the given server.
Promotion of Distributed Transactions for RPC
Use this option to protect the actions of a server-to-server procedure through a Microsoft Distributed Transaction
Coordinator (MS DTC) transaction.
Note: Support from SQL Server 2005 or later.
SQL Server Server Triggers
A server trigger can be a DDL or logon trigger for current server. DDL triggers execute in response to a variety of data definition language (DDL) events. These events primarily correspond to Transact-SQL CREATE, ALTER, and DROP statements, and certain system stored procedures that perform DDL-like operations. Logon triggers fire in response to the LOGON event that is raised when a user sessions is being established. Click -> Server Trigger to open an object list for Server Trigger.
Note: Support from SQL Server 2005 or later.
163
General Properties
Trigger Type
Choose the trigger type.
Enable
Check this option to enable the trigger.
SQL statements
Specify additional criteria in Definition tab.
Assembly method
Specify the method of an assembly to bind with the trigger.
Event
Check the DDL event from the list.
Advanced Properties
Caller
Specify the statements inside the module are executed in the context of the caller of the module.
Self
Specify the statements inside the module are executed in the context of the specified user is the person creating or altering the module.
Login
Specify the statements inside the module execute in the context of the user.
Encrypted
Obfuscate the text of the CREATE TRIGGER statement.
Definition
This tab will appear when the Definition Type is set to SQL statements in General tab or when connecting to SQL
Azure. Enter valid SQL statements.
The Code Outline window displays information about the trigger. To show the Code Outline window, simply choose
Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
164
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
SQL Server Assemblies
An assembly is a managed application module that contains class metadata and managed code as an object in an instance of SQL Server. By referencing this module, common language runtime (CLR) functions, stored procedures, triggers, user-defined aggregates, and user-defined types can be created in the database. Click -> Assembly to open an object list for Assembly.
Note: Support from SQL Server 2005 or later.
General Properties
Owner
Specify the name of a user or role as owner of the assembly.
Unchecked data
This option allows postponing the checks until a later time by using DBCC CHECKTABLE.
Permission Set
Specify a set of code access permissions that are granted to the assembly when it is accessed by SQL Server. If not specified, SAFE is applied as the default.
Visible
Indicate whether the assembly is visible for creating common language runtime (CLR) functions, stored procedures, triggers, user-defined types, and user-defined aggregate functions against it.
Assembly
Specify the local path or network location where the assembly that is being uploaded is located, and also the manifest file name that corresponds to the assembly.
Dependent Assemblies
Upload a file to be associated with the assembly, such as source code, debug files or other related information, into the server and made visible in the sys.assembly_files catalog view.
SQL Server Database Triggers
A database trigger is a DDL trigger to the current database. DDL triggers execute in response to a variety of data definition language (DDL) events. These events primarily correspond to Transact-SQL CREATE, ALTER, and DROP
165
statements, and certain system stored procedures that perform DDL-like operations. Click -> Database
Trigger to open an object list for Database Trigger.
Note: Support from SQL Server 2005 or later and SQL Azure.
SQL Azure does not support the Comment tab.
General Properties
Trigger Type
Trigger type must be Database Trigger.
Enable
Check this option to enable the trigger.
SQL statements
Specify additional criteria in Definition tab.
Note: SQL Azure does not support.
Assembly method
Specify the method of an assembly to bind with the trigger.
Note: SQL Azure does not support.
Event
Check the DDL event from the list.
Advanced Properties
Caller
Specify the statements inside the module are executed in the context of the caller of the module.
Self
Specify the statements inside the module are executed in the context of the specified user is the person creating or altering the module.
User
Specify the statements inside the module execute in the context of the user.
Encrypted
Obfuscate the text of the CREATE TRIGGER statement.
Note: SQL Azure does not support.
Definition
166
This tab will appear when the Definition Type is set to SQL statements in General tab or when connecting to SQL
Azure. Enter valid SQL statements.
The Code Outline window displays information about the trigger. To show the Code Outline window, simply choose
Edit -> Show Code Outline from main menu.
Note: Available only in Full Version.
Button Description
Refresh the code outline.
Turn mouse over highlight on or off.
Show the code outline in a detail way.
Sort by type and name.
Expand the selected item.
Collapse the selected item.
Hint:
SQL Server Partition Functions
A partition function is a function in the current database that maps the rows of a table or index into partitions based on the values of a specified column. Click -> Partition Function to open an object list for Partition Function.
Note: Support from SQL Server 2005 or later.
General Properties
Type
Choose the data type of the column used for partitioning.
Size
Specify the size of the data type if necessary.
Scale
Specify the scale of the data type if necessary.
Collation
Specify the collation of the data type if necessary.
Boundary values belong to right interval
Specify to the right of each boundary value interval.
Boundary values
Specify the boundary values for each partition of a partitioned table or index that uses partition_function_name.
167
SQL Server Partition Schemes
A partition scheme is a scheme in the current database that maps the partitions of a partitioned table or index to filegroups. The number and domain of the partitions of a partitioned table or index are determined in a partition scheme.
Click -> Partition Scheme to open an object list for Partition Scheme.
Note: Support from SQL Server 2005 or later.
General Properties
Partition Function
Choose the partition function.
Filegroups
Specify the filegroups to hold the partitions specified by partition_function_name.
SQL Preview
The SQL Preview tab shows the CREATE statement and necessary SQL statements of the database or schema object.
For some database or schema objects, you can use the below drop-down menu to show the SQL which will be run when pressing Save or Save As button.
Maintain
Navicat provides a complete solution for maintaining databases and their database objects in MySQL, Oracle,
PostgreSQL, SQLite, SQL Server and MariaDB.
To maintain server objects, you can control-click it and select Maintain from the pop-up menu.
Maintain MySQL/MariaDB
Maintain Table
Analyze Table
Analyze and store the key distribution for the table. During the analysis, the table is locked with a read lock for MyISAM and BDB. For InnoDB the table is locked with a write lock. Currently, MySQL supports analyzing only for MyISAM, BDB, and InnoDB tables.
Check Table
Check a table or tables for errors. Currently, MySQL supports checking only for MyISAM, InnoDB and ARCHIVE tables.
For MyISAM tables, the key statistics are updated as well.
168
Normal
Quick
Fast
Changed
Extended
Run the CHECK TABLE statement without an extra option.
Don't scan the rows to check for wrong links.
Don't scan the rows to check for wrong links.
Only check tables which have been changed since last check or haven't been closed properly.
Do a full key lookup for all keys for each row. This ensures that the table is 100 % consistent, but will take a long time.
Optimize Table
The main reason for optimizing your table is to reclaim unused space and to defragment the data file. You should optimize a table if you have deleted a large part of a table or if you have made many changes to a table with variable-length rows (tables that have VARCHAR, BLOB, or TEXT columns). Deleted records are maintained in a linked list and subsequent INSERT operations reuse old row positions. Currently, MySQL supports optimizing only for
MyISAM, InnoDB and BDB tables.
Repair Table
Repair a possibly corrupted table and returns a result set.
Quick
Extended
Repair Table tries to repair only the index tree.
MySQL creates the index row by row instead of creating one index at a time with sorting.
Maintain Oracle
Maintain Table
Enable Table Lock
Choose Enable Table Lock to enable table locks, thereby allowing DDL operations on the table. All currently executing transactions must commit or roll back before Oracle Database enables the table lock.
Disable Table Lock
Choose Disable Table Lock to disable table locks, thereby preventing DDL operations on the table.
Enable Row Movement
Choose Enable Row Movement to allow the database to move a row, thus changing the rowid.
Disable Row Movement
Choose Disable Row Movement if you want to prevent the database from moving a row, thus preventing a change of rowid.
Shrink Space
Shrink Space is to compact the table segment. This clause is valid only for segments in tablespaces with automatic segment management. By default, Oracle database compacts the segment, adjusts the high water mark, and releases the recuperated space immediately.
169
Compacting the segment requires row movement. Therefore, you must enable row movement for the table you want to shrink before shrink space. Further, if your application has any rowid-based triggers, you should disable them before issuing this clause.
Move
Move relocates data of a nonpartitioned table or of a partition of a partitioned table into a new segment, optionally in a different tablespace, and optionally modify any of its storage attributes.
Validate Table Structure
Validate Structure verifies the integrity of the structure of a table. The statistics collected by this clause are not used by the Oracle database optimizer. If the structure is valid, no error is returned. However, if the structure is corrupt, an error message will be shown.
For a table, Oracle database verifies the integrity of each of the data blocks and rows.
Collect Table Statistics
Collect Statistics analyzes the contents of tables. When you analyze a table, the database collects statistics about expressions occurring in any function-based indexes as well. Therefore, be sure to create function-based indexes on the table before analyzing the table.
Maintain View
Compile
To recompile the view specification or body.
Maintain Function/Procedure
Compile
To recompile the function/procedure specification or body.
Compile for Debug
To recompile the function/procedure specification or body and instruct the PL/SQL compiler to generate and store the code for use by the PL/SQL debugger.
Maintain Index
Rebuild
To re-create an existing index or one of its partitions or subpartitions. If the index is marked unusable, then a successful rebuild will mark it usable.
Make Index Unusable
To make the index unusable. An unusable index must be rebuilt, or dropped and re-created, before it can be used.
Coalesce Index
To instruct Oracle database to merge the contents of index blocks where possible to free blocks for reuse.
170
Compute Index Statistics
To compute the statistics of the index.
Maintain Java
Compile or Resolve
To resolve the primary Java class schema object.
Set AuthID Current User
Set the invoker rights to AUTHID CURRENT_USER.
Set AuthID Definer
Set the invoker rights to AUTHID DEFINER.
Maintain Materialized View
Enable Row Movement
To enable row movement.
Disable Row Movement
To disable row movement.
Shrink Space
To compact the materialized view segment. By default, Oracle database compacts the segment, adjusts the high water mark, and releases the recuperated space immediately.
Compile
To explicitly revalidate a materialized view. If an object upon which the materialized view depends is dropped or altered, then the materialized view remains accessible, but it is invalid for query rewrite. You can choose this option to explicitly revalidate the materialized view to make it eligible for query rewrite.
Force Materialized View Refresh
To perform a refresh.
Maintain Materialized View Log
Enable Row Movement
To enable row movement. Row movement indicates that rowids will change after the flashback occurs.
Disable Row Movement
To disable row movement.
Shrink Space
To compact the materialized view log segments. By default, Oracle database compacts the segment, adjusts the high water mark, and releases the recuperated space immediately.
171
Maintain Package
Compile
To recompile the package specification or body.
Compile for Debug
To recompile the package specification or body and instruct the PL/SQL compiler to generate and store the code for use by the PL/SQL debugger.
Maintain Trigger
Compile
To explicitly compile the trigger, whether it is valid or invalid. Explicit recompilation eliminates the need for implicit run-time recompilation and prevents associated run-time compilation errors and performance overhead.
Compile for Debug
To recompile the trigger and instruct the PL/SQL compiler to generate and store the code for use by the PL/SQL debugger.
Enable Trigger
To enable the trigger.
Disable Trigger
To disable the trigger.
Maintain Type
Compile
To compile the type specification and body.
Compile for Debug
To recompile the type specification or body and instruct the PL/SQL compiler to generate and store the code for use by the PL/SQL debugger.
Maintain XML Schema
Compile
To re-compile an already registered XML schema. This is useful for bringing a schema in an invalid state to a valid state.
Purge XML Schema
To remove the XML Schema completely from Oracle XML DB in Oracle 11g.
Maintain Tablespace
172
Read Only
To place the tablespace in transition read-only mode. In this state, existing transactions can complete (commit or roll back), but no further DML operations are allowed to the tablespace except for rollback of existing transactions that previously modified blocks in the tablespace.
Read Write
To indicate that write operations are allowed on a previously read-only tablespace.
Online
To take the tablespace online.
Offline
To take the tablespace offline.
Normal To flush all blocks in all datafiles in the tablespace out of the system global area (SGA).
Temporary Oracle database performs a checkpoint for all online datafiles in the tablespace but does not ensure that all files can be written.
Immediate Oracle database does not ensure that tablespace files are available and does not perform a checkpoint.
Coalesce
To combine all contiguous free extents into larger contiguous extents for each datafile in the tablespace.
Shrink Space
To reduce the amount of space the tablespace is taking. This is valid only for temporary tablespaces in Oracle 11g.
Maintain User
Lock User
To lock user account.
Unlock User
To unlock user account.
Expire User
To set user account will expire.
Maintain PostgreSQL
Maintain Database and Table
Analyze Database and Analyze Table
Collect statistics about the contents of tables in the database, and stores the results in the system table pg_statistic.
Subsequently, the query planner uses these statistics to help determine the most efficient execution plans for queries.
Analyze Database examines every table in the current database.
173
When VERBOSE is specified, ANALYZE emits progress messages to indicate which table is currently being processed.
Various statistics about the tables are printed as well. It is enabled in Navicat by default.
Vacuum Database and Vacuum Table
Reclaim storage occupied by deleted tuples. In normal PostgreSQL operation, tuples that are deleted or obsoleted by an update are not physically removed from their table; they remain present until a Vacuum is done. Therefore it's necessary to do Vacuum periodically, especially on frequently-updated tables. Vacuum Database examines every table in the current database.
When VERBOSE is specified, VACUUM emits progress messages to indicate which table is currently being processed.
Various statistics about the tables are printed as well. It is enabled in Navicat by default.
Plain
Full
Run the VACUUM VERBOSE statement without extra options.
Select "full" vacuum, which may reclaim more space, but takes much longer and exclusively locks the table.
Freeze Select aggressive "freezing" of tuples.
Plain Analyze Update statistics used by the planner to determine the most efficient way to execute a query.
Full Analyze Select "full" vacuum, which may reclaim more space, but takes much longer and exclusively locks the table. Update statistics used by the planner to determine the most efficient way to execute a query.
Freeze Analyze Select aggressive "freezing" of tuples. Update statistics used by the planner to determine the most efficient way to execute a query.
Reindex Database and Reindex Table
Rebuild an index using the data stored in the index's table, replacing the old copy of the index. There are several scenarios in which to use Reindex:
An index has become corrupted, and no longer contains valid data.
An index has become "bloated", that it is contains many empty or nearly-empty pages.
You have altered a storage parameter (such as fill factor) for an index, and wish to ensure that the change has taken full effect.
An index build with the CONCURRENTLY option failed, leaving an "invalid" index.
Maintain SQLite
Maintain Database and Table
Analyze Database and Analyze Table
Gather statistics about tables and indexes and stores the collected information in internal tables of the database where the query optimizer can access the information and use it to help make better query planning choices.
Vacuum Database
Rebuild the entire database. VACUUM only works on the main database. It is not possible to VACUUM an attached database file.
174
Reindex Database and Reindex Table
Delete and recreate all indexes in database or attached to the tables from scratch. This is useful when the definition of a collation sequence has changed.
Maintain Index
Reindex
Delete and recreate the index from scratch. This is useful when the definition of a collation sequence has changed.
Maintain SQL Server
Maintain Database
Read Write
When READ_WRITE is specified, users can retrieve and modify data. READ_WRITE is the default setting.
Read Only
When READ_ONLY is specified, the database is in read-only mode.
Online
When ONLINE is specified, the database is open and available for use. ONLINE is the default setting.
Offine
When OFFLINE is specified, the database is closed and shutdown cleanly and marked offline. The database cannot be modified while the database is offline.
Emergency
User has changed the database and set the status to EMERGENCY. The database is in single-user mode and may be repaired or restored. The database is marked READ_ONLY, logging is disabled, and access is limited to members of the sysadmin fixed server role. EMERGENCY is primarily used for troubleshooting purposes. For example, a database marked as suspect can be set to the EMERGENCY state. This could permit the system administrator read-only access to the database. Only members of the sysadmin fixed server role can set a database to the EMERGENCY state.
Multi User
MULTI_USER allows all users with the appropriate permissions to connect to the database. MULTI_USER is the default setting.
Single User
SINGLE_USER allows one user at a time to connect to the database. All other user connections are broken. The timeframe for breaking the connection is controlled by the termination clause of the ALTER DATABASE statement.
New connection attempts are refused. The database remains in SINGLE_USER mode even if the user who set the option logs off. At that point, a different user (but only one) can connect to the database.
Restricted User
RESTRICTED_USER allows only members of the db_owner fixed database role and dbcreator and sysadmin fixed
175
ડાઉનલોડ કરો
જાહેરાત