Stt Công việc Loại công việc Thao tác Mô tả chi tiết 1 Lưu thông tin người xem Lưu trữ Thêm, sửa, xóa Thông tin người dùng bao gồm:tên tài khoản, gmail, tên, số điện thoại, giới tính, mả
Trang 1NGÂN HÀNG NHÀ NƯỚC VIỆT NAM BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGÂN HÀNG THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO MÔN: CƠ SỞ DỮ LIỆU
Đề tài: PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG MỘT CSDL PHỤC
VỤ CHO MỘT TRANG BÁO ĐIỆN TỬ.
Thực hiện: Nhóm 13
Lớp: ITS302_232_1_D03
GVHD: Lê Quang Thiện
Thành phố Hồ Chí Minh, tháng 4, năm 2024
1
Trang 2Tên thành viên: MSSV:
Mục Lục
1. Phân tích xác định yêu cầu 3
1.1 Giới thiệu về trang báo điện tử 3
1.2 Xác định các yêu cầu cho bài toán 4
2.Thiết kế cơ sở dữ liệu ở mức khái niệm 6
2.1 Xác định các đối tượng thực thể 6
2.2 Thiết kế mô hình thực thể liên kết đầy đủ 8
3.Thiết kế cơ sở dữ liệu luận lý 10
4.Thiết kế cơ sở dữ liệu vật lý 11
2
Trang 31 Phân tích xác định yêu cầu
1.1 Giới thiệu về trang báo điện tử
Báo trực tuyến, báo điện tử, báo mạng hay tin tức trực tuyến là loại hình báo viết được xây dựng theo hình thức một trang web và phát hành dựa trên nền tảng Internet Báo điện tử được tòa soạn điện tử xuất bản, còn người đọc báo dựa trên máy tính, thiết bị cá nhân như máy tính bảng, điện thoại di động trung cao cấp, có kết nối internet
Khác với một trang web nói chung hay trang thông tin điện tử, báo trực tuyến cập nhật thường xuyên tin tức, đặc biệt là đăng "tin tức thời" hay "tin giật gân" (Breaking news) Báo điện tử cho phép mọi người trên khắp thế giới tiếp cận tin tức nhanh chóng không phụ thuộc vào không gian và thời gian Sự phát triển của Báo điện tử đã làm thay đổi thói quen đọc tin và ít nhiều có ảnh hưởng đến việc phát triển báo giấy truyền thống
báo điện tử có thể phân thành nhiều loại:
Theo cách thức biên tập và phát hành có thể chia ra:
1 Báo lai (hybrid), là bản báo trực tuyến phát hành song song với bản báo in Ngày nay tất cả các báo in đều có bản phát hành trực tuyến Các báo có đội ngũ phóng viên hùng hậu thì cập nhật tin liên tục và phiên bản trực tuyến có thể khác hẳn bản in Khái niệm kỳ phát hành như "báo ngày", "báo tuần" cũng không còn Ví dụ trong nước là "Báo Lao động điện tử", "Báo Nhân Dân điện tử", ví dụ nước ngoài là
"Spiegel Online",
2 Chỉ trực tuyến (online-only), phát hành gần như không có bản in tương ứng Đây là báo do các hãng thông tấn, phát thanh, truyền hình lập ra Trường hợp đơn giản là một báo mới ra đời mà việc phát hành bản in không có khả năng cạnh tranh và không hiệu quả về kinh tế Ví
dụ Hãng CNN, BBC, hay báo trong nước như Báo điện tử Đài Truyền hình Việt Nam,
3 Báo tổng hợp tin tức từ các báo khác (News Aggregators), hoặc đơn giản là quét các dữ liệu, thông tin từ các trang khác Người ta gọi chung các báo điện tử dạng này, theo một cách khác là "Báo tự động cập nhật tin tức" Ví dụ trang "Very Quiet Lưu trữ 2016-11-10 tại Wayback Machine tổng hợp tin quốc tế, hay trang Báo Mới ở Việt Nam
4 Thể khởi nghiệp, là một trang web hay trang thông tin điện tử nhảy vào lãnh vực biên tập tin tức mọi mặt Nó có thể là đoạn khởi nghiệp của một nhóm nào đó, và sau đó có thể thành công hay thất bại Tại Việt Nam là trường hợp "Báo Năng lượng Mới (PetroTimes)" đã nhảy vào biên tập thời sự chính trị, nhưng có vẻ là thất bại
Theo tính chính thống, thường xem trọng ở các nước có truyền thống kiểm soát truyền thông, thì chia ra:
1 Chính thống, hay hợp pháp, là loại được cấp phép bởi một cơ quan chức năng của nước sở tại Giấy phép có thể quy định cả những chủ
đề nội dung được phép biên tập
3
Trang 42 Ngược lại, những báo điện tử hoạt động không phép tại nước sở tại (hoặc được cấp bởi một nước thứ 2, nhưng chưa được phép của nước
sở tại) thường khó được chấp nhận
Theo chất lượng nội dung thì chia ra:
1 Chính thống, đưa các tin xác thực do phóng viên điều tra thu thập
2 Báo lá cải (tabloid), đưa tin vịt hoặc phóng tác
Loại trung gian là đưa lẫn lộn tin xác thực, tin thiếu điều tra xác thực và tin phóng tác Có những báo định rõ trang lá cải để người đọc biết rõ và đọc cho vui Tuy nhiên có những báo không chỉ rõ là đưa tin vịt, như một số báo ở Trung Quốc, Liên bang Nga, mà báo trực tuyến ở Việt Nam thường dịch và đăng tải
1.2 Xác định các yêu cầu cho bài toán
4
Trang 5Stt Công việc Loại
công việc Thao tác Mô tả chi tiết
1 Lưu thông tin
người xem
Lưu trữ Thêm, sửa, xóa
Thông tin người dùng bao gồm:tên tài khoản, gmail, tên, số điện thoại, giới tính, mảng yêu thích-thuộc tính đa trị
2 Lưu thông tin
phóng viên Lưu trữ Thêm, sửa, xóa Thông tin người cung cấp bao gồm: mã số, tên, số điện thoại, gmail, giới tính
3 Lưu thông tin
biên tập viên
Lưu trữ Thêm, sửa xóa
Thông tin người kiểm duyệt bao gồm: mã
số, tên, số điện thoại, gmail, giới tính, mảng chuyên trách-thuộc tính đa trị
4 Lưu thông tin
đối tác quảng
cáo
Lưu trữ Thêm, sửa, xóa Thông tin đối tác quảng cáo: mã hợp đồng, tên đối tác, gmail, địa chỉ, nội dung
qc, hình thức qc
5 Lưu thông tin
về bài báo
Lưu trữ
Thêm, sửa, xóa
Mã số chuẩn quốc tế cho các tạp chị và sách), tên bài, ngày phát hành, nội dung tóm tắt, chủ đề, lượt truy cập, nguồn ảnh trong bài
6 Hiển thị thông
tin người xem
Kết xuất
Cho biết danh sách người dùng
7 Hiển thị thông
tin phóng viên
Kết xuất
Cho biết thông tin phóng viên
8 Hiển thị thông
tin biên tập
viên
Kết xuất Cho biết thông tin về biên tập viên
8 Hiển thị thông
tin đối tác
quảng cáo
Kết xuất
Cho biết thông tin về đối tác quảng cáo và thời hạn bắt đầu quảng cáo
9 Hiển thị bài
báo
Kết xuất
Đưa lên những bài báo đã qua kiểm duyệt
và chọn lọc để người xem có thể tiếp cận
và đọc
10 Tìm kiếm bài
báo
Tra cứu
Giúp người xem có thể kiếm những nội dung mà họ quan tâm một cách dễ dàng hơn bằng cách: tra tên nội dung, tra người đăng…
Quá trình đọc bài báo điện tử:
Người xem truy cập vào website báo điện tử:
5
Trang 6 Tại trang chính sẽ hiển thị một số tin tức nóng trong ngày, trong tuần, trong tháng; các quảng cáo đã được đặt trước từ các nhãn hàng và doanh nghiệp; các loại báo được sắp xếp theo danh mục như là chính trị, giải trí
Người xem có thể thực hiện tìm kiếm một bài báo thông qua tên của bài báo,
mã số bài báo hoặc là người phóng viên, đơn vị đưa tin
Người xem có thể chọn và xem chi tiết một bài báo trong danh sách bao gồm đầy đủ như tiêu đề, nội dung chính, người thu thập tin tức, tính minh bạch và xác thực của thông tin đó
Trong quá trình đọc báo, bạn có thể để ý đến một số sản phẩm hoặc là các nhu cầu cần thiết từ các quảng cáo được đặt trước trên trang website báo điện
tử đó
2 Thiết kế cơ sở dữ liệu ở mức khái niệm
2.1 Xác định các đối tượng thực thể
a Thực thể 1: Người xem
Thuộc tính:
Tên tài khoản: Đây là thuộc tính khóa phân biệt các người xem với nhau
Gmail: Tài khoản gmail của người xem
Tên: Tên người xem
Số điện thoại: Số điện thoại liên lạc của người xem
Giới tính: Người xem là nam hay nữ
Mảng yêu thích: Cho biết thể loại báo yêu thích
STT Tên thuộc tính Kiểu dữ liệu
1 Tên tài khoản DECIMAL
4 Số điện thoại DECIMAL
6 Mảng yêu thích NVARCHAR
b Thực thể 2: Phóng viên
Thuộc tính:
Mã số: Đây là thuộc tính khóa phân biệt các phóng viên với nhau
Tên: Tên phóng viên
Số điện thoại: Số điện thoại liên lạc phóng viên
Gmail: Tài khoản gmail của phóng viên
Giới tính: Phóng viên là nam hay nữ
6
Trang 7STT Tên thuộc tính Kiểu dữ liệu
3 Số điện thoại DECIMAL
c Thực thể 3: Biên tập viên
Thuộc tính:
Mã số: Đây là thuộc tính khóa phân biệt các biên tập viên với nhau
Tên: Tên biên tập viên
Số điện thoại: Số điện thoại liên lạc của biên tập viên
Gmail: Tài khoản gmail của biên tập viên
Giới tính: Biên tập viên là nam hay nữ
Mảng chuyên trách: Thể loại báo đảm nhận
STT Tên thuộc tính Kiểu dữ liệu
6 Mảng chuyên trách NVARCHAR
d Thực thể 4: Đối tác quảng cáo
Thuộc tính:
Mã hợp đồng: Đây là thuộc tính khóa phân biệt các đối tác quảng cáo
Tên đối tác: Tên của đối tác
Gmail: Tài khoản gmail của đối tác
Địa chỉ: Địa chỉ làm việc của đối tác quảng cáo
Nội dung quảng cáo: Cho biết quảng cáo về nội dung gì
7
Trang 8 Hình thức quảng cáo: Quảng cáo dưới hình thức gì
ST
T
Tên thuộc tính Kiểu dữ liệu
1 Mã hợp đồng DECIMAL
2 Tên đối tác NVARCHAR
5 Nội dung quảng cáo NVARCHAR
6 Hình thức quảng cáo NVARCHAR
e Thực thể 5: Bài báo
Thuộc tính:
ISSN: Mã số chuẩn quốc tế cho các tạp chí và sách
Tên bài: Tên bài báo
Ngày phát hành: Ngày phát hành bài báo
Nội dung tóm tắt: Nội dung tóm tắt của bài báo
Chủ đề: Chủ đề của bài báo
Lượt truy cập: Lượt truy cập vào bài báo
Nguồn ảnh trong bài: Nguồn lấy hình ảnh trong bài báo
liên kết đầy đủ
8
ST T Tên thuộc tính Kiểu dữ liệu
3 Ngày phát hành DATETIME
4 Nội dung tóm tắt NVARCHAR
6 Lượt truy cập INT
7 Nguồn ảnh trong bài NVARCHAR
Trang 93 Thiết kế cơ sở dữ liệu luận lý
9
Người xem
Bài báo
Đối tác quảng cáo
Tên
Gmail
Tên
tài khoản
Mảng yêu thích
Số điện thoại
Địa chỉ
Mã hợp đồng
Nội dung qc
HÌnh thức qc
Tên đối tác Gmail
Lượt truy cập Chủ đề
Nd tóm tắt
Tên bài
Ngày phát hành
\
ISSN
Nguồn ảnh
Giới tính
Gmail
Mã số BTV
Số điện thoại
Mảng chuyên trách
Tên
Số điện thoại
Tên
Mã số PV
Giới tính Gmail
Đọc
Quảng cáo
Đăng
Duyệ t
Duyệt
Cấp phép
1:n
0:n
1:n
0:n
1:1
1:1
1:1
1:n
1:n 1:n
1:1
1:n
Trang 10Người xem:
Tên tài khoản Số điện thoại gmail tên giới tính mảng yêu thích Phóng viên:
mã số PV Tên Số điện thoại gmail giới tính người cấp phép
Bài báo:
ISS
N
Tên
bài
Ngày
phát
hành
ND tóm tắt
Chủ đề
Nguồn ảnh trong bài
lượt truy cập
Người đăng
Người duyệt
Đối tác quảng cáo:
mã hợp đồng tên đối tác gmail địa chỉ nội dung hình thức qc Người duyệt Biên tập viên:
Mã số BTV Tên Số điện thoại Giới tính Gmail Mảng chuyên trách Đọc:
Quảng cáo:
10
Trang 114 Thiết kế cơ sở dữ liệu vật lý
/*Truy vấn 1: Tìm tên của phóng viên */
select ten
from Phongvien
where gioitinh = N'G'
/*Truy vấn 2: Liệt kê các bài báo về chủ đề thời trang có lượt truy cập từ cao xuống thấp */
select *
from Baibao
where chude = N'thời trang'
order by luottruycap DESC
/*Truy vấn 3: Liệt kê các phóng viên có tên là Anh */
select *
from Phongvien
where ten like N'%Anh'
/*Truy vấn 4:Liệt kê các bài báo phát hành từ năm 2020 cho đến nay*/ select *
from Baibao
where year(ngayphathanh) >= year('2020/01/01')
/*Truy vấn 5: Cho biết tên phóng viên cộng với ngày phát hành của các bài báo có lượt truy cập lớn hơn 1000*/
select c.MSPV, c.ten, o.ngayphathanh
from Phongvien c, Baibao o
where o.nguoidang = c.MSPV and o.luottruycap>1000
/*Truy vấn 6: Liệt kê tất cả phóng viên bao gồm phóng viên đã đăng báo và chưa đăng báo*/
select Phongvien.ten, Baibao.ISSN
From Phongvien left join Baibao on Phongvien.MSPV = Baibao.nguoidang order by Phongvien.ten
/*Truy vấn 7: Liệt kê biên tập viên cấp phép cho phóng viên Trịnh Vân Anh
*/
select */
from BTV
where MSBTV in (
select Nguoicapphep
from Phongvien
where ten = N'Trịnh Vân Anh'
)
/*Truy vấn 8: tạo một bảng tạm chứa những bài báo có chủ đề về thời trang*/ with mangthoitrang as(
select ISSN
from Baibao
where chude = N'thời trang'
)
/*Truy vấn 9: Cho biết mã bài báo, tên bài báo, số người xem đọc bài báo đó*/
select p.ISSN, p.tenbai, COUNT(*)
11
Trang 12from Baibao p, Đọc w
where p.ISSN = w.ISSN
Group by p.ISSN, p.tenbai
/*Truy vấn 10: Tạo hàm đánh giá các bài báo năm 2020*/
go
Create function fn_kqdanhgia(
@ISSN decimal(18,0)
)
Returns Nvarchar(50)
AS BEGIN
Declare @result as nvarchar(50) =' '
Declare @ngayphathanh as datetime
Declare @luottruycap as int
set @luottruycap =(select luottruycap from dbo.Baibao where @ISSN = ISSN)
set @ngayphathanh =(select ngayphathanh from dbo.Baibao where @ISSN
=ISSN )
set @ngayphathanh = (select ngayphathanh from dbo.Baibao where ngayphathanh = year('2020'))
if @ISSN <= '1000'
set @result = N'không thu hút'
else if @ISSN >= '1000' and @luottruycap <= '10000'
set @result = N'khá thu hút'
else if @ISSN >= '10000'
set @result = N'thu hút'
Return @result
END
go
12