Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 6 - Tô Oai Hùng
lượt xem 6
download
"Bài giảng "Các vấn đề cơ sở của khoa học máy tính - Chương 6: Cơ sở dữ liệu" cung cấp các kiến thức: Giới thiệu về cơ sở dữ liệu. các loại cơ sở dữ liệu, các ưu điểm khi sử dụng cơ sở dữ liệu, mô hình hóa miền dữ liệu, xây dựng CSDL quan hệ từ mô hình dữ liệu, chuẩn hóa dữ liệu, ngôn ngữ SQL, ngôn ngữ định nghĩa dữ liệu (DDL), ngôn ngữ thao tác dữ liệu (DML). Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 6 - Tô Oai Hùng
- Chương 6: CƠ SỞ DỮ LIỆU
- Nội Dung 1. Giới thiệu. 2. Các loại cơ sở dữ liệu. 3. Các ưu điểm khi sử dụng CSDL. 4. Mô hình hóa miền dữ liệu. 5. Xây dựng CSDL quan hệ từ mô hình dữ liệu 6. Chuẩn hóa dữ liệu. 7. Ngôn ngữ SQL. 8. Ngôn ngữ định nghĩa dữ liệu (DDL). 9. Ngôn ngữ thao tác dữ liệu (DML). 2 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Giới Thiệu • Ngày nay, CSDL có mặt ở khắp nơi. Hầu hết trong các ứng dụng, chúng ta đều gặp CSDL. CSDL tạo hiệu quả, an toàn và linh động trong việc lưu trữ dữ liệu. • Ngay sau khi máy tính thế hệ thứ hai ra đời (sau thập niên 1950), sự có mặt của các ngôn ngữ lập trình cấp cao đòi hỏi dung lượng lưu trữ lớn. Dữ liệu được chứa trong các tập tin (tập các mẫu tin) trên băng từ. Cách lưu trữ này sớm bộc lộ những trở ngại nhất định. • Đầu tiên là những tập tin lớn, cần thời gian tìm kiếm lâu hơn. Chúng ta hãy xem lại các giải thuật đã thảo luận trước đây, thời gian 3 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Giới Thiệu của giải thuật tìm kiếm tuần tự là O(n). Vì thế, những tập tin lớn, cần nhiều thời gian hơn để tìm phần tử nào đó. Chẳng hạn, chúng ta cần tìm một khách hàng trong hàng triệu khách hàng là điều không thể. • Một vấn đề khác trong việc tổ chức dữ liệu không hợp lý, chẳng hạn cùng một thông tin của khách hàng nhưng được lưu lại nhiều lần sẽ dẫn đến việc sử dụng bộ nhớ lưu trữ không hiệu quả. 4 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Loại Cơ Sở Dữ Liệu • Bắt đầu từ sau thập niên 1960, các hệ CSDL (database system) đã được phát triển. Hai loại CSDL đầu tiên là loại phân cấp (hierarchy) và mạng (network). IBM đưa ra DL/1 là mô hình CSDL phân cấp và hàng loạt phần cứng và phần mềm khác cùng với mô hình CSDL mạng. • Các cấu trúc CSDL phân cấp và mạng được tổ chức thành nhiều tập tin quan hệ với nhau để truy cập thông tin nhanh hơn, bảo mật tốt hơn và dễ dàng cập nhật hơn. Tuy nhiên, các cấu trúc này khá phức tạp và không linh động. 5 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Loại Cơ Sở Dữ Liệu • Vào năm 1970, E. F. Codd của IBM đưa ra mô hình CSDL quan hệ (relational database). Mô hình quan hệ dựa nhiều vào lý thuyết toán. • Theo mô hình này, dữ liệu được chứa trong các bảng, gọi là các “quan hệ”. Mỗi quan hệ/bảng lưu giữ thông tin về một kiểu thực thể (entity type) và các thực thể quan hệ nhau bởi thông tin đã lưu trong các bảng đó. • Codd cũng đưa ra một ngôn ngữ để truy vấn dữ liệu dựa vào lý thuyết tập hợp. Vào thập niên 1980, ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL) được thế giới biết đến. Sau đó, IBM bắt đầu bán CSDL 6 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Loại Cơ Sở Dữ Liệu quan hệ có tên là DB2. • Ngày nay, mô hình dữ liệu quan hệ được sử dụng rộng rãi và là mô hình mà chúng ta sẽ thảo luận. 7 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Ưu Điểm Khi Sử Dụng CSDL • Động cơ chính của việc sử dụng CSDL là tốc độ truy xuất. Một CSDL được thiết kế đúng cách, sự truy xuất các phần thông tin riêng biệt có thể thực hiện ngay tức thời, bất kể số mẫu tin hay kích thước của CSDL. Tốc độ truy xuất có thể biểu diễn là O(k), trong đó k là hằng số có giá trị bé. • Việc sử dụng CSDL làm cho các chương trình truy xuất dữ liệu mà không cần biết nó như thế nào. Nếu một chương trình đọc tập tin thông thường, nó phải biết kiểu dữ liệu, các định dạng và thứ tự các trường (field) của tập tin đó. 8 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Ưu Điểm Khi Sử Dụng CSDL • Tuy nhiên, khi chương trình đọc từ tập tin CSDL, nó thường chỉ cần xác định rõ thông tin gì mà nó muốn. • CSDL cũng cho phép tận dụng hiệu quả không gian lưu trữ, giảm dư thừa dữ liệu đến mức tối tiểu. • Các hệ quản trị CSDL (Database management system - DBMS) cũng tăng tính bảo mật CSDL thông qua một số cách. Cho ví dụ, các tiện ích sao lưu và khôi phục dữ luôn có sẵn trong các DBMS và dữ liệu có thể được sao lưu cả khi nó đang được sử dụng. • Các hệ CSDL cũng hỗ trợ cho khái niệm về 9 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Ưu Điểm Khi Sử Dụng CSDL giao tác (transaction). Một giao tác là một nhóm các thay đổi có quan hệ nhau tác động đến CSDL. Nghĩa là, tất cả thay đổi phải xảy ra hoặc là không xảy ra. • Ví dụ, chúng ta đang chuyển tiền từ tài khoản tiền gởi tiết kiệm (savings account) và gởi tiền này vào tài khoản tiền gởi thanh toán (checking account). • Chúng ta muốn cả hai thao tác rút và gởi thực hiện thành công, nhưng nếu rút tiền thành công và gởi tiền bị lỗi thì sao? Do vậy, chúng ta phải khôi phục lại tiền đã rút từ tài khoản tiền gởi tiết kiệm. 10 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Các Ưu Điểm Khi Sử Dụng CSDL • Các hệ CSDL cho phép những thay đổi dữ liệu được nhóm vào trong các giao tác để thực hiện thành công trọn vẹn hoặc là không thực hiện điều gì. • Các DBMS cũng tăng tính bảo mật dữ liệu vì nó cho phép nhiều người dùng. Ví dụ như doanh nghiệp Amazon.com cho phép nhiều người dùng từ khắp thế giới truy cập CSDL để xem và đặt hàng cùng lúc. Những thay đổi của người dùng này sẽ không gây trở ngại cho người dùng khác. • DBMS quản lý những khả năng xung đột có thể xảy ra bằng cách khóa dữ liệu tạm thời khi cần thiết. Các Vấn Đề Cơ Sở của KHMT 11 ThS. GVC Tô Oai Hùng
- Các Ưu Điểm Khi Sử Dụng CSDL • Với tất cả lý do trên, các hệ CSDL được sử dụng phổ biến. Như chúng ta thấy, việc sử dụng các hệ CSDL cũng trở nên thuận tiện hơn khi dùng ngôn ngữ SQL. Do vậy, hầu hết các ứng dụng ngày nay đều sử dụng CSDL. 12 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Trước khi tạo CSDL quan hệ, người thiết kế phải qua một quá trình gọi là mô hình hóa dữ liệu (data modeling). • Giai đoạn mô hình hóa nhận dạng các “thực thể” (entity), các “thuộc tính” (attribute) của mỗi kiểu thực thể (entity type) và các “mối quan hệ” (relationship) giữa các kiểu thực thể khác nhau. • Cho ví dụ, trong việc xây dựng CSDL cho một trường đại học, các kiểu thực thể gồm các sinh viên, các giảng viên, các ký túc xá, các phòng học, các chuyên ngành, các khóa học, … 13 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Hình sau cho thấy mô hình dữ liệu của các thực thể và các mối quan hệ mà chúng ta đang thảo luận được thể hiện trong lược đồ thực thể - mối quan hệ (entity-relationship: E- R). 14 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu 15 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Các thuộc tính của một sinh viên gồm tên, địa chỉ, ký túc xá đang ở, số phòng, chuyên ngành, cố vấn, … • Một mối quan hệ giữa kiểu thực thể giảng viên với sinh viên là mối quan hệ advisor/advisee. • Thực thể là “thứ gì đó” mà CSDL sẽ lưu trữ. Khái niệm kiểu thực thể thường tương ứng với lớp của các đối tượng thế giới thực, chẳng hạn các giảng viên, các xe, các tòa nhà. Đôi lúc kiểu thực thể được hiểu theo nghĩa trừu tượng hơn. Vấn đề chính của mô hình hóa dữ liệu là xác định các kiểu thực thể của mô hình. Các Vấn Đề Cơ Sở của KHMT 16 ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Với các khái niệm quen thuộc trong lập trình hướng đối tượng, một kiểu thực thể tương tự như một lớp. Mỗi thực thể riêng biệt của một kiểu thực thể (một thể hiện của một lớp – đối tượng) sẽ được biểu trưng bởi một tập các giá trị thuộc tính. • Thực thể như là “danh từ”, trong khi thuộc tính như là “tính từ” hay từ ngữ để mô tả của thực thể mà CSDL sẽ lưu trữ. Cho ví dụ, thực thể sinh viên cụ thể có các thuộc tính là “Bill Smith”, “Akron, OH”, “Fisher Dorm”, 323, “Computer Science”, “Professor Findley”, … 17 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Cấu trúc của một CSDL được mô tả bởi “lược đồ” (schema) của nó. Như chúng ta sẽ thấy sau này, để chuyển mô hình dữ liệu thành lược đồ CSDL quan hệ , mỗi thực thể của một kiểu thực thể phải duy nhất. • Tập giá trị các thuộc tính của mỗi thực thể phải khác với tất cả thực thể khác trong cùng kiểu. Ví dụ, chúng ta có thể gán thuộc tính “khóa” cho mỗi thực thể của kiểu thực thể sinh viên để phân biệt các sinh viên với nhau. • Giả sử mối quan hệ giữa kiểu thực thể giảng viên với sinh viên là mối quan hệ advisor/advisee. Điều quan trọng là chúng 18 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu ta phải quyết định xem mối quan hệ này là 1:1 (một-một), 1:N (một-nhiều) hay N:M (nhiều- nhiều). Các tỷ số này được gọi là tỷ số lực lượng (cardinality ratio). Chúng ta có thể hiểu “lực lượng” là số lượng thể hiện của một kiểu thực thể. • Trong ví dụ trên, chúng ta có thể chọn mối quan hệ 1:N (một cố vấn cho nhiều sinh viên). Ngược lại, nếu nhà trường yêu cầu nhiều cố vấn cho mỗi sinh viên (ví dụ, một cố vấn học tập và một cố vấn đời sống) thì mối quan hệ sẽ được chọn là N:M (nhiều cố vấn cho mỗi sinh viên và nhiều sinh viên cho mỗi cố vấn). 19 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
- Mô Hình Hóa Miền Dữ Liệu • Một vấn đề nữa là chúng ta cần xác định số thể hiện tối thiểu của kiểu thực thể. Ví dụ, nếu yêu cầu là mỗi sinh viên phải có cố vấn thì số thể hiện tối thiểu phía giảng viên của mối quan hệ advisor/advisee phải là 1. Ngược lại là 0 (nghĩa là có thực thể sinh viên nhưng không được kết hợp với cố vấn nào). • Tương tự, nếu yêu cầu là mỗi giảng viên đều là cố vấn thì số thể hiện tối thiểu phía sinh viên của mối quan hệ advisor/advisee phải là 1. Ngược lại là 0 (nghĩa là có thực thể giảng viên nhưng không cố vấn cho sinh viên nào). 20 Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai Hùng
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tin học đại cương - Chương 1: Các vấn đề cơ bản về CNTT
167 p | 429 | 31
-
Bài giảng Tin học đại cương - Chương 1: Các vấn đề cơ bản của Tin học
17 p | 270 | 9
-
Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 1 - ThS. Tô Oai Hùng
24 p | 109 | 9
-
Bài giảng Tin văn phòng: Bài 1 - ThS. Thiều Quang Trung
65 p | 72 | 7
-
Bài giảng Các hệ quản trị CSDL: Chương 5 - ĐH Sư phạm TP. HCM
65 p | 84 | 7
-
Bài giảng Tin văn phòng: Chương 8 - Trương Xuân Nam
16 p | 76 | 7
-
Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 4 - Tô Oai Hùng
47 p | 90 | 7
-
Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 3 - Tô Oai Hùng
42 p | 83 | 7
-
Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 2 - ThS. Tô Oai Hùng
40 p | 71 | 7
-
Bài giảng Tin văn phòng 2: Bài 1 - ThS. Thiều Quang Trung
45 p | 60 | 5
-
Bài giảng Bài 3: Chuẩn bị toán học
0 p | 158 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 8: Thủ tục nội tại
11 p | 14 | 5
-
Bài giảng Tin học đại cương - Bùi Việt Thái
23 p | 92 | 4
-
Bài giảng Tin văn phòng: Chương 13 - Trương Xuân Nam
22 p | 62 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Truy vấn nâng cao
10 p | 36 | 3
-
Bài giảng Tin văn phòng: Chương 2 - Trương Xuân Nam
18 p | 84 | 2
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