Sử dụng hệ quản trị cơ sở dữ liệu quan hệ

Một phần của tài liệu Hệ thống thông tin quản lý (Trang 84 - 86)

Trong phần 4.2 chúng ta biết rằng các bảng quan hệ là dạng thể hiện khái quát hóa của các bảng dữ liệu trong cơ sở dữ liệu, chúng được dùng để mô tả cho nội dung dữ liệu của toàn bộ hệ thống. Từ các bảng dữ liệu này, chúng ta có thể cài đặt các bảng dữ liệu vật lý tương ứng trên các hệ quản trị cơ sở dữ liệu cụ thể của hệ thống.

a) To mi bng d liu

Ví dụ 7. Giả sử ta có 2 bảng quan hệ NHÂNVIÊN(Mã_NV, Tên_NV, Đường, TPhố, Bang, Vùng) và KỸNĂNGNV(Mã_NV, KỹNăng) liên kết với NHÂNVIÊN bằng khóa ngoại Mã_NV như ví dụ 1 trong phần 4.1. Để cài đặt quan hệ này trên hệ quản trị cơ sở dữ liệu loại quan hệ, chúng ta thực hiện các công việc sau:

1. Xác định loại, kiểu, và độ dài cho các trường. Bảng quan hệ NHÂNVIÊN có: “Mã_NV”: là khóa chính, kiểu số nguyên (int), không rỗng

“Tên_NV”: là trường dữ liệu, kiểu ký tự (Char), dài 40 ký tự “Đường”: là trường dữ liệu, kiểu Char, dài 40 ký tự

“TPhố”: là trường dữ liệu, kiểu Char, dài 20 ký tự “Bang”: là trường dữ liệu, kiểu Char, dài 5 ký tự “Vùng”: là trường dữ liệu, kiểu int

2. Các khai báo trên được viết lại theo cấu trúc lệnh SQL như sau:

NHANVIEN (Ma_NV int not null constraint pk_NHANVIEN primary key, Ten_NV char(40), Duong char(40), TPho char (20), Bang char(5), Vung int) Tương tự như trên, bảng KYNANGNV có khai báo là

KYNANGNV(Ma_NV int, KyNang char(20) not null,

constraint fk_ KYNANGNV foreign key(Ma_NV) references NHANVIEN(MA_NV), constraint pk_ KYNANGNV primary key (Ma_NV, KyNang))

3. Với các khai báo này, chúng ta thiết lập lệnh khởi tạo cho 2 bảng NHANVIEN và KYNANGNV như sau:

CREATE TABLE NHANVIEN

( Ma_NV int not null constraint pk_ NHANVIEN primary key,

Ten_NV char(40), Duong char(40), TPho char (20), Bang char(5), Vung int )

CREATE TABLE KYNANGNV ( Ma_NV int,

KyNang char(20) not null,

constraint fk_KYNANGNV foreign key(Ma_NV) references NHANVIEN(Ma_NV), constraint pk_KYNANGNV primary key (Ma_NV, KyNang)

)

Vì KYNANGNV sử dụng Ma_NV của NHANVIEN làm khóa ngoại nên bảng NHANVIEN cần phải được tạo trước.

b) Thao tác vi d liu

Ví dụ 8. Giả sử chúng ta cần thêm hai nhân viên sau đây vào CSDL:

Ma_NV Ten_NV Duong TPho Bang Vung

100 Magaret Simpson Lake Ave Keyport NJ 07735 150 Susan Martin Wilkinson Way Princeton NJ 08541 Bằng cách sử dụng lệnh INSERT của SQL:

INSERT into NHANVIEN (Ma_NV, Ten_NV, Duong, TPho, Bang, Vung) Values (100,’Magaret Simpson’, ‘Lake Ave’, ‘Keyport’, ‘NJ’, 07735) INSERT into NHANVIEN (Ma_NV, Ten_NV, Duong, TPho, Bang, Vung) Values (150,’Susan Martin’, ‘Wilkinson Way’, ‘Princeton’, ‘NJ’, 08541)

Tương tự như CREATE, để thêm một mẫu tin mô tả kỹ năng của một nhân viên vào trong bảng KYNANGNV thì nhân viên đó phải có trước trong bảng NHANVIEN.

Xoá nhân viên có mã số Ma_NV = 100 ra khỏi bảng NHANVIEN bằng lệnh DELETE from NHANVIEN where Ma_NV = 100

c) Truy vn trên bng

Sau khi đã có dữ liệu trong bảng, chúng ta có thể xem lại dữ liệu này bằng lệnh SELECT Ví dụ 9. Xem danh sách tất cả các nhân viên đang sống ở thành phố “Keyport”

Hệ quản trị CSDL sẽ cho về bảng dữ liệu tương tự như đưới đây

Ma_NV Ten_NV Duong TPho Bang Vung

100 Magaret Simpson Lake Ave Keyport NJ 07735 Xem danh sách tên và kỹ năng của các nhân viên (kết hợp 2 bảng): (adsbygoogle = window.adsbygoogle || []).push({});

SELECT A.Ten_NV, B.KyNang from NHANVIEN A, KYNANGNV B where A.Ma_NV = B.Ma_NV

d) Phân quyn s dng các bng

Trong hệ thống có rất nhiều người cùng sử dụng cơ sở dữ liệu. Để bảo vệ an toàn dữ liệu khỏi những người tìm cách đột nhập vào cơ sở dữ liệu (hackers), hệ quản trị cơ sở dữ liệu cung cấp cơ chế xác quyền dựa trên Account gồm tên được hệ quản trị CSDL nhận biết (username) và mật khẩu (password). Account của mỗi nhân viên được người quản trị CSDL (Database Administrator, DBA) khởi tạo bằng các tiện ích riêng của hệ thống. Để mỗi người sử dụng được phép thao tác trên một bảng dữ liệu, DBA sẽ gán quyền phù hợp cho người đó bằng lệnh GRANT.

Ví dụ 10. Giả sử DBA cần gán đầy đủ các quyền xem, thêm, xóa, sửa bảng NHANVIEN cho username BOB:

GRANT SELECT,INSERT, UPDATE, DELETE on NHANVIEN to BOB …Nhưng không cho ông BOB xóa các bảng quan hệ:

DENY DROP TABLE to BOB

4.3 THIT K CHC NĂNG X4.3.1Thiết kế các giao tiếp (interfaces)

Một phần của tài liệu Hệ thống thông tin quản lý (Trang 84 - 86)