Giáo trình Cơ sở dữ liệu - Nghề: Công nghệ thông tin

TRƯỜNG CAO ĐẲNG NGHỀ ĐẮK LẮK  
KHOA ĐIỆN TỬ TIN HỌC  
---------------oOo---------------  
GIÁO TRÌNH  
CƠ SỞ DỮ LIỆU  
NGHỀ: Công nghệ thông tin  
TRÌNH ĐỘ: Cao đẳng nghề, Trung cấp nghề  
Người biên soạn: NGUYỄN THỊ THÙY LINH  
Lưu hành nội bộ - 2014  
LỜI MỞ ĐẦU  
Cơ sở dữ liệu là một lĩnh vực phát triển mạnh của công nghệ thông tin. Cùng với  
sự phát triển công nghệ thông tin ở nước ta, việc sử dụng các kiến thức về cơ sở dữ liệu  
vào thực tiễn ngày càng trở lên cần thiết.  
Để đáp ứng nhu cầu học tập của sinh viên chuyên ngành Công nghệ Thông tin,  
giáo trình Cơ sở dữ liệu được biên soạn theo chương trình khung của Trường Cao đẳng  
Nghề Đắk Lắk, cung cấp các kiến thức cơ bản về lý thuyết cơ sở dữ liệu.  
Trong giáo trình này chúng tôi cung cấp cho sinh viên những kiến thức cơ bản  
nhất về cơ sở dữ liệu. Mục tiêu chính là với kiến thức cơ bản này sinh viên có thể ứng  
dụng các kiến thức về cơ sở dữ liệu vào thực tiễn và tiếp tục nghiên cứu học tập được các  
môn tin học khác.  
Trong quá trình biên soạn sẽ không tránh khỏi những thiếu sót, rất mong được sự  
đóng góp ý kiến của đồng nghiệp để giáo trình ngày càng hoàn thiện hơn.  
MỤC LỤC  
VỊ TRÍ, TÍNH CHẤT CỦA MÔN HỌC:  
Cơ sở dữ liệu là môn học cơ sở nghề bắt buộc của chương trình đào tạo Cao đẳng  
nghề Công nghệ thông tin (ứng dụng phần mềm). Môn học này được học sau môn Tin  
học.  
MỤC TIÊU CỦA MÔN HỌC:  
Hiểu được nguyên lý thiết kế cơ sở dữ liệu quan hệ;  
Hiểu về các mô hình dữ liệu và các công cụ mô tả dữ liệu;  
Hiểu về các khái niệm, tính năng và các phương thức xử lý dữ liệu của hệ quản trị cơ  
sở dữ liệu SQL;  
Biết cách xây dựng các ràng buộc, các phụ thuộc hàm, cách chuẩn hóa các cơ sở dữ  
liệu quan hệ;  
Thiết kế được một số cơ sở dữ liệu quan hệ thông dụng: quản lý nhân sự, quản lý bán  
hàng,...;  
Nghiêm túc, tỉ mỉ, sáng tạo trong quá trình tiếp thu kiến thức và vận dụng vào việc  
xây dựng các cơ sở dữ liệu cụ thể. Chủ động, tích cực tìm hiểu các tài liệu và nguồn bài  
tập liên quan.  
NỘI DUNG MÔN HỌC:  
1. Nội dung tổng quát và phân bổ thời gian:  
Số  
TT  
Thời gian  
Kiểm tra*  
(LT hoặc  
TH)  
Tên chương, mục  
Tổng số  
Lý  
Thực  
hành,  
Bài tập  
7
thuyết  
I.  
Mô hình quan hệ  
10  
3
0
Nguyên nhân ra đời của mô  
hình quan hệ  
0.5  
0.5  
0
0
Hệ quản trị cơ sở dữ liệu  
Mô hình quan hệ  
Mô hình thực thể kết hợp  
Ngôn ngữ truy vấn SQL  
Cách tạo quan hệ bằng Access  
Câu lệnh truy vấn  
0.5  
4
5
17  
2
13  
2
0.5  
1
1
4
1
3
0
2
0
3
4
11  
1
10  
0
0
0
0
2
0
0
2
0
II.  
Kiểm tra  
III. Ràng buộc toàn vẹn quan hệ  
Ràng buộc toàn vẹn-Các yếu  
tố của ràng buộc toàn vẹn  
Phân loại ràng buộc toàn vẹn  
IV. Phụ thuộc hàm  
7
5
0.5  
0.5  
0
0
6.5  
6
5
1
8
1.5  
2
1
1
3
5
4
4
0
5
0
0
0
0
0
0
0
Khái niệm phụ thuộc hàm  
Hệ luật dẫn Armstrong  
Phủ của tập phụ thuộc hàm  
Định nghĩa  
V.  
0.5  
0.5  
Phủ tối thiểu của một tập phụ  
thuộc hàm  
1.5  
1.5  
0
0
Khóa của lược đồ quan hệ  
6
1
5
0
VI. Chuẩn hóa Cơ sở dữ liệu  
12  
4
6
2
Các dạng chuẩn của lược đồ  
quan hệ  
Phép tách kết nối bảo toàn  
Thiết kế cơ sở dữ liệu bằng  
cách phân rã  
6
2
2
2
1
1
4
1
1
0
0
0
Kiểm tra  
2
0
0
2
Tổng cộng  
60  
18  
38  
4
ĐIỀU KIỆN THỰC HIỆN  
Vật liệu: Giáo trình, tài liệu về Cơ sở dữ liệu, một số cơ sở dữ liệu thực tiễn;  
Dụng cụ và trang thiết bị: Phòng học, máy tính, máy chiếu,....  
CHƯƠNG 1. MÔ HÌNH QUAN HỆ  
MỤC TIÊU CỦA BÀI:  
Sau khi học xong bài này người học có khả năng:  
- Trình bày được các khái niệm về cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và mô  
hình quan hệ;  
- Trình bày được cách chuyển đổi từ lược đồ CSDL sang mô hình quan hệ dữ liệu;  
- Áp dụng các phép toán đại số quan hệ (các phép toán tập hợp) để biểu diễn trên  
lược đồ quan hệ;  
- Chuyển đổi được từ lược đồ CSDL sang mô hình quan hệ dữ liệu  
- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập.  
NỘI DUNG BÀI HỌC  
1.1. Nguyên nhân ra đời của mô hình quan hệ  
Trong nhiều năm, công nghệ tính toán và thông tin phát triển từ những hệ thống  
lớn, đắt tiền, độc quyền đến các hệ thống mở mạnh và không đắt tiền. Sự pháttriển này  
mang lại lợi ích to lớn cho người dùng cuối bởi sự phát triển của các gói ứng dụng số như  
xử lý văn bản, bảng tính điện tử, văn phòng xuất bản, hệ quản lý cơ sở dữ liệu, máy tính  
trợ giúp công nghệ phần mềm....  
Trước khi máy tính hóa cơ sở dữ liệu đươc giới thiệu, dữ liệu được lưu trữ theo  
kiểu điện tử thành nhiều tập tin riêng biệt sử dụng hệ tập tin (từ đây về sau ta gọi hệ tập  
tin theo lối cũ). Những tập tin này được xử lý bằng các ngôn ngữ thế hệ thứ ba như  
COBOL, FORTRAN, PASCALvà ngay cả BASICđể tạo ra các giải pháp cho các vấn đề  
của doanh nghiệp. Mỗi ứng dụng, chẳng hạn như hệ tính lương, hệ kho hay hệ thống kế  
toán sẽ có một tập các tập tin riêng chứa dữ liệu riêng. Các ứng dụng như vậy tạo ra ba  
vấn đề sau:  
- Có sự liên kết chặt chẽ giữa cấu trúc luận lý và cấu trúc vật lý của các tập tin và  
chương trình ứng dụng khai thác chúng. Điều này khiến việc tạo nên các ứng dụng này  
rất khó khăn, tốn nhiều thời gian và do vậy mà tốn kém trong bảo trì hệ thống.  
- Có sự dư thừa dữ liệu rất lớn qua việc trùng lắp các tập tin trong các ứng dụng  
khác nhau. Điều này tạo ra những vấn đề như: dữ liệu thiếu nhất quán, không gian đĩa bị  
lãng phí, thời gian bảo trì và lưu phòng hờ các tập tin gia tăng, vấn đề về quản trị như  
không chú trọng  
bảo mật và tổ chức dữ liệu thiếu thống nhất.  
- Người sử dụng có ít khả năng khai thác trực tiếp dữ liệu  
1.2. Hệ quản trị cơ sở dữ liệu  
Khởi đầu, sự giới thiệu CSDL và HQTCSDL nhằm giải quyết các vấn đề của hệ  
thông tin dựa trên các tập tin theo lối cũ (C1.I). Điều này tạo raviệc phát triển trên hai  
mươi lăm năm qua một hệ CSDL quan hệ thương mại xuất hiện cuối những năm thập  
niên 70 và các năm đầu của thập niên 80. Trước khi xem xét CSDL và hệ QTCSDLQH  
giải quyếtmột vài vấn đề của hệ thông tin theo lối cũ như thế nào chúng ta cần làm rõ vài  
khái niệm.  
1.2.1 CSDL là gì  
Một cơ sở dữ liệu có thể định nghĩa tạm như sau: một chỗ chứa có tổ chức tập hợp  
các tập tin dữ liệu có tương quan, các mẫu tin và các cột.  
Ngày nay CSDL tồn tại trong mỗi ứng dụng thông dụng, ví dụ:  
1
       
- Hệ kho và kiểm kê.  
- Hệ đặt chỗ máy bay  
- Hệ nguồn nhân lực.  
- hệ dịch vụ công cộng như cấp nước, điện, khí đốt  
- Điều khiển quá trình chế tạo và sản xuất  
1.2.2 Hệ quản trị CSDL  
Một hệ quản trị CSDL (HQTCSDL) là:  
- một tập các phần mềm quản lý CSDL và cung cấp các dịchvụ xử lý CSDL cho  
các những người phát triển ứng dụng và người dùng cuối.  
- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu.  
- HQTCSDL biến đổi CSDL vật lý thành CSDL logic.  
Hình 1.1  
Dựa vào cách tổ chức dữ liệu, HQTCSDL được chia thành năm loại:  
- loại phân cấp như hệ IMS của IBM  
- loại mạng như IDMS của Cullinet Software  
- Loại tập tin đảo như ADABAS của Software AG  
- Loại quan hệ như như ORACLE của Oracle, DB2 của IBM, ACCESS của Ms  
Access  
- Loại đối tượng là một tiếp cận khá mới trong thiết kế HQTCSDL và việc sử  
dụng loại này sớm trở nên phổ biến  
Hiện tại, loại HQTCSDL chính được sử dụng trong công nghệ là loại HQTCSDL  
quan hệ (RDBMS). Loại này đã chiếm lĩnh trong công nghệ trên 10-15 năm cuối cùng  
khi đánh bật loại  
HQTCSDL phân cấp và gần đây là HQTCSDL mạng.  
1.2.3 Người dùng (User)  
Người dùng khai thác CSDL thông qua HQTCSDL có thể phân thành ba loại:  
người quản trị CSDL, người phát triển ứng dụng và lập trình, người dùng cuối.  
- Người quản trị CSDL, hàng ngày, chịu trách nhiệm quản lý và bảo trì CSDL như:  
+ sự chính xác và toàn vẹn của dữ liệu và ứng dụng trong CSDL, sự bảo mật của  
CSDL  
+ lưu phòng hờ và phục hồi CSDL  
+ giữ liên lạc với người phát triển ứng dụng, người lập trình và người dùng cuối.  
+ bảo đàm sự hoạt động trôi chảy và hiệu quả của CSDL và HQTCSDL  
Người phát triển và lập trình ứng dụng là những người chuyên nghiệp về máy tính có  
trách nhiệm thiết kế, tạo dựng và bảo trì hệ thông tin cho người dùng cuối.  
- Người dùng cuối là những người không chuyên về máy tính nhưng họ là các  
chuyên gia trong các lãnh vực khác có trách nhiệm cụ thể trong tổ chức. Họ khai thác  
CSDL thông qua hệ được phát triển bởi người phát triển ứng dụng hay các công cụ truy  
vấn của HQTCSDL.  
2
   
1.3. Mô hình quan hệ  
1.3.1 Mô hình quan hệ là gì?  
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất  
năm 1971. Mô hình này bao gồm:  
- Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như quan hệ,  
bộ, thuộc tính, khóa chính, khoá ngoại, ...  
- Một tập hợp các phép toán thao tác trên dl như phép toán tập hợp, phép toán quan hệ.  
- ràng buộc toàn vẹn quan hệ.  
Các hệ HQTCSDLQH ngày nay được xây dựng dựa vào lý thuyết của mô hình quan hệ.  
Mục đích của môn học này giúp cho sinh viên nắm được kiến trúc tổng quát về mô hình  
quan hệ và áp dụng nó để lập mô hình dữ liệu quan hệ có hiệu quả trong lưu trữ và khai thác.  
1.3.2 Các khái niệm cơ bản của mô hình quan hệ  
- Thuộc tính  
Chẳng hạn với bài toán quản lý điểm thi của sinh viên; với đôi tượng sinh viên ta  
cần phải chú ý đến các đặc trưng riêng như họ tên,ngày sinh, nữ (giới tính), tỉnh thường  
trú, học bổng, lớp mà sinh viên theo học,. . . các đặc trưng này gọi là thuộc tính.  
- Lược đồ quan hệ  
Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa  
chúng được gọi là lược đồ quan hệ. Lược đồ quan hệ Q với tập thuộc tính  
{A1,A2,...,An}được viết là  
Q(A1,A2,...,An). Tập các thuộc tính của Q được ký hiệu là Q+. Chẳng hạn lược đồ quan  
hệ sinh viên (Đặt tên là Sv) với các thuộc tính như trên là:  
Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH)  
Thường khi thành lập một lược đồ, người thiết kế luôn gắn cho nó một ý nghĩa  
nhất định, ý nghĩa đó gọi là tân từcủa lược đồ quan hệ đó. Dựa vào tân từ người ta xác  
định được tập thuộc Tính khóacủa lược đồ quan hệ  
- Quan hệ  
Sự thể hiện của lược đồ quan hệ Q ở một thời điểm nào đó được gọi là quan hệ, rõ  
ràng là trên một lược đồ quan hệ có thể định nghĩa rất nhiều quan hệ. Thường ta dùng các  
ký hiệu như R, S, Qđể chỉ các lược đồ quan hệ, còn quan hệ được định nghĩa trên nó  
tương ứng được ký hiệu là là r, s, q  
- Bộ (tuple)  
Bộ là tập mỗi giá trị liên quan của tất cả các thuộc tính của một lược đồ quan hệ.  
Chẳng hạn quan hệ sau có 2 bộ.  
Thường người ta dùng các chữ cái thường (như t,p,q,…) để biểu diễn các bộ.  
Chẳng hạn để nói bộ t thuộc quan hệ r ta viết: t ?r.  
- Khóa  
Cho lược đồ quan hệ R, S #R+. S được gọi là một siêu khóa(superkey) của lược đồ  
quan hệ R nếu với hai bộ tùy ý trong quan hệ R thì giá trị của các thuộc tính trong S là  
khác nhau. Một lược đồ quan hệ có thể có nhiều siêu khoá.Siêu khoá chứa ít thuộc tính  
nhất được gọi là khóa chỉ định, trong trường hợp lược đồ quan hệ có nhiều khóa chỉ định,  
thì khóa được chọn để cài đặt gọi là khóa chính(Primary key) (trong các phần sau khóa  
chính được gọi tắt là khóa)  
3
     
Các thuộc tính tham gia vào một khóa được gọi là thuộc tính khóa (prime key),  
ngược lại được gọi là thuộc tính không khóa (non prime key). Một thuộc tính được gọi là  
khóa ngoạinếu nó là thuộc tính của một lược đồ quan hệ này nhưng lại là khóa chính của  
lược đồ quan hệ khác  
Ví dụ: Ta hãy xem lược đồ quan hệ sau:  
Xe(SODANGBO,QUICACH,  
INHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)  
Siêu khóa: (SOSUON,QUICACH),...  
Khóa chỉ định: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE)  
Khóa chính: MAXE  
Thuộc tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE  
Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC  
Khóa của Sv là (MASV), Khoá của Mh là (MAMH), khoá của Kh là (MAKHOA), khóa  
của Kq là (MASV,MAMH)khóa của Lop là MALOP, trong Lop thuộc tính MAKHOA là  
khóa ngoại  
1.3.3 Các phép toán tập hợp  
- Phép hợp  
Cho hai lược đồ quan hệ Q1và Q2có cùng tập thuộc tính {A1,A2,..,An}. r1và  
r2lần lượt là hai quan hệ trên Q1và Q2. Phép hợp của hai lược đồ quan hệ Q1và Q2sẽ tạo  
thành một lược đồ quan hệ Q3.Q3được xác định như sau:  
Vd:  
- Phép giao  
Cho hai lược đồ quan hệ Q1và Q2có cùng tập thuộc tính {A1,A2,..,An}. r1và  
r2lần lượt là hai quan hệ trên Q1và Q2. Phép giao của hai lược đồ quan hệ Q1và Q2sẽ tạo  
thành một lược đồ quan hệ Q3như sau:  
Q'Q  
r' r(E) r : E {t | t rvàt(E) }  
- Phép trừ  
Cho hai lược đồ quan hệ Q1và Q2có cùng tập thuộc tính {A1,A2,..,An}. r1và r2  
lần lượt là hai quan hệ trên Q1và Q2. Phép trừ lược đồ quan hệ Q1cho Q2sẽ tạo thành  
một lược đồ quan hệ Q3 như sau:  
Q3{A , A2 ,...,AN  
}
1
r3 r r2 {t | t r hoăo tr2  
1
1
4
 
- Tích Descartes  
Cho hai lược đồ quan hệ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm). r1và r2lần lượt là hai  
quan hệ trên Q1và Q2. Tích Descartes của hai lược đồ quan hệ Q1và Q2sẽ tạo thành một  
lược đồ quan hệ Q3như sau  
Q3Q1Q2{A ...,B1,.... }  
1
r r r2 {t | t rhoăo tr2  
3
1
1
1.3.4 Các phép toán quan hệ  
- Phép chiếu  
Cho một lược đồ quan hệ Q(A1,A2,..,An). r là quan hệ trên Q
Phép chiếu của Q lên tập thuộc tính X sẽ tạo thành lược đồ quan hệ Q’= Q[X], trong đó  
Q’+ chính là X và r’ chính là r nhưng chỉ lấy các thuộc tính của X.  
Q'X  
r' r[X] r.X {t' | t rvàt.X t[X] t'  
Phép chiếu chính là phép rút trích dữ liệu theo cột (chiều dọc)  
Ví dụ:  
- Phép chọn (Selection)  
Cho lược đồ quan hệ Q(A1,A2,..,An), r là một quan hệ trên Q. X Qvà E là một mệnh  
đề logic được phát biểu trên tập X. Phần tử t ∈ r thỏa mãn điều kiện E ký hiệu là t(E).  
Phép chọn từ r theo điều kiện E sẽ tạo thành một lược đồ quan hệ Q’ như sau:  
Q'Q  
r' r(E) r : E {t | t rvàt(E) }  
phép chọn chính là phép rút trích dữ liệu theo dòng (chiều ngang)  
Ví dụ:  
5
 
- Phép kết (nối) – phép kết tự nhiên  
Cho hai lược đồ quan hệ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm). r1 và r2 lần lượt là  
hai quan hệ trên Q1 và Q2. Ai và Bj lần lượt là các thuộc tính của Q1 và Q2 sao cho  
MGT(AI) = MGT(BJ) (MGT: miền giá trị). θ là một phép so sánh trên MGT(AI).  
Phép kết giữa Q và Q sẽ tạo thành một lược đồ quan hệ Q như sau:  
Q3Q1Q2  
r3 r || r2 {t12 | t1 r ,t2 r2  
1
1
sao cho  
t12 .Q1t1  
t12 .Q2t2  
t1.At2.Bj  
1
Ta rút ra các bước cụ thể để thực hiện phép kết như sau:  
+ Tạo tích descartes  
+ Thực hiện phép chọn theo điều kiện E=Ai θ Bj  
Ví dụ:  
Ai là thuộc tính B, Bj là thuộc tính F và θ là phép so sánh “>=”. Ta được kết quả là quan hệ  
sau:  
Nếu θ được sử dụng trong phép kết là phép so sánh bằng (=) thì ta gọi là phép kết bằng.  
Hơn nữa nếu AI ≡ Bj thì phép kết bằng này được gọi là phép kết tự nhiên. Phép kết tự  
nhiên là một phép kết thường dùng nhất trong thực tế.  
Ví dụ: Với Ai ≡ Bj = MAMH  
- Phép chia  
Cho hai lược đồ quan hệ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).  
r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2.  
Ai và Bj lần lượt là các thuộc tính của Q1 và Q2 sao cho n>m.  
Phép chia Q1 và Q2 sẽ tạo thành một lược đồ quan hệ Q3 như sau:  
Q3{A ,...,Anm  
}
1
r3 r r2 {t3 | t2 r2 ,t1 rt t1. {A ,...,Anm  
}
1
1 3  
1
t2 t1. {Anm1,....An } }  
Ví dụ:  
6
1.4. Mô hình thực thể kết hợp  
1.4.1 Giới thiệu mô hình thực thể kết hợp ER  
Các nhà phân tích thiết kế hệ thống thông tin thường xây dựng lược đồ cơ sở dữ  
liệu từ mô hình thực thể kết hợp và mô hình này lại được xây dựng từ phần đặc tả vấn  
đề của một bài toán thực tế.  
Lược đồ cơ sở dữ liệu xây dựng theo hướng này thông thường đạt tối thiểu dạng  
chuẩn 3 (3NF: third normal form) nghĩa là ở dạng có sự dư thừa dữ liệu ở mức tối thiểu,  
còn môn CSDL xây dựng lược đồ CSDL đạt dạng chuẩn 3 từ lược đồ cơ sở dữ liệu chưa  
đạt dạng chuẩn có kèm các tân từ . Ta hãy xem ví dụ sau:  
- Mối quan hệ 1 – 1  
* Đặc tả vấn đề  
Phòng cảnh sát mong muốn quản lý lý lịch cá nhân những người lái xe và bằng lái  
của họ. Một người chỉ lấy được một bằng lái và một bằng lái chỉ thuộc về một người.  
Thông tin về lái xe mà phòng cảnh sát quan tâm là: mã người lái xe, tên, địa chỉ, ngày  
sinh. Thông tin về bằng lái cần lưu trữ là: mã bằng lái, loại bằng lái, ngày hết hạn  
* Mô hình thực thể kết hợp  
NGƯỜILX  
BANGLAI  
Hình 1.2  
+ Mỗi NGƯỜI LÁI XE phải sở hữu một BẰNG LÁI  
+ Mỗi BẰNG LÁI phải được sở hữu bởi một NGƯỜI LÁI XE  
- Mối quan hệ 1 – nhiều  
* Đặc tả vấn đề  
Những người phụ trách đào tạo của Trường cao đẳng cộng đồng núi Ayers mong  
muốn tạo lập mộtCSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công  
nghệ bay) và học viên ghi danh vào những môn học này. Trường cũng có qui định là  
cùng một lúc, học viên chỉ có thể ghi danh vào một môn học. Họ chỉ quan tâm về dữ liệu  
của đợt ghi danh hiện tại. Một khi học viên kết thúc môn học thì nhà trường sẽ không còn  
quan tâm đến họ và những học viên này phải được xóa khỏi CSDL.  
Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học viên, địa chỉ, ngày  
sinh, số điện thoại, ngày nhập học . Thông tin về môn học gồm mã môn học, tên môn  
học, thời lượng  
Phân tích:  
- Phần đặc tả vấn đề chứa đựng các qui tắc quản lý và dữ liệu yêu cầu của vấn đề.  
- Dữ liệu của vấn đề là: chi tiết về học viên có mã học viên, tên học viên, địa chỉ, ngày  
sinh, số điện thoại và ngày nhập học chi tiết về môn học có mã môn học, tên môn học và  
thời lượng.  
- Qui tắc quản lý gồm:  
7
   
+ Cùng một lúc, một học viên chỉ có thể ghi danh vào một môn học.  
+ Nhiều học viên có thể ghi danh vào một môn học.  
+ Nhà trường chỉ quan tâm đến những học viên của môn học hiện tại.  
* Mô hình thực thể kết hợp (Mô hình ER)  
MONHOC  
HOCVIEN  
Hình 1.3  
Các tính chất trong mô hình thực thể kết hợp:  
- Hình chữ nhật được gọi là tập thực thể. Tên của tập thực thể được ghi bên trong hình  
chữ nhật và dùng danh từ để đặt tên cho tập thực thể.  
- Đường nối giữa hai tập thực thể được gọi là mối quan hệ (mối kết hợp). Mối quan hệ  
trong vấn đề trên là mối quan hệ một-nhiều (1:M). Nội dung của mối quan hệ được diễn  
tả theo hai chiều: “ghi danh vào”, “được ghi danh bởi” và chúng diễn tả hai nội dung  
sau:  
+ Mỗi HỌC VIÊN có thể ghi danh vào một MÔN HỌC  
+ Mỗi MÔN HỌC phải được ghi danh bởi một hay nhiều HỌC VIÊN  
- Các dữ liệu ghi bên cạnh tập thực thể được gọi là thuộc tính. Chúng cung cấp thông tin  
chi tiết về tập thực thể. Có hai loại thuộc tính:  
- Thuộc tính nhận diện là thuộc tính để phân biệt thực thể này với thực thể kia trong tập  
thực thể.  
Thuộc tính mô tả là thuộc tính cung cấp thông tin chi tiết hơn về thực thể trong tập  
thực thể.  
Mối quan hệ của vấn đề trên là mối quan hệ một-nhiều. Tính chất này của mối  
quan hệ gọi là tính kết nối của mối quan hệ. Tính kết nối một-nhiều rất phổ biến trong mô  
hình thực thể kết hợp. Hai loại kết nối còn lại ít phổ biến hơn nhưng không kém phần  
quan trọng là mối quan hệ một-một và mối quan hệ nhiều-nhiều.  
- Mối quan hệ nhiều – nhiều  
* Đặc tả vấn đề  
Người phụ trách đào tạo Trường cao đẳng cộng đồng núi xanh mong muốn thiết  
lập một csdl về các môn học mà họ cung cấp (như chứng chỉ leo núi, cử nhân công nghệ  
bay) và các học viên ghi danh vào các môn học này. Nhà trường qui định là một học viên  
được ghi danh học tối đa ba môn học trong cùng một lúc. Họ chỉ quan tâm đến dữ liệu  
của môn học hiện tại. Một khi học viên kết thúc môn học, họ sẽ không còn thuộc diện  
quản lý của nhà trường và phải được xóa khỏi csdl trừ khi học viên này ghi danh học tiếp  
môn mới. Thông tin về một học viên gồm: mã học viên, tên học viên, địa chỉ, ngày sinh,  
số điện thoại, ngày nhập học  
Thông tin về môn học gồm: mã môn học, tên môn học, thời lượng  
* Mô hình ER  
HOCVIEN  
MONHOC  
Hình 1.4  
8
+ Mỗi HỌC VIÊN có thể ghi danh vào một hay nhiều MÔN HỌC  
+ Mỗi MÔN HỌC phải được ghi danh bởi một hay nhiều HỌC VIÊN  
Mô hình ER trên có mối quan hệ nhiều nhiều.  
* Loại bỏ tính kết nối nhiều nhiều (nếu được)  
Mô hình trên gặp phải khuyết điểm sau:  
- Ngày nhập học là thuộc tính gắn liền với tập thực thể HỌC VIÊN sẽ không hợp lý vì  
không diễn tả được trường hợp học viên học cùng lúc nhiều môn học.  
- Còn nếu ngày nhập học là thuộc tính của MÔN HỌC thì không diễn tả được tình trạng  
cùng môn học nhưng có các ngày nhập học khác nhau.  
HOCVIEN  
PHIEUGD  
MONHOC  
Hình 1.5  
Để giải quyết vấn đề này ta phải đưa vào:  
+ Một tập thực thể làm trung gian giữa HỌC VIÊN và MÔN HỌC gọi là tập kết hợp  
PHIẾU  
GHI DANH.  
+ Thuộc tính nhận diện của tập kết hợp là sự kết hợp giữa thuộc tính nhận diện của tập  
thực thể HỌC VIÊN và MÔN HỌC  
+ Thuộc tính mô tả của tập kết hợp PHIẾU GHI DANH là ngày nhập học  
+ Tính kết nối của tập kết hợp với tập thực thể là một-nhiều  
Nội dung của mối quan hệ giữa các tập thực thể là:  
+ Mỗi HỌC VIÊN có thể có một hay nhiều PHIẾU GHI DANH  
+ Mỗi PHIẾU GHI DANH phải thuộc về một HỌC VIÊN  
+ Mỗi PHIẾU GHI DANH phải ghi nhận đào tạo về một MÔN HỌC  
+ Mỗi MÔN HỌC có thể được ghi nhận đào tạo bởi một hay nhiều PHIẾU GHI DANH  
Các qui tắc phải tuân thủ khi thêm tập kết hợp làm trung gian để loại bỏ tính kết nối  
nhiều nhiều:  
- Phải nhận diện được thuộc tính mô tả của tập kết hợp.  
- Nếu có thuộc tính mô tả thì tạo tập kết hợp làm trung gian giữa hai tập thực thể.  
- Nếu không có thuộc tính mô tả thì vẫn giữ nguyên mô hình như hình 1.4.4  
1.4.2 Giới thiệu một số ví dụ về mô hình thực thể kết hợp ER.  
* QUẢN LÝ LAO ĐỘNG  
Để quản lý việc phân công các nhân viên tham gia vào xây dựng các công trình.  
Công ty xây dựng ABC tổ chức quản lý như sau:  
Cùng lúc công ty có thể tham gia xây dựng nhiều công trình, mỗi công trình có một mã  
số công trình duy nhất (MACT), mỗi mã số công trình xác định các thông tin như: tên gọi  
công trình (TENCT), địa điểm(ĐIAĐIEM), ngày công trình được cấp giấy phép xây  
dựng (NGAYCAPGP), ngày khởi công (NGAYKC), ngày hoàn thành (NGAYHT).  
Mỗi nhân viên của công ty ABC có một mã số nhân viên(MANV) duy nhất, một mã số  
nhân viên xác định các thông tin như: Họ tên (HOTEN), ngày sinh (NGAYSINH), phái  
(PHAI), địa chỉ (ĐIACHI). Mỗi nhân viên phải chịu sự quản lý hành chánh bởi một  
phòng ban. Tất nhiên một phòng ban quản lý hành chánh nhiều nhân viên. Công ty có  
nhiều phòng ban (Phòng kế toán, phòng kinh doanh, phòng kỹ thuật, phòng tổ chức,  
phòng chuyên môn, Phòng phục vụ,…). Mỗi phòng ban có một mã số phòng ban(MAPB)  
duy nhất, mã phòng ban xác định tên phòng ban (TENPB).  
Công ty phân công các nhân viên tham gia vào các công trình, mỗi công trình có thể  
được phân cho nhiều nhân viên và mỗi nhân viên cùng lúc cũng có thể tham gia vào  
9
 
nhiều công trình. Với mỗi công trình một nhân viên có một số lượng ngày công  
(SLNGAYCONG) đã tham gia vào công trình đó.  
1.4.3 Chuyển từ mô hình thực thể kết hợp sang lược đồ cơ sở dữ liệu  
1.4.3.1 Quy tắc chung  
- Mỗi thực thể trong ER chuyển thành 1 LĐQH  
- Mỗi thuộc tính trong ER được chuyển thành thuộc tính trong LĐQH tương ứng  
- Mỗi thuộc tính nhận diện trong ER được chuyển thành khóa chính trong LĐQH  
tương ứng  
- Mỗi mối quan hệ trong ER được chuyển thành khóa ngoại theo quy tắc 4.3.2  
1.4.3.2 Quy tắc chuyển đổi thành khóa ngoại  
- Mối quan hệ 1 – 1: Khóa chính của một bên bất kỳ sẽ làm thuộc tính của bên quan  
hệ 1 còn lại.  
- Mối quan hệ 1 – nhiều: Khóa chính của thực thể bên nhiều sẽ làm khóa ngoại của  
thực thể bên quan hệ 1  
- Mối quan hệ nhiều – nhiều: Tạo ra 1 quan hệ mới, có ít nhất là 2 thuộc tính là  
khóa của 2 thực thể thành phần  
10  
 
BÀI TẬP THỰC HÀNH CHƯƠNG 1  
1. Phép toán tập hợp và phép toán quan hệ  
Cho lược đồ cơ sở dữ liệu dùngđể quản lý hồ sơ sinh viên bao gồm các quan hệ Sv(sinh  
viên), Lop(Lớp), kh(khoa), Mh(môn học), Kq(kết quả)được mô tả bởi các lược đồ quan  
hệ như sau:  
Sv(MASV,HOTEN,NU,NGAYSINH,MALOP,TINH,HOCBONG)  
Tân từ: Mỗi sinh viên có mỗi MASV duy nhất. Mỗi MASV xác định tất cả các  
thuộc tính còn lại của sinh viên đó.  
Lop(MALOP,TENLOP,SISO,MAKHOA)  
Tân từ: Mỗi lớp có một mã lớp duy nhất, mỗi lớp chỉ thuộc về một khoa nào đó.  
Kh(MAKHOA,TENKHOA,SOCBGD)  
Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất. Mỗi MAKHOA xác định tất cả  
các thuộc tính còn lại của khoa đó.  
Mh(MAMH,TENMH,SOTIET)  
Tân từ: Môi Môn học có một MAMH duy nhất. Mỗi MAMH xác định tất cả các  
thuộc tính còn lại của môn học đó.  
Kq(MASV,MAMH,DIEMTHI)  
Tân từ: Mỗi sinh viên cùng với một môn học xác dịnh duy nhất một điểm thi  
YÊU CẦU:  
1. Tìm khóa cho mỗi lược đồ quan hệ trên.  
2. Hãy thực hiện các câu hỏi sau bằng ngôn ngữ đại số quan hệ  
a. Lập danh sách sinh viên gồm MASV, HOTEN, HOCBONG  
b. Lập danh sách sinh viên nữ khoa ‘CNTT’,danh sách cần MASV, HOTEN,  
HOCBONG  
c. Lập bảng điểm cho tất cả sinh viên khoa ‘CNTT’, bảng điểm gồm các cột  
MASV,  
HOTEN, TENMH, DIEMTHI  
d. Lập phiếu điểm cho sinh viên có MASV=”99001”  
e. Lập danh sách sinh viên gồm MASV,HOTEN,TENLOP, TENKHOA  
f. Lập bảng điểm môn học có mã môn học là CSDLcho tất cả sinh viên có mã lớp  
là “CĐTH2B”  
g. Lập danh sách sinh viên của lớp có mã lớp là “CĐTH2B” và có điểm thi môn  
học lớn hơn hay bằng 8.  
2 Mô hình thực thể kết hợp  
Dựa vào các phân tích sơ bộ dướiđây, hãy lập mô hình thực thể kết hợp cho mỗi  
bài toán quản lý sau:  
* QUẢN LÝ LAO ĐỘNG  
Để quản lý việc phân công các nhân viên tham gia vào xây dựng các công trình.  
Công ty xây dựng ABC tổ chức quản lý như sau:  
Cùng lúc công ty có thể tham gia xây dựng nhiều công trình, mỗi công trình có  
một mã số công trình duy nhất (MACT), mỗi mã số công trình xác định các thông tin  
như: tên gọi công trình (TENCT), địa điểm(ĐIAĐIEM), ngày công trình được cấp giấy  
phép xây dựng (NGAYCAPGP), ngày khởi công (NGAYKC), ngày hoàn thành  
(NGAYHT).  
Mỗi nhân viên của công ty ABC có một mã số nhân viên(MANV) duy nhất, một  
mã số nhân viên xác định các thông tin như: Họ tên (HOTEN), ngày sinh (NGAYSINH),  
phái (PHAI), địa chỉ (ĐIACHI). Mỗi nhân viên phải chịu sự quản lý hành chánh bởi một  
11  
 
phòng ban. Tất nhiên một phòng ban quản lý hành chánh nhiều nhân viên. Công ty có  
nhiều phòng ban (Phòng kế toán, phòng kinh doanh, phòng kỹ thuật, phòng tổ chức,  
phòng chuyên môn, Phòng phục vụ,…). Mỗi phòng ban có một mã số phòng ban(MAPB)  
duy nhất, mã phòng ban xác định tên phòng ban (TENPB).  
Công ty phân công các nhân viên tham gia vào các công trình, mỗi công trình có  
thể được phân cho nhiều nhân viên và mỗi nhân viên cùng lúc cũng có thể tham gia vào  
nhiều công trình. Với mỗi công trình một nhân viên có một số lượng ngày công  
(SLNGAYCONG) đã tham gia vào công trình đó.  
* QUẢN LÝ THƯ VIỆN  
Một thư viện tổ chức việc cho mượn sách như sau:  
Mỗi quyển sách được đánh một mã sách (MASH) dùng để phân biệt với các quyển sách  
khác (giả sử nếu một tác phẩm có nhiều bản giống nhau hoặc có nhiều tập thì cũng xem  
là có mã sách khác nhau), mỗi mã sách xác định các thông tin khác như : tên sách  
(TENSACH), tên tác giả (TACGIA), nhà xuất bản (NHAXB), năm xuất bản (NAMXB).  
Mỗi đọc giả được thư viên cấp cho một thẻ thư viện, trong đó có ghi rõ mã đọc giả  
(MAĐG), cùng với các thông tin khác như : họ tên (HOTEN), ngày sinh (NGAYSINH),  
địa chỉ (ĐIACHI), nghề nghiệp(NGHENGHIEP).  
Cứ mỗi lượt mượn sách, đọc giả phải ghi các quyển sách cần mượn vào một phiếu mượn,  
mỗi phiếu mượn có một số phiếu mượn (SOPM) duy nhất, mỗi phiếu mượn xác định các  
thông tin như: ngày mượn (NGAYMUON), đọc giả mượn, các quyển sách mượn và ngày  
trả (NGAYTRA). Các các quyển sách trong cùng một phiếu mượn không nhất thiết phải  
trả trong trong cùng một ngày.  
* QUẢN LÝ BÁN HÀNG  
Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định được  
các thông tin về khách hàng như : họ tên khách hàng (HOTEN), địa chỉ (ĐIACHI), số  
điện thoại (ĐIENTHOAI).  
Các mặt hàng được phân loại theo từng nhóm hàng, mỗi nhóm hàng có một mã nhóm  
(MANHOM) duy nhất, mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất  
nhiên một nhóm hàng có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số  
(MAHANG) duy nhất, mỗi mã số này xác định các thông tin về mặt hàng đó như : tên  
hàng (TENHANG), đơn giá bán (ĐONGIA), đơn vị tính (ĐVT). Mỗi hóa đơn bán hàng  
có một số hóa đơn SOHĐ) duy nhất, mỗi hóa đơn xác định được khách hàng và ngày lập  
hóa đơn (NGAYLAPHĐ), ngày bán hàng (NGAYBAN). Với mỗi mặt hàng trong một  
hóa đơn cho biết số lượng bán (SLBAN) của mặt hàng đó.  
* QUẢN LÝ LỊCH DẠY - HỌC  
Để quản lý lịch dạy của các giáo viên và lịch học của các lớp, một trường tổ chức như sau:  
Mỗi giáo viên có một mã số giáo viên (MAGV) duy nhất, mỗi MAGV xác định các thông  
tin như: họ và tên giáo viên (HOTEN), số điện thoại (DTGV). Mỗi giáo viên có thể dạy  
nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của một khoa nào đó.  
Mỗi môn học có một mã số môn học (MAMH) duy nhất, mỗi môn học xác định tên môn  
học  
(TENMH). Ưng với mỗi lớp thì mỗi môn học chỉ được phân cho một giáo viên.  
Mỗi phòng học có một số phòng học (SOPHONG) duy nhất, mỗi phòng có một chức  
năng (CHUCNANG); chẳng hạn như phòng lý thuyết, phòng thực hành máy tính, phòng  
nghe nhìn, xưởng thực tập cơ khí,…  
Mỗi khoa có một mã khoa (MAKHOA) duy nhất, mỗi khoa xác định các thông tin như:  
tên khoa (TENKHOA), điện thoại khoa(DTKHOA).  
12  
Mỗi lớp có một mã lớp (MALOP) duy nhất, mỗi lớp có một tên lớp (TENLOP), sĩ số lớp  
(SISO).  
Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của  
một khoa nào đó.  
Hàng tuần, mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp  
nào, ngày nào (NGAYDAY), môn gì?, tại phòng nào, từ tiết nào (TUTIET) đến tiết nào  
(DENTIET),tựa đề bài dạy (BAIDAY), ghi chú (GHICHU) về các tiết dạy này, đây là  
giờ dạy lý thuyết (LYTHUYET) hay thực hành - giả sử nếu LYTHUYET=1 thì đó là giờ  
dạy thực hành và nếu LYTHUYET=2 thì đó là giờ lý thuyết, một ngày có 16 tiết, sáng từ  
tiết 1 đến tiết 6, chiều từ tiết 7 đến tiết 12, tối từ tiết 13 đến 16.  
----oOo----  
13  
CHƯƠNG 2 . NGÔN NGỮ TRUY VẤN SQL  
MỤC TIÊU CỦA BÀI:  
Sau khi học xong bài này người học có khả năng:  
- Trình bày được cách xây dựng cơ sở dữ liệu trên Access;  
- Xây dựng được một số cơ sở dữ liệu trên Access;  
- Trình bày được các biểu thức, hàm được sử dụng trong câu lệnh truy vấn SQL  
- Trình bày được cấu trúc các câu lệnh định nghĩa dữ liệu trong ngôn ngữ SQL  
- Ap dụng được truy vấn chọn, truy vấn nhóm dữ liệu, truy vấn lồng, truy vấn cập nhật,  
truy vấn xóa...  
- Nghiêm túc, tỉ mỉ trong việc học và làm bài tập.  
NỘI DUNG BÀI HỌC  
2.1 Cách tạo quan hệ bằng Access  
2.1.1. Giới thiệu MS Access  
- Là một hệ quản trị CSDL  
- Thuộc bộ MS Office  
- Ưu & nhược điểm  
- Làm quen với màn hình làm việc của Access  
2.1.2 Tạo CSDL bằng MS Access  
Field: Trường dữ liệu, là thuộc tính của các thực thể trong mô hình ER. Mỗi Field  
có kiểu dữ liệu và kích thước tương ứng  
Record: Là các mẫu tin, tương ứng với các bộ (tuple)  
Kiểu dữ liệu: Có nhiều kiểu dữ liệu khác nhau như text (chuỗi), number (số),  
date/time (ngày giờ)...  
Giới thiệu về mối quan hệ Relations  
Mỗi thực thể có một mối quan hệ tương ứng với thực thể khác Mối quan hệ này  
có các ràng buộc toàn vẹn khác nhau. Để thực hiện được các ràng buộc đối với CSDL, ta  
phải xác định mối quan hệ dựa vào đặc tả bài toán tương ứng.  
Quy tắc nhập dữ liệu theo các quy tắc ràng buộc dữ liệu:  
Quy tắc nhập liệu phải đảm bảo:  
- Tính hợp lệ của dữ liệu  
- Tính nhất quán dữ liệu  
- Đảm bảo đúng kiểu dữ liệu  
Bước 1: Tạo CSDL trống  
Khởi động Access: Start-> Programs-> Microsoft Access.  
Tạo lược đồ csdl rỗng có tên là qLSV: Blank Database->OK->qLSV->Create  
Bước 2: Mở mục Table để tạo bảng  
Vào menu Table  
Bước 3: Bắt đầu tạo bảng  
+ Tạo quan hệ bằng cách:Tables->New->Design View->OK  
- Khai báo tên các trường, kiểu dữ liệu và thuộc tính tương ứng  
Bước 4: Tạo khóa chính (nếu có)  
Chọn trường khóa chính Rclick Primary key  
Bước 5: Lưu bảng  
File / save  
Đặt tên table tại phần table name  
14  
       
Tải về để xem bản đầy đủ
pdf 77 trang yennguyen 20720 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Cơ sở dữ liệu - Nghề: Công nghệ thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_co_so_du_lieu_nghe_cong_nghe_thong_tin.pdf