Database foreign keys represent the correlation between two relationships. The table with the foreign key of another relationship as the primary key is called the master table, and the table with the foreign key is called the slave table of the master table. Below we will introduce to you how to create foreign keys in navicat.
Recommended tutorial: MySQL introductory video tutorial
1. Open navicat and select the database table to be operated, right-click and select Design table.
#2. Click the foreign key option to start setting foreign keys.
There are seven columns in total. Let’s briefly introduce the meaning of these columns:
“Name”: You don’t need to fill it in. The system will automatically generate it after you save it successfully.
"Field": It means which key you want to set as a foreign key.
"Reference database": Database associated with foreign keys.
"Reference table": associated table
"Reference field": associated field,
"When deleting": It is the action selected when deleting.
"When updating": It is the action selected when updating.
Extended information: The role of foreign keys
Maintain data consistency and integrity, the main purpose is to control the storage in foreign key tables The data in . To associate two tables, the foreign key can only refer to the values of columns in the table or use null values.
If no foreign key is used, a value (such as 20140999999) is inserted into the student number field of Table 2, but this value does not exist in Table 1. At this time, the database allows the insertion and will not block the inserted value. Data is checked for relationships. However, when setting up a foreign key, the value you insert into the student ID field of Table 2 must be found in the student ID field of Table 1. At the same time, if you want to delete a certain student number field in Table 1, you must ensure that there is no column in Table 2 that references the field value, otherwise it will not be deleted. This is called maintaining data consistency and integrity. As shown on the right, if Table 2 still references a certain student ID in Table 1, but you delete the student ID in Table 1, Table 2 will not know which student the student ID corresponds to.
The tables in the database must comply with the specifications to prevent data redundancy, insertion anomalies, deletion anomalies and other phenomena. The canonical process is the process of decomposing the table. After decomposition, the representative attributes of a thing appear in different tables. Obviously, they should be consistent. For example, the representative data of a student is student number 012, which is 012 in the student table and should also be 012 in the grade table. This consistency is achieved by foreign keys. The function of a foreign key is: its value must be the primary key value of another table. The student number is the primary key in the student table and the foreign key in the grades table. The student number in the grade list must be the student number in the student list. Therefore, the student number in the student table and the student number in the grade table are consistent. It can be intuitively understood that the function of foreign keys is to achieve consistency of signs of the same thing in different tables. 2 Functional realization of two tables connected by foreign keys. When operated separately, the foreign key function is realized by two methods [4]:
Prevent execution
●Insert a new row from the table, and the foreign key value is not the primary key value of the main table, which prevents the insertion;
●Modify the foreign key value from the table, and the new value is not the primary key of the main table The value will prevent modification;
●If a row is deleted from the master table, its primary key value will be prevented from being deleted if it exists in the slave table (if you want to delete it, you must first delete the relevant rows from the slave table);
●The master table modifies the primary key value. If the old value exists in the slave table, the modification is blocked (if you want to modify it, you must first delete the relevant rows from the slave table).
Cascade execution
●Delete rows from the main table, and delete related rows from the table together;
●Modify the primary key value from the main table, Modify the foreign key values of related rows from the table together. Two methods are provided for users to choose. No matter which method is chosen, there will be no extra rows from the table. From another perspective, the same thing is achieved by rejecting the inconsistency between the flags in the slave table and the master table to achieve consistency with the flags in the master table.
●Two implementation methods, choose through the following methods:
●Interface: Set up two selection boxes for cascade update and cascade delete. If selected, the cascade will be executed, and if not selected, it will be blocked. Execution;
●Command: Let E)kSCM)E and RESTRICT be two optional options, CASCADE means cascade execution, and RESTRICT means prevent execution.
The above is the detailed content of How to create foreign keys in navicat. For more information, please follow other related articles on the PHP Chinese website!

The main difference between Navicat's CommunityEdition and CommercialVersions is the functionality and usage scenarios. CommunityEdition provides basic database management functions that are suitable for basic needs; CommercialVersions includes advanced functions, such as data model design and automation tasks, suitable for professional needs.

Navicat is a powerful and user-friendly database management tool for beginners and veterans. 1. It supports multiple database types and provides unified interface management. 2. Communication with the database through JDBC or ODBC to simplify operations. 3. Provide SQL editing and optimization tools to improve query efficiency. 4. Support data migration and model design to improve work efficiency.

Navicat is not free, it offers a 30-day trial and paid version. 1. The trial version allows users to experience all functions and a license is required after the expiration of the period. 2. The paid version has personal, corporate and educational licenses, providing full functionality and support.

Navicat is an integrated database development and management tool designed to simplify database operations. 1. Connection management: Supports connecting multiple database servers at the same time. 2. Data operation: Perform SQL queries, data import and export, etc. through GUI. 3. Data model design: Provide visual tools to design and optimize database structure. 4. Automation and scripting: Supports automated tasks and script execution to improve efficiency.

Navicat supports a variety of databases, such as MySQL, PostgreSQL, Oracle, and provides data migration, SQL development and other functions. 1. Connect to the source database (such as MySQL). 2. Connect to the target database (such as PostgreSQL). 3. Select the tables and data to be migrated. 4. Perform migration operations.

The steps to select a database management tool include: 1. Understand the definition and functionality of DBMS, 2. Evaluate the working principle of the tool and query optimizer performance, 3. Master the basic and advanced usage, 4. Identify and resolve common errors, 5. Pay attention to performance optimization and best practices. Through these steps, you can find the most suitable database management tools based on project needs to ensure efficient and secure data management.

Navicat provides flexible pricing solutions based on different database systems, and users can choose the appropriate version according to their needs. 1.NavicatforMySQL has standard version ($199), enterprise version ($499) and education version ($99). 2.NavicatPremium supports multiple databases, standard version $499 and enterprise version $999, suitable for medium and large enterprises.

Is Navicat worth the money? It depends on your needs and budget. If you often deal with complex database tasks and have a good budget, Navicat is worth the investment; but if you only manage the database occasionally or have a limited budget, there may be a more suitable option.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Chinese version
Chinese version, very easy to use

Notepad++7.3.1
Easy-to-use and free code editor