Chương I: Lãm quen VỚI cri sơ rtử ìiệu tin can thiẻt rho tan cứ thó thực hiện đơu gian hay sè trơ nén phúc t^p Mó! câu true M tớ dư liệu không’ tốt sờ gây rốt nhiẻu khó khan khi tan muôn trich rút lai thõng tin lưu trong đứ đẻ BÙ dụng Bang dữ liêu trén cổ thế dược rAt giơ trong mót hãng dơn duy nhất (dổi khi thuồt ngtì còn goi la database phang - flat database), nhưng sé có nhỉéu th dãn ỈỢI cũng như tiện dung hơn nêu tan tiếp tục phân tích cấu trúc dư lieu và tốch chúng ra thành nhiéu bang thay VI một bàng, chúng ta bát đâu tiếp cân vởi loai cơ sd dữ liệu quan hệ tư đây Cơ Sỡ dư liộu quan hệ như bạn sê tiếp tuc nghiên cúu trong phán dươi day. cộ thổ cung cip một sức mạnh và tinh linh hoat Vixr bẶc trong t giơ va trích rút thống tin. Việc e* Ban háy xem một VI dụ vé cơ sở dù liệu chứa các thõng I in đi A CD ddrti đây đổ bát đáu Cò mòt khai niệm ve cơ sơ dư liêu quan hệ I Relational Database. Kho khan và tinh không dung dân thưởng phát sinh từcơ BỚ dứ liệu phảng chi có inột bâng Cơ Sỡ dừ liệu quan hệ chinh lA một cừu canh cũng nhu hương di lam thay dổi ca thê giới! Khi ban lán dáu tiẻn tổ chức dử liệu, file dư liệu dơn chi cổ mòt bâng Ỉỉi cáu true don giãn và dẻ hiéu nhât.
Chung được gụi lã cơ sô dù liệu file đơn chiêe (Single-database file hay fill! database I vì chi có môi bảng dừ liêu lưu trên một file. Khi hủ dung láu dài. loai cơ sờ dử lìộu đơn phảng này sẽ gây không it phiên phức vi phíìi thực hiện nhiêu thao tác xử lỷ phức tap. Cùng không phải cơ sớ dư liéu đơn sê không làm việc tốt nhưng trong nhiéu trương hơp.
sứ dung cơ sơ dữ liệu quan hè tổ chức lam nhiổu bàng sr giúp ban giải quyêl nhiều vãn dé dẻ dàng hơn Ví dụ. nêu tan tạo ra mot file dữ liẻu dơn dê lưu danh sách các đìa CDs nhac Ban phai dat tảt ca các thông tin chi tìèt như thổng tin ca 81. tác giả vào trong một bảng Và tiếp theo la những thong tin nhưtơa (title! của CD, l£n nhóm nhac, ban nhạc, nơi sản xuất các ghi chú Khi đổ cấu trúc dử liêu của ban có thí như sau: cd name cđ.datỡ genre trocknumber trockname artis^or. members rccoidngjobel discography notes £& &Chưmng 1: Làm quen vởì C0 dơ LẠu Vđỉ mil CD CÙA ban nhạc Beatles mA ban sd hữu, ban sẻ phầi nháp tất CẬ cúc thông Un trôn’ Diỗu này cá nghĩa ban sè phái nháp vào tât cà lèn CÁC thanh viẻn cùa ban nhạc Beatles nhiều lẨn (tương i/ng VỜI từng CD) Quà thit phiền phức!.
Khi tzf ỡhơc thAnh nhiêu bảng dơ liệu mội chuyện sè dỉ ch|u hơn Nếu bận sù dung cơ sd dữ hệu quan hỗ và tđ chức câu trúc dừ liệu thành nhiều bảng, bạn cô thể cất giữ thòng tin chi tiết của CD (tén. ngây th Ang. các bài hát trong một bảng CD Table) và cất giư thống tin chi tiết vẻ ca 81 riêng trong bàng Artist khác Bảng CD của bện sẻ rỗ cếu trúc như sau cdjme cd.ncifB genre frocks arti3t_or-bond, name Bảng danh sách các ca sỉ sẽ cáu trúc góm các thông Un: artisi_or_bQnd_name bond members reeording.lobỡi ottcoflfophy notes Sau dó bạn hèn kết hai bảng thống qua tén nghẻ si /hoâc lén ban nhạc (ortĩSt.name), đố lầ lý do VI sao chúng ta gọi cơ sở dừ liệu này là cơ sờ dù liêu quan hẽ - ban dinh nghla moi quan hệ giúa các bảng dóng vai trò là khốa ngoại (Foreign Key) va nhệp vèo tển các ca sỉ cùa từng ban nhac chi một lán duy nhat Mỗi khi ban thêm thống tin của dĩa nhac Beatles CD vào bộ sơu tệp của mình, ban chi can nháp tán ban nhạc Beatles trong cột dữ liêu artist và cơ sớ dơ liệu ạè truy tim chi tiết của ban nhac Beatles trỏng báng Artist gỉúp ban Nó không chi giảm thiểu cóng sức nhâp liêu của ban. ma còn bảo đảm sư toàn vẹn thong tin vA han chí khả nAng nhệp vào dữ liệu thừa cũng như không đúng Đẽ tỉện hơn nữa bạn có thể tiếp tục tao ra thêm bảng chứa danh muc bài hết Songs như cíu trúc sau eđ.titte Chương 1: Lảm quen vđi cơ sỏ dữ liệu duration trock.number writer vocals và liên két bàng này vđi bâng CD dựa vảo cột cd.name đóng vai trò khối ngoai Tốt h<m nua ban cú thế dùng CĐ ID lãm khóa chinh (Primary Key) cho bảng CD và CD.1D lam khóa ngoại cho bâng Songs thay vì cd.namr, vi nếu tinh y ban có thế nhàn ra 2 bộ sưu tập khác nhau cố thí cô 2 đìa CD trùng tên.
Giờ dãy bill! để eô thế lưu đay điì thông tín VẾ bộ SƯU tip CD của minh Ban sè học cách thiết kê dữ liêu tốt hơn trong chương sau khi chúng ta học vé quy trtnh chuán hóa dữ liệu Trong chương má d4u này cô lé như vậy 1À đu 10. KIỂU Dữ LIỆU Kiêu dữ liộu (Type) thế hiện tính chất loai du liêu mà ban moỏn lưu. như dữ liệu la số. chuồi, ngày tháng - Chuán SQL dinh nghía một sô' kiXu dừ liệu chuán và da sỗ cếc nhà cung cáp phán mÊm quán tn cơ sà dơ bệu đếu hồ trơ những kiểu dừ liệu này trong sàn phẩm của nùnh.
Chuỗi (String) và Bổ (Number) Nói chung kiểu sỗ dùng biểu diằn sô (nguyân thap phàn, ũén tệ) - bạn chi cán lun chon một phạm vi cán thiết dử lớn để chưn giá trì tói da có thể có cùa thòng tin dang nhám đến la du Chuỗi là dạng dử hẻu vàn bàn hay ký tu như DỘI dung một thống tin mô tá hay tẻn ho. tựa bAi hát Vdi chuồi đơn giân bạn chi cán xác dinh độ dài tỏi da cản có của nội dung nhập vào Ví dụ như tèn thi chl dài tối da 20 ký tự, tựa bài hết thì khống nên dài hơn 60 ký tư. Kiểu ngày tháng (thời gian) và tiến tộ Ngày thắng ídate/time) là kiếu dứ liêu dùng biểu diẻn ngày tháng và thơi gian (gồm cá giờ phút giảy) Háu hết câc he quin tn dư li$ư đAu hi trợ kiểu ngày tháng thòng nhât theo chuẩn SQL Ví du ban cô thế nhép vào thông tin thể hiện ngày sinh cùa nhAỉi Vỉên, ngày nhập hàng vAo kho, ngày két thúc hợp đóng Trong thế giđì thục, bất kỳ thóng tin gi lưu trừ lai dẻu i£a 24 Chương 1: Làm quyn vơi cơ *à dơ liêu Cô khâ nang hèn quan đến mốc thời gian vồ Dgày tháng là kiêu dử liệu rồt cố ích đẻ' ban biếu diển chúng Kiều tiến tó thật ra chi là kiẻu sò thảp phAn thông thường nhưng đòi hỏi phai có dô chinh xác cao Trong CÁC chương trinh hỏn quan đến xừ lý sỏ' thập phồn thi công việc làm tron sô dỏx khi dàn dèn một SỈU *6 khá lớn. VI dụ néu kiêu dừ liệu lưu trửtién bạn chi gÀm 2 sổ thạp phan (0 01 ì.
khi sỏ' Liền thanh toán lề lẻ ở hang 3 hay 4 sổ ihảp phản <0.0001 chàng hạn> nỗu làm tròn vh bỏ đi phin dư cua hai sỏ thập phổn ruổi thì khi sỏ’ tiến tổng cộng khá lớn sè khiến ron nd' lầm tròn mấLđi rết nhiẻu (như 50. Chính vi vậy kiỂu tỉén tê giúp ban thÀ hiện sô lưu trư VỚI đô chinh xác rAt cao 10. Các kiểu dữ liệu phức hợp Cuối cung, trong thế giới thưc cõ nhưng kiểu dư liệu phức hơp như sỏ điẻn thoai. đia chi, thông tin liên lac, mà sỏ thê tin dung Những kiếu dư liệu nay xuất hiện rất nhiéu trong hàu hết cúc lược dó cơ sỡ dữ liộu.
Thương những máu thõng tin này được tó chức truy nhãp tư nhiều bang ChẨng han trong môt hê thỏng thương mai diện tủ eCommerce. cơ sờ dử hộu cũng một thôug tin liên lạc cd thẻ câ’t giữ và phàn loai khác nhau theo nhổm ngươi dùng, nhà cung cấp. kho hang, hay nha quan trị admin Thay vi lưu thành tửng báng riêng đìa chi tương ứng người dung, nhà rung Cáp, hơẠỡ nhá kho (dẵn đẻn láp lai rất nhiều nhưng còt dia chỉ trang toàn bộ cơ sờ dử liệu) như trén. chùng ta có thẻ thiết lãp một bang đơn duy nhốt chứa thông tin liên lạc và tạo một khoa ngoại cho bâng.
Sau dó tháng tin cùa bảng sộ được các bâng khác tham chiêu đến thòng qua khoa ngoại Điíu nay sé tạo nèn hai lợi ich tức thời: • Dẻ dàng thay đổi nbơng thông tin chính cua quan hè ♦ Dê dàng thay dổi nhưng kiểu cảu trúc dừ liộu phức u>p sè xảy ra trong tương lai Dơán trươc tập những thuộc Unh hay cỏt dừ liều nào (hinh thành néo cấu t rúc phức hợp) se thay dổi trong tương lai kin thiết kế cơ sỏ dư liệu đôi khi lâ cả mộl nghê thuât. Cấu trúc địa chỉ Address có thé dươc tách ra chi tiết như sau Deportment Ccmpor.y Moiistop Chương 1: 14»m quen vó> ẹo sớ dữ liệu Mjfig- AddressUne1 Addres$Linô2 Addrdssunea City State PostalCođe Country Thftng tin hèn lạc dãy dù còn có thể hao gốm rhẻm những thuộc Unh sau: Tine hrstNorne MiddieName -dS'Nome Svffix Hom© Address Work Address HomePhone WcrkPhone CeilPhone Fox Pofler Emas Cuội củng, ngay cá sò dién thoai hận cứng có thẻ phân thanh cấu trúc sau: CounttyCoae AíỡoCode ExcoanọeCode I neNumber Extension 26 Chương 1: Làm quen VỚI cơ BỞ dữ liêu Chảng han ban cứ thể’ cô một tó điện thoai như 84-08-8501232-123-7 trong đó 84 là mA quốc gia (Việt nam). 08 là mA vùng (Thành phỗ HCM). 8501232 là sỏ' diện thoại Công ty, 123 là sô' phòng kế toán, và cuôì cùng 7 1A sỏ máy ngay bàn làm việc của bạn Ban có thể lưu sô này thành một chuôi nhưng cung có thế lưu sô' này ta ch rơi ra thành nhiắu cột.
Dữ liệu “nhạy cảm" Bit kỳ dứ liệu “nhay dm * (sensitive data) nèo lưu trong cơ sờ dữ iiệu đéu cán phải được ma hóa. Dừ liệu nhạy cảm 1À nhưng dư liêu mang tính riêng tư cao. ví dụ như số tài khoán ngần hàng, số thẻ tin dụng, mật mà truy nháp hé thong Ngay cả khỉ hệ thong CƯ sỏ dư liêu của ban dưoc xem ỈA đám hao cơ chế bao một nhưng bạn cùng eín có cơ chế mA hổa cho riêng mình Vi dụ nổi tiếng nhát vé quản lý loại dư liệu này la hê thông mãt kháu CÙA hộ diếu hành Unix. Nội dung mệt khiu được lưu ngay trong íilé vần bán nhưng nội dung dã mỏ hóa khién cho dù cổ.