NOTES Một cơ sở dữ liệu là một tập hợp dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình.. Tự điển dữ liệu Data dictio
Trang 1By TRAN DAC PHI HUNG
CƠ SỞ DỮ LIỆU
Trang 2ThS TRẦN ĐẮC PHI HÙNG
Thanhcong_ph@yahoo.com
0983.823.709
Bộ môn Công nghệ Địa chính
Khoa Quản lý đất đai và Bất động sản
Trang 3CƠ SỞ DỮ LIỆU ACCESS
GIS
LẬP TRÌNH
NÂNG CAO
VBA for ARCMAP
Trang 5NOTES
Dữ liệu (Data): sự biểu diễn của các đối tượng và sự kiện
được ghi nhận và được lưu trữ trên các phương tiện của
máy tính
Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, …
Dữ liệu không có cấu trúc: hình ảnh, âm thanh
Thông tin (Informations): là những dữ liệu đã được xử lý
để sử dụng Cung cấp câu trả lời cho các câu hỏi “Who”,
“What”, “When”, “Where” Giúp chúng ta hiểu rõ hơn về mối
quan hệ giữa các dữ liệu thu thập được
Trong lĩnh vực công nghệ thông tin, Relational database tạo
ra thông tin từ những dữ liệu được lưu trữ trên các phương
tiện của máy tính
Dữ liệu là nền tảng để tạo ra thông tin, và từ đó là cơ sở để
có được tri thức
CƠ
SỞ
DỮ LIỆU
Trang 14NOTES
Một cơ sở dữ liệu là một tập hợp dữ liệu có liên
quan với nhau, được lưu trữ trên máy tính, có nhiều
người sử dụng và được tổ chức theo một mô hình
Ví dụ, để quản lý việc học tập trong một môi trường đại
học:
Dữ liệu là các thông tin về sinh viên, về các môn học, điểm
thi…
Chúng ta tổ chức các dữ liệu đó thành các bảng và lưu giữ
chúng vào sổ sách hoặc sử dụng một phần mềm máy tính để
lưu giữ chúng trên máy tính
Ta có một tập các dữ liệu có liên quan đến nhau và mang
nhiều ý nghĩa, đó là một cơ sở dữ liệu
CƠ
SỞ
DỮ LIỆU
Trang 15NOTES CƠ SỞ
DỮ LIỆU
Trang 16NOTES CƠ SỞ
DỮ LIỆU
Trang 17NOTES CƠ SỞ
DỮ LIỆU
Trang 18NOTES CƠ SỞ
DỮ LIỆU
Trang 20NOTES
DỮ LIỆU
Trang 21NOTES
TÍNH CHẤT CƠ SỞ DỮ LIỆU
Một cơ sở dữ liệu biểu thị một khía cạnh nào đó
của thế giới thực như hoạt động của một công ty,
một nhà trường, một ngân hàng…
Những thay đổi của thế giới thực phải được
phản ánh một cách trung thực vào trong cơ sở dữ
liệu
CƠ
SỞ
DỮ LIỆU
Trang 22NOTES
TÍNH CHẤT CƠ SỞ DỮ LIỆU
Một cơ sở dữ liệu là một tập hợp dữ liệu liên kết
với nhau một cách logic và mang một ý nghĩa nào đó
Một cơ sở dữ liệu không phải là một tập hợp tuỳ tiện
CƠ
SỞ
DỮ LIỆU
Trang 23NOTES
DỮ LIỆU
Trang 24NOTES
TÍNH CHẤT CƠ SỞ DỮ LIỆU
Tùy thuộc vào yêu cầu của công việc, cơ sở dữ liệu
được thiết kế, xây dựng và được lưu trữ trong bộ nhớ
của máy tính
Sau đó người dùng sẽ sử dụng máy tính và các
phần mềm để cập nhật, tổng hợp, phân tích dữ liệu để
giải quyết các bài toán khác nhau
Do đó đối tượng sử dụng của các bộ cơ sở dữ liệu
khác nhau thì khác nhau Tùy thuộc vào yêu cầu của
người sử dụng
CƠ
SỞ
DỮ LIỆU
Trang 25HỆ QUẢN TRỊ CSDL NOTES
HỆ QUẢN TRỊ CSDL
Trang 26Một hệ quản trị cơ sở dữ liệu là một tập hợp
chương trình giúp cho người sử dụng thiết kế, xây
dựng, duy trì và khai thác một cơ sở dữ liệu
Hiện nay có nhiều hệ quản trị CSDL trên thị trường
như: Visual Foxpro, SQL server, DB2, Microsoft
Access, Oracle…
HỆ QUẢN TRỊ CSDL NOTES
HỆ QUẢN TRỊ CSDL (DBMS – Database Management System )
Trang 27Ngôn ngữ giao tiếp giữa NSD và CSDL:
Ngôn ngữ mô tả dữ liệu (Data Definition Language
- DDL) để cho phép khai báo cấu trúc của CSDL, khai
báo các mối liên hệ của dữ liệu (Data Relationship) và
các quy tắc (Rules, Constraint) quản lý áp đặt trên dữ
liệu
Ngôn ngữ thao tác dữ liệu (Data Manipulaton
Language - DML) cho phép NSD có thể thêm, xoá, dữ
liệu trong CSDL
HỆ QUẢN TRỊ CSDL NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Trang 28Tự điển dữ liệu (Data dictionary) dùng để mô tả
các ánh xạ liên kết, ghi nhận các thành phần cấu trúc
của CSDL, các chương trình ứng dụng, mật mã, quyền
sử dụng…
HỆ QUẢN TRỊ CSDL NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Trang 29 Có biện pháp bảo mật tốt
Có cơ chế giải quyết tranh chấp dữ liệu
Có cơ chế sao lưu và phục hồi dữ liệu khi có sự
cố xảy ra
Có giao diện tốt, dễ sử dụng
HỆ QUẢN TRỊ CSDL NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Trang 30HỆ QUẢN TRỊ CSDL
NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Có biện pháp bảo mật tốt
Trang 31HỆ QUẢN TRỊ CSDL
NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Có cơ chế sao lưu và phục hồi dữ liệu khi có sự cố xảy ra
Trang 32HỆ QUẢN TRỊ CSDL
NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Có giao diện tốt, dễ sử dụng
Trang 33 Bảo đảm tính độc lập giữa dữ liệu và chương
trình: khi có sự thay đổi dữ liệu (như sửa đổi cấu
trúc lưu trữ các bảng dữ liệu, thêm các chỉ mục,…)
thì các chương trình ứng dụng đang chạy trên
CSDL vẫn không cần phải viết lại hay cũng không
ảnh hưởng đến NSD khác
HỆ QUẢN TRỊ CSDL NOTES
THÀNH PHẦN HỆ QUẢN TRỊ CSDL
Trang 34NOTES
MÔ HÌNH CSDL
Lược đồ CSDL
MÔ HÌNH CSDL
Trang 35NOTES
Cấu trúc cơ sở dữ liệu và mối liên hệ giữa các
đối tượng đóng vai trò rất lớn trong việc xác định
tính hiệu quả của cơ sở dữ liệu:
+ Đảm bảo không trùng lấp dữ liệu
+ Tiết kiệm bộ nhớ
+ Truy cập nhanh chóng và chính xác
Vì vậy, thiết kế cơ sở dữ liệu trở thành hoạt động
chính trong môi trường cơ sở dữ liệu
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 36NOTES
Việc thiết kế cơ sở dữ liệu được thực hiện đơn
giản hơn nhiều khi ta sử dụng các mô hình
Mô hình cơ sở dữ liệu là một tập hợp các khái
niệm dùng để biểu diễn các cấu trúc của cơ sở dữ
liệu
Dựa vào mô hình chúng ta có một cái nhìn tổng
quát về các đối tượng và mối quan hệ giữa chúng
trong cơ sở dữ liệu
Việc thiết kế các mô hình tốt sẽ đưa ra các cơ sở
dữ liệu tốt và trên cơ sở đó sẽ có các ứng dụng tốt
Ngược lại, mô hình không tốt sẽ đưa đến thiết kế cơ
sở dữ liệu tồi và dẫn đến các ứng dụng không đúng
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 37Mô hình cơ sở dữ liệu
Trang 38NOTES
Công ty gồm nhiều nhân viên, mỗi nhân viên được gán
mã nhân viên để tiện quản lý Thông tin của nhân viên bao
gồm: mã nhân viên,phái, địa chỉ, ngày sinh, tên (bao gồm tên,
họ, tên lót), bằng cấp
Do là công ty thực hiện dự án nên các phòng ban sẽ có
nhiều địa điểm giao dịch Thông tin của phòng ban bao gồm:
mã phòng ban, tên phòng ban, địa điểm Mỗi phòng ban có
một người trong số các nhân viên là trưởng phòng (với một
ngày nhận chức cụ thể) Có rất nhiều nhân viên làm việc cho
một phòng ban
Xác định cấu trúc cơ sở dữ liệu Từ đó đề xuất cấu trúc
hợp lý nhất?
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 39NOTES
Các mô hình dữ liệu bậc cao hoặc mô hình dữ
liệu mức quan niệm cung cấp các khái niệm gắn
liền với cách cảm nhận dữ liệu của nhiều người sử
dụng
Các mô hình này tập trung vào bản chất logic của
biểu diễn dữ liệu, nó quan tâm đến cái được biểu
diễn trong cơ sở dữ liệu chứ không phải cách biểu
diễn dữ liệu
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 40NOTES
Các mô hình dữ liệu bậc cao hoặc mô hình dữ
Mô hình ER (Entity – Relationship Model)
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 41NOTES
Các mô hình dữ liệu thể hiện, chúng cung cấp
những khái niệm mà người sử dụng có thể hiểu
được và không xa với cách tổ chức dữ liệu bên
trong máy tính
Người ta còn gọi loại mô hình dữ liệu này là loại
mô hình dữ liệu mức logic
Các mô hình dữ liệu thể hiện che giấu một số
chi tiết về việc lưu trữ dữ liệu nhưng có thể được
cài đặt trực tiếp trên hệ thống máy tính thông qua
Hệ quản trị Cơ sở dữ liệu
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 42Mô hình cơ sở dữ liệu
Trang 43Mô hình cơ sở dữ liệu
Trang 44NOTES
Các mô hình dữ liệu bậc thấp hoặc các mô hình
dữ liệu vật lý cung cấp các khái niệm mô tả chi tiết
về việc các dữ liệu được lưu trữ trong máy tính
như thế nào
Các khái niệm do mô hình dữ liệu vật lý cung
cấp nói chung có ý nghĩa đối với các chuyên gia
máy tính chứ không có ý nghĩa mấy đối với người
sử dụng thông thường
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 45NOTES
Các mô hình dữ liệu bậc thấp hoặc các mô hình
dữ liệu vật lý: Hai mô hình dữ liệu vật lý được biết
và mô hình khung-bộ nhớ ( frame-memory model )
MÔ HÌNH CSDL
Mô hình cơ sở dữ liệu
Trang 46NOTES
CON NGƯỜI VÀ CSDL
CON NGƯỜI
& CSDL
Trang 47NOTES
Người quản trị hệ cơ sở dữ liệu
(Database Administrator – DBA)
Với một cơ sở dữ liệu lớn, rất nhiều người tham gia
vào việc thiết kế, sử dụng và duy trì cơ sở dữ liệu
Do đó cần phải có một người giám sát và quản lý
Người này còn được gọi là admin
Người này có toàn quyền đối với hệ cơ sở dữ liệu
CON NGƯỜI
& CSDL
Trang 48NOTES
Người quản trị hệ cơ sở dữ liệu
(Database Administrator – DBA)
CON NGƯỜI
& CSDL
Trang 49NOTES
Người quản trị hệ cơ sở dữ liệu
(Database Administrator – DBA)
CON NGƯỜI
& CSDL
Trang 50NOTES
Người quản trị hệ cơ sở dữ liệu
(Database Administrator – DBA)
Chịu trách nhiệm chính:
+ Quản lý cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và
các phần mềm liên quan
+ Phân quyền trong việc truy cập vào cơ sở dữ liệu
+ Tổ chức và hướng dẫn sử dụng cơ sở dữ liệu
+ Quản lý, cập nhật các phần mềm, phần cứng, công
cụ (tool) tùy theo yêu cầu của công việc
CON NGƯỜI
& CSDL
Trang 51NOTES
Những người sử dụng (End User)
Những người sử dụng là những người mà công việc
của họ đòi hỏi truy cập đến cơ sở dữ liệu để truy vấn,
cập nhật và sinh ra các thông tin
Có thể chia những người sử dụng thành hai nhóm
& CSDL
Trang 52& CSDL
Trang 53NOTES
Người thiết kế cơ sở dữ liệu
(Database Designer)
Người này chịu trách nhiệm xác định các dữ
liệu sẽ được lưu giữ trong cơ sở, chọn các cấu
trúc thích hợp để biểu diễn và lưu giữ các dữ liệu
đó
Những nhiệm vụ này được thực hiện trước khi
cơ sở dữ liệu được cài đặt và phổ biến
Người thiết kế có trách nhiệm:
Giao thiệp với những người sử dụng tương lai
để hiểu được các đòi hỏi của họ và đưa ra một thiết
kế thoả mãn các yêu cầu đó
Giao thiệp với các nhóm người sử dụng và có
khả năng hỗ trợ các yêu cầu của các nhóm
CON NGƯỜI
& CSDL
Trang 54NOTES
Người thiết kế cơ sở dữ liệu
(Database Designer)
CON NGƯỜI
& CSDL
Trang 55NOTES
Người phân tích hệ thống và lập trình ứng dụng
Người phân tích hệ thống xác định các yêu cầu
của những người sử dụng (chủ yếu là những người
sử dụng thụ động) để đặc tả các chương trình phù
hợp với yêu cầu của họ
Người viết chương trình ứng dụng thể hiện các
đặc tả của những người phân tích thành chương
trình, sau đó kiểm thử, sửa lỗi và bảo trì các
NGƯỜI
& CSDL
Trang 56NOTES
Người phân tích hệ thống và lập trình ứng dụng
CON NGƯỜI
& CSDL
Trang 57NOTES
Người thiết kế và cài đặt hệ quản trị dữ liệu
Đó là những người thiết kế, cài đặt các mô đun,
giao diện của hệ quản trị cơ sở dữ liệu thành các
phần mềm đóng gói
Một hệ quản trị cơ sở dữ liệu là một hệ thống
phần mềm phức tạp bao gồm nhiều thành phần
(mô đun) Đó là các mô đun cài đặt từ điển dữ liệu,
ngôn ngữ truy vấn, bộ xử lý giao diện, truy cập dữ
liệu, kiểm tra cạnh tranh, phục hồi và an toàn
Hệ quản trị cơ sở dữ liệu phải giao tiếp với các
hệ thống phần mềm khác như hệ điều hành và các
chương trình dịch cho nhiều ngôn ngữ khác nhau
CON NGƯỜI
& CSDL
Trang 58NOTES
Người phân tích hệ thống và lập trình ứng dụng
CON NGƯỜI
& CSDL
Trang 59NOTES
Những người phát triển công cụ
Là những người thiết kế và cài đặt các công cụ
(tool), đó là các phần mềm đóng gói hỗ trợ việc
thiết kế và sử dụng cơ sở dữ liệu
CON NGƯỜI
& CSDL
Trang 60NOTES
Các thao tác viên và những người bảo trì
Là những người thiết kế và cài đặt các công cụ
(tool), đó là các phần mềm đóng gói hỗ trợ việc
thiết kế và sử dụng cơ sở dữ liệu
CON NGƯỜI
& CSDL
Trang 61NOTES
NGÔN NGỮ
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
NGÔN NGỮ HQT CSDL
Trang 62NOTES
Làm thế nào để chú chó làm theo ý của bạn?
Làm thế nào để giáo viên truyền đạt được kiến
thức cho học sinh?
NGÔN NGỮ HQT CSDL
Trang 63NOTES
Làm thế nào để chú chó làm theo ý của bạn?
Làm thế nào để giáo viên truyền đạt được kiến
thức cho học sinh?
NGÔN NGỮ HQT CSDL
Trang 64NOTES
Làm thế nào để chú chó làm theo ý của bạn?
NGÔN NGỮ HQT CSDL
Trang 65NOTES
Ngôn ngữ SQL: là một ngôn ngữ truy vấn dựa
trên đại số quan hệ và được chia thành các phần
sau:
Ngôn ngữ định nghĩa dữ liệu (DDL): Cung
cấp các lệnh định nghĩa các bảng biểu và các quan
hệ giữa chúng theo đúng với lược đồ quan hệ, xóa
quan hệ, tạo chỉ mục, tạo khung nhìn…
Ngôn ngữ thao tác dữ liệu (DML): gồm các
ngôn ngữ truy vấn dựa trên các đại số quan hệ và
thực hiện các lệnh thêm, sửa xóa các bộ (record)
trong cơ sở dữ liệu
Bản chất ngôn ngữ SQL là các câu lệnh giúp người
dùng tương tác với cơ sở dữ liệu
NGÔN NGỮ HQT CSDL
Trang 66NOTES
Ngôn ngữ định nghĩa dữ liệu (DDL)
Các lệnh liên quan đến bảng biểu:
CREATE TABLE: lệnh tạo bảng
ALTER TABLE: thay đổi cấu trúc bảng
DROP TABLE: Xóa bảng
NGÔN NGỮ HQT CSDL
Trang 67NOTES
Ngôn ngữ định nghĩa dữ liệu (DDL)
Các lệnh liên quan đến bảng biểu:
NGÔN NGỮ HQT CSDL
Trang 68NOTES
Ngôn ngữ định nghĩa dữ liệu (DDL)
Các lệnh liên quan đến khung nhìn:
CREATE VIEW : lệnh tạo khung nhìn
DROP VIEW : Xóa khung nhìn
NGÔN NGỮ HQT CSDL
Trang 69NOTES
Ngôn ngữ định nghĩa dữ liệu (DDL)
Các lệnh liên quan đến khung nhìn:
NGÔN NGỮ HQT CSDL
Trang 70NOTES
Ngôn ngữ thao tác dữ liệu (DML)
Các lệnh liên quan đến các bộ trong bảng:
INSERT: thêm một bộ mới vào bảng
UPDATE: Cập nhật giá trị của các bộ trong một bảng
DELETE: Hủy bỏ các bộ trong một bảng
NGÔN NGỮ HQT CSDL
Trang 71NOTES
Ngôn ngữ thao tác dữ liệu (DML)
Các lệnh liên quan đến các bộ trong bảng :
NGÔN NGỮ HQT CSDL
Trang 72NOTES
Ngôn ngữ thao tác dữ liệu (DML)
Các lệnh liên quan đến quá trình trích lọc và
phân tích dữ liệu trong cơ sở dữ liệu:
NGÔN NGỮ HQT CSDL
Trang 73END