Giáo trình Cơ sở dữ liệu (Nghề Lập trình máy tính) - Tổng cục dạy nghề
lượt xem 7
download
Sau khi học xong giáo trình này bạn sẽ nắm được các đặc trưng, các thành phần cơ bản của một CSDL, biết tạo quan hệ giữa các bảng dựa vào trường liên kết và biết cách sử dụng các câu lệnh SQL để truy vấn từ một CSDL. Nắm các vấn đề cơ bản về kiến trúc CSDL ở mức vật lý, mức khái niệm và khung nhìn đối với người khai thác sử dụng CSDL. Biết vấn đề độc lập dữ liệu, đọc được các tài liệu thiết kế cơ sở dữ liệu và cơ bản biết phân tích, thiết kế một CSDL.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình Cơ sở dữ liệu (Nghề Lập trình máy tính) - Tổng cục dạy nghề
- BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ Dự án giáo dục kỹ thuật và dạy nghề (VTEP) GIÁO TRÌNH Môn học: CƠ SỞ DỮ LIỆU Mã số: ITPGR14 NGHỀ: LẬP TRÌNH MÁY TÍNH Trình độ :Lành nghề Đà Lạt - 2007
- Tuyên bố bản quyền : Tài liệu này thuộc loại sách giáo trình Cho nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo . Mọi mục đích khác có ý đồ lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. Tổng Cục Dạy nghề sẽ làm mọi cách để bảo vệ bản quyền của mình. Tổng Cục Dạy Nghề cám ơn và hoan nghênh các thông tin giúp cho việc tu sửa và hoàn thiện tốt hơn tàI liệu này. Địa chỉ liên hệ: Dự án giáo dục kỹ thuật và nghề nghiệp Tiểu Ban Phát triển Chương trình Học liệu ……………………………………………… ................................................................ 2
- LỜI TỰA Đây là tài liệu được xây dựng theo chương trình của dự án giáo dục kỹ thuật và dạy nghề, để có đươc giáo trình này dự án đã tiến hành theo hai giai đoạn. Giai đoạn 1 : Xây dựng chương trình theo phương pháp DACUM, kết quả của gian đoạn này là bộ khung chương trình gồm 230 trang cấp độ 2 và 170 trang cấp độ 3. Giai đoạn 2 : 29 giáo trình và 29 tài liệu hướng dẫn giáo viên cho nghề lập trình máy tính 2 cấp độ. Để có được khung chương trình chúng tôi đã mời các giáo viên, các chuyên gia đang làm việc trong lĩnh vực công nghệ thông tin cùng xây dựng chương trình. Trong giai đoạn viết giáo trình chúng tôi cũng đã có những sự điều chỉnh để giáo trình có tính thiết thực và phù hợp hơn với sự phát triển của lĩnh vực công nghệ thông tin. Trong quá trình biên soạn, mặc dù đã cố gắng tham khảo nhiều tài liệu và giáo trình khác nhưng tác giả không khỏi tránh được những thiếu sót và hạn chế. Tác giả chân thành mong đợi những nhận xét, đánh giá và góp ý để cuốn giáo trình ngày một hoàn thiện hơn. Tài liệu này được thiết kế theo từng mô đun/ môn học thuộc hệ thống mô đun/môn học của một chương trình, để đào tạo hoàn chỉnh nghề Lập trình máy tính ở cấp trình độ bậc cao và được dùng làm Giáo trình cho học viên trong các khoá đào tạo, cũng có thể được sử dụng cho đào tạo ngắn hạn hoặc cho các công nhân kỹ thuật, các nhà quản lý và người sử dụng nhân lực tham khảo. Đây là tài liệu thử nghiệm sẽ được hoàn chỉnh để trở thành giáo trình chính thức trong hệ thống dạy nghề. Đà lạt ,tháng 10 năm 2007 3
- MỤC LỤC ĐỀ MỤC TRANG 1. LỜI TỰA ........................................................................................................... 3 2. MỤC LỤC.......................................................................................................... 4 3. GIỚI THIỆU VỀ MÔN HỌC ............................................................................... 5 4. SƠ ĐỒ QUAN HỆ THEO TRÌNH TỰ HỌC NGHỀ ............................................ 6 5. CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN/MÔN HỌC.................. 8 6. YÊU CẦU VỀ ĐÁNH GIÀ HOÀN THÀNH MÔN HỌC ........................................ 9 7. Bài 1:KHÁI NIỆM VỀ CSDL,CÁC MÔ HÌNH CSDL ........................................... 10 8. Bài 2:BIỂU DIỄN CSDL MỨC VẬT LÝ .............................................................. 26 9. Bài 3:KHẢO SÁT BÀI TOÁN THỰC TẾ XÂY DỰNG THÀNH MỘT CSDL ........ 36 10. Bài 4:NGÔN NGỮ SQL ..................................................................................... 51 11. Bài 5:QUẢN TRỊ CSDL THEO MÔ HÌNH CLIENT/SERVER ............................. 67 12. Bài 6:QUẢN TRỊ CSDL THEO MÔ HÌNH PHÂN TÁN........................................ 73 13. THUẬT NGỮ CHUYÊN MÔN............................................................................ 75 14. TÀI LIỆU THAM KHẢO ..................................................................................... 76 4
- GIỚI THIỆU VỀ MÔN HỌC Vị trí, ý nghĩa, vai trò môn học : Cơ sở dữ liệu là một khái niệm quan trọng trong công nghệ thông tin, hiện nay các bài toán quản lý dữ liệu điều thiết kế dụa trên một cơ sở dử liệu nào đó. Muốn lập trình quán lý học sinh bắ buộc phải nắm được các kiến thức cơ bản vè cơ sở dữ liệu ... Mục tiêu của môn học: Nắm được các đặc trưng, các thành phần cơ bản của một CSDL, biết tạo quan hệ giữa các bảng dựa vào trường liên kết và biết cách sử dụng các câu lệnh SQL để truy vấn từ một CSDL. Nắm các vấn đề cơ bản về kiến trúc CSDL ở mức vật lý, mức khái niệm và khung nhìn đối với người khai thác sử dụng CSDL. Biết vấn đề độc lập dữ liệu, đọc được các tài liệu thiết kế cơ sở dữ liệu và cơ bản biết phân tích, thiết kế một CSDL. Mục tiêu thực hiện của mô đun/môn học: - Định nghĩa được cơ sở dữ liệu và phân biệt được cơ sở dữ liệu logic và cơ sở dữ liệu vật lý. - Phân biệt được các mô hình cơ sở dữ liệu khác nhau, biết được rõ ưu điểm và nhược điểm của từng mô hình cơ sở dữ liệu. - Biết được các thành phần cơ bản của các mô hình quan hệ nói chung và mô hình quan hệ cơ sở dữ liệu nói riêng. - Phân biệt và sử dụng được các kiểu dữ liệu, thực hiện được các phép toán trên các kiểu dữ liệu. Có thể phân tích, thiết kế 1 cơ sở dữ liệu đáp ứng được yêu cầu của bài toán thực tế. Nội dung chính của môn học : 1. Khái niệm và các mô hình cơ sở dữ liệu 2. Biểu diễn CSDL mức vật lý 3. Khảo sát bài toán thực tế và xây dựng thành một cơ sở dữ liệu. 4. Ngôn ngữ SQL 5. Quản trị cơ sở dữ liệu trên mô hình Client/Server 6. Mô hình cơ sở dữ liệu phân tán 5
- Sơ đồ quan hệ theo trình tự học nghề Học kỳ I Học kỳ II Học kỳ III Học kỳ IV Giao diện Lập trình Lập trình Hệ thống người máy Web nâng cao máy tính Lập trình Phân tích thiết Lập trình hướng kế hệ thống căn bản đối tượng Mạng căn bản Thiết kế hướng đối tượng Kỹ năng tin học Cấu trúc dữ liệu và thuật giải văn phòng Kỹ năng Ứng dụng CNTT trong doanh nghiệp Giao tiếp Cơ sở dữ liệu Kỹ năng Công nghệ Internet & WWW phần mềm Cơ sở toán học Thiết kế Web Công nghệ Đa Quản lý dự án phương tiện phần mềm Lập trình Visual Basic Hệ cơ sở dữ Hướng dẫn đồ liệu án tốt nghiệp Môi trường PT Phần mềm 7Trang 6 Anh văn Phần cứng An toàn Thi cho tin học máy tính lao động tốt nghiệp
- Cơ sở dữ liệu là một trong những Modun bắc buộc với các học sinh học ngành công nghệ thông tin, có thể nói hầu hết các ứng dụng hiện nay điều viết trên một hệ quản trị cơ sở dữ liệu nào đó. Ngoài ra hệ quả trị cơ sở dữ liệu cũng là nơi cũng cấp các dữ liệu cho các ứng dụng khác. Cho dù công nghệ có thể thay đổi theo thời gian nhưng có thể nói rằng những khái niểm về cơ sở dữ liệu, những thao tác trên đó sẽ không có sự thay đổi đáng kể. 76 7
- CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN/MÔN HỌC Học trên lớp về lý thuyết của các thành phần của môi trường lập trình, giáo viên hướng dẫn học sinh ghi chép và tiếp thu bài. Giáo viên đưa ra các bào tập lớn, học sinh làm bài tập theo nhóm và bảo vệ kết quả trên lớp, giáo viên đặt những câu hỏi với học sinh để xác nhận tính trung thực của học sinh trong quá trình thực hiện bài tập lớn. 1 : Học lý thuyết trên lớp. Giáo viên giảng dạy tại phòng lý thuyết có sự hỗ trợ của các thiết bị đa phương tiện để giới thiệu mẫu cho học sinh 2. Làm bài tập lớn Kết thúc môn học, giáo viên đưa ra các bài tập lớn cho học sinh ( dạng đề tài thực tập) học sinh thực hiện thành từng nhóm, sau khi hoàn thành, học sinh sẽ bào vệ cho các sản phẩm của mình. Trong quá trình học sinh bảo vệ, giáo viên phải có những cân hỏi để xác định tình trung thực của đề tài như: đề tài này học sinh có tự làm hay nhờ người khác, các thành viên trong nhóm phân công làm việc như thế nào. 76 8
- YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN/MÔN HỌC Lý thuyết: Đánh giá thông qua kiểm tra trắc nghiệm : - Dùng phần mềm thi trắc nghiệm. - Kiểm tra trắc nghiệm có thể trên giấy hoặc trên máy tính. - Xây dựng ngân hàng câu hỏi, học viên sẽ nhận được một bộ để phát sinh ngâu nhiên và chất lượng các đề như nhau (trung bình, khá, giỏi, xuất sắc). - Thời gian làm bài tuỳ theo số lượng các câu trong đề. - Thang điểm 10 chia đều cho các câu. - Kết quả đánh giá dựa vào bài làm theo điểm đạt được. Thực hành: Đánh giá thông qua khả năng giải hoàn thành chương trình (đề kiểm tra) đề ra, khả năng giải quyết các bài toán đã đưa ra trong quá trình làm bài tập lớn thang điểm đánh giá 100. Thang điểm: (đánh giá câu hỏi trắc nghiệm) 0-49 : Không đạt 50-69 : Đạt trung bình 70-85 : Đạt khá 86-100 : Đạt Giỏi Thang điểm tổng hợp là thang điểm 100, tùy theo qui chế cụ thể sẽ có cách tính theo tỷ lệ thích hợp. 76 9
- BÀI 1 TÊN BÀI: KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU, CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU MÃ BÀI: ITPRG 07.1 Giới thiệu: Máy tính đã trở nên thông dụng trong mỗi cơ quan, gia đình. Máy tính chỉ thật sự có ý nghĩa khi mà nó thay con người quản lý, lưu trữ và xử lý một lượng thông tin lớn mà con người không thể kiểm soát nổi. Bạn là người có nhiều bạn bè và quen biết rộng, và bạn không muốn quên ngày sinh của những người thân cũng như số điện thoại của những người quen. Bạn sử dụng một cuốn sổ nhỏ để ghi lại họ tên, địa chỉ, số điện thoại và ngày sinh của từng người. Cuốn sổ này rất tiện lợi vì bạn có thể tra bất cứ thứ gì mà bạn ghi lại trong sổ. Như vậy, bạn đã có một cơ sở dữ liệu đơn giản chứa đựng các thông tin cần thiết về mọi người. Tuy nhiên, khi số người lên đến hàng trăm hoặc hơn, bạn sẽ thấy ghi sổ cũng còn bất tiện: bạn không thể tìm nhanh chóng số điện thoại của một người nếu bạn ghi chép tuần tự người này tiếp sau người kia mà không sắp xếp theo một trật tự nhất định nào đó. Còn nếu có sắp xếp, ví dụ theo thứ tự ABC của tên ở mỗi trang, bạn sẽ thấy một số trang có rất nhiều và lấn sang trang của chữ khác, còn một số lại rất ít. Hơn nữa, bạn lại cần ghi cả địa chỉ cơ quan của những người đó. Trong số đó có vài người làm cùng một nơi và bạn không muốn ghi lại. Mục tiêu thực hiện: - Nắm được khái niệm về cơ sở dữ liệu. - Nắm vững cách thành phần về cơ sở dữ liệu - Phân biệt được các mô hình quản trị cơ sở dữ liệu, phân tích được ưu điểm và nhược điểm của các mô hình cơ sở dữ liệu. - Nhận định được sự khác nhau giữa việc dùng cơ sở dữ liệu để quản lý và các quản lý bằng các hệ thống tập tin - Biết được các kiểu dữ liệu thường dùng trong quản lý cơ sở dữ liệu. - Biết cách tính toán trên cơ sở dữ liệu Nội dung: 1.1 Khái niệm về cơ sở dữ liệu 1.2 Các thành phần của 1 cơ sở dữ liệu 76 10
- 1.3 Các mô hình cơ sở dữ liệu 1.4 So sánh sự khác nhau giữa quản lý bằng cơ sở dữ liệu và các hệ thống tập tin 1.5 Các kiểu dữ liệu. 1.6 Tính toán trên cơ sở dữ liệu 1.1 Khái niệm về cơ sở dữ liệu Cơ sở dữ liệu (database): là 1 hệ thống thông tin có cấu trúc được trữ trên các thiết bị lưu trữ thông tinthứ cấp như băng từ, đĩa từ…có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau. Một CSDL biểu diễn một phần của thế giới thực (thế giới thu nhỏ). CSDL được thiết kế, xây dựng, và lưu trữ với một mục đích xác định, phục vụ cho một số ứng dụng và người dùng. Tập ngẫu nhiên của các dữ liệu không thể xem là một CSDL 1.2 Các thành phần của 1 cơ sở dữ liệu Bảng (table): Là một thành phần cơ bản trong chương trình quản trị cơ sở dữ liệu quan hệ. Bảng được hình thành khi sắp xếp các thông tin có liên quan với nhau theo hàng và cột. Các hàng tương ứng với các bản ghi (record) dữ liệu và các cột tương ứng với trường dữ liệu. Các bạn hãy xem bảng Người quen. Các hàng là người, mỗi hàng tương ứng với một người. Các cột là trường (hay lĩnh vực) của thông tin. Ta có các cột Họ tên, Ngày sinh, Điện thoại, Địa chỉ, Tên cơ quan. Bản ghi (record): trong chương trình quản trị cơ sở dữ liệu, đây là một đơn vị hoàn chỉnh nhỏ nhất của dữ liệu, được lưu trữ trong những trường hợp dữ liệu đã được đặt tên. Trong một cơ sở dữ liệu dạng bảng, bản ghi dữ liệu đồng nghĩa với hàng (row). Bản ghi chứa tất cả các thông tin có liên quan với mẫu tin mà cơ sở dữ liệu đang theo dõi. Ví dụ, trong cơ sở dữ liệu về Người quen, bản ghi sẽ liệt kê tên người quen, số điện thoại, ngày sinh, địa chỉ và tên cơ quan. Hầu hết các chương trình đều hiển thị các bản ghi dữ liệu theo hai cách: theo các mẫu nhập dữ liệu và theo các bảng dữ liệu. Các bản ghi dữ liệu được hiển thị dưới dạng các hàng ngang và mỗi trường dữ liệu là một cột. Trường dữ liệu (field): trong chương trình quản trị cơ sở dữ liệu, đây là không gian dành cho một mẫu thông tin trong bản ghi dữ liệu. Trong chương trình quản trị CSDL dạng bảng với dữ liệu được tổ chức theo hàng và cột, thì trường dữ liệu tương ứng với các cột. Như ở bảng Cơ quan, ta có các trường Tên cơ quan, Địa chỉ, Thành phố, Số điện thoại, Lĩnh vực hoạt động. Bạn sử dụng tên cơ quan để liên kết giữa hai bảng Người Quen và Cơ Quan. Đôi lúc, bạn nhận thấy rằng tên cơ quan không phải là duy nhất. Rất có thể hai công ty FPT, một công ty hoạt động trong lĩnh vực xử lý thực phẩm và một công ty hoạt động trong lĩnh vực tin học. ở đây ta có khái niệm khóa (key). Một khóa chính (primary key) là một giá trị dùng để phân biệt bản ghi này với bản ghi khác. Giá trị của khóa chính trong mỗi bản ghi là duy nhất trong cả bảng (table). Có thể xem số chứng minh nhân dân như một khóa chính và không người nào giống người nào. 76 11
- Ngoài khóa chính ra còn có khóa ngoài (foreign key). Khóa ngoài là giá trị dùng để liên kết giữa các bảng và thiết lập mối quan hệ giữa các bản ghi trong các bảng khác nhau. Giả sử trong ví dụ, ta đặt ra mã số cơ quan và mã số cơ quan này duy nhất đối với mỗi cơ quan, bảng của ta sẽ như bảng 3. Trong bảng Cơ quan, Mã số cơ quan là khóa chính. Còn trong bảng Người quen, Mã số cơ quan là khóa ngoài và dùng để xác định cơ quan người đó làm việc. Thông thường, để xử lý dữ liệu trong CSDL quan hệ, người ta thường sử dụng một công cụ là Ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL) để thực hiện các công việc như tìm kiếm thông tin, cập nhật thông tin mới, xóa bỏ thông tin cũ... 1.3 Các mô hình cơ sở dữ liệu Nền tảng của cấu trúc CSDL là mô hình dữ liệu. Các mô hình dữ liệu là một sưu tập các công cụ khái niệm cho việc mô tả dữ liệu, các mối quan hệ dữ liệu, các ngữ nghĩa dữ liệu và các ràng buộc dữ liệu. Các mô hình dữ liệu khác nhau đã được đề xuất và được phân vào 3 nhóm chính: Mô hình cơ sở đối tượng: (Object-based Logical Models) Các mô hình logic lưu trữ đối tượng: o Mô tả dữ liệu ở mức logic và nhìn o Cung cấp các khả năng cấu trúc hóa khá linh động o Cho phép đặc tả những ràng buộc dữ liệu một cách rõ ràng o Có nhiều mô hình khác nhau thuộc loại này, một số được biết rộng rãi là: Mô hình quan hệ - thực thể (Entity – relationsgip model) Mô hình hướng đối tượng (Object – oriented model) Mô hình dữ liệu ngữ nghĩa (Sematic data model) Mô hình dữ liệu chức năng (Functional data model) Ta hãy xem xét hai mô hình quan trọng thường dùng là mô hình quan hệ - thực thể (E – R) và mô hình đối tượng Mô hình quan hệ - thực thể (E – R) được dựa trên sự nhận thức thế giới gồm gồm có một sưu tập các đối tượng căn bản, được gọi là các thực thể, và các mối quan hệ ở giữa các đối tượng này. Một thực thể là một đối tượng tồn tại có thể phân biệt được. Chẳng hạn một người là một thực thể, và các tài khoản ngân hàng cũng có thể được xem là các thực thể 76 12
- Các thực thể được mô tả trong một cơ sở dữ liệu bởi một tập các thuộc tính. Chẳng hạn số tài khoản và cân đối mô tả một tài khoản nào đó trong ngân hàng. Một quan hệ là một sự kết hợp trong số vài thực thể. Chẳng hạn như quan hệ gởi kết hợp một khách hàng với mỗi tài khoản mà anh ta hoặc cô ta có. Tập hợp tất cả các thực thể cùng một loại, và tập hợp các quan hệ của cùng một loại, được gọi là tập thực thể và tập quan hệ một cách tương ứng. Một thành phần chủ yếu khác của lược đồ Quan hệ - thực thể là ánh xạ lực lượng mà nó biểu diễn số lượng thực thể khác có thể được kết hợp với nó thông qua tập thực thể Cấu trúc logic tổng quát của một cơ sở dữ liệu có thể biểu diễn một cách đồ họa bởi lược đồ E – R mà nó được xây dựng bởi các thành phần sau đây: Hình chữ nhật: biểu diễn các tập thực thể. Hình Ellipse: Biểu diễn các thuộc tính Hình thoi: Biểu dễn các quan hệ trong số các tập thực thể Đường thẳng: Nối các thuộc tính với các tập thực thể và các tập thực thể với các quan hệ. Ví dụ: Duongphokh SoTK Số CMND Thanhphokh Can_doi Tenkh Khách hàng Gởi Tài khoản Hình 1.3 : mô hình cơ sở dữ liệu Mô hình hướng đối tượng: Dựa trên bộ sưu tập các đối tượng, giống mô hình E – R. 76 13
- Một đối tượng chứa các giá trị được lưu trữ trong các biến thể hiện bên trong đối tượng đó. Một đối tượng chứa phần mã mà chúng thao tác trên đối tượng đó. Những phần mã này gọi là các phương pháp. Những đối tượng chứa các giá trị cùng loại và các phương pháp như nhau được nhóm lại thành lớp. Một lớp có thể được xem như là định nghĩa loại đối với các đối tượng. Một đối tượng có thể truy xuất dữ liệu của một đối tượng khác chỉ bằng cách là cầu viện đến phương pháp của đối tượng đó. Hành động này được gọi là gửi thông báo đến đối tượng đó. Như vậy giao diện được gọi là các phương pháp của một đối tượng xác định phần thấy được bên ngoài của đối tượng đó. Phần bên trong của đối tượng – các biền thể hiện và mã phương pháp- là không thấy được từ bên ngoài. Ví dụ: Xem xét một đối tượng biểu diễn một tài khoản ngân hàng. Đối tượng chứa các biểu hiện là số tài khoản và cân đối Đối tượng chứa một phương pháp là trả tiền lãi mà nó cộng thêm các tiền lãi vào cân đối. Mô hình Logic cơ sở mẫu tin (Record – based Logical Models) Các mô hình logic cơ sở mẫu tin được chấp nhận rộng rãi là mô hình quan hệ (relational), mạng (Netword), và phân cấp (hierarchical) 1. Mô hình quan hệ (Relational) Mô hình quan hệ là gì ? Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971. Mô hình này bao gồm: - Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại, ... - Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp, phép toán quan hệ. - ràng buộc toàn vẹn quan hệ. Các hệ HQTCSDLQH ngày nay được xây dựng dựa vào lý thuyết của mô hình quan hệ. Mục đích của môn học này giúp cho sinh viên nắm được kiến trúc tổng quát về mô hình quan hệ và áp dụng nó để lập mô hình dữ liệu quan hệ có hiệu quả trong lưu trữ và khai thác. 76 14
- Chẳng hạn với bài toán quản lý điểm thi của sinh viên; nếu lưu trữ dữ liệu theo dạng bảng với các cột MASV, HOTEN, MONHOC,TENKHOA, DIEMTHI thì các gía trị của các cột HOTEN, MONHOC, TENKHOA sẽ bị trùng lắp. Sự trùng lắp này gây nên một số vấn đề: - Ta không thể lưu trữ một sinh viên mới khi sinh viên này chưa có điểm thi - Khi cần sửa đổi họ tên sinh viên thì ta phải sửa tất cả các dòng có liên quan đến sinh viên này. Điều này dễ gây ra tình trạng dữ liệu thiếu nhất quán. - Khi có nhu cầu xóa điểm thi của một sinh viên kéo theo khả năng xóa luôn họ tên sinh viên đó. Việc lưu trữ dữ liệu như trên không đúng với mô hình quan hệ. Để lưu trữ đúng với mô hình quan hệ ta phải thay MONHOC bằng MAMH, thay TENKHOA bằng MAKHOA, tách một bảng dữ liệu lớn đó ra thành nhiều bảng con, như mô hình dưới. 2 Các khái niệm cơ bản của mô hình quan hệ i Thuộc tính (Attribute, Arity) Chẳng hạn với bài toán quản lý điểm thi của sinh viên; với đôi tượng sinh viên ta cần phải chú ý đến các đặc trưng riêng như họ tên, ngày sinh, nữ (giới tính), tỉnh thường trú, học bổng, lớp mà sinh viên theo học,. . . các đặc trưng này gọi là 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 vào 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 là kiểu đơn. Trong cùng một đối tượng không được có hai thuộc tính cùng tên. 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 đó. Thuộc tính ngày trong tháng thì có kiểu dữ liệu là số nguyên, miền giá trị của nó là 1 đến (tối đa là) 31. Hoặc điểm thi của sinh viên chỉ là các số nguyên từ 0 đến 10. Thường người ta dùng các chữ cái 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. ii 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 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+. Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên là Sv) với các thuộc tính như trên là: Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH) 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ệ đó. Dựa vào tân từ người ta xác 76 15
- định được tập thuộc tính khóa của lược đồ quan hệ (khái niệm khoá sẽ được trình bày ở phần sau). 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. Chẳng hạn tân từ của lược đồ quan hệ 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 cư trú (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 đồ cơ sở dữ liệu để quản lý điểm sinh viên có thể gồm các lược đồ quan hệ sau: Sv(MASV, HOSV,TENSV, NU, NGAYSINH, MALOP, TINH, HOCBONG) Lop(MALOP,TENLOP,SISO,MAKHOA) Kh(MAKHOA,TENKHOA, SOCBGD) Mh(MAMH, TENMH, SOTIET) Kq(MASV, MAMH, DIEMTHI) Phần giải thích các thuộc tính: MASV Mã sinh viên HOTEN Tên sinh viên NU Nữ NGAYSINH ngày sinh LOP lớp TENLOP tên lớp SISO sỉ số lớp MAKHOA mã khoa HOCBONG học bổng TINH tỉnh TENKHOA tên khoa SOCBGD số cán bộ giảng dạy MAMH mã môn học 76 16
- TENMH tên môn học SOTIET số tiết DIEMTHI điểm thi Iii : 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ư R, S, Q để chỉ các lược đồ quan hệ, còn quan hệ được định nghĩa trên nó tương ứng được ký hiệu là là r, s, q. iv : Bộ (Tuple) Bộ là tập mỗi giá trị liên quan của tất cả các thuộc tính của một lược đồ quan hệ. Chẳng hạn quan hệ sau có 2 bộ. Thường người ta dùng các chữ cái thường (như t,p,q,…) để biểu diễn các bộ. Chẳng hạn để nói bộ t thuộc quan hệ r ta viết: t r. Về trực quan thì mỗi quan hệ xem như một bảng, trong đó mỗi cột là thông tin về một thuộc tính, mỗi dòng là thông tin về một bộ. Chẳng hạn sau đây là các thể hiện của các quan hệ định nghĩa trên lược đồ cơ sở dữ liệu quản lý sinh viên ở trên: v : Khóa (Key, Candidate Key): Cho lược đồ quan hệ R, SR+. S được gọi là một siêu khóa (superkey) 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. Một lược đồ quan hệ có thể có nhiều siêu khoá. Siêu khoá chứa ít thuộc tính nhất được gọi là khóa chỉ định, trong trường hợp lược đồ quan hệ có nhiều khóa chỉ định, thì khóa được chọn để cài đặt gọi là khóa chính (Primary key) (trong các phần sau khóa chính được gọi tắt là khóa) Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khóa (prime key), ngược lại được gọi là thuộc tính không khóa (non prime key). Một thuộc tính được gọi là khóa ngoại nếu nó là thuộc tính của một lược đồ quan hệ này nhưng lại là khóa chính của lược đồ quan hệ khác. Ví dụ: Ta hãy xem lược đồ quan hệ sau: 76 17
- Xe(SODANGBO,QUICACH,INHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUO CGIA) Siêu khóa: (SOSUON,QUICACH),... Khóa chỉ định: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE) Khóa chính: MAXE Thuộc tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC Khóa của Sv là (MASV), Khoá của Mh là (MAMH), khoá của Kh là (MAKHOA), khóa của Kq là (MASV,MAMH) khóa của Lop là MALOP, trong Lop thuộc tính MAKHOA là khóa ngoại 2. Mô hình mạng: Có những đặc điểm sau: o Dữ liệu được biểu diễn bởi các sưu tập các mẫu tin o Các quan hệ ở giữa các dữ liệu được biểu diễn bởi các liên kết o Các mẫu tin trong CSDL được tổ chức như là các sưu tập đồ thị 3. Mô hình phân cấp Có những đặc điểm sau: Tương tự mô hình mạng (dữ liệu – mẫu tin, quan hệ - liên kết) Các mẫu tin trong CSDL được tổ chức như là các sưu tập cây, thay vì đồ thị Mô hình dữ liệu vật lý: (Physical Data Models) Được dùng để mô tả dữ liệu ở mức thấp nhất. Ngược lại với mô hình logic, có rất ít mô hình dữ liệu vật lý được dùng. Hai mô hình được biết đến rộng rãi là mô hình hợp nhất và mô hình ký ức khung Mô hình dữ liệu vật lý còn liên quan đến những vấn đề thực hiện hệ thống CSDL. Chúng ta sẽ không xme xét các mô hình dữ liệu vật lý trong giáo trình này. 1.4 So sánh sự khác nhau giữa quản lý bằng cơ sở dữ liệu và các hệ thống tập tin Hệ thống tập tin cổ điển: (File System): 76 18
- Cho đến nay vẫn có một số đơn vị kinh tế, hành chính sự nghiệp… sử dụng mô hình hệ thống tập tin cổ điển: chúng được tổ chức riêng lẽ, phục vụ cho một mục dích của đơn vị hay một đơn vị con trực thuộc cụ thể. Ưu điểm: Việc xây dựng các hệ thống tập tin riêng tại từng đơn vị quản ví ít tốn thời gian bởi khối lượng thông tin cần quản lý và khai thác là nhỏ, không đòi hỏi đầu tư vật chất và chất xám nhiều, do đó triển khai ứng dụng nhanh Thông tin được khai thác chỉ phục vụ cho một mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời Nhược điểm: Do thông tin được tổ chức ở mỗi phòng ban là khác nhau, cũng như phần mềm công cụ để triển khai mổi nơi là khác nhau nên sự phối hợp tổ chức và khai thác ở các phòng ban là khó khăn. Thông tin ở phòng ban nà không sử dụng cho phòng ban khác, tại đơn vị con với đơn vị cấp trên. Cùng một thông tin nhập vào máy tại nhiều đơn vị khác nhau gây ra lãng phí công sức nhập tin và không gian lưu trữ các vật mang tin Tông tin được tổ chức ở nhiều nơi nên việc cập nhật cũng dễ làm mất tính nhất quan dữ liệu Do hệ thống được tổ chức thành các file riêng lẽ nên thiếu sự chia sẽ thông tin ở các nơi Do đó, tiếp cận CSDL đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ: Vấn đề 1: Cấu trúc Logic và cấu trúc vật lý Kiến trúc bên trong hệ quản trị CSDL quan hệ tách biệt rõ ràng giữa: - Cấu trúc luận lý của tất cả tập tin và chương trình ứng dụng khai thác tập tin này và cấu trúc vật lý của CSDL và phần lưu trữ các tập tin. Tiếp cận này tạo cho người quản trị CSDL có thể thay đổi cấu trúc vật lý hay nơi lưu trữ của tập tin mà không ảnh hưởng đến chương trình ứng dụng. Vấn đề 2: Dư thừa dữ liệu Khi hệ quản trị CSDL quan hệ được giới thiệu, nhiều tổ chức mong tích hợp các tập tin đã phân tán khắp trong tổ chức vào một CSDL tập trung. Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau và người sử dụng có thể khai thác đồng thời các tập con dữ liệu liên quan đến họ. Điều này làm hạn chế sự dư thừa dữ liệu. Vấn đề 3: Sự khai thác dữ liệu của người sử dụng Trong hệ quản trị CSDL quan hệ người dùng có thể trực tiếp khai thác dữ liệu thông qua việc sử dụng các câu truy vấn hay các công cụ báo cáo được cung cấp bởi hệ quản trị CSDL. 76 19
- 1.5 Các kiểu dữ liệu. Mỗi trường dữ liệu phải được định kiểu dữ liệu. Trong quản lý CSDL, trường dữ liệu có thể nhận một trong các kiểu dữ liệu sau: TT Kiểu dữ liệu Độ lớn Lưu trữ.. Số: số thực, số nguyên theo 1 Number Tùy thuộc kiểu cụ thể nhiều kiểu Autonumber Số nguyên tự động được đánh 2 4 bytes số. 3 Text tuỳ thuộc độ dài xâu Xâu ký tự 4 Yes/No 1 bytes Kiểu logic 5 Date/Time 8 bytes Lưu trữ ngày, giờ Lưu trữ dữ liệu kèm ký hiệu 6 Currentcy Sing tiền tệ 7 Memo tuỳ thuộc giá trị kiểu ghi nhớ Lưu trữ các siêu liên kết 8 Hyperlink tuỳ thuộc độ dài xâu (hyperlink) Âm thanh, hình ảnh, đồ hoạ, 9 OLE tuỳ thuộc dữ liệu … (Objects) 1.6 Tính toán trên cơ sở dữ liệu Phép Chọn (Selection) Cho lược đồ quan hệ Q(A1,A2,..,An), r là một quan hệ trên Q. X Q+ và E là một mệnh đề logic được phát biểu trên tập X. Phần tử tr thỏa mãn điều kiện E ký hiệu là t(E). 76 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Cơ sở dữ liệu - Ngô Trần Thanh Thảo
176 p | 1613 | 686
-
Giáo trình Cơ sở dữ liệu quan hệ - Phạm Đức Nhiệm
101 p | 504 | 153
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Đại học Kinh tế TP. HCM
134 p | 173 | 37
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Cao Thị Nhạn, Nguyễn Thị Thanh Bình
54 p | 240 | 29
-
Giáo trình Cơ sở dữ liệu: Phần 1 - Sở Bưu chính Viễn Thông TP Hà Nội
48 p | 212 | 25
-
Giáo trình Cơ sở dữ liệu: Phần 2 - Sở Bưu chính Viễn Thông TP Hà Nội
81 p | 127 | 21
-
Giáo trình Cơ sở dữ liệu: Phần 1 - ĐH công nghiệp Tp.HCM
41 p | 179 | 19
-
Giáo trình Cơ sở dữ liệu - Trần Thị Thúy Mai (Biên soạn)
67 p | 31 | 14
-
Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
126 p | 37 | 11
-
Giáo trình Cơ sở dữ liệu (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
48 p | 14 | 10
-
Giáo trình Cơ sở dữ liệu (Nghề Tin học ứng dụng - Trình độ Cao đẳng) - CĐ GTVT Trung ương I
76 p | 35 | 8
-
Giáo trình Cơ sở dữ liệu (Nghề: Lập trình máy tính-CĐ) - CĐ Cơ Giới Ninh Bình
88 p | 62 | 8
-
Giáo trình Cơ sở dữ liệu nâng cao (Ngành: Hệ thống thông tin) - CĐ Kinh tế Kỹ thuật TP.HCM
77 p | 44 | 8
-
Giáo trình Cơ sở dữ liệu (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 2 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
83 p | 31 | 6
-
Giáo trình Cơ sở dữ liệu (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
40 p | 30 | 6
-
Giáo trình Cơ sở dữ liệu (Ngành: Công nghệ thông tin - Cao đẳng) - Trường Cao đẳng Xây dựng số 1
55 p | 12 | 5
-
Giáo trình Cơ sở dữ liệu (Ngành: Công nghệ thông tin - Trình độ: Trung cấp) - Trường Trung cấp Kinh tế - Kỹ thuật Bình Thuận
97 p | 5 | 4
-
Giáo trình Cơ sở dữ liệu phân bổ - CĐ Nghề Công Nghiệp Hà Nội
93 p | 47 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn