PDA

View Full Version : ? Quan hệ trong SQL Server!?



hueduongit
01-04-2003, 16:14
Chào các bạn

Trong SQL Server 2000. Mình có một csdl. Trong đó có các table như sau:
-Table danh mục (table cha) tên là NHANVIEN, trong đó có trường là MaNhanVien,...
-Table con có tên là TAM, trong đó có 2 trường là Ma1, Ma2,...
-Bây giờ mình muốn lập quan hệ giữa hai table đó: có hai quan hệ giữa MaNhanVien với Ma1 và MaNhanVien với Ma2
Các bạn nào biết chỉ giúp mình với.
Cảm ơn nhiều!

hueduongit
10-04-2003, 16:13
Không có ai giúp tôi với à!

tiger2003
11-04-2003, 15:58
Đồng chí chạy chương trinh Enterprise Manager đi sau đó click vào table là muốn định nghĩa cái gì cũng được hết nha.

Còn nếu muốn dùng lệnh xin tham khảo lệnh sau
Alter table table_name1 add constraints Constraint_name Foreign key (field_name) references Table_Name1(field_name)

điền các thông số của bạn vào nha

Chúc vui khoẻ ha

phuncud
11-04-2003, 16:03
Theo tui nghĩ là do câu hỏi bạn khá đơn giản nên không ai muốn trả lời.
Còn nếu bạn thật sự muốn trả lời thì vầy:
Nếu bạn dùng Interpraise Manager thì trong cửa sổ design, vào phần Manager Index hoặc Manager Relationships ... Dùng các nút lệnh trên bên trái . Đó là SQL SERVER 2000. còn các bản trước thì tui không nhớ.
Nếu bạn dùng lệnh SQL thì dùng câu lệnh ALTER TABLE. Nếu muốn biết chi tiết cú pháp thì vào HELP

consoilangthang
13-04-2003, 18:43
thực ra cách visual nhất để set relationship là tạo một diagram, rồi kéo thả các key qua các bảng. Vào Diagrams/New Diagram để làm. Nếu bạn đã từng sử dụng Access thì sẽ thấy cơ chế này tương tự về tính rất trực quan.

hueduongit
15-04-2003, 08:01
Nó thế này nè:
(Mình tạo bằng Diagram)
-Tạo quan hệ đầu(với Ma1) là ok, quan hệ này là cho phép Update
-Tạo tiếp quan hệ hai (với Ma2). Nếu như quan hệ này chó phép là:
+ Update thì bị lỗi này:
'NHANVIEN' table saved successfully
'TAM' table
- Unable to create relationship 'FK_TAM_NHANVIEN1'.
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]Introducing FOREIGN KEY constraint 'FK_TAM_NHANVIEN1' on table 'TAM' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
[Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors.
+Delete thì là ok
Nhưng mình muốn nó phải là Update

Help me!

tiger2003
15-04-2003, 11:05
Hê hê sau một hồi để mọi người đoán mò ý định của đồng chí sau đó đồng chí mới nêu ra vấn đề cụ thể của mình.

Có gì thì tui cũng xin lỗi đồng chí :hueduongit nhé. Chứ cái kiểu post câu hỏi này thì tôi kô hiểu đến bao giờ đồng chí mới nhận được câu trả lời chính xác cho vấn đề của mình vậy?

Có lẽ ở forum này nên có 1 chuyên mục về đặt câu hỏi, đặt vấn đề thì lên, chứ kiểu này có khi chẳng ai buồn trả lời nữa.

Về câu hỏi của đồng chí theo tui nghĩ thế này :SQL Server kô cho phép đồng chí tạo cái đó thì theo tôi đồng chí nên dùng Trigger để update dữ liệu cho trường Ma1, còn theo kiểu relationship này thì chắc đồng chí cũng tự hiểu rồi đúng kô. Khi update hoặc Delete sẽ dẫn đến 2 hành động update hoặc delete ở table Tmp và do vậy mà SQL Server kô cho phép.

Chúc vui vẻ ha

hueduongit
16-04-2003, 14:06
Mình thì ko rành lắm về SQL Server. Mình nghĩ là nó tạo được chớ, vì ở Jet tạo được mà. Trước đây mình tổ chức csdl này trên Jet bây giờ muốn chuyển sang Sql

p/s: xin lỗi vì đã có câu hỏi lập lờ.

tri00002
22-04-2003, 19:10
chào các bạn, mình dang học sql tới phần ràng buộc toàn vẹn nhưng mình không hiểu tầm ảnh hưởng của nó ,các bạn có thể giảng lại cho mình 1 so bài tập cơ bản dưới đăy không?
Ràng buộc toàn vẹn liên bộ:
bài 1: sinhvien(ten,masv,năm,khoa)
ràng buộc mã thêm xoá sữa
sinhvien + - +(mon)
bài 2: kếtquả(mã,điểm,xếploại) (khoá chính là diểm và xếp loại)
đề: nếu điểm từ 5 trở lên thì xếp loại đạt
giải
ràng buộc khoá chính thêm xoá sữa
kếtquả + - +(điểm,xếp loại)