2 Table nối khóa ngoại với nhau thì làm sao để nhập dữ liệu

mình có 2 bảng

CREATE TABLE [dbo].[EMP](
	[emp_no] [char](6) NOT NULL PRIMARY KEY,
	[last_name] [varchar](50) NOT NULL,
	[first_name] [varchar](50) NOT NULL,
	[dept_no] [char](3) NOT NULL,
	[job] [varchar](50) NULL,
	[salary] [money] NOT NULL,
	[bonus] [money] NULL,
	[ed_level] [int] NULL
        FOREIGN KEY (dept_no) REFERENCES [DEPT](dept_no)
)

CREATE TABLE [dbo].[DEPT](
	[dept_no] [char](3) NOT NULL PRIMARY KEY,
	[dept_name] [varchar](50) NOT NULL,
	[mgn_no] [char](6) NULL,
	[admr_dept] [char](3) NOT NULL,
	[location] [varchar](100) NULL
        FOREIGN KEY (mgn_no) REFERENCES [EMP](emp_no)
)

mình nhập dữ liệu vào bảng emp thì báo lỗi vì chưa có dept_no ở bảng dept_no và ngược lại nếu mình nhập dữ liệu vào bảng dept trước thì nó lại báo lỗi là chưa nhập được dữ liệu ở bảng emp, vậy mình phải làm sao?

Nên tách ra 1 bảng riêng để lưu quan hệ giữa manager và phòng ban & bỏ khóa ngoại trong bảng dept đi.

3 Likes

học lại các loại quan hệ đi bạn ơi, này là hổng kiến thức đó. Quan hệ nhiều nhiều n-n thì phải có bảng trung gian

1 Like

mình thì lại thắc mắc, 2 câu query tạo bảng này chạy kiểu gì
câu 1 chạy nó không báo lỗi không có bảng DEPT hay sao?

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?