<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b> ĐẠ H CIỌ BÁCH KHOA HÀ N IỘ </b>
<b>——————– o0o ———————</b>
<b>TI UỂ LU NẬ CUỐỐI KỲ CƠ Ở Ữ S DLI UỆ</b>
<b>Giáo viên hướ dẫẫn: TS. Nguyêẫn Danh TúngSinh viên th cự hi n ệ : Phan Thanh Đ o-20216808ạ</b>
<b>Hà N iộ - 2023</b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">
<b>L iờ nói đẫầu</b>
Khoa h cọ đang không ng ngừ phát tri nể và đang dầần thay thếế con ngườ trong cácicông vi c địi h i tính khoa h c và chính xác cao. S phát tri n c a xã h i kéo theo m tệ ỏ ọ ự ể ủ ộ ộlượng l nớ dữ li uệ đượ t oc ạ ra yếu cầầu các đ nơ vị qu nả lý chúng ph iả có cách th cứ qu nả trịm tộ cách h pợ lý.
C s d li u là m t phầần quan tr ng c a h thôếng thông tin hi n đ i. Trong th i đ i sôếơ ở ữ ệ ộ ọ ủ ệ ệ ạ ờ ạhóa, thơng tin tr thành m t tài nguy n q giá và đóng vai trị quan tr ng trong quyếết đ nhở ộ ể ọ ịvà qu n lý c a t ch c, cũng nh đ i sôếng cá nhần c a chúng ta. Tuy nhiến , trong m t thếếả ủ ổ ứ ư ờ ủ ộgiướ ữ ệi d li u ngày càng phát tri n và ph c t p , vi c x lý và qu n lý thông tin tr nến tháchể ứ ạ ệ ử ả ởth c h n bao gi hếếtứ ơ ờ
Hệ qu nả lý c sơ ở dữ li uệ (Database Management System - DBMS) là phầần mếầm tươngtác v iớ ngườ dùng cuôếi, ngi ứ d ngụ và chính c sơ ở d li uữ ệ để thu th pậ và phần tích d li u.ữ ệPhầần mếầm DBMS bao gơầm các ti nệ ích côết lõi đượ cung cầếp để qu nc ả tr c s dị ơ ở ữ li u.ệT ngổ c ngộ c a c s d li u, DBMS và các ng d ng liến quan có th đủ ơ ở ữ ệ ứ ụ ể ượ ọc g i là "h thôếng cệ ơs d li u".ở ữ ệ Thông thườ thu tng ậ ngữ "cơ s dở ữ li u"ệ cũng đượ sử d ngc ụ để nói đếến bầết kỳDBMS, h thôếng c s d li uệ ơ ở ữ ệ ho cặ ngứ d ngụ nào đượ liến kếết v ic ớ c sơ ở dữ li u.ệ
Bài báo cáo dướ đầy là t ngi ổ h pợ tầết c các bài t pả ậ th cự hành trong 10 tuầần liến tiếếph cọ môn Database c aủ em.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">
2.4.2 TABLE AND COLUMN ALIASES . . . . 13
2.5
INNER JOIN, LEFT JOIN, RIGHT JOIN, SELF JOIN, CROSSJOIN
. . . . 13</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>3TÌM HI UỂ ĐƯỢC CẤỐU TRÚC CỦA MỘT CSDL21</b>
3.1 Xầy d ngự lược đôầ (diagram)...21
3.1.1 Sử d ngụ công cụ veễ được lược đôầ ...21
4.2 Thiếết l p ậ quan hệ dữ li uệ (Relationship)...25
4.3 Thiếếtl p ậ khung nhìn (Views)...25
4.4 Thiếết l p ậ thủ t cụ và hàm (procedure and function)...26
4.4.1 Procedure...26
4.4.2 Function...26
<b>5THỰC HÀNH CÁC CẤU L NHỆ THAO TÁC DỮ LI UỆ27</b>5.1 Th cự hi nệ các cầu l nhệ c pậ nh tậ (insert,update, delete dữ li u)ệ ...27
7.2 Xầy d ngự lược đôầ E-R...38
7.3 Thiếết kếế trến hệ qu nả trị CSDL...38
7.4 In diagram CSDL...39
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
9.1.1 Start . . . . 45
9.1.2 Stop . . . . 46
9.1.3 Restart . . . . 46
9.2 Users, Roles, and Privileges . . . . . 47
9.2.1 Users . . . . . 47
9.2.2 Roles . . . . . 47
9.2.3 Privileges . . . . . 48
9.3 Show commands . . . . . 48
9.4 Backup and Restore . . . . 49
9.5 Database maintenance . . . . 49
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">
<b>THIẾỐT LẬ MỐI TRPƯỜNG LÀM VI CỆ MYSQL</b>
<b>Thiêết l p đậược h qu n tr c s d li u trên máy tính cá nhẫn ệảị ơ ở ữ ệ</b></div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">
<b>Thiêết l p đậược môi trường làm vi c v i c s d li u t máy ch ệ ớ ơ ở ữ ệ ừủ</b>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">
<b>Chươ ng</b>
<b>THỰ HI NCỆ TRUY VẤỐN SQL</b>
<b>2.1SELECT, ORDER BY, WHERE, SELECT DISTINCT2.1.1SELECT</b>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>2.1.2ORDER BY</b>
<b>2.1.3WHERE</b>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">
<b>2.1.4SELECT DISTINCT</b>
<b>2.2AND, OR, IN</b>
<b>2.2.1AND</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">
<b>2.2.3IN</b>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">
<b>2.3BETWEEN,LIKE, LIMIT</b>
<b>2.3.2LIKE</b>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">
<b>2.4IS NULL, Table Column Aliases</b>
<b>2.4.1IS NULL</b>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">
<b>2.4.2TABLE AND COLUMN ALIASES</b>
<b>2.5INNER JOIN, LEFT JOIN, RIGHT JOIN, SELF JOIN, CROSS JOIN</b>
<b>2.5.1INNER JOIN</b>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">
<b>2.5.2LEFT JOIN</b>
<b>2.5.3RIGHT JOIN</b>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">
<b>2.5.4SELF JOIN</b>
<b>2.5.5CROSS JOIN</b>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">
<b>2.6GROUP BY, HAVING, ROLLUP</b>
<b>2.6.1GROUP BY</b>
<b>2.6.2HAVING</b>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">
<b>2.6.3ROLL UP</b>
<b>2.7SUBQUERY, DERIVED TABLE, EXISTS2.7.1SUBQUERY</b>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">
<b>2.7.2DERIVED TABLE</b>
<b>2.7.3EXISTS</b>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">
<b>2.8UNION, MINUS, INTERSECT</b>
<b>2.8.2MINUS</b>
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">
<b>2.8.3INTERSECT</b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">
<b>Chươ 3ng</b>
<b>TÌM HI UỂ ĐƯỢ CẤỐU TRÚC C ACỦ M TỘ CSDL</b>
<b>3.1Xẫy d ngự lượ đôầ (diagram)c</b>
<b>3.1.1Sử d ngụ công cụ veẫ đượ lcượ đôầc</b>
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>3.1.2Đ cọ và phẫn tích lượ đơầc</b>
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">
<b>3.2Truy vẫến các b ngả h thôếng trong ệCSDL</b>
<b>3.2.1Tên các b ngả</b>
<b>3.2.2Tên các c tộ c aủ m tộ b ngả và tính chẫết các c tộ đó</b>
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>4.2Thiêết l pậ quan hệ d li uữ ệ (Relationship)</b>
<b>4.3Thiêết l p khung nhìn (Views)ậ</b>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">
<b>4.4Thiêết l pậ th t củ ụ và hàm (procedure and function)</b>
<b>4.4.2Function</b>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">
<b>Chươ 5ng</b>
<b>THỰ HÀNH CÁC CẤU L NHCỆ THAO TÁC DỮ LI UỆ</b>
<b>5.1Th cự hi nệ các cẫu l nhệ c pậ nh tậ (insert,update, delete dữ li u)ệ</b>
<b>5.1.1Insert</b>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>5.1.3Delete</b>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">
<b>5.2C pậ nh tậ d li uữ ệ t 1 b ngừả excel qua sinh t ựđ ngộ SQL Script</b>
<b>5.3C pậ nh tậ dữ li uệ t m từộ b ngả khác</b>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">
<b>5.4C pậ nh tậ dữ li uệ qua m tộ procedure</b>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">
<b>Chươ 6ng</b>
<b>THỰ HÀNH CÁC CẤU L NHCỆ SỬ D NGỤ HÀM TRONG TRUY VẤỐN VÀ ĐÁNH CH MỈỤ DỮ LI UCỆ</b>
<b>6.1Aggregate Functions, Math Functions, ComparisonFunctions</b>
<b>6.1.1Aggregate Functions</b>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>6.1.2Math Functions</b>
<b>6.1.3Comparison Functions</b>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">
<b>6.2Control Flow Functions and Expressions</b>
<b>6.3Window Functions</b>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">
<b>6.4Date Functions, String Functions</b>
<b>6.4.1Date Functions</b>
<b>6.4.2String Functions</b>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">
<b>6.5Đánh ch m cỉụ dữ li uệ m tộ b ngả</b>
<b>6.6Th cự hi nệ cẫu l nhệ truy vẫến trướ và sau khi cđánh ch m cỉụ và so sánh</b>
<b>6.6.1Trướ khi đánh chỉ m ccụ</b>
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">
<b>6.6.2Sau khi đánh ch m cỉụ</b>
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">
<b>Chươ 7ng</b>
<b>THỰ HÀNH THIẾỐT KẾỐ CSDL L UCƯ TRỮ Đ NƠ HÀNG VÀ THỰ HÀNH CẤU L NHCỆ SQL</b>
<b>7.1Xẫy d ngự lượ đôầ R-Ec</b>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>7.2Xẫy d ngự lượ đôầ E-Rc</b>
<b>7.3Thiêết kêế trên h qu nệả trị CSDL</b>
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">
<b>7.4In diagram CSDL</b>
<b>7.5Viêết cẫu l nhệ thêm dữ li uệ và b ngả</b>
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41">
<b>7.6Viêết cẫu l nhệ truy vẫến</b>
<b>7.7Thay đ iổ cẫếu trúc CSDL</b>
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">
<b>Chươ 8ng</b>
<b>BÀI THỰ HÀNH TUẤẦN 8C</b>
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>8.1Bài 1</b>
<b>8.2Bài 2</b>
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">
<b>8.3Bài 3</b>
<b>8.4Bài 4</b>
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">
<b>8.5Bài 5</b>
<b>8.6Bài 6</b>
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">
<b>Chươ 9ng</b>
<b>THỰ HÀNH QU NCẢ TRỊ CSDL</b>
<b>9.1Start, Stop, and Restart MySQL Server</b>
<b>9.1.1Start</b>
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47">
Nguyếễn Văn Thanh Tùng - 20195940 Cơ s dở ữ ệ
<b>9.1.3Restart</b>
</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48">
<b>9.2Users, Roles, and Privileges</b>
<b>9.2.2Roles</b>
</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49">
<b>9.3Show commands</b>
</div><span class="text_page_counter">Trang 50</span><div class="page_container" data-page="50">
<b>9.4Backup and Restore</b>
<b>9.5Database maintenance</b>
</div><span class="text_page_counter">Trang 51</span><div class="page_container" data-page="51">
<b>T ngổ </b>
Trong quá trình h cọ môn Cơ ở s dữ li u,ệ em đã làm đượ và h cc ọ đượ nh ngc ữ điếầu sau:<small> </small>Th cự hành SQL trến hệ cơ sở dữ li uệ MySQL: thiếết l pậ đượ cơ sở dữ li u,c ệ môi trườ ng
làm vi cệ trến MySQL Workbench, th cự hi nệ các cầu l nhệ truy vầến,. . .
<small> </small>Biếết đượ cầếu trúc c ac ủ m tộ c s dơ ở ữ li uệ và từ đó khai thác nó qua các cầu l nhệ truy vầến<small> </small>Chuy nể đ iổ đượ dữ li uc ệ từ c s dơ ở ữ li uệ (Import - Export, copypaste, . . . )
<small> </small>T oạ đượ các cầếu trúc dữ li uc ệ trến c sơ ở dữ li uệ
<small> </small>Tôếi uư đượ th ic ờ gian th cự hi nệ truy vầến băầng đánh chỉ m cụ (Index) và Partition.<small> </small>Biếết đượ thếm nhiếầu ngc ứ d ngụ c aủ CSDL trong đ iờ sôếng th cự tếế
<small> </small>C iả thi nệ kyễ năng làm vi cệ nhóm
<small> </small>C iả thi nệ kyễ năng tìm hi uể và tra c uứ thông tin cầần thiếết
</div><span class="text_page_counter">Trang 52</span><div class="page_container" data-page="52">
<b>L iờ c mả </b>
Em xin chần thành c mả nơ ThS. Nguyếễn Danh Tú – giáo viến hướ dầễn bộ môn đãngtruyếần t i nh ng kiếến th c b ích và t n tình ch b o. Qua mơn h c này em đã hi u rõ h nả ữ ứ ổ ậ ỉ ả ọ ể ơvếầ c sơ ở dữ li uệ cũng như hệ qu nả trị cơ ở s dữ li u.ệ
Trong quá trình h c và làm bài t p hàng tuầần cũng nh báo cáo còn nhiếầu thiếếu sót mongọ ậ ưđ c thầầy góp ý. Em xin kính chúc thầầy và gia đình nhiếầu s c kh e và thành công trong côngượ ứ ỏvi cệ và cu cộ sôếng!
</div><span class="text_page_counter">Trang 53</span><div class="page_container" data-page="53">
<b>Tài li uệ tham ả</b>
<small> </small>Slide bài gi ngả chính mơn Cơ sở dữ li u,ệ thầầy Nguyếễn Danh Tú<small> </small>Slide bài gi ngả Cơ sở dữ li uệ tham kh o,ả thầầy Nguyếễn Danh Tú<small> </small>Web hướ dầễn thao tác MySQL: ng
</div>