Nội dung
1.Dữ liệu là gì?.
2.Cơ sở dữ liệu là gì?.
3.Vai trò của CSDL?.
4.File-Based system và những hạn chế.
5.Hệ quản trị CSDL, hệ CSDL.
6.Thảo luận thêm…
1. Dữ liệu là gì?
Theo định nghĩa, Dữ liệu (data) là một mô tả hình thức về thông tin hay hoạt động nào đó.
Trong cuộc sống hằng ngày, chúng ta tham gia vào rất nhiều các lĩnh vực khác nhau như kinh doanh, giáo dục, giải trí, hành chính, tiền tệ… Mỗi lĩnh vực lại có vô vàn các thông tin khác nhau được sinh ra, được truyền đạt, bị mất đi hay được tái tạo… Tuy nhiên, không phải thông tin nào cũng được coi là dữ liệu. Từ vô vàn những thông tin đó có những sự kiện, khái niệm, số liệu… được lọc ra và lưu trữ tùy theo mục đích sử dụng, đó mới chính là dữ liệu. Điều này cũng có nghĩa rằng: cùng là các thông tin như nhau nhưng đối với cá nhân, tổ chức này thì nó là dữ liệu trong khi với cá nhân, tổ chức khác thì không. Đơn giản là vì mỗi cá nhân, tổ chức sử dụng các thông tin với mục đích khác nhau và không phải thông tin nào cũng được sử dụng bởi tất cả mọi người.
Dữ liệu được mô tả dưới nhiều dạng khác nhau. Ví dụ như các ký tự, ký số, hình ảnh, ký hiệu, âm thanh… Mỗi cách mô tả như vậy gắn chúng với một ngữ nghĩa nào đó.
Ví dụ, một đối tượng sinh viên thực tế có rất nhiều thông tin khác nhau liên quan đến bản thân sinh viên đó như: tên, địa chỉ, ngày sinh, lớp, điểm số … sở thích, tác phong, quê quán, cha mẹ, anh, chị ,em , quan hệ cộng đồng,cân nặng, chiều cao… Song, với mục đích quản lý (thông thường) của nhà trường thì không phải tất cả các thông tin kia đều được lưu trữ. Tùy mục đích, nhà trường có thể cần lưu trữ:
– tên, địa chỉ, ngày sinh, lớp, điểm số.
– hoặc tên, địa chỉ, ngày sinh, lớp, điểm số, quê quán, cha mẹ,…
– hoặc một tập hợp thông tin khác.
2. Cơ sở dữ liệu là gì?
Cơ sở dữ liệu (Database), viết tắt là CSDL hoặc DB, là một tập hợp các Dữ liệu có quan hệ logic với nhau, có thể dễ dàng chia sẻ và được thiết kế nhằm đáp ứng các nhu cầu sử dụng của một tổ chức, cá nhân nào đó.
Một cách định nghĩa khác dễ hiểu hơn, CSDL là một tập hợp có cấu trúc của những Dữ liệu có liên quan với nhau được lưu trữ trong máy tính (bảng chấm công nhân viên, danh sách các đề án, niên giám điện thoại…). Một CSDL được thiết kế, xây dựng và lưu trữ với một mục đích xác định như phục vụ lưu trữ, truy xuất dữ liệu cho các ứng dụng hay người dùng.
Khi phân tích các thông tin cần lưu trữ về một tổ chức bất kỳ, chúng ta cần phải nhận ra các entity (thực thể) thuộc về tổ chức đó. Với mỗi entity lại có nhiều attribute (thuộc tính) khác nhau. Ngoài ra, giữa các entity lại có các mối quan hệ qua lại mà ta gọi là relationship. Tất cả các CSDL đều có thể được biểu diễn bởi hệ thống các entity, các attribute và các relationship. Các mối quan hệ giữa entity, attribute, relationship được gọi là quan hệ logic.
Ví dụ, với trường ĐH KHTN – TP. HCM, khi phân tích tùy theo mục đích khác nhau sẽ có những tập hợp các entity, attribute, relationship khác nhau. Dưới đây chỉ là một ví dụ:
– Entity: Khoa, lớp, sinh viên, giáo viên, môn học, trụ sở, phòng ốc, giảng đường, bàn ghế…
– Attribute:
o Khoa: tên khoa, trưởng khoa, thông tin mô tả, …
o Sinh viên: họ tên, khoa, chuyên ngành, lớp,…
o Trụ sở: Cơ sở Nguyễn văn cừ, cơ sở linh trung, …
o …
– Relationship:
o Mỗi sinh viên chỉ thuộc về một khoa nhất định.
o Mỗi khoa chỉ có một trưởng khoa duy nhất.
o …
3. Vai trò của CSDL?
Ngày nay, CSDL đã trở thành một phần không thể thiếu trong các hoạt động đời sống hàng ngày. Mỗi ngày, có thể bạn sử dụng nhiều CSDL khác nhau, nhiều lần khác nhau nhưng lại không nhận ra điều đó.
Nếu bạn là bạn đọc của một hệ thống thư viện nào đó, mỗi khi bạn đăng ký mượn sách, trả sách hay tìm kiếm sách thông qua hệ thống quản lý điện tử của thư viện (vd thư viện trường ĐH KHTN TPHCM) là bạn đang sử dụng CSDL của thư viện đó. Tùy vào sự hiện đại của hệ thống, thủ thư sẽ nhập bằng tay hay dùng máy quét mã số của các cuốn sách. Sau đó tùy vào tính chất của hoạt động hiện tại (mượn, trả…) mà thủ thư sẽ input thêm một số lệnh khác cho hệ thống (click các button…). Bằng cách nào đó, những cuốn sách nói trên sẽ được đánh dấu trong CSDL là đã mượn hoặc đã trả …
Nếu bạn đi mua hàng ở siêu thị, tại quày tính tiền, các nhân viên siêu thị sẽ dùng máy quét mã của sản phẩm bạn muốn mua. Bên dưới CSDL sẽ cập nhật các thông tin tùy theo thiết kế chẳng hạn như: tên sản phẩm, đơn giá, số lượng, tổng tiền, thời gian mua, …
Nếu bạn có một chiếc máy vi tính và sử dụng chúng hằng ngày, điều đó cũng có nghĩa là bạn sử dụng CSDL hằng ngày thông qua việc sử dụng các ứng dụng cài đặt trong chiếc máy của mình.
Trong lĩnh vực lập trình ứng dụng nói riêng và Công nghệ Thông tin nói chung, việc sử dụng CSDL ngày càng phổ biến. Việc sử dụng CSDL giúp tạo ra các sản phẩm phần mềm chuyên nghiệp hơn, lưu trữ có hệ thống, ít tốn chỗ và dễ dàng quản lý hơn. Các công ty, tổ chức ngày nay hầu như đều tích hợp CSDL với hệ thống website của họ. Điều này cho phép tổ chức, công ty đó gửi và thu thập thông tin với người dùng một cách hết sức tinh vi. Hệ thống đặt vé máy bay của Vietnam Airlines hay hệ thống đặt vé xe lửa của ga Sài Gòn là một ví dụ. Tại một thời điểm bất kỳ có thể có nhiều người cùng truy cập và đặt vé một lúc. Ứng dụng CSDL vào hệ thống này là cách để tránh những sai sót như: nhiều người cùng mua một vé, mua phải vé đã bán cho người khác, trả tiền nhưng không mua được vé ….
4. File-Based system và những hạn chế.
File-Base system (hệ thống quản lý bằng tập tin) là tập hợp các chương trình ứng dụng tự định nghĩa và quản lý dữ liệu mà không dùng một hệ thống hỗ trợ nào khác. Ví dụ như các chương trình lưu trữ thông tin bằng hệ thống các file binary, file text,…
Ban đầu, khi chưa có khái niệm về CSDL, các yêu cầu đặt ra với các hệ thống máy tính, website, phần mềm ứng dụng … cũng không nhiều và khắt khe như ngày nay. File-Based system hầu như đã giải quyết ổn thỏa các yêu cầu vào thời điểm đó. Ví dụ, một công ty điển hình cần lưu trữ dữ liệu về các dự án, sản phẩm, nhân viên, khách hàng, hợp đồng, công việc. Để lưu trữ các dữ liệu này tất nhiên cần có rất nhiều file. Các file này có thể dễ dàng được tạo ra và lưu trữ trong các thư mục, ổ đĩa. Khi cần thêm thông tin hay truy cập các tập tin này, chỉ cần đến vị trí đã lưu và thực hiện các thao tác hết sức dễ dàng, trực quan giống như người ta từng làm trên các hồ sơ giấy khi chưa có máy tính vậy. Để tiện cho việc sử dụng, người ta có thể phân loại theo nhiều tiêu chí khác nhau và lưu trữ dữ liệu thành nhiều nhóm dữ liệu cụ thể nhỏ hơn. Để bảo mật, người ta có thể đặt mật khẩu truy cập, thuê người canh giữ hay đặt nguyên chiếc máy tính vào nơi an toàn và khóa bằng nhiều lớp khóa.
Tuy nhiên, cùng với sự phát triên của công nghệ, các yêu cầu của người dùng về tốc độ, tính hiệu quả, tính an toàn … trong việc lưu trữ và sử dụng dữ liệu ngày càng khắt khe hơn. File-Based system làm việc hiệu quả với một lượng thông tin vừa phải. Thậm chí, nếu yêu cầu đặt ra chỉ là ghi và đọc thì nó còn có thể quản lý tốt một lượng thông tin lớn hơn rất nhiều. Tuy nhiên, với yêu cầu truy xuất dữ liệu ngẫu nhiên thì File-Based system hầu như không thể.
Lấy cuốn niên giám điện thoại làm một ví dụ minh họa sẽ rõ. Một cuốn niên giám điện thoại thông thường sẽ phân loại các số điện thoại theo từng vùng miền, mỗi vùng miền lại phân chia theo tên người (đơn vị) sở hữu. Khi cần tra cứu một số điện thoại bất kỳ, ta cần phải biết hai thông tin đó là số điện thoại đó thuộc vùng thuê bao nào(V) và họ tên người sở hữu (Nguyễn Văn A). Căn cứ vào mục lục sẽ lật ra điểm bắt đầu của vùng V và dò tuần tự cho đến khi gặp đúng tên Nguyễn Văn A. Giả sử rằng số người tên A trong vùng V là rất nhiều (vài chục, vài trăm…), việc tìm ra ngay số điện thoại của Nguyễn Văn A sẽ không còn là việc đơn giản nữa.
Với một công ty đang “ăn nên làm ra”, danh sách các khác hàng, hợp đồng cần lưu trữ mỗi ngày một nhiều. Sẽ đến lúc các thao tác thông thường như tìm thông tin khách hàng đã từng giao dịch, tính tiền thu chi trong từng ngày, từng tháng, từng năm … sẽ được thực hiện một cách hết sức ì ạch. Ngoài ra, nếu công ty đó có nhiều phòng ban thì sẽ xuất hiện thêm các vấn đề về lưu trữ dư thừa dữ liệu, cập nhật khó khăn, dữ liệu không nhất quán …
Ngoài ra, khả năng truy xuất và xử lý đồng thời cũng rất xa vời với File-Based system.
Tóm lại, File-Base system có những hạn chế sau đây:
– Dữ liệu được lưu trữ rời rạc.
– Lưu trữ thừa.
– Khó chia sẻ.
– Kém hiệu quả trong truy xuất ngẫu nhiên, xử lý đồng thời.
– …
5. Hệ quản trị CSDL, hệ CSDL.
Hệ quản trị CSDL là tập hợp các chương trình cho phép người dùng định nghĩa, xây dựng và xử lý dữ liệu. Có thể kể tên một số HQT CSDL thông dụng như: Microsoft SQL Server, Oracle, My SQL, InterBase, Infomix,… Chi tiết về các kỹ thuật xử lý nền tảng cho một HQT CSDL sẽ được trình bày ở box Hệ quản trị CSDL. Ở đây chỉ đưa ra khái niệm và liệt kê một số ưu điểm để thấy rằng cần thiết phải học và sử dụng các HQT CSDL như thế nào.
Hệ CSDL (DataBase system) là một hệ thống gồm người dùng, các phần mềm ứng dụng, HQT CSDL và CSDL. Trong đó, người dùng chỉ cần thao tác trực tiếp với các chương trình ứng dụng, các chương trình ứng dụng sẽ thông qua HQT CSDL để truy cập CSDL và thực hiện các công việc bên dưới, đáp ứng yêu cầu của người dùng.
6. Thảo luận thêm
– CSDL là tập hợp các dữ liệu có cấu trúc. Bạn hiểu như thế nào là “có cấu trúc”?
– CSDL có tính chia sẻ (nghĩa là dễ dàng chia sẻ) giữa các cá nhân, tổ chức khác nhau. File-Base system lại “khó chia sẻ”. Bạn hiểu như thế nào về điều này?
– Ví dụ nào cho thấy sự “lưu trữ thừa” dữ liệu đối với File-Base system?
– Metadata là gì? Vai trò của Metadata trong DB System?
7. Tham khảo
– DataBase Systems – A practical approach to Design, Implementation and Management. Thomas M.Connolly, Carolyn E.Begg. University of PaiLey
– Bài giảng môn CSDL – Hệ Thống Thông Tin – Khoa CNTT – ĐH KHTN TP.HCM
thành phố Hồ Chí Minh, 09/08/2009
Nguyễn Minh Bình.
Written
on October 23, 2012