Tìm hiểu cơ cấu tổ chức của nhà chung cư Tìm hiểu nhiệm vụ và quy trình thực hiện cho thuê nhà Khảo sát tình hình thực tế của nhà chung cư Áp dụng các kiến thức về Cơ sở dữ liệu và Phân tích – thiết kế hệ thống thông tin quản lý để xây dựng chương trình quản lý thuê nhà chung cư để có thể thay thế một phần công việc cho con người.
Trang 1BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN
- -BÁO CÁO BÀI TẬP LỚN
CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: Quản lý thuê nhà chung cư
Giảng viên hướng dẫn: ThS Trần Thanh HùngNhóm thực hiện: NHÓM 5 KTPM2-K6
Trang 2LỜI NÓI ĐẦU
Những năm gần đây, hệ cơ sở dữ liệu phân tán được phát triển dựa trên
cơ sở dữ liệu và mạng máy tính Cơ sở dữ liệu phân tán gồm nhiều cơ sở dữliệu tích hợp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu, thôngtin Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị trí khác nhau trongmạng máy tính và chương trình ứng dụng làm việc trên cơ sở truy cập dữliệu ở những điểm khác nhau đó
Vấn đề hoàn toàn mới là xây dựng và cài đặt một cơ sở dữ liệu phân tán.Cần giải quyết vấn đề xây dựng và cài đặt cơ sở dữ liệu phân tán cụ thểnhư vấn đề thiết kế phân tán, thiết kế cơ sở dữ liệu
Đứng trước thách thức và nhu cầu lớn của xã hội chúng em đã thực hiện
đề tài: “Xây dựng phần mềm quản lý thuê nhà chung cư” dưới sự hướng dẫn
của Thầy Trần Thanh Hùng để biết cách phân tích xây dựng một cơ sở dữ
liệu phân tán
Chúng em chân thành cảm ơn Thầy đã giúp đỡ và dạy bảo cho chúng emnhiều kiến thức quý giá Tuy đã cố gắng hết sức thực hiện theo những gìtheo Thầy dạy bảo song không thể tránh khỏi những sai sót khi thực hiện dự
án Mong Thầy bỏ qua và góp ý thêm cho chúng em về những sai sót trong
dự án mà chúng em mắc phải
Chúng em chân thành cảm ơn!
2
Trang 3PHẦN I: MỞ ĐẦU 5
1 Các vấn đề cần giải quyết 5
2 Mục tiêu của bài toán 5
3 Đặt vấn đề 5
PHẦN II: NỘI DUNG 9
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9
1.1 Khái niệm 9
1.2 Ưu điểm 9
1.3 Mô hình cơ sở dữ liệu phân tán 10
Hệ CSDL phân tán thuần nhất 10
1.3.1 Hệ CSDL phân tán không thuần nhất 12
1.4 Kiến trúc CSDL phân tán 12
1.4.1 Sơ đồ tổng thể 12
1.4.2 Sơ đồ phân đoạn 12
1.4.3 Sơ đồ định vị 13
1.4.4 Sơ đồ ánh xạ địa phương 13
1.4.5 Mức độ trong suốt phân tán 13
1.5 Hệ quản trị CSDL phân tán 14
1.6 Các mô hình phân tán dữ liệu trong Oracle 15
1.6.1 Phân tán dữ liệu hoàn toàn 15
1.6.2 Phân tán Partition 17
1.6.3 Phân tán sử dụng Replication 18
1.6.4 Kết hợp các kiểu phân tán 20
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ 22
Hóa đơn thuê 25
Phòng 25
Khách hàng 25
25
Dichvu 25
Hóa đơn DV 25
PHẦN III: KẾT LUẬN 28
1 Kết luận chung các chương 28
TÀI LIỆU THAM KHẢO 29
Trang 4PHẦN I: MỞ ĐẦU
1 Các vấn đề cần giải quyết
- Tìm hiểu cơ cấu tổ chức của nhà chung cư
- Tìm hiểu nhiệm vụ và quy trình thực hiện cho thuê nhà
- Khảo sát tình hình thực tế của nhà chung cư
- Áp dụng các kiến thức về Cơ sở dữ liệu và Phân tích – thiết kế hệthống thông tin quản lý để xây dựng chương trình quản lý thuê nhàchung cư để có thể thay thế một phần công việc cho con người
2 Mục tiêu của bài toán
Nghiên cứu và thử nghiệm bài toán Phân tích – Thiết kế hệ thống
Từ đó phân tích thiết kế cài đặt chương trình nhằm mục đích:
Khả năng đảm bảo an toàn dữ liệu của Foxpro còn tương đối yếu Đây
là trở ngại cần được khắc phục vì cơ sở dữ liệu của hệ quản trị cơ sở dữ
4
Trang 5liệu Foxpro không đủ lớn nên không đáp ứng được nhu cầu cần lưu trữthông tin lớn, khả năng bảo mật dữ liệu, độ chính xác cao để đáp ứng uytín cho khách sạn.
Giải quyết vấn đề
Từ những phân tích nêu trên rõ ràng các vấn đề phát sinh chủ yếu là
do hệ quản trị cơ sở dữ liệu Foxpro yếu, không đáp ứng được các nhu cầumới Như vậy chỉ cần thay đổi hệ quản trị cơ sở dữ liệu cùng với việcxây dựng phần mềm trên hệ quản trị đó và lựa chọn một hệ điều hànhcho phù hợp là có thể giải quyết được các vấn đề nêu trên Sự lựa chọnmột hệ quản trị cơ sở dữ liệu và một hệ điều hành tương thích cần phảiđược thực hiện một cách kỹ càng sao cho có lợi nhất
Phần cứng
Loại máy: do yêu cầu về tốc độ và khả năng lưu trữ lớn nên đòi hỏicấu hình máy phải đủ tốt Như vậy tối thiểu là loại máy Pentium trở lên,riêng server thì đòi hỏi cao hơn Các máy phải được nối mạng với nhau đểđảm bảo thống nhất về thông tin
Phần mềm
Hệ điều hành: có ba loại hệ điều hành chủ yếu như: Novell Netware, NT, UNIX.
Hệ điều hành NT chỉ chạy được trên hai plafform là X86 và Alpha Hệ
điều hành NT chỉ hỗ trợ cho hệ thống đa xử lý đến 8 CPU, chỉ quản lý bộnhớ lên tới Gb
Hệ điều hành UNIX có thể chạy trên ba plaform là X86, SPARTC,
PPC UNIX có thể hỗ trợ cho hệ thống xử lý lên đến 128 CPU và có khảnăng quản lý bộ nhớ lên đến TGb UNIX còn hỗ trợ unlimited uer nghĩa
là chỉ cần một bản UNIX/Solaris là có thể cài đặt cho cả hệ thống Ngoài
Trang 6ra UNIX còn có LINUX là hệ điều hành mã nguồn mở rất tiện dụng.
Hệ quản trị cơ sở dữ liệu: hiện nay thị trường tin học có các hệ quản
trị cớ sở dữ liệu quan hệ như:FOXPRO, ACCESS, SQL Server,Oracle…Tuy nhiên chỉ có hai loại là SQL Server và Oracle có thể giảiquyết vấn đề trên
Đối với SQL server : điểm hạn chế của SQL Server là chỉ chạy được
trên một hệ điều hành duy nhất là NT do đó khi lựa chọn SQL Server thìphải chọn hệ điều hành NT Trong khi đó NT chỉ chạy được trên haiplafform là X86 và Alpha và chỉ quản lý tối đa lên đến Gb, đây chính làđiểm yếu của hệ điều hành NT
Đối với ORACLE: đây là hệ quản trị cơ sở dữ liệu rất mạnh và tiện lợi,
nó có thể chạy trên 80 hệ điều hành khác nhau từ Laptop đến Mainframe.Tuy nhiên trong số các hệ điều hành này thì hệ UNIX dòng Solaris có ưuthế hơn cả vì nó có thể chạy trên ba plafform là X86, SPARTC, PC và hơnnữa nó rất phù hợp cho mạng WAN Riêng Oracle còn có một số ưu điểm:
Cho phép chia sẽ dòng dữ liệu
Refesh trước khi
Cho phép xử lý dữ liệu song song
Cung cấp nhiều cung cụ hỗ trợ( Design Development tools,Design 2000…)
Cho phép cơ chế phân tán dữ liệu hay tập trung dữ liệu
Qua các hướng giải quyết trên thì tôi đề nghị nên chọn hệ điều hành
6
Trang 7UNIX và hệ quản trị cơ sở dữ liệu là Oracle Tuy nhiên do Oracle có cơchế phân tán dữ liệu nên chúng ta có một số cách cài đặt chương trình nhưsau:
Cài đặt dữ liệu trên nhiều Server, đây chính là hình thức phân tán dữliệu thực sự Với cách cài đặt như thế này thì đòi hỏi đường truyền phảithật tốt, tốt nhất là sử dụng cáp quang Tuy nhiên với đường truyền bằngcáp quang thì chi phí lắp đặt và bảo trì rất đắt Điều này làm cho chi phícủa dự án tăng lên rất cao do đó cách giải quyết này không khả thi
Cài đặt dữ liệu trên nhiều Server Mối server có dữ liệu riêng chomình và bản sao dữ liệu( sự ánh xạ dữ liệu) của tất cả các server khác.Như vậy sau một khoản thời gian quy định thì phải tiến hành cập nhật(refresh) lại thông tin toàn bộ để thông tin được thống nhất Với cách giảiquyết này thì thông tin lưu trữ không được thống nhất tại một thời điểm,
có nhiều khi mâu thuẫn có thể gây thiệt hại cho công ty
Cài đặt dữ liệu trên một Server duy nhất, đây có thể coi là dữ liệu tậptrung Khi các trạm khác muốn trao đổi trên dữ liệu thì phải thông qua mộtuser nào đó do người quản trị cơ sở dữ liệu tạo ra Với mỗi một user sẽ
có một số quyền nhất định, các quyền này do người quản trị cơ sở dữ liệuquy định Với cách giải quyết này có thể nói thông tin sẽ được thống nhấtmột cách tuyệt đối
Kết hợp giữa tập trung và phân tán dữ liệu, dữ liệu sẽ tập trung tạimỗi trung tâm, các server phụ thao tác dữ liệu tại trung tâm mà đượcquyền sử dụng Tại trung tâm vừa chứa dữ liệu của mình và bản sao củatrung tâm khác
Tóm lại giải pháp chọn
là:
Hệ điều hành UNIX dòng Solaris
Hệ quản trị cơ sở dữ liệu Oracle với cơ chế dữ liệu tập trung kết hợpvới phân tán dữ liệu
Mạng sẽ cài đặt là WAN
Trang 9PHẦN II: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Khái niệm
Oracle là hệ quản trị cơ sở dữ liệu quan hệ mang tính mềm dẻo, linh động,thích ứng cao với các quy mô xử lý giao dịch, an toàn hệ thống Cung cấpcác công cụ xây dựng và quản lý cơ sở dữ liệu
Các sản phẩm của Oracle:
Database Server (Server quản lý cơ sở dữ liệu)
Công cụ thao tác cơ sở dữ liệu: SQL*Plus
Công cụ phát triển ứng dụng: Oracle Developer Suite, Oracle
Jdeveloper,…
Phân tích dữ liệu: Oracle Discoverver, Oracle Express,…
Oracle Application Server (OAS)
Ứng dụng đóng gói: Oracle Human Resource, Oracle Financial
Cụ thể là Oracle Server có đủ các phiên bản thương mại từ Personal,Standard đến Enterprise (ngoài ra còn có Oracle lite nữa)
Trang 10Về phía các doanh nghiệp: Oracle tỏ ra rất có ưu điểm như tính bảo mậtcao, tính an toàn dữ liệu cao, dễ dàng bảo trì – nâng cấp, cơ chế quyền hạn rõràng, ổn định,…
Oracle cũng không quá đắt như các bạn nghĩ, nếu doanh nghiệp đã từngmua lisence của MSSQLServer thì sẽ thấy giá của Oracle cũng không chênhlệch là bao thậm chí còn rẻ hơn, nhưng lợi ích có được lại rất lớn
Về phía những nhà phát triển: Oracle cũng tỏ ra rất có ưu điểm như dễ càiđặt, dễ triển khai và dễ dàng nâng cấp lên phiên bản mới Hơn nữa Oraclecòn tích hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu trúc – StructureLanguage Tạo thuận lợi cho các lập trình viên viết các Trigger,StoreProcedure, Package Đây là điểm rất mạnh so với các CSDL hiện cótrên thị trường
Oracle, ngoài các kiểu dữ liệu thông thường còn có các kiểu dữ liệu đặcbiệt khác góp phần mang lại sức mạnh cho Oracle như Blob, clob, bfile,…Nếu như chỉ chạy thử, bạn cũng không cần lo đến vấn đề lisence vì có thểdownload từ trang của Oracle (technet.oracle.com)
Ngoài ra bạn có thể triển khai Oracle trên nhiều OS khác nhau (Windows,Solaris, Linux,…) mà không cần phải viết lại PL/SQL code Có thể Importmột dump file (backupFile) từ một máy chạy OS này sang OS khác hoặc từmột version thấp lên một version cao hơn mà không gặp bất cứ trở ngại nào
1.3 Mô hình cơ sở dữ liệu phân tán
Hệ CSDL phân tán có thể được bố trí theo 2 mô hình:
Trang 11Sơ đồ 1.3 1: Hệ CSDL phân tán thuần nhất
Sơ đồ phân tán trong hệ thống:
Sơ đồ 1.3 2: Phân tán trong hệ thống
Trang 121.3.1 Hệ CSDL phân tán không thuần nhất
Trái ngược lại với hệ CSDL phân tán thuần nhất thì Hệ này sẽ có môhình đối nghịch, đó là ở các biểu tượng bằng (=) sẽ thay bằng biểu tượng (#).Nói cách khác là ở các trạm sẽ có xự khác nhau về MHDL và DBMS
Định nghĩa tất cả dữ liệu sẽ được lưu trữ trong CSDL phân tán Trong mô
hình quan hệ, sơ đồ tổng thể gồm định nghĩa của tập các quan hệ tổng thể.Tuy nhiên mô hình dữ liệu sử dụng để xác định sơ đồ toàn thể để xácđịnh cách thức ánh xạ đến những mức khác của cơ sở dữ liệu phân tán
1.4.2 Sơ đồ phân đoạn
Mỗi quan hệ có thể chia ra các phần không chồng lên nhau gọi làđoạn
12
Sơ đồ pn đoạn
Hệ không thuần nhất
Hệ thuần nhất
Trang 13Có nhiều cách chia: chia theo chiều ngang, chia theo chiều dọc và
chia theo kiểu hỗn hợp theo chiều ngang và chiều dọc ánh xạ này giữa quan
hệ và các đoạn được xác định trong sơ đồ phân đoạn ánh xạ theo kiểu 1:n(một quan hệ sang nhiều đoạn) là một đoạn tương ứng một quan hệ và mộtquan hệ tương đương với một số đoạn Đoạn xác định bởi một quan hệ quachỉ số (chỉ số đoạn dữ liệu)
1.4.4 Sơ đồ ánh xạ địa phương
Trong kiến trúc lược đồ trên có 3 mức độ độc lập theo thứ tự giảm dần:
- Mức tổng thể
- Mức cấp phát
- Mức ánh xạ
Vì vậy, mức thấp hơn cần thiết phải ánh xạ mức cao hơn Việc ánh xạ gọi
là sơ đồ ánh xạ và phụ thuộc vào kiểu cơ sở dữ liệu địa phương Trong hệCSDL phân tán thuấn nhất mức độc độc lập có một số kiểu khác nhau khiánh xạ địa phương ở các vị trí khác nhau
Thực hiện ánh xạ các ảnh vật lý và các đối tượng được lưu trữ lại tại mộttrạm lên các CSDL địa phương
1.4.5 Mức độ trong suốt phân tán
- Trong suốt phân đoạn: Là mức độ cao nhất của mức độ trong suốt, người
sử dụng hoặc chương trình ứng dụng chỉ làm việc trên các quan hệ cơ sở
dữ liệu
Trang 14- Trong suốt định vị: Hệ thống yêu cầu người sử dụng hay chương trình
ứng dụng phải làm việc trên đoạn logic, tuy nhiên người đó không biếtđoạn đó được đặt ở vị trí nào trong cơ sở dữ liệu
- Trong suốt ánh xạ địa phương: Ứng dụng tham chiếu đến các đối tượng
có các tên độc lập từ hệ thống cục bộ địa phương Ứng dụng được cài đặttrên một hệ thống không thuần nhất nhưng được sử dụng như một hệthống nhất
- Trong suốt bản sao: Nó liên quan chặt chẽ với mức trong suốt định vị.
Người sử dụng không biết bản sao của đoạn đặt ở vị trí nào Thực tế thìngười sử dụng không có mức trong suốt định vị nhưng lại có mức trongsuốt bản sao
1.5 Hệ quản trị CSDL phân tán
Hệ quản trị cơ sở dữ liệu phân tán cung cấp công cụ như tạo lập và quản
lý cơ sở dữ liệu phân tán
Những phần mềm cần thiết cho việc xây dựng cơ sở dữ liệu phân tán là:
- Phần quản lý cơ sở dữ liệu (Database Management - DB)
- Phần truyền thông dữ liệu (Data Communication - DC)
- Từ điển dữ liệu được mở rộng để hiện thông tin về phân tán dữ liệu
trong mạng máy tính (Data Dictionary - DD)
- Phần cơ sở dữ liệu phân tán (Distributed Database - DDB)
Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu
mô hình thương mại (Truy cập từ xa trực tiếp).
14
Trang 15Sơ đồ 1.5 1: Hệ quản trị CSDL phân tán
Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp:
- Cách thức truy cập dữ liệu từ xa: bằng chương trình ứng dụng.
- Lựa chọn cấp độ trong suốt phân tán thích hợp: cho phép mở rộng hệ
thống theo nhiều cách khác nhau theo từng hoàn cảnh
- Quản trị và điều khiển cơ sở dữ liệu bao gồm công cụ quản lý cơ sở dữ
liệu, tập hợp thông tin về các thao tác trên cơ sở dữ liệu và cung cấpthông tin tổng thể về file dữ liệu đặt ở các nơi trong hệ thống
- Điều khiển tương tranh và điều khiển phục hồi dữ liệu của giao tác
phân tán
1.6 Các mô hình phân tán dữ liệu trong Oracle
1.6.1 Phân tán dữ liệu hoàn toàn
- Định nghĩa: Là phương pháp thực hiện phân chia bảng dữ liệu của
quan hệ tổng thể thành các phần hoàn toàn độc lập với nhau, sau đóđịnh vị chúng vào các vị trí thích hợp theo các ứng dụng và yêu cầuthực tế (sử dụng kỹ thuật phân đoạn dọc)
- Mô hình:
Trang 16Sơ đồ 1.6 1: Phân tán dữ liệu hoàn toàn
- Cách thức làm việc:
Mỗi khi vị trí 1 muốn truy cập CSDL của vị trí 2 thì thông quadatabase link vị trí 1 sẽ được đáp ứng qua đường truyền trực tiếphoặc qua đường điện thoại
Dữ liệu thực tế truyền thường lớn nên phương pháp này yêu cầu cóđường truyền dữ liệu phải tốt
Không có các vị trí chủ, vị trí trung tâm
Khi cần tổng hợp dữ liệu thì có thể thực hiện tại bất kỳ vị trí nàotrong hệ thống mạng của ứng dụng, dữ liệu sẽ hoàn toàn được truyềntrực tiếp
Cần có tối thiểu 2 Server để đảm bảo sự oan toàn cho hệ thống
- Ưu điểm:
Tính hiệu quả: ngăn cách được dữ liệu sử dùng người dùng.
Tối ưu hóa cục bộ: Dữ liệu lưu ở nơi thích hợp, tối ưu quá trình truy
xuất dữ liệu cục bộ
An toàn dữ liệu: Dữ liệu ko thích hợp thì bị vô hiệu hóa.
Xây dựng CSDL và các ứng dụng đơn giản.
Giảm mức độ dư thừa dữ liệu.
16
Trang 17- Nhược điểm:
Tốc độ truy cập không nhất quán: Khi truy cập vào dữ liệu không
cục bộ thì thời gian sẽ lâu hơn so với dữ liệu cục bộ
Việc sao lưu không thuận tiện: Nếu dữ liệ không được sao lưu thì
mỗi khi có sự cố không thể truy cập được hoặc bị phá hỏng thì việc
xử lý dữ liệu đó không thể chuyển sang vị trí khác mặc dù tại đó cótồn tại một bản copy của dữ liệu cần thiết
Phạm vi phân tán hạn chế: do càng xa thì đường truyền càng kém.
- Định nghĩa: Là phương pháp thực hiện phân chia bảng dữ liệu của
quan hệ tổng thể thành các bảng dữ liệu độc lập nhưng có cấu trúcgiống hệt nhau, sau đó định vị chúng vào các vị trí thích hợp (sử dụngphân đoạn ngang cơ sở)
- Mô hình:
Sơ đồ 1.6 2: Phân tán Partition