Hình 4.3. Tách liên kết n-n giữa Giáo viên và Môn học B3: Xác định các thuộc tính mô tả cho các thực thể Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng. Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu
Hình 4.3 Tách liên kết n-n Giáo viên Mơn học B3: Xác định thuộc tính mơ tả cho thực thể Mỗi thuộc tính xuất lần thực thể tương ứng Nếu khơng chắn thuộc tính hay thực thể cần tiếp tục nghiên cứu phân tích Chú ý: Khi thuộc tính thực thể A có nhiều giá trị ta mơ hình hố thuộc tính thực thể B có quan hệ phụ thuộc với thực thể A Định danh thực thể B bao gồm thuộc tính định danh thực thể A số thuộc tính khác thực thể B Liên kết thực thể A thực thể B gọi liên kết phụ thuộc Ví dụ: Một nhân viên có nhiều trình độ ngoại ngữ với ngôn ngữ khác Khi trình độ ngoại ngữ nhân viên khơng mơ hình hố thuộc tính mà mơ hình hố thực thể sau: Nhân viên Trình độ nn mã NV mã NV họ tên ngoại ngữ ngày trình độ Định danh thực thể TRÌNH ĐỘ NN gồm hai thuộc tính mã NV ngoại ngữ b Ví dụ Một cơng ty thương mại Y chuyên kinh doanh mặt hàng điện tử Công ty nhập mặt hàng từ nhà cung cấp khác Chi tiết mặt hàng gồm có: mã hàng (duy nhất), tên hàng mô tả mặt hàng Công ty cần lưu giữ thông tin nhà cung cấp tên, địa chỉ, điện thoại, fax Mỗi nhà cung cấp có mã Mỗi nhà cung cấp cung cấp nhiều mặt hàng mặt hàng cung cấp từ nhà cung cấp Các mặt hàng lưu giữ kho Mỗi kho hàng có diện tích khác chứa loại mặt hàng Công ty có nhiều cửa hàng đại lý để bán mặt hàng Hàng cung cấp cho cửa hàng thông qua các phiếu xuất Thông tin phiếu xuất cần có mã số cửa hàng nhận hàng, ngày xuất, thông tin mặt hàng xuất tên hàng, số lượng, đơn giá, thành tiền Yêu cầu: Vẽ mơ hình thực thể liên kết hệ thống Xác định thực thể, định danh thực thể thuộc tính mơ tả: HÀNG - mã hàng, tên hàng, đơn giá, số lượng, mô tả NHÀ CUNG CẤP – mã NCC, tên NCC, địa chỉ, điện thoại, fax KHO – số kho, diện tích, mơ tả PHIẾU XUẤT – số phiếu, ngày xuất, số cửa hàng CỬA HÀNG - số cửa hàng, địa điểm, mô tả Xác định liên kết thực thể Một mặt hàng cần cung cấp nhà cung cấp Một nhà cung cấp cần cung cấp nhiều mặt hàng Một mặt hàng cần lưu giữ kho Mỗi kho lưu giữ loại hàng Một mặt hàng xuất 0, nhiều phiếu xuất Một phiếu xuất xuất nhiều mặt hàng Một cửa hàng nhận 0, nhiều phiếu xuất Mỗi phiếu xuất cần xuất cho cửa hàng Vẽ mơ hình thực thể liên kết Hình 4.4 Mơ hình liên kết thực thể hệ thống bán hàng công ty Y Quan hệ N-N HÀNG PHIẾU XUẤT tách thành quan hệ 1-N với thực thể kết hợp DÒNG PHIẾU XUẤT sau: Hình 4.5 Tách liên kết nhiều – nhiều Hàng- Phiếu xuất MƠ HÌNH QUAN HỆ 3.1 Khái niệm a Quan hệ Mơ hình CSDL quan hệ hay ngắn gọn mơ hình quan hệ E.F.Codd phát triển vào đầu năm 1970 Mô hình thiết lập sở lý thuyết tập hợp nên dễ hiểu sử dụng rộng rãi việc tổ chức liệu cho hệ thống - Các thành phần mô hình quan hệ gồm: Các quan hệ - - thuộc tính Tương ứng với thành phần mơ hình thực thể liên kết là: Các thực thể – thể thực thể – thuộc tính Mơ hình thực thể liên kết => Mơ hình quan hệ => Các bảng HQTCSDL So sánh tương ứng mơ hình thực thể liên kết, mơ hình quan hệ hệ quản trị CSDL có bảng sau: Mơ hình thực thể liên Mơ hình quan hệ Các bảng hệ kết QTCSDL Thực thể (kiểu thực thể) Quan hệ Bảng Thể thực thể Bộ (thực thể) Dịng hay ghi Thuộc tính Cột hay trường Thuộc tính Ví dụ: Mơ hình thực thể liên kết: Sinh viên mã SV họ tên ngày sinh quê quán lớp Thực thể Thể thực thể SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2 SV41 Đặng Nhật Minh 1/8/1981 Thái Bình T4_K4 Biểu diễn quan hệ dạng ghi logic: Quan hệ SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, lớp) Các bộ: (SV01, Vũ Thị Lan, 12/3/1985, Hà Nội, T5_K2) (SV41, Đặng Nhật Minh, 1/8/1981, Thái Bình, T4_K4) Biểu diễn quan hệ dạng bảng: SINH VIÊN mã SV họ tên ngày sinh quê quán lớp SV01 Vũ Thị Lan 12/3/1985 Hà Nội T5_K2 SV41 Đặng Nhật Minh 1/8/1981 Thái Bình T4_K4 Chú ý: Các quan hệ khơng trùng Thuộc tính xác định tên, thứ tự thuộc tính quan hệ khơng quan trọng Trong quan hệ, tên thuộc tính phải khác (các miền giá trị thuộc tính khơng thiết khác nhau) b Khố Khố chính: Khố quan hệ (Primary Key-PK) một nhóm thuộc tính xác định quan hệ Khố quan hệ định danh thực thể tương ứng Trong quan hệ thuộc tính thuộc khố gạch chân gọi thuộc tính khố Ví dụ: SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, lớp) – mã SV khố quan hệ SINH VIÊN Khi chọn khố cần phải xem xét tiêu chuẩn sau: khố phải xác định quan hệ, phải có số thuộc tính nhất, phải khơng thay đổi theo thời gian Khố ghép: Khố ghép khố có từ hai thuộc tính trở lên Ví dụ: GIẢNG DẠY(mã GV, mã MH, ngày bắt đầu, ngày kết thúc) – khố quan hệ GIẢNG DẠY khố ghép gồm hai thuộc tính mã GV mã MH Khố ngồi: Một khố sử dụng để thiết lập mối quan hệ Đó thuộc tính mơ tả quan hệ đồng thời lại thuộc tính khố quan hệ khác Trong quan hệ thuộc tính khố in nghiêng gạch chân nét đứt Ví dụ: LỚP (tên lớp, khoa, phịng học) SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, tên lớp) – tên lớp khố ngồi quan hệ SINH VIÊN Khố giả: Là thuộc tính người đặt để làm khố Thuộc tính khơng mô tả đặc điểm đối tượng quan tâm mà có tác dụng để xác định đối tượng Ví dụ: mã SV, số hố đơn…Thơng thường khố có từ thuộc tính trở lên người ta thường đặt khoá giả làm khố để tiện lợi việc truy vấn liệu - Ràng buộc thực thể: ràng buộc khố Nó u cầu khố phải tối thiểu, xác định không null (Giá trị null tức khơng có giá trị Nó khác với giá trị hay dấu cách.) - Ràng buộc tham chiếu (ràng buộc khố ngồi): liên quan đến tính toàn vẹn mối quan hệ tức liên quan đến tính tồn vẹn khố ngồi Một ràng buộc tham chiếu u cầu giá trị khố ngồi quan hệ cần phải tồn giá trị khố quan hệ khác giá trị null Ví dụ: quan hệ sau: SINH VIÊN mã SV tên SV tên lớp SV01 Đỗ thị Cúc T1-K3 SV52 Vũ Thu Hà SV34 Hoàng Anh T4-K7 Bản ghi mồ cơi LỚP tên lớp phịng học T1_K3 302 T3_K4 414 Tên lớp T4-K7 quan hệ SINH VIÊN khơng có quan hệ LỚP vi phạm ràng buộc tham chiếu Các ràng buộc định nghĩa người dùng: ràng buộc liên quan đến miền giá trị liệu thực tế 3.2 Các dạng chuẩn a Phụ thuộc hàm - Trong quan hệ R, thuộc tính B phụ thuộc hàm vào thuộc tính A (hay thuộc tính A xác định hàm thuộc tính B) ký hiệu AàB với giá trị thuộc tính A xác định giá trị thuộc tính B Ví dụ: Mã SV->Ngày sinh Mã SV Ngày sinh 1234 1/2/78 1235 15/5/81 1237 30/12/80 1236 1/2/78 - Phụ thuộc hàm nhiều thuộc tính: thuộc tính B phụ thuộc hàm vào thuộc tính A1 A2 ký hiệu{A1,A2} → B với cặp giá trị A1 A2 xác định giá trị B Ví dụ: {Số hố đơn, Mã hàng}-> Số lượng Số hoá đơn Mã hàng Số lượng 1234 P1 50* 1234 P2 70 1235 P1 50* 1235 P2 30 1236 P1 80 Chú ý: A1-> {A2,A3} ≡A1-> A2 A1-> A3 {A1,A2}-> A3 ≠ A1-> A3 A2-> A3 - Các loại phụ thuộc hàm Phụ thuộc hàm đầy đủ: Thuộc tính B gọi phụ thuộc đầy đủ vào tập thuộc tính A (có từ thuộc tính trở lên) phụ thuộc hàm vào A không phụ thuộc hàm vào tập A Ngược lại B gọi phụ thuộc hàm phận vào tập thuộc tính A Phụ thuộc hàm bắc cầu: Nếu có A1 -> A2 A2 -> A3 A1 -> A3 Khi A3 gọi phụ thuộc bắc cầu vào A1 - Định nghĩa khoá theo quan niệm phụ thuộc hàm : Trong quan hệ R, tập thuộc tính K khố quan hệ có K -> Bi với Bi tất thuộc tính cịn lại b Các dạng chuẩn - Dạng chuẩn (1NF): Một quan hệ dạng chuẩn toàn miền thuộc tính miền đơn khơng tồn nhóm thuộc tính lặp Một thuộc tính A thuộc tính lặp với giá trị cụ thể khố có nhiều giá trị thuộc tính A kết hợp với khố Ví dụ: Khố Mã SV Nhóm thuộc tính lặp Môn học Điểm Mã SV Tên SV Môn học Điểm Môn học Điểm 135 Anh SA1 SA2 136 Bình SA2 SD 140 Lan SD - Dạng chuẩn (2NF): Một quan hệ dạng chuẩn dạng chuẩn khơng tồn phụ thuộc hàm phận vào khố Ví dụ: Cho quan hệ: R (A, B, C, D, E) Khố A,B Các phụ thuộc hàm: {A,B} -> D; A -> C; (Phụ thuộc hàm phận vào khoá) D -> E * Chú ý: Quan hệ có khố thuộc tính ln dạng chuẩn - Dạng chuẩn (3NF): Một quan hệ dạng chuẩn dạng chuẩn không tồn phụ thuộc hàm bắc cầu vào khoá (hay phụ thuộc hàm thuộc tính khơng khố) Ví dụ: Cho quan hệ: R (A, B, D, E) Khố A,B Các phụ thuộc hàm: {A,B} -> D; D -> E (Phụ thuộc hàm thuộc tính khơng khố) THIẾT KẾ LOGIC CSDL Có hai hướng tiếp cận để mơ hình hố liệu: Vẽ mơ hình thực thực liên kết – Cách tiếp cận từ xuống (Top - down): Để xây dựng mơ hình thực thể liên kết cần xác định cách trực giác đối tượng quan trọng mà hệ thống cần phải lưu trữ liệu (đó thực thể) xác định thuộc tính mơ tả cho thực thể với quan hệ thực thể Nếu áp dụng luật mơ hình thực thể liên kết ta có quan hệ chuẩn hoá Chuẩn hoá – Các tiếp cận từ lên (Bottom - up): Để chuẩn hoá cần nhóm tất thuộc tính liên quan hệ thống vào quan hệ Áp dụng luật chuẩn hố để tách quan hệ thành quan hệ có cấu trúc tốt giảm bớt dư thừa liệu ** Mỗi cách tiếp cận có ưu điểm nhược điểm riêng thực tế người ta thường phối hợp hai cách tiếp cận để có mơ hình liệu xác Kết cuối phần thiết kế logic CSDL tập ghi logic biểu diễn quan hệ CSDL 4.1 Chuyển đổi từ mô hình thực thể liên kết thành ghi logic a Các luật chuyển đổi Mỗi thực thể mơ hình thực thể liên kết trở thành quan hệ Mỗi thuộc tính mơ hình thực thể liên kết trở thành thuộc tính quan hệ tương ứng Định danh thực thể mơ hình thực thể liên kết trở thành khố quan hệ tương ứng Nếu khố khơng đáp ứng tiêu chuẩn tính tối thiểu, tính xác định tính ổn định đưa vào khố giả làm khố Thi hành liên kết thơng qua việc đặt khóa ngồi vào quan hệ Với liên kết 1-1: đặt khố hai quan hệ vào quan hệ làm khoá ngồi Ví dụ: Với mơ hình thực thể liên kết Công nhân Máy mã CN số máy họ tên mác ngày cơng Ta có quan hệ: CƠNG NHÂN (mã CN, họ tên, ngày sinh, số máy) MÁY (số máy, mác, cơng suất) Hay: CƠNG NHÂN (mã CN, họ tên, ngày sinh) MÁY (số máy, mác, công suất, mã CN) Với liên kết 1-N: đặt khố quan hệ đầu vào quan hệ đầu nhiều làm khoá ngồi Ví dụ: Với mơ hình thực thể liên kết Sinh viên Lớp mã SV tên lớp họ tên phòng học ngày Ta có quan hệ: SINH VIÊN (mã SV, họ tên, ngày sinh, tên lớp) LỚP (tên lớp, phòng học) Với liên kết N-N: Cần tách thành quan hệ 1-N chuyển thành quan hệ Khi quan hệ tương ứng với thực thể kết hợp có khố ghép thuộc tính khố quan hệ khố ngồi Ví dụ: Với mơ hình thực thể liên kết Hình 4.6 Mơ hình liên kết thực thể Giáo viên – Môn học Ta có quan hệ: GIÁO VIÊN (mã SV, tên GV, đại chỉ, điện thoại) MÔN HỌC (mã MH, tên MH, số trình) GIẢNG DẠY (mã GV, mã MH, ngày bắt đầu) Một số liên kết đặc biệt: Tự liên kết: Ví dụ: Mỗi nhân viên có khơng người quản lý (giám đốc khơng có người quản lý nào) Mỗi nhân viên quản lý 0, hay nhiều nhân viên Hình 4.7 Tự liên kết thực thể nhân viên Ta có quan hệ: NHÂN VIÊN (mã NV, họ tên, ngày sinh, giới tính, địa chỉ, mã NV quản lý) Trong Mã NV quản lý mã NV Liên kết phụ thuộc Ví dụ: Một mặt hàng có nhiều giá khác giai đoạn khác Ta có quan hệ: MẶT HÀNG (Mã hàng, Tên hàng) GIÁ (Mã hàng, Ngày bắt đầu, đơn giá) b Ví dụ Chuyển mơ hình thực thể liên kết sau thành ghi logic biểu diễn quan hệ: Hình 4.8 Mơ hình liên kết thực thể hệ thống bán hàng công ty Y Các ghi logic mô tả quan hệ công ty thương mại Y: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn giá, số lượng, mô tả, mã NCC, số kho) KHO (số kho, diện tích, mơ tả) PHIẾU XUẤT (số phiếu, ngày xuất, số cửa hàng) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) CỬA HÀNG (số cửa hàng, địa điểm, mơ tả) 4.2 Chuẩn hố quan hệ a Các bước tiến hành: B1 Từ biểu mẫu (tài liệu xuất: hoá đơn, chứng từ,…) lấy danh sách thuộc tính cho quan hệ chưưa đưược chuẩn hoá (dạng chuẩn 0) Mỗi tiêu đề biểu mẫu thuộc tính Bỏ qua phần đầu đề phần dưưới (một số ghi chú, chữ ký …) biểu mẫu Không lấy thuộc tính đưược suy diễn từ thuộc tính khác (như thành tiền = đơn giá x số lượng) thuộc tính trình bày nhưư ‘số thứ tự’ có Bổ sung thêm số thuộc tính định danh tương ứng với số thuộc tính tên gọi chưa có định danh cần thiết Xác định nhóm thuộc tính lặp, phụ thuộc hàm thuộc tính B2 Chuẩn hố dạng chuẩn (1NF): Tách nhóm thuộc tính lặp Tách thuộc tính khơng nằm nhóm lặp thành quan hệ (R1) Xác định khố quan hệ Các thuộc tính nhóm lặp khố quan hệ (R1) tạo thành quan hệ (R2) Xác định khóa cho quan hệ R2 (khố R2 khố ghép khố R1 thuộc tính khác R2) Ví dụ: R{A, B, C, D, E} khố {A} Tồn nhóm thuộc tính lặp {C,D} tách thành quan hệ R1{A, B, E} R2{A,C,D} B3 Chuẩn hoán dạng chuẩn (2NF): Loại bỏ phụ thuộc phận vào khoá (chỉ áp dụng với quan hệ có khố ghép Tách thuộc tính tham gia vào phụ thuộc hàm xác định phần khoá vào quan hệ (R3) Khố quan hệ thuộc tính xác định hàm Phần cịn lại với khố quan hệ (R3) quan hệ giữ ngun khố quan hệ ban đầu Ví dụ: R{A, B, C, D} khoá {A,B} Tồn phụ thuộc hàm Aà C tách thành quan hệ R1{A,C} R2{A, B, D} B4 Chuẩn hoá dạng chuẩn 3(3NF): Loại bỏ phụ thuộc hàm thuộc tính khơng khố Tách thuộc tính tham gia vào phụ thuộc hàm thuộc tính khơng khố vào quan hệ (R4) Khố quan hệ thuộc tính xác định hàm Phần cịn lại khố quan hệ (R4) quan hệ giữ ngun khố quan hệ ban đầu Ví dụ: R{A, B, C, D} mà khoá {A,B} Tồn phụ thuộc hàm Cà D tách thành quan hệ R1{C, D} R2{A, B, C} b Ví dụ Hãy xây dựng mơ hình liệu cho hệ thống từ mẫu phiếu xuất công ty thương mại Y - Danh sách thuộc tính: số PX, ngày, số đại lý, địa chỉ, tên hàng, đơn vị tính, đơn giá, số lượng - Bổ sung thêm thuộc tính mã hàng - Phụ thuộc hàm: (quy định giá bán mặt hàng không thay đổi) số PX -> ngày, mã KH số đại lý -> địa mã hàng -> tên hàng, đơn vị tính, đơn giá {số PX, mã hàng }-> số lượng - Khố chính: số PX − Nhóm lặp (*): mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng Chuẩn hoá quan hệ: 0NF 1NF 2NF 3NF Tên gọi số PX ngày số đại lý địa *mã hàng *tên hàng *đơn vị tính *đơn giá *số lượng số PX ngày số đại lý địa số PX ngày số đại lý địa số đại lý địa ĐẠI LÝ số PX ngày số đại lý PHIẾU XUẤT số PX mã hàng tên hàng đơn vị tính đơn giá số lượng mã hàng tên hàng đơn vị tính đơnPX giá số mã hàng tên hàng đơn vị tính đơnPX giá số mã hàng số lượng mã hàng số lượng HÀNG HÀNG XUẤT Các ghi logic biểu diễn quan hệ: ĐẠI LÝ (số đại lý, địa chỉ) PHIẾU XUẤT (số PX, ngày, số đại lý) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá) HÀNG XUẤT (số PX, mã hàng, số lượng xuất) 4.3 Hồn thiện mơ hình CSDL logic a Một số quy tắc Sau tiến hành theo hai hướng khác nhau: xây dựng mơ hình thực thể liên kết chuẩn hố liệu có hai tập ghi logic khác hệ thống Khi cần phải kết hợp lại để có mơ hình CSDL logic thống cho hệ thống Một số nguyên tắc kết hợp: Kiểm tra thống tên gọi quan hệ thuộc tính hai kết Nếu tên khác nghĩa phải đặt lại tên cho khác Nếu nghĩa khác tên phải đặt lại tên cho giống Lấy tất quan hệ khác từ hai kết Với hai quan hệ trùng lấy tất thuộc tính có hai quan hệ từ hai kết b Ví dụ: Trong ví dụ phần ta thu tập ghi logic mô tả quan hệ hệ thống công ty thương mại Y là: Nhóm 1: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn giá, số lượng, mô tả, mã NCC, số kho) KHO (số kho, diện tích, mơ tả) PHIẾU XUẤT (số phiếu, ngày xuất, số cửa hàng) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) CỬA HÀNG (số cửa hàng, địa điểm, mơ tả) Trong ví dụ phần ta thu tập ghi logic mô tả quan hệ hệ thống công ty thương mại Y là: Nhóm 2: ĐẠI LÝ (số đại lý, địa chỉ) PHIẾU XUẤT (số PX, ngày, số đại lý) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá) DỊNG PHIẾU XUẤT (số PX, mã hàng, số lượng xuất) Ta thấy Trong nhóm có thực thể CỬA HÀNG nhóm có thực thể ĐẠI LÝ hai thực thể khác tên nghĩa Thuộc tính số phiếu số PX, thuộc tính ngày xuất ngày nghĩa ** Kết thiết kế logic CSDL hệ thống công ty thương mại Y là: NHÀ CUNG CẤP ( mã NCC, tên NCC, địa chỉ, điện thoại, fax) HÀNG (mã hàng, tên hàng, đơn vị tính, đơn giá, số lượng, mơ tả, mã NCC, số kho) KHO (số kho, diện tích, mơ tả) PHIẾU XUẤT (số phiếu, ngày xuất, số đại lý) DÒNG PHIẾU XUẤT (mã hàng, số phiếu, số lượng xuất) ĐẠI LÝ (số đại lý, địa đại lý, mô tả) THIẾT KẾ VẬT LÝ CSDL 5.1 Các vấn đề liên quan thiết kế vật lý CSDL Phần thiết kế vật lý CSDL phụ thuộc vào HQTCSDL mà bạn sử dụng để cài đặt CSDL Chúng ta cần chuyển từ ghi logic với thuộc tính thành quan hệ biểu diễn dạng bảng với trường hay cột cài đặt HQTCSDL cụ thể Với bảng cần rõ: Khố (có thể gồm hay nhiều thuộc tính) Mơ tả tất cột (trường) Với cột (trường) cần phải có: Một tên (trong bảng lưu giữ nó) Một mô tả ngắn gọn Một kiểu liệu (ví dụ: integer, char, date, logical,… phụ thuộc vào HQTCSDL cụ thể cài đặt CSDL) Một kích thước (mặc định hay rõ tuỳ kiểu liệu) Chú ý: tên bảng, cột không nên dài, cần đủ nghĩa thường khơng có dấu Các cột (trường) tuỳ chọn cột (trường) bắt buộc: Nếu cột bắt buộc người sử dụng cần phải cung cấp giá trị cho cột dòng (bản ghi) thêm vào bảng cập nhật CSDL Cột cần phải rõ NOT NULL Nếu cột tuỳ chọn nhận giá trị null Chú ý: lưu trữ giá trị cho cột tuỳ chọn khơng có giá trị cách khơng phải cách hay Khố khố ngồi Hầu hết HQTCSDL đại cho phép rõ khố chính, khố ngồi định nghĩa bảng Nếu HQTCSDL không cho phép định nghĩa tự động cần phải rõ Khố cần phải not null Khố ngồi cần phải liên quan tới thể khố có nhận giá trị null Giá trị hợp lệ giá trị mặc định Ví dụ: Một mã KH định nghĩa nằm khoảng từ đến 1000 (giá trị hợp lệ) Giá trị mặc định cho số lượng bán (giá trị mặc định) Thuận lợi việc rõ giá trị hợp lệ gắn vào tất chương trình lập trình Đảm bảo thống việc kiểm tra tính đắn liệu Giá trị mặc định sử dụng để giảm bớt việc gõ máy cho người sử dụng Nó giúp cho việc nhập liệu nhanh giảm bớt lỗi Khoá giả Để tăng tốc độ tìm kiếm, tiết kiệm khơng gian nhớ giảm lỗi khoá cần phải ngắn Nếu vài khoá dài cần phải thay chúng khố giả Có hai vấn đề đưa khoá giả: Cần phải thiết lập kỹ thuật để sinh tự động giá trị cho khoá (sinh khoá tự động) Cần phải cung cấp ràng buộc cho định danh tự nhiên để ngăn chặn việc lưu trữ vài ghi cho thực thể có liệu khác giá trị khoá Các quan hệ Các quan hệ bảng thiết lập khố ngồi Cần phải đảm bảo ràng buộc khố ngồi cài đặt 5.2 Xem xét hiệu suất thực thi CSDL Cần phải đánh giá việc thực thi CSDL, tính hợp lý thời gian đáp ứng câu hỏi truy vấn Chạy thử CSDL với tập đủ lớn ghi môi trường thực tế Mô số người dùng thực truy vấn CSDL đa ... rộng rãi việc tổ chức liệu cho hệ thống - Các thành phần mơ hình quan hệ gồm: Các quan hệ - - thuộc tính Tương ứng với thành phần mơ hình thực thể liên kết là: Các thực thể – thể thực thể – thuộc... => Mơ hình quan hệ => Các bảng HQTCSDL So sánh tương ứng mô hình thực thể liên kết, mơ hình quan hệ hệ quản trị CSDL có bảng sau: Mơ hình thực thể liên Mơ hình quan hệ Các bảng hệ kết QTCSDL Thực... thể liên kết Hình 4. 4 Mơ hình liên kết thực thể hệ thống bán hàng công ty Y Quan hệ N-N HÀNG PHIẾU XUẤT tách thành quan hệ 1-N với thực thể kết hợp DÒNG PHIẾU XUẤT sau: Hình 4. 5 Tách liên kết