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

Báo cáo cuối kỳ môn cơ sở dữ liệu mi3090 quyết định sử dụng mysql hệ quản trị cơ sở dữ liệu mã nguồn mở

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 (8.34 MB, 36 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC </b>

<b>Báo cáo cuối kỳ </b>

<b>Môn: Cơ sở dữ liệu - MI3090 </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Vũ Quang Minh - 20195903 3

<b>Thực hành tuần 1. </b>

Bài 1: Thiết lập được hệ quản trị cơ sở dữ liệu trên máy tính cá nhân.

Tại bài tập này, em đã quyết định sử dụng MySQL - hệ quản trị cơ sở dữ liệu mã nguồn mở để thực hành các thao tác tại đây.

Bài 2: Thiết lập được môi trường làm việc với cơ sở dữ liệu từ máy chủ đơn vị. Em đã thiết lập kết nối bằng cách dùng local host:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Vũ Quang Minh - 20195903 4 Bài 3: Tạo được một sơ sở dữ liệu mẫu để làm việc.

Em đã sử dụng 2 phương pháp chính là Copy – Paste và Import dữ liệu từ file ngồi:

• Phương pháp Copy – Paste

• Phương pháp Import dữ liệu

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Vũ Quang Minh - 20195903 5

<b>Thực hành tuần 2. </b>

Chủ đề của tuần này là thực hiện các câu lệnh truy vấn trên cơ sở dữ liệu. Bài 1: SELECT, ORDER BY, WHERE, SELECT DISTINCT.

• Nhóm câu lệnh select, order by, where.

• Câu lệnh select – distinct: truy vấn theo kết quả độc nhất.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Vũ Quang Minh - 20195903 6 Bài 2: AND, OR, IN.

• Câu lệnh and truy xuất các kết quả thoả mãn đồng thời các điều kiện

• Câu lệnh Or truy xuất các kết quả thoả mãn ít nhất 1 trong các điều kiện

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Vũ Quang Minh - 20195903 7 • Câu lệnh In truy xuất các kết quả thoả mãn ít nhất 1 trong các điều kiện

Bài 3: BETWEEN, LIKE.

• Câu lệnh Between truy vấn các kết quả thoả mãn giá trị trong 1 khoảng

• Câu lệnh Like truy vấn các kết quả có các giá trị giống toàn bộ hoặc 1 phần % dùng để biểu thị cho 0 hoặc nhiều giá trị

_ dùng để biểu thị cho 01 ký tự.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Vũ Quang Minh - 20195903 8 Bài 4: IS NULL, Table & Column Aliases.

• Is NULL dùng để kiểm tra giá trị có rỗng hay không.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Vũ Quang Minh - 20195903 9 • Table & Column Aliases dùng để liên kết hoặc nối các bảng, các cột lại với nhau thành 1 bảng mới hoặc 1 cột mới.

Bài 5: INNER JOIN, LEFT JOIN, RIGHT JOIN, Self Join, CROSS JOIN

• Inner join dùng để truy vấn kết hợp 2 bảng dựa trên điều kiện chung.

• Left join, right join, truy vấn kết hợp 2 bảng với tất cả kết quả của bảng left/right và một phần của bảng right/left phù hợp với điều kiện.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Vũ Quang Minh - 20195903 10 • Self join truy vấn, dữ liệu hoặc so sánh các hàng với nhau tại chính bảng đó

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Vũ Quang Minh - 20195903 11 Bài 6: GROUP BY, HAVING, ROLLUP

• Group By, Having,

• Rollup

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Vũ Quang Minh - 20195903 12 Bài 7: Subquery, Derived Tables, EXISTS

• Subquery là câu lệnh truy vấn con, được lồng ghép trong câu lệnh truy vấn khác.

• EXISTS: kiểm tra sự tồn tại của bản ghi trong truy vấn con.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Vũ Quang Minh - 20195903 13 • Union: dùng để gộp tập kết quả của hai hay nhiều câu lệnh truy vấn dữ liệu (SELECT) lại với nhau

• INTERSECT: lấy phần chung kết quả của nhiều câu truy vấn

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Vũ Quang Minh - 20195903 14

<b>Thực hành tuần 3. </b>

Chủ đề: Tìm hiểu được cấu trúc của một cơ sở dữ liệu. Bài 1: Truy vấn các bảng, tên, thuộc tính của các cột.

Bài 2: Xây dựng, tạo lập diagram

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Vũ Quang Minh - 20195903 15

<b>Thực hành tuần 4. </b>

Chủ đề: Xây Dựng Được Cấu Trúc Của Một Cơ Sở Dữ Liệu Bài 1+2: Thiết lập bảng dữ liệu (PK, UK, DataType, Null, constraint)

Bài 3: Thiết lập khung nhìn (View).

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Vũ Quang Minh - 20195903 16 Bài 4: Tạo procedure: (thủ tục) gồm nhiều câu lệnh, có thể sử dụng lại nhiều lần.

<b>Thực hành tuần 5. </b>

Chủ đề: Thực Hành Các Câu Lệnh Thao Tác Dữ Liệu

Bài 1: Thực hiện các câu lệnh cập nhật (insert, update, delete dữ liệu) • Insert

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Vũ Quang Minh - 20195903 17 • Update

• Delete

Bài 2: Cập nhật dữ liệu từ 1 bảng excel qua sinh tự động SQL Script.

Em sử dụng phần mềm MySQL for excel để có thể chuyển dữ liệu từ excel vào trong MySQL

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Vũ Quang Minh - 20195903 18 Bài 3: Cập nhật dữ liệu qua procedure

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Vũ Quang Minh - 20195903 19

<b>Thực hành tuần 6. </b>

Chủ Đề: Thực Hành Các Câu Lệnh Sử Dụng Hàm Trong Truy Vấn Bài 1: Aggregate Functions, Math Functions, Comparison Functions

• Aggregate Functions: Count, Sum, Avg, Min, Max.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Vũ Quang Minh - 20195903 20 • Comparison Functions: Greatest, Least, Isnull…

• Math Functions: abs, round, ceil, floor, mod, exp…

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Vũ Quang Minh - 20195903 21 Bài 2: Control Flow Functions and Expressions: cấu trúc điều khiển thông qua các điều kiện cho trước…

Bài 3: Window Functions

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Vũ Quang Minh - 20195903 22 Bài 4: Date Functions, String Functions

• String Functions

• Date Functions

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Vũ Quang Minh - 20195903 23

<b>THỰC HÀNH ĐÁNH CHỈ MỤC DỮ LIỆU </b>

Bài 1: Đánh chỉ mục dữ liệu một bảng

<b>Thực hành tuần 7. </b>

Chủ đề: Thực hành thiết kế cơ sở dữ liệu lưu trữ đơn hàng Bài 1: In diagram cơ sở dữ liệu

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Vũ Quang Minh - 20195903 24 Bài 2: Thực hành câu lệnh SQL:

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Vũ Quang Minh - 20195903 25

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

Vũ Quang Minh - 20195903 26

<b>Thực hành tuần 8. </b>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Vũ Quang Minh - 20195903 27

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Vũ Quang Minh - 20195903 28

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

Vũ Quang Minh - 20195903 29

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Vũ Quang Minh - 20195903 31 • Restart MySQL

Bài 2: Users, Roles, and Privileges • Select User:

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Vũ Quang Minh - 20195903 32 • Create new user:

• Privileges

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Vũ Quang Minh - 20195903 33 Bài 3: Show commands.

Bài 4: Backup and Restore (sử dụng để • Backup

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Vũ Quang Minh - 20195903 34

<b>• Restore </b>

Bài 5: Database maintenance

Những hư hỏng trong Database thường rất ít xảy ra, tuy nhiên việc phát hiện và khắc phục ngay các hư hỏng này là việc làm rất quan trọng.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Vũ Quang Minh - 20195903 35

<b>Kết Luận. </b>

Thông qua từng tuần bài tập, thực hành, em đã học được rất nhiều điều mới, cụ thể:

- Cập nhật, tạo lập một cơ sở dữ liệu thơng qua nhiều hình thức - Biết thêm các câu lệnh truy vấn dữ liệu

- Xây dựng lược đồ R-E, E-R trên giấy và trên phần mềm.

- Xây dựng được tính liên kết giữa các bảng, biết thêm được khố chính, khố ngoại…

- Tạo ra được các procedure để cập nhật, thêm mới, xoá …

- Tạo được các index, partition để tối ưu, tiết kiệm thời gian trong quá trình truy vấn kết quả.

- Được làm quen với MySQL command line.

- Qua các bài tập, em đã biết các tìm bao đóng, phủ tối thiểu, khố tối thiểu của một quan hệ.

- Được thực hành chuẩn hoá quan hệ theo các chuẩn 1NF, 2NF, 3NF… - Học thêm cách để tạo ngẫu nhiên số lượng lớn các thông tin dữ liệu.

Và cuối cùng, em xin cảm ơn thầy Nguyễn Danh Tú đã lên lớp và giảng dạy bọn em mơn Cơ sở dữ liệu trong suốt kì học 20202 vừa qua.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Vũ Quang Minh - 20195903 36

<b>Tài liệu tham khảo </b>

• Slide bài giảng môn Cơ sở dữ liệu: Ths. Nguyễn Danh Tú, trường Đại học Bách khoa Hà Nội.

• Một số nguồn trên Internet:

a/p/tong-hop-ve-chuan-hoa-co-so-du-lieu-ORNZqP33K0n

</div>

×