Bài giảng Tin học ứng dụng trong kinh tế cung cấp cho người học một số nội dung sau: Cơ sở dữ liệu theo mô hình dữ liệu quan hệ, đại số quan hệ, tổ chức cơ sở dữ liệu và thiết kế bảng (Table), thiết kế truy vấn (Query), thiết kế biểu mẫu nhập liệu (Form), thiết kế báo cáo (Report). Mời các bạn cùng tham khảo.
Trang 1Tr ườ ng Đ i h c Nha Trang ạ ọ
Trang 22013
Phân b th i gian ổ ờ
Tài li u h c t p ệ ọ ậ
Bài giảng Tin học Ứng dụng trong kinh tế, BM
Hệ thống Thông tin, Đại học Nha Trang,
2013
Tài li u tham kh o ệ ả
webmonhoc.ntu.edu.vn
trangdhnt.tk
Thư viện trường đại học Nha Trang
Các trang web khác trên Internet
Trang 42013
Các khái ni m c b n ệ ơ ả
D li u (data): ữ ệ Là nh ng s li u r i r c, nh ữ ố ệ ờ ạ ư tên,
đ a ch , s đi n tho i ị ỉ ố ệ ạ c a m t khách hàng ủ ộ
C s d li u là gì? ơ ở ữ ệ (database)
Là một sưu tập của những dữ liệu có liên quan
Ví dụ: niên giám điện thoại, danh mục sách, … Các dữ liệu này có thể được lưu trên các thiết bị trữ tin khác nhau như sổ sách, băng đĩa từ, …
Các CSDL có thể có kích thước và độ phức khác nhau.
Một CSDL có thể được phát sinh và duy trì bằng máy hoặc thủ công.
Trang 5Các khái ni m c b n ệ ơ ả
H qu n tr CSDL là gì? (DataBase ệ ả ị Management System DBMS)
Hệ quản trị cơ sở dữ liệu là một tập những chương trình cho phép người sử dụng tạo ra
và duy trì CSDL
Hệ QTCSDL là một phần mềm hệ thống cho
phép định nghĩa, xây dựng và xử lý dữ liệu
Trang 6H CSDL = CSDL + H QTCSDLệ ệ
Trang 7HCM HN NT NT
650 500 450
HCM HN NT
01 02 03
MSKH MSMH SL
S1 S1 S1 S2 S2 S3 S4
P1 P2 P3 P1 P3 P2 P2
300 200 400 100 300 200 210
Trang 82013
Định nghĩa CSDL: chỉ định cấu trúc mỗi
“bảng”, bao gồm các phần tử dữ liệu và kiểu
dữ liệu tương ứng
Xây dựng CSDL: Đưa dữ liệu vào các “bảng”
KHACHHANG, VANCHUYEN, MATHANG, DATHANG
Trang 9V n đ đ t ra: ấ ề ặ
Có bao nhiêu bảng, tên gì?
Những bảng nào có quan hệ với nhau
Trong một bảng có bao nhiêu cột
Mục đích là để tránh trùng lắp, dư thừa dữ liệu, dữ liệu thiếu tính nhất quán
Trang 102013
Các khái ni m c ệ ơ b n ả
Mô hình d li u: ữ ệ là m t h hình th c ộ ệ ứ toán h c g m có 2 ph n: ọ ồ ầ
Một hệ thống ký hiệu để mô tả dữ liệu.
Một tập hợp các phép toán thao tác trên
dữ liệu đã cho
Trang 11 Mô hình dữ liệu mạng (Network Data Model)
Mô hình dữ liệu phân cấp (Hierachical Data Model)
Mô hình hướng đối tượng (Object Orient Model)
Trang 122013
Mô hình d li u th c th k t h p ữ ệ ự ể ế ợ
Do P.P.Chen đ xu t năm 1976 ề ấ
Các khái ni m: ệ
Thực thể (Entity)
Loại thực thể (Entity Type)
Thuộc tính (Entity Attribute)
Khóa (Entity Key)
Mối kết hợp (Entity Relationship)
Số ngôi của mối kết hợp (Degree)
Thuộc tính của mối kết hợp (Attribute)
Bản số (RelationShip Cardinal)
Trang 13Mô hình d li u quan h ữ ệ ệ
Do E.F.Codd đ xu t năm 1970ề ấ
Có c s lý thuy t v ng ch c: khái ni m lý ơ ở ế ữ ắ ệthuy t t p h p trên các quan h ế ậ ợ ệ
Các khái ni m: thu c tính (Attribute), quan h ệ ộ ệ(Relation), lược đ quan h (Relation Schema), ồ ệ
b (Tuple), khóa (Key).ộ
Trang 15Thu c tính (Attribute) ộ
Thu c tính: ộ
là một tính chất riêng biệt của một đối tượng
cần được lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng
Trang 162013
Thu c tính (Attribute) ộ
Các đ c tr ng c a thu c tính: ặ ư ủ ộ
Tên gọi (Name)
Kiểu dữ liệu (Data Type)
Miền giá trị (Domain)
Trang 17Thu c tính (Attribute) ộ
Tên thu c tính ộ
Có tính chất gợi nhớ
Đặt đúng quy định của hệ QTCSDL
Không nên đặt quá dài
N u không c n l u ý đ n ng nghĩa thì tên ế ầ ư ế ữthu c tính thộ ường được ký hi u b ng các ch ệ ằ ữcái A, B, C, D, …, còn X, Y, Z, W,… dùng thay cho 1 nhóm thu c tính.ộ
Trang 182013
Thu c tính (Attribute) ộ
Ki u d li u (Data Type): M i thu c tính đ u ể ữ ệ ỗ ộ ề
ph i thu c m t ki u d li u nh t đ nh.ả ộ ộ ể ữ ệ ấ ị
Trang 19Thu c tính (Attribute) ộ
M t s ki u d li u trong SQL Server:ộ ố ể ữ ệ
Trang 202013
Thu c tính (Attribute) ộ
Mi n giá tr (Domain): ề ị
Mỗi thuộc tính chỉ chọn những giá trị trong
một tập hợp con của kiểu dữ liệu
Tập hợp các giá trị mà một thuộc tính A có thể nhận được gọi là miền gi trị của A
Ký hi u: Dom(A), MGT(A) ệ
Giá tr NULL: ị
Trong nhiều hệ QTCSDL, người ta đưa thêm vào miền giá trị của các thuộc tính một giá trị đặc biệt gọi là giá trị rỗng (NULL)
Trang 21Quan h (Relation) ệ
M t quan h R ộ ệ có n ngôi được đ nh nghĩa trên:ị
tập các thuộc tính U = {A1, A2, An}
và một tân từ (quy tắc để xác định mối quan
hệ giữa các thuộc tính Ai)
Ký hi u: R (A1, A2, An) ệ
Ví d : ụ
KHOA (Mã-khoa, Tên-khoa), là một quan hệ 2 ngôi
Tân từ: "Mỗi khoa có một tên gọi và một mã
số duy nhất để phân biệt với tất cả các khoa khác của trường"
Trang 222013
B giá tr (Tuple) ộ ị
M t b giá tr : ộ ộ ị
là các thông tin của một đối tượng thuộc quan hệ
còn được gọi là mẫu tin (Record),dòng (Row)
Trang 23L ượ c đ quan h (Relation Schema) ồ ệ
Lược đ quan h :ồ ệ
là sự trừu tượng hóa của quan hệ
ở mức độ cấu trúc của một bảng hai chiều
Khi nh c đ n lắ ế ược đ quan h t c là đ c p ồ ệ ứ ề ậ
đ n c u trúc t ng quát c a m t quan hế ấ ổ ủ ộ ệ
Khi đ c p t i quan h thì đó là m t b ng có ề ậ ớ ệ ộ ả
c u trúc c th ho c m t đ nh nghĩa c th trên ấ ụ ể ặ ộ ị ụ ể
m t lộ ược đ quan h v i các b giá tr c a nó.ồ ệ ớ ộ ị ủ
Trang 25Giá tr c a m i thu c tính trong m t b có th ị ủ ỗ ộ ộ ộ ể
nh n giá tr t mi n giá tr hay giá tr r ng (null).ậ ị ừ ề ị ị ỗ
Trang 261 l ượ c đ có ít nh t 1 siêu khóa và có th có ồ ấ ể nhi u siêu khóa ề
Ví d : ụ
SINHVIEN (MaSV, HoTen, NSinh, DC)
Siêu khóa: {MaSV}, {MaSV, HoTen},
{MaSV,NSinh},
Trang 27Khóa ch đ nh: ỉ ị
Trong số những siêu khóa của 1 lược đồ quan
hệ Q chọn ra những Siêu khóa “nhỏ nhất” gọi là khóa chỉ định (Khóa nội)
Trang 28 Khi cài đặt trên 1 hệ QTCSDL:
• user chọn 1 khóa chỉ định làm khóa chính
• những khóa còn lại gọi là Khóa tương đương.
Chú ý:
Thuộc tính có tham gia vào 1 khóa gọi là thuộc tính khóa, ngược lại – thuộc tính không khóa
Thuộc tính khóa không chứa giá trị NULL
Giá trị khóa không được phép trùng lặp (ràng buộc về khoá)
Trang 29 Khóa ngo i (Foreign Key): ạ
Giả sử có 2 quan hệ R, S.
Một tập thuộc tính K của R được gọi là khóa ngoại
của R nếu K là khóa nội (khóa chính) của S.
Ví d : ụ
Mã-khoa trong LỚP-HỌC là khóa ngoại vì nó là
khóa nội của quan hệ KHOA.
Mã-lớp trong HỌC-VIÊN là khóa ngoại vì nó là
khóa nội của quan hệ LỚP-HỌC
TP là khoá ngoại của KHACHHANG tham chiếu
đến VANCHUYEN
KHACHHANG(MSKH, TÊNKH, TP)
Trang 30 Trong 1 lược đồ quan hệ, một thuộc tính có
thể vừa tham gia vào khoá chính, vừa tham
gia vào khóa ngoại
Khoá ngoại có thể tham chiếu đến khóa
chính của cùng một lược đồ quan hệ
Ví dụ: NHANVIEN(MaNV, HoTen,
MaNguoiPhuTrach)
Có thể có nhiều khóa ngoại tham chiếu đến
cùng một khóa chính
Trang 31Liên k t các b ng d li u ế ả ữ ệ
Liên k t các b ng d li u là m t k thu t trong thi t k ế ả ữ ệ ộ ỹ ậ ế ế CSDL quan h Chúng là m i liên k t gi a 2 b ng v i ệ ố ế ữ ả ớ nhau theo thi t k cho tr ế ế ướ c đ đ m b o đ ể ả ả ượ c m c ụ đích l u tr d li u cho ng d ng ư ữ ữ ệ ứ ụ
Trong Access t n t i 2 ki u liên k t: ồ ạ ể ế
liên kết 1-1
liên kết 1-n (một-nhiều)
Trang 322013
Liên k t 11 ế
Liên k t 1 – 1: m i b n ghi c a b ng này s liên ế ỗ ả ủ ả ẽ
k t v i duy nh t t i m t b n ghi c a b ng kia và ế ớ ấ ớ ộ ả ủ ả
ng ượ ạ c l i;
Ví d liên k t 11: ụ ế
Trang 33Liên k t 11 ế
Mô t d li u 2 b ng này nh sau: ả ữ ệ ả ư
Trang 342013
Các phép toán c p nh t trên quan h ậ ậ ệ
Có 3 phép c p nh t c b n trên quan h : thêm, ậ ậ ơ ả ệxoá, s a.ử
Trang 35Liên k t 1n ế
Liên k t 1n ế : m i tr ỗ ườ ng c a b ng 1 s có th liên k t ủ ả ẽ ể ế
v i m t ho c nhi u b n ghi c a b ng nhi u (n). Ng ớ ộ ặ ề ả ủ ả ề ượ c
l i, m i b n ghi c a b ng nhi u s liên k t t i duy ạ ỗ ả ủ ả ề ẽ ế ớ
nh t 1 tr ấ ườ ng c a b ng 1 ủ ả
Ví d liên k t 1n: ụ ế
Trang 37Các phép toán c p nh t trên quan h ậ ậ ệ
Có 3 phép c p nh t c b n trên quan h : thêm, ậ ậ ơ ả ệxoá, s a.ử
Trang 38 Khóa ngo i có th trùng tên v i khóa chính ạ ể ớ
nh ng ki u d li u ph i gi ng nhau ư ể ữ ệ ả ố
Trang 39Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
Khái ni m ràng bu c toàn v n (RBTV)ệ ộ ẹ
Các phép cập nhật trên CSDL không nên được thực hiện một cách tuỳ tiện, có thể đưa CSDL
đến một tình trạng “xấu”, không còn phản ánh
đúng thế giới thực mà nó đại diện
Các phép cập nhật trên CSDL phải tuân thủ theo một số qui tắc, ràng buộc nhất định Các quy
tắc, ràng buộc này được gọi là Ràng buộc toàn vẹn (Intergrity constraints)
Ví dụ: Mức lương nhân viên không vượt quá
mức lương trưởng phòng
Trang 402013
Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
Xu t x RBTV:ấ ứ
Các quy tắc, quy luật, luật… trong quản lý
Bản thân mô hình dữ liệu
Trang 41Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
Các đ c tr ng c a RBTVặ ư ủ
Nội dung
Bối cảnh
Bảng tầm ảnh hưởng
Trang 42 Ví dụ: Đơn giá của một mặt hàng phải là số dương
Điều kiện trên có thể phát biểu lại bằng ngôn ngữ hình thức như sau:
p MATHANG, p.ĐG > 0
Trang 43Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
B i c nhố ả
Bối cảnh của một RBTV là tập các quan hệ mà
khi thực hiện cập nhật có khả năng làm cho
RBTV đó bị vi phạm
Trang 44 (*): gây nên vi ph m RBTV khi s a trên thu c tính A ạ ử ộ
Ri Thêm Xóa S a ử Quan h 1 ệ + + +
Quan h n ệ +A (*)
Trang 45Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
Phân lo i RBTV: Có 2 nhóm RBTV:ạ
Nhóm RBTV trên một Lược đồ quan hệ
Nhóm RBTV trên nhiều Lược đồ quan hệ
Trang 462013
Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
RBTV mi n giá tr : ề ị Ràng bu c lo i này qui đ nh ộ ạ ịcác giá tr mà m t thu c tính có th nh nị ộ ộ ể ậ .
Ví d : ụ
DOM(NAM) = {1, 2, 3, 4}
DOM(XEPLOAI) = {‘GIOI’, ‘KHA’, ‘TRUNGBINH’, ‘YEU’}
Trang 47Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
. RBTV liên b ộ ràng bu c v khoá ộ ề : S t n t i ự ồ ạ
c a m t ho c nhi u b ph thu c vào s t n t i ủ ộ ặ ề ộ ụ ộ ự ồ ạ
c a m t ho c nhi u b khác trong ủ ộ ặ ề ộ cùng quan hệ.
Ví d : ụ
SINHVIEN(MASV, HOTENSV, GIOITINH, NAMSINH)
R1: “Hai bộ khác nhau sẽ khác nhau tại giá trị khóa”
t1, t2 SINHVIEN: t1 t2 t1[MASV] t2[MASV]
Bảng tầm ảnh hưởng:
R1 Thêm Xóa S a ử SINHVIEN + + MASV
Trang 48 Ràng buộc về khóa (key constraint): 2 bộ khác
nhau trong cùng một quan hệ phải có giá trị tại
khoá khác nhau.
Trang 49Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
RBTV liên thu c tính: ộ Là ràng bu c gi a các thu c tính ộ ữ ộ trong cùng m t quan h ộ ệ
t BIENLAI, (t[DIEM] 5 t[KETQUA] = “đậu”) (t[DIEM] < 5 t[KETQUA] = “không đậu”)
Bảng tầm ảnh hưởng:
BIENLAI (*) +DIEM, KETQUA
Trang 51Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
RBTV tham chi u ế ràng bu c khoá ngo i: ộ ạ Giá
tr c a m t b tham chi u đ n khoá chính c a ị ủ ộ ộ ế ế ủ
m t b ng khác thì tr khoá chính ph i t n t i trộ ả ị ả ồ ạ ước.
Trang 52 Khoá ngoại có thể tham chiếu đến khóa chính của cùng một lược đồ quan hệ
Trang 53Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
? Xác đ nh khoá ngo i cho các b ng trong csdl trong bài ị ạ ả
th c hành (ch rõ tham chi u đ n b ng nào v ) ự ỉ ế ế ả ẽ
??Thêm vào b ng HANGHOA (hàng hóa) có kh năng vi ả ả
ph m RBTV không? ạ
?? Xoá 1 dòng b ng LOAIHH (lo i hàng hóa)? ở ả ạ
???S a trong b ng LOAIHH? ử ả
Trang 542013
Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
!!! Ph i khai báo khoá ngo i (ràng bu c tham chi u) ả ạ ộ ế
n u h QTCSDL cho phép đ h QTCSDL t ế ệ ể ệ ự
ki m tra. ể
V i h QTCSDL Access ta khai báo m i k t ớ ệ ố ế
h p (Relationship) ợ :
Trang 55Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
Đ tránh nh p sai, đ i v i các thu c tính khóa ể ậ ố ớ ộ ngo i, khi t o c u trúc cho Table ta khai báo ạ ạ ấ Lookup:
Trang 562013
Ràng bu c toàn v n ộ ẹ (Integrity Constraint)
? Mu n thêm m t hóa đ n bán cho m t khách ố ộ ơ ộ hàng m i (ch a có trong b ng khách hàng) ph i ớ ư ả ả làm sao?
??Hãy đ xu t th t nh p cho các b ng trong ề ấ ứ ự ậ ả bài th c hành? ự
??? Nh n xét v th t nh p d li u cho các ậ ề ứ ự ậ ữ ệ
b ng? ả
Trang 576 Hãy cho bi t các thành ph có quan h kinh doanh ế ố ệ
(không đ ượ c ch a nh ng dòng trùng nhau) ứ ữ
Trang 59Ph n 2. H QTCSDL Microsoft Accessầ ệ
1 T ch c c s d li u và thi t k b ng (Table) ổ ứ ơ ở ữ ệ ế ế ả
2 Thi t k truy v n (Query) ế ế ấ
3 Thi t k bi u m u nh p li u (Form) ế ế ể ẫ ậ ệ
4 Thi t k Báo cáo (Report) ế ế
Trang 61Cách kh i đ ng ở ộ
T Start Screen (Windows 8) ừ
Trang 622013
T o t p Access m i ạ ệ ớ
Trang 64 Tables: n i ch a toàn b các b ng d li u; ơ ứ ộ ả ữ ệ
Queries: n i ch a toàn b các truy v n d li u đã đ ơ ứ ộ ấ ữ ệ ượ c thi t k ; ế ế
Forms: n i ch a các m u giao di n ph n m m; ơ ứ ẫ ệ ầ ề
Reports: n i ch a các m u báo cáo đã đ ơ ứ ẫ ượ c thi t k ; ế ế
Macro: n i ch a các Macro l nh ph c v d án; ơ ứ ệ ụ ụ ự
Modules: n i ch a các khai báo, các th vi n ch ơ ứ ư ệ ươ ng trình con ph c v d án ụ ụ ự
Trang 662013
C u trúc logic c a m t Table ấ ủ ộ
B ng d li u (Tables) là m t ph n quan tr ng nh t c a ả ữ ệ ộ ầ ọ ấ ủ CSDL, là n i l u tr d li u cho ng d ng ơ ư ữ ữ ệ ứ ụ
Trang 67Datasheet (nh p, xem, s a d li u):ậ ử ữ ệ
Bản ghi đặc biệt cuối cùng gọi là EOF
Tên bảng Mỗi cột là một trường (Field)
Mỗi dòng là một bản ghi (Record)
Trang 682013
Design view (đang thi t k c u trúc):ế ế ấ
Trường khóa (Primary key)
Tập hợp các thuộc tính của trường dữ liệu
Trang 69Tên b ng ả
M i b ng có m t tên g i. Tên b ng th ỗ ả ộ ọ ả ườ ng đ ượ c đ t ặ sau khi t o xong c u trúc c a b ng ạ ấ ủ ả
Không nên s d ng d u cách (Space), các ký t đ c ử ụ ấ ự ặ
bi t ho c ch ti ng Vi t có d u trong tên b ng ệ ặ ữ ế ệ ấ ả
Trang 702013
Tr ườ ng d li u (Field) ữ ệ
M i c t d li u c a b ng s tỗ ộ ữ ệ ủ ả ẽ ương ng v i m t ứ ớ ộ
trường d li u hay còn g i là thu c tính.ữ ệ ọ ộ
M i trỗ ường d li u có m t tên g i và t p h p các ữ ệ ộ ọ ậ ợthu c tính miêu t trộ ả ường d li u đó ví d nh : ki u ữ ệ ụ ư ể
d li u, mi n giá tr , đ nh d ng, …ữ ệ ề ị ị ạ
Không nên s d ng d u cách (Space), các ký t ử ụ ấ ự
đ c bi t ho c ch ti ng Vi t có d u trong tên ặ ệ ặ ữ ế ệ ấ
trường
Trang 71TT Ki u d li u ể ữ ệ Đ l n ộ ớ L u tr ư ữ
1 Number Tu thu c ki u c th ỳ ộ ể ụ ể S : s th c, s nguyên theo nhi u ố ố ự ố ề
ki u ể
2 Autonumber 4 bytes S nguyên t đ ng đ ố ự ộ ượ c đánh s ố
3 Text tu thu c đ dài xâu ỳ ộ ộ Xâu ký tự
5 Date/Time 8 bytes L u tr ngày, gi ư ữ ờ
6 Currentcy Sing L u tr d li u kèm ký hi u ti n t ư ữ ữ ệ ệ ề ệ
7 Memo tu thu c giá tr ỳ ộ ị ki u ghi nh ể ớ
8 Hyperlink tu thu c đ dài ỳ ộ ộ
xâu
L u tr các siêu liên k t (hyperlink) ư ữ ế
9 OLE tu thu c d li u ỳ ộ ữ ệ Âm thanh, hình nh, đ ho , … ả ồ ạ
(Objects)
Ki u d li u ể ữ ệ
Trang 72M i b ng có m t con tr b n ghi. ỗ ả ộ ỏ ả
Con tr b n ghi đang n m b n ghi nào, ngỏ ả ằ ở ả ười dùng có th s a để ử ược d li u b n ghi đó. ữ ệ ả
Đ c bi t, b n ghi tr ng cu i cùng c a m i b ng ặ ệ ả ắ ố ủ ỗ ả
được g i EOF.ọ
Trang 73 B ướ c 1: Kh i đ ng trình thi t k c u trúc b ng ch đ ở ộ ế ế ấ ả ở ế ộ Design View:
Tables/New/Design View OK
Ho c nh n ặ ấ
Thi t k Table – Ch đ Design view ế ế ế ộ
Trang 742013
H p tho i thi t k c u trúc m t b ng xu t hi n: ộ ạ ế ế ấ ộ ả ấ ệ
Thi t k Table – Ch đ Design view ế ế ế ộ
Trang 75 B ướ c 2: Đ nh nghĩa các tr ị ườ ng d li u: ữ ệ
+ Filed Name: Gõ tên tr ườ ng d li u ữ ệ
+ Data Type: Ch n ki u d li u ọ ể ữ ệ
+ Description: mô t (có ho c không) ả ặ
+ Field Propperties: khai báo các thu c tính c a tr ộ ủ ườ ng (n u ế
c n) ầ
• Khai báo thẻ General.
• Nếu là thuộc tính khóa ngoại, khai báo thẻ
Loopkup.
Thi t k Table – Ch đ Design viewế ế ế ộ