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

Mỗi thành viên tham gia mỗi hoạt động đều được đánh giá nhận xét mức độ hoàn thành công việc theo các cấp độ hoàn thành để có thể tổng kết thành tích cho mỗi thành viên

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 (695.7 KB, 17 trang )

Mục lục

Lời mở đầu...............................................................................................................................................................2
I. Trình bày bài tốn thực tế.......................................................................................................................................4
II. Xác định chức năng...............................................................................................................................................4
III. Sơ đồ thực thể liên kết..........................................................................................................................................5
IV. Thiết kế cơ sở dữ liệu quan hệ:............................................................................................................................8
1. Quan hệ địa chỉ..................................................................................................................................................8
2. Quan hệ thành viên............................................................................................................................................9
3. Bảng mảng.......................................................................................................................................................10
4. Bảng hoạt động................................................................................................................................................10
5. bảng nhận xét thành viên..................................................................................................................................11
6. Bảng các các thành viên của mỗi mảng............................................................................................................12
IV. Ánh xạ quan hệ..................................................................................................................................................12
1. Lược đồ quan hệ của cơ sở dữ liệu sinh viên tính nguyện................................................................................12
2. Lược đồ quan hệ của cơ sở dữ liệu sau khi phân tách......................................................................................13
VI. Các câu hỏi truy vấn..........................................................................................................................................15
1. Biểu diễn bằng ngôn ngữ đại số quan hệ:.........................................................................................................15


Đánh giá thành viên

Lời mở đầu
Cơ sở dữ liệu là một trong những môn học đại cương của lĩnh vực Khoa học
máy tính và là cái nơi cho nhiều ngành khoa học khác trong thời kỳ chuyển đổi
số. Dữ liệu ngày nay cực kì lớn, chúng thường xuyên được cập nhật và làm
mới hàng ngày, vì vậy chúng ta cần phải quản lí và sử dụng được khối lượng
dữ liệu lớn đó một cách thơng minh, an tồn, dữ liệu đồng bộ, lọc và tìm kiếm
thơng tin hiệu quả. Chúng ta cần phải tạo những liên kết, quan hệ giữa các dữ
liệu rời rạc để khi nào cần có thể dễ dàng tìm kiếm và sử dụng chúng. Khi học
mơn cơ sở dữ liệu, chúng em được trang bị những kiến thức cần thiết để có thể


thiết lập được một tập các dữ liệu có tổ chức, lưu trữ trên hệ thống máy tính và
cách sử dụng chúng sao cho hiệu quả và nhanh chóng. Và cơ sở dữ liệu thì
được chia làm 2 dạng là cơ sở dữ liệu quan hệ và cơ sơ dữ liệu phi quan hệ, cả
2 dạng cơ sở dữ liệu này đều có những ưu và nhược điểm riêng nên khi sử
dụng chúng ta nên cân nhắc xem mục đích sử dụng của mình là gì để lựa chọn
sử dụng một cách hiệu quả nhất.
Qua thời gian học tập, thực hành về môn cơ sơ dữ liệu, dưới sự hướng dẫn tận
tình của cơ Nguyễn Thị Thanh Huyền và sự tìm hiểu về các chủ đề cần thiết
liên quan đến những dữ liệu cần được xử lý, nhóm chúng em đã quyết định lựa
chọn chủ đề “quản lý đội sinh viên tình nguyện” để thao tác cũng như có cái
nhìn tổng quan về cơ sở dữ liệu. Sinh viên tình nguyện là một tổ chức không
thể thiếu của mỗi khoa, viện, của một trường đại học. Đây là một tổ chức đồn
kết, có tấm lòng nhân ái, ý thức tự giác và tinh thần tình nguyện tham gia hoạt
động, sẵn sàng tham gia các cơng việc khó khăn, gian khổ mà khơng cần thiết
phải có quyền lời vật chất cho bản thân. Họ dùng sự hiểu biết của bản thân
mình để đóng góp, giúp đỡ cho cộng đồng và những người xung quanh vì một
mục đích cao cả. Nói cách khác, những việc làm của sinh viên tình nguyện
xuất phát từ lịng tự nguyện, mong muốn đóng góp cơng sức của mình để cống
hiến. Vì thế đây là một tập thể rất quan trọng và tiên phong cho những phong
trào của khoa, viện hay của trường và sinh viên tình nguyện này ngày càng


phát triển về cả quy mô và chất lượng. Vậy nên, việc quản trị được một tập thể
lớn sẽ có rất nhiều khó khăn và khá là phức tạp. Tuy nhiên, với thời đại cơng
nghệ ngày càng phát triển, thì việc quản lý một tập thể cũng là một trong
những ứng dụng rất phổ biến của Cơ sở dữ liệu.
Tuy bài báo cáo đã được chúng em chuẩn bị rất cẩn thận nhưng khơng thể
tránh khỏi những sai sót, rất mong thầy và các bạn có thể đưa ra các ý kiến
đóng góp để bài báo cáo được hồn thiện hơn. Chúng em xin cảm ơn thầy
Nguyễn Danh Tú đã tận tình giảng dạy và đưa ra những lời nhận xét quý báu

để chúng em hoàn thiện báo cáo này. I. Trình bày bài tốn thực tế


I. Trình bày bài tốn thực tế
- Một đội sinh viên tình nguyện sẽ có danh sách các sinh viên và thơng tin của
mỗi sinh viên. Mỗi sinh viên có thể tham gia được nhiều mảng trong đội sinh
viên tình nguyện.
- Mỗi thành viên sẽ có một địa chỉ, một địa chỉ có thể có nhiều thành viên sở
hữu.
- Một đội sinh viên sẽ có danh sách các mảng và trong mỗi mảng có duy nhất
một mảng trưởng và một người chỉ có thể làm trưởng của một mảng nào đó.
- Mỗi mảng sẽ có nhiều thành viên tham gia và mỗi thành viên sẽ đảm nhận
các chuyên môn nào đó để được giao nhiệm vụ khi tham gia các hoạt động của
mảng
- Các hoạt động của đội sinh viên tình nguyện sẽ có danh sách các hoạt động,
một người phụ trách và nhiều thành viên tham gia vào hoạt động đó. Mỗi
thành viên có thể tham gia được nhiều hoạt động và có thể được giao cho phụ
trách được nhiều hoạt động
- Mỗi thành viên tham gia mỗi hoạt động đều được đánh giá nhận xét mức độ
hoàn thành cơng việc theo các cấp độ hồn thành để có thể tổng kết thành tích
cho mỗi thành viên
II. Xác định chức năng
- Quản lý danh sách thành viên đội sinh viên tình nguyện:
Mỗi sinh viên sẽ được lưu trữ các thơng tin về: họ tên, địa chỉ, giới tính, điện
thoại, email, ngành học, điểm số, sở thích.
- Lưu thơng tin về các mảng:
Lưu trữ danh sách các mảng trong đội sinh viên, mỗi mảng sẽ có các thơng tin:
tên mảng, trưởng mảng.
- Quản lý nhân sự của các mảng trong đội:



Yêu cầu về dữ liệu trong chức năng này là lưu trữ được danh sách các thành
viên trong mảng, các chuyên môn của mỗi thành viên.
- Lưu trữ thông tin về các hoạt động của đội:
Lưu trữ danh sách các hoạt động của đội sinh viên, mỗi hoạt động sẽ có tên
của hoạt động, người phụ trách hoạt động, địa điểm hoạt động, thời điểm diễn
ra hoạt động.
- Quản lý các hoạt động của đội:
Cần phải lưu trữ được danh sách các thành viên tham gia hoạt động và đánh
giá được mức độ hồn thành cơng việc của mỗi thành viên.
III. Sơ đồ thực thể liên kết
- Từ bài toán thực tế và xác định chức năng cần có trong một sơ sở dữ liệu sinh
viên tính nguyện ta có các thực thể và mối liên kết sau:
+ Các thực thể: thành viên, địa chỉ, mảng, hoạt động
+ Các mối liên kết:
* Sống ở: thành viên – địa chỉ (n – 1)
* Thành viên trong mảng: thành viên – mảng (m, n)
* Trưởng mảng: thành viên – mảng (1 – 1)
* Phụ trách: thành viên – hoạt động (1 – n)
* Nhận xét thành viên: thành viên – hoạt động (m, n)


- Sơ đồ thực thể liên kết tổng quát:

- Sơ đồ diagram:


- Thông tin chi tiết của mỗi thực thể:
+ địa chỉ:


+ thành viên:

+ mảng:


+ Hoạt động:

IV. Thiết kế cơ sở dữ liệu quan hệ:
Từ mơ hình thực thể liên kết ta có các quan hệ để thực hiện các chức năng
quản lý một cơ sở dữ liệu sinh viên tình nguyện theo mong muốn.
1. Quan hệ địa chỉ
- Quan hệ: dia_chi (id_dia_chi, huyen, tinh)
- Thông số bảng:

- Tạo bảng bằng mySQL:

- Chức năng của bảng: Dùng để lưu địa chỉ về quận (huyện), tỉnh(thành phố)
trong cơ sở dữ liệu.


2. Quan hệ thành viên
- Quan hệ: thanh_vien (id_thanh vien, ho, ten, gioi_tinh, ngay_sinh,
id_dia_chi, email, so_dien_thoai, diem_so, nganh_hoc, so_thich)
- Thông số bảng:

- Tạo bảng bằng mySQL:

- Chức năng của bảng: Lưu các thông tin cơ bản về họ tên, giới tính, ngày sinh,
địa chỉ (thơng qua khóa ngoại lai của bảng address), email, số điện thoại, điểm,
ngành học của thành viên tham gia sinh viên tình nguyện.



3. Bảng mảng
- Quan hệ: mang (id_mang, ten_mang, id_mang_truong)
- Thông số bảng:

- Cách tạo bảng:

- Chức năng của bảng: Lưu thông tin về các mảng bao gồm tên mảng, người
đội trưởng mảng.
4. Bảng hoạt động
- Quan hệ: hoat_dong (id_hoat_dong, ten_hoat_dong, ngay, dia_diem, id_nguoi_phu_trach)
- Thông số bảng:


- Tạo bảng bằng mySQL:

- Chức năng của bảng: Lưu thơng tin các hoạt động của đội sinh viên tình
nguyện, gồm tên hoạt động, ngày thực hiện hoạt động, nơi hoạt động, các
thành viên tham gia hoạt động đó.
5. bảng nhận xét thành viên
- Quan hệ: nhan_xet_thanh_vien (id_thanh_vien, id_hoat_dong, nhan_xet)
- Thông số bảng:

- Tạo bảng bằng mySQL:


- Chức năng của bảng: Dùng để đánh giá mỗi thành viên tham gia mỗi hoạt
động
6. Bảng các các thành viên của mỗi mảng

- Quan hệ: thanh_vien_mang( id_thanh_vien, id_mang, chuyen_mon)
- Thông số bảng:

- Tạo bảng bằng mySQL:

- Chức năng của bảng: Dùng để lưu chuyên môn của mỗi thành viên trong
mảng
IV. Ánh xạ quan hệ
1. Lược đồ quan hệ của cơ sở dữ liệu sinh viên tính nguyện
gọi α =¿ U , F> ¿ là lược đồ quan hệ của cơ sở sinh viên tình nguyện
- Tập thuộc tính:
U = {id_dia_chi, huyen, tinh, id_thanh vien, ho, ten, gioi_tinh, ngay_sinh,
id_dia_chi, email, so_dien_thoai, diem_so, nganh_hoc, so_thich, id_mang,


ten_mang, id_mang_truong, id_hoat_dong, ten_hoat_dong, ngay, dia_diem,
id_nguoi_phu_trach, nhan_xet, chuyen_mon}
- Tập phụ thuộc:
F = {id_dia_chi → {huyen, tinh};
id_thanh_vien → {ho, ten, gioi_tinh, ngay_sinh, id_dia_chi, email,
so_dien_thoai, diem_so, nganh_hoc, so_thich};
id_mang → {ten_mang, id_mang_truong};
id_hoat_dong → {ten_hoat_dong, ngay, dia_diem, id_nguoi_phu_trach};
{id_thanh_vien, id_hoat_dong} → nhan_xet;
{id_thanh_vien, id_mang} → chuyen_mon}
2. Lược đồ quan hệ của cơ sở dữ liệu sau khi phân tách
a. gọi α 1=¿ U 1 , F 1 >¿ là lược đồ của bảng địa chỉ
- Tập thuộc tính:
U1 = {id_dia_chi,huyen, tinh}
- Tập phụ thuộc:

F1 = {id_dia_chi → {huyen, tinh}}
b. gọi α 2=¿ U 2 , F 2 >¿ là lược đồ của bảng thành viên
- Tập thuộc tính:
U2 = {id_thanh_vien, ho, ten, gioi_tinh, ngay_sinh, id_dia_chi, email,
so_dien_thoai, diem_so, nganh_hoc, so_thich}
- Tập phụ thuộc:
F2 = {id_thanh_vien → {ho, ten, gioi_tinh, ngay_sinh, id_dia_chi, email,
so_dien_thoai, diem_so, nganh_hoc, so_thich}


c. gọi α 3=¿ U 3 , F 3 >¿ là lược đồ của bảng mảng
- Tập thuộc tính:
U3 = {id_mang, ten_mang, id_mang_truong}
- Tập phụ thuộc:
F3 = {id_mang → {ten_mang, id_mang_truong}
d. gọi α 4 =¿U 4 , F 4 > ¿ là lược đồ của bảng hoạt động
- Tập thuộc tính:
U4 = {id_hoat_dong, ten_hoat_dong, ngay, dia_diem, id_nguoi_phu_trach}
- Tập phụ thuộc:
F4 = {id_hoat_dong → {ten_hoat_dong, ngay, dia_diem, id_nguoi_phu_trach}
e. gọi α 5=¿ U 5 , F 5 >¿ là lược đồ của bảng nhận xét hoạt động
- Tập thuộc tính:
U5 = {id_thanh_vien, id_hoat_dong, nhan_xet}
- Tập phụ thuộc:
F5 = {id_thanh_vien, id_hoat_dong, nhan_xet}
f. gọi α 6=¿ U 6 , F6 >¿ là lược đồ của bảng mảng
- Tập thuộc tính:
U6 = {id_thanh_vien, id_mang, chuyen_mon}
- Tập phụ thuộc:



{{id_thanh_vien, id_mang} → chuyen_mon}
VI. Các câu hỏi truy vấn
1. Biểu diễn bằng ngơn ngữ đại số quan hệ:
- Ta có các quan hệ:
dia_chi (id_dia_chi, huyen, tinh)
thanh_vien (id_thanh vien, ho, ten, gioi_tinh, ngay_sinh, id_dia_chi, email,
so_dien_thoai, diem_so, nganh_hoc, so_thich)
mang (id_mang, ten_mang, id_mang_truong)
hoat_dong (id_hoat_dong, ten_hoat_dong, ngay, dia_diem, id_nguoi_phu_trach)
nhan_xet_thanh_vien (id_thanh_vien, id_hoat_dong, nhan_xet)
thanh_vien_mang( id_thanh_vien, id_mang, chuyen_mon)
1.1. Lấy thông tin mảng trưởng và số thành viên có trong mảng đó
- In ra: id mảng trưởng, họ, tên của mảng trưởng, tên mảng, số thành viên.
- Biểu diễn bằng đại số quan hệ:
(mang⧓ thanh ¿ )⧓ γ id
R1 = ∏
id

mang

,count (id ¿ )→ so ¿

(mang⧓ thanh ¿ )

mang

R2 = id ,ten∏ , so (R 1 ⧓ mang)
¿


mang

¿

KQ = id ,ten ,ho∏
, ten
¿

mang

, so ¿

( R ¿ ¿ 2 ⧓ thanhvien) ¿

1.2. Lấy thông tin của các sinh viên có sở thích đá bóng hoặc bóng rổ và quê ở
một trong ba tỉnh Hà Nam, Nam Định, Ninh Bình.
- In ra: id thành viên, họ, tên của thành viên, sở thích, tỉnh.


- Biểu diễn bằng đại số quan hệ:
R1 = σ so

= % đá bóng % V so thich = % bóng rổ %

thich

(thanh vien )

R2 = σ tinh=Hà NamV tinh =Nam ĐịnhV tinh =Ninh Bình ¿ R1)
(R 2)

KQ = id ,ho∏
,ten , tinh
¿

1.3. Lấy thơng tin sinh viên có tên kết thúc bằng “ng” thuộc ngành học
CNTT&TT và có số hoạt động lớn hơn hoặc bằng 3.
- In ra: id thành viên, họ, tên, viện, số hoạt động
- Biểu diễn bằng đại số quan hệ:
R1 = σ ten=%ng%∧nganh

hoc

=CNTT&TT”} (thanh_vien ¿

R2 = γ id ,count (id )→ so ( R 1 ⧓ nhan¿ )
¿

¿

¿

( R 1) ⧓ R 2
R3 = id ,ho∏
,ten , vien
¿

KQ = σ so ≥ 3 (R 3)
¿

1.4. Tính số sinh viên nam và sinh viên nữ từng mảng

- In ra: id mảng, tên mảng, số thành viên nam, số thành viên nữ
- Biểu diễn bằng đại số quan hệ:
R1 = σ gioi
R2 = σ gioi
R3 = γ id
R4 = γ id

tinh

=nam

tinh

=n ữ

( mang⧓ nhan¿ ⧓ thanh vien)

(mang ⧓ nhan¿ ⧓ thanh vien)

mang

,count (id ¿ )→ so ¿

(R1)

mang

,count (id ¿ )→ so ¿

(R2)


KQ = id ∏
,ten
mang

(mang)
mang

⧓ R3 ⧓ R4




×