vì các bạn thích ngồi máy tính hơn ngồi bàn học và được nghỉ, trời rét ... việc đi lại sẽ khó khăn.
Đây là đoạn ngắn tớ tk môn CSDL, và vài câu hỏi chưa có câu trả lời:
#Khai niem - ky hieu
X →Y, X, Y ⊆ U : (Y phụ thuộc hàm vào X hay X quyết định Y)
f suy dẫn logic được từ F: F ⊨ f.
Kí hiệu R(f) - quan hệ R thỏa phụ thuộc hàm f
Lược đồ quan hệ α là cặp hai thành phần: α = <U, F>,
Bao đóng của tập phụ thuộc hàm F là:F+ = { X →Y | F⊨ X →Y}
Q: Ở chươgn 5 - trang 21: thuật tóantìm key số 2
K := (U \ L1R1) ∪ L1;
sao không víết là K:= U\R1 ???
A: Vì phép tóan trong thuật tóan giúp giữ lại thuộc tính nằm ở cả 2 vế của 1 phụ thuộc hàm.
Q:Kết quả ví dụ phần tìm khóa:
A:
a. CS (Algo 1) b. HS (Algo 1)
c. HIG và HIE (Algo 3)
(ai làm rồi thấy kq khác thì bảo :D )
Q: kết quả ví dụ kiểm tra tách lược đồ quan hệ có mất thông tin không?
1. không
2. có -> vì không có quan hệ nào quyết định B nên luôn tồn tại ở B các kí hiệu b.
3. không -> vì sau khi tách có quan hệ BE (là khóa của lược đồ qh ban đầu)
updated! kết quả ví dụ phần tìm khóa.
ReplyDeletecâu a chưa làm nhìn thấy Z đã sai rồi
ReplyDeleteuh :))
ReplyDeletehỏi vài câu :
1. Có cách nào nhanh kiểm tra xem tách có mất thông tin hay không? t thấy có cái định lý trong sách: U1 giao U2 -> U1\U2 thuộc F+.
Đấy là với trường hợp tách làm 2 còn tách làm nhiều thì sao?
2.Kiểm tra 3NF:
X->Y , Y-> Z => Z phụ thuộc bắc cầu vào X.
Giả sử một lược đồ có khóa là AB->C , từ C thì ko quyết định cái gì nhưng A->G, G->H chẳng hạn thì H phụ thuộc bắc cầu vào A, Lược đồ này có là 3NF không?
3. Tách thằnh BCNF:
thứ tự tách như nào? Một lược đồ có 4 FTH thì tach theo cái nào trước?
4. Ai cho ví dụ về 3NF t xem với.
1. Kiểm tra tách có mất mát thông tin hay không thì dùng bảng là chuẩn rồi, chậm nhưng mà chắc. Còn nếu dùng cái định nghĩa của mày thì tách từng đôi 1 rồi kiểm tra chứ không tách 1 phát luôn. (xem bổ đề phần chuẩn hóa BCNF).
ReplyDelete2. Khóa là AB, A->G tức là phụ thuộc không đầy đủ vào khóa => không phải là chuẩn 2NF.
3. Thứ tự tách thành BNCF: Chọn trong tập phụ thuộc hàm 1 phụ thuộc hàm mà vi phạm chuẩn BCNF vd X->A rồi tách đôi thành 2 lược đồ con [U1, U2], U1 = XA, U2 = U\A. Làm tiếp với những lược đồ con vừa tách được cho đến khi tất cả các lược đồ con nhận được đều ở dạng BCNF.
4.U = ABCDEFGH. F={A -> BCDEFGH, B -> C}
1. ok, thế tháy hôm cô cho ghi là :"thêm EB, vì xíchma chứa EB là khóa nên sau khi tách thì ko mất thông tin" thế cái đấy có phải là định lý không? hay chỉ là mình tự nhận biết thôi? nếu là định lý thì chứa siêu khóa cũng sẽ khiến phép tách không mất thông tin chứ?
ReplyDelete2. Tao hỏi 3NF cơ
Không phải là 2NF thì tất nhiên sẽ không ở 3NF (cô bảo thế).
ReplyDeleteChứa siêu khóa thì cũng là chứa khóa còn j
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteCái định lý U1 ∩ U2 →U1 \ U2 ∈ F+ chắc chỉ dành cho tách làm 2 thôi, tách làm n phần t nghĩ ko áp dụng đc.
ReplyDeleteDùng bảng hình như là cách duy nhất. Thi cứ bảng mà quất thôi.
Đm giờ vẫn chưa học đến phần chuẩn >"<
AB -> A, A -> G => B phụ thuộc bắc cầu vào AB => ko phải là 2NF thì sẽ ko phải là 3NF
ReplyDeleteAB -> A, A -> G => G phụ thuộc bắc cầu vào AB => ko là 3 NF luôn, bị buồn ngủ à :))
ReplyDeleteKo hiểu t định viết j à =.='
ReplyDeleteT đang c/m cái nào ko là 2NF sẽ ko pải là 3NF
Viết hơi nhầm G với B thôi
ờ tao ko biết có cái định lí thế. Chỉ biết là nếu là BCNF thì là 3NF, 3NF thì là 2NF, chứ ko biết cái ngượic đấy.
ReplyDeleteThi xong rồi nhưng vẫn hỏi nốt vài câu:(chắc kiếm cái csdl làm thật là xong): có kết nối tự nhiên được MSCB và MSCBCN không ? vì 2 cột này khác tên mà, nếu CANBO.MSCB = DETAI.MSCBCN vào thì côt mới tên gì?
MSCBCN có phải khóa ngoại không?
Giờ mới xem lại, đúng là ko natural join được, natural join yêu cầu giống tên (sai mie mấy câu đsqh rồi >"<)
ReplyDeleteNếu muốn kết nối 2 thuộc tính này phải dùng join (ko dùng natural join), kết quả trả về nếu không dùng phép chiếu sẽ hiển thị toàn bộ thuộc tính ở cả 2 quan hệ (tức là hiển thị cả MSCB cả MSCBCN luôn chứ ko phải ra cột mới).
MSCBCN là khóa ngoại
hic! mình làm sai hết rồi ! :((
ReplyDelete