CHÉM GIÓ, BÀN LUẬN VỀ KỸ THUẬT
Nhập môn cơ sở dữ liệu - Phần 1: Khái niệm về database
11 Tháng Năm 2021
Cơ sở dữ liệu và hệ thống cơ sở dữ liệu là một thành phần thiết yếu của cuộc sống trong xã hội hiện đại: hầu hết chúng ta gặp một số hoạt động mỗi ngày liên quan đến một số tương tác với cơ sở dữ liệu. Trong loạt bài này chúng ta sẽ tìm hiểu các khái niệm về database nhé
Cơ sở dữ liệu và hệ thống cơ sở dữ liệu là một thành phần thiết yếu của cuộc sống trong xã hội hiện đại: hầu hết chúng ta gặp một số hoạt động mỗi ngày liên quan đến một số tương tác với cơ sở dữ liệu. Ví dụ: khi chúng ta đến ngân hàng để gửi hoặc rút tiền, khi chúng ta đặt phòng khách sạn hoặc máy bay, khi chúng ta truy cập vào danh mục thư viện được vi tính hóa để tìm kiếm một mục thư mục hoặc khi chúng ta mua một thứ gì đó trực tuyến — chẳng hạn như sách, đồ chơi hoặc máy tính — rất có thể các hoạt động của chúng ta sẽ liên quan đến một người nào đó hoặc một số chương trình máy tính truy cập vào cơ sở dữ liệu.
Những tương tác này là ví dụ về những gì chúng ta có thể gọi là các ứng dụng cơ sở dữ liệu truyền thống, trong đó hầu hết thông tin được lưu trữ và truy cập là dạng văn bản hoặc dạng số. Trong vài năm qua, những tiến bộ trong công nghệ đã dẫn đến những ứng dụng mới thú vị của hệ thống cơ sở dữ liệu. Sự gia tăng của các trang web mạng xã hội, chẳng hạn như Facebook, Twitter và Flickr, cùng với nhiều trang khác, đã đòi hỏi phải tạo ra các cơ sở dữ liệu khổng lồ lưu trữ dữ liệu phi truyền thống, chẳng hạn như bài đăng, tweet, hình ảnh và video clip. Các loại hệ thống cơ sở dữ liệu mới, hay còn được gọi là hệ thống lưu trữ dữ liệu lớn, hoặc các hệ thống NOSQL, đã được tạo ra để quản lý dữ liệu cho các ứng dụng truyền thông xã hội. Các loại hệ thống này cũng được sử dụng bởi các công ty như Google, Amazon và Yahoo, để quản lý dữ liệu cần thiết trong các công cụ tìm kiếm trên Web của họ, cũng như cung cấp lưu trữ đám mây, theo đó người dùng được cung cấp khả năng lưu trữ trên Web để quản lý tất cả các loại dữ liệu bao gồm tài liệu, chương trình, hình ảnh, video và email.
Giới thiệu về database
Cơ sở dữ liệu và công nghệ cơ sở dữ liệu đã có tác động lớn đến việc sử dụng máy tính ngày nay. Công bằng mà nói, cơ sở dữ liệu đóng một vai trò quan trọng trong hầu hết các lĩnh vực mà máy tính được sử dụng, bao gồm kinh doanh, thương mại điện tử, truyền thông xã hội, kỹ thuật, y học, di truyền học, luật, giáo dục và thư viện. Cơ sở dữ liệu từ được sử dụng phổ biến đến mức chúng ta phải bắt đầu bằng cách xác định cơ sở dữ liệu là gì. Định nghĩa ban đầu của chúng ta khá chung chung
Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan. Ở đây nói về dữ liệu, chúng ta muốn nói đến các sự kiện đã biết có thể được ghi lại và có ý nghĩa ngầm định. Ví dụ, hãy xem xét tên, số điện thoại và địa chỉ của những người bạn biết. Ngày nay, dữ liệu này thường được lưu trữ trong điện thoại di động có phần mềm cơ sở dữ liệu đơn giản của riêng chúng. Dữ liệu này cũng có thể được ghi vào sổ địa chỉ đã được lập chỉ mục hoặc được lưu trữ trên ổ cứng, sử dụng máy tính cá nhân và phần mềm như Microsoft Access hoặc Excel. Bộ sưu tập dữ liệu liên quan với ý nghĩa ngầm định này là một cơ sở dữ liệu.
Định nghĩa trước đây về cơ sở dữ liệu là khá chung chung; ví dụ, chúng ta có thể coi tập hợp các từ tạo nên trang văn bản này là dữ liệu liên quan và do đó tạo thành cơ sở dữ liệu. Tuy nhiên, việc sử dụng phổ biến thuật ngữ cơ sở dữ liệu dần bị hạn chế hơn. Cơ sở dữ liệu có các thuộc tính ngầm định sau:
- Cơ sở dữ liệu đại diện cho một số khía cạnh của thế giới thực, đôi khi được gọi là thế giới nhỏ hoặc universe of discourse (UoD). Những thay đổi đối với thế giới nhỏ được phản ánh trong cơ sở dữ liệu.
- Cơ sở dữ liệu là một tập hợp dữ liệu mạch lạc về mặt logic với một số ý nghĩa vốn có. Một loại dữ liệu ngẫu nhiên không thể được coi là cơ sở dữ liệu một cách chính xác
- Cơ sở dữ liệu được thiết kế, xây dựng và cung cấp dữ liệu cho một mục đích cụ thể. Nó có một nhóm người dùng dự định và một số ứng dụng định sẵn mà những người dùng này quan tâm.
Nói cách khác, cơ sở dữ liệu có một số nguồn mà dữ liệu được lấy từ đó, một mức độ tương tác nào đó với các sự kiện trong thế giới thực và đối tượng tích cực quan tâm đến nội dung của nó. Người dùng cuối của cơ sở dữ liệu có thể thực hiện các giao dịch kinh doanh (ví dụ: khách hàng mua máy ảnh) hoặc các sự kiện có thể xảy ra (ví dụ: nhân viên có con nhỏ) khiến thông tin trong cơ sở dữ liệu thay đổi. Để cơ sở dữ liệu luôn chính xác và đáng tin cậy, nó phải phản ánh trung thực thế giới mini mà nó đại diện; do đó, các thay đổi phải được phản ánh trong cơ sở dữ liệu càng sớm càng tốt.
Cơ sở dữ liệu có thể có kích thước và độ phức tạp bất kỳ. Ví dụ, danh sách tên và địa chỉ được đề cập trước đó có thể chỉ gồm vài trăm bản ghi, mỗi bản ghi có cấu trúc đơn giản. Mặt khác, danh mục máy tính của một thư viện lớn có thể chứa nửa triệu mục nhập được sắp xếp theo các danh mục khác nhau — theo họ của tác giả chính, theo chủ đề, theo tên sách — với mỗi danh mục được sắp xếp theo thứ tự bảng chữ cái. Một cơ sở dữ liệu có kích thước và độ phức tạp lớn hơn nữa sẽ được duy trì bởi một công ty truyền thông xã hội như Facebook, công ty có hơn một tỷ người dùng. Cơ sở dữ liệu phải duy trì thông tin mà người dùng có quan hệ với nhau như bạn bè, bài đăng của mỗi người dùng, người dùng được phép xem mỗi bài đăng và một lượng lớn các loại thông tin khác cần thiết cho hoạt động chính xác của trang Web của họ. Đối với các trang Web như vậy, cần phải có một số lượng lớn cơ sở dữ liệu để theo dõi các thông tin liên tục thay đổi theo yêu cầu của trang Web truyền thông xã hội.
Một ví dụ về cơ sở dữ liệu thương mại lớn là Amazon.com. Nó chứa dữ liệu của hơn 60 triệu người dùng đang hoạt động và hàng triệu cuốn sách, CD, video, DVD, trò chơi, thiết bị điện tử, quần áo và các mặt hàng khác. Cơ sở dữ liệu chiếm hơn 42 terabyte (một terabyte là dung lượng lưu trữ 1012 byte) và được lưu trữ trên hàng trăm máy tính (được gọi là máy chủ). Hàng triệu khách truy cập Amazon.com mỗi ngày và sử dụng cơ sở dữ liệu để mua hàng. Cơ sở dữ liệu được cập nhật liên tục khi sách mới và các mặt hàng khác được thêm vào kho và số lượng hàng trong kho được cập nhật khi giao dịch mua hàng.
Cơ sở dữ liệu có thể được tạo và duy trì theo cách thủ công hoặc nó có thể được vi tính hóa. Ví dụ, danh mục thẻ thư viện là một cơ sở dữ liệu có thể được tạo và duy trì theo cách thủ công. Cơ sở dữ liệu máy tính có thể được tạo và duy trì bởi một nhóm các chương trình ứng dụng được viết riêng cho nhiệm vụ đó hoặc bởi một hệ quản trị cơ sở dữ liệu.
Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống được máy tính hóa cho phép người dùng tạo và duy trì cơ sở dữ liệu. DBMS là một hệ thống phần mềm có mục đích chung tạo điều kiện thuận lợi cho các quá trình xác định, xây dựng, thao tác và chia sẻ cơ sở dữ liệu giữa những người dùng và ứng dụng khác nhau. Việc xác định cơ sở dữ liệu bao gồm việc xác định các kiểu dữ liệu, cấu trúc và các ràng buộc của dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu. Định nghĩa cơ sở dữ liệu hoặc thông tin mô tả cũng được DBMS lưu trữ dưới dạng danh mục cơ sở dữ liệu hoặc từ điển; nó được gọi là siêu dữ liệu. Xây dựng cơ sở dữ liệu là quá trình lưu trữ dữ liệu trên một số phương tiện lưu trữ được điều khiển bởi DBMS. Thao tác với cơ sở dữ liệu bao gồm các chức năng như truy vấn cơ sở dữ liệu để lấy dữ liệu cụ thể, cập nhật cơ sở dữ liệu để phản ánh những thay đổi trong thế giới nhỏ và tạo báo cáo từ dữ liệu. Chia sẻ cơ sở dữ liệu cho phép nhiều người dùng và chương trình truy cập cơ sở dữ liệu đồng thờ
Một chương trình ứng dụng truy cập cơ sở dữ liệu bằng cách gửi các truy vấn (query) hoặc yêu cầu (request) dữ liệu tới DBMS. Một truy vấn thường khiến một số dữ liệu được truy xuất; một giao dịch (transaction) có thể khiến một số dữ liệu được đọc và một số dữ liệu được ghi vào cơ sở dữ liệu.
Các chức năng quan trọng khác được cung cấp bởi DBMS bao gồm bảo vệ cơ sở dữ liệu và duy trì nó trong một khoảng thời gian dài. Bảo vệ bao gồm bảo vệ hệ thống khỏi sự cố phần cứng hoặc phần mềm và bảo vệ an ninh chống lại truy cập trái phép hoặc độc hại. Một cơ sở dữ liệu lớn điển hình có thể có vòng đời kéo dài nhiều năm, vì vậy DBMS phải có khả năng duy trì hệ thống cơ sở dữ liệu bằng cách cho phép hệ thống phát triển khi các yêu cầu thay đổi theo thời gian.
Không nhất thiết phải sử dụng phần mềm DBMS có mục đích chung để triển khai cơ sở dữ liệu được máy tính hóa. Có thể viết một bộ chương trình tùy chỉnh để tạo và duy trì cơ sở dữ liệu, thực tế là tạo ra một phần mềm DBMS dành riêng cho một ứng dụng cụ thể, chẳng hạn như đặt chỗ của các hãng hàng không. Trong cả hai trường hợp — cho dù chúng ta có sử dụng DBMS cho mục đích chung hay không — một lượng đáng kể phần mềm phức tạp được triển khai. Trên thực tế, hầu hết các DBMS là các hệ thống phần mềm rất phức tạp.
Để hoàn thành các định nghĩa ban đầu, chúng ta sẽ gọi cơ sở dữ liệu và phần mềm DBMS cùng là một hệ thống cơ sở dữ liệu. Hình dưới minh họa một số khái niệm mà chúng ta đã thảo luận cho đến nay.
Đặc điểm của phương pháp tiếp cận cơ sở dữ liệu
Một số đặc điểm phân biệt cách tiếp cận cơ sở dữ liệu với cách tiếp cận cũ hơn nhiều là viết các chương trình tùy chỉnh để truy cập dữ liệu được lưu trữ trong tệp. Trong xử lý tệp truyền thống, mỗi người dùng xác định và thực hiện các tệp cần thiết cho một ứng dụng phần mềm cụ thể như một phần của lập trình ứng dụng. Ví dụ: một người dùng, văn phòng báo cáo điểm, có thể giữ các tệp về học sinh và điểm của họ. Các chương trình in bảng điểm của học sinh và nhập điểm mới được triển khai như một phần của ứng dụng. Người dùng thứ hai, văn phòng kế toán, có thể theo dõi các khoản phí của sinh viên và các khoản thanh toán của họ. Mặc dù cả hai người dùng đều quan tâm đến dữ liệu về sinh viên, nhưng mỗi người dùng duy trì các tệp riêng biệt — và các chương trình để thao tác các tệp này — vì mỗi người yêu cầu một số dữ liệu không có sẵn từ tệp của người dùng khác. Sự dư thừa này trong việc xác định và lưu trữ dữ liệu dẫn đến không gian lưu trữ bị lãng phí và trong những nỗ lực dư thừa để duy trì dữ liệu cập nhật chung.
Trong phương pháp tiếp cận cơ sở dữ liệu, một kho lưu trữ duy nhất dữ liệu được xác định một lần và sau đó được nhiều người dùng khác nhau truy cập lặp đi lặp lại thông qua các truy vấn, giao dịch và chương trình ứng dụng. Các đặc điểm chính của cách tiếp cận cơ sở dữ liệu so với cách tiếp cận xử lý tệp là như sau:
- Tự mô tả bản chất của một hệ thống cơ sở dữ liệu
- Cách ly giữa các chương trình và dữ liệu, và trừu tượng hóa dữ liệu
- Hỗ trợ nhiều chế độ xem dữ liệu
- Chia sẻ dữ liệu và xử lý giao dịch đa người dùng
Tạm Kết
Trong bài viết này chúng ta đã tìm hiểu các khái niệm cơ bản về cơ sơ dữ liệu, trong bài viết tiếp theo chúng ta sẽ tìm hiểu kỹ về các đặc điểm chính của cách tiếp cận cơ sở dữ liệu so với cách tiếp cận xử lý tệp. Chúc bạn đọc vui vẻ