Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

9.1.4.1 & nbsp; thêm các mối quan hệ khóa nước ngoài bằng sơ đồ EER

Thanh công cụ dọc ở phía bên trái của sơ đồ EER có sáu công cụ chính nước ngoài:

  • one-to-one non-identifying relationship

  • one-to-many non-identifying relationship

  • one-to-one identifying relationship

  • one-to-many identifying relationship

  • many-to-many identifying relationship

  • ________số 8

Sự khác biệt bao gồm:

  • Mối quan hệ nhận dạng: Được xác định bởi một đường liền nét giữa các bảngidentifying relationship: identified by a solid line between tables

    Một mối quan hệ nhận dạng là một mối quan hệ mà bảng con không thể được xác định duy nhất mà không có cha mẹ của nó. Thông thường, điều này xảy ra khi một bảng trung gian được tạo ra để giải quyết mối quan hệ nhiều đến nhiều. Trong những trường hợp như vậy, khóa chính thường là khóa tổng hợp được tạo thành từ các khóa chính từ hai bảng gốc.

  • Một mối quan hệ không nhận dạng: được xác định bởi một dòng bị hỏng (đứt) giữa các bảngnon-identifying relationship: identified by a broken (dashed) line between tables

Tạo hoặc kéo và thả các bảng mà bạn muốn kết nối. Đảm bảo rằng có một khóa chính trong bảng sẽ ở phía bên của một mối quan hệ. Nhấp vào công cụ thích hợp cho loại mối quan hệ bạn muốn tạo. Nếu bạn đang tạo mối quan hệ một-nhiều, trước tiên hãy nhấp vào bảng ở bên cạnh nhiều mối quan hệ, thì trên bảng chứa khóa được tham chiếu. Điều này tạo ra một cột trong bảng ở nhiều bên của mối quan hệ. Tên mặc định của cột này là table_name_key_name trong đó tên bảng và tên khóa đều đề cập đến bảng chứa khóa được tham chiếu.one side of the relationship. Click on the appropriate tool for the type of relationship you wish to create. If you are creating a one-to-many relationship, first click the table that is on the many side of the relationship, then on the table containing the referenced key. This creates a column in the table on the many side of the relationship. The default name of this column is table_name_key_name where the table name and the key name both refer to the table containing the referenced key.

Khi công cụ nhiều đến nhiều hoạt động, nhấp đúp vào bảng tạo ra một bảng kết hợp với mối quan hệ nhiều đến nhiều. Để công cụ này hoạt động, phải có một khóa chính được xác định trong bảng ban đầu.

Sử dụng menu, mục menu để đặt tên mặc định dành riêng cho dự án cho cột khóa nước ngoài (xem Phần & NBSP; 9.1.1.1.5.4, Hồi Submenu Submenu Submenu). Để thay đổi mặc định toàn cầu, hãy xem Phần & NBSP; 3.2.4, Tùy chọn mô hình hóa.

Để chỉnh sửa các thuộc tính của khóa ngoại, nhấp đúp vào bất cứ nơi nào trên dòng kết nối nối hai bảng. Điều này mở ra các biên tập viên mối quan hệ.

Tạm dừng con trỏ chuột của bạn qua đầu nối mối quan hệ làm nổi bật đầu nối và các khóa liên quan như trong hình dưới đây. Các bảng

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
0 và
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
1 có liên quan trên trường
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
2 và các trường này được tô sáng trong cả hai bảng. Do trường
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
2 là một phần của khóa chính trong bảng
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
1, một đường liền nét được sử dụng cho đầu nối giữa hai bảng. Sau khi tạm dừng mối quan hệ trong một giây, một hộp màu vàng được hiển thị cung cấp thêm thông tin.

Hình & nbsp; 9.16 & nbsp; đầu nối mối quan hệ

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

Nếu vị trí của chú thích của kết nối không phù hợp, bạn có thể thay đổi vị trí của nó bằng cách kéo nó đến một vị trí khác. Nếu bạn đã đặt chú thích thứ cấp, vị trí của nó cũng có thể được thay đổi. Để biết thêm thông tin về chú thích thứ cấp, xem Phần & NBSP; 9.1.4.3, Thuộc tính kết nối trực tuyến. Trong trường hợp kiểu ký hiệu cho phép, ví dụ

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
5, các chỉ số cardinality cũng có thể được định vị lại.

Kiểu ký hiệu mối quan hệ trong Hình & NBSP; 9.16, Trình kết nối mối quan hệ là người mặc định, chân của Crow. Bạn có thể thay đổi điều này nếu bạn đang sử dụng phiên bản thương mại của MySQL Workbench. Để biết thêm thông tin, xem Phần & NBSP; 9.1.1.1.5.4, Hồi ký tự ký kết mối quan hệ.

Bạn có thể chọn nhiều kết nối bằng cách giữ phím điều khiển khi bạn nhấp vào kết nối. Điều này có thể hữu ích để làm nổi bật các mối quan hệ cụ thể trên sơ đồ EER.Control key as you click a connection. This can be useful for highlighting specific relationships on an EER diagram.

Tôi có một cơ sở dữ liệu trong MySQL được tạo bởi ai đó. Tôi không có bất kỳ tài liệu nào về cơ sở dữ liệu.

Làm thế nào tôi có thể biết mối quan hệ giữa các bảng?

Có bất kỳ truy vấn hoặc thủ tục nào để tạo báo cáo để dễ dàng tìm thấy các mối quan hệ?

Tôi có thể xem xét thông tin lược đồ và tìm ra nó theo cách thủ công, nhưng sẽ thật tuyệt nếu tôi có thể tạo một báo cáo mối quan hệ.

hỏi ngày 15 tháng 2 năm 2016 lúc 12:00Feb 15, 2016 at 12:00

Narasimha Maiyanarasimha MaiyaNarasimha Maiya

9473 Huy hiệu vàng10 Huy hiệu bạc34 Huy hiệu đồng3 gold badges10 silver badges34 bronze badges

4

Bạn có thể nhận được một cái nhìn tổng quan trong MySQL Workbench bằng cách thực hiện các bước dưới đây:

  1. Chuyển đến tùy chọn menu "Cơ sở dữ liệu".
  2. Chọn tùy chọn "Kỹ sư đảo ngược".
  3. Một phù thủy sẽ được mở và sẽ tạo ra một sơ đồ eer hiển thị

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

etalon11

8512 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng2 gold badges12 silver badges34 bronze badges

Đã trả lời ngày 15 tháng 2 năm 2016 lúc 12:11Feb 15, 2016 at 12:11

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

Smita ahinavesmita ahinaveSmita Ahinave

1.9017 Huy hiệu vàng20 Huy hiệu bạc40 Huy hiệu đồng7 gold badges20 silver badges40 bronze badges

Cách tốt hơn khi nói theo chương trình là thu thập dữ liệu từ bảng

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
6 như sau:

SELECT 
  `TABLE_SCHEMA`,                          -- Foreign key schema
  `TABLE_NAME`,                            -- Foreign key table
  `COLUMN_NAME`,                           -- Foreign key column
  `REFERENCED_TABLE_SCHEMA`,               -- Origin key schema
  `REFERENCED_TABLE_NAME`,                 -- Origin key table
  `REFERENCED_COLUMN_NAME`                 -- Origin key column
FROM
  `INFORMATION_SCHEMA`.`KEY_COLUMN_USAGE`  -- Will fail if user don't have privilege
WHERE
  `TABLE_SCHEMA` = SCHEMA()                -- Detect current schema in USE 
  AND `REFERENCED_TABLE_NAME` IS NOT NULL; -- Only tables with foreign keys

và một cái khác là

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;

Đã trả lời ngày 15 tháng 2 năm 2016 lúc 12:12Feb 15, 2016 at 12:12

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

Ankit Agrawalankit AgrawalAnkit Agrawal

2.3961 Huy hiệu vàng13 Huy hiệu bạc26 Huy hiệu đồng1 gold badge13 silver badges26 bronze badges

2

Hãy thử Schemaspy (http://schemaspy.sourceforge.net/):

Schemaspy là một công cụ dựa trên Java (yêu cầu Java 5 hoặc cao hơn) phân tích siêu dữ liệu của lược đồ trong cơ sở dữ liệu và tạo biểu diễn trực quan của nó theo định dạng có thể phát hiện được.

Dưới đây là ảnh chụp màn hình của trang HTML của đầu ra mẫu từ http://schemaspy.sourceforge.net/sample/:

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

Ngoài ra còn có một GUI đẹp nếu bạn không muốn sử dụng dòng lệnh: http://schemaspygui.sourceforge.net/

Cả hai công cụ đều là nguồn mở và theo tôi rất nhẹ và dễ sử dụng. Tôi đã sử dụng chúng nhiều lần khi tôi ở trong tình huống mà bạn đã mô tả: để có được cái nhìn tổng quan về lược đồ và thậm chí một số chi tiết để lặn sâu hơn. (Hãy xem báo cáo "dị thường".)


Cập nhật

Hãy chắc chắn kiểm tra phiên bản sắp tới của Schemaspy tại http://schemaspy.org

Đã trả lời ngày 11 tháng 3 năm 2016 lúc 20:39Mar 11, 2016 at 20:39

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?

Bạn có

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
7 sử dụng cơ sở dữ liệu không? Đó có thể là nguồn tốt nhất của các mối quan hệ.

Đã trả lời ngày 6 tháng 3 năm 2016 lúc 22:11Mar 6, 2016 at 22:11

Rick Jamesrick JamesRick James

Huy hiệu vàng 129K1111 gold badges125 silver badges209 bronze badges

Một tùy chọn có giá trị hơn có thể là nếu bạn chỉ cài đặt MySQL Workbench.

Đã trả lời ngày 11 tháng 3 năm 2016 lúc 12:06Mar 11, 2016 at 12:06

Web Artisanweb ArtisanWeb Artisan

1.7903 huy hiệu vàng27 Huy hiệu bạc31 Huy hiệu đồng3 gold badges27 silver badges31 bronze badges

Bạn có thể xem bảng

select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS;
8

Như đề xuất có một cách nhanh chóng để liệt kê FKS của bạn (Tài liệu tham khảo khóa nước ngoài) bằng cách sử dụng chế độ xem key_column_usage:

SELECT CONCAT( table_name, '.',
column_name, ' -> ',
referenced_table_name, '.',
referenced_column_name ) AS list_of_fks
FROM information_schema.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_SCHEMA = (your schema name here)
AND REFERENCED_TABLE_NAME is not null
ORDER BY TABLE_NAME, COLUMN_NAME;

Đã trả lời ngày 15 tháng 2 năm 2016 lúc 12:09Feb 15, 2016 at 12:09

Maxmaxmax

2.67918 Huy hiệu bạc18 Huy hiệu đồng18 silver badges18 bronze badges

Nếu bạn đang sử dụng phpmyadmin thì:

  1. Goto cơ sở dữ liệu.
  2. Chọn bảng và goto cấu trúc của nó.
  3. Bạn sẽ tìm thấy chế độ xem quan hệ ở dưới cùng của cấu trúc bảng của bạn.

Đã trả lời ngày 11 tháng 3 năm 2016 lúc 7:13Mar 11, 2016 at 7:13

BishalbishalBishal

1367 Huy hiệu đồng7 bronze badges

Tốt hơn là bạn sử dụng MySQL Workbench. Có một tùy chọn để tạo sơ đồ ER. Nếu bạn đang sử dụng phpmyadmin, hãy chọn bất kỳ bảng nào. Có tab cấu trúc từ nơi bạn có thể nhìn thấy cấu trúc bảng. Hy vọng, điều này sẽ giúp.

Đã trả lời ngày 12 tháng 3 năm 2016 lúc 6:16Mar 12, 2016 at 6:16

Hướng dẫn how do you create a relationship between two tables in mysql workbench? - làm thế nào để bạn tạo mối quan hệ giữa hai bảng trong bàn làm việc mysql?