Năm xuất bản là thuộc tính gì trong csdl

Đối tượng được trình bày chính trong mô hình ER là thực thể. Thực thể là một “vật – đối tượng” (cụ thể hay trừu tượng) tồn tại thực sự và khá ổn định trong thế giới thực, có sự tồn tại độc lập và có thể phân biệt với các đối tượng khác mà ta muốn phản ánh nó trong hệ thống thông tin. Tập hợp tất cả các thực thể giống nhau tạo thành một tập thực thể (kiểu thực thể).

Thực thể cụ thể và trừu tượng: Một thực thể có thể là cụ thể hay trừu tượng. Thực thể cụ thể là thực thể mà chúng có thể cảm nhận được bằng giác quan hay có thể nhìn thấy trực tiếp được bằng mắt. Thực thể trừu tượng là thực thể mà chúng ta không cảm nhận được bằng giác quan (không nhìn thấy trực tiếp bằng mắt được) nhưng chúng ta có thể nhận biết được bằng nhận thức hoặc bằng cảm nhận.

Ví dụ: Thực thể cụ thể như:

Nhân viên Nguyễn Thị Thúy Hà

Đơn hàng số 12233444

Thực thể trừu tượng như:

Khoa Công nghệ thông tin

Môn học Cơ sở dữ liệu

Trong mô hình ER chỉ đề cập đến “tập thực thể” hay “kiểu thực thể”.

Kiểu thực thể: là một tập hợp các thực thể có các thông tin cần quản lý tương tự nhau. Ví dụ, một công ty có nhiều nhân viên, mỗi nhân viên có các thông tin cần lưu trữ là tương tự nhau, như: mã nhân viên, họ tên, ngày sinh, quê quán, hệ số lương, …. Vì vậy tập hợp các thực thể nhân viên trong công ty được mô tả bằng tập thực thể với tên chung là “NHÂN VIÊN”.

Tập thực thể: Một tập hợp các thực thể của một kiểu thực cụ thể trong cơ sở dữ liệu tại một thời điểm được gọi là một tập thực thể, nó thường được mô tả trong mô hình bằng cách sử dụng tên của kiểu thực thể. Ví dụ: NHÂN VIÊN vừa dùng để chỉ một kiểu thực thể, vừa để chi tập hợp hiện tại của tất cả các thực thể nhân viên trong cơ sở dữ liệu. Tương tự, CÔNG TY dùng để chỉ một kiểu thực thể và cũng chỉ tập hợp của tất cả các thực thể công ty trong cơ sở dữ liệu.

NHÂN VIÊN

( Mã, Họ tên, Tuổi, Lương)

CÔNG TY

( Mã, Tên, Địa điểm, Giám đốc)

NV1, Lê Thủy, 30, 800000 CT1, Công ty phần mềm, Hà nội, Vũ Hải NV2, Nguyễn Hải, 32, 820000 CT2, Công ty hoa quả, Hải phòng, Lê Huy

Ký hiệu biểu diễn thực thể: Một kiểu thực thể được biểu diễn trong lược đồ ER bằng hình chữ nhật có chứa tên kiểu thực thể bên trong.

Cú pháp:

Ví dụ:

Để xác định kiểu thực thể trong hệ thống, chúng ta tiến hành liệt kê các danh từ riêng dùng để mô tả cho một tập các đối tượng cần được quản lý của hệ thống.

Trong mô hình ER, kiểu thực thể được chia làm hai loại: kiểu thực thể mạnh và kiểu thực thể yếu. Kiểu thực thể mạnh được dùng để mô tả những thực thể có thể tồn tại độc lập trong hệ thống mà không cần phải có sự tồn tại của một thực thể khác. Ví dụ: thực thể NHÂN VIÊN, CÔNG TY. Kiểu thực thể yếu là kiểu thực thể mà sự tồn tại của nó phải phụ thuộc vào sự tồn tại của một thực thể khác hay thực thể yếu chỉ tồn tại trong hệ thống khi có sự tồn tại của một thực thể khác trong hệ thống. Ví dụ: thực thể THÂN NHÂN trong hệ thống quản lý nhân viên, một thân nhân chỉ được quản lý nếu thân nhân đó đi kèm với một nhân viên cụ thể, ngược lại nếu không có nhân viên trong hệ thống thì không có thân nhân nào được quản lý.

Các thực thể yếu của một kiểu thực thể yếu được xác định bằng cách liên kết với các với thực thể cụ thể của một kiểu thực thể mạnh khác bằng cách phối hợp thông qua một số thông tin (thuộc tính) của thực thể mạnh. Ta gọi kiểu thực thể mạnh khác đó là kiểu thực thể xác định hoặc kiểu thực thể chủ. Giữa kiểu thực thể mạnh và kiểu thực thể yếu có một liên kết và liên kết được gọi là liên kết xác định. Ví dụ: Trong công ty, thân nhân của nhân viên có thể được hưởng bảo hiểm theo nhân viên. Vì vậy, sẽ có một liên kết dạng NHÂN VIÊN – có – THÂN NHÂN.

Biểu diễn liên kết thực thể chủ và thực thể yếu: Trong sơ đồ ER, kiểu thực thể yếu được biểu diễn bằng hình chữ nhật nét đôi và liên kết xác định giữa kiểu thực thể yếu với thực thể xác định được biểu diễn bằng hình thoi nét đôi.

Ví dụ:

HÓA ĐƠN – Số: …… Họ tên người mua:

Cơ quan:

Địa chỉ:

Hình thức thanh toán:

Mã hàng Tên hàng ĐVT Số lượng Đơn giá Thành tiền Tổng tiền

Khách hàng

……….., ngày tháng năm

Người Lập HĐ

Trong một số trường hợp đặc biệt quan trọng thường gặp là trường hợp các chứng từ có bảng. Chẳng hạn như một hóa đơn. Trong mẫu hóa đơn ta thấy cần quản lý nhiều thông tin, tuy nhiên các thông tin có hai loại khác nhau: các thông tin ngoài bảng – chỉ nhận giá trị duy nhất và các thông tin trong bảng – có thể nhận nhiều giá trị. Như vậy khi xây dựng mô hình ER thì Hóa đơn là một kiểu thực thể và các thông tin cần quản lý được lấy làm thuộc tính của thực thể.

2.2.2 Thuộc tính

Mỗi một thực thể được mô tả bằng một số thông tin để xác đinh đặc tính riêng biệt dùng để phân biệt thực thể này với thực thể khác trong hệ thống. Ví dụ: một thực thể NHÂN VIÊN được mô tả bằng Mã nhân viên, Họ tên, Ngày sinh, Quê quán, Hệ số lương, … của nhân viên đó. Một thực thể cụ thể sẽ có một giá trị xác định cho từng thuộc tính đó. Ví dụ: nhân viên NV1 có các giá trị cho Họ tên, Ngày sinh, Quê quán, Hệ số lương là “Lê Thanh Thủy”,

14/5/1980#, “Hà Nội”, 3.4. Các giá trị mô tả cho từng thực thể cụ thể là thành phần chính của các dữ liệu được lưu giữ trong cơ sở dữ liệu.

Các giá trị lưu trong thuộc tính của từng thực thể phải nhận những giá trị nguyên tố hoặc đơn như: kiểu chuỗi, kiểu số nguyên, kiểu số thực, kiểu ngày tháng, …

Để xác định thuộc tính, chúng ta xác định các danh từ mô tả đặc tính, đặc trưng gắn liền với các tên kiểu thực thể đã xác định.

Biểu diễn thuộc tính: Trong mô hình ER, thuộc tính được biểu diễn bằng hình elip nét đơn với tên thuộc tính chứa bên trong và gắn liền với thực thể cần mô tả.

Ký hiệu:

Ví dụ: kiểu thực thể NHÂN VIÊN có các thuộc tính: mã nhân viên, họ tên, ngày sinh, quê quán.

Trong mô hình ER, có nhiều kiểu thuộc tính khác nhau:

Thuộc tính đơn và thuộc tính phức hợp,

Thuộc tính đơn trị và thuộc tính đa trị,

Thuộc tính lưu trữ và thuộc tính suy dẫn,

Thuộc tính khóa và thuộc tính định danh

Thuộc tính đơn là thuộc tính không thể phân chia ra được thành các thành phần riêng biệt nhỏ hơn. Ví dụ: thuộc tính Tuổi của một nhân viên là thuộc tính đơn, thuộc tính Điểm của sinh viên là một thuộc tính đơn.

Thuộc tính phức hợp là thuộc tính mà có thể phân chia thành các thành phần nhỏ hơn, biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập. Ví dụ: thuộc tính Họ tên của nhân viên có thể tác thành thuộc tính Họ chỉ chứa họ, thuộc tính Tên chỉ chứa tên. Tương tự, thuộc tính Ngày sinh có thể tách thành các thuộc tính Ngày, Tháng và Năm riêng biệt. Giá trị cuối cùng của thuộc tính phức hợp là sự kết hợp các giá trị của các thuộc tính thành phần tạo nên thuộc tính phức hợp. Việc phân chia một thuộc tính phức hợp thành các thuộc tính đơn tùy thuộc vào hoàn cảnh và yêu cầu của bài toán cụ thể.

Thuộc tính đơn trị là thuộc tính mà mỗi thực thể cụ thể chỉ nhận một giá trị duy nhất ứng với thuộc tính đó. Ví dụ: thuộc tính Họ tên là thuộc tính đơn trị của thực thể nhân viên vì mỗi nhân viên chỉ có một họ tên duy nhất, thuộc tính Ngày sinh là thuộc tính đơn trị vì mỗi nhân viên cũng chỉ có một ngày sinh duy nhất.

Thuộc tính đa trị là để chỉ những thuộc tính mà nó có thể nhận một tập các giá trị cho cùng một thực thể cụ thể, hay nói cách khác thuộc tính đa trị có thể nhận và lưu trữ nhiều giá trị đồng thời tại một thời điểm. Ví dụ: thuộc tính Bằng cấp của nhân viên là một thuộc tính đa trị vì một người có thể không có bằng cấp nào nhưng một người khác có thể có một bằng, một người nhân viên khác nữa có thể có nhiều bằng. Tương tự, thuộc tính Kỹ năng của nhân viên là một thuộc tính đa trị vì mỗi một nhân viên có thể có số kỹ là khác nhau (không có kỹ năng, có một kỹ năng, có hai kỹ năng, …).

Thuộc tính đa trị được biểu diễn bằng hình elip nét đôi với tên thuộc tính đặt phía trong.

Ví dụ:

Thuộc tính lưu trữ là các thuộc tính mà giá trị của nó phải được nhập vào khi cài đặt cơ sở dữ liệu. Ví dụ: thuộc tính Họ tên là thuộc tính lưu trữ vì giá trị ngày sinh của một nhân viên phải được nhập vào cơ sở dữ liệu.

Thuộc tính suy dẫn là các thuộc tính mà giá trị của nó có thể được suy ra từ giá trị của các thuộc tính khác liên quan theo một nguyên tắc nào đó, là các thuộc tính không phải nhập vào từ bàn phím mà nó được tính thông qua các thuộc tính khác theo một công thức nào đó. Ví dụ: Thuộc tính Tổng lương là thuộc tính suy dẫn vì tổng lương được tính thông qua hệ số lương nhân với lương cơ bản, thuộc tính Tuổi là thuộc tính suy dẫn vì Tuổi được tính bằng năm hiện tại trừ năm sinh.

Thuộc tính suy dẫn được biểu diễn bằng hình elip nét đứt với tên thuộc tính đặt phía trong.

Ví dụ:

Định danh là tập thuộc tính có giá trị duy nhất giúp phân biệt thực thể này với thực thể khác. Các thuộc tính tham gia vào định danh gọi là thuộc tính định danh hay thuộc tính khóa. Thuộc tính khóa là thuộc tính mà giá trị của nó là khác nhau đối với mỗi thực thể riêng biệt trong tập thực thể. Đôi khi, nhiều thuộc tính kết hợp với nhau tạo thành một khóa, nghĩa là tổ hợp các giá trị của các thuộc tính này phải khác nhau đối với mỗi thực thể. Trong trường hợp như vậy ta có một thuộc tính khóa phức hợp. Chú ý rằng khóa phức hợp phải tối thiểu, nghĩa là tất cả các thuộc tính thành phần phải có mặt trong thuộc tính phức hợp để thỏa mãn tính chất duy nhất. Trong mô hình ER, thuộc tính khóa được biểu diễn bằng hình elip và cách gạch chân dưới tên của thuộc tính.

Ví dụ:

Đối với mỗi thực thể trong hệ thống, chúng ta có thể tham khảo một số gợi ý sau để xác định thuộc tính khóa:

Giá trị của thuộc tính không bị thay đổi theo thời gian,

Giá trị của thuộc tính không được phép bỏ trống,

Tránh sử dụng những thuộc tính mà giá trị của nó thể hiện thông tin, hay cấu trúc của nó thể hiện sự phân loại, vị trí, …

Nên chọn những thuộc tính đơn làm định danh thay vì sử dụng kết hợp một số thuộc tính.

Ví dụ:

2.2.3 Liên kết

Kiểu liên kết (Relationship Types): Kiểu liên kết R giữa n kiểu thực thể E1, E2,…,En được định nghĩa là tập các mối liên hệ giữa các thực thể từ những kiểu thực thể đã cho. Theo toán học, R là tập các liên kết thực ri, trong đó mỗi liên kết ri liên hệ giữa n thực thể (e1, e2, …, en), mỗi thực thể ej trong liên kết ri là một thành viên của kiểu thực thể EJ (I£ J £n). Liên kết R là tập con của tích De-cac giữa tập các thực thể của n kiểu thực thể: E1x E2x…xEn. Mỗi kiểu thực thể E1, E2, …, En được gọi là tham gia vào liên kết R, và tương tự, mỗi thực thể riêng biệt e1, e2, …, en­ được gọi là tham gia vào thể hiện liên kết ri.

Một cách không hình thức, mỗi thể hiện liên kết ri trong R là một sự kết hợp của các thực thể, mỗi thực thể thuộc về một kiểu thực thể tham gia vào liên kết. Mỗi liên kết ri như vậy diễn đạt một sự kiện rằng các thực thể tham gia trong ri­ có mối quan hệ với nhau theo một cách nào đó ở trong thế giới thực. Ví dụ, trong thực tế, các nhân viên phải làm cho một đơn vị nào đó, như vậy, có một liên kết làm việc cho, liên kết giữa kiểu thực thể NHÂN VIÊN và kiểu thực thể ĐƠN VỊ, hoặc mỗi sinh viên trong khoa sẽ học một môn học nào đó vì thế có mối liên kết học giữa kiểu thực thể SINH VIÊN và kiểu thực thể MÔN HỌC.

Trong mô hình ER, kiểu liên kết được biểu diễn bằng một hình thoi với tên liên kết đặt ở trong được nối trực tiếp với các hình chữ nhật biểu diễn tương ứng kiểu thực thể tham gia vào liên kết. Liên kết được xác định là các động từ mô tả mối liên quan giữa hai thực thể.

Quy ước:

Ví dụ:

Thể hiện thực tế của liên kết:

Thuộc tính liên kết: Các kiểu liên kết cũng có thể có các thuộc tính, giống như thuộc tính của các kiểu thực thể, thuộc tính của liên kết dùng để mô tả các thông tin chỉ có khi có hình thành mối liên kết giữa các thực thể. Ví dụ: liên kết <Làm trưởng phòng> giữa kiểu thực thể NHÂN VIÊN và PHÒNG BAN có thể có ngày nhận chức để ghi lại ngày của nhân viên đó được giao làm trường phòng, hoặc liên kết <làm việc trên> giữa kiểu thực thể NHÂN VIÊN và DỰ ÁN có thể có thuộc tính số giờ để lưu lại tổng số giờ làm của một nhân viên trên một dự án nào đó.

Thuộc tính của liên kết cũng được được biểu diễn bằng một hình elip và được nối với kiểu liên kết.

Ví dụ:

Bậc của kiểu liên kết (Degree of Relationship Types): Bậc của kiểu liên kết là số các kiểu thực thể tham gia liên kết. Ví dụ : liên kết nơi làm là liên kết bậc 2 (binary).

Ràng buộc trong kiểu liên kết ( Constraints on Relationship types): Ràng buộc của kiểu liên kết là giới hạn số các thực thể của một kiểu thực thể tham gia vào liên kết. Tỷ lệ liên kết (ratio) là số lượng các liên kết thực mà một thực thể có thể tham gia. Đối với liên kết bậc hai (binary) thường có các loại tỷ lệ sau: 1:1, 1:N, N:N.

Các kiểu liên kết giữa các kiểu thực thể được chia thành các kiểu: liên kết một – một, liên kết một – nhiều, liên kết nhiều – nhiều.

Liên kết một – một (1-1) là kiểu liên kết giữa kiểu thực thể A với kiểu thực thể B nếu một thực thể trong kiểu A liên kết, có quan hệ với duy nhất một thực thể trong kiểu B và ngược lại. Kiểu liên kết một – một được biểu diễn bằng cách thêm số 1 ở hai đầu của kiểu thực thẻ.

Ví dụ:

Liên kết một – nhiều (1-n) là kiểu liên kết giữa kiểu thực thể A với kiểu thực thể B nếu mà một thực thể trong kiểu A liên kết – có quan hệ với nhiều thực thể trong kiểu B và một thực thể trong kiểu B chỉ liên kết duy nhất với một thực thể kiểu A. Kiểu liên kết một – nhiều được biểu diễn bằng cách thêm số 1 ở đầu bên phía một và thêm n ở đầu bên phía nhiều.

Ví dụ:

Liên kết nhiều – nhiều (m-n) là kiểu liên kết giữa kiểu thực thể A với kiểu thực thể B nếu mà một thực thể trong kiểu A liên kết với nhiều thực thể trong kiểu B và một thực thể trong kiểu B cũng liên kết với nhiều thực thể kiểu A. Kiểu liên kết nhiều – nhiều được biểu diễn bằng cách thêm số m và n ở hai đầu của liên kết.

Ví dụ:

Các liên kết giữa các thực thể không phải lúc nào cũng liên kết giữa 2 kiểu thực thể mà có thể thay đổi. Số lượng thực thể tham gia vào một mối liên kết được gọi là bậc của liên kết. Bậc của liên kết thường gặp các dạng sau: Đệ quy, bậc 2, bậc 3, …

Ví dụ:

Tùy theo hệ thống hay yêu cầu của bài toán thì với mỗi kiểu thực thể số lượng cho phép của từng kiểu thực thể tham gia vào là khác nhau. Khi đó, số lượng giới hạn các thực thể của một kiểu thực thể tham gia vào một mối liên kết được gọi là lực lượng tham gia liên kết. Lực lượng tham gia liên kết được biểu diễn bởi cặp hai số dưới dạng (min, max) với min là số lượng thực thể tối thiểu có thể tham gia vào mối liên kết và max là số lượng thực thể tối đa được phép tham gia vào liên kết, mặc định min = 0 và max = n.