search
HomeDatabasenavicatHow to create foreign keys in navicat

How to create foreign keys in navicat

Aug 08, 2019 am 11:59 AM
navicatforeign key

How to create foreign keys in navicat

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.

How to create foreign keys in navicat

#2. Click the foreign key option to start setting foreign keys.

How to create foreign keys in navicat

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Navicat: Community Edition vs. Commercial VersionsNavicat: Community Edition vs. Commercial VersionsApr 22, 2025 am 12:01 AM

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: An Introduction to Database Management ToolsNavicat: An Introduction to Database Management ToolsApr 21, 2025 am 12:06 AM

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: Free to Try, But Is It Free to Keep?Navicat: Free to Try, But Is It Free to Keep?Apr 20, 2025 am 12:01 AM

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: A Comprehensive Suite of Database ToolsNavicat: A Comprehensive Suite of Database ToolsApr 19, 2025 am 12:11 AM

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: Features for Data Management and DesignNavicat: Features for Data Management and DesignApr 18, 2025 am 12:02 AM

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.

Finding the Perfect Database Management Tool: The Search ContinuesFinding the Perfect Database Management Tool: The Search ContinuesApr 17, 2025 am 12:11 AM

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: Pricing Details for Different Database SystemsNavicat: Pricing Details for Different Database SystemsApr 16, 2025 am 12:10 AM

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.

Evaluating the Value of Navicat: Is It Worth the Cost?Evaluating the Value of Navicat: Is It Worth the Cost?Apr 15, 2025 am 12:05 AM

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.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

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

SublimeText3 Chinese version

Chinese version, very easy to use

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor