nhap mon co so du lieu

155 343 0
nhap mon co so du lieu

Đ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

LỜI NĨI ĐẦU Ngày nay, sống làm việc thời đại phát triển cơng nghệ thơng tin Nhu cầu sử dụng thơng tin ngày người quan tâm Thơng tin truy xuất khơng phải xác mà u cầu cần phải tránh thừa liệu dị thường cập nhật liệu Liên quan đến vấn đề này, lý thuyết sở liệu đóng góp vai trò quan trọng Nhập mơn sở liệu giáo trình thiết yếu sinh viên chun ngành Cơng nghệ thơng tin Thơng qua giáo trình này, chúng tơi muốn trình bày số kiến thức tảng mang tính chất giới thiệu lý thuyết sở liệu Nội dung giáo trình chia làm chương Phần tập đính kèm giáo trình nhằm tạo điều kiện cho việc nâng cao hiểu biết sinh viên chủ đề Ngồi tập mức trung bình nhằm giúp sinh viên tự kiểm tra kiến thức, giáo trình nêu số tập khác nhằm tạo điều kiện cho sinh viên bước đầu làm quen với nghiên cứu chun sâu lĩnh vực Trong q trình biên soạn giáo trình này, tác giả nhận nhiều ý kiến đóng góp q báu nội dung chun mơn PGS TS Lê Mạnh Thạnh, TS Nguyễn Mậu Hân, TS Trương Cơng Tuấn nhiều đồng nghiệp khác khoa Cơng nghệ thơng tin - trường Đại học Khoa học Huế Tác giả xin chân thành cảm ơn giúp đỡ q giá Mặc nhiều cố gắng, giáo trình khơng thể tránh khỏi khuyết điểm Tác giả mong muốn nhận ý kiến đóng góp để hy vọng chất lượng giáo trình tốt lần tái sau Huế, ngày 15 tháng 12 năm 2009 Hồng Quang Chương KHÁI QT VỀ SỞ DỮ LIỆU 1.1 Các khái niệm sở liệu (database) Một sở liệu (CSDL) tập hợp liệu liên quan với lưu trữ máy tính theo quy định định nhằm phục vụ cho mục đích quản lý Ví dụ: CSDL phục vụ cho việc quản lý chuyến bay hãng hàng khơng cung cấp thơng tin vế số hiệu chuyến bay, nơi xuất phát, nơi đến, số chỗ ngồi, ngày bay tất chuyến bay năm; CSDL phục vụ cho cơng tác quản lý đào tạo trường chứa liệu phản ánh thơng tin học sinh, giáo viên, mơn học, phòng học, Hệ quản trị sở liệu (Database Management System) Hệ quản trị CSDL (HQTCSDL) phần mềm cho phép người dùng giao tiếp với sở liệu, thơng qua cung cấp mơi trường thuận lợi hiệu để tìm kiếm lưu trữ thơng tin sở liệu Ví dụ: Hệ quản trị sở liệu FOXPRO, hệ quản trị sở liệu SQL SERVER, Việc phân biệt HQTCSDL với phần mềm khác dựa hai đặc trưng sau: - Quản lý liệu bền Đây khả lưu trữ sở liệu phục vụ cho mục tiêu khai thác lâu dài - Truy cập khối lượng lớn liệu cách hiệu HQTCSDL cung cấp thao tác phương pháp tổ chức liệu nhằm giúp cho người sử dụng truy cập vào liệu CSDL cách nhanh chóng thuận lợi Ngồi ra, hệ quản trị sở liệu khả sau: ™ Quản lý sở liệu lâu dài (dữ liệu khơng bị kết thúc) ™ Quản lý số lượng lớn liệu ™ Cho phép truy cập vào khối lượng liệu lớn với u cầu xử lý nhanh ™ Cung cấp mơ hình liệu, qua người dùng quan sát liệu ™ Cung cấp ngơn ngữ bậc cao, qua người dùng định nghĩa liệu xử lý liệu Hệ sở liệu (Database System) Hệ sở liệu hệ thống phần mềm nhằm quản lý sở liệu hệ thống thơng tin cụ thể Như thành phần bên hệ sở liệu gồm có: chương trình, sở liệu, hệ quản trị sở liệu, người sử dụng 1.2 Các mức trừu tượng hóa mơ hình sở liệu Mơ hình liệu hình thức hóa tốn học liệu bao gồm hai phần: - Ký hiệu mơ tả liệu - Tập hợp phép tốn Mỗi mơ hình CSDL ba mức trừu tượng: - Mức vật lý: Mức thấp trừu tượng mơ tả liệu lưu trữ cách thực Tại mức CSDL xem tập tin, tập tin mục cấu trúc lưu trữ khác gọi chung CSDL vật lý CSDL vật lý tồn bền thiết bị lưu trữ phụ nhiều CSDL vật lý quản lý HQTCSDL - Mức khái niệm: Mức cao trừu tượng mơ tả liệu lưu trữ CSDL mối quan hệ tồn liệu CSDL mức khái niệm trừu tượng hóa giới thực gắn liền với người sử dụng CSDL Một HQTCSDL cung cấp ngơn ngữ định nghĩa mức khái niệm (DDL-Data Definition Language) thường gọi mơ hình sở liệu (database model) - Mức khung nhìn (View ): Mức cao trừu tượng mơ tả phần tồn CSDL Mặc dầu sử dụng cấu trúc đơn giản mức logic, số phức tạp tồn kích thước lớn CSDL.Hệ thống cung cấp nhiều khung nhìn CSDL Ta hình dung mức trừu tượng CSDL hình vẽ sau đây: NSD V ie w NSD V ie w NSD n V ie w n C S D L k h ¸ i n iƯ m CSD L v Ë t lý Ví dụ Xét mảng liệu hai chiều n x m phần tử - Tại mức quan niệm ta hình dung mảng bảng n dòng m cột Mảng được mơ tả vài ngơn ngữ lập trình C sau: int A[n][m] ; Ở mức ta khơng biết liệu lưu trữ thiết bị nhớ mà biết phần tử dòng i cột j A[i][j] - Mức vật lý mảng mảng lưu trữ thiết bị nhớ - Mức khung nhìn: Từ mức trừu tượng ta mơ tả khung nhìn mảng Chẳng hạn, cho biết tổng tất giá trị dòng i m f(i) = ∑ A[i][j] j=1 1.3 Lược đồ thể Để xây dựng CSDL phải hoạch định cho liệu CSDL qui cách lưu trữ Qui cách này hình thức hố khung cho liệu CSDL, gọi lược đồ CSDL Ví dụ: Để tổ chức CSDL nhân viên quan tạo trước lược đồ NHANVIEN(HOTEN,NAMSINH ,DIACHI, SODT) để lưu trữ liệu bao gồm: họ tên, năm sinh, địa chỉ, số điện thoại nhân viên Nội dung thời liệu lược đồ gọi thể lược đồ Chẳng hạn, với lược đồ bảng sau thể hiện: Nguyễn Van Anh 1957 Phú vang 3837756 Hồng Thị Lan 1958 14 Lê Lợi, Huế 3825424 Huỳnh Dung 1958 315 Chi Lăng, Huế 3545245 Trần Quang 1956 12 Đống Đa, Huế 3822789 Phan Thanh Bình 1960 32 Chi Lăng, Huế 3345053 Như lược đồ nhiều thể khác 1.4 Các ngơn ngữ CSDL Trong ngơn ngữ chương trình thị mơ tả thị thực hai phận ngơn ngữ Trong HQTCSDL hai chức mơ tả tính tốn nói chung chia thành hai ngơn ngữ khác Các ngơn ngữ định nghĩa liệu (DDL) Ngơn ngữ định nghĩa liệu DDL (Data Definition Language) khơng phải ngơn ngữ thủ tục mà mơ tả loại đối tượng quan hệ đối tượng Chẳng hạn, chuyến bay hãng hàng khơng lưu trữ CSDL định nghĩa sau: CREATE TABLE CHUYEN-BAY (SO:INT, NG: CHAR(6),CH:INT , TU : CHAR (3),DEN : CHAR (3) ); SO số hiệu chuyến bay, mơ tả số ngun; NG ngày tháng thực chuyến bay, mơ tả chuỗi ký tự; CH số chỗ ngồi chưa đặt chuyến bay, mơ tả số ngun; TU, DEN ký hiệu nơi xuất phát nơi đến, địa điểm viết tắt ký tự Các ngơn ngữ xử lý liệu (DML) Các hệ QTCSDL đòi hỏi phải ngơn ngữ để xử lý phép tốn CSDL gọi DML (Data Manipulation Language) ngơn ngữ truy vấn (Query Language) Chẳng hạn, xét u cầu xử lý ngơn ngữ SQL sở liệu CHUYEN-BAY - Giảm chỗ ngồi chuyến bay 123 ngày 31 tháng viết: UPDATE CHUYEN-BAY SET CH = CH - WHERE SO = 123 AND NG = ‘ AUG 31 ‘ ; - Thêm vào chuyến bay 147 72 chỗ ngồi từ Hà nội (HAN) đến Huế (HUI) INSERT INTO CHUYEN-BAY VALUES (147, ‘AUG 21‘ , 72 , ‘HAN‘ , ‘HUI‘ ); - Tìm lại từ CSDL số chỗ ngồi trống chuyến bay 148 ngày 24 tháng SELECT CH FROM CHUYEN-BAY WHERE SO= 148 AND NG = ‘JULY 24‘; - Tìm lại tất chuyến bay từ Hà nội đến Huế ngày 20 tháng SELECT SO FROM CHUYEN-BAY WHERE NG = ‘AUG 20‘ TU = ‘HAN‘ AND DEN = ‘HUI‘; Các ngơn ngữ chủ (Host Language) Ngồi phép xử lý thơng thường sẵn HQTCSDL chương trình ứng dụng cần phải thêm số cơng việc phức tạp Chẳng hạn, chương trình sử dụng hãng hàng khơng để đăng ký chỗ khơng cần truy tìm số chỗ trống từ CSDL mà phải làm cơng việc phức tạp in vé, làm giấy hẹn, đối thoại với người sử dụng, Như vậy, chương trình để xử lý liệu cần viết chung ngơn ngữ chủ - ngơn ngữ thuận tiện cho việc lập trình, chẳng hạn C, C++ Ngơn ngữ chủ sử dụng cho định, hiển thị câu hỏi, đọc câu trả lời, 1.5 Các mơ hình sở liệu Mỗi hệ quản trị sở liệu cung cấp mơ hình cho sở liệu thơng qua mơ hình người dùng thấy chất liệu mối quan hệ liệu loại mơ hình sở liệu sau: ™ ™ ™ ™ ™ Mơ hình E-R (Entity – Relationship) Mơ hình mạng Mơ hình phân cấp Mơ hình quan hệ Mơ hình hướng đối tượng 1.6 Quy trình thiết kế sở liệu Q trình thiết kế sở liệu cho hệ sở liệu thực đồ sau: Thế giới thực Mơ hình mức khái niệm Mơ hình E-R Thiết kế UML Mơ hình mức logic Mơ hình mạng Mơ hình phân cấp Mơ hình quan hệ Mơ hình hướng đối tượng Mơ hình mức vật lý Chọn hệ quản trị CSDL để thực việc thiết kế Chương MƠ HÌNH THỰC THỂ-MỐI QUAN HỆ 2.1 Giới thiệu Mơ hình E-R đề xuất P Chen (1976) Đây mơ hình khái niệm dựa vào việc nhận thức giới thực thơng qua tập đối tượng gọi thực thể mối quan hệ đối tượng Thực thể (entity) vật thể tồn phân biệt với vật thể khác Chẳng hạn, cán giảng dạy trường đại học thực thể, sinh viên thực thể, mơn học thực thể, Một nhóm bao gồm thực thể “tương tự” tạo thành tập thực thể Chẳng hạn, tập hợp sinh viên khoa Cơng nghệ Thơng tin tập thực thể, sinh viên thực thể; tập hợp mơn học cho sinh viên ngành Tin học tập thực thể, mơn học thực thể Để xác định tập thực thể cần phải thiết lập số hữu hạn tính chất đặc trưng tất thực thể tập thực thể đó, gọi thuộc tính Lựa chọn tập thực thể bước quan trọng việc xây dựng đồ mối quan hệ thực thể phản ánh thơng tin quản lý cho giới thực Mơ hình E-R thường biểu diễn dạng đồ (sơ đồ E – R) Trong đó: - Các hình chữ nhật biểu diễn tập thực thể - Hình thoi biểu diễn mối quan hệ, chúng liên kết với tập thực thể cạnh vơ hướng hướng - Hình Oval biểu diễn thuộc tính, chúng liên kết với tập thực thể cạnh vơ hướng Trong thực tế, nhiều hệ thống thơng tin thiết kế xuất phát từ mơ hình E – R Dựa vào mơ hình E-R, mơ hình E-R mở rộng đề xuất nhằm biểu diễn phong phú phức tạp giới thực (thiết kế UML ví dụ) 2.2 Các thành phần 2.2.1 Tập thực thể Mỗi tập thực thể tập tính chất đặc trưng, tính chất đặc trưng đặt tên gọi thuộc tính (attribute) tập thực thể Thơng tin thực thể tập thực thể xác định giá trị thuộc tính Ứng với thuộc tính tập giá trị cho thuộc tính gọi miền Lựa chọn tập thuộc tính cho tập thực thể bước quan trọng thiết kế đồ CSDL quan niệm Một thuộc tính hay tập tối thiểu thuộc tính mà giá trị xác định thực thể tập thực thể gọi khóa (key) cho tập thực thể Trong ví dụ sau ta quy ước khóa tập thực thể thuộc tính thuộc tính gọi thuộc tính khóa Ví dụ: Để quản lý tập sinh viên trường đại học, người ta sử dụng tập thực thể sinh viên bao gồm số thuộc tính sau: MaSV HoTen Sinhvien Lop NgaySinh SoThich Ta thể tập thực thể Sinhvien, chẳng hạn: (K25-15, Lê Văn Nam, Tin_K30B, 15/12/83, {âm nhạc, bóng đá}) Lưu ý việc thiết kế tập thực thể: - Thứ nhất, phát tập thực thể cách phát tập đối tượng mà ta cần quản lý (có phần tử trở lên) Từ xác định thơng tin cần quản lý cho tập thực thể (các thơng tin thuộc tính) - Thứ hai, cần thuộc tính khố cho tập thực thể - Thứ ba, khơng sử dụng thuộc tính mà liệu lấy từ thuộc tính tập thực thể khác, mà thay vào điều mối quan hệ tập thực thể 2.2.2 Mối quan hệ tập thực thể Một mối quan hệ mơ hình E - R biểu thị quan hệ thực thể tập thực thể Mối quan hệ R hai tập thực thể E1 E2 biểu diễn đồ E - R sau: E1 E2 R Ta diễn tả khái niệm mối quan hệ tập thực thể cách hình thức sau: Mối quan hệ R tập thực thể E1, E2, , En tập tích Descartes E1 x E2 x x En Vì vậy, thể R n thành phần (e1, e2, , en), gọi tắt n-bộ, ei ∈Ei (i = n) Nếu n-bộ (e1,e2, ,en) thể R ta nói e1, e2, , en mối quan hệ R với Lưu ý: Một mối quan hệ phải tương ứng với ngữ nghĩa xác định Ví dụ xét hai tập thực thể: Sinhvien (tập thực thể sinh viên) Lớp (tập thực thể lớp học), xét mối quan hệ Hoctai ngữ nghĩa sau: (s, l) ∈ Hoctai (với s ∈ Sinhvien, l ∈ Lớp) ⇔ Sinh viên s học lớp l đồ biểu diễn mối quan hệ E - R Sinhvien (1,1) Hoctai (1,n) Lớp Lưu ý: • Ràng buộc số mối quan hệ: cung nối hình chữ nhật hình thoi phải cặp (min, max) gọi số mối quan hệ Nếu min/max lớn 1, ta viết tắt n Để xác định mối quan hệ thuộc loại (1-1, 1-n, hay n-n), ta cần dựa vào số Cụ thể, cho mối quan hệ R sau: (min2, max2) (min1, max1) E1 R E2 Ràng buộc : o Mỗi phần tử (thực thể) E1 mối quan hệ R với min1 phần tử E2, nhiều max1 phần tử E2 o Tương tự, phần tử E2 mối quan hệ R với min2 phần tử E1, nhiều max2 phần tử E1 Khi đó, mối quan hệ R E1 E2 mối quan hệ: max2 - max1 • Các thuộc tính mối quan hệ: mối quan hệ thuộc tính riêng (đặc biệt mối quan hệ n - n) Các thuộc tính mối quan hệ quy ước thuộc tính đơn trị Trong trường hợp mối quan hệ R thuộc tính, R mối quan hệ 1-1 ta chuyển thuộc tính thành thuộc tính hai tập thực thể tham gia, R mối quan hệ 1-n chuyển thuộc tính thành thuộc tính tập thực thể tương ứng với phía nhiều 2.3 Phân loại mối quan hệ 2.3.1 Mối quan hệ nhị ngun Đây mối quan hệ hai tập thực thể, bao gồm: Quan hệ - một: Mối quan hệ R tập thực thể A tập thực thể B gọi mối quan hệ một-một (hay 1-1) thực thể A quan hệ R với thực thể B ngược lại thực thể B quan hệ R với thực thể A Nếu R mối quan hệ - A B cạnh định hướng từ hình thoi nhãn R đến hình chữ nhật nhãn A B A R B Ví dụ: Giả sử xét hai tập thực thể sau: tập thực thể KHOA, bao gồm tất khoa trường đại học tập thực thể TRUONGKHOA, bao gồm tất trưởng khoa trường Mối quan hệ QUANLY tập thực thể KHOA TRUONGKHOA theo nghĩa trưởng khoa X quan hệ QUANLY với khoa Y X trưởng khoa khoa Y Rõ ràng mối quan hệ một-một, khoa trưởng khoa trưởng khoa quản lý khoa Ta thấy mối quan hệ cách trực quan hình sau: 10 (1) (2) t4[Z] = t1[Z] t4[R-XZ] = t3[R-XZ] ⇒ t3[R-XYZ] = t2[R-XYZ] ⇒ t4[R-XYZ] = t3[R-XYZ] ⇒ t4[R-XYZ] = t2[R-XYZ] (2) (*) Ta có: t4[Y∩(R-XZ)] = t3[Y∩(R-XZ)] (Do Y∩(R-XZ)⊆R-XZ t4[R-XZ]=t3[R-XZ]) t3[Y∩(R-XZ)] = t1[Y∩(R-XZ)] (Do Y∩(R-XY) ⊆ Y t3[Y] = t1[Y]) ⇒ t4[Y∩(R-XZ)] = t1[Y∩(R-XZ)] Vậy: t4[X] = t1[X], t4[Z] = t1[Z] t4[Y∩(R-XZ)] = t1[Y∩(R-XZ)] ⇒ t4[YZ] = t1[XZ] ⇒ ∃t4 ∈ r thoả t4[X] = t1[X], t4[YZ] = t1[YZ] t4[R-XYZ] = t2[R-XYZ] ⇒ r thoả X→→YZ c Sử dụng qui tắc hợp bù để chứng minh d Chứng minh {X→→Y, Y→→Z} |= X→→YZ Xét quan hệ r thoả {X→→Y, Y→→Z} Giả sử ∃t1, t2 ∈ r cho: t1[X] = t2[X] Do r thoả X→→Y nên ∃t3∈r cho: t3[X] = t1[X] t3[Y] = t1[Y] t3[R-XY] = t2[R-XY] Do r thoả Y→→Z nên ∃t4∈r cho: t4[Y] = t1[Y] t4[Z] = t1[Z] t4[R-YZ] = t3[R-YZ] Ta nhận thấy: t4[YZ] = t1[YZ] (1) t4[R-XYZ] = t3[R-XYZ] = t2[R-XYZ] (2) Ta có: t3[X] = t1[X] t4[R-YZ] = t3[R-YZ] ⇒ t4[X∩(R-YZ)] = t1[X∩(R-YZ)] (3) Từ (1) (3), suy ra: t4[(X∩(R-YZ))∪YZ] = t1[(X∩(R-YZ))∪YZ] Do X ⊆ (X∩(R-YZ))∪YZ => t4[X] = t1[X] (4) Từ (4), (1) (2) => X→→YZ Sử dụng kết câu (c) để chứng minh r thoả X→→Z-Y 141 38 Cho quan hệ r lược đồ quan hệ R X, Y, Z, W tập thuộc tính R Chứng minh r thoả X→→Y Z⊆W r thoả XW→→YZ Hướng dẫn Giả sử ∃t1, t2 ∈ r thoả t1[XW] = t2[XW] Chứng minh tồn t∈r thoả: t[XW] = t1 [XW], t[YZ] = t1[YZ] t[R-XYW] = t2[R-XYW] 39 Cho lược đồ quan hệ R(A, B, C, D, E) Chứng minh quan hệ r R thoả tập phụ thuộc đa trị: F = {A→→BC, DE→→C} r thoả A→→BDE, A→→CDE Hướng dẫn Ta có: A→→BC ⇒ A→→DE (tính bù) DE→→C ⇒ A→→C (bắc cầu) ⇒ A→→ B (luật tách) ⇒ A→→BDE A→→CDE (luật hợp) 40 Cho quan hệ r(R) X Y tập thuộc tính R, Z=R-XY Chứng minh phép tách ρ = (XY, XZ) phép tách bảo tồn thơng tin r thoả X→→Y Hướng dẫn (⇒) Giả sử phép tách ρ = (XY, XZ) phép tách bảo tồn thơng tin tức r = πXY(r) ⋈ πXZ(r) Giả sử ∃t1, t2 ∈ r cho t1[X] = t2[X] => ∃t1’ ∈ πXY(r) cho t1’ = t1[XY] ∃t2’ ∈ πXZ(r) cho t2’ = t2[XZ] Do r = πXY(r) ⋈ πXZ(r) nên r phải tồn t3 cho: t3[XY] = t1[XY] t3[XZ] = t2[XZ] Vậy r phải tồn t3 thoả điều kiện t3[X] = t1[X], t3[Y] = t1[Y] t3[R-XY] = t2[R-XY] ⇒ r thoả X→→Y (⇐) Xét quan hệ r thoả phụ thuộc đa trị X→→Y, ta chứng minh r = πXY(r) ⋈ πXZ(r) Hiển nhiên r ⊆ πXY(r) ⋈ πXZ(r) 142 Xét t ∈ πXY(r) ⋈ πXZ(r) => ∃t1 ∈ πXY(r) ∃t2 ∈ πXZ(r) cho: t1[X] = t2[X] = t[X], t1[Y] = t[Y] t2[Z] = t[Z] Ta lại có: ∃t1’ ∈ r cho t1’[XY] = t1 ∃t2’ ∈ r cho t2’[XZ] = t2 Do r thoả X→→Y nên ∃t’ ∈ r cho: t’[X] = t1’[X] = t[X], t’[Y] = t1’[Y] = t[Y] t[Z] = t2’[Z] = t[Z] ⇒ t’ = t ⇒t∈r Vậy r = πXY(r) ⋈ πXZ(r) ⇒ Phép tách ρ phép tách bảo tồn thơng tin 41 Cho lược đồ quan hệ R(A, B, C, D, E, F) tập phụ thuộc đa trị R: F = {A→→BC, AD→→EF} Tinh sở phụ thuộc A, AD 42 Cho quan hệ R(A,B,C,D,E) tập phụ thuộc hàm R: F = {AB→C, C→D, D→AE} a Tìm tất khố R b Phụ thuộc hàm tập phụ thuộc hàm F vi phạm BCNF c Giả sử ta tách R thành hai lược đồ R1(A,D,E) R2(B,C,D) Hãy xác định tập phụ thuộc hàm cực tiểu R1 R2 d Tìm tất khố R1 R2 e Xác định dạng chuẩn R1 R2 R = ABCDE, F = {AB→C, C→D, D→AE} a Tập khố R: {BD, CB, AB} b Phụ thuộc hàm C→D D→AE vi phạm BCNF c πADE(F) = {D→AE} πBCD(F) = {BD→C, C→D} d R1(ADE) dạng chuẩn Boyce-Codd, R2(BCD) dạng chuẩn 43 Cho lược đồ quan hệ R(A,B,C) tập phụ thuộc hàm F = {AB→C, A→B} R Hãy cho ví dụ để chứng tỏ khơng phụ thuộc hàm F suy dẫn logic phụ thuộc hàm lại Z Y 143 144 BÀI TẬP SỞ DỮ LIỆU SQL Để tổ chức quản lý bán hàng cho cửa hàng nhỏ, người ta sử dụng bảng liệu đồ sau đây: MATHANG MAHANG TENHANG LOAIHANG DONVITINH GIANHAP SOLUONG ∞ HOADON CHITIETHD ∞ SOHOADON MAHANG SOLUONG GIABAN SOHOADON NGAYBAN TENKHACH DIACHI NGUOIBAN Sử dụng câu lệnh CREATE TABLE để tạo bảng liệu CREATE TABLE MATHANG ( MAHANG char (10) PRIMARY KEY, TENHANG char (50) , LOAIHANG char (20), DONVITINH char (10), GIANHAP int, SOLUONG int ) CREATE TABLE HOADON ( SOHOADON int PRIMARY KEY, NGAYBAN datetime, TENKHACH char (20) , DIACHI char (50), NGUOIBAN char (20) ) CREATE TABLE CHITIETHOADON ( SOHOADON int NOT NULL , MAHANG char (10) NOT NULL , SOLUONG int NOT NULL , GIABAN int NOT NULL 145 PRIMARY KEY (SOHOADON,MAHANG) ) Sử dụng câu lệnh ALTER TABLE để tạo mối quan hệ hai bảng MATHANG CHITIETHD thơng qua trường MAHANG ALTER TABLE CHITIETHOADON ADD FOREIGN KEY ( SOHOADON ) REFERENCES HOADON ( SOHOADON ) Sử dụng câu lệnh ALTER TABLE để tạo mối quan hệ hai bảng HOADON CHITIETHD thơng qua trường SOHOADON Để quản lý cơng tác đào tạo trường đại học, người ta sử dụng CSDL sau: Sử dụng câu lệnh SELECT để thực u cầu sau đây: Cho biết mã sinh viên, họ tên ngày sinh sinh viên SELECT MASV,HODEM,TEN,NGAYSINH FROM SINHVIEN Cho biết tên lớp năm nhập học lớp chức (hệ đào tạo chức) 146 SELECT TENLOP,NAMNHAPHOC FROM LOP WHERE HEDAOTAO='Tại chức' Cho biết thơng tin giáo viên hệ số lương lớn 2.11 Những mơn học số đơn vị học trình nhỏ 4? Định mức chuẩn giáo viên Lê Văn A bao nhiêu? Điện thoại khoa CNTT gì? 10 Cho biết danh sách giáo viên làm việc khoa CNTT SELECT MAGV,HODEM,TEN FROM GIAOVIEN, KHOA WHERE KHOA.TENKHOA = 'Cong nghe thong tin' AND GIAOVIEN.MAKHOA=KHOA.MAKHOA 11 Cho biết danh sách lớp thuộc khoa CNTT 12 Lớp Tin A học kỳ năm học 2001-2002 học mơn học giáo viên giảng dạy 13 Cho biết họ tên địa liên hệ sinh viên lớp Tin A 14 Giáo viên Nguyễn Văn A năm học 2001-2002 dạy lớp với số tiết 15 Cho biết bảng phân cơng giảng dạy giáo viên thuộc khoa CNTT 16 Cho biết điểm thi mơn học sinh viên Le Van A 17 Cho biết điểm thi mơn sở liệu sinh viên lớp Tin A 18 Định mức chuẩn lớn giáo viên khoa CNTT 147 SELECT MAX(DINHMUCGIOCHUAN) FROM GIAOVIEN,KHOA WHERE KHOA.TENKHOA='Cong nghe thong tin' AND GIAOVIEN.MAKHOA=KHOA.MAKHOA 19 Cho biết sĩ số lớp SELECT LOP.MALOP,TENLOP,COUNT(MASV) FROM LOP,SINHVIEN WHERE LOP.MALOP=SINHVIEN.MALOP GROUP BY LOP.MALOP,TENLOP 20 Những sinh viên lớp Tin A phải thi lại mơn Pascal 21 Cho biết tổng số tiết dạy giáo viên năm học 2001-2002 SELECT GIAOVIEN.MAGV,HODEM,TEN,SUM(SOTIET) FROM GIAOVIEN,GIANGDAY WHERE NAMHOC='2001-2002' AND GIAOVIEN.MAGV=GIANGDAY.MAGV GROUP BY GIAOVIEN.MAGV,HODEM,TEN 22 Cho biết họ tên sinh viên tổng số đơn vị học trình mơn học mà sinh viên phải thi lại 23 Giáo viên Nguyễn Văn B dạy lớp Tin A mơn học nào, vào học kỳ năm học 24 Cho biết điểm trung bình năm học 2001-2002 sinh viên lớp Tin A 25 Những giáo viên khơng thuộc khoa CNTT giảng dạy lớp Tin A 26 Những sinh viên lớp Tin A điểm lần mơn Pascal cao SELECT HODEM,TEN,DIEMLAN1 FROM LOP,SINHVIEN,DIEMTHI,MONHOC WHERE TENLOP='Tin A' AND 148 TENMONHOC='Pascal' AND LOP.MALOP=SINHVIEN.MALOP AND SINHVIEN.MASV=DIEMTHI.MASV AND DIEMTHI.MAMONHOC=MONHOC.MAMONHOC AND DIEMLAN1 = ( SELECT MAX(DIEMLAN1) FROM LOP,SINHVIEN,DIEMTHI,MONHOC WHERE TENLOP='Tin A' AND TENMONHOC='Pascal' AND LOP.MALOP=SINHVIEN.MALOP AND SINHVIEN.MASV=DIEMTHI.MASV AND DIEMTHI.MAMONHOC=MONHOC.MAMONHOC) 37 Giáo viên tổng số tiết dạy nhiều SELECT GIAOVIEN.MAGV,HODEM,TEN,SUM(SOTIET) FROM GIAOVIEN,GIANGDAY WHERE GIAOVIEN.MAGV=GIANGDAY.MAGV GROUP BY GIAOVIEN.MAGV,HODEM,TEN HAVING SUM(SOTIET)=(SELECT TOP SUM(SOTIET) FROM GIANGDAY GROUP BY MAGV ORDER BY DESC) 38 Trong năm học 2001-2002, giáo viên dạy vượt chuẩn (có tổng số dạy lớn số chuẩn) 29 Cho biết danh sách sinh viên lớp sĩ số lớp 30 Cho biết danh sách giáo viên khoa tổng số giáo viên khoa 31 Với giáo viên, cho biết danh sách mơn học phân cơng giảng dạy, số lượng mơn học phân cơng tổng số tiết dạy 149 Cạc bng dỉåïi âáy dỉåüc sỉí dủng âãø täø chỉïc lỉu trỉỵ thäng tin qun l cäng viãûc bạn hng mäüt cỉía hng MATHANG MAHANG TENHANG DONGIA DONVITINH SOLUONG CHITIETHOADON SOHD MAHANG SOLUONG NHANVIEN MANV HOTEN NGAYSINH DIACHI DIENTHOAI HSLUONG HOADON SOHD NGAYLAP MANV TENKHACH DIACHI DIENTHOAI Sỉí dủng cáu lãûnh SELECT, hy thỉûc hiãûn cạc u cáưu sau: 32 Xem thäng tin tỉìng bng liãûu 33 Hiãøn thë thäng tin vãư cạc màût hng hiãûn cọ ca hng v sàõp xãúp kãút qu theo âån vë ca mäùi màût hng 34 Cho biãút thäng tin vãư cạc nhán viãn hiãûn âang lm viãûc ca hng 35 Hy cho biãút nhỉỵng nhán viãn no cọ cng säú âiãûn thoải v âëa chè våïi 36 Cho biãút nhán viãn no â láûp hoạ âån bạn hng cho khạch hng cọ tãn l 'Nguyen Thi C' 37 Nhỉỵng khạch hng no â tỉìng mua Bå ca cỉía hng 38 Cho biãút John Smith â mua nhỉỵng màût hng no v täøng säú tiãưn m äng ta phi tr l bao nhiãu 150 39 Hiãøn thë thäng tin vãư cạc khạch hng â mua hng ca cỉía hng thạng nàm 2001 40 Thäúng kã xem nàm 2000, mäùi màût hng bạn âỉåüc våïi täøng säú lỉåüng bao nhiãu mäùi thạng 41 Cho biãút khạch hng no mua hng nhiãưu nháút v våïi säú lỉåüng l bao nhiãu 42 Màût hng Sỉỵa nàm 2001 âỉåüc khạch hng no mua nhiãưu nháút v våïi säú lỉåüng l bao nhiãu 43 Trong nàm 2000, nhán viãn no â bạn âỉåüc hng nhiãưu nháút 44 Cho biãút mäùi hoạ âån bao gäưm nhỉỵng màût hng no, säú lỉåüng bao nhiãu v täøng säú tiãưn ca mäùi hoạ âån 45 Cho biãút nàm 2000 cạc màût hng â âỉûoc bạn cho nhỉỵng khạch hng no v täøng säú lỉåüng hng â bạn âỉåüc l bao nhiãu 151 TÀI LIỆU THAM KHẢO Ullman, J.D., Ngun lý hệ sở liệu hệ tri thức - tập 1, 2, 3, Trần Đức Quang biên dịch, Nhà xuất Thống kê, 1999 [2] Hồ Thuần, Hồ Cẩm Hà, Các hệ sở liệu – Lí thuyết thực hành - tập 1, 2, NXB Giáo dục, 2004 [3] Nguyễn Kim Anh, Ngun lý hệ sở liệu, NXB Đại học Quốc gia Hà Nội, 2004 [4] Đỗ Trung Tuấn, sở liệu, NXB Giáo dục, 1998 [5] Nguyễn Tuệ, Giáo trình sở liệu, Đại học Quốc gia Hà Nội, 1999 [6] Nguyễn Bá Tường, sở liệu - Lý thuyết thực hành, NXB Khoa học kỹ thuật, 2001 [7] Lê Tiến Vương, Nhập mơn sở liệu quan hệ, NXB Khoa học kỹ thuật, 1996 [8] Anstey, D., E Bertino, E Marcros, Advanced Database Technology and Design, Artech House, 2000 [9] Communication of the ACM, Special Issue on Next-Generation Database Systems, Vol 34, No 10, 1991 [10] Date, C J., An Introduction to Database Systems, Wesley, 1994 [11] Elmasri, R., S B Navathe, Fundamentals of Database Systems, 5th Edition, Addison Wesley, 2006 [1] 152 MỤC LỤC LỜI NĨI ĐẦU CHƯƠNG KHÁI QT VỀ SỞ DỮ LIỆU 1.2 Các mức trừu tượng hóa mơ hình sở liệu 1.3 Lược đồ thể 1.4 Các ngơn ngữ CSDL 1.5 Các mơ hình sở liệu 1.6 Quy trình thiết kế sở liệu CHƯƠNG MƠ HÌNH THỰC THỂ-MỐI QUAN HỆ 2.1 Giới thiệu 2.2 Các thành phần 2.2.1 Tập thực thể 2.2.2 Mối quan hệ tập thực thể 2.3 Phân loại mối quan hệ 10 2.3.1 Mối quan hệ nhị ngun 10 2.3.2 Mối quan hệ Is-a (mối quan hệ kế thừa) 12 2.3.3 Mối quan hệ phản xạ (mối quan hệ đệ quy) 13 2.3.4 Mối quan hệ đa ngun 14 CHƯƠNG MƠ HÌNH QUAN HỆ 16 3.1 Quan hệ - lược đồ quan hệ 16 3.1.1 Quan hệ (Relation) 16 3.1.2 Lược đồ quan hệ (Relational Schema) 16 3.2 Khố quan hệ 17 3.3 Chuyển đổi mơ hình E-R sang mơ hình quan hệ 18 3.4 Đại số quan hệ 25 3.4.1 Phép hợp (Union) 25 3.4.2 Phép giao (Intersection) 25 3.4.3 Phép hiệu (Difference) 26 3.4.4 Tích Descartes (Cartersian Product) 26 3.4.5 Phép chiếu (Projection) 27 3.4.6 Phép chọn (Selection) 27 3.4.7 Phép nối (Join) 27 3.4.8 Phép chia (Division) 28 CHƯƠNG MƠ HÌNH HƯỚNG ĐỐI TƯỢNG 30 4.1 Giới thiệu chung 30 153 4.2 Các thành phần 30 4.2.1 Lớp, đối tượng định danh đối tượng 30 4.2.2 Thuộc tính phương thức 30 4.2.3 Phân cấp lớp kế thừa 32 4.3 Chuyển đổi mơ hình ER sang mơ hình hướng đối tượng 32 CHƯƠNG LÝ THUYẾT THIẾT KẾ SỞ DỮ LIỆU QUAN HỆ 36 5.1 Giới thiệu 36 5.2 sở lý thuyết phụ thuộc hàm 39 5.2.1 Qui ước ký hiệu 39 5.2.2 Phụ thuộc hàm (Functional Dependency) 39 5.2.3 Hệ tiên đề Amstrong 41 5.2.4 Bao đóng tập thuộc tính 42 5.2.5 Thuật tốn tính bao đóng tập thuộc tính 43 5.3 Phủ tối thiểu (phủ cực tiểu) 44 5.4 Các thuật tốn xác định khố lược đồ quan hệ 48 5.4.1 Các thuật tốn xác định khố lược đồ quan hệ 48 5.4.2 Giải thuật xác định tất khố lược đồ quan hệ 51 5.5 Lý thuyết phân tách 53 5.5.1 Phân tách bảo tồn thơng tin 54 5.5.2 Phân tách bảo tồn phụ thuộc hàm 57 5.6 Lý thuyết chuẩn hố 60 5.6.1 Dạng chuẩn (1NF) 61 5.6.2 Dạng chuẩn (2NF) 61 5.6.3 Dạng chuẩn (3NF) 63 5.6.4 Dạng chuẩn BCNF (Boyce - Codd Normal Form) 68 CHƯƠNG GIỚI THIỆU VỀ SQL 75 6.1 Định nghĩa liệu SQL kiểu liệu 75 6.1.2 Lệnh tạo bảng SQL 77 6.1.3 Các kiểu liệu SQL 79 6.2 Chỉ định ràng buộc SQL 80 6.2.1 Ràng buộc vùng giá trị mặc định thuộc tính 80 6.2.2 Khố định ràng buộc tồn vẹn 82 6.2.3 Đặt tên cho ràng buộc 84 6.2.4 Chỉ định ràng buộc sử dụng CHECK 84 6.3 Thay đổi lược đồ báo cáo SQL 84 6.3.1 Lệnh DROP 84 6.3.2 Lệnh ALTER 85 6.4 Truy vấn SQL 87 6.4.1 Cấu trúc truy vấn SELECT-FROM-WHERE 87 6.4.2 Các tên, bí danh biến thuộc tính ảo 90 6.4.3 Khơng sử dụng mệnh đề WHERE cách sử dụng dấu * 92 6.4.4 Các bảng tập hợp SQL 93 6.4.5 Sự thích hợp mẫu chuỗi tốn tử số học 95 6.4.6 Thứ tự kết truy vấn 97 154 6.5 Những truy vấn SQL phức tạp 98 6.5.1 Những so sánh kéo theo NULL logic ba trị 98 6.5.2 Những so sánh truy vấn lồng nhau, nhiều nhiều tập hợp 99 6.5.3 Những truy vấn lồng tương quan 102 6.5.4 Hàm EXISTS UNIQUE SQL 103 6.5.5 Những tập hợp đổi tên thuộc tính SQL 105 6.5.6 Kết nối quan hệ SQL kết nối ngồi 106 6.5.7 Một số hàm gộp SQL 108 6.5.8 Các mệnh đề GROUP BY HAVING 109 6.5.9 Thảo luận kết luận truy vấn SQL 112 6.6 Các lệnh INSERT, DELETE UPDATE 112 6.6.1 Lệnh chèn (INSERT) 112 6.6.2 Lệnh Xóa (DELETE) 114 6.6.3 Lệnh cập nhật (UPDATE) 115 6.7 Chỉ định ràng buộc ASSERTION TRIGGERS 115 6.8 Khung nhìn SQL 117 6.8.1 Khái niệm khung nhìn SQL 117 6.8.2 Tạo View 117 6.8.3 Thực thi cập nhật View 119 6.9 Một số tính khác SQL 120 BÀI TẬP NHẬP MƠN SỞ DỮ LIỆU 121 TÀI LIỆU THAM KHẢO 152 155

Ngày đăng: 22/08/2017, 20:00

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • Chương 1. KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU

    • 1.1. Các khái niệm cơ bản

      • Cơ sở dữ liệu (database)

      • Hệ quản trị cơ sở dữ liệu

      • Hệ cơ sở dữ liệu

      • 1.2. Các mức trừu tượng hóa mô hình cơ sở dữ liệu

      • 1.3. Lược đồ và thể hiện

      • 1.4. Các ngôn ngữ CSDL

      • 1.5. Các mô hình cơ sở dữ liệu

      • 1.6. Quy trình thiết kế cơ sở dữ liệu

      • Chương 2. MÔ HÌNH THỰC THỂ-MỐI QUAN HỆ

        • 2.1. Giới thiệu

        • 2.2. Các thành phần cơ bản

          • 2.2.1. Tập thực thể

          • 2.2.2. Mối quan hệ giữa các tập thực thể

          • 2.3. Phân loại mối quan hệ

            • 2.3.1. Mối quan hệ nhị nguyên

            • 2.3.2. Mối quan hệ Is-a (mối quan hệ kế thừa)

            • 2.3.3. Mối quan hệ phản xạ (mối quan hệ đệ quy)

            • 2.3.4. Mối quan hệ đa nguyê

            • Chương 3. MÔ HÌNH QUAN HỆ

              • 3.1. Quan hệ - lược đồ quan hệ

                • 3.1.1. Quan hệ (Relation)

                • 3.1.2. Lược đồ quan hệ (Relational Schema)

                • 3.2. Khoá của quan hệ

                • 3.3. Chuyển đổi mô hình E-R sang mô hình quan hệ

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

Tài liệu liên quan