1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo cáo cuối kì môn học Cơ sở dữ liệu - Đại học Bách Khoa Hà Nội

40 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản lý nền tảng mạng xã hội
Tác giả Nguyễn Thị Vân
Người hướng dẫn TS. Nguyễn Thị Thanh Huyền
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài tập lớn cuối kì
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 40
Dung lượng 3,83 MB

Cấu trúc

  • 1.1 MỤC TIÊU HỆ THỐNG (5)
  • 1.2 QUY TRÌNH NGHIỆP VỤ (5)
  • 1.3 YÊU CẦU DỮ LIỆU BAN ĐẦU (5)
  • CHƯƠNG II: CHỨC NĂNG CỦA HỆ THỐNG 3 (7)
    • 2.1 QUẢN LÝ THÔNG TIN NGƯỜI DÙNG (7)
    • 2.2 QUẢN LÝ CÁC LẦN ĐĂNG NHẬP MẠNG XÃ HỘI (7)
    • 2.3 QUẢN LÝ CÁC BÀI ĐĂNG (7)
    • 2.4 QUẢN LÝ CÁC BÌNH LUẬN (7)
    • 2.5 QUẢN LÝ CÁC LƯỢT THÍCH (7)
    • 2.6 QUẢN LÝ CÁC HASHTAG (7)
  • CHƯƠNG III: THIẾT KẾ CSDL BẰNG MÔ HÌNH TTLK 4 (8)
    • 3.1 MÔ HÌNH THỰC THỂ LIÊN KẾT (8)
    • 3.2 ÁNH XẠ MÔ HÌNH TTLK SANG MÔ HÌNH DLQH (8)
    • 4.1 XÁC ĐỊNH CÁC THUỘC TÍNH VÀ PHỤ THUỘC HÀM (10)
    • 4.2 QUY TRÌNH TÌM KHÓA CỦA LƯỢC ĐỒ QUAN HỆ (11)
    • 4.3 TÌM PHỦ TỐI THIỂU (14)
    • 4.4 KIỂM TRA VÀ ĐƯA VỀ DẠNG CHUẨN (16)
    • 4.5 HOÀN THIỆN CSDL (16)
    • 4.6 SO SÁNH HAI PHƯƠNG PHÁP THIẾT KẾ CSDL (17)
    • 5.1 TẠO LẬP CÁC BẢNG (18)
    • 5.2 RÀNG BUỘC DỮ LIỆU (28)

Nội dung

Báo cáo cuối kì môn học Cơ sở dữ liệu - Đại học Bách Khoa Hà Nội khoa Toán Tin. Báo cáo bao gồm các vấn đề sau: Thiết kế mô hình dữ liệu: thiết kế mô hình ER (Entity-Relationship) để mô tả các thực thể, thuộc tính, và mối quan hệ giữa các thực thể. Sau đó, chuyển mô hình ER sang mô hình quan hệ. Tạo cơ sở dữ liệu: Sử dụng hệ quản trị cơ sở dữ liệu như MySQL để tạo bảng, định nghĩa các khóa chính, khóa ngoại, và các ràng buộc toàn vẹn dữ liệu. Thao tác dữ liệu: Sinh viên sẽ viết các câu lệnh SQL để thêm, xóa, sửa, và truy vấn dữ liệu từ cơ sở dữ liệu.

MỤC TIÊU HỆ THỐNG

Ngày nay việc sử dụng mạng xã hội là một điều không thể không tồn tại trong cuộc sống mỗi người Bên cạnh việc giúp tương tác giữa mọi người với nhau thì ngày nay việc sử dụng xã hội đã được ứng dụng rất nhiều trong kinh vậy nên việc có một hệ thống để quản lý dữ liệu các hoạt động của người dùng trên mạng xã hội là vô cùng cần thiết và có tính ứng dụng cao.

Với mục tiêu quản lý các hoạt động tương tác của người dùng một các có hệ thống và đầy đủ các thông tin cần thiết từ đó có thể giúp các chuyên gia đưa ra những dự đoán về thị trường cũng như các nhãn hàng có thể thấu hiểu insight người dùng từ đó áp dụng các chiến dịch phù hợp Cuối cùng ta cũng có thể đánh giá chất lượng các chiến dịch quảng cáo mà các nhãn hàng thực hiệnt trên mạng xã hội này thông qua các thông tin thu nhập được từ hệ thống

QUY TRÌNH NGHIỆP VỤ

Quy trình nghiệp vụ của hệ thống có thể được xác định qua các bước sau:

• Người dùng tạo tài khoản và sẽ được tạo riêng một mã riêng.

• Lịch sử đăng nhập của người dùng sẽ đều được lưu lại trên hệ thống.

• Hệ thống sẽ lưu trữ mọi hoạt động của người dùng trên mạng xã hội Bao gồm:

– Các người dùng có thể theo dõi lẫn nhau Điều này cũng sẽ được lưu trữ trên hệ thống.

– Hành động đăng bài trên mạng xã hội Các bài đăng này có thể bao gồm các thành phần như: caption, hình ảnh, video.

– Các hành động tương tác với các bài đăng khác: thích, bình luận.

– Ngoài thích các bài đăng, người dùng có thể thích các bình luận Lịch sử này cũng được lưu lại trên hệ thống.

– Người dùng có thể tạo các hashtag và sử dụng các hashtag này trong các bình luận hoặc caption mô tả bài đăng.

YÊU CẦU DỮ LIỆU BAN ĐẦU

Yêu cầu dữ liệu của hệ thống quản lý hoạt động người dùng trên mạng xã hội bao gồm:

• User (người dùng): tên, giới tính, email, địa chỉ, thời gian tham gia mạng xã hội, url ảnh đại diện, bio giới thiệu.

• Post (bài đăng): địa chỉ check in, thời gian tạo, chế độ, url video trong bài đăng, url ảnh trong bài đăng, nội dung caption.

• Hashtag: Nội dung hashag (có dạng #abc)

• Hashtag_post: Nội dung hashag (có dạng #abc) và mã bài post chứa hashtag

• Hashtag_cmt: Nội dung hashag (có dạng #abc) vã mã comment chứa hashtag

• Like (lượt thích): thời gian like, emotion (haha, wow, sad, angry, like, care)

• Comment (bình luận): nội dung bình luận, thời gian tạo bình luận, url ảnh đính kèm, url video đính kèm, bài viết bình luận

• Login (lượt đăng nhập): thời gian, ip, thiết bị đăng

CHỨC NĂNG CỦA HỆ THỐNG 3

QUẢN LÝ THÔNG TIN NGƯỜI DÙNG

Quản lý thông tin người dùng bao gồm các thông tin cơ bản và thời gian tạo tài khoản xã hội.

Cho phép cập nhật thông tin của người dùng và nhiều tác vụ khác.

QUẢN LÝ CÁC LẦN ĐĂNG NHẬP MẠNG XÃ HỘI

Quản lý các lần truy cập mạng xã hội của người dùng.

QUẢN LÝ CÁC BÀI ĐĂNG

Quản lý thông tin các bài viết do người dùng đăng tải trên mạng xã hội.

Cho phép truy vấn lịch sử đăng bài và các nội dung đi kèm.

QUẢN LÝ CÁC BÌNH LUẬN

Quản lý thông tin các bình luận do người dùng để lại trên mỗi bài đăng.

Cho phép truy vấn đến mỗi bình luận.

QUẢN LÝ CÁC LƯỢT THÍCH

Quản lý thông tin các lượt tương tác của mỗi bài viết hoặc thậm chí của mỗi com- ments được đăng tải trên mạng xã hội.

Cho phép truy vấn đến mỗi lượt tương tác từ đó có thể suy ra các vấn đề đang được người dùng quan tâm.

QUẢN LÝ CÁC HASHTAG

Quản lý thông tin của mỗi hashtag được đính kèm trên mỗi caption (phần mô tả của mỗi bài đăng) hoặc được đính kèm trong phần bình luận Hashtag có thể được coi như mỗi từ khóa giúp người dùng có thể ghi nhớ một hiện tượng nào đó chỉ với từ khóa dễ nhớ Hashtag có dạng #abc Ví dụ như: #pridemonths, #taylorswift,

Cho phép truy vấn đến mỗi lượt hashtag được sử dụng từ đó có thể suy ra những vấn đề được người dùng quan tâm hiện nay.

THIẾT KẾ CSDL BẰNG MÔ HÌNH TTLK 4

MÔ HÌNH THỰC THỂ LIÊN KẾT

ÁNH XẠ MÔ HÌNH TTLK SANG MÔ HÌNH DLQH

users(user_id, name, gender, birthday, age, address, email, bio, avatar, created_at) logins(login_id, user_id , ip, device, created_at) followss(follow_id, , followee_id, follower_id , created_at) comments(cmt_id, user_id , cmt_text, created_at, vid_url, photo_url, created_at) like(like_id, user_id , cmt_id, post_id, created_at) posts(post_id, user_id , caption, set, location, vid_url, photo_url, created_at) hashtagg(hashtag_id, h_text) hashtag_post(hashtag_id, post_id , h_text) hashtag_cmt(hashtag_id, cmt_id , h_text)

∗Chú thích: tên_bảng(khóa_chính, khóa ngoại , thuộc tính)

CHƯƠNG IV: THIẾT KẾ CSDL BẰNG THUẬT TOÁN

XÁC ĐỊNH CÁC THUỘC TÍNH VÀ PHỤ THUỘC HÀM

• Xác định các thuộc tính:

– user_id, name, gender, birthday, age, email, address, bio, avatar, created_at, fol- low_id, followee_id, follower_id, created_at, login_id, ip, device, created_at, like_id, emotion, created_at, cmt_id, cmt_text, vid_url, photo_url, created_at, hashtag_id, h_text, post_id, location, set, created_at, caption, vid_url, photo_url

* thuộc tính created_at là khác nhau

* 2 thuộc tính photo_url là khác nhau

* 2 thuộc tính vid_url là khác nhau

– Do một số thuộc tính như: gender, birthday, age, email, address, bio, creat_at, vid_url, photo_url, ip, set, location có vai trò giống nhau nên ta sẽ tiến hành lược bỏ để đơn giản hóa quá trình xác định phụ thuộc hàm và tìm khóa Vậy tập thuộc tính còn lại là:

{user_id, name, follow_id, followee_id, follower_id, login_id, device, like_id, em- tion, cmt_id, cmt_text, hashtag_id, h_text, post_id, caption}

• Xác định các phụ thuộc hàm:

– Lược đồ quan hệ U = Trong đó:

U = {user_id, name, follow_id, followee_id, follower_id, login_id, device, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption}

F = { user_id→ name login_id→user_id, device post_id→user_id, caption like_id→user_id, emotion, post_id, cmt_id cmt_id→user_id, post_id, cmt_text follow_id→ followee_id, follower_id hashtag_id→ h_text hashtag_id, cmt_id→h_text hashtag_id, post_id→h_text

QUY TRÌNH TÌM KHÓA CỦA LƯỢC ĐỒ QUAN HỆ

• U = {user_id, name, follow_id, followee_id, follower_id, login_id, device, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption}

• F = { user_id→name login_id→user_id, device post_id→user_id, caption like_id→ user_id, emotion, post_id, cmt_id cmt_id→user_id, post_id, cmt_text follow_id→followee_id, follower_id hashtag_id→h_text hashtag_id, post_id→h_text hashtag_id, cmt_id→h_text

* Tìm khóa: Đặt K={user_id, name, follow_id, followee_id, follower_id, login_id, de- vice, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption}

T = K \ {user_id} = {name, follow_id, followee_id, follower_id, login_id, like_id, em- tion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, follow_id, followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = { name, follow_id, followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T = K \ {name} = {follow_id, followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, follow_id, followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, followee_id, follower_id, login_id, like_id, emtion, cmt_id,cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T = K \ {follow_id} = { followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } !=U

T = K \ {followee_id} = { follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hash- tag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T = K \ {follower_id} = {login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T = K \ {login_id} = {like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } !=U

T = K \ {like_id} = {emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location,caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = !U

T = K \ {emotion} = {cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, login_id, like_id, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T = K \ {cmt_id} = {cmt_text, hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, login_id, like_id, cmt_text, hashtag_id, h_text, post_id, loca- tion, caption, device }

T = K \ {cmt_text} = {hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hashtag_id, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, login_id, like_id, hashtag_id, h_text, post_id, location, cap- tion, device }

T = K \ {hashtag_id} = {hashtag_id, h_text, post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, h_text, post_id, location, caption, device } = !U

T = K \ {h_text} = {post_id, location, caption, device }

T += { user_id, name, followee_id, follow_id, follower_id, login_id, like_id, emtion, cmt_id, cmt_text, hash_tag, h_text, post_id, location, caption, device } = U

Then K := T = {follow_id, login_id, like_id, hashtag_id, post_id, location, caption, de- vice }

Tương tự ta bỏ được các thuộc tính: post_id, location, caption, device Cuối cùng ta thu được các khóa của lược đồ quan hệ như sau:

K= { follow_id, login_id, like_id, hashtag_id }

TÌM PHỦ TỐI THIỂU

The first step is to split the right-hand side of the functional dependencies: user_id→name, login_id→user_id, login_id→device, post_id→user_id, post_id→location, post_id→caption, like_id→user_id, like_id→emotion, like_id→post_id, like_id→cmt_id, cmt_id→cmt_text, cmt_id→post_id, cmt_id→user_id, follow_id→followee_id, follow_id→follower_id, hashtag_id→h_text, hashtag_id, post_id→h_text, hashtag_id, cmt_id→h_text.

Bước 2: Duyệt và bỏ đi các phụ thuộc hàm dư thừa, còn lại user_id→name login_id→user_id login_id→device post_id→ user_id post_id→ location post_id→caption like_id→user_id like_id→emotion like_id→post_id like_id→cmt_id cmt_id→cmt_text cmt_id→post_id cmt_id→useruser_id follow_id→followee_id follow_id→follower_id hashtag_id→h_text hashtag_id, post_id→h_text hashtag_id, cmt_id→h_text

Bước 3: Duyệt tập con của { follow_id, login_id, like_id, hashtag_id } cuối cùng thu được phủ tối thiểu là: user_id→name login_id→user_id login_id→device post_id→user_id post_id→location post_id→caption like_id→user_id like_id→emotion like_id→post_id like_id→cmt_id cmt_id→cmt_text cmt_id→post_id cmt_id→user_id follow_id→followee_id follow_id→follower_id hashtag_id→h_text hashtag_id, post_id→h_text hashtag_id, cmt_id→h_text

Ta gộp các phụ thuộc hàm có cùng vế trái, kết quả thu được là các lược đồ con:

• R2 (login_id: user_id, device)

• R3 (post_id: user_id, location, caption)

• R4 (like_id: user_id, emotion, post_id, cmt_id)

• R5 (cmt_id: cmt_text, post_id, user_id)

• R6 (follow_id: followee_id, follower_id)

• R8 (hashtag_id: h_text, cmt_id)

• R9 (hashtag_id: h_text, post_id)

Trong các lược đồ con vừa tách tồn tại lược đồ chứa khóa chính của lược đồ U ban đầu nên các phép tách như trên là không bị mất mát thông

KIỂM TRA VÀ ĐƯA VỀ DẠNG CHUẨN

• Kiểm tra dạng chuẩn 1NF

– Các lược đồ ở trên đã đạt chuẩn 1NF vì các trường thuộc tính đều là các giá trị nguyên tố (không bao gồm các thuộc tính ghép/đa trị).

• Kiểm tra dạng chuẩn 2NF

– Các lược đồ trên đã ở dạng chuẩn 1NF

– Các thuộc tính không phải phụ thuộc hàm đầy đủ vào khóa chính

→ Các lược đồ trên ở dạng chuẩn 2NF

• Kiểm tra dạng chuẩn 3NF

– Các lược đồ trên đã ở dạng chuẩn

– Mọi thuộc tính không khóa không phụ thuộc bắc cầu vào khóa

→ Vậy các lược đồ con trên ở dạng chuẩn 3NF

HOÀN THIỆN CSDL

After obtaining the sub-schemas R1, R2, R3, R4, R5, R6, R7, R8, R9, we named these sub-schemas for easy visualization: users(user_id, name), logins(login_id, user_id, device), posts(post_id, user_id, caption, location), likee(like_id, user_id, emotion, post_id, cmt_id), comments(cmt_id, cmt_text, post_id, user_id), followss(follow_id, followee_id, follower_id), hashtags(hashtag_id, h_text), hashtag_post(hashtag_id, post_id, h_text), and hashtag_cmt(hashtag_id, cmt_id, h_text).

*Cập nhật khóa chính cho các bảng, ta được: users(user_id, name) logins(login_id, user_id, device) posts(post_id, user_id, caption, location) likee(like_id, user_id, emotion, post_id, cmt_id) comments(cmt_id, cmt_text, post_id, user_id) followss(follow_id, followee_id, follower_id) hashtags(hashtag_id, h_text) hashtag_post(hashtag_id, post_id, h_text) hashtag_cmt(hashtag_id, cmt_id, h_text)

*Cập nhật các thuộc tính có vai trò giống nhau ban đầu bị loại bỏ: users(user_id, name, birthday, age, gender, email, bio, avatar, address, created_at) logins(login_id, user_id, ip, device) posts(post_id, user_id, caption, location, set, vid_url, photo_url, created_at) likee(like_id, user_id, emotion, post_id, cmt_id, created_at) comments(cmt_id, cmt_text, post_id, user_id, vid_url, photo_url, created_at) followss(follow_id, followee_id, follower_id, created_at) hashtags(hashtag_id, h_text) hashtag_post(hashtag_id, h_text, post_id) hashtag_cmt(hashtag_id, h_text, cmt_id)

SO SÁNH HAI PHƯƠNG PHÁP THIẾT KẾ CSDL

Sau khi thực hiện cả hai phương pháp sử dụng lý thuyết thiết kế và mô hình thực thể liên kế để thiết kế cơ sở dữ liệu em đã rút ra những điều sau:

• Sử dụng lý thuyết thiết kế sẽ mạch lạc rõ ràng từng bước và đem lại sự chính xác cao do được chứng minh bằng các thuật toán, định lý toán học Bên cạnh đó phương pháp khá phức tạp, chưa thông dụng với những người mới và dễ gây nhầm lẫn

Mặc dù mô hình thực thể liên kết mang lại tính dễ hình dung và dễ áp dụng, nhưng mức độ chính xác của nó còn hạn chế Điểm yếu này có thể dẫn đến các xung đột logic hoặc tình trạng mất thông tin trong quá trình thiết lập mô hình.

CHƯƠNG V: TẠO LẬP VÀ CẬP NHẬT DỮ LIỆU

TẠO LẬP CÁC BẢNG

Mô tả cơ sở dữ liệu: Cơ sở dữ liệu gồm 9 bảng với các thông tin như sau:

• Thông tin cá nhân của mỗi người dùng: mỗi người dùng có 1 mã người dùng duy nhất và bao gồm các thông tin như: tên, email, ngày sinh, tuổi, địa chỉ, ngày tham gia, giới tính, bio, ảnh đại diện

• Thông tin đăng tải bài viết: mỗi bài sẽ có một mã bài viết riêng biệt, caption, chế độ (công khai hoặc riêng tư), link ảnh, link video, thời gian đăng tải

Mỗi lượt thích của người dùng trên nền tảng mạng xã hội được xác định bởi một mã duy nhất, chứa thông tin chi tiết về loại cảm xúc được thể hiện (ví dụ: thích, yêu thích, quan tâm, buồn, ngạc nhiên, tức giận), thời gian tạo lượt thích và thông tin của người đã tạo.

• Thông tin của mỗi bình luận trong một bài viết: mỗi bình luận sẽ có một mã riêng và bao gồm các thông tin như: nội dung bình luận, link ảnh đính kèm, link video đính kèm, mã bài viết được bình luận, mã người dùng tạo bình luận, thời gian tạo

• Thông tin của mỗi hashtag được đính kèm tại caption hoặc phần bình luận: mỗi hashtag sẽ có một mã riêng và bao gồm: nội dung hashtag

• Thông tin của mỗi lượt follow: mỗi lượt follow sẽ có một mã riêng và bao gồm các thông tin như: mã người được follow, mã người follow và thời gian follow

• Thông tin của mỗi lượt đăng nhập bao gồm mã riêng biệt, thời gian đăng nhập, số ip và tên thiết

• Thông tin nơi mà mỗi hashtag được gắn tại: có thể tại phần bình luận hoặc phần bài viết

Câu lệnh SQL để tạo bảng và cập nhật dữ liệu

Sau khi cân nhắc em thấy mình nên thêm trường emotion để thông tin được đa dạng nên đã thêm trường emotion và tạo dữ liệu ngẫu nhiên từ danh sách cho trước

Figure 5.8 Cập nhật thêm trường dữ liệu cho bảng Likee

Trong quá trình tạo bảng em quên thêm trường dữ liệu "post_id" cho bảng Comments nên đã update thêm cho bảng

RÀNG BUỘC DỮ LIỆU

Figure 5.21 Ràng buộc dữ liệu bảng Users

Figure 5.22 Ràng buộc dữ liệu bảng Followss

Figure 5.23 Ràng buộc dữ liệu bảng Logins

Figure 5.24 Ràng buộc dữ liệu bảng Likee

Figure 5.25 Ràng buộc dữ liệu bảng Comments

Figure 5.26 Ràng buộc dữ liệu bảng Posts

Figure 5.27 Ràng buộc dữ liệu bảng Hashtags

Figure 5.28 Ràng buộc dữ liệu bảng Hashtag_post

Figure 5.29 Ràng buộc dữ liệu bảng Hashtag_cmt

CHƯƠNG VI: TRUY VẤN DỮ LIỆU

CÂU 1: IN RA USER_ID, TÊN VÀ SỐ LẦN ĐĂNG NHẬP CỦA MỖI NGƯỜI DÙNG

CÂU 2: IN RA USER_ID, TÊN VÀ LƯỢNG NGƯỜI FOLLOW CỦA HỌ

CÂU 3: IN RA DANH SÁCH BÀI ĐĂNG VÀ TÊN NGƯỜI ĐĂNG BÀI CÓ CHỨA HASHTAG #TONIGHT

CÂU 4: TRUY VẤN DANH SÁCH CÁC BÀI ĐĂNG CÙNG VỚI CÁC BÌNH LUẬN VÀ NGƯỜI DÙNG ĐÃ BÌNH LUẬN

CÂU 5: TRUY VẤN DANH SÁCH NGƯỜI DÙNG CÓ SỐ LƯỢT THEO DÕI CAO NHẤT VÀ THÔNG TIN CƠ BẢN CỦA HỌ

CÂU 6: TRUY VẤN DANH SÁCH NGƯỜI DÙNG ĐƯỢC TẠO TRONG THÁNG NÀY

CÂU 7: TRUY VẤN DANH SÁCH NGƯỜI DÙNG ĐĂNG NHẬP LẦN CUỐITRONG 30 NGÀY QUA

CÂU 8: TRUY VẤN DANH SÁCH CÁC NGƯỜI DÙNG CÓ SINH NHẬT TRONG THÁNG NÀY

CÂU 9: TRUY VẤN DANH SÁCH CÁC BÀI ĐĂNG CÓ SỐ LƯỢT THÍCH CAO NHẤT TRONG THÁNG NAY

Ngày đăng: 14/08/2024, 23:16

w