Đề cương bài giảng môn Cơ sở dữ liệu

Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ, để có thể thoả mãn yêu cầu khai thác đồng thời của nhiều người sử dụng. CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác.

doc56 trang | Chia sẻ: haohao89 | Lượt xem: 2206 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề cương bài giảng môn Cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
UỶ BAN NHÂN DÂN TỈNH HẢI DƯƠNG TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT HẢI DƯƠNG ------------o0o----------- ĐỀ CƯƠNG BÀI GIẢNG MÔN: CƠ SỞ DỮ LIỆU SỐ ĐVHT:3 (Dùng cho hệ Cao đẳng ngành Tin học) Giảng viên: Vũ Thị Thương Huyền Tổ bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin Hải Dương, tháng 12 năm 2009 MỤC LỤC CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1.1. Cơ sở dữ liệu 1.1.1. Định nghĩa Cơ Sở Dữ Liệu (Data Base) Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết bị như băng từ, đĩa từ,… để có thể thoả mãn yêu cầu khai thác đồng thời của nhiều người sử dụng. CSDL gắn liền với đại số, logic toán và một số lĩnh vực khác. * Ưu điểm của cơ sở dữ liệu - Giảm sự trùng lắp thông tin xuống mức thấp nhất và do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu. - Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau. - Khả năng chia sẻ thông tin cho nhiều người sử dụng. 1.1.2. Các yêu cầu về cơ sở dữ liệu -Tính chủ quyền của dữ liệu Tính chủ quyền của dữ liệu được thể hiện ở phương diện an toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu. Điều này có nghĩa là người khai thác CSDL phải có nhiệm vụ cặp nhật các thông tin mới nhất của CSDL. -Tính bảo mật và quyền khai thác thông tin của người sử dụng Do có nhiều người được phép khai thác dữ liệu một cách đồng thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL. Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ đều có cung cấp cơ chế này. -Tranh chấp dữ liệu Nhiều người được phép truy nhập cùng một lúc vào tài nguyên dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải có một cơ chế ưu tiên khi truy nhập dữ liệu. Cơ chế ưu tiên có thể được thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác. -Đảm bảo an toàn dữ liệu khi có sự cố Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay một phần đĩa lưu trữ CSDL bị hư,… một số hệ điều hành mạng có cung cấp dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố. Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra. 1.1.4.Các đối tượng sử dụng CSDL -Những người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL. -Các chuyên viên CSDL biết khai thác CSDL Những người này có thể xây dựng các ứng dụng khác nhau, phục vụ cho các mục đích khác nhau trên CSDL. -Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các hệ quản trị CSDL và hệ thống máy tính. Họ là người tổ chức CSDL, do đó họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi CSDL khi có sự cố. Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu nếu có. 1.2. Hệ Quản Trị Cơ Sở Dữ Liệu (Data Base Management System) 1.2.1. Khái niệm Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra như đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng. Những phần mềm này được gọi là các hệ quản trị CSDL. Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL. Hiện nay trên thị trường phần mềm đã có những hệ quản trị CSDL hỗ trợ được nhiều tiện ích như: MS Access, Visual Foxpro, SQL, Server Oracle, … 1.2.2. Các chức năng Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cụ thể. Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủ các yếu tố sau: -Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm : Ngôn ngữ mô tả dữ liệu: Để cho phép khai báo cấu trúc của CSDL, khai báo các mối liên hệ của dữ liệu và các quy tắc quản lý áp đặt lên các dữ liệu đó. Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập hật dữ liệu (thêm/sửa/xoá) Ngôn ngữ truy vấn dữ liệu: Cho phép người khai thác sử dụng để truy vấn các thông tin cần thiết trong CSDL Ngôn ngữ quản lý dữ liệu: Cho phép những người quản trị hệ thống thay đổi cấu trúc của các bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác CSDL cho người sử dụng.,… -Từ điển dữ liệu: Dùng để mô tả các ánh xạ liên kết, ghi nhận các thành phần cấu trúc của CSDL, các chương trình ứng dụng, mật mã, quyền hạn sử dụng,… -Cơ chế giải quyết vấn đề tranh chấp dữ liệu: Mỗi hệ quản trị CSDL cũng có thể cài đặt một cơ chế riêng để giải quyết các vấn đề này. Một số biện pháp sau đây thường được sử dụng: thứ nhất: cấp quyền ưu tiên cho từng người sử dụng; thứ hai: Đánh dấu yêu cầu truy xuất dữ liệu, phân chia thời gian, người nào có yêu cầu trước thì có quyền truy xuất dữ liệu trước,… -Hệ quản trị CSDL cũng phải có cơ chế sao lưu (backup) và phục hồi (restore) dữ liệu khi có sự cố xảy ra. Điều này có thể thực hiện sau một thời gian nhất định hệ quản trị CSDL sẽ tự động tạo ra một bản sao CSDL, cách này hơi tốn kém, nhất là đối với CSDL lớn. -Hệ quản trị CSDL phải cung cấp một giao diện thân thiện, dễ sử dụng. 1.2.3. Ưu điểm khi sử dụng HQT CSDL Hiện nay, hầu như CSDL gắn liền với mọi ứng dụng của tin học; chẳng hạn như việc quản lý hệ thống thông tin trong các cơ quan nhà nước, việc lưu trữ và xử lý thông tin trong các doanh nghiệp, trong các lĩnh vực nghiên cứu khoa học, trong công tác giảng dạy, cũng như trong việc tổ chức thông tin đa phương tiện,… 1.3. Hệ cơ sở dữ liệu Hệ cơ sở dữ liệu (hệ CSDL): Người ta thường dùng thuật ngữ hệ cơ sở dữ liệu để chỉ một CSDL và hệ quản trị CSDL để truy cập CSDL đó. Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu (có nghĩa là hệ thống che dấu những chi tiết phức tạp về cách thức thao tác dữ liệu và bảo trì dữ liệu). Các yêu cầu cơ bản của hệ CSDL: Tính cấu trúc: Thông tin trong CSDL được lưu trữ theo cấu trúc xác định. Tính toàn vẹn: Các giá trị dữ liệu được lưu trữ trong CSDL phải thỏa mãn một số ràng buộc, tùy thuộc vào hoạt động tổ chức mà CSDL phản ánh. Ví dụ: Thư viện qui định số sách nhiều nhất mà người đọc được mượn trong một lần. Khi cập nhật số sách mượn của đọc giả phải đảm bảo nhỏ hơn hoặc bằng số sách được mượn theo qui định. Tính nhất quán: Sau những thao tác cập nhật dữ liệu và ngay cả khi có sự cố (phần cứng hay phần mềm) xảy ra trong quá trình cập nhật, dữ liệu trong CSDL phải được bảo đảm đúng đắn. Ví dụ 1: Thực hiện chuyển 100 triệu đồng từ tài khoản A sang tài khoản B. Giả sử trong khi thực hiện chương trình đó, có một sự cố xảy ra (hỏng phần cứng, hỏng phần mềm hay mất điện), rất có thể số dư tài khoản A đã bị trừ đi 100 triệu đồng nhưng số dư bên tài khoản B chưa được cộng thêm, dẫn đến tình trạng không nhất quán của CSDL. Để tránh sự không nhất quán như vậy thì hoặc cả hai hành động rút tiền khỏi A và nhập tiền vào B đều xảy ra, hoặc không có hành động nào xảy ra. Ví dụ 2: Tại cùng một thời điểm có hai khách hàng muốn đặt mua một vé X của chuyến bay Y, ở hai đại lí bán vé máy bay. Khi truy cập vào CSDL về chuyến bay Y đó, rất có thể hai đại lí đều tìm thấy chiếc vé X còn trống và đồng ý bán chiếc vé X cho khách hàng của mình. Điều này dẫn đến kết quả một chổ ngồi trên chuyến bay Y được bán cho hai khách hàng khác nhau. Đây là tình trạng không nhất quán của dữ liệu do tương tác giữa các cập nhật đồng thời. Hệ CSDL phải có cơ chế đảm bảo để không xảy ra tình huống như vậy. Tính an toàn và bảo mật thông tin: CSDL cần được bảo vệ an toàn , phải ngăn chặn được những truy xuất không được phép và phải khôi phục được CSDL khi có sự cố phần cứng hay phần mềm. Mỗi nhóm người dùng CSDL có quyền hạn và mục đích sử dụng khác nhau. Ví dụ: Phần mềm quản lí điểm sinh viên, không thể cho phép bất cứ ai cũng được truy cập và sửa điểm của sinh viên. Cần phải có những nguyên tắc và cơ chế bảo mật khi trao quyền truy xuất dữ liệu cho người dùng. Tính không dư thừa: CSDL thường không lưu trữ những dữ liệu trùng lặp hoặc những thông tin có thể dễ dàng suy diễn hay tính toán được. 1.4. Mô hình cơ sở dữ liệu Từ bài toán thực tế để xây dựng thành một hệ thống thông tin xử lý tự động hóa cần phải tiến hành phân tích và thiết kế dữ liệu, vì vậy cần khái quát thông tin, dẫn đến sự cần thiết của khái niệm mô hình CSDL.Các loại mô hình dữ liệu cơ bản đang được sử dụng là: 1.4.1. Mô hình mạng Mô hình mạng: Dữ liệu được biểu diễn bởi một tập các bản ghi, các mối quan hệ được biểu diễn bởi các mối nối (links) có thể được xem như những con trỏ. Xuất phát từ một đối tượng (biểu diễn bằng một bản ghi) có thể có nhiều mối quan hệ đến những đối tượng khác 1.4.2. Mô hình phân cấp: Mô hình phân cấp: Là trường hợp đặc biệt của mô hình mạng. Tồn tại một quan hệ giữa hai tập dữ liệu bất kỳ. Mối quan hệ giữa các tập có tính phân cấp. Ví dụ: cây thư mục trong máy tính là mô hình phân cấp.                                 1.4.3. Mô hình quan hệCSDL Dữ liệu được thể hiện trong các bảng. Mỗi bảng gồm các dòng và các cột, mỗi cột có một tên duy nhất. Mỗi dòng cho thông tin về một đối tượng cụ thể (mỗi dòng được gọi là một bản ghi hay một bộ. Mỗi dòng gồm một bộ các giá trị tương ứng với các cột, mỗi giá trị thể hiện thông tin về một thuộc tính của đối tượng đó, tên thuộc tính này chính là tên cột mà giá trị đó được hiển thị . Mối liên kết giữa các đối tượng được thể hiện bằng mối liên kết giữa các bảng nhờ vào sự xuất hiện trùng lặp của một số thuộc tính ở hơn một bảng. 1.4.4. Mô hình thực thể liên kết - Mô hình thực thể kết hợp (Entity - RelationShip Model) do P.P.Chen đề xuất vào năm 1976. Đây là mô hình dữ liệu mức quan niệm, tập trung vào cấu trúc dữ liệu và các ràng buộc. Các khái niệm chủ yếu sử dụng trong lý thuyết của mô hình này là: Loại thực thể (Entity Type), thực thể (Entity), thuộc tính (Entity Attribute), thuộc tính nhận diện (Attribute). - Mô hình cơ sở dữ liệu quan hệ cùng với mô hình dữ liệu thực thể liên kết đang được sử dụng rộng rãi trong việc phân tích và thiết kế CSDL hiện nay. 1.4.5. Mô hình hướng đối tượng Mô hình hướng đối tượng ra đời cuối những năm 80 và đầu những năm 90. Đây là loại mô hình tiên tiến nhất hiện nay dựa trên cách tiếp cận hướng đối tượng trong các phương pháp lập trình hướng đối tượng, nó sử dụng khái niệm lớp, sự kế thừa, kế thừa bội (kế thừa từ nhiều lớp cơ sở). Đặc trưng của cách tiếp cận này là tính đóng gói, tính đa hình và tính tái sử dụng. - Lớp là một kiểu dữ liệu có cấu trúc bao gồm các thành phần dữ liệu và các phương thức xử lý thao tác trên cấu trúc dữ liệu đó. Nó là một kiểu dữ liệu được trìu tượng hoá, bởi vì các tác động (phương thức – Method) là để phục vụ hoặc thao tác trên kiểu dữ liệu này. Dữ liệu và phương thức hoà vào nhau thành một thể thống nhất: dữ liệu cần có những cách thức xử lý thoả đáng và các phương thức được đưa vào trong dữ liệu đó là để phục vụ cho các đối tượng có cấu trúc như thế. Người ta gọi sự thống nhất đó là sự đóng gói. CHƯƠNG 2: CƠ SỞ DỮ LIỆU THEO MÔ HÌNH QUAN HỆ 2.1. Các khái niệm Mô hình dữ liệu là sự trừu tượng hoá môi trường thực. Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích thiết kế CSDL. Mỗi loại mô hình dữ liệu đều có những ưu điểm và những mặt hạn chế của nó, nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan tâm nghiên cứu. Sau đây chúng ta sẽ điểm qua lịch sử phát triển của các mô hình dữ liệu. Vào những năm sáu mươi, thế hệ đầu tiên của CSDL ra đời dưới dạng mô hình thực thể kết hợp, mô hình mạng và mô hình phân cấp. Vào những năm bảy mươi, thế hệ thứ hai của CSDL ra đời. Đó là mô hình dữ liệu quan hệ do EF. Codd phát minh. Mô hình này có cấu trúc logic chặt chẽ. Đây là mô hình đã và đang được sử dụng rộng khắp trong công tác quản lý trên phạm vi toàn cầu. Việc nghiên cứu mô hình dữ liệu quan hệ nhằm vào lý thuyết chuẩn hoá các quan hệ và là một công cụ quan trọng trong việc phân tích thiết kế các hệ CSDL hiện nay. Mục đích của nghiên cứu này nhằm bỏ đi các phần tử không bình thường của quan hệ khi thực hiện các phép cập nhật, loại bỏ các phần tử dư thừa. Sang thập kỷ tám mươi, mô hình CSDL thứ ba ra đời, đó là mô hình cơ sở dữ liệu hướng đối tượng, mô hình cơ sở dữ liệu phân tán, mô hình cơ sở dữ liệu suy diễn,… Trong phần tiếp theo sau đây, chúng tôi sẽ trình bày về mô hình dữ liệu tiêu biểu nhất để thiết kế (bước đầu) một ứng dụng tin học đó là mô hình thực thể kết hợp. Trong các chương còn lại của giáo trình này chúng tôi sẽ trình bày về mô hình dữ liệu quan hệ. 2.1.1. Miền thuộc tính và quan hệ * Thuộc Tính (Attribute) - Thuộc tính là các đặc trưng riêng biệt của đối tượng. - Một thuộc tính cần có: kiểu dữ liệu của thuộc tính và miền giá trị của thuộc tính. - Kiểu dữ liệu của thuộc tính - Các thuộc tính được phân biệt qua tên gọi và phải thuộc một kiểu dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh,…). - Kiểu dữ liệu ở đây có thể là kiểu vô hướng hoặc là kiểu có cấu trúc. Một đối tượng không được có hai thuộc tính cùng tên. * Miền giá trị của thuộc tính - Thông thường mỗi thuộc tính chỉ chọn lấy giá trị trong một tập con của kiểu dữ liệu và tập hợp con đó gọi là miền giá trị của thuộc tính đó. - Thường dùng các chữ cái in hoa A,B,C,… để biểu diễn các thuộc tính, hoặc A1,A2,…., An để biểu diễn một số lượng lớn các thuộc tính. * Lược Đồ Quan Hệ (Relation schema) - Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với các mối liên hệ giữa chúng được gọi là lược đồ quan hệ. - Lược đồ quan hệ Q với tập thuộc tính {A1,A2,...,An} được viết là Q(A1,A2,...,An). Tập các thuộc tính của Q được ký hiệu là Q+. - Thường khi thành lập một lược đồ, người thiết kế luôn gắn cho nó một ý nghĩa nhất định, ý nghĩa đó gọi là tân từ của lược đồ quan hệ đó. Khi phát biểu tân từ cho một lược đồ quan hệ, người thiết kế cần phải mô tả đầy đủ ý nghĩa để người khác tránh hiểu nhầm. VD: Tân từ của lược đồ quan hệ Sinh viên ở trên là: "mỗi sinh viên có một mã sinh viên (MASV) duy nhất, mỗi mã sinh viên xác định tất cả các thuộc tính của sinh viên đó như họ tên (HOTEN), nữ (NU) ,ngày sinh (NGAYSINH), lớp theo học (MALOP), học bổng (HOCBONG), tỉnh (TINH)". - Nhiều lược đồ quan hệ cùng nằm trong một hệ thống quản lý được gọi là một lược đồ cơ sở dữ liệu. * Ví dụ Lược Đồ Quan Hệ: Lược đồ CSDL dùng để quản lý điểm của các sinh viên có thể bao gồm các quan hệ Sv, Lop, Kh, Mh, Kq: - Sv(MASV, HOTEN,NU, NGAYSINH, MALOP, HOCBONG, TINH); Tân từ: Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV xác định tất cả các thuộc tính còn lại của sinh viên đó. - Lop(MALOP, TENLOP,MAKHOA); Tân từ: Mỗi lớp có một ma lớp duy nhất, một mã lớp xác định tên lớp, một khoa mà sinh viên đang theo học. - Kh(MAKHOA,TENKHOA, SOCBGD); Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi MAKHOA xác định tất cả các thuộc tính còn lại của khoa đó. - Mh(MAMH, TENMH, SOTIET); Tân từ: Môi Môn học có một MAMH duy nhất. Mỗi MAMH xác định tất cả các thuộc tính còn lại của môn học đó. - Kq(MASV, MAMH, DIEMTHI); Tân từ: Mỗi sinh viên cùng với một môn học xác định duy nhất một điểm thi * Quan Hệ (Relation) - Sự thể hiện của lược đồ quan hệ Q ở một thời điểm nào đó được gọi là quan hệ, rõ ràng là trên một lược đồ quan hệ có thể định nghĩa rất nhiều quan hệ. - Thường ta dùng các ký hiệu như Q,R,S để chỉ các lược đồ quan hệ, còn quan hệ thường được dùng bởi các ký hiệu là q, r, s. - Về trực quan thì quan hệ là như một bảng hai chiều. * Bộ (Tuple) - Mỗi bộ là những thông tin về một đối tượng thuộc một quan hệ, (được định nghĩa dưới dây) bộ cũng còn được gọi là mẫu tin. - Thường người ta dùng các chữ cái thường (như t, p, q,…) để biểu diễn bộ trong một quan hệ, chẳng hạn để nói bộ t là một bộ của quan hệ r được định nghĩa trên lược đồ quan hệ Q, ta viết như sau: - Gọi r là một quan hệ định nghĩa trên lược đồ quan hệ Q; t Î r * Siêu Khóa - Khóa: Dựa vào tân từ người ta xác định được tập thuộc tính khóa của lược đồ quan hệ sau đây: - S được gọi là một siêu khóa của lược đồ quan hệ R nếu với hai bộ tùy ý trong quan hệ R thì giá trị của các thuộc tính trong S là khác nhau. Nói cách khác, S là siêu khóa của Q nếu với r là quan hệ bất kỳ trên Q, t1,t2 là hai bộ bất kỳ thuộc r thì t1.r ≠ t2.r - Một lược đồ quan hệ có thể có một hoặc nhiều siêu khóa. - Siêu khóa không chứa một siêu khóa nào khác được gọi là khóa chỉ định, trong trường hợp lược đồ quan hệ có nhiều khóa chỉ định (hay khóa nội), thì khóa được chọn để cài đặt gọi là khóa chính - Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khóa, các thuộc tính không tham gia vào bất kỳ một khóa nào được gọi là thuộc tính không khóa. - Một thuộc tính được gọi là thuộc tính khóa ngoại nếu nó là thuộc tính không khóa của một lược đồ quan hệ này nhưng lại là thuộc tính khóa của một lược đồ quan hệ khác. Một số quy tắc cơ bản được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ: - Quy tắc 1: Chuyển đổi mỗi thực thể thành một lược đồ quan hệ và chuyển đổi các thuộc tính của thực thể thành các thuộc tính của lược đồ quan hệ tương ứng. Khóa của mỗi lược đồ quan hệ là khóa của thực thể tương ứng. - Quy tắc 2: Nếu mỗi kết hợp mà cả hai nhánh của nó đều có bản số max là n thì mối kết hợp này sẽ được chuyển thành một lược đồ quan hệ K' gồm các thuộc tính của mối kết hợp k, công thêm các thuộc tính khóa của hai lược đồ quan hệ A, B tương ứng với hai thực thể tham gia vào mỗi kết hợp. Khóa của lược đồ quan hệ K' gồm cả hai khóa của hai lược đồ quan hệ A và B. Một số quy tắc cơ bản được sử dụng trong việc chuyển đổi mô hình thực thể kết hợp thành mô hình dữ liệu quan hệ: (tt) - Quy tắc 3: Mối kết hợp mà một nhánh có bản số là n (Nhánh B) và nhánh còn lại có bản số max là ( nhánh A) thì loại bỏ mối kết hợp này khỏi mô hình thực thể kết hợp và thêm các thuộc tính khóa của lược đồ tương ứng với thực thể ở nhánh B vào lược đồ tương ứng với thực thể ở nhánh A(khóa của B sẽ thành khóa ngoại của A). Nếu mối kết hợp có các thuộc tính thì những thuộc tính này cũng được thêm vào lược đồ quan hệ tương ứng với thực thể ở nhánh A. - Quy tắc 4: Nếu mối kết hợp mà cả hai nhánh đều có bản số max là 1 thì áp dụng quy tắc 3 cho một trong hai nhánh tùy chọn. 2.1.2. Các đặc trưng của quan hệ - Thứ tự của các bộ trong quan hệ: theo định nghĩa thì các bộ không có thứ tự cụ thể nhưng khi cài đặt trong máy thì các bản ghi được lưu trữ vật lý trên đĩa từ vì vậy luôn có thứ tự giữa các bản ghi. - Thứ tự các giá trị bên trong một bộ: nếu không xác định rõ tên thuộc tính và giá trị thì ta hiểu thứ tự các giá trị bên trong bộ đó sẽ tương ứng với thứ tự các thuộc tính đã định nghĩa trong quan hệ (thứ tự quan trọng) - Các giá trị trong một bộ: mỗi giá trị bên trong một bộ là một giá trị nguyên tố. Trường hợp giá trị không xác định được thì người ta gán một giá trị đặc biệt gọi là giá trị null. - Thể hiện của một quan hệ: là các thể hiện cụ thể của các bộ trong quan hệ Ví dụ: Quan hệ sinhvien: hoten ngaysinh gioitinh diachi Lê An 010/1/87 Nữ Hải Dương Trần Bình 12/10/86 Nam Hà Nội Phạm Cúc 7/12/87 Nữ Hải Dương 2.2. Các ràng buộc quan hệ, lược đồ CSDL quan hệ 2.2.1. Các ràng buộc miền - Mỗi giá trị của thuộc tính A phải là một giá trị nguyên tử thuộc miền giá trị Dom(A) Ví dụ: Thuộc tính Tuổi thuộc miền giá trị là các số nguyên từ 1 đến 150 (kiểu dữ liệu Byte), thì giá không thể nhập giá trị là một chuỗi “Hai mươi tuổi”,... 2.2.2. Ràng buộc khoá và ràng buộc trên các giá trị rỗng (null) - Thuộc tính khoá không thể chứa giá trị rỗng, không tồn tại hai bộ có giá trị khoá bằng nhau. - Một số thuộc tính không khoá có thể chứa giá trị rỗng Ví dụ: Thuộc tình Sodienthoai có thể chứa giá trị rỗng. 2.2.3. Lược đồ cơ sở dữ liệu quan hệ * Lược đồ quan hệ Tên của quan hệ Tên của tập thuộc tính Ví dụ Lýợc đồ quan hệ NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG) 2.3. Các phép toán quan hệ 2.3.1. Các phép toán cập nhật - Insert: Thêm một bộ vào quan hệ. - Delete: Xoá một bộ khỏi quan hệ - Update: Sửa dữ liệu trong quan hệ 2.3.2. Các phép toán quan hệ * Phép Hợp (Union) - Ta nói hai quan hệ r1 và
Tài liệu liên quan