Khái niệm lượt đồ quan hệ - Cả mô hình dữ liệu quan hệ và mô hình dữ liệu hướng đối tượng đều rất hữu ích, mô hình dữ liệu quan hệ đối tượng được tạo ra là kết quả của nghiên cứu được t
Trang 1TRƯỜNG ĐẠI HỌC ĐỒNG THÁP KHOA SƯ PHẠM TOÁN – TIN
CƠ SỞ DỮ LIỆU NÂNG CAO QUẢN LÝ KHÁCH SẠN
Ngành: Khoa học máy tính Lớp: ĐHCNTT19A
0019410298 – Nguyễn Lê Ngọc Bích 0019410580– Lê Thị Huyền Trang
0019410637– Nguyễn Thành Phát
Giảng viên giảng dạy: Nguyễn Thị Mỹ Dung
Đồng Tháp, ngày 1 tháng 12 năm 2022
Trang 2LỜI CẢM ƠN
Trong quá trình thực hiện và hoàn thành bài tập môn học, em đã nhận được sự giúp đỡ, đóng góp ý kiến và chỉ bảo tận tình của gia đình và bạn bè
Em xin gửi lời cảm ơn chân thành đến cô Nguyễn Thị Mỹ Dung, giảng viên bộ môn Cơ sở dữ liệu nâng cao – Trường Đại học Đồng Tháp, người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm bài
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè đã tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành đề tài
Đồng Tháp, ngày 1 tháng 12 năm 2022
Trang 3Lời dẫn
Hiện nay, ngành công nghệ thông tin là một trong những ngành học được chú trọng trong hệ thống đào tạo trường Đại học Đồng Tháp cũng như các Đại học khác có đào tạo ngành học này Nó được xem là ngành đào tạo mũi nhọn hướng đến sự phát triển của công nghệ và khoa học kỹ thuật trong thời đại số hóa hiện nay
Để quản lí một việc nào đó thì người quản lí sẽ thực hiện nhiều thao tác Ví dụ như
để quản lí thông tin khách sạn thì cần phải quản lí nhiều thông tin như: thông tin nhân viên, khách hàng, số lượng đơn hàng, cần phải có rất nhiều sổ sách, dễ gây ra những thông tin sai sót và nhầm lẫn.Vì vậy việc thiết kế và phát triển một chương trình là vô cùng thiết thực và cần thiết
Trang 4Mục lục
CHƯƠNG 1: THIẾT KẾ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG QUẢN
LÝ KHÁCH SẠN 2
I.Giới thiệu bài toán: 2
1 Giới thiệu lược đồ quan hệ và sơ đồ lớp(Class – Object): 2
2 Xây dựng bộ dữ liệu mẫu 2
II Mô tả các phương thức cho từng lớp(Class – Object): 3
III Tổng kết chương: 3
CHƯƠNG 2: THIẾT KẾ CSDL HƯỚNG ĐỐI TƯỢNG QUẢN LÝ KHÁCH SẠN 5
I Cài đặt class và phương thức: 3
1 Cài đặt class <Khách hàng> và phương thức: 5
2 Cài đặt class <….> và phương thức: 5
II Truy vấn dữ liệu hướng đối tượng : 3
1.Thực thi phương thức cho class < Khách hàng > và kết quả: 6
2.Thực thi phương thức cho class < > và kết quả: 6
PHẦN KẾT LUẬN 7
1 Kết quả đạt được: 7
2 Hướng phát triển 7
III Tổng kết chương: 7
TÀI LIỆU THAM KHẢO 8
PHỤ LỤC 8
Trang 5CHƯƠNG 1: THIẾT KẾ CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG
QUẢN LÝ KHÁCH SẠN
I Giới thiệu bài toán
1 Giới thiệu lược đồ quan hệ và sơ đồ lớp (Class – Object)
1.1 Các khái niệm của mô hình quan hệ
1.1.1 Khái niệm quan hệ
- CSDL được xây dựng trên mô hình dữ liệu quan hệ gọi là CSDL quan hệ
Hệ QTCSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ gọi là hệ QTCSDL quan hệ
- Một quan hệ trong hệ CSDL quan hệ có những đặc trưng sau:
Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác
Các bộ là phân biệt và thứ tự các bộ không quan trọng
Mỗi thuộc tính có một tên để phân biệt, thứ tự các thuộc tính không quan trọng
Quan hệ không có thuộc tính là đa trị hay phức
- Các thông tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ
Trang 6- Quan hệ gồm
Tên
Tập hợp các cột: cố định, được đặt tên, có kểu dữ liệu
Tập hợp các dòng: Thay đ ổi theo th ời gian
- Tên các cột của quan hệ
- Mô tả ý nghĩa cho các giá trị tại cột đó
Hình 1.1.1: Mô tả ý nghĩa cho các giá trị tại cột đó
Trang 7- Tất cả các dữ liệu trong cùng 1 một cột đều có cùng kiểu dữ liệu
1.1.2 Khái niệm lượt đồ quan hệ
- Cả mô hình dữ liệu quan hệ và mô hình dữ liệu hướng đối tượng đều rất hữu ích, mô hình dữ liệu quan hệ đối tượng được tạo ra là kết quả của nghiên cứu được thực hiện vào những năm 1990
- Việc triển khai quan hệ đối tượng của Oracle Spatial bao gồm một tập hợp các kiểu dữ liệu đối tượng, một kiểu phương thức chỉ mục và các toán tử trên các kiểu này Một hình học được lưu trữ dưới dạng một đối tượng, trong một hàng, trong một cột kiểu SDO_GEOMETRY Việc tạo và duy trì chỉ mục không gian được thực hiện bằng cách sử dụng các câu lệnh DDL (CREATE, ALTER, DROP) và DML (INSERT, UPDATE, DELETE) cơ bản
- Lượt đồ quan hệ gồm :
Tên của quan hệ
Tên của tập thuộc tính
Hình 1.1.2 Lượt đồ quan hệ
Ví Dụ:
Trang 81.2 Khái niệm về sơ đồ lớp (Class - )
1.2.1 Khái niệm về sơ đồ lớp class
- Class Diagram là một trong những bản vẽ quan trọng nhất của thiết kế phần mềm, nó cho thấy cấu trúc và quan hệ giữa các thành phần tạo nên phần mềm Trong quá trình xây dựng Class Diagram chúng ta sẽ phải quyết định rất nhiều yếu tố về thiết kế nên nó là bản vẽ khó xây dựng nhất Bản vẽ này sẽ cho thấy cấu trúc tĩnh của phần mềm, tương tự như bản vẽ mặt bằng trong thiết kế của ngành xây dựng
1.2.1.1 Các thành phần trong bản vẽ Class
Trước tiên, chúng ta xem một bản vẽ Class
Mô hình quan hệ NGUOI(id, hoten, tuoi) NHANVIEN(id, luong)
Trang 9Hình 1.2.1.1 Ví dụ về Class Diagram của ATM
- Ví dụ trên là Class Diagram của ứng dụng ATM
Hình Dung Về Lớp
- Khi bạn muốn đưa một thực thể nào đó về một Đối tượng để quản lý, thì bạn phải tạo khuôn mẫu cho đối tượng đó Đó chính là Lớp Và trước khi bắt tay vào tạo một Lớp, bạn phải hình dung Lớp đó với ba thành phần chính như biểu diễn sau
Hình 1.2.1.1 Ký hiệu về Class
Trang 10Trong đó,
Class Name: là tên của lớp
Attributes (thuộc tính): mô tả tính chất của các đối tượng Ví dụ như khách hàng có Mã khách hàng, Tên khách hàng, Địa chỉ, Ngày sinh v.v…
Method (Phương thức): chỉ các hành động mà đối tượng này có thể thực hiện trong hệ thống Nó thể hiện hành vi của các đối tượng do lớp này tạo ra
Hình 1.2.1.1 Ví dụ về một Class
- Một số loại Class đặc biệt như Abstract Class (lớp không tạo ra đối tượng), Interface (lớp khai báo mà không cài đặt) v.v chúng ta xem thêm các tài liệu về lập trình hướng đối tượng để hiểu rõ hơn các vấn đề này
Cú Pháp Khai Báo Lớp
- Một khi bạn đã hình dung ra một Lớp với ba thành phần như trên, thì việc biểu diễn ra thành code Java sẽ theo cú pháp sau
Trong đó:
Trang 11 class chỉ là một keyword cho biết bạn đang khai báo một Lớp.
tên_lớp là tên định danh cho Lớp đó, quy luật đặt tên cho Lớp cũng giống như
quy luật đặt tên cho Biến Nhưng bạn lưu ý một tí là tên_lớp này nên viết in hoa hết từng chữ đầu của mỗi từ nhé, ví dụ như HinhTron, SinhVien, HoaDon, … để
mà phân biệt với tên của Đối tượng sẽ được nói ở phần dưới đây
các_thuộc_tính và các_phương_thức mình cũng đã nhắc đến trên đây rồi Nhưng các bài sau mình sẽ nói rõ hơn các định nghĩa này
1.2.1.2 Đặc tả Class
- Nhìn vào Class Diagram chúng ta có thể thấy cấu trúc của hệ thống gồm những lớp nào nhưng để cài đặt chúng, chúng ta phải đặc tả chi tiết hơn nữa Trong đó, cần mô tả:
- Các thuộc tính: Tên, kiểu dữ liệu, kích thước
Các phương thức:
+ Tên
+ Mô tả
+ Tham số đầu vào: Tên, kiểu dữ liệu, kích thươcs
+ Kết quả đầu ra: Tên, kiểu dữ liệu, kích thước
+ Luồng xử lý
+ Điều kiện bắt đầu
+ Điều kiện kết thúc
- Tuy nhiên, việc này cũng mất khá nhiều thời gian Nếu phát triển theo mô hình Agile thì bạn không phải làm việc này mà các thành viên phát triển phải nắm điều này để cài đặt
Ví Dụ 2: Làm Phần Mềm Quản Lý Sinh Viên
- Giờ thì không ví dụ lan man nữa Chúng ta quay về lĩnh vực lập trình với ví dụ về quản lý Sinh viên Giả sử trong ngôi trường mà chúng ta cần quản lý có các Sinh viên sau
Trang 12- Áp dụng từ các ví dụ 1 và 2 đi nào Sinh viên chắc chắn là Đối tượng cần quản lý rồi Vậy đâu sẽ là khuôn mẫu cho các Đối tượng Sinh viên này Trong trường hợp này, cái Khuôn mẫu ấy hơi trừu tượng xíu, nó sẽ là một hình tượng chung chung với các nhãn
như: Giới tính, Tên, Lớp, Tuổi, Quê quán, Chiều cao, Cân nặng Như hình bên dưới.
Ví dụ khuôn mẫu (hay lớp) trong phần mềm quản lý sinh viên
- Từ khái khuôn mẫu đó, hay ta đã biết nó là Lớp, nó sẽ giúp tạo ra nhiều Đối tượng Sinh viên khác nhau Như John-Giới tính Nam-22 tuổi-Lớp Java Hay Elly-Giới
tính Nữ-21 tuổi-Lớp Android, …
- Vậy bạn đã hiểu khái niệm Lớp là một khuôn mẫu để tạo ra các Đối tượng rồi đúng không nào Và nếu như Đối tượng có các Trạng thái và Hành vi, thì Lớp cũng
có các Thuộc tính và Phương thức tương ứng.
Trang 13-1.2.2 Khái niệm về đối tượng (Object)
- Đối tượng là các thực thể hay sự vật mà chúng ta có thể cầm nắm, hoặc có thể gọi tên được Nghe thì có vẻ lan man, nhưng thực chất là… lan man thật Mình nói đùa thôi, thực chất là vì Hướng đối tượng cũng là một cách tư duy mở Tức là tùy quan niệm của bạn muốn quản lý đến Đối tượng nào mà thôi
- Ví dụ như với phần mềm quản lý việc kinh doanh xe hơi Thì bạn chọn Xe hơi là một Đối tượng để quản lý Nhưng mình nói rằng Khách hàng cũng là một Đối tượng
Và Hóa đơn cũng là một Đối tượng nữa Đấy, tất cả những gì xuất hiện trong một ứng dụng, mà bạn muốn chúng là một thực thể để quản lý, thì bạn cứ xem nó là một Đối tượng thôi
- Ngoài ra thì nếu bạn đã chọn thực thể nào đó là Đối tượng, thì Đối tượng đó ắt hẳn phải có các Trạng thái và Hành vi
1.2.2.1 Trạng thái của đối tượng
- Trạng thái của Đối tượng nói lên các đặc thù, hay đặc trưng của Đối tượng đó
- Ví dụ, khi bạn “nắm” lấy một Đối tượng Xe hơi trong ứng dụng quản lý xe hơi trên đây để xem, thì sẽ thấy các trạng thái của Đối tượng này như: xe này màu xanh, thuộc hãng Ford, 7 chỗ ngồi Nhưng nếu bạn “cầm” lấy một chiếc xe khác, sẽ thấy các trạng thái khác, như: xe này màu trắng, thuộc hãng Toyota, 4 chỗ ngồi
- Bạn thấy đấy, tư duy trong lập trình theo Hướng đối tượng trông rất thực tế đúng không nào Bạn nhớ các trạng thái này của Đối tượng nhé, chúng ta sẽ cần đến nó ở các
ví dụ trong các kiến thức tiếp theo bên dưới
2 Xây dựng bộ dữ liệu mẫu (Dữ liệu tham khảo khi thiết kế từ dữ liệu quan hệ)
III Tổng kết chương
Trang 14CHƯƠNG 2: THIẾT KẾ CSDL HƯỚNG ĐỐI TƯỢNG QUẢN LÝ
KHÁCH SẠN
I Cài đặt class và phương thức
1 Cài đặt class và phương thức (Học viên 1) (Cài đặt Object và Body Object, phương thức (hiển thị danh sách, thêm, sửa, xóa, tìm)
2 Cài đặt class và phương thức (Học viên n) ….
II Truy vấn dữ liệu hướng đối tượng
1 Thực thi phương thức cho class và kết quả (Thực thi phương thức bằng PL/SQL hoặc truy vấn SQL)
2 Thực thi phương thức cho class và kết quả …
III Tổng kết chương (nếu có) (Tóm tắt ngắn 5 – 10 dòng)
Trang 15PHẦN KẾT LUẬN
I Kết quả đạt được (Liệt kê những nội dung đã làm được)
II Hướng phát triển
Ngày nay, internet đã trở thành phương tiện tra cứu thông tin khổng lồ và tiện dụng cho tất cả mọi người Việc học hành, tìm kiếm thông tin qua mạng cũng trở nên phổ biến
TÀI LIỆU THAM KHẢO
Trang 161 Sách, Giáo trình
[1] Tên tác giả (năm xuất bản), Tên tài liệu, Nhà xuất bản, (VD: Trịnh Minh Tuấn (2008), Thiết kế Cơ sở dữ liệu, NXB Đại học Quốc gia TP Hồ Chí Minh)
[2] …
2 Các trang Web
[1] Địa chỉ trang web, ngày đăng (VD: https://quantrimang.com/huong-dan-tao-trang-web-bang-wordpress-tu-aden-z-phan-1-142172, Ngày đăng 18/10/2017)
PHỤ LỤC
Trang 17(Mã nguồn - Nếu có trình vào báo cáo)