Trong các cơ sở dữ liệu, người ta thường đưa ra một mô hình để lưu giữ thông tin cần thiết, trong đó mô hình er và mô hình quan hệ được sử dụng khá nhiều. Vì có một số sự khác biệt cơ bản giữa mô hình er và mô hình quan hệ cũng như các tính năng khác nhau của chúng mà người ta lựa chọn sử dụng các loại mô hình sao cho phù hợp. Nhiều người dùng cũng có nhu cầu chuyển mô hình er sang mô hình quan hệ nhưng không nắm rõ được cách chuyển đổi gây nhiều khó khăn. Bài viết hôm nay sẽ giúp các bạn trang bị được kĩ năng cần thiết để có thể thao tác chuyển mô hình er sang mô hình quan hệ.
Mô hình ER là gì? Ví dụ về mô hình ER
Mô hình ER hay còn gọi là mô hình thực thể mối kết hợp, là một loại mô hình ở bậc cao cấp hơn so với mô hình mạng và được dùng nhiều trong việc thiết kế dữ liệu ở mức quan niệm. Mô hình er được đánh giá là có nhiều ưu điểm nổi trội hơn so với mô hình mạng, trong đó phải kể đến việc mô hình er thể hiện được rõ hơn các thành phần có trong thế giới thực, cho phép miêu tả được đặc điểm của từng đối tượng. Điều này khiến er trở thành mô hình được sử dụng nhiều trong quá trình thiết kế cơ sở dữ liệu.
Những loại thực thể của mô hình er chính là những đối tượng hoặc sự vật của thế giới thực được nhà lập trình đưa vào quản lý trong ứng dụng, thậm chí đối tượng của mô hình er cũng có thể là những đối tượng được tưởng tượng ra. Mô hình er dùng những kí hiệu hình chữ nhật để kí hiệu về các loại thực thể mà nó quản lý, tác động đến. Ví dụ trong một cơ sở dữ liệu có các loại thực thể là: SINHVIEN, GIANGVIEN,….
Mỗi lần bạn tạo được một lớp trong quá trình lập trình cơ sở dữ liệu hướng đối tượng thì đồng nghĩa với việc bạn đang tạo ra một thể hiện của đối tượng đó, mà đối tượng đó chính là đối tượng đang được class mô tả. Đối với mô hình thực thể mối kết hợp (er), thực thể của nó chính là một dạng biểu hiện ra của loại thực thể. Ví dụ loại thực thể SINHVIEN sẽ có các thực thể cụ thể là: Nguyễn Thị Ngọc, Trần Văn Tân, Trần Ngọc Hà, Lê Hiếu Hậu,…
Thuộc tính của mỗi loại thực thể sẽ thể hiện tính chất mô tả một đối tượng cụ thể nào đó của loại thực thể đang được nhắc đến. Điều này có thể lí giải một cách sinh động cụ thể thông qua việc nhìn vào biểu hiện bên ngoài của loại thực thể, ví dụ như anh A là nam, chị B là nữ, cái nhà màu tím, cái cây màu xanh,…thì nam, nữ, tím, xanh ở đây chính là thuộc tính của từng đối tượng. Với loại thực thể SINHVIEN ta có thể có các thuộc tính phụ thuộc như mã số sinh viên, giới tính, dân tộc, ngày sinh,… Đối với thuộc tính, ta chia thành ba loại là thuộc tính đơn vị, đa hợp và đa trị. Thuộc tính đơn vị có đặc điểm là sẽ chỉ có một giá trị duy nhất cho mỗi loại thực thể. Còn thuộc tính đa hợp sẽ cho chúng ta tạo được nhiều thành phần trong một thuộc tính và loại thuộc tính đa trị là loại thuộc tính cho phép người dùng có thể tạo ra được nhiều giá trị đối với mỗi loại thực thể.
Khóa của loại thực thể trong mô hình er sẽ cho phép người dùng nhận diện mỗi thực thể riêng biệt thông qua việc tạo cho mỗi thực thể một khóa thực thể duy nhất. Khi mỗi nhận biết các loại thực thể, ta chỉ cần dựa vào khóa thực thể, điều này sẽ làm tiết kiệm thời gian và công sức truy cập quản lí. Khi cac các thực thể trong mô hình er có sự liên kết với nhau, ta gọi đó là loại mối kết hợp. Mỗi loại mối kết hợp sẽ có các số ngôi cụ thể, số ngôi ở đây có thể hiểu đơn giản là số loại thực thể mà loại mối kết hợp đó gắn kết.
Cách chuyển mô hình er sang mô hình quan hệ
Đầu tiên, chúng ta hãy cùng tìm hiểu xem mô hình quan hệ là gì? Có thể hiểu mô hình quan hệ chính là các cơ sở dữ liệu được xây dựng dưới dạng một mô hình với 3 đặc trưng là các mối quan hệ phải có tên riêng biệt để có thể dễ dàng phân biệt với nhau; các bộ trong cơ sở dữ liệu được phân biệt với nhau và không quan trọng về mặt thứ tự; mỗi thuộc tính trong cơ sở dữ liệu cũng cần được đặt tên riêng biệt và giữa chúng không quan trọng thứ tự.
Trong mô hình quan hệ, cơ sở dữ liệu được thể hiện dưới dạng bảng và mỗi bảng sẽ bao gồm các hàng, cột thể hiện đầy đủ thông tin về một chủ thể. Các hàng sẽ có chức năng biểu thị đầy đủ các thuộc tính của một cá thể với những giá trị lần lượt tương ứng ở các cột, còn các cột sẽ biểu thị các thuộc tính riêng biệt, tên của cột cũng chính là tên của thuộc tính được biểu thị.
Khi cần thiết, người dùng sẽ chuyển đổi các loại mô hình trong cơ sở dữ liệu để phù hợp với nhu cầu sử dụng, ví dụ như v việc chuyển mô hình er sang mô hình quan hệ. Nhưng không phải ai cũng biết cách làm thế nào để chuyển mô hình er sang mô hình quan hệ, dưới đây là những bước chỉ dẫn cơ bản cho các bạn:
Bước 1: chuyển đổi mỗi loại thực thể trong mô hình er thành một loại quan hệ tương ứng trong mô hình quan hệ. Ta sẽ chuyển đổi 2 loại thực thể thành 1 loại thực thể thông qua việc gom các thực thể trong mối liên hệ 1-1 lại với nhau. Đối với các mối liên hệ nhiều biểu thị dưới dạng 1-N thì ta sẽ lấy khóa thực thể của thực thể nhiều chuyển thành khóa ngoài. Các mối liên hệ dưới dạng N-N sẽ được chuyển đổi thành một loại quan hệ mới.
Bước 2: Hoàn thành việc chuyển đổi bằng cách kiểm tra lại chuẩn của các mối quan hệ vừa chuyển đổi có chính xác và phù hợp hay chưa.
Như vậy chúng ta đã tìm hiểu được thế nào là mô hình er và mô hình quan hệ đồng thời biết được cách chuyển mô hình er sang mô hình quan hệ cần thực hiện như thế nào. Tuy nhiên, để có thể thực hiện việc chuyển mô hình er sang mô hình quan hệ một cách dễ dàng và nhanh chóng ta cần phải làm nhiều bài tập để luyện tập thao tác và độ thành thạo.