Hiểu biết về cơ sở dữ liệu là điều kiện tiên quyết để phát triển các ứng dụng web, ứng dụng diđộng, hệ thống thông tin doanh nghiệp, hệ thống quản lý thông tin y tế, và nhiều lĩnhvực côn
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Sự hình thành và phát triển của cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là một hệ thống tổ chức và quản lý dữ liệu trong máy tính, với sự phát triển qua nhiều giai đoạn kể từ khi ra đời Sự tiến hóa của CSDL phản ánh những thay đổi trong công nghệ và nhu cầu lưu trữ thông tin.
Giai đoạn đầu tiên của cơ sở dữ liệu (trước năm 1960) chủ yếu dựa vào việc lưu trữ dữ liệu trên giấy hoặc trong các tệp tin vật lý, được gọi là cơ sở dữ liệu dựa trên tệp tin Dữ liệu được tổ chức dưới dạng các tệp tin văn bản hoặc tệp tin nhị phân, với việc quản lý dữ liệu thường thực hiện qua các chương trình ứng dụng riêng biệt Trong giai đoạn này, các hệ thống quản lý cơ sở dữ liệu đầu tiên, như hệ quản lý tệp (File Management System), đã được phát triển.
Giai đoạn thứ hai (1960 - 1980) đánh dấu sự ra đời của mô hình cơ sở dữ liệu quan hệ do Edgar F Codd đề xuất vào năm 1970, mở ra một kỷ nguyên mới trong lĩnh vực quản lý dữ liệu Mô hình này tổ chức dữ liệu thông qua các bảng, tạo ra mối quan hệ giữa các bảng thay vì lưu trữ trong các tệp tin độc lập như trước đây Các hệ quản lý cơ sở dữ liệu quan hệ đầu tiên, như Oracle và IBM DB2, được phát triển trong giai đoạn này Đồng thời, sự phát triển của máy tính điện tử đã cho phép cơ sở dữ liệu được lưu trữ trên băng từ hoặc đĩa từ, và công nghệ quản lý dữ liệu, bao gồm hệ quản trị cơ sở dữ liệu (DBMS) đầu tiên, đã ra đời, giúp tổ chức và quản lý dữ liệu một cách hệ thống hơn.
Giai đoạn thứ ba (1980 - 2000) đánh dấu sự phát triển của cơ sở dữ liệu đối tượng, trong đó dữ liệu được lưu trữ dưới dạng đối tượng, cho phép định nghĩa các kiểu dữ liệu riêng biệt và xử lý dữ liệu phức tạp hơn Các hệ quản lý cơ sở dữ liệu đối tượng đầu tiên, như C++ Object-Relational Database Management System (C++ ORDBMS), đã được phát triển trong thập niên này.
Trong thập niên 1980 và 1990, máy tính cá nhân trở nên phổ biến, với cơ sở dữ liệu (CSDL) được lưu trữ trên đĩa cứng Công nghệ hệ quản trị cơ sở dữ liệu (DBMS) phát triển mạnh mẽ, dẫn đến sự ra đời và ứng dụng rộng rãi của các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) như Oracle, Microsoft SQL Server và IBM DB2.
Giai đoạn thứ tư (2000 - đến nay) chứng kiến sự phát triển của cơ sở dữ liệu phân tán, nhờ vào sự tiến bộ của mạng máy tính và internet Cơ sở dữ liệu phân tán cho phép lưu trữ dữ liệu trên nhiều máy tính vật lý khác nhau và truy cập từ xa Các công nghệ như hệ quản lý cơ sở dữ liệu phân tán (DDBMS) và hệ quản lý cơ sở dữ liệu dạng lưới đã được phát triển để hỗ trợ cho mô hình này Cơ sở dữ liệu đã trở thành một phần thiết yếu trong các ứng dụng công nghệ thông tin, dịch vụ web và lưu trữ dữ liệu trực tuyến, ngày càng trở nên phổ biến và không thể thiếu trong thời đại số hiện nay.
Khái niệm cơ sở dữ liệu
Cơ sở dữ liệu là một hệ thống thông tin có cấu trúc và nhất quán, được lưu trữ trên các thiết bị lưu trữ để phục vụ nhu cầu khai thác và sử dụng của nhiều người và chương trình khác nhau Vai trò của dữ liệu là không thể phủ nhận trong bất kỳ cơ quan hay đơn vị nào.
Cơ sở dữ liệu được tổ chức theo cấu trúc riêng biệt, bao gồm các trường dữ liệu hoặc bản dữ liệu có khả năng liên kết với nhau Người dùng có thể chỉnh sửa, bổ sung, truy cập và truy xuất thông tin theo nhu cầu sử dụng khác nhau.
Phân loại cơ sở dữ liệu
Mô hình cơ sở dữ liệu dạng file hiện đang là một trong những mô hình phổ biến nhất Với quy mô nhỏ và vừa, các nội dung thường được thể hiện dưới dạng các file đơn giản như Word, Excel, và các định dạng tương tự.
Mô hình phân cấp tổ chức dữ liệu dưới dạng cây, với các nhánh được sắp xếp từ trên xuống Mỗi nút trong cây đại diện cho một thực thể dữ liệu, trong đó nút mẹ tạo ra nhiều nút con Mối quan hệ giữa nút mẹ và nút con là chặt chẽ, với mỗi nút con phải phát sinh từ nút mẹ.
Mô hình mạng này có đặc điểm nổi bật là tập hợp nhiều file đơn lẻ khác nhau vào một file lớn, thường được gọi là bản ghi.
Dữ liệu được phân loại và tổ chức thành một loại gọi là dữ liệu thực thể, trong đó các thực thể này liên kết với nhau thông qua mối quan hệ mẹ và con.
Mô hình dữ liệu được trình bày dưới dạng bảng biểu, trong đó các thông tin khác nhau không có mối quan hệ trực tiếp với nhau Thông tin có thể được sắp xếp qua các hàng và cột, với dữ liệu chính là các bảng Mỗi bảng bao gồm các dòng hàng, được gọi là bản ghi, và các dòng cột, được gọi là thuộc tính.
Mô hình cơ bản này tương tự như mô hình quan hệ, cho phép lưu trữ dữ liệu dưới dạng bảng Tuy nhiên, nó còn tích hợp tính năng mới, cho phép lưu trữ thêm nội dung hành vi trong bảng, giúp thể hiện ý nghĩ của quản trị viên một cách rõ ràng hơn.
Dữ liệu được lưu trữ dưới dạng XML, với thông tin được thể hiện qua các thẻ Mô hình này có ưu điểm nổi bật là khả năng lưu trữ đa dạng các loại dữ liệu, rất phù hợp cho nghiên cứu.
CÁC NỘI DUNG CẦN BÁO CÁO
Đặt bài toán và mô tả bài toán
Xác định bài toán đầu vào đầu ra
Trong các siêu thị, hàng hóa được phân loại thành nhiều danh mục, mỗi danh mục chứa nhiều sản phẩm Mỗi sản phẩm đều có tên và mã sản phẩm duy nhất, cùng với các thông tin cơ bản như giá cả, số lượng tồn kho, ngày nhập hàng, nhà sản xuất và danh mục sản phẩm.
Hệ thống các bảng biểu lưu trữ thông tin về các sản phẩm trong siêu thị. (Bảng danh mục hàng, bảng hàng hóa tồn kho, bảng giá, )
Từ đề bài ta có các thực thể sau:
Xác định các thuộc tính của thực thể:
Tên nhà cung cấp Địa chỉ
Các mối liên kết phụ thuộc hàm giữa các thực thể
Mã sản phẩm đóng vai trò quan trọng trong việc xác định tên, mô tả, giá cả, số lượng, kích thước, trọng lượng, chất liệu, nhà sản xuất, nhà phân phối, cùng với các đánh giá và nhận xét từ khách hàng.
Mã nhà cung cấp là thông tin quan trọng giúp xác định tên, địa chỉ, số điện thoại, email, ngày thành lập, lĩnh vực hoạt động cũng như các sản phẩm hoặc dịch vụ mà nhà cung cấp cung cấp Ngoài ra, mã này còn bao gồm thông tin về lịch sử và kinh nghiệm của nhà cung cấp, tạo thuận lợi cho việc đánh giá và lựa chọn đối tác kinh doanh.
Mã nhân viên là thông tin quan trọng xác định tên, ngày tháng năm sinh, giới tính, địa chỉ, số điện thoại, email, vị trí làm việc, mức lương, thời gian làm việc, trình độ học vấn, kinh nghiệm, chuyên môn và các kỹ năng liên quan đến công việc.
Mã khách hàng chứa các thông tin quan trọng như tên, địa chỉ, số điện thoại, email, ngày sinh, giới tính, lịch sử mua hàng, thông tin tài khoản, sở thích và nhu cầu của khách hàng, cùng với đánh giá về sản phẩm, dịch vụ và chất lượng phục vụ.
Xây dựng mô hình ER (mô hình thực thể liên kết)
Mô hình ER (Entity-Relationship) là công cụ đồ họa quan trọng để mô tả cấu trúc dữ liệu của cơ sở dữ liệu, thể hiện các thực thể, mối quan hệ giữa chúng và các thuộc tính tương ứng Để xây dựng mô hình ER, cần thực hiện một số bước cơ bản nhằm xác định và tổ chức thông tin một cách hiệu quả.
Xác định các thực thể (entity): Xác định các đối tượng hoặc thực thể mà bạn muốn mô hình hóa trong cơ sở dữ liệu.
Xác định các thuộc tính (attribute) của các thực thể: Xác định các đặc điểm hoặc thuộc tính mà mỗi thực thể có thể có.
Xác định các mối quan hệ (relationship) giữa các thực thể: Xác định các mối quan hệ giữa các thực thể.
Để xác định khóa chính (primary key) cho các thực thể, cần xác định các thuộc tính hoặc tập hợp thuộc tính của mỗi thực thể, nhằm định danh duy nhất cho từng bản ghi Khóa chính này đóng vai trò quan trọng trong việc đảm bảo tính duy nhất của dữ liệu trong cơ sở dữ liệu.
Để vẽ biểu đồ ER, bạn cần sử dụng các ký hiệu đồ họa đặc trưng của mô hình ER, giúp biểu diễn các thực thể, thuộc tính, mối quan hệ và khóa chính trong cơ sở dữ liệu.
Bằng cách thực hiện các bước cơ bản, chúng ta có thể xây dựng một mô hình thực thể liên kết dựa trên các thuộc tính và thực thể được cung cấp trong đề bài.
NHÀ CUNG CẤP & SẢN PHẨM
JJB SD CBS J JBD CJ DC BS DD CB n ÁN
C.cấấp cấấp N JJBS DCB SJ JBDC J DCB SDD CB n ÁN
Mua N JJBS DCBS J JBDC J DCBS DDC B n ÁN maNCC maSP
N JJBSD CBSJ JBDC J DCBS DDC B n ÁN
T dcKH maKH tenKH em ai l
Chuyển đổi từ mô hình ER sang mô hình quan hệ
Quá trình chuyển đổi từ mô hình ER (Entity-Relationship) sang mô hình quan hệ (Relational) là việc chuyển đổi cấu trúc dữ liệu, trong đó mô hình ER mô tả mối quan hệ giữa các thực thể trong cơ sở dữ liệu, sang mô hình quan hệ, sử dụng bảng và các quan hệ giữa chúng trong cơ sở dữ liệu quan hệ.
Dưới đây là các bước để chuyển đổi từ mô hình ER sang quan hệ:
Xác định mối quan hệ giữa các thực thể trong mô hình ER và chuyển đổi chúng thành quan hệ trong cơ sở dữ liệu quan hệ là rất quan trọng Mối quan hệ N-nhất trong mô hình ER có thể được biểu diễn bằng cách tạo một bảng mới, trong đó các cột chứa các khóa chính của các thực thể liên quan đến mối quan hệ đó.
Khóa chính (primary key) trong cơ sở dữ liệu quan hệ là một thuộc tính hoặc một tập hợp các thuộc tính được sử dụng để xác định duy nhất mỗi bản ghi trong bảng Việc xác định khóa chính là rất quan trọng để đảm bảo tính toàn vẹn và khả năng truy cập dữ liệu hiệu quả.
Khóa ngoại (foreign key) trong cơ sở dữ liệu quan hệ là các thuộc tính trong một bảng, dùng để tham chiếu đến khóa chính của bảng khác, từ đó xác định các quan hệ giữa các bảng Việc thiết lập các quan hệ này giúp tăng cường tính toàn vẹn dữ liệu và tổ chức thông tin một cách hiệu quả hơn trong cơ sở dữ liệu.
Kiểm tra và điều chỉnh cấu trúc dữ liệu quan hệ là bước quan trọng để đảm bảo tính nhất quán và hợp lý của cơ sở dữ liệu Quá trình này bao gồm việc loại bỏ các dữ liệu dư thừa, chuẩn hóa dữ liệu và đảm bảo tính toàn vẹn (integrity) của thông tin trong cơ sở dữ liệu.
*Chuyển mô hình từ ER sang mô hình quan hệ:
Sp( ma SP , tenSP , gia , maKH )
Sp( maSP , tenSP, gia, maNCC )
KH( maKH , tenKH , SĐT , dcKH, m aNV )
SĐT T tenNV dcNV nNV email dcKH n n
Cài đặt cơ sở dữ liệu trên hệ quản trị cơ sở dữ liệu cụ thể
Thuộc tính Kiểu dữ liệu Độ dài Giải thích maNV NCHAR 10 Mã Nhân Viên tenNV NVARCHAR 50 Tên Nhân viên
SDT NCHAR 10 Số điện thoại nhân viên dcNV NVARCHAR 100 Địa chỉ nhân viên
Email NVARCHAR 50 Email nhân viên
GioiTinh VARCHAR 5 Giới tính nhân viên b Bảng SP:
Thuộc tính Kiểu dữ liệu Độ dài Giải thích maSP NCHAR 10 Mã sản phẩm
18 tênSP NVARCHAR 50 Tên sản phẩm gia MONEY Giá sản phẩm maKH NCHAR 5 Mã khách hàng maSP NCHAR 5 Mã sản phẩm c Bảng NCC
Thuộc tính Kiểu dữ liệu Độ dài Giải thích maNCC NVARCHAR 50 Mã nhà cung cấp tenNCC VARCHAR 50 Tên nhà cung cấp
SDT NCHAR 10 Số điện thoại nhà cung cấp
DiaChi NVARCHAR 50 Địa chỉ nhà cung cấp d Bảng KH:
5 Truy vấn trong hệ quản trị cơ sở dữ liệu (dùng ngôn ngữ đại số quan hệ+SQL ): a Về ngôn ngữ đại số quan hệ Đại số quan hệ là ngôn ngữ hình thức cho mô hình quan hệ được phát triển trước SQL Đại số quan hệ còn có thể được hiểu là tập các thao tác trên mô hình quan hệ, được sử dụng như là cơ sở cho việc cài đặt và tối ưu các câu lệnh truy vấn. Một số khái niệm của đại số quan hệ được tích hợp vào các câu lệnh truy vấn của SQL, do đó việc tìm hiểu về đại số quan hệ là bệ phóng để xây dựng và thực thi các câu lệnh SQL một cách có hiệu quả. Đại số quan hệ được định nghĩa bằng công thức: α = (R, O)
R: Là các quan hệ trong CSDL hoặc kết hợp với các phép toán quan hệ
O: Là tập các phép toán quan hệ với đầu vào là một hoặc nhiều quan hệ để được đầu ra là một quan hệ mới – quan hệ kế
Phép toán một ngôi là thao tác chỉ thực hiện trên một quan hệ, với đầu vào là một quan hệ và đầu ra là một quan hệ mới Trong đó, phép chọn (Selection) được sử dụng để trích xuất một tập hợp con các bộ từ quan hệ thỏa mãn điều kiện nhất định, ký hiệu là ϭ.
*Phép chiếu (Projection): Được sử dụng để chọn một vài cột hay thuộc tính từ một bảng, ký hiệu π
Là phép dùng để đặt lại tên cho thuộc tính hoặc quan hệ nào đó.
Thuộc tính Kiểu dữ liệu Độ dài Giải thích
MaKH VARCHAR 5 Mã khách hàng tenKH NVARCHAR 30 Tên khách hàng
SDT NCHAR 10 Số điện thoại khách hàng dcKH NVARCHAR 50 Địa chỉ khách hàng maNV NCHAR 10 Mã nhân viên
S(A1, A2,…An)(R):ᵽ Đặt lại tên quan hệ và thuộc tính
S(R)ᵽ : Đặt lại tên quan hệ và giữ nguyên các thuộc tính
*Thêm nữa, chúng ta có phép toán trên tập hợp.
Các phép toán trên tập hợp bao gồm giao, hợp và trừ, và chỉ có thể áp dụng khi hai quan hệ tương thích, tức là chúng phải có cùng bậc và các thuộc tính phải có cùng miền giá trị.
+Phép hợp: Hợp của hai quan hệ tương thích R và S gồm các bộ thuộc ít nhất một trong hai quan hệ đã cho.
+Phép giao: Giao của hai quan hệ S và R gồm các bộ thuộc về cả hai quan hệ đã cho.
+Phép trừ (Hiệu): Của hai quan hệ tương thích R và S, kí hiệu R \ S gồm các bộ chỉ thuộc R không thuộc S.
*Một số phép toán khác:
+Các phép toán kết nối Theta:
Cho quan hệ R(U) và S(V) θ là một trong các phép toán so sánh :