phân tích và thiết kế cơ sở dữ liệu

27 273 0
phân tích và thiết kế cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG : PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 4.1 TỔNG QUAN Tất hệ thống phải sử dụng sở liệu mình, sở liệu có sở liệu xây dựng Cũng có hệ thống sử dụng sở liệu cũ Việc phân tích thiết kế sở liệu cho hệ thống tiến hành đồng thời với việc phân tích thiết kế hệ thống tiến hành riêng Vấn đề đặt cần xây dựng sở liệu giảm tối đa dư thừa liệu đồng thời phải dễ khôi phục bảo trì 4.1.1 Các khái niệm - Cơ sở liệu (CSDL): CSDL máy tính kho chứa sưu tập có tổ chức file liệu, ghi trường - Hệ quản trị sở liệu (HQTCSDL): phần mềm điều khiển truy nhập CSDL - Các HQTCSDL phân loại theo mô hình liệu sau: - Các HQTCSDL phân cấp ứng với mô hình phân cấp (ví dụ: IMS IBM) - Các HQTCSDL mạng ứng với mô hình mạng (ví dụ: IDMS Cullinet Software) - Các HQTCSDL quan hệ ứng với mô hình quan hệ (ví dụ: ORACLE Oraccle, DB2 IBM, Access SQL server Microsoft) - Các HQTCSDL hướng đối tượng ứng với mô hình hướng đối tượng (ví dụ: Jasmine ) 4.1.2 Các bước tiến hành phân tích thiết kế CSDL a Phân tích CSDL Bước phân tích CSDL độc lập với hệ quản trị CSDL, bước thực công việc sau: + Xác định yêu cầu liệu: Phân tích yêu cầu liệu hệ thống để xác định yêu cầu liệu + Mô hình hoá liệu: Xây dựng mô hình thực thể liên kết biểu diễn yêu cầu liệu b Thiết kế CSDL quan hệ Thiết kế CSDL bao gồm: + Thiết kế logic CSDL: độc lập với hệ quản trị CSDL • Xác định quan hệ: Chuyển từ mô hình thực thể liên kết sang mô hình quan hệ • Chuẩn hoá quan hệ: chuẩn hoá quan hệ dạng chẩn chuẩn (3NF) + Thiết kế vật lý CSDL: dựa hệ quản trị CSDL cụ thể • Xây dựng bảng CSDL quan hệ: định cấu trúc thực tế bảng lưu trữ mô hình quan hệ • Hỗ trợ cài đặt vật lý CSDL: cài đặt chi tiết HQTCSDL lựa chọn 4.2 MÔ HÌNH THỰC THỂ LIÊN KẾT 4.2.1 Mục đích việc xây dựng mô hình Xây dựng mô hình thực thể liên kết nhằm mục đích sau; - Mô tả giới thực gần với quan niệm, suy nghĩ ta Đây mô hình tốt với lượng thông tin nhất, mô tả giới liệu đầy đủ - Việc xây dựng mô hình nhằm thành lập biểu đồ cấu trúc liệu bao gồm liệu cần xử lý cấu trúc nội Ví dụ mô hình thực thể liên kết Mô hình liên kết thực thể việc bán hàng 4.2.2 Các thành phần mô hình thực thể liên kết a Thực thể Khái niệm thực thể Thực thể khái niệm để lớp đối tượng có đặc tính chung mà người ta muốn quản lý thông tin Ví du, sinh viên, hàng hóa, vật tư Một đối tượng cụ thể thực thể gọi cá thể (còn gọi thể thực thể) Ví dụ Lê Văn Bình cá thể thực thể Sinh viên, Xi măng cá thể thực thể Hàng hóa Thuộc tính thực thể Để mô tả thông tin thực thể người ta thường dựa vào đặc trưng riêng thực thể Các đặc trưng gọi thuộc tính thực thể Ví dụ thực thể Sinh viên có thuộc tính Mã sinh viên, Họ tên sinh viên, Ngày sinh, Địa chỉ, Trường, Khoa, Khóa sinh viên, Lớp,… Đối với thực thể Hàng hóa giá trị thuộc tính Mã hàng hóa, Tên hàng hóa, Đơn vị tính, Đơn giá,… thông tin mà nhà quản lý cần quan tâm để quản lý hàng hóa Thuộc tính thực thể bao gồm loại sau Thuộc tính định danh (còn gọi định danh thực thể, gọi thuộc tính khoá): Là thuộc tính mà giá trị cho phép phân biệt thực thể khác Một thực thể xác định thuộc tính định danh làm sở để phân biệt thể cụ thể Ví dụ : Số hiệu khách hàng, Mã mặt hàng, Mã sinh viên, Thuộc tính mô tả: Là thuộc tính mà giá trị chúng có tính mô tả cho thực thể hay liên kết mà Hầu hết thuộc tính kiểu thực thể mô tả Có số thuộc tính mô tả đặc biệt sau: ƒ Thuộc tính tên gọi: thuộc tính mô tả để tên đối tượng thuộc thực thể Thuộc tính tên gọi để phân biệt thực thể (tách thực thể) ƒ Thuộc tính kết nối (thuộc tính khoá ngoài): thuộc tính mối quan hệ thực thể có thực thể bảng khác Thuộc tính kết nối giống thuộc tính mô tả thông thường thực thể chứa nó lại thuộc tính khoá thực thể bảng khác Ví dụ: b Liên kết kiểu liên kết Liên kết (còn gọi quan hệ) kết hợp hai hay nhiều thực thể phản ánh ràng buộc quản lý Đặc biệt: Một thực thể liên kết với ta thường gọi tự liên kết Giữa hai thực thể có nhiều liên kết Có ba kiểu liên kết: - một, - nhiều, nhiều - nhiều Liên kết – (1-1): Mỗi thể thực thể A quan hệ với thể thực thể B ngược lại Kí hiệu: Ví dụ: Một sinh viên có luận văn Một luận văn thuộc sinh viên thuộc Liên kết – nhiều (1-N) Mỗi thể thực thể A quan hệ với nhiều thể thực thể B Ngược lại thể thực thể B quan hệ với thể thực thể A Kí hiệu: Ví dụ: Một khoa có nhiều sinh viên Một sinh viên thuộc khoa Liên kết nhiều – nhiều (N-N) Mỗi thể thực thể A quan hệ với nhiều thể thực thể B Ngược lại thể thực thể B quan hệ với nhiều thể thực thể A Kí kiệu Ví dụ: Một giáo viên dạy nhiều sinh viên Một sinh viên dạy nhiều giáo viên Điều kiện để cá thể thực thể tham gia vào liên kết với thực thể khác gọi loại thành viên Nó bắt buộc hay tuỳ chọn quan hệ Các loại thành viên cho biết số thể nhỏ thực thể tham gia vào liên kết với thể thực thể khác Kí hiệu: Ví dụ: Tuỳ chọn (ít 0) – “một giáo viên dạy không, nhiều môn học.” Bắt buộc (ít 1) – “một môn học cần phải nhiều giáo viên dạy.” Chú ý: - Mô hình liệu không công cụ phân tích thiết kế mà phương pháp kiểm tra chặt chẽ yêu cầu nghiệp vụ người sử dụng - Nếu hai thực thể có quan hệ - thường có lý để coi chúng hai bảng tách biệt nên người ta thường gộp hai thực thể làm - Nếu hai thực thể có quan hệ nhiều - nhiều khác biệt chất chiều sử dụng Tóm lại ba kiểu liên kết trên, liên kết nhiều quan trọng mối quan hệ mô hình thực thể liên kết nhiều Bài tập: Xác định liên kết kiểu thực thể hệ thống quản lý bến xe Khách hàng - Vé (1-n); Vé - Phương tiện (n-1); Đơn hàng- Nhà cc(n-1); Đơn hàng-Phương tiện (1-n) 4.2.3 Xây dựng mô hình thực thể liên kết hệ thống a Các bước tiến hành Bước 1: Xác định định danh thực thể Xác định thực thể mục thông tin cần thiết cho hệ thống hệ thống cần lưu giữ Tìm thực thể từ ba nguồn : - Thông tin tài nguyên: người, kho bãi, tài sản (VD: nhà cung cấp, mặt hàng, kho ) - Thông tin giao dịch: luồng thông tin đến từ môi trường kích hoạt chuỗi hoạt động hệ thống (VD: đơn hàng (mua,bán), dự trù, phiếu yêu cầu, ) - Thông tin tổng hợp: thường dạng thống kê liên quan đến kế hoạch kiểm soát (VD: dự toán chi tiêu, tính lương ) Việc xác định định danh thực thể phải thoả mãn: ƒ Tên gọi danh từ ƒ Có nhiều thể ƒ Có định danh ƒ Có thuộc tính mô tả ƒ Có quan hệ với thực thể khác Bước 2: Xác định thuộc tính mô tả cho thực thể Khi xác định thuộc tính mô tả cho thực thể cần ý rằng: - 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 hoá 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 hoá thuộc tính mà mô hình hoá thực thể sau: Như định danh thực thể TRÌNH ĐỘ NN gồm hai thuộc tính mã NV ngoại ngữ Bước 3: Xác định liên kết thực thể Xác định liên kết thực thể theo trình tự sau: - Thiết lập tồn liên kết (Vẽ đường thẳng đặt tên quan hệ hai đầu) - Xác định loại liên kết (1-1, 1-N, N-N) loại thành viên (tuỳ chọn hay bắt buộc) - Tách liên kết N-N thành hai liên kết 1-N với thực thể kết hợp Khi thực thể kết hợp có định danh tạo thành từ hai thuộc tính định danh thực thể ban đầu Ví dụ: Tách liên kết thực thể giáo viên môn học sau: Ví dụ xây dựng mô hình thực thể liên kết: 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 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ả: Tên thực thể Định danh Thuộc tính mô tả HÀNG mã hàng tên hàng, đơn giá, số lượng mã NCC tên NCC, địa chỉ, điện thoại, fax KHO số kho diện tích 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 NHÀ CẤP CUNG 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 - 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: 4.3 MÔ HÌNH QUAN HỆ 4.3.1 Các khái niệm a Khái niệm mô hình 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 Ví dụ: mã SV, số hoá đơn…Thông thường khoá có từ thuộc tính trở lên người ta thường đặt khoá giả làm khoá để tiện lợi việc truy vấn liệu Các ràng buộc mô hình quan hệ là: - Ràng buộc thực thể: ràng buộc khoá Nó yêu cầu khoá phải tối thiểu, xác định không null (Giá trị null tứ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 khoá ngoài): liên quan đến tính toàn vẹn mối quan hệ tức liên quan đến tính toàn vẹn khoá Một ràng buộc tham chiếu yêu cầu giá trị khoá quan hệ cần phải tồn giá trị khoá quan hệ khác giá trị null Ví dụ: quan hệ sau: Tên lớp T4-K7 quan hệ SINH VIÊN 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ế 4.3.2 Các dạng chuẩn a Phụ thuộc hàm Khái niệ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 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ố hoá đơn, Mã hàng}-> Số lượng 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 Theo quan niệm phụ thuộc hàm định nghĩa khoá sau: Trong quan hệ R, tập thuộc tính K khoá quan hệ có K -> Bi với Bi tất thuộc tính 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ể khoá có nhiều giá trị thuộc tính A kết hợp với khoá Ví dụ: Khoá Mã SV Nhóm thuộc tính lặp Môn học Điểm 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 khoá Ví dụ: Cho quan hệ: R (A, B, C, D, E) Khoá 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ó khoá thuộc tính 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 khoá) Ví dụ: Cho quan hệ: R (A, B, D, E) Khoá 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 khoá) 4.4 THIẾT KẾ LOGIC CSDL 4.4.1 Các cách tiếp cận để mô hình hoá liệu: Có hai cách tiếp cận để mô hình hoá liệu sau: a Cách 1: Vẽ mô hình thực thể 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á b Cách 2: 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 hoá để tách quan hệ thành quan hệ có cấu trúc tốt hơn, 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.4.2 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 khoá quan hệ tương ứng Nếu khoá 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 khoá giả làm khoá - Thi hành liên kết thông qua việc đặt khóa vào quan hệ - Với liên kết 1-1: đặt khoá hai quan hệ vào quan hệ làm khoá Ví dụ: Với mô hình thực thể liên kết 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 khoá quan hệ đầu vào quan hệ đầu nhiều làm khoá Ví dụ: Với mô hình thực thể liên kết 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ó khoá ghép thuộc tính khoá quan hệ khoá Ví dụ: Với mô hình thực thể liên kết 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 người quản lý nào) Mỗi nhân viên quản lý 0, hay nhiều 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ệ: 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.4.3 Chuẩn hoá quan hệ a Các bước tiến hành: Bước 1: 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 chuẩn hoá (còn gọi dạng chuẩn 0) - Mỗi tiêu đề biểu mẫu thuộc tính - Bỏ qua phần đầu đề phần (một số ghi chú, chữ ký …) biểu mẫu - Không lấy thuộc tính 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 ‘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 Bước 2: Chuẩn hoá 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 khoá quan hệ - Các thuộc tính nhóm lặp khoá quan hệ (R1) tạo thành quan hệ (R2) Xác định khóa cho quan hệ R2 (khoá R2 khoá ghép khoá R1 thuộc tính khác R2) - Ví dụ: R{A, B, C, D, E} khoá {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} Bước 3: 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ó khoá 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) Khoá quan hệ thuộc tính xác định hàm - Phần lại với khoá quan hệ (R3) quan hệ giữ nguyên khoá 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} Bước 4: Chuẩn hoá dạng chuẩn (3NF): Loại bỏ phụ thuộc hàm thuộc tính không khoá - Tách thuộc tính tham gia vào phụ thuộc hàm thuộc tính không khoá vào quan hệ (R4) Khoá quan hệ thuộc tính xác định hàm - Phần lại khoá quan hệ (R4) quan hệ giữ nguyên khoá 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} 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 - Khoá 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ệ: 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.4.4 Hoàn thiện mô hình CSDL logic a Một số nguyên 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 hoá 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ả) 4.5 THIẾT KẾ VẬT LÝ CSDL Phần thiết kế vật lý CSDL phụ thuộc vào HQTCSDL mà 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ể 4.5.1 Lập bảng - Với bảng cần rõ: + Khoá (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 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 giá trị cách cách hay 4.5.2 Xác định khóa - Khoá khoá + Hầu hết HQTCSDL đại cho phép rõ khoá chính, khoá định nghĩa bảng + Nếu HQTCSDL không cho phép định nghĩa tự động cần phải rõ Khoá cần phải not null Khoá cần phải liên quan tới thể khoá 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 khoá 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á 4.5.3 Thiết lập quan hệ - Các quan hệ + Các quan hệ bảng thiết lập khoá + Cần phải đảm bảo ràng buộc khoá cài đặt 4.6 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 Khi xem xét hiệu suất thực thi CSDL cần phải: - 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 người sử dụng - Chạy trộn lẫn số chức với thời gian quy định 4.7 Điều chỉnh CSDL Sau Xem xét hiệu suất thực thi CSDL ta cần thực tiếp công việc sau : - Tạo thủ tục lưu phục hồi CSDL - Tổ chức bảo trì bảo mật cho CSDL - Thiết lập ràng buộc toàn vẹn cho CSDL - Xác định không gian nhớ cho bảng CSDL số - Thiết lập vùng nhớ đệm cho CSDL - Phân cụm CSDL, tổ chức lưu trữ vật lý tối ưu cho CSDL đĩa - Đảm bảo điều khiển tương tranh CSDL đa người sử dụng - Tạo khung nhìn CSDL cho đối tượng người dùng - Xác định phân tán liệu xử lý máy trạm (client) máy chủ (server) hệ thống phân tán CÂU HỎI ÔN TẬP CHƯƠNG Trình bày bước tiến hành phân tích thiết kế sở liệu Các thành phần mô hình thực thể liên kết cách xây dựng mô hình thực thể liên kết hệ thống Các dạng chuẩn mô hình quan hệ Phương pháp chuẩn hóa quan hệ Thiết lập quan hệ sở liệu

Ngày đăng: 21/11/2016, 02:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan