Đề tài thực hiện tìm hiểu hệ quản trị cơ sở dữ liệu DB2 và ứng dụng xây dựng phần mềm xếp lịch coi thi. Hệ quản trị cơ sở dữ liệu db2 là hệ quản trị cơ sở dữ liệu chuyên nghiệp, có đầy đủ tính năng quản lý cơ sở dữ liệu.
Trang 1MỞ ĐẦU 10
CHƯƠNG 1 TỔNG QUAN 11
1.1 GIỚI THIỆU 11
1.2 MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI 11
1.2.1 Mục tiêu 11
1.2.2 Phạm vi 12
1.3 KHẢO SÁT HỆ THỐNG 12
1.3.1 Địa điểm khảo sát 12
1.3.2 Mô tả thông tin nghiệp vụ 12
1.4 KẾT CHƯƠNG 15
CHƯƠNG 2 TÌM HIỂU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2 16
2.1 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2 16
2.2 MÔI TRƯỜNG VÀ CÀI ĐẶT 18
2.2.1 Môi trường 18
2.2.2 Cài đặt 19
2.3 CÔNG CỤ TRONG DB2 25
2.3.1 Các công cụ dòng lệnh 25
2.3.2 Các công cụ quản trị chung 27
2.3.3 Thông tin 31
2.4 MÔI TRƯỜNG LÀM VIỆC CỦA DB2 32
2.4.1 Thể hiện (instance) 32
2.4.2 Các file cấu hình 33
2.4.3 Cơ sở dữ liệu 33
2.5 LÀM VIỆC VỚI CÁC ĐỐI TƯỢNG DỮ LIỆU 33
2.5.1 Sơ đồ 33
2.5.2 Bảng 34
2.5.3 Kiểu dữ liệu 34
2.5.4 Cột khoá chính(Identify columns) 35
2.5.5 Các khung nhìn (Views) 36
Trang 22.6 SAO LƯU VÀ KHÔI PHỤC DỮ LIỆU TRONG DB2 36
2.6.1 Sao lưu 36
2.6.2 Khôi phục 37
2.7 SO SÁNH DB2 và SQL SERVER 38
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 41
3.1 GIỚI THIỆU 41
3.2 PHÂN TÍCH DỮ LIỆU 41
3.2.1 Mô hình thực thể kết hợp ERD (Enity Relationship Diagram) 41
3.2.2 Mô hình thực thể kết hợp 42
3.2.3 Sưu liệu cho thực thể 44
3.2.4 Các dạng ràng buộc 50
3.3 PHÂN TÍCH XỬ LÝ 58
3.3.1 Giới thiệu mô hình phân rã chức năng BFD (Business Function Diagram) 58
3.4 PHÂN TÍCH THIẾT KẾ 60
3.4.1 Mô hình dòng dữ liệu (DFD) 60
3.4.2 Mức khung cảnh (mức 0) 61
3.4.3 Mức đỉnh (mức 1) 61
3.4.4 Mức dưới đỉnh (mức 2) 62
3.4 KẾT CHƯƠNG 65
CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH 67
4.1 GIỚI THIỆU 67
4.2 GIAO DIỆN CHƯƠNG TRÌNH 69
4.2.1 Giao diện hệ thống 69
4.2.2 Giao diện chức năng 73
4.2.3 Giao diện tìm kiếm 81
4.2.4 Giao diện trợ giúp 84
4.3 KẾT CHƯƠNG 84
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85
TÀI LIỆU THAM KHẢO 86
Trang 3Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 10
MỞ ĐẦU
Ngày nay, ta phải thừa nhận rằng công nghệ thông tin đang phát triển với tốc độ ưu việt và những ứng dụng hữu ích đã hỗ trợ con người trong tất cả các lĩnh vực Nhờ có công nghệ thông tin mà cuộc sống xã hội ngày càng nâng cao và trở thành một phần quan trọng Ứng dụng tin học sẽ giúp cho việc quản lý được tiện lợi nhanh chóng Nó không chỉ giúp chúng ta tiết kiệm được sức lực con người mà còn giải quyết vấn đề một cách chính xác Vì vậy, càng nhiều những phần mềm quản lý được đưa vào thực tiễn để áp dụng
Với yêu cầu tạo sự thuận lợi cho khách hàng, và doanh nghiệp trong việc lưu trữ, thao tác thông tin, nhóm chúng em tìm hiểu “Tìm hiểu về hệ quản trị cơ sở
dữ liệu DB2 và xây dựng phần mềm sắp xếp lịch coi thi cho giảng viên khoa công nghệ thông tin” với mong muốn tìm hiểu về hệ quản trị cơ sở mới và xây dựng được phần mềm với các chức năng và hệ thống rõ ràng nhằm tạo tiện lợi cho người sử dụng
Trang 4Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
CHƯƠNG 1 TỔNG QUAN
1.1 GIỚI THIỆU
Hiện nay, công việc phân công coi thi là một công việc tương đối mất nhiều thời gian và nhiều công sức nếu chỉ thực hiện bằng phương pháp thủ công Hơn nữa, nó còn gây nhiều khó khăn trong công tác quản lý, thống kê cũng như cập nhật thông tin từ các đơn vị, các khoa
Vấn đề đặt ra là trước mắt phải có một phần mềm với hệ thống rõ ràng, có thể tự động hoá công việc, dễ sử dụng để có thể giảm bớt công sức lao động thủ công của người thực hiện công việc này
Xuất phát từ nhu cầu đó, nhóm chúng em đã chọn đề tài “Tìm hiểu hệ quản trị CSDL DB2 và xây dựng ứng dụng xếp lịch coi thi cho giảng viên khoa CNTT” với mong muốn tạo ra một phần mềm khả thi, với hệ thống rõ ràng, giao diện tiếng Việt dễ sử dụng, bắt mắt để có thể hỗ trợ nhà trường trong việc sắp xếp lịch coi thi cho giảng viên
1.2 MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI
1.2.1 Mục tiêu
Hiểu và cài đặt được hệ quản trị CSDL DB2
Biết cách tạo ra CSDL từ hệ quản trị DB2 và ứng dụng được vào đề tài xếp lịch coi thi
Xây dựng được hệ thống với các chức năng:
Quản lý được lịch giảng dạy của giảng viên
Quản lý được lịch coi thi, đổi ca coi thi của giảng viên khoa CNTT
Thống kê, cập nhật thông tin về lịch coi thi
Lập báo cáo tổng kết và thống kê ca coi thi của từng giảng viên và toàn
bộ giảng viên khoa CNTT
Xây dựng được phần mềm với các chức năng:
Giao diện tiếng Việt đơn giản, dễ sử dụng
Trợ giúp người dùng
Có thể xếp lịch tự động hoặc thủ công
Xuất báo cáo tổng kết
Trang 5Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 12
1.2.2 Phạm vi
Đồ án chỉ dừng lại ở phạm vi phân tích hệ thống và xây dựng phần mềm xếp lịch coi thi cho khoa CNTT trường Đại học Công nghiệp thực phẩm TPHCM
1.3 KHẢO SÁT HỆ THỐNG
1.3.1 Địa điểm khảo sát
Địa điểm khảo sát: Khoa Công nghệ thông tin trường Đại học Công nghiệp thực phẩm Thành phố Hồ Chí Minh
1.3.2 Mô tả thông tin nghiệp vụ
Trước mỗi kỳ thi học kỳ, cán bộ phòng đào tạo sẽ bố trí môn thi, ngày thi, tổng số ca thi, dự kiến số lượng phòng thi cho mỗi ca thi, số lượng cán bộ coi thi cần thiết cho một ca thi và tổng số cán bộ dự kiến cho toàn bộ kì thi… Sau đó, cán
bộ phòng đào tạo sẽ gửi đến từng khoa để khoa bố trí giảng viên coi thi hợp lí
Lịch coi thi phải đảm bảo phân bố đều và hợp lý cho tất cả giáo viên Cán
bộ khoa phân chia lịch coi thi cho giáo viên theo nguyên tắc:
Đối với những giáo viên bị bệnh, có việc bận, giáo viên sẽ được ưu tiên lựa chọn thời gian coi thi (gồm ngày, ca coi thi) theo thời gian rảnh của mình
Kiểm tra ngày coi thi có trùng lịch giảng dạy của giảng viên không Nếu có, cán bộ khoa sẽ phân chia sao cho ngày và thời gian coi thi không trùng với lịch giảng dạy của giảng viên
Ưu tiên cho những giảng viên có lịch giảng dạy trong ngày gần với ca coi thi (Ví dụ: Nếu giảng viên ngày hôm đó dạy tiết 1 và 2 Thời gian thi của sinh viên bắt đầu từ tiết thứ 4, cán bộ khoa sẽ ưu tiên sắp xếp giáo viên coi thi vào ca đó)
Đối với những giáo viên không thể coi thi được (vì bận việc, trong thời gian thai sản), cán bộ khoa sẽ thống kê lại và không xếp lịch coi thi
Đối với những giảng viên dạy môn học nhất định, khi đến ngày và tiết thi của môn đó, cán bộ khoa sẽ phân chia giảng viên đó trực đề tại văn phòng khoa, phòng trường hợp đề bị lỗi Thời gian giảng viên trực đề sẽ không được phân chia coi thi, nhưng vẫn được tính vào tổng số ca coi thi trong tiết thi của môn học đó
Trang 6Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Biểu mẫu 1.1 Danh sách cán bộ trực đề đợt thi giữa kỳ
Sau khi tổng hợp và cập nhật đầy đủ danh sách cán bộ coi thi từ các khoa,
bộ môn, cán bộ khoa có nhiệm vụ sẽ phân bố các cán bộ coi thi vào bảng phân công coi thi theo từng ca, trong từng ngày theo một trình tự xác định, sao cho không bị trùng lặp, để từ đó biết được danh sách các cán bộ coi thi cho từng ca thi trong từng ngày thi và chuyển danh sách đến phòng đào tạo trong một thời gian nhất định, đồng thời chuẩn bị các điều kiện cần thiết cho việc tổ chức thi tại các phòng học, phòng thực hành do bộ môn quản lý
Sau đó, cán bộ khoa sẽ chuyển danh sách phân chia giảng viên coi thi lên phòng đào tạo để cán bộ phòng đào tạo tổng hợp danh sách coi thi toàn trường
Trang 7Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 14
Biểu mẫu 1.2 Danh sách đề nghị phân công coi thi giữa kỳ
Cuối đợt thi, cán bộ khoa sẽ thống kê tổng số ca coi thi của từng cán bộ để làm bản tổng kết thống kê khối lượng công tác
Biểu mẫu 1.3 Danh sách phân công coi thi giữa kỳ
Trang 8Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 1 1 Mô hình BPM mô tả quy trình xếp lịch coi thi
1.4 KẾT CHƯƠNG
Thời đại công nghệ thông tin phát triển như ngày nay, các phần mềm liên tục ra đời và ngày càng sáng tạo Nếu không linh động và thay đổi thường xuyên
thì phần mềm sẽ trở nên lỗi thời và kém chất lượng, không được nhiều người sử
dụng Thế nhưng, song song với việc phát triển, nâng cấp phần mềm thì việc xây
dựng hệ thống là quan trọng và cần thiết Phần mềm được cho là chất lượng khi có
đầy đủ tính năng cần thiết, giao diện dễ sử dụng, cùng với một hệ thống mạch lạc,
rõ ràng
Trang 9Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 16
CHƯƠNG 2 TÌM HIỂU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2
2.1 GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2
DB2 là một trong các dòng phần mềm quản trị cơ sở dữ liệu quan
hệ của IBM (RDBMS: Relational Database Management System) DB2 được coi
là sản phẩm cơ sở dữ liệu đầu tiên sử dụng SQL (một ngôn ngữ cung cấp giao diện cho một RDBMS) DB2 phát hành lần đầu tiên vào năm 1982 và hiện đang sẵn dùng cho một phạm vi rộng các nền hệ điều hành, bao gồm Linux, Unix và Windows DB2 có thể giải quyết tốt vấn đề phân tán dữ liệu, bảo mật và điều khiển tương tranh, tránh được:
Mất mát dữ liệu
Không truy cập được
Không thể cập nhật được
Tắc nghẽn
DB2 sử dụng ngôn ngữ SQL để đọc và viết thông tin vào dữ liệu
IBM cung cấp các phiên bản DB2 sau: Developer Edition, Advanced Enterprise Server Edition, Advanced Workgroup Server Edition, Enterprise Server Edition, Workgroup Server Edition, Express Edition, Express-C
DB2 có các phiên bản khác nhau đáp ứng các nhu cầu đa dạng:
DB2 Everyplace cung cấp cho người sử dụng di động một phiên bản DB2 với bộ nhớ nhỏ và hiệu năng cao
DB2 cho z/OS cung cấp tất cả các tính năng của DB2 cho các hệ thống chủ
DB2 cho Linux, UNIX và Windows có một vài loại (flavors)
Enterprise Server Edition (ESE – bản máy chủ doanh nghiệp) là một RDBMS hoàn chỉnh với cài đặt khách/chủ (client/server setup) DB2 ESE nhằm đến các doanh nghiệp cỡ từ vừa đến lớn
Trang 10Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Workgroup Server Edition (WSE – bản máy chủ nhóm cộng tác) chủ yếu nhằm đến các doanh nghiệp từ nhỏ đến vừa với tất cả các tính năng của DB2 ESE, trừ kết nối với máy tính lớn (mainframe connectivity)
Personal Edition (bản cá nhân) cung cấp cho người dùng đơn lẻ trên một máy tính cá nhân
Các ngôn ngữ chuẩn và các chuẩn có thể được sử dụng với DB2 là:
Microsoft Office: Excel, Access, Word
Sự khác biệt giữa phiên bản free và có phí:
Trang 11Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 18
Đặc điểm khi sử dụng DB2 Express – C:
Tự do phát triển: miễn phí khi phát triển các sản phẩm phần mềm trên
hệ quản trị CSDL DB2 Express – C Tự do triển khai: miễn phí khi ứng dụng DB2 Express – C vào hoạt động sản xuất kinh doanh
Tự do phân phối: miễn phí cả khi đóng gói vào một sản phẩm phần mềm khi phân phối
Không giới hạn: không giới hạn về kích thước CSDL cũng như số lượng kết nối và người sử dụng
2.2 MÔI TRƯỜNG VÀ CÀI ĐẶT
2.2.1 Môi trường
Hệ điều hành Window 7 Ultimate 64bit
Hệ quản trị cơ sở dữ liệu DB2 9.7
Trang 12Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 1 Bắt đầu cài đặt DB2 (DB2 Setup Launchpad)
Hình 2.1 thể hiện cửa sổ cài đặt DB2 (DB2 Setup Launchpad) Nhấn vào Install a Product và sau đó chon Install New để cài đặt một bản sao chép mới của DB2 Express-C lên hệ thống Nếu đã có cài đặt DB2 Express-C phiên bản trước hoặc ấn bản DB2 khác, người dùng có thể thấy nút với tên là “Work with Existing” Trong DB2 cho phép người dùng cài đặt sản phẩm được nhiều lần
Trang 13Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 20
Trang 14Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2.3 chọn vị trí cài đặt cho DB2, thông thường là mặc định nên ở đây chọn Next
Hình 2 4 Xác định thông tin người dung cho máy chủ DB2 admin
Hình 2.4 là chúng ta điền thông tin người dung bao gồm: User name (thông thường là để mặc định db2admin), sau đó chúng ta điền Passord cho User name này Tiếp theo cho Next
Trang 15Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 22
Hình 2 5 Bật hệ thống bảo vệ DB2
Hình 2.5 người dùng click vào “Enable operating system security” sau đó chọn Next
Trang 16Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 6 Tổng kết những phần sẽ được cài đặt
Khi quá trình cài đặt hoàn tất, cửa sổ giống như hình 2.6 xuất hiện cho biết kết quả của quá trình cài đặt Người dùng chọn Finish thì sẽ xuất hiện một cửa sổ giống như hình 2.7 Lúc này, người dùng chọn Finish để hoàn thành quá trình cài đặt DB2
Trang 17Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 24
Hình 2 7 Quá trình cài đặt hoàn thành
Sau khi chọn Finish trong hình 2.7 thì ứng dụng DB2 First Steps (bước đầu tiên) được bắt đầu như hình 2.8
Trang 18Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 8 Fisrt Steps
Để bắt đầu DB2 First Steps trên Windows bằng tay, chọn Sart Program
IBM DB2 DB2COPY3 (Mặc định) Set up Tools Fisrt Steps hoặc chạy lệnh db2fs từ dấu nhắc lệnh
2.3 CÔNG CỤ TRONG DB2
DB2 đưa ra nhiều công cụ để quản trị và bảo trì hằng ngày, được phân loại thành các công cụ dòng lệnh (Command Line Tools), các công cụ quản trị chung (General Administration Tools), thông tin (Information), các công cụ giám sát (Monitoring Tools), và các công cụ cài đặt (Set-up Tools) Các công cụ này có sẵn hoặc trên trình đơn Windows Start hoặc trên trình đơn Tools của trung tâm điều khiển (Control Center - CC) và sẽ được mô tả chi tiết hơn sau trong mục này Dưới đây sẽ giới thiệu tóm tắt mỗi nhóm công cụ
Trang 19Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 26
lệnh nào và nhận được kết quả đầu ra dưới dạng văn bản trên màn hình
Nó cũng cung cấp trợ giúp về cú pháp đối với bất kỳ lệnh nào sẵn có trong môi trường dòng lệnh cũng như các giải thích về mã SQL
Hình 2 9 Bộ xử lý dòng lệnh DB2
Bộ soạn thảo lệnh (Command Editor) rất giống CLP ở chỗ nó cho phép quản trị cơ sở dữ liệu DB2 bằng cách sử dụng các lệnh dạng văn bản
Nó cũng chấp nhận các lệnh DB2, các câu lệnh SQL và các lệnh của hệ điều hành Không giống như CLP, bộ soạn thảo lệnh cho phép người sử dụng cắt và dán vào bộ đệm để dễ dàng thảo kịch bản lệnh (scripting)
và các lệnh trước đó có thể được lấy lại dễ dàng thông qua GUI
Trang 20Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 10 Bộ soạn thảo lệnh DB2
2.3.2 Các công cụ quản trị chung
Gồm Trung tâm điều khiển (Control Center), Nhật ký (Journal), Trung tâm bản sao (Replication Center) và Trung tâm tác vụ (Task Center)
Control Center là công cụ tích hợp cho phép:
Hiển thị các hệ thống, các thể hiện, các cơ sở dữ liệu, các đối tượng dữ liệu của người dùng
Khởi tạo, thay đổi và quản lý các cơ sở dữ liệu và các đối tượng dữ liệu
Chạy các công cụ đồ họa khác của DB2
Trang 21Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 28
Hình 2 11 Trung tâm điều khiển
Nhật ký có thể sử dụng để hiển thị các tác vụ, các hoạt động cơ sở dữ liệu
và các thông báo trước đó
Trang 22Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 12 Nhật ký
Trung tâm bản sao cho phép người sử dụng quản trị môi trường bản sao của
cơ sở dữ liệu
Trang 23Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 30
Hình 2 13 Trung tâm bản sao
Trung tâm tác vụ có thể sử dụng để lập lịch các tác vụ dưới dạng kịch bản lệnh và báo kết quả cho những bên liên quan
Trang 24Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hình 2 14 Trung tâm tác vụ
2.3.3 Thông tin
Gồm có Trung tâm thông tin (Information Center), có thể sử dụng để tìm trợ giúp đối với bất kỳ các cây cú pháp hay lệnh SQL hoặc DB2 nào
Trang 25Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 32
Hình 2 15 Trung tâm thông tin
2.4 MÔI TRƯỜNG LÀM VIỆC CỦA DB2
Môi trường của DB2 có các đối tượng như:
Các lệnh thao tác trên instance:
Db2start: khởi động instance hiện tại
Db2stop ngưng instance hiện tại
Db2crt tạo một instance mới
Db2drop loại bỏ một instance
Db2ilist thể hiện toàn bộ instance có trong hệ thống
Db2get instance liệt kê các instance hoạt động hiện tại
Trang 26Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Cấu tạo của mỗi instance bao gồm nhiều cơ sở dữ liệu Chú ý rằng mỗi instance có một địa chỉ cổng riêng Điều này giúp người dùng phân biệt giữa các instance khi truy cập từ xa
2.4.2 Các file cấu hình
a Tệp cấu hình quản trị cơ sở dữ liệu (dbm cfg)
Mô tả một số lệnh hữu hiệu để quản trị công cụ dbm cfg từ dòng lệnh:
Db2 get dbm cfg: thu thập thông tin về dbm cfg
Db2 update dbm cfg using <parameter_name><value>: cập nhật giá trị tham số dbm cfg
b Tệp cấu hình cơ sở dữ liệu (db cfg)
Bao gồm các tham số tác động đến từng cơ sở dữ liệu Có thể thao tác bằng lệnh hoặc trung tâm điều khiển Để làm việc với db cfg, ta làm tương tự như dbm cfg
Một số câu lệnh hữu hiệu để quản lý db cfg từ dòng lệnh:
Get db cfg for <database_name>: thu thập thông tin về db cfg của cơ sở
dữ liệu mong muốn
<paranmeter_name><value>: Cập nhật giá trị cho một tham số của db cfg
2.4.3 Cơ sở dữ liệu
Tạo cơ sở dữ liệu trong 1 instance:
db2 create database QUANLY Hiển thị danh sách các cơ sở dữ liệu trong 1 instance:
db2 list db directory Một số lệnh làm việc với database:
2.5 LÀM VIỆC VỚI CÁC ĐỐI TƯỢNG DỮ LIỆU
2.5.1 Sơ đồ
Sơ đồ là tên không gian tên (name space) cho tập hợp các đối tượng dữ liệu Chức năng chính của chúng như sau:
Trang 27Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 34
Cung cấp các chỉ dẫn của quyền sở hữu các đối tượng hay mối quan hệ đối với một ứng dụng
Gom nhóm các đối tượng có mối quan hệ với nhau
Tất cả các đối tượng dữ liệu trong DB2 có hai phần tên theo tiêu chuẩn, sơ
đồ là nửa phần đầu tiên: <tên_sơ_đồ>.<tên_đối_tượng>
Tên đối tượng theo quy chuẩn phải là duy nhất Khi kết nối CSDL và tạo hay tham chiếu đến một đối tượng mà không định rõ tên sơ đồ, DB2 sẽ lấy mã tài khoản mà người dùng kết nối với cơ sở dữ liệu làm tên sơ đồ
2.5.2 Bảng
Một bảng là một tập hợp các dữ liệu có mối quan hệ với nhau một cách hợp
lý theo các cột và hàng Tạo ra một bảng bằng cách sử dụng CREATE TABLE
Ví dụ: Tạo bảng môn học (MONHOC)
2.5.3 Kiểu dữ liệu
Danh sách các kiểu dữ liệu dùng trong DB2:
Trang 28Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Các giá trị NULL Một giá trị NULL đại diện cho một trạng thái không xác định Tuy nhiên, phát biểu CREATE TABLE có thể định nghĩa một cột bằng cách sử dụng mệnh đề NOT NULL Điều này đảm bảo rằng cột này sẽ chứa giá trị dữ liệu đƣợc biết đến
Ta củng có thể cung cấp giá trị cho một cột NOT NULL đƣợc khai báo
2.5.4 Cột khoá chính(Identify columns)
Cột khoá chính này là một con số đƣợc tạo ra tự động, số này là duy nhất cho mỗi dòng Chỉ có một cột khoá chính cho một bảng
Trang 29Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 36
2.5.5 Các khung nhìn (Views)
Các khung nhìn là sự trình bày hay hiển thị của dữ liệu trong bảng Dữ liệu của các khung nhìn không được chứa riêng biệt, nhưng sẽ được tồn tại khi được gọi tới Với các khung nhìn lồng nhau, một khung nhìn được tạo làm nền cho các khung nhìn khác Các thông tin về khung nhìn được lưu ở mục lục khung nhìn DB2: SYSCAT.VIEWS, SYSCAT.VIEWDEP và SYSCAT.TABLES
BACKUP DATABASE <dbname> [TO <path>]
Trang 30Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Hầu hết các lệnh và công cụ có thể được thực thi ở chế độ trực tuyến hay ngoại tuyến.Trực tuyến nghĩa là những người sử dụng khác có thể kết nối và thực hiện các thao tác trên CSDL trong khi người dùng dang thực thi lệnh của mình Ngoại tuyến tức là không người nào ngoài người dùng được kết nối đến CSDL trong khi người dùng thực hiện thao tác
Ví dụ: Sao lưu dữ liệu cho database QUANLY
2.6.2 Khôi phục
Việc phục hồi CSDL bao hàm việc phục hồi CSDL từ các bản sao lưu hoặc các bản nhật kí Nếu người dùng chỉ phục hồi từ bản sao lưu, người dùng sẽ tạo lại CSDL đúng như lúc người dùng sao lưu
Nếu chức năng ghi nhật kí lưu trữ được bật lên trước khi tiến hành sao lưu, người dùng có thể tiến hành việc khôi phục không những từ các bản sao lưu mà còn có thể từ các bản nhật kí
Các kiểu khôi phục dữ liệu:
Khôi phục dữ liệu khi hệ thống bị treo hoặc khởi động lại
Khôi phục dữ liệu theo phiên bản hoặc các ảnh đã sao lưu
Khôi phục dữ liệu theo kiểu cuộn về phía trước
Sử dụng lệnh RESTORE để phục hồi lại CSDL từ một bản ảnh sao lưu
Dưới đây là cú pháp đơn giản nhất cho câu lệnh này:
RESTORE DATABASE <dbname> [from <path>] [taken at
<timestamp>]
Ví dụ: Khôi phục dữ liệu cho database QUANLY
Trang 31Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 38
2.7 SO SÁNH DB2 và SQL SERVER
Một trong những điểm khác biệt lớn giữa DB2 và SQL Server là SQL Server chỉ hoạt động trên hệ điều hành Windows Ngược lại, DB2 có thể hoạt động trên hầu hết hệ điều hành như z/OS, Unix và Windows Vì các nhà phát triển coi z/OS và Unix ổn định, an toàn hơn Windows, hầu hết công ty lớn đều sử dụng z/OS hay Unix là hệ điều hành cho server để lưu trữ cơ sở dữ liệu dành cho các ứng dụng thiết yếu của họ
Ban đầu, DB2 được thiết kế để chạy trên máy tính lớn của IBM và tiếp tục
là lựa chọn hàng đầu về cơ sở dữ liệu trên các hệ thống này Nếu hệ thống máy tính lớn của IBM và các server mới bắt buộc phải hoạt động cùng nhau, DB2 cũng
tỏ rõ sự thống trị ở môi trường lai này Mặc dù nổi tiếng vì chi phí cao, DB2 cũng nổi tiếng về độ tin cậy và dễ sử dụng
SQL Server được sử dụng rộng rãi ở các hệ thống cỡ nhỏ và vừa với chi phí không cao, lại dễ sử dụng Tuy nhiên, độ tin cậy và khả năng mở rộng để phục vụ lượng lớn người dùng của SQL Server còn rất hạn chế
Tất nhiên, cả hai cơ sở dữ liệu trên đang có những bước phát triển bền vững
và cạnh tranh với nhau trên nhiều phân khúc thị trường Ví dụ, một số nhà phát triển cho rằng các phiên bản mới nhất của DB2 dễ sử dụng hơn Thêm vào đó, DB2 còn phát hành những phiên bản cơ sở dữ liệu chi phí thấp ra thị trường Ngược lại, một số nhà phát triển khác lại cho rằng phiên bản mới nhất của SQL Server đã được cải thiện về tính bảo mật, độ tin cậy, hiệu suất và tính mở rộng Vì vậy, họ cho rằng SQL Server đã sẵn sàng để sử dụng cho những hệ thống thiết yếu với một lượng lớn người dùng
Tính năng của DB2 và SQL Server:
Trang 32Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Unix
Windows
Windows
Có thể chạy trên hầu hết các máy tính ngay cả một máy tính xách tay
Có thể kéo và thả các bảng
Có sự hỗ trợ của Net Framework của Microsoft cho phép lập trình viên đã quen thuộc với các ngôn ngữ Net để dễ dàng nhận việc học tập cần thiết
trong SQL Server Một số cột có thể được ANSI và những cột khác UNICODE (char và nchar, tương ứng)
Thiết lập này lên trong DB2 không phải là đơn giản và cũng không dễ dàng
Ít tin cậy
Trang 33Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 40
Window chỉ chạy được bằng tài khoản đăng kí DB2
DB2 là một hệ thống quản lý cơ sở dữ liệu được tạo ra bởi IBM DB2 được sử dụng chủ yếu cho các hệ thống lớn, nhiệm vụ quan trọng và chạy trên máy tính cỡ lớn của IBM (IBM mainframe), dùng hệ điều hành z/OS hoặc OS/390
Trang 34Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG
3.1 GIỚI THIỆU
Phân tích dữ liệu là bước đầu tiên trong tiến trình công nghệ phần mềm Công việc ở bước này là tìm hiểu xem chúng ta phải phát triển cái gì, chứ không phải là phát triển như thế nào Đích cuối cùng của khâu phân tích là đặc tả yêu cầu, tài liệu ràng buộc giữa khách hàng và người phát triển ứng dụng phần mềm và
là cơ sở của hợp đồng
Phân tích dữ liệu là hoạt động phối hợp giữa khách hàng và người phân tích (bên phát triển phần mềm ứng dụng) Khách hàng sẽ phát biểu yêu cầu và người phân tích tiếp nhận phát biểu đồng thời hiểu được yêu cầu từ khách hàng, cụ thể hóa và biểu diễn lại yêu cầu Hoạt động phân tích giữ một vai trò đặc biệt quan trọng trong phát triển phần mềm, giúp cho chất lượng của phần mềm được đảm bảo tốt hơn (phần mềm đáng tin cậy) Phần mềm đáng tin cậy có nghĩa là phải thực hiện được chính xác và đầy đủ yêu cầu của người sử dụng Nếu phân tích không tốt dẫn đến hiểu lầm yêu cầu thì việc sửa chữa sẽ trở nên rất tốn thời gian
và tiền bạc Chi phí để sửa chữa sai sót sẽ tăng lên gấp bội nếu như sai sót đó được phát hiện muộn, ví dụ như ở bước thiết kế hay mã hóa Vì vậy, giai đoạn phân tích này rất quan trọng trong việc viết phần mềm
3.2 PHÂN TÍCH DỮ LIỆU
3.2.1 Mô hình thực thể kết hợp ERD (Enity Relationship Diagram)
Mô hình dữ liệu là một hợp tất cả các khái niệm dùng để diễn tả tập dữ liệu
và hành động để thao tác lên dữ liệu
Mô hình dữ liệu mô tả một tập hợp các khái niệm từ thế giới thực được gọi
là mô hình thực thể kết hợp (ERD) Được dùng để thiết kế cơ sở dữ liệu ở mức quan niệm và biểu diễn trừu tượng cấu trúc của cơ sở dữ liệu
Mô hình thực thể bao gồm: thực thể, đối tượng, mối quan hệ
Trang 35Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 42
HOCKY (MaHK, TenHK, NgayBD, NgayKT, NamHoc) KYTHI (MaKyThi, TenKyThi, ThoiGianBD, ThoiGianKT, MaHK) CATHI (MaGV, MaKyThi, NgayThi, TietBD)
TRUCDE (MaKyThi, MaGV, MaMH, NgayTrucDe, TietBatDau) LOAINGUOIDUNG (MaND, TenND, MatKhau, Quyen)
b Mô tả thực thể
Thực thể GIANGVIEN Mỗi thực thể đại diện cho một giảng viên trong khoa CNTT
Gồm các thuộc tính: mã giảng viên (MaGV), họ tên giảng viên (TenGV), ngày sinh của giảng viên (NgaySinh), giới tính (GioiTinh), chứng minh nhân dân (CMND), địa chỉ (DiaChi) và số điện thoại (SDT), Email (Email)
Thực thể LOP Mỗi thực thể đại diện cho một lớp trong khoa CNTT
Gồm các thuộc tính: mã lớp (MaLop), tên lớp (TenLop), số lượng sinh viên
có trong lớp đó (SoLuongSV)
Thực thể MONHOC Mỗi thực thể đại diện cho một môn học trong ngành CNTT
Gồm các thuộc tính: mã môn học (MaMH), tên môn học (TenMH), số tín chỉ (SoTinChi), số tiết (SoTiet) cho môn học đó
Thực thể TKBGIANGDAY
Trang 36Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
Mỗi thực thể đại diện cho một thời khoá biểu của từng giảng viên trong mỗi học kỳ
Gồm các thuộc tính: mã giảng viên(MaGV), mã môn học (MaMH), nhóm môn học (NhomMH), dạy vào thứ mấy (Thu), tiết bắt đầu thời khóa biểu dạy (TietBD-TKB), mã học kỳ (MaHK), mã lớp (MaLop), ngày bắt đầu (NgayBatDau) và ngày kết thúc (NgayKetThuc), dạy ở phòng mấy (Phong), ghi chú (GhiChu)
Thực thể HOCKY Mỗi thực thể đại diện cho một học kỳ trong một năm học
Gồm các thuộc tính: mã học kỳ (MaHK), tên học kỳ (TenHK), ngày bắt đầu (NgayBD) và ngày kết thúc (NgayKT), năm học (NamHoc)
Thực thể KYTHI Mỗi thực thể đại diện cho một kỳ thi trong một năm học
Gồm các thuộc tính: mã kỳ thi (MaKyThi), tên kỳ thi (TenKyThi), thời gian bắt đầu (ThoiGianBD), thời gian kết thúc (ThoiGianKT), mã học kỳ (MaHK)
Thực thể CATHI Mỗi thực thể đại diện cho một lịch coi thi trong một học kỳ của một năm học
Gồm các thuộc tính: mã giảng viên (MaGV), mã kỳ thi (MaKyThi), ngày thi (NgayThi), tiết bắt đầu (TietBD)
Thực thể TRUCDE Mỗi thực thể đại diện cho một lịch trực đề của một giảng viên đối với một môn học
Gồm các thuộc tính: mã kỳ thi (MaKyThi), mã giảng viên (MaGV), mã môn học (MaMH), ngày trực đề (NgayTrucDe), tiết bắt đầu (TietBatDau)
Thực thể LOAINGUOIDUNG Mỗi thực thể đại diện cho một người dùng trong hệ thống
Gồm các thuộc tính: mã người dùng (MaND), tên người dùng (TenND), mật khẩu (MatKhau), quyền (Quyen)
c Mô hình thực thể liên kết (ERD)
Trang 37Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 44
Hình 3 1 Mô hình ERD
3.2.3 Sưu liệu cho thực thể
Thực thể GIANGVIEN Tên tắt thuộc
tính
trị
Kiểu dữ liệu
Miền giá trị
Chiều dài
Ghi chú
GIANGVIEN
# o o o o o o o
MaGV TenGV NgaySinh GioiTinh CMND DiaChi SDT Email
Variable characters (10) Variable characters (50) Variable characters (50) Variable characters (20) Variable characters (20) Variable characters (200) Variable characters (20) Variable characters (50)
LOP
# o o
MaLop TenLop SoLuongSV
Variable characters (10) Variable characters (50) Integer
TKBGIANGDAY
#
#
# o o o o
NhomMH Thu TietBD_TKB NgayBatDau NgayKetThuc Phong GhiChu
Variable characters (10) Variable characters (10) Variable characters (10) Variable characters (50) Variable characters (50) Variable characters (10) Variable characters (200)
HOCKY
# o o o o
MaHK TenHK NgayBD NgayKT NamHoc
Variable characters (10) Variable characters (30) Variable characters (50) Variable characters (50) Variable characters (30)
MONHOC
# o o o
MaMH TenMH SoTinChi SoTiet
Variable characters (10) Variable characters (100) Integer
Integer
CATHI
#
# NgayThi TietBD Variable characters (50) Variable characters (10)
KYTHI
# o o o
MaKyThi TenKyThi ThoiGianBD ThoiGianKT
Variable characters (10) Variable characters (100) Variable characters (50) Variable characters (50)
TRUCDE
#
# NgayTrucDe TietBatDau
Variable characters (50) Variable characters (10)
LOAINGUOIDUNG
# o o o
MaND TenND MatKhau Quyen
Variable characters (10) Variable characters (50) Variable characters (20) Variable characters (20)
Trang 38Đồ án tốt nghiệp GVHD: Thầy Nguyễn Văn Lễ
viên
Không bắt buộc
tính
trị
Kiểu dữ liệu
Miền giá trị
Chiều dài
Ghi chú
Int
Thực thể MONHOC Tên tắt thuộc
tính
trị
Kiểu dữ liệu
Miền giá trị
Chiều dài
Ghi chú
Trang 39Võ Thị Tuyêt Sương - Phạm Thị Thu Vân Trang 46
tính
trị
Kiểu dữ liệu
Miền giá trị
Chiều dài
Ghi chú
viên
chính, khóa ngoại
chính, khóa ngoại