NHANVIEN (Họ Tên, Năm sinh, Lương)

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên) (Trang 45 - 60)

Cơ SỞ Dữ LIỆU QUAN HỆ

NHANVIEN (Họ Tên, Năm sinh, Lương)

(Họ Tên, Năm sinh, Lương)

CONGTY

(Tên công ty, Địa điểm, Giám đốc) NV3

(Nguyễn Quốc Bào, 1985,

10000000)NV4 NV4 (Vũ Văn Tấn, 1970, 12000000) NV5 (Lương Trần Ánh, 1980, 10000000) CTY3

(CT CP chế tạo điện cơ, Hải Phòng, Hồng Bá Ân)

Chú ý: Một kiểu thực thể có thể được biểu diễn trong mơ hình thực thể liên kết như là một hình chữ nhật có chứa tên kiểu thực thể.

Biểu diễn một kiểu thực thể: <Tên kiểu thực thể>

Ví dụ 2.2: Biểu diễn thực thể nhân viên: NHÂN VIÊN

2.1.2. Thuộc tỉnh

Mỗi một thực thể sẽ bao gồm các thuộc tính (attribute). Thuộc tính

là đặc trưng dùng để mô tà đặc điểm cụ thể của thực thể theo cách xác định nào đó, được sử dụng để biểu diễn nó. Hay nói cách khác thuộc tính được hiểu là các yếu tố cần quản lý của thực thể. Ví dụ, một thực thể

NHANVIEN được mơ tả bằng các thuộc tính Họ Tên, Năm sinh, Lương

của nhân viên đó. Một thực thể cụ thể sẽ có một giá trị cho mỗi thuộc

tính của nó. Ví dụ, nhân viên NV1 có các giá trị cho các thuộc tính Họ

Tên, Năm sinh, Lương là “Lê Anh”, “1981”, “8000000”. Các giá trị thuộc tính mơ tả cho mỗi thực thể sẽ ưở thành một tập hợp các dữ liệu

mà sẽ được lưu trữ trong cơ sở dữ liệu. Trong mơ hỉnh thực thể liên kết có nhiều loại thuộc tính như thuộc tính đơn, thuộc tính phức hợp (căn cứ

vào loại thuộc tính). Hoặc nếu dựa vào loại giá trị của thuộc tính thì ta có thuộc tính đơn trị, thuộc tính đa trị, hoặc nếu dựa vào các yếu tố có được

lưu trữ trong cơ sở dữ liệu hay khơng ta có thuộc tính lưu trữ và thuộc tính suy diễn được. Cuối cùng, nếu dựa vào yếu tố xác định thực thể ta có

thuộc tính định danh và thuộc tính mơ tà.

về cơ bản ý nghĩa của các loại thuộc tính được hiểu như sau:

• 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 nhỏ hơn. Ví dụ, thuộc tính Lương của nhân viên là thuộc

tính đơn.

• Thuộc tính phức hợp là thuộc tính có thể phân chia ra được thành

các thành phần nhỏ hơn. Chúng có thể được biểu diễn bởi 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 là thuộc tính phức hợp và có thể phân chia ra thành các thuộc tính

nhỏ hơn như Họ, Họ đệm, và Tên.

Giá trị của một 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 nó. 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 hồn cảnh cụ thể. Ví dụ như

thuộc tính Họ Tên của một số bài tốn quản lý có liên quan đến con người. Chúng ta có thể nên phân chia thành Họ, Họ đệm, và Tên ưong các bài toán quản lý sinh viên khi chúng ta có nhu cầu cần phải sắp xếp theo Tên của sinh viên. Nhưng trong một số bài toán quàn lý ví dụ như

Họ Tên nhân viên bán hàng, hay Họ Tên nhân viên kho với nhu cầu sắp xếp khơng cao thì chúng ta khơng cần phải phân chia thuộc tính Họ Tên nói trên.

• Thuộc tỉnh đơn trị là thuộc tính có giá trị duy nhất cho một thực

thể cụ thể. Ví dụ, mỗi nhân viên có một số chứng minh thư nhân dân

(CMTND) duy nhất nên CMTND là một thuộc tính đơn trị của thực thể

nhân viên.

Trong một số trường hợp, một thuộc tính có thể có một tập giá trị cho cùng một thực thể. Những thuộc tính như vậy gọi là thuộc tính đa trị.

Ví dụ, giả sử trong kiểu thực thể NHANVIEN, ta có thuộc tính Bằng Cấp để miêu tả bằng cấp có thể có của các nhân viên trong cơng ty. Như vậy, một nhân viên có thể khơng có bằng cấp nào, hoặc một nhân

viên khác có thể chỉ có một loại bằng cấp, hoặc một nhân viên khác nữa

có thể có nhiều bằng cấp khác nhau. Như vậy, các thực thể nhân viên khác nhau có thể có một số giá trị khác nhau cho thuộc tính Bằng cấp tại

mỗi thực thể nhân viên. Nói cách khác, thuộc tính Bằng cấp là một thuộc tính đa trị.

• Thuộc tính lưu trữ là thuộc tính mà giá trị của nó phải được lưu

trữ trong cơ sở dữ liệu. Ví dụ như các thuộc tính Họ tên, Năm sinh,

Lương của nhân viên là các thuộc tính lưu trữ.

• Thuộc tỉnh khơng lưu trữ là cảc thuộc tính mà giá trị của nó khơng

được lưu trữ trong cơ sở dữ liệu. Ví dụ như trong hố đơn bán hàng chúng ta có thuộc tính số thứ tự của các mặt hàng đã được liệt kê Ưong hố đơn là thuộc tính khơng lưu trữ.

Trong một số trường hợp, hai hay nhiều thuộc tính có giá trị liên

quan đến nhau. Ví dụ, thuộc tính Tuổi và thuộc tính Năm sinh của một nhân viên. Với một nhân viên cụ thể, ta có thể tính tuổi của nhân viên này bằng cách lấy năm hiện tại trừ đi năm sinh. Thuộc tính mà giá trị của nó có thể tính được thơng qua giá trị của các thuộc tính khác gọi là thuộc

tính suy diễn được. Ví dụ về một hố đơn bán hàng, nếu có các thuộc

tính số lượng, đơn giá cho các mặt hàng thì thuộc tính Thành tiền = số lượng * Đơn giá được gọi là thuộc tính suy diễn được.

• Thuộc tỉnh định danh là một hoặc tổ họp của một số thuộc tính

mà giá trị của nó xác định một cách duy nhất đối với mỗi thể hiện của

thực thể. Ví dụ, một thực thể NHANVỈENâưạc mơ tả bằng các thuộc tính

Mã nhân viên, Họ Tên, Năm sinh, Lương của nhân viên đó. Mỗi một

nhân viên đều có một mã nhân viên duy nhất, và các nhân viên khác nhau thì có mã nhân viên khác nhau, thuộc tính Mã nhãn viên dùng để

xác định đích danh từng nhân viên ưong cơng ty. Như vậy, thuộc tính Mã

• Thuộc tỉnh mơ tà là những thuộc tính mà giá trị của nó mô tà các

thông tin về các thể hiện cùa một thực thể. Đối với ví dụ về thực thể

NHANVIEN ở trên, các thuộc tính mơ tả về họ tên, năm sinh và lương

của mỗi nhân viên trong cơ sở dữ liệu. Khi đó các thuộc tính Họ Tên, Năm sinh và Lương của thực thể nhân viên này được gọi là các thuộc tính mơ tả.

Biểu diễn đồ hoạ của một thực thể: Để mơ tả chính xác một thực thể ta phải mô tả thực thể kèm theo các thuộc tính của thực thể đó.

Mơ tả có dạng như sau:

Tên thực thể

Danh sách các thuộc tính

Chú ý: Trong tập các thuộc tính của thực thể, thuộc tính định danh của thực thể sẽ được đặt ở vị trí đầu tiên và được gạch chân.

Ví dụ 2.3: Thực thể SINH VIÊN bao gồm Mã sinh viên, Mã lớp, Họ

tên, Ngày sinh, Quê quán, và Mã lớp hành chính. Trong đó Mã sinh viên là thuộc tính định danh. Khi đó thực thể SINH VIÊN sẽ được biểu diễn như sau: SINH VIÊN Mã sinh viên Họ tên Ngày sinh Q qn Mã lớp hành chính 2.1.3. Khóa

Trong tập các thuộc tính của tập thực thể bao giờ cũng có các thuộc

tính đặc biệt (thuộc tính định danh) mà các giá trị của nó là khác nhau đối với mỗi thực thể riêng biệt gọi là thuộc tính khố. Như vậy, thuộc tính khóa đó là thuộc tính được dùng để phân biệt giữa thực thể này với

thực thể khác trong một kiểu thực thể Hay nói cách khác, thuộc tính

khóa và các giá trị của nó có thể dùng để xác định từng thực thể là duy nhất trong tập thực thể đã cho.

Trong một thực thể có thể có một hoặc nhiều thuộc tính được sử dụng làm thuộc tính khố, thuộc tính nào được chọn dùng để phân biệt giữa các thực thể được gọi là khố chính.

Khóa chính (Primary Key) là một thuộc tính hoặc tập hợp các thuộc tính, xác định duy nhất một thực thể (một đối tượng cần quản lý). Khi định nghĩa khóa chính, hệ quản trị cơ sở dữ liệu sẽ cài đặt một ràng buộc khóa chính để đảm bảo không tồn tại hai thực thể khác nhau lại có cùng khóa chính. Khi thể hiện cơ sở dữ liệu trong bảng hai chiều, mỗi một cột sẽ thể hiện một thuộc tính, và mỗi một dịng sẽ thể hiện giá trị cụ thể một thực thể. Nếu khóa chính được tạo thành từ nhiều cột, mỗi một cột có thể có giá trị trùng nhau trong bảng, nhưng khi kết hợp những giá trị trong các

cột khác của khóa chính thì giá trị kết hợp đó phải là duy nhất trong bảng. Trong biểu diễn đồ hoạ của một kiểu thực thể, khóa chính được gạch chân, và khố của thực thể có thể bao gồm nhiều thuộc tính.

Ví dụ 2.4: Cho thực thể KHÁCH HÀNG bao gồm các thuộc tính

Mã khách hàng, Tên khách hàng, Địa chỉ, sổ điện thoại. Trong tập các thuộc tính này, Mã khách hàng của tập thực thể KHÁCH HÀNG là khóa

của tập thực thể đó bởi vì mỗi thực thể KHÁCH HÀNG chỉ có một mã khách hàng là duy nhất và các khách hàng khác nhau sẽ có mã khách hàng là khác nhau. Khi đó thực thể KHACHHÀNG được biểu diễn như sau:

KHÁCH HÀNG

Mã khách hàng

Tên khách hàng

Địa chỉ Số điện thoại

Lưu ý, khi nhiều thuộc tính kết hợp với nhau để tạo thành một khóa

ta sẽ có một bộ thuộc tính khóa phức hợp, và khóa phức hợp này phải là 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 ứong thuộc tính phức hợp để thỏa mãn bộ giá trị của mỗi thực thể duy nhất.

Ví dụ 2.5: Thực thể BẢN HANG bao gồm các thông tin: Mã khách

hàng, Mã hàng hoá, số lượng, Đơn giá, Thành tiền. Một khách hàng có thể

mua nhiều lần, và mỗi mặt hàng có thể bán cho nhiều người. Như vậy, giá trị Mã khách hàng có thể trùng nhau trong tập thực thể BÁN HÀNG, và Mã hàng hóa tương tự cũng như vậy. Tuy nhiên, mỗi bộ các giá trị Mã khách hàng và Mã hàng hóa sẽ là duy nhất để xác định mỗi lần khách mua một mặt

hàng nào đó. Vì vậy, các thuộc tính (Mã khách hàng, Mã hàng hố) sẽ được gọi là bộ khố của thực thể BÁN HANG.

Ta có biểu diễn về thực thể BÁN HÀNG như sau:

BÁN HÀNG Mã khách hàng Mã hàng hố Số lượng Đơn giá Thành tiền

Nhìn vào hình biểu diễn đồ họa của tập thực thể BÁN HÀNG nói

trên, các thuộc tính mơ tả sẽ là số lượng, Đơn giá, và thuộc tính Thành

tiền gọi là thuộc tính suy diễn được. Các thuộc tính này sẽ làm tăng sự hiểu biết của ta về thực thể và thơng thường nó được dùng cho các mục đích bên ngồi hệ thống.

Khố ngoại (Foreign Key) là một tập thuộc tính khơng phải là khố

chính của thực thể này nhưng nó lại là khố chính của một thực thể khác

mà hai thực thể này có liên quan đến nhau. Lúc này thực thể chứa khoá

Ví dụ 2.6: Cho 2 thực thể SINH VIÊN vả LỚP được biểu diễn như sau: SINH VIÊN Mã sinh viên Họ tên Ngày sinh Quê quán Mã LHC LỚP MãLHC TênLHC

Thực thể SINH VIÊN có thuộc tính Mã sinh viên là thuộc tính khố,

các thuộc tính Mã LHC, Họ tên, Ngày sinh, Quê quán là các thuộc tính

mơ tả. Trong các thuộc tính mơ tả đó có thuộc tính Mã LHC trong thực thể SINH VIÊN lại là thuộc tính khố chính trong thực thể LĨP (do mỗi

lớp hành chính có một mã duy nhất và các lớp khác nhau sẽ có một mã LHC khác nhau). Khi đó thuộc tính mã LHC được gọi là khố ngoại (hay cịn gọi là thuộc tính kết nối). Như vậy, thuộc tính khóa ngoại là thuộc tính mà trong thực thể này nó là thuộc tính mơ tả, nhưng trong thực thể khác nó lại là thuộc tính khố chính.

2.1.4. Liên kết (Mối quan hệ - relatìonships)

Liên kết hay cịn gọi là mối quan hệ là sự ghép nối giữa hai hay

nhiều thực thể phản ánh một thực tế quản lý hay nói cách khác nó dùng để chỉ mối quan hệ giữa hai hay nhiều thực thể khác nhau. Hai thực thể

được liên kết với nhau nếu chúng có chung ít nhất một thuộc tính nào đó,

thơng thường đó là khố ngoại. Ví dụ giữa các tập thực thể NHÂN VIÊN

và PHỊNG BAN, chúng có mối liên kết với nhau do một nhân viên sẽ làm việc tại một phòng ban cụ thể nên nhân viên sẽ thuộc một phịng ban

nào đó. Ngược lại, một phịng ban có nhiều nhân viên và có thể có một

nhân viên làm trưởng phịng. Như vậy, thuộc tính mã phịng ban gọi là

Cách biểu diễn liên kết

NHÂN VIÊN PHÒNG BAN

Kiểu liên kết là tập hợp các liên kết cùng loại, chúng được thể hiện

qua các loại liên kết sau:

- Liên kết 1-1 (liên kết một - một)'. Hai thực thể A và B có mối liên

kết 1-1 nếu một thực thể kiểu A chì tương ứng với nhiều nhất một thực thể kiểu B và ngược lại.

Ví dụ 2.7: Liên kết giữa thực thể SINH VlẼNvả THẺ SINH VIÊN

là liên kết 1-1. Mỗi sinh viên chỉ có một mã sinh viên duy nhất được ghi

trên thẻ sinh viên, mỗi mã chỉ dành cho một sinh viên. Nghĩa là, một mã

sinh viên sẽ xác định thông tin của sinh viên được ghi trên thẻ, và chúng

không được phép trùng nhau.

1 - 1 THẺ SINH VIÊN

SINH VIÊN

- Liên kết 1-n (liên kết một - nhiều)'. Hai thực thể A và B có mối

liên kết 1-n nếu một thực thể kiểu A tương ứng với 0, 1 hoặc nhiều thực thể kiểu B, và một thực thể kiểu B chỉ tương ứng với nhiều nhất một thực thể kiểu A.

Ví dụ 2.8: Mối liên kết giữa LỚP và SINH VIEN là kiểu liên kết 1-n.

Mỗi lớp học có nhiều sinh viên nhưng tại một thời điểm mỗi sinh viên chỉ thuộc vào một lớp.

LỚP 1 -n

SINH VIÊN

- Liên kết n-n (liên kết nhiều - nhiều)'. Hai thực thể A và B có mối

liên kết n-n nếu một thực thể kiểu A tương ứng với 0, 1 hoặc nhiều thực

thể kiểu B và ngược lại mỗi kiểu thực thể B tương ứng với 0,1 hoặc nhiều kiểu thực thể A.

Ví dụ 2.9: Liên kết giữa SINH VIÊN và HỌC PHẦN là kiểu liên

kết n-n. Trong suốt quá trình đào tạo mỗi sinh viên phải học nhiều học phần, và mỗi học phần có nhiều sinh viên theo học.

n - n

HỌC PHÀN SINH VIÊN

Ví dụ 2.10: Mơ tả bài tốn quản lý bán hàng như sau: Một công ty thưong mại Y chuyên kinh doanh các mặt hàng điện tử. Công ty nhập các mặt hàng từ các nhà cung cấp khác nhau thông qua các phiếu nhập và các thông tin quản lý bao gồm:

• Chi tiết về các mặt hàng gồm có: mã hàng (duy nhất), tên hàng và

các mô tả mặt hàng.

• Cơng ty cũng cần lưu trữ thơng tin về các nhà cung cấp trên như: tên, địa chỉ, điện thoại, fax. Mỗi nhà cung cấp có một mã duy nhất.

• Mỗi nhà cung cấp có thể cung cấp nhiều mặt hàng, nhưng mỗi

loại mặt hàng chỉ được nhập từ một nhà cung cấp.

• Thơng tin trên phiếu nhập bao gồm mã nhà cung cấp, thông tin về các mặt hàng được nhập như tên hàng, sổ lượng nhập, đơn giá nhập,

ngày nhập và tổng tiền nhập.

• Các mặt hàng được lưu giữ trong các kho. Mỗi kho có một diện

tích khác nhau và chỉ chứa một loại mặt hàng.

Cơng ty có nhiều cửa hàng đại lý để bán các mặt hàng, và hàng được cung cấp cho các cửa hàng thông qua các phiếu xuất. Thông tin trên

phiếu xuất bao gồm: mã số cửa hàng nhận hàng, thông tin về các mặt

hàng được xuất như tên hàng, số lượng, đơn giá, tổng tiền phải trả.

Hình 2.2: Ví dụ về mơ hình thực thể liên kết

2.1.5. Miền giá trị (domain)

Một miền giá trị D là một tập hợp các giá trị nguyên tử, có nghĩa là mỗi giá trị trong miền không thể phân chia trong phạm vi mơ hình

Một phần của tài liệu Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên) (Trang 45 - 60)