Các bước xây dựng cơ sở dữ liệu là một trong những từ khóa được tìm kiếm nhiều nhất trên google về chủ đề các bước xây dựng cơ sở dữ liệu. Trong bài viết này, coder.com.vn sẽ viết bài Hướng dẫn các bước xây dựng cơ sở dữ liệu mới nhất 2020
1. Lựa chọn bài toán
Ở công đoạn này, từ các yêu cầu(requirement) của bài toán, ta cần lựa chọn hệ thống sẽ làm những cái gì, làm với những đối tượng nào. ví dụ với bài toán trên, mình sẽ nhận thấy một số điều như sau:
- Những tác nhân chủ đạo của hệ thống: Admin, giáo viên, học sinh
- Những công dụng chính:
- Admin:
- Thêm, sửa, xóa lớp học
- Thêm học sinh, giáo viên vào lớp học
- Giáo viên, học sinh:
- Thêm, sửa, xóa thông tin cá nhân
- xem nội dung những lớp mình dạy(hoặc học) Từ công đoạn này ta có cái nhìn bao quát hơn về hệ thống, về tính năng của từng nguyên nhân cũng như hướng bạn sẽ phát triển hệ thống từ đâu.
- Admin:
2 Xây dựng mô hình thực thể – liên kết
Đây chính là một bước yêu cầu sự tiêu chuẩn cao trước thời gian bạn muốn có một bảng cơ sơ dữ liệu có lí, nó có thể quyết định xem cơ sở dữ liệu của bạn có tốt hay không.
Ở bước này, bạn cần xác định từ những requirement của bài toán , những tính năng bạn đã xác định, những thực thể của hệ thống là gì, chúng sẽ có nhiều thuộc tính gì, , quan hệ của chúng là gì.
Xem thêm: Các tính chất của OOP [Lập trình hướng đối tượng] mới nhất 2020
2.1. Lựa chọn thực thể
Để dễ dàng, mình sẽ thiết kế một sơ đồ dễ hiểu nhất cho các bạn. trước tiên, hãy chọn lựa những thực thể của bài toán. Thực thể ở đây là một đối tượng trong toàn cầu thực. Ta có khả năng đơn giản cảm nhận những đối tượng tại bài toán như: Admin, giáo viên, học sinh, lớp học, account. Với mỗi thực thể đấy, hãy chọn lựa những tính chất của chúng, ví dụ như sau:
- Giáo viên: Mã giáo viên (MGV), Tên, Ngày sinh, Quê quán, số máy, mail, khả năng giảng dạy
- Học sinh: Mã học sinh (MHS), Tên, Ngày sinh, Quê quán, Địa chỉ, số máy, email, Hạnh kiểm, Xếp loại
- …
2.2. Lựa chọn khóa chủ đạo
Đối với mỗi đối tượng mục tiêu và các tính chất đó, bạn hãy lựa chọn các khóa chủ đạo của những đối tượng mục tiêu đó. Khóa chủ đạo có thể hiểu giản đơn là các tính chất nhằm xác định ra một đối tượng mục tiêu độc nhất nào đó. những khóa này sẽ ảnh hưởng tới quan hệ của các tập thực thể với nhau. ví dụ đối với giáo viên, ta có khả năng thấy rằng, mỗi giáo viên sẽ có một MGV không giống nhau, tức là không giáo viên nào có mã giống nhau, chứ không giống như những thuộc tính khác(2 giáo viên có khả năng trùng tên, hay trùng ngày sinh, …). Một khóa chính có khả năng chứa nhiều thuộc tính (nếu như không hề có 1 thuộc tính đơn lẻ nào mà xác định được thực thể duy nhất). Một nguyên tắc đáng chú ý khi chọn khóa đấy chủ đạo là khóa ít nhất, tức là bạn phải chọn khóa sao cho sô thuộc tính trong khóa chính đó là ít nhất có khả năng.
2.3. Xác định quan hệ giữa những thực thể
Khi đã xác định được các thực thể , thuộc tính của chúng, công việc tiếp theo sẽ là xác định ra quan hệ giữa các thập thực thể. Chúng ta có các loại quan hệ như sau:
- 1-1 (một-một): Là quan hệ mà mỗi đối tượng mục tiêu này chỉ có một đối tượng mục tiêu kia, , trái lại. ví dụ bài toán trên,mỗi người sử dụng chỉ có một tài khoản độc nhất, , trái lại mỗi account chỉ thuộc về một người duy nhất. vì thế, quan hệ giữa giáo viên – account, học sinh – account, admin – tài khoản là 1-1.
- 1-n (một-nhiều): Là quan hệ mà mỗi đối tượng này có những đối tượng khác nhưng không hề có chiều trái lại. ví dụ ở trên, mỗi lớp có những học sinh nhưng mỗi học sinh chỉ thuộc về một lớp. vì lẽ đó, quan hệ giữa lớp học – học sinh là 1-n.
- n-n (nhiều nhiều): Là quan hệ mà mỗi đối tượng mục tiêu này có nhiều đối tượng mục tiêu kia, , trái lại. ví dụ, mỗi giáo viên có khả năng dạy nhiều lớp và mỗi lớp có thể có nhiều giáo viên dạy nên quan hệ giữa chúng là n-n.
Xem thêm: Những ngôn ngữ lập trình trí tuệ nhân tạo c++ phổ biến nhất hiện nay
2.4. Vẽ mô hình thực thể – liên kết
Khi mà đã có một tập những quan hệ như vậy, ta sẽ vẽ sơ thực thể liên kết như sau:
Mỗi tập thực thể được biểu hiện bằng hình chữ nhật, các tính chất là hình bầu dục, còn những quan hệ giữa những thực thể sẽ là hình thoi. những khóa chủ đạo được khắc ghi bằng gạch dưới. các kiểu liên kết được viết trên các đường nối tới quan hệ. Từ hình vẽ này, ta có khả năng có cách nhìn nhận tổng quát về quan hệ của toàn hệ thống.
3 Chuyển đổi mô tạo ra quan hệ dạng bảng
Từ sơ đồ thực thể liên kết, ta sẽ chuyển đổi thành quan hệ dưới dạng bảng. Đối với những thực thể, ta sẽ lưu giữ chúng dưới dạng một bảng với những trường là những thuộc tính tương ứng. ngoài ra, ta cần phải cân nhắc những quan hệ giữa những thực thể để thêm những trường nhằm liên kết giữa những bảng với nhau, chiều lòng cho việc truy vấn cơ sở dữ liệu sau này. Đối với mỗi kiểu liên kết, ta có kiểu liên kết giữa các bảng khác nhau:
1-1: Chúng ta sẽ kết nối các bảng này bằng việc thêm các khóa chính của một bảng vào bảng còn lại. Ví dụ: Quan hệ của Học sinh – account là 1-1:
- TaiKhoan = IDvà tenTaiKhoan, matKhau
- HocSinh = MHS, ten, ngaySinh, queQuan, email, xepLoai, hanhKiem, idTaiKhoan
Thường thường, bảng được thêm trường là bảng mà đưa ý nghĩa thuộc về đối tượng của bảng còn lại dù rằng ta có khả năng làm ngược lại, chẳng phải sai về mặt dữ liệu cũng như sử dụng. Ở đây mình sử dụng cách trái lại cho thuận tiện khi dùng bảng account cho nhiều loại người dùng khác nhau.
- 1-n: Ta sẽ thêm khóa chính vào bảng biểu hiện cho quan hệ nhiều. Ví dụ: Quan hệ của Lớp học – Học Sinh là 1-n:
- LopHoc = maLop, ten, diaDiem
- HocSinh = MHSvà ten, ngaySinh, queQuan, mail, xepLoai, hanhKiem, maLop
- n-n: Ta sẽ sinh ra một bảng mới có chứ cả 2 khóa chính của 2. bảng có quan hệ n-n. ngoài ra ta cũng có khả năng thêm những tính chất của mối quan hệ này. chẳng hạn như như Giáo viên – Lớp học là n-n:
- LopHoc = maLop, ten, diaDiem
- GiaoVien = MGVvà ten, ngaySinh, queQuan, email, sdt, trinhDo
- GiangDay = maLopvà MGVvà mon
Như vậy ta đã có các bảng với các mối quan hệ , trường tương ứng. Ta có khả năng mang chúng về dạng UML lớp để có thể có một tưởng tượng chuẩn xác về cơ sở dữ liệu của chúng ta:
4 Kết luận
Như vậy chúng ta đã bước qua chu trình để sở hữu một cơ sở dữ liệu căn bản. bài đăng này chỉ là phần share kinh nghiểm của bản thân mình khi mới khởi đầu với việc xây dựng cơ sở dữ liệu. Sẽ có rất nhiều bí quyết để tạo lên một cơ sở dữ liệu cho một bài toán. vì vậy, sẽ có vô số cơ sở liệu phù hợp, nên vì vậy hãy chọn cơ sở dữ liệu nào phù hợp nhất. hy vọng bài đăng có thể hỗ trợ bạn có một hướng đi tốt cho việc tạo cơ sở dữ liệu.
Xem thêm: SQL Injection là gì? Hướng dẫn cách kiểm tra SQL Injection mới nhất 2020
Nguồn: https://techtalk.vn/