Tải bản đầy đủ (.pdf) (14 trang)

Thiết kế cơ sở dữ liệu phục vụ cho hệ thống quản lí đăng kí tên miền website của một nhà cung cấp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (240.37 KB, 14 trang )






Học viện công nghệ bưu chính viễn thông





Bài tập lớn môn cơ sở dữ liệu

Đề tài:Thiết kế cơ sở dữ liệu phục vụ cho hệ
thống quản lí đăng kí tên miền website của một
nhà cung cấp.

Sinh viên:Dương Trung Kiên
Lớp D10cn1
Khoa :CNTT













I. Phân tích yêu cầu

Ngày nay, internet là một trong những lĩnh vực có quy mô phát triển chóng mặt. Từ
804.528 người dùng vào năm 2003 cho đến tháng 3/2012 đã có 32.100.000 người
dùng.Đi kèm với sự tăng vọt về lượt người sử dụng cũng là sự phát triển không
ngừng của các trang web.Để đáp ứng được một số lượng lớn sự ra đời của các trang
web, nhiều tên miền mới được ra đời.Các tên miền. Mục đích chính của tên miền là
để cung cấp một hình thức đại diện, hay nói cách khác, dùng những tên dễ nhận biết,
thay cho những tài nguyên Internet mà đa số được đánh địa chỉ bằng số.Vi dụ như:
- .com: Tên miền cho web thương mại
- .edu: Tên miền cho lĩnh vực giáo dục
- .org: Tên miền dùng cho chính phủ hay các tổ chức , nhóm,
v.v…
1.Các dữ liệu cần được lưu trữ
Các dữ liệu cần được lưu trữ bao gồm
- Thông tin về khách hàng đăng kí mua tên miền:
- Thông tin về các loại tên miền
- Thông tin về hợp đồng đăng kí tên miền giữa khách hàng và nhà cung cấp.
2.Các ứng dụng cần được xây dựng và các thao tác dữ liệu cần được thực hiện
thường xuyên
- Ứng dụng lưu trữ thông tin về khách hàng
+ Thêm một khách hàng.
+ Xóa một khách hàng đã có.
+ Chỉnh sửa thông tin về khách hàng.
- Ứng dụng lưu trữ thông tin về hợp đồng quan hệ giữa nhà cung cấp và khách
hàng
+ Thêm một hợp đồng mới.
+ Xóa một hợp đồng đã có.
+ Chỉnh sửa thông tin về hợp đồng.

- Ứng dụng lưu trữ thông tin về tên miền mới.
+ Thêm một tên miền mới.
+ Xóa một tên miền đã có.
+ Chỉnh sửa thông tin về tên miền.






II. Thiết kế cơ sở dữ liệu mức khái niệm

A. .Mô tả tổng quát các dữ liệu cần được lưu trữ

1. Thông tin về chủ thể khách hàng ( khachhang ) bao gồm:
• Mã khách hàng (makh)
• Địa chỉ ( diachi )
• Tên khách hàng (tenkhachhang)
• Số điện thoại ( sodt )
• Email ( email )
• Tên miền đăng kí ( tenmien )
• Tên trang web đăng kí ( tenweb )









2. Thông tin về các loại tên miền ( mien ) bao gồm :
• Mã tên miền (matenmien)
• Tên miền (tenmien)
• Mô tả ( mota )
• Phí khởi tạo ( phikhoitao )
• Phí duy trì theo năm ( phiduytri )




tenkhachhang
diachi
makh
tenmien
sodt email
khachhang
tenweb












3. Thông tin về hợp đồng ( hopdong ) bao gồm :

• Mã hợp đồng (mahd)
• Tên khách hàng ( tenkhachhang )
• Tên miền đăng kí ( tenmien )
• Thời gian sử dụng ( thoigian )
• Tổng phí ( tongphi )







B. Các ràng buộn dữ liệu giữa các thực thể
1. Mối quan hệ “ đăng kí “ giữa khách hàng và hợp đồng
1 Khách hàng có thể có nhiểu hợp đồng nhưng một hợp đồng chỉ có thể xác định
duy nhất một khách hàng





mien
tenmien
phikhoitao
mota
phiduytri
hopdong
tenkhachhang
thoigian
tongphi

tenmien
khachhang hopdong
Đăng


tenkhachhnang
diachi
tenweb
tenmien
email
sodt
tenkhachhang
thoigian
tongphi
tenmien
matm
mahd
mahd
makh







2,Mối quan hệ “ chứa ” giữa hợp đông và tên miền
1 hợp đồng có thể có nhiều loại tên miền và một tên miền cũng có thể nằm
trong nhiều hợp đồng.










Dưới đây là mô hình E









mien hopdong
Chứa
mota tenmien
phikhoitao phiduytri
thoigian
tenkhachhang
tongphi tenmien
mahd matm

























III. Thiết kế cơ sở dữ liệu ở mức logic:

1. .Chuyển đổi từ mô hình thực thể liên kết sang mô hình quan hệ
1.1 Mỗi thực thể sẽ được chuyển đổi thành lược đồ quan hệ tương ứng
• Thực thể “khachhang”
khachhang
diachi
tenkhachhnang
sodt
email

tenmien
tenweb
hopdong
tenmien
tongphi
tenkhachhang
thoigian
mien
phikhoitao
phiduytri
mota tenmien
dang
ki
chưa
makh
mahd matm






makh
tenkhachhang
diachi
sodt
email
tenmien
tenweb


• Thực thể “ mien “




• Thực thể “ hopdong “




1.2 Chuyển đổi mối quan hệ giữa các thực thể
Giữa thực thể “khachhang” và thưc thể “ hopdong “ có mối quan hệ đăng kí
Ta chọn thuộc tính “tenkhachhang” của thực thể “khachang” làm khóa chính và
chọn thuộc tính thuộc tính “tenkhachhang” của thực thể “hopdong” lam khóa
ngoại




matm
tenmien
mota
phikhoitao
phiduytri
mahd
tenkhachhang
tenmien
thoigian
tongphi







makh
tenkhachhang
diachi
sodt
email
tenmien
tenweb

Giữa thực thể “mien” và thực thể “hopdong” có mối quan hệ chứa ta chọn
thuộc tính “ tenmien ” của thực thể “hopdong” lam khoa ngoại và thuộc tính
“tenmien “ của thực thể “mien” làm khóa chính






Sơ đồ ánh xạ mô hình thực thể liên kết sang mô hình quan hệ










mahd
tenkhachhang
tenmien
thoigian
tongphi
tenmien
mota
phikhoitao
phiduytri
matm
tenkhachhang
tenmien
thoigian
tongphi
mahd






















• Thực hành trên MySql

Khachhang
tenkhachhang
makh
diachi
sodt
email
tenmien
tenweb
Mien
tenmien
mota
phikhoitao
phiduytri
matm
hopdong
tenkhachhang
tenmien
thoigian
tongphi
mahd








• 10 Câu truy vấn bằng đại số quan hệ

1. Tìm tên tất cả các khách hàng có địa chỉ ở phùng khoang

result = π
(tenkhachhang)

(diachi = “Phungkhoang”)
(khachhang)).
2. Tìm tất cả các tên miền có phí khởi tạo lớn hơn 100.000

result = π
(tenmien)

(phikhoitao > 100000)
(mien)).
3. Tìm tất cả các tên miền có phi duy tri >100.000 và nhỏ hơn 500.000

result = π
(tenmien)

(phiduytri >100000 AND phiduytri<500000)
(mien)).

4. Tìm tên khách hàng có tổng phí sử dụng lớn hơn 1000000






result = π
(tenkhachhang)

(tongphi >100000 )
(hopdong)).
5.Tìm tên khách hàng và địa chỉ web của họ mà có tổng phí lớn <1000000

result = π
(khachhang.tenkhachhang,khachhang.tenweb)

(hopdong.tongphi <10000000 )
(khachhang
x hopdong)).
6.Tìm tên miền có phi khởi tạo lớn hơn 100000 và phí duy tri nhỏ hơn 1000000
result = π
(tenmien)

(phikhoitao <100000) AND (phiduytri<10000000) )
(mien)).
7.Tim tên các trang web mà thòi gian duy trì của nó lớn hơn 3 năm
result = π
(khachhang,tenweb)


(hopdong.thoigian >3 )
(khachhang x hopdong)).
8.Tìm tên miền và tên web của khách hàng có tổng phỉ lớn hơn 1000000 và thời
gian duy trì lớn hơn 2 năm
result = π
(khachhang.tenmien,khachhang.tenweb)

()
(nhaSanXuat)).
9.Đưa ra số điện thoại của tất cả các khách hàng
result = π
(sodt)
(khachhang).
10.Đưa ra địa chỉ email của tất cả các khách hàng
result = π
(email)
(khachhang).

• Xác định các phụ thuộc hàm F trên từng lược đồ quan hệ và đưa về
dạng chuẩn 3 (3NF)
1.Xét thực thể “khachhang”
khachhang(makh(A),tenkhachhang(B),diachi(C),email(D),tenmien(E),tenweb(F
))
Ta có tập phụ thuộc hàm F1=(A->BCDEF) với tập khóa K1={A}
Không có thuộc tính không khóa nào (B,C,D,E,F) phụ thuộc bắc cầu vào






khóa A
Quan hệ Khachhang ở dạng 3NF.
2.Xet thực thể“mien”
mien(matm(A),tenmien(B),mota(C),phikhoitao(D),phiduytri(E))
Ta có phụ thuộc hàm (A->BCDE,B->A)
Quan hệ trên không thuộc dạng 3NF
Đưa về dạng 3NF:
Tách thành 2 quan hệ con:
-quan hệ con f1=(ABCD) khóa A với phụ thuộc hàm (A->BCD).
-quan hệ con f2=(BA) khóa B với phụ thuộc hàm (B->A).
3.Xét thực thể “hopdong”
hopdong(mahd(A),tenkhachhang(B),tenmien(C),thoigian(D),tongphi(E)).
Ta có phụ thuộc hàm (A->BCDE) với tập khóa K={ A }
Không có thuộc tính không khóa nào (B,C,D,E) phụ thuộc bắc cầu vào khóa A
Quan hệ Khachhang ở dạng 3NF.
• Thực hiện 10 câu truy vấn bằng ngôn ngữ SQL
1. Tìm tên tất cả các khách hàng có địa chỉ ở phùng khoang
SELECT Tenkhachhang
FROM khachhang
WHERE diachi = “phungkhoang”
2.Tìm tất cả các tên miền có phí khởi tạo lớn hơn 100.000
SELECT tenmien
FROM mien
WHERE phikhoitao >100000







3.Tìm tất cả các tên miền có phi duy tri >100.000 và nhỏ hơn 500.000
SELECT tenmien
FROM mien
WHERE phikhoitao BETWEEN 100000 AND 500000

4.Tìm tên khách hàng có tổng phí sử dụng lớn hơn 1000000

SELECT tenkhachhang
FROM hopdong
WHERE tongphoi >1000000
5.Tìm tên khách hàng và địa chỉ web của họ mà có tổng phí lớn <1000000
SELECT khachhang.tenkhachhang,khachhang.tenweb
FROM khachhang,hopdong
WHERE hopdong.tongphi <1000000

6.Tìm tên miền có phi khởi tạo lớn hơn 100000 và phí duy tri nhỏ hơn 1000000
SELECT tenmien
FROM mien
WHERE phikhoitao >100000 AND phiduytri<10000000

7.Tim tên các trang web mà thòi gian duy trì của nó lớn hơn 3 năm
SELECT khachhang.tenweb
FROM khachhang,hopdong
WHERE hopdong.thoigian >3

8.Tìm tên miền và tên web của khách hàng có tổng phỉ lớn hơn 1000000 và thời
gian duy trì lớn hơn 2 năm
SELECT khachhang.tenmien,khachhang.tenweb






FROM khachhang,hopdong
WHERE hopdong.tongphi >1000000 AND hopdong.thoigian>2

9.Đưa ra số điện thoại của tất cả các khách hàng
SELECT sodt
FROM khachhang
10.Đưa ra địa chỉ email của tất cả các khách hàng
SELECT email
FROM khachhang













×