hình dữ li uệ quan hệ – các quy t cắ này sẽ được nói đến trong m cụ 2.2.Sau đây là các khái ni mệ của mô hình thực thể kết hợp.Các đ cặ điểm riêng c aủ thực thể g i ọ là các thuộc tính..
M t s khái ni m c b n ộ ố ệ ơ ả
M c tiêu:ụ Trình bày s lơ ược các khái ni m v c s d li u ệ ề ơ ở ữ ệ
D li u đữ ệ ượ ưc l u tr trên các thi t b l u tr theo m t c u trúc nào đóữ ế ị ư ữ ộ ấ đ ph c v cho nhi u ngể ụ ụ ề ười dùng v i nhi u m c đích khác nhau g i là c sớ ề ụ ọ ơ ở d li u.ữ ệ
Giảm thiểu tối đa sự trùng lặp thông tin giúp đảm bảo tính nhất quán và toàn vẹn của dữ liệu Điều này nhằm tối ưu hóa khả năng truy cập và khai thác dữ liệu một cách hiệu quả từ nhiều nguồn khác nhau, nâng cao chất lượng và độ tin cậy của hệ thống dữ liệu.
Khả năng chia sẻ thông tin cho nhi uề người sử dụng.
1.3 Các đ c tr ng c a phặ ư ủ ương pháp c s d li uơ ở ữ ệ
Tính chia s d li u: d li u đẻ ữ ệ ữ ệ ược chia s b i nhi u ngẻ ở ề ười dùng h pợ pháp.
Tính gi m thi u d th a d li u: D li u dùng chung cho nhi u bả ể ư ừ ữ ệ ữ ệ ề ộ ph n đậ ượ ưc l u m t n i theo c u trúc th ng nh t.ộ ơ ấ ố ấ
Tính tương thích: Vi c lo i b d th a kéo theo h qu là s tệ ạ ỏ ư ừ ệ ả ự ương thích.
Tính toàn v n d li u: Đ m b o m t s ràng bu c toàn v n Khiẹ ữ ệ ả ả ộ ố ộ ẹ người dùng chèn, xoá, s a thì ràng bu c ph i đử ộ ả ược ki m tra ch c ch ể ặ ẽ
Tính b o m t d li u: Đ m b o an toàn d li u và b o m t thông tinả ậ ữ ệ ả ả ữ ệ ả ậ là quan tr ng.ọ
Tính đ ng b d li u: Thông thồ ộ ữ ệ ường c s d li u đơ ở ữ ệ ược nhi u ngề ười dùng truy c p đ ng th i C n có c ch b o v ch ng s không tậ ồ ờ ầ ơ ế ả ệ ố ự ương thích.
Tính đa chiều của dữ liệu mô tả khả năng phân tích và khai thác dữ liệu từ nhiều góc độ khác nhau Phân tích dữ liệu đa chiều giúp các nhà quản trị hiểu rõ hơn về các mối liên hệ phức tạp trong dữ liệu của họ Chương trình ứng dụng xử lý dữ liệu đa chiều cho phép phát triển các mô hình phân tích mà không cần phải thay đổi cấu trúc ban đầu của dữ liệu Điều này giúp tối ưu hóa quá trình khai thác thông tin và hỗ trợ ra quyết định chính xác hơn.
Các yếu tố sử dụng CSDL đóng vai trò quan trọng trong quá trình khai thác dữ liệu, bao gồm các nhóm chính như người quản trị CSDL, người phát triển và lập trình viên, cũng như người dùng cuối cùng Những yếu tố này ảnh hưởng đến hiệu quả quản lý, phát triển và sử dụng hệ thống cơ sở dữ liệu, đảm bảo đáp ứng các yêu cầu về hiệu suất và bảo mật của dữ liệu Việc hiểu rõ các yếu tố này giúp tối ưu hóa hoạt động của CSDL, từ đó nâng cao chất lượng dịch vụ và trải nghiệm người dùng.
Người qu n tr CSDL: Là ngả ị ười hàng ngày ch u trách nhi m qu n lí vàị ệ ả b o trì CSDL nh :ả ư
+ S chính xác, toàn v n và b o m t c a d li u và ng d ng trong CSDL.ự ẹ ả ậ ủ ữ ệ ứ ụ + L u tr d phòng và ph c h i CSDL.ư ữ ự ụ ồ
+ Gi liên l c v i ngữ ạ ớ ười phát tri n và l p trình ng d ng, ngể ậ ứ ụ ười dùng cu i.ố+ B o đ m s ho t đ ng hi u qu c a CSDL và h qu n tr CSDLả ả ự ạ ộ ệ ả ủ ệ ả ị
Người phát triển và lập trình người dùng là những chuyên gia chuyên nghiệp trong lĩnh vực công nghệ thông tin Họ có trách nhiệm thiết kế, tạo dựng và bảo trì hệ thống, đảm bảo hoạt động hiệu quả và an toàn cho người dùng Các kỹ sư này đóng vai trò quan trọng trong việc xây dựng các giải pháp công nghệ phù hợp với nhu cầu của người dùng, đồng thời đảm bảo tính ổn định và bảo mật của hệ thống Nhờ sự cống hiến và kiến thức chuyên sâu, họ giúp nâng cao trải nghiệm người dùng và duy trì hệ sinh thái công nghệ ngày càng phát triển.
Người dùng cuối là những người không chuyên trong lĩnh vực công nghệ thông tin, còn các chuyên gia là những người có trách nhiệm trong các lĩnh vực khác, hỗ trợ và quản lý công việc liên quan Họ khai thác cơ sở dữ liệu (CSDL) thông qua các chương trình phần mềm, giúp người phát triển ứng dụng hoặc công cụ truy vấn dễ dàng hơn Việc xây dựng hệ thống CSDL phù hợp đòi hỏi sự phối hợp chặt chẽ giữa nhà phát triển và quản trị để đảm bảo tính hiệu quả và an toàn.
Hệ quản trị Cơ sở dữ liệu (Data Base Management System - DBMS) giúp giải quyết các vấn đề liên quan đến tổ chức và khai thác dữ liệu trong hệ thống CSDL Các phần mềm quản trị CSDL như MS Access, Visual Foxpro, SQL Server, Oracle đóng vai trò hỗ trợ các nhà phân tích thiết kế và người khai thác dữ liệu, đảm bảo hiệu quả và tối ưu hóa quy trình quản lý thông tin.
Mỗi hệ quản trị CSDL đều được cài đặt dựa trên một mô hình dữ liệu cứng Dù sử dụng mô hình dữ liệu nào, hệ quản trị CSDL cũng cần đáp ứng các yêu cầu quan trọng nhằm tối ưu hóa khả năng lưu trữ và truy xuất dữ liệu Các yếu tố này bao gồm hiệu suất hoạt động, khả năng mở rộng và tính bảo mật của hệ thống Việc hiểu rõ các đặc điểm của từng mô hình dữ liệu giúp lựa chọn giải pháp phù hợp để đảm bảo hiệu quả quản lý dữ liệu.
Ngôn ngữ giao tiếp với hệ quản trị cơ sở dữ liệu (CSDL) bao gồm các loại chính như: Ngôn ngữ mô tả dữ liệu giúp khai báo cấu trúc của CSDL, các mối liên hệ giữa dữ liệu và các quy tắc quản lý Ngôn ngữ thao tác dữ liệu cho phép người dùng thực hiện các thao tác như thêm, sửa, xóa dữ liệu một cách dễ dàng Ngôn ngữ truy vấn dữ liệu giúp khai thác và truy cập thông tin chi tiết trong CSDL một cách nhanh chóng và chính xác Ngôn ngữ báo cáo ở hệ quản trị dữ liệu cho phép người quản trị thực hiện các thay đổi về cấu trúc hệ thống, khai báo thông tin, và cấp quyền truy cập để đảm bảo an toàn và hiệu quả trong quản lý dữ liệu.
T đi n d li uừ ể ữ ệ : Dùng đ mô t các ánh x liên k t, ghi nh n cácể ả ạ ế ậ thành ph n c u trúc c a CSDL, các chầ ấ ủ ương trình ng d ng, m t mã, quy nứ ụ ậ ề h n s d ng,… ạ ử ụ
C ch gi i quy t v n đ tranh ch p d li uơ ế ả ế ấ ề ấ ữ ệ : M i h qu n trỗ ệ ả ị CSDL cũng có th cài đ t m t c ch riêng đ gi i quy t các v n đ này.ể ặ ộ ơ ế ể ả ế ấ ề
Các biện pháp sau đây được sử dụng trong hệ thống quản lý dữ liệu: thứ nhất là cấp quyền truy cập phù hợp cho người dùng để đảm bảo quyền hạn rõ ràng Thứ hai là đánh dấu và yêu cầu truy xuất dữ liệu, phân chia thời gian truy cập để kiểm soát người có yêu cầu truy cập dữ liệu và đảm bảo quyền truy xuất dữ liệu theo yêu cầu.
Việc sao lưu (backup) và phục hồi (restore) dữ liệu trong hệ quản trị cơ sở dữ liệu (H qu n tr CSDL) là cực kỳ quan trọng để đảm bảo an toàn dữ liệu trong trường hợp dữ kiện bị mất hoặc xảy ra sự cố Quá trình này giúp khôi phục dữ liệu chính xác và nhanh chóng, hạn chế thiệt hại về thông tin Tuy nhiên, phương pháp sao lưu dữ liệu hiện nay vẫn còn tồn tại hạn chế, đặc biệt là về mặt thời gian thực hiện và khả năng xử lý khi dữ liệu lớn, gây ảnh hưởng đến hiệu suất hệ thống.
H qu n tr CSDL ph i cung c p m t giao di n thân thi n, d sệ ả ị ả ấ ộ ệ ệ ễ ử d ngụ
1.6 Các ng D ng C a C S D Li uỨ ụ ủ ơ ở ữ ệ
Trong thời đại hiện nay, cơ sở dữ liệu đã trở nên gần gũi và không thể thiếu trong mọi ứng dụng của công nghệ thông tin Cơ sở dữ liệu đóng vai trò quan trọng trong quản lý hệ thống thông tin tại các cơ quan nhà nước, lưu trữ và xử lý dữ liệu doanh nghiệp, hỗ trợ các lĩnh vực nghiên cứu, giảng dạy, cũng như tổ chức và chia sẻ thông tin đa phương tiện một cách hiệu quả.
Các mô hình d li u ữ ệ
M c tiêu:ụ Trình bày gi i thi u s lớ ệ ơ ược các mô hình d li u.ữ ệ
Mô hình dữ liệu là mô hình cấu trúc hóa môi trường thử nghiệm, giúp phân tích và tổ chức dữ liệu hiệu quả Các loại mô hình dữ liệu được thiết kế để phù hợp với các nhu cầu khác nhau trong quá trình xử lý và lưu trữ dữ liệu Mỗi loại mô hình dữ liệu đều có những ưu điểm và hạn chế riêng, nhưng vẫn giữ vai trò quan trọng trong lĩnh vực phân tích và thiết kế CSDL Các mô hình dữ liệu nổi bật và được nhiều nhà nghiên cứu và nhà phát triển quan tâm, đóng góp vào sự phát triển của công nghệ quản lý thông tin.
Sau đây chúng ta sẽ đi mể qua lịch sử phát tri nể của các mô hình dữ liệu.
Vào nh ng năm sáu mữ ươi, th h đ u tiên c a CSDL ra đ i dế ệ ầ ủ ờ ưới d ng mô hình th c th k t h p, mô hình m ng và mô hình phân c p.ạ ự ể ế ợ ạ ấ
Trong những năm gần đây, các cơ sở dữ liệu (CSDL) đã phát triển mạnh mẽ, đặc biệt là mô hình dữ liệu quan hệ do Edgar F Codd phát minh Mô hình này có cấu trúc logic chặt chẽ, giúp quản lý và truy xuất dữ liệu hiệu quả trên phạm vi toàn cầu Việc nghiên cứu mô hình dữ liệu quan hệ dựa trên lý thuyết chuẩn hoá các quan hệ, góp phần phân tích và thiết kế hệ thống CSDL hiện đại Mục tiêu chính của nghiên cứu này là loại bỏ các phần tử không bình thường trong quan hệ, đảm bảo tính nhất quán khi thực hiện các phép cập nhật, sửa lỗi và loại bỏ các phần tử dư thừa trong dữ liệu.
Mô hình cơ sở dữ liệu thể hiện qua các dạng như mô hình quan hệ, mô hình dữ liệu hướng đối tượng, mô hình cơ sở dữ liệu phân tán và mô hình cơ sở dữ liệu suy diễn Các mô hình này giúp tối ưu hóa quá trình quản lý và truy xuất dữ liệu, phù hợp với từng ứng dụng và yêu cầu cụ thể Việc lựa chọn mô hình phù hợp góp phần nâng cao hiệu quả vận hành hệ thống cơ sở dữ liệu, đồng thời cải thiện khả năng mở rộng và linh hoạt trong xử lý dữ liệu lớn.
Trong phần tiếp theo, chúng tôi trình bày mô hình dữ liệu tiêu biểu nhất để thiết kế hệ thống, đó là mô hình dữ liệu hình thức thiết kế hợp Ngoài ra, trong các chương của giáo trình này còn đề cập đến mô hình dữ liệu quan hệ, giúp độc giả hiểu rõ hơn về các cách tổ chức và quản lý dữ liệu hiệu quả.
Mô hình th c th k t h p ự ể ế ợ
M c tiêu: ụ Trình bày chi ti t mô hình th c th k t h p (ERD), có thế ự ể ế ợ ể phân tích d li u và thi t k đữ ệ ế ế ược mô hình th c th k t h p.ự ể ế ợ
Mô hình dữ liệu quan hệ thường được sử dụng trong các hệ quản trị CSDL và hoạt động ở mức vật lý Để xây dựng mô hình này, người ta thường bắt đầu từ mô hình dữ liệu mức quan niệm để mô tả các yếu tố cơ bản của dữ liệu, trong đó mô hình thực thể kết hợp là một trong những mô hình phổ biến Sau đó, các quy tắc chuyển đổi từ mô hình thực thể kết hợp sang mô hình dữ liệu quan hệ sẽ được áp dụng, và những quy tắc này sẽ được trình bày trong phần 2.2 Dưới đây là các khái niệm căn bản của mô hình thực thể kết hợp cần nắm để hiểu rõ hơn về quá trình thiết kế và chuyển đổi dữ liệu trong hệ quản trị cơ sở dữ liệu. -**Sponsor**Bạn là một content creator và muốn tối ưu bài viết của mình theo chuẩn SEO? Với [Article Generation](https://pollinations.ai/redirect-nexad/BQMYQq2i?user_id=983577), bạn có thể có được những bài viết 2.000 từ được tối ưu SEO ngay lập tức! Tiết kiệm hơn $2,500 mỗi tháng so với việc thuê người viết, giống như có cả một đội ngũ content riêng mà không gặp rắc rối nào Chúng tôi có thể giúp bạn tóm tắt những câu quan trọng, giữ lại ý nghĩa chính của đoạn văn một cách mạch lạc.
Thực thể là một sự vật tồn tại và phân biệt rõ ràng, mang ý nghĩa quan trọng trong các môn học liên quan đến cơ sở dữ liệu Sinh viên Nguyễn Văn Thành, học lớp Cao Đẳng Tin Học 2A, đã nghiên cứu về khái niệm này trong môn học Cơ Sở Dữ Liệu để hiểu rõ hơn về các đối tượng và mối quan hệ trong hệ thống thông tin.
Li u,ệ xe máy có biển số đăng ký 52 0549,… là các ví dụ về thực thể.
Các đ cặ điểm riêng c aủ thực thể g i ọ là các thuộc tính.
Sinh viên Nguyễn Văn Thành có các thuộc tính quan trọng như mã số sinh viên, họ tên, giới tính, ngày sinh, hộ khẩu thường trú và lớp đang theo học Những thông tin này giúp xác định rõ danh tính và quá trình học tập của sinh viên Việc nắm rõ các thuộc tính này đóng vai trò thiết yếu trong quản lý dữ liệu sinh viên và nâng cao hiệu quả công tác tuyển sinh, lưu trữ hồ sơ Đồng thời, các thuộc tính này còn hỗ trợ trong việc tra cứu, phân tích thông tin sinh viên phục vụ mục đích giáo dục và quản trị trường học.
3.3.Lo i th c th (entity type)ạ ự ể
Thực thể là tập hợp các đối tượng có cùng thuộc tính chung, đòi hỏi mỗi thực thể phải được đặt tên mang ý nghĩa rõ ràng Trong đó, một loại thực thể thường được biểu diễn dưới dạng một bảng hình chữ nhật, giúp dễ dàng quản lý và nhận diện thông tin Việc đặt tên cho các thực thể phải phản ánh chính xác nội dung và vai trò của chúng trong hệ thống dữ liệu, đảm bảo tính rõ ràng và dễ hiểu cho người sử dụng.
Ví dụ các sinh viên có mã sinh viên là ““02CĐTH019”,
“02CĐTH519”, “02TCTH465”,… nhóm lại thành một loại thực th ,ể được đ tặ tên là Sinhvien chẳng hạn.
Trong hệ thống quản lý điểm của sinh viên, các thực thể chính như môn học (Monhoc), lớp học (Lop), và khoa (Khoa) đóng vai trò quan trọng trong việc xây dựng cơ sở dữ liệu Việc xác định các thực thể này giúp tổ chức dữ liệu một cách rõ ràng, logic, từ đó nâng cao hiệu quả quản lý và tra cứu thông tin sinh viên Các thực thể như môn học, lớp, và khoa tạo thành nền tảng vững chắc cho hệ thống quản lý điểm, đảm bảo tính chính xác và khả năng mở rộng trong quá trình vận hành.
Khoá c aủ loại thực thể E là một hay một t pậ các thu cộ tính của E có th dùể ng để phân biệt hai thực thể b t kấ ỳ c aủ E.
Ví dụ khoá c aủ lo iạ thực thể Sinhvien là MASV, của L pớ là MALOP, c a ủ Khoa là MAKHOA, c aủ Monhoc là MAMH,…
Khi biểu diễn một hệ thống bằng mô hình thực thể- liên kết, tên của các loại thực thể phải khác nhau để đảm bảo rõ ràng Trong danh sách các thuộc tính của một loại thực thể, tập thuộc tính khoá thường được gạch chân line nét để phân biệt Để đơn giản hóa mô hình, nếu hệ thống có nhiều loại thực thể, người ta chỉ cần nêu tên các loại thực thể, còn các thuộc tính của từng loại thực thể sẽ được liệt kê riêng biệt.
Bài toán quản lý điểm thi của sinh viên được phát triển dựa trên các yêu cầu chính: mỗi sinh viên cần quản lý thông tin như họ tên, ngày sinh, giới tính, nơi sinh, hộ khẩu thường trú và mã số sinh viên duy nhất để phân biệt Mỗi sinh viên chỉ thuộc một lớp học, và mỗi lớp có mã lớp, tên lớp, cùng với khoa mà lớp đó thuộc về, có tên khoa và mã khoa duy nhất Các môn học bao gồm tên môn, số đơn vị học trình và mã môn duy nhất để phân biệt Giảng viên quản lý các thông tin như họ tên, học vị, chuyên ngành, và mã giảng viên duy nhất; họ có thể dạy nhiều môn ở nhiều khoa nhưng chỉ chịu trách nhiệm hành chính của một khoa Sinh viên có thể thi tối đa 3 lần cho một môn, với mỗi lần thi có thể có điểm thi và thời gian thi riêng Các môn học trong mỗi lớp chỉ phân công cho một giảng viên dạy, nhưng một giảng viên có thể dạy nhiều môn ở nhiều lớp khác nhau.
Với bài toán trên thì các loại thực thể c nầ qu nả lý như: Sinhviên, Mônhọc, Khoa, Lớp, Giảngviên.
Ví dụ với lo iạ thực thể Sinhviên thì cần quản lý các thu cộ tính như: MASV,HOTENSV, NGAYSINH,… và ta có thể bi uể diễn như sau:
Mối kết hợp di nễ tả sự liên hệ giữa các loại thực thể trong m tộ ng d ứ ụng tin học.
Ví dụ m iố kết hợp gi aữ hai loại thực thể Sinhviên và Lop, mối kết hợp giữa Sinhviên với Mônhọc,
Mối kết hợp được thể hiện qua hình elip và hai nhánh kết nối với các loại thực thể hoặc mối quan hệ liên quan Tên của mối kết hợp thường phản ánh tính chất hoặc chức năng của nó, như thu c, g m, ch a, giúp dễ dàng nhận diện và phân tích trong sơ đồ dữ liệu Các biểu diễn này giúp trực quan hóa mối quan hệ giữa các thành phần trong hệ thống, đảm bảo hiểu rõ cấu trúc dữ liệu để thiết kế cơ sở dữ liệu hiệu quả.
Ch nẳ g h nạ giữa hai loại thực thể Lớp và Khoa có m iố kết hợp
Bản số của mộ tộ nhánh R trong mối kết hợp thể hiện số lượng các thực thể thuộc thực thể ở nhánh “bên kia” có liên hệ với một thực thể của nhánh R Điều này giúp đo lường mức độ liên kết giữa các thực thể trong hệ thống dữ liệu, cung cấp cái nhìn rõ ràng về tần suất xuất hiện của các mối quan hệ trong cơ sở dữ liệu Việc xác định bản số này là yếu tố quan trọng trong việc tối ưu hóa truy vấn và phân tích dữ liệu liên quan đến mối quan hệ giữa các thực thể.
Mỗi bộ số là một cặp số (min, max), mô tả số lượng tối thiểu và tối đa của các thực thể khi tham gia vào phép kết hợp đó Việc xác định giới hạn này giúp tối ưu hoá quá trình phân tích và xử lý dữ liệu trong nhiều ứng dụng khác nhau Điều này đảm bảo rằng hệ thống hoạt động hiệu quả và chính xác trong việc xử lý các tập hợp số phức tạp, phù hợp với các tiêu chuẩn SEO về tối ưu hóa nội dung kỹ thuật số.
Trong mô hình dữ liệu, mỗi sinh viên thuộc một và chỉ một lớp, do đó quan hệ giữa sinh viên và lớp thể hiện ở dạng (1,1) bên nhánh Sinh viên và (1,n) bên nhánh Lớp Ngoài ra, trong các trường hợp đặc biệt, các mối kết hợp có thể có các thuộc tính đi kèm để thể hiện đầy đủ ý nghĩa của mối quan hệ, góp phần làm rõ các đặc điểm quan hệ trong thiết kế cơ sở dữ liệu.
Trong ví dụ giữa hai thực thể Monhoc và Sinhvien, mối kết hợp với thực thể Ketqua thể hiện rằng mỗi sinh viên đều có kết quả thi riêng biệt cho từng môn học Cụ thể, mỗi sinh viên tham gia nhiều kỳ thi của các môn học khác nhau và mỗi lần thi đều có một kết quả duy nhất Điều này giúp làm rõ mối quan hệ quan trọng trong hệ thống quản lý học tập, đảm bảo tính chính xác và minh bạch trong việc lưu trữ thông tin kết quả thi của sinh viên.
Khoá cặp luôn kết hợp các khoá của các thực thể liên quan, chẳng hạn như thuộc tính MAGV là khoá của thực thể Giảng viên, MALOP là khoá của thực thể Lớp, và MAMH là khoá của thực thể Môn học Mối khoá hợp phần của các loại thực thể như Giảng viên, Lớp, và Môn học bao gồm các thuộc tính này, ví dụ như khoá của thực thể Phân công là tập hợp {MAGV, MAMH, MALOP} Điều này thể hiện mối liên kết giữa các thực thể thông qua khoá cặp, tạo thành mối quan hệ liên kết 3 chiều trong cơ sở dữ liệu.
Việc xây dựng mô hình thực thể kết hợp trong Ứng dụng Tin học bao gồm các bước chính như sau: xác định danh sách các loại thực thể, xác định các mối kết hợp giữa các thực thể để phác thảo mô hình, và lập bảng số liệu của các mối kết hợp đó Cuối cùng, chúng tôi sẽ thiết lập mô hình thực thể kết hợp cho bài toán quản lý điểm thi của sinh viên đã trình bày trong ví dụ 1.1.
BÀI TẬP TH C HÀNH C A H C VIÊNỰ Ủ Ọ
Dựa vào các phân tích sơ bộ dưới đây, chúng ta sẽ xây dựng mô hình thống kê phù hợp để giải quyết bài toán quản lý Các bước quan trọng bao gồm xác định loại mô hình thích hợp, thu thập dữ liệu cần thiết, đánh giá đặc tính của các mô hình và lựa chọn phương án tối ưu nhất Việc này giúp đảm bảo tính hiệu quả và chính xác của mô hình thống kê trong quá trình quản lý, từ đó nâng cao hiệu suất và đưa ra các quyết định chính xác hơn.
Bài 1.1 QU N LÝ Đ T BÁO C A KHÁCH HÀNGẢ Ặ Ủ
T i m t n i phát hành báo c n ph i qu n lý thông tin đ t báo c aạ ộ ơ ầ ả ả ặ ủ khách hàng Có nhi u th lo i báo (nh t báo, nguy t sang, t p chí, tham lu n,ề ể ạ ậ ệ ạ ậ
Chuy n mô hình th c th k t h p sang mô hình d li u quan h ể ự ể ế ợ ữ ệ ệ
M c tiêu:ụ Áp d ng đụ ược các quy t cắ chuyển đ iổ mô hình thực thể k tế hợp ERD sang mô hình d ữli uệ quan h (d ng lệ ạ ược đ )ồ
Chuyển đổi mỗi loại thực thể thành một lược đồ quan hệ giúp tổ chức dữ liệu rõ ràng và hiệu quả hơn Các thuộc tính của loại thực thể được chuyển đổi thành các thuộc tính của lược đồ quan hệ, đảm bảo tính toàn vẹn về cấu trúc dữ liệu Thuộc tính khóa của loại thực thể đóng vai trò là khoá chính trong lược đồ quan hệ, giúp xác định duy nhất các bản ghi trong bảng Quá trình này nâng cao khả năng quản lý và truy vấn dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ.
Ch nẳ g hạn lo iạ thực thể Sinhvien ở ví dụ 1.2 khi áp dụng quy t cắ 1 thì sẽ được chuy nể thành lược đồ quan hệ Sinhvien như sau:
Sinhvien(MASV, HOTENSV, NU, NGAYSINH, TINH,….)
Mối kết hợp giữa hai nhánh của nó có số bản ghi tối đa là n sẽ được chuyển thành một lược đồ quan hệ K’ gồm các thuộc tính của mối kết hợp K, đồng thời thêm các thuộc tính khóa của hai lược đồ quan hệ A và B tương ứng với hai thực thể tham gia Khóa của lược đồ quan hệ K’ bao gồm cả hai khóa của hai lược đồ quan hệ A và B, đảm bảo tính toàn vẹn dữ liệu và mối liên hệ chặt chẽ giữa các thực thể.
Hàm mối kết hợp Phân công giữa ba loại thực thể Giảng viên, Môn học và Lớp được chuyển đổi thành lược đồ quan hệ Phân công, trong đó tập khóa chính bao gồm {MAGV, MAMH, MALOP} Điều này thể hiện rõ mối quan hệ chặt chẽ giữa các thực thể này, đảm bảo tính duy nhất của bản ghi trong cơ sở dữ liệu Việc thiết lập tập khóa này giúp quản lý và truy vấn dữ liệu hiệu quả, đồng thời phù hợp với nguyên tắc chuẩn hóa dữ liệu trong hệ quản trị cơ sở dữ liệu.
Trong quá trình thiết kế mô hình thực thể, các mối kết hợp giữa nhánh có bản số n (nhánh B) và nhánh có bản số max là 1 (nhánh A) cần được loại bỏ để đảm bảo tính chuẩn xác Thay vào đó, cần thêm các thuộc tính khóa của lược đồ tương ứng với loại thực thể ở nhánh B vào lược đồ của loại thực thể ở nhánh A Việc này giúp tối ưu hóa mô hình dữ liệu và phù hợp với quy tắc thiết kế hệ quản trị cơ sở dữ liệu, đồng thời nâng cao khả năng quản lý và truy vấn dữ liệu hiệu quả hơn.
Trong mô hình quan hệ, khoá của thực thể B sẽ trở thành khoá ngoại của thực thể A Khi có các thuộc tính liên kết hợp, các thuộc tính này cũng sẽ được thêm vào lược đồ quan hệ của loại thực thể nhỏ hơn liên quan đến thực thể chính A Điều này giúp đảm bảo toàn vẹn dữ liệu và phản ánh đúng mối quan hệ giữa các thực thể trong cơ sở dữ liệu.
Chẳng hạn m iố kết hợp thuộc gi aữ hai loại thực thể Sinhvien và Lop nên lược đồ quan h Sệ inhvien được s aử thành như sau:
Sinhvien(MASV,HOTENSV,NU,NGAYSINH, TINH,MALOP)
N uế mối kết hợp mà cả hai nhánh đ uề có b nả số max là 1 thì áp dụng quy tắc 3 cho m tộ trong hai nhánh tu cỳ h n.ọ
Sau đây là mô hình dữ liệu quan hệ được chuy nể từ mô hình thực th ể kết h pợ vở í dụ 1.2.
Sinhvien(MASV, HOTENSV, NU, NGAYSINH, NOISINH,TINH, MALOP)
Giangvien(MAG V ,HOTENGV,HOCVI,CHUYENNGANH,MAKHOA) Ketqua(MASV, MAMH, LANTHI,DIEMTHI)
Ngôn ng đ i s quan h ữ ạ ố ệ
M c tiêu:ụ Trình bày đượ ơ ởc c s lý thuy t c a mô hình d li u quan h ế ủ ữ ệ ệ (các phép toán đ i s áp d ng tính toán trên các quan h ).ạ ố ụ ệ
Hai lược đề cập đến hai quan hệ Q1 và Q2 có cùng tập thuộc tính {A1, A2, , An}, và hai quan hệ r1, r2 thuộc các quan hệ trên Q1 và Q2, được gọi là tương thích nếu chúng được định nghĩa trên cùng một tập thuộc tính và có cùng cấu trúc dữ liệu Trong bối cảnh này, các phép toán như phép hợp, phép giao, và phép trừ đều được xem xét trên các quan hệ tương thích, đảm bảo tính nhất quán và khả năng so sánh giữa các quan hệ trong quá trình xử lý dữ liệu Đó là nền tảng để xây dựng các thao tác và phân tích dữ liệu một cách chính xác và hiệu quả trong hệ quản trị cơ sở dữ liệu.
Hai quan hệ tương thích r1 và r2 có thể hợp nhất để tạo thành một quan hệ mới trên lược đồ quan hệ Q Hợp của hai quan hệ r1 và r2, ký hiệu là r1 + r2, được xác định là tập hợp các phần tử thuộc r1 hoặc r2 Cụ thể, r1 + r2 gồm tất cả các phần tử t mà t thuộc r1 hoặc t thuộc r2, giúp mở rộng và tổng hợp dữ liệu từ hai quan hệ một cách hợp lý trong hệ quản trị cơ sở dữ liệu.
Khi đó, n i dung c a quan h rộ ủ ệ 1 + r2 là:
Do thứ tự trước/sau của các bộ trong các quan hệ là không quan trọng nên ta có: r1 + r 2 = r 2 + r1
Và r + r = r Một cách tổng quát có thể lấy hợp c aủ n quan hệ tương thích: cho n quan hệ tương thích r1,r2,…,rn
H p c a n quan h ợ ủ ệ r1,r2,…,rn là m t quan h rộ ệ 1 + r2+ …+ rn g m cácồ ph n t thu c rầ ử ộ 1 ho c thu c rặ ộ 2 … ho c thu c rặ ộ n
Giao c aủ hai quan h tệ ương thích r1 và r2 ký hiệu là r1 * r2 là một quan hệ trên Q g m cácồ ph nầ tử v a ừ thuộc r1 v aừ thuộc r2.
Ch nẳ g h nạ với ví dụ 2.2 ở trên thì r1 * r2 là:
Trong lý thuyết quan hệ, hiệu của hai quan hệ phản ánh các phần tử thuộc quan hệ thứ nhất mà không thuộc quan hệ thứ hai và được ký hiệu là r1 – r2 Cụ thể, r1 – r2 là tập hợp các phần tử thuộc r1 nhưng không thuộc r2, với nghĩa là r1 – r2 = {t | t ∈ r1 và t ∉ r2} Hiểu rõ phép hiệu này giúp phân biệt các phần tử độc lập trong các quan hệ khác nhau trên tập Q, như đã trình bày trong ví dụ 2.2 để làm rõ hơn về ý nghĩa cũng như cách ứng dụng.
3.4.Tích Decac c a 2 quan h (Cartesian Product) ủ ệ
Cho hai lược đồ quan h ệ Q1(A1,A2, ,An), Q2(B1,B2, ,Bm) Giả sử r1, r2 là hai quan hệ trên Q1, Q2 tương ngứ
Tích Descartes (decac) c aủ r1 và r2 ký hiệu là r1 x r2 là quan hệ trên lược đồ quan hệ có tập thuộc tính Q = Q1 ∪ Q2.
V yậ quan hệ r1 x r2 là quan hệ trên lược đồ: Q = Q1 ∪ Q2 =
Ví dụ 2.3 cho r1 và r2 là
Thì kết qu ả r1 x r2 như sau:
Phép chia hai quan hệ r và s là một phép toán quan trọng trong cơ sở dữ liệu, được ký hiệu là r ÷ s Trong đó, r là quan hệ xác định trên tập thuộc tính của lược đồ Q1(A1, A2, , An), còn s là quan hệ xác định trên tập thuộc tính của lược đồ Q2(B1, B2, , Bm), với điều kiện n > m và s khác rỗng Phép chia này cho ra một quan hệ q có n - m thuộc tính, được định nghĩa là tập các bản ghi t/u sao cho, với mỗi t trong r, nếu (t, u) thuộc r và u thuộc s thì t/u nằm trong q.
Cho lược đồ quan hệ Q(A1,A2, ,An), r là quan hệ trên Q và X Q+.
Phép chiếu c aủ r lên tập thuộc tính X, ký hiệu là r[X], giúp tạo thành lược đồ quan hệ r’ với tập thuộc tính chính là X Quá trình này trích xuất quan hệ r’ từ r bằng cách lựa chọn các thuộc tính phù hợp trong X, đảm bảo r’ phản ánh chính xác thông tin cần thiết trong tập thuộc tính này Phép chiếu là công cụ quan trọng trong thiết kế database để tối ưu hóa dữ liệu và duy trì tính nhất quán của lược đồ quan hệ.
Phép chiếu chính là phép rút trích dữ li uệ theo cột Chẳng h nạ với r1 ở ví dụ 2.2 thì khi đó ta có quan hệ con của r1 chiếu lên X={A,C} là:
Trong lược đồ quan hệ Q(A1, A2, , An), r là một quan hệ trên lược đồ này X là một tập con của Q+, và E là một mệnh đề logic được thể hiện trên tập X Phần tử t thoả mãn điều kiện E ký hiệu là t(E) Phép chọn từ quan hệ theo điều kiện E, ký hiệu là r : E, tạo thành một quan hệ mới r(E), trong đó r(E) gồm các phần tử t thuộc r thỏa mãn điều kiện E.
Phép ch nọ chính là phương pháp rút trích dữ liệu theo dòng, giúp lọc các dữ liệu thỏa mãn điều kiện nhất định Ví dụ, với r2 trong ví dụ 2.3 và điều kiện E là “F >= 6”, kết quả r2(E) hay r2: “F >= 6” thể hiện dữ liệu phù hợp với điều kiện này Phép ch nọ giúp dễ dàng trích xuất các dòng dữ liệu có giá trị thỏa mãn điều kiện đã đặt ra, hỗ trợ phân tích và xử lý dữ liệu hiệu quả.
Cho hai lược đồ quan hệ Q1 và Q2 như sau: Q1(A1,A2, ,An),
Q2(B1,B2, ,Bm); r và s lần lượt là hai quan hệ trên Q1 và Q2.
Ai và Bj l nầ lượt là thu cộ tính của Q1, Q2 sao cho MGT(AI)= MGT(BJ) là một trong các phép so sánh (=, , ≤ , ≥, ≠ ) trên MGT(AI).
Phép kết giữa r và s theo điều kiện Ai Bj, ký hiệu là r |>=”, đi uề ki n B>=F,ệ ta được kết quả là quan hệ sau:
Phép kết dựa trên là phép so sánh bằng (=), còn phép kết không bằng là phép không bằng (≠) Khi hai phần tử Ai và Bj thực sự bằng nhau, phép kết này được gọi là phép kết tự nhiên Phép kết tự nhiên là loại phép kết thường được sử dụng nhất trong thực tế do tính linh hoạt và khả năng thể hiện mối quan hệ trực tiếp giữa các dữ liệu.
Ngôn ngữ với các phép toán trên g iọ là ngôn ngữ đ iạ số quan hệ Sau đây là một ví dụ về ngôn ngữ đ iạ số quan hệ.
Lược đồ CSDL dùng để quản lý điểm và sinh viên được mô tả như trong ví dụ 2.1 Để thực hiện yêu cầu này, cần chuyển đổi các yêu cầu thành các câu lệnh bằng ngôn ngữ địa số quan hệ, nhằm đảm bảo tính chính xác và tối ưu trong quản lý dữ liệu sinh viên Việc này giúp hệ thống dễ dàng truy xuất, cập nhật và bảo trì các thông tin liên quan đến sinh viên một cách hiệu quả.
1 L pậ danh sách các sinh viên lớp có mã lớp là CDTH2A, danh sách cần MASV,HOTENSV
2 L pậ danh sách sinh viên nữ và có mã khoa là “CNTT”, danh sách c nầ MASV, HOTENSV.
3 L pậ bảng đi mể thi lần 1 của tất cả các môn cho sinh viên lớp CDTH2A, danh sách cần MASV, HOTENSV, TENMH, DIEMTHI.
4 L pậ phiếu đi mể thi lần 1 các môn cho sinh viên có MASV=”00CDTH189” danh sách c nầ MAMH,TENMH, DONVIHT, DIEMTHI.
BÀI T PẬ TH C HÀNH C A H C VIÊNỰ Ủ Ọ
Bài 2.1 Hãy l p mô hình d li u quan h cho các bài toán qu n lý 1.1, 1.2,ậ ữ ệ ệ ả 1.3, 1.4, 1.5 Hãy xác đ nh khoá cho t ng lị ừ ược đ cho m i bài toán trên.ồ ỗ
Bài 2.2 Cho lược đ c s d li uồ ơ ở ữ ệ
Sinhvien(MASV,HTENSV,NU,NGAYSINH,NOISINH,TINH,MALOP) Lop(MALOP,TENLOP,MAKHOA)
Khoa(MAKHOA,TENKHOA) Monhoc(MAMH,TENMH,DONVIHT) Giangvien(MAGV,HOTENGV,HOCVI,CHUYENNGANH,MAKHOA) Ketqua(MASV,MAMH,LANTHI,DIEMTHI)
Dưới đây là các câu chính phản ánh nội dung của từng phần trong bài viết, được tối ưu hóa cho SEO và đảm bảo tính mạch lạc:1 Tạo danh sách các sinh viên có hộ khẩu thuộc tỉnh "LONG An" bao gồm các thông tin như mã sinh viên (MASV), họ tên sinh viên (HOTENSV), ngày sinh (NGAYSINH) và tên lớp (TENLOP).2 Biểu diễn danh sách sinh viên thuộc lớp CDTH2A, với các thông tin chi tiết như MASV, HOTENSV, NGAYSINH và TINH.3 Lập danh sách giảng viên có bằng cấp thạc sĩ thuộc khoa CNTT, gồm mã giảng viên (MAGV), họ tên (HOTENGV), và chuyên ngành.4 Tạo bảng điểm thi của môn học "869" cho tất cả sinh viên thuộc lớp CĐTH2A và CĐTH2B, gồm các thông tin MASV, HOTENSV, và điểm thi (DIEMTHI).5 Lập danh sách các giảng viên đã dạy lớp CĐTH2A, với các thông tin như MAGV, HOTENGV, tên khoa (TENKHOA), học vị (HOCVI) và tên môn học (TENMH).6 Liệt kê các môn học mà lớp CĐTH2A đã học, bao gồm mã môn học (MAMH), tên môn học (TENMH), đơn vị học trình (DONVIHT), cùng tên giảng viên giảng dạy (HOTENGV).7 Tạo danh sách các giảng viên đã dạy sinh viên có mã sinh viên (MASV) là ữ ả ạ.
Danh sách sinh viên có mã khoa "CNTT" dự thi môn học "869" là những sinh viên đã đăng ký thi lần 1, bao gồm các thông tin như mã sinh viên (MASV), họ tên sinh viên (HOTENSV), điểm thi (DIEMTHI), và tên lớp (TENLOP) Các sinh viên này thuộc các nhóm chuyên ngành, khoa, và môn học đã được phân loại rõ ràng để dễ dàng quản lý và đối chiếu kết quả.
Bài 2.1: g i ý sau đây d a trên mô hình E R c a bài t p 1.1 ợ ự ủ ậ Áp d ng các quy t c chuy n đ i t E R sang mô hình d li u quan h , ụ ắ ể ổ ừ ữ ệ ệ ta có:
Chuyển đổi mỗi loại thực thể thành một lược đồ quan h (quy t cệ ắ
1) Ta có các lược đ quan h sau:ồ ệ
R2: BÁO (mabao, tenbao, dongiaky, hinhthuc)
Chuy n các quan h và b n s quan h :ể ệ ả ố ệ
+ Quan h ệ Đ t/muaặ là quan h nhi u nhi u có thu c tính riêng, ápệ ề ề ộ d ng quy t c 2, ta có đụ ắ ượ ược l c đ quan h sau:ồ ệ
R4: Đ T BÁO (Ặ makhachhang, mabao, ngaydat, soky, thanhtien)
+ Quan h ệ Thu cộ là quan h m t – nhi u (m t cho nhánh TH LO I),ệ ộ ề ộ Ể Ạ áp d ng quy t c 3, ta có lụ ắ ược đ quan h sau:ồ ệ
R5: BÁO (mabao, tenbao, dongiaky, hinhthuc, matheloai)
Lo i b các lạ ỏ ược đ có tên trùng l p (gi l i lồ ặ ữ ạ ược đ đã b sung thu cồ ổ ộ tính), các lược đ sau khi đã lo i b s t o nên mô hình d li u quan h cồ ạ ỏ ẽ ạ ữ ệ ệ ơ b n c n tìm Q, Q(Rả ầ 1 , R3, R4, R5).
Bài 2.2: tham kh o ví d 2.6 đ th c hi n.ả ụ ể ự ệ
Chương 3 NGÔN NG TRUY V N D LI UỮ Ấ Ữ Ệ
SQL (Structured Query Language) là ngôn ngữ truy vấn mạnh mẽ và phổ biến dùng để thao tác dữ liệu trong các hệ quản trị cơ sở dữ liệu Các câu lệnh SQL giúp tạo, cập nhật, xóa và thêm dữ liệu một cách dễ dàng và hiệu quả Cụ thể, SQL cho phép bạn tạo các bảng quan hệ, thực hiện thao tác cập nhật dữ liệu, xóa dữ liệu không còn cần thiết và chèn thêm dữ liệu mới vào hệ thống.
Trong chương này, chúng ta tìm hiểu về câu lệnh SQL quan trọng nhất là câu lệnh SELECT Kết quả của lệnh SELECT thể hiện mối quan hệ giữa dữ liệu, cho phép hiển thị kết quả ra màn hình, in ra máy hoặc xuất ra các thiết bị thông tin khác Câu lệnh SELECT đóng vai trò trung tâm trong truy vấn dữ liệu của SQL, giúp truy xuất và trình bày dữ liệu một cách chính xác và hiệu quả.
Hi u để ược cách th c truy v n c a d li u quan h , đi n hình làứ ấ ủ ữ ệ ệ ể ngôn ng truy v n SQL chu n, th c hi n truy v n đữ ấ ẩ ự ệ ấ ược trên các d li u đãữ ệ cài đ t.ặ
Th c hi nự ệ các thao tác an toàn v iớ máy tính.
M đ u ở ầ
Gi i thi u v l ch s ngôn ng SQL, m c đích, l i ích c a ngôn ngớ ệ ề ị ử ữ ụ ợ ủ ữ SQL.
Trình bày tóm t c các ki u d li u c b n, các hàm x lý d li u cắ ể ữ ệ ơ ả ử ữ ệ ơ b n c a SQL.ả ủ
Trình bày cú pháp t ng quát c a câu l nh Select – câu l nh truy v nổ ủ ệ ệ ấ d li u chu n c a SQL.ữ ệ ẩ ủ
Vào những năm 1970, SQL (Structured Query Language) được IBM phát triển như một ngôn ngữ truy vấn dữ liệu chính cho hệ quản trị cơ sở dữ liệu quan hệ, với dự án tiêu biểu là SYSTEM R Trong những năm 1980, IBM tiếp tục phát triển SQL để phù hợp với hệ quản trị dữ liệu phân tán, ra mắt phiên bản SQL/DS để hỗ trợ quản lý dữ liệu phức tạp và mở rộng khả năng xử lý dữ liệu của hệ thống.
Trong những năm 1980, các hệ quản trị cơ sở dữ liệu như VM, DB2 đã được vận hành trên các nền tảng như MVS, OS/2 và IBM AS/400, mang lại hiệu quả cao trong quản lý dữ liệu doanh nghiệp Năm 1986, tổ chức ANSI của Hoa Kỳ và ISO đã chính thức công nhận SQL là ngôn ngữ chuẩn để xử lý dữ liệu, giúp thống nhất các chuẩn mực trong ngành công nghiệp quản trị dữ liệu Ngôn ngữ ANSI SQL đã liên tục được cập nhật và phát triển kể từ lần đầu tiên ra mắt vào năm 1989, trở thành tiêu chuẩn quốc tế được sử dụng rộng rãi cho đến ngày nay.
SQL được cài đặt cho hệ thống máy tính lớn (mainframe) cũng như máy tính cá nhân, mang lại khả năng quản lý dữ liệu hiệu quả Các sản phẩm quản trị cơ sở dữ liệu phổ biến như IBM DB2, Oracle Database của Oracle, SQL Server của Microsoft, SQLBase của Sybase và Ingres của Relational Technologies đều cung cấp các giải pháp đa dạng phù hợp với các nhu cầu khác nhau Những hệ quản trị này giúp tối ưu hoá quá trình lưu trữ, truy xuất dữ liệu, nâng cao hiệu suất vận hành và hỗ trợ các doanh nghiệp trong việc quản lý thông tin một cách an toàn và tin cậy.
Xác định cú pháp và ý nghĩa của ngôn ngữ SQL là bước quan trọng để hiểu và thao tác dữ liệu hiệu quả SQL giúp định nghĩa cấu trúc dữ liệu, thực hiện các phép toán cơ bản như truy vấn, cập nhật, lưu trữ, kiểm soát và bảo vệ dữ liệu một cách chính xác và an toàn Việc nắm vững cú pháp và ý nghĩa của các câu lệnh SQL là nền tảng để xây dựng hệ thống quản lý dữ liệu đáng tin cậy và hiệu quả.
Cung c p công c đ m b o tính tấ ụ ả ả ương thích c a c u trúc d li u vàủ ấ ữ ệ các modul ng d ng gi a các h qu n tr c s d li u.ứ ụ ữ ệ ả ị ơ ở ữ ệ
Xác đ nh chu n t i thi u và chu n hoàn ch nh, cho phép các c p đ sị ẩ ố ể ẩ ỉ ấ ộ ử d ng SQL khác nhau trong các s n ph m.ụ ả ẩ
Chúng tôi cung cấp chức năng bảo mật cơ bản, cho phép mở rộng tùy theo yêu cầu của khách hàng Hệ thống này hỗ trợ xử lý các yêu cầu toàn diện từ tham chiếu, giao thức, yêu cầu chuyển đổi, các hàm giúp người dùng thực hiện các tác vụ ngoài phép, và các hệ thống ký kết quốc gia, đảm bảo sự linh hoạt và khả năng tùy chỉnh cao phù hợp với nhu cầu của từng tổ chức.
M t ngôn ng quan h chu n nh SQL s mang l i các l i ích sau đây:ộ ữ ệ ẩ ư ẽ ạ ợ
Gi m thi u chi phí đào t o Các h qu n tr c s d li u có chungả ể ạ ệ ả ị ơ ở ữ ệ ngôn ng chu n SQL s làm gi m chi phí chuy n đ i t h này sang h khác.ữ ẩ ẽ ả ể ổ ừ ệ ệ
Nâng cao hiệu năng công việc là mục tiêu chính của các chuyên gia hệ thống thông tin Với việc hệ thống kiến thức về SQL ngày càng sâu rộng, họ có thể tối ưu hóa các dữ liệu và quy trình làm việc một cách hiệu quả Các chuyên gia nhanh chóng nắm bắt các chế độ và thuật toán mới trong quản trị dữ liệu, điều này giúp nâng cao khả năng vận hành hệ thống Việc quen thuộc với ngôn ngữ SQL và các chương trình quản trị dữ liệu giúp họ giải quyết các vấn đề phức tạp một cách nhanh chóng và chính xác, góp phần thúc đẩy hiệu quả công việc và tối ưu hóa nguồn lực trong tổ chức.
Tính kh chuy n c a các ng d ng Các ng d ng có th d dàng sả ể ủ ứ ụ ứ ụ ể ễ ử d ng trên các h th ng khác nhau, nh ng cùng s d ng SQL.ụ ệ ố ư ử ụ
Tăng tu i th c a các ng d ng M t ngôn ng chu n có xu hổ ọ ủ ứ ụ ộ ữ ẩ ướng t n t i th i gian dài, đi u đó làm gi m áp l c vi t l i chồ ạ ờ ề ả ự ế ạ ương trình.
Làm gi m s ph thu c vào nhà cung c p Vì SQL là ngôn ng chungả ự ụ ộ ấ ữ nên người dùng d dàng s d ng nhi u s n ph m c a các nhà cung ng khácễ ử ụ ề ả ẩ ủ ứ nhau, v i giá c c nh tranh.ớ ả ạ
Khả năng giao tiếp giữa các hệ thống chéo là một yếu tố quan trọng trong quản trị dữ liệu và tích hợp hệ thống Các hệ thống quản trị dữ liệu khác nhau, như hệ thống quản lý dữ liệu cũ và mới, có thể dễ dàng kết nối và trao đổi thông tin theo cách tối ưu Việc này giúp dễ dàng chia sẻ dữ liệu, nâng cao hiệu quả vận hành và cho phép các chương trình khác nhau hợp tác linh hoạt Giao tiếp hệ thống chéo cũng hỗ trợ xử lý dữ liệu liên tục và thực thi các quy trình tự động, nâng cao trải nghiệm người dùng và tối ưu hóa hoạt động kinh doanh.
SQL là ngôn ng có c u trúcữ ấ
Trong câu l nh c a SQL có m t s m nh đ tuân theo nh ng cú phápệ ủ ộ ố ệ ề ữ riêng c a nó Có 4 lo i l nh trong SQL:ủ ạ ệ
Các l nh đ nh nghĩa d li u (DDL) ệ ị ữ ệ
Các l nh x lý c p nh t d li u (DML) ệ ử ậ ậ ữ ệ
Các l nh ki m soát d li u ệ ể ữ ệ
SQL có các ki u d li u sau:ể ữ ệ
DECIMAL(n,d) : Ki u s th c đ dài ể ố ự ộ n (k c d u), s ch s th p phân ể ả ấ ố ữ ố ậ d
FLOAT(n,d): Ki u s th c khoa h c đ dài ể ố ự ọ ộ n, s ch s th p phân ố ữ ố ậ d
CHAR(n) : Ki u chu i ký t đ dài ể ỗ ự ộ n
DATE : Ki u ngày tháng (ngày/tháng/năm)ể
LOGICAL : Ki u lôgic, nh n giá tr ể ậ ịtrue ho c ặ false
VARCHAR(n) : Ki u chu i ký t đ dài thay đ i, t i đa ể ỗ ự ộ ổ ố n ký tự
LONGVARCHAR: Ki u chu i ký t đ dài thay đ i (ch a d li u nh ể ỗ ự ộ ổ ứ ữ ệ ư ghi chú, )
Và các ki u khác nh : Ki u ti n t , Ki u hình nh, Ki u âm thanh…ể ư ể ề ệ ể ả ể
SELECT [DISTINCT] [AS ] [, ] | *ể ứ
[WHERE [AND | OR ]]ề ệ ố ề ệ ọ
[HAVING ]]ề ệ [ORDER BY [ASC | DESC] [, ]]ể ứ ắ ế
[UNION | INTERSECT | MINUS < câu truy v n khác>]ấ
Các thành ph n c b n c a câu l nhầ ơ ả ủ ệ :
Bi u th c sau SELECT có th bao g m: ể ứ ể ồ
Dưới đây là danh sách các cột trong bảng dữ liệu, bao gồm các cột đã có hoặc chưa có dấu hiệu đặc biệt Các cột được liệt kê trong phần khai báo sau từ khóa FROM Các biểu thức hoặc tên cột được ngăn cách nhau bằng dấu phẩy (,), và có thể được đặt tên tùy chọn bằng cú pháp AS Việc xác định rõ các cột này giúp tối ưu hóa khả năng truy vấn và quản lý dữ liệu trong cơ sở dữ liệu của bạn.
+ * là ký t đ i di n t t c các thu c tính c a b ng sau FROMự ạ ệ ấ ả ộ ủ ả
+ Các hàm tính toán : COUNT, SUM, AVG, MIN, MAX
Bi u th c sau FROM g m m t ho c danh sách các b ng quan h (cóể ứ ồ ộ ặ ả ệ th đ t bí danh).ể ặ
INTO : L u b ng k t qu vào đĩa.ư ả ế ả
Bi u th c sau WHERE bao g m :ể ứ ồ
+ Các thu c tính c a các b ng quan h sau FROMộ ủ ả ệ
+ Các toán t so sánh, có th so sánh v i ANY (giá tr nào đó trong 1 t pử ể ớ ị ậ h p) ho c ALL (t t c giá tr trong 1 t p h p)ợ ặ ấ ả ị ậ ợ
+ Các toán t Boolean : AND, OR, NOTử
+ Các toán t t p h p : UNION (h p), INTERSECT (giao), MINUSử ậ ợ ợ (hi u).ệ
+ Các quan h bao hàm : IN (ệ ), NOT IN ( ), CONTAINS (ch a),ứ DOES NOT CONTAIN (không ch a)ứ
+ Đi u ki n t n t i : EXISTS (t n t i), NOT EXIST (không t n t i)ề ệ ồ ạ ồ ạ ồ ạ+ Câu v n tin con ki u SELECT FROM WHERE ấ ể
Tìm thông tin t các c t c a b ng – M nh đ Select ừ ộ ủ ả ệ ề
M c tiêu:ụ Trình bày cú pháp, ch c năng c a m nh đ Selectứ ủ ệ ề
SELECT [DISTINCT] [AS ] [, ] | *ể ứ
Xác đ nh n i dung k t qu g m các c t li t kê sau SELECT ho c t tị ộ ế ả ồ ộ ệ ặ ấ c các c t l y t .ả ộ ấ ừ ả
T khoá DISTINCT dùng li t kê nh ng giá tr duy nh t tránh trùng l p.ừ ệ ữ ị ấ ặ
T khoá AS dùng đ t bí danhừ ặ
Cho lược đ c s d li u khách hàngồ ơ ở ữ ệ
HOPDONG(SoHD, TenKH, Hang, SoLuong)
CUNGUNG(Ten, DiaChi, Hang, DonGia)
Tr v các b n ghi g m t t c các c t c a b ng CUNGUNG.ả ề ả ồ ấ ả ộ ủ ả
FROM CUNGUNG Tr v các b n ghi g m 2 c t Hang, DonGia c a b ng CUNGUNG.ả ề ả ồ ộ ủ ả SELECT Hang, DonGia
FROM CUNGUNG Tr v các b n ghi g m 1 c t Hang v i giá tr duy nh t c a b ngả ề ả ồ ộ ớ ị ấ ủ ả CUNGUNG.
SELECT DISTINCT Hang FROM CUNGUNG
Có th cho hi n th giá tr ể ể ị ịh ngằ , ch ng h nẳ ạ
SELECT “M t hàng”, Hang, “có đ n giá là”, DonGiaặ ơFROM CUNGUNG
Ch n các dòng c a b ng – M nh đ Where ọ ủ ả ệ ề
M c tiêu:ụ Trình bày cú pháp, ch c năng c a m nh đ Where trong câuứ ủ ệ ề l nh truy v n Select.ệ ấ
SELECT [DISTINCT] [AS ] [, ] | *ể ứ
Tr v các b n ghi g m các c t li t kê sau SELECT ho c t t c cácả ề ả ồ ộ ệ ặ ấ ả c t l y t g m các b tho mãn .ộ ấ ừ ả ồ ộ ả ề ệ ọ
Ghi chú : Sau WHERE có th dùng các m nh đ :ể ệ ề
BETWEEN AND : bi u di n đi uể ễ ề ki n
NOT BETWEEN AND : bi uể di n đi u ki n < ho c >
IN (, , ) : bi u di n đi u ki n ể ễ ề ệ
b ng m t trong các giá tr , ,
NOT IN (, , ) : bi u di n đi uể ễ ề ki n ệ
khác các giá tr , ,
[NOT] LIKE : bi u di n đi u ki nỗ ự ể ễ ề ệ
[không] gi ng ố ỗ ự
Trong có th dùng d u ỗ ự ể ấ % (d u ph n trăm) đ i di nấ ầ ạ ệ cho chu i ký t b t kỗ ự ấ ỳ
IS [NOT] NULL: bi u di n đi u ki n ể ễ ề ệ giá tr là [khác] NULL
Tr v các b n ghi g m các c t Ten, DiaChi có giá tr duy nh t tả ề ả ồ ộ ị ấ ừ b ng CUNGUNG c a các nhà cung ng ho c Đả ủ ứ ặ ường ho c S a.ặ ữ
WHERE (Hang = ‘Đường’) OR (Hang = ‘S a’)ữ ho cặ
Tr v các b n ghi g m các Ten, DiaChi c a các khách hàng có SoDuả ề ả ồ ủ không âm t b ng KHACHừ ả
Tr v các b n ghi g m các h p đ ng có SoLuong t 100 đ n 200 tả ề ả ồ ợ ồ ừ ế ừ b ng HOPDONGả
Tr v các b n ghi g m các nhà cung ng có tên b t đ u b ng ‘Cty’ả ề ả ồ ứ ắ ầ ằ t b ng CUNGUNGừ ả
Tr v các b n ghi g m các nhà cung ng có m t hàng ‘Bia’ t b ngả ề ả ồ ứ ặ ừ ả CUNGUNG
Ch n nh ng khách hàng ch a có đ a chọ ữ ư ị ỉ
SELECT * FROM KHACH WHERE DiaChi IS NULL
Ch n nh ng khách hàng có s d xác đ nh :ọ ữ ố ư ị
WHERE SoDu IS NOT NULL
S p x p các dòng c a b ng – M nh đ Order by ắ ế ủ ả ệ ề
M c tiêu: ụ Trình bày cú pháp, ch c năng c a m nh đ Order by trongứ ủ ệ ề câu l nh truy v n Selectệ ấ
SELECT [DISTINCT] [AS ] [, ] | *ể ứ
ORDER BY [ASC | DESC] [, ]ể ứ ắ ế
Tr v các b n ghi g m các c t li t kê sau SELECT ho c t t c cácả ề ả ồ ộ ệ ặ ấ ả c t l y t g m các b độ ấ ừ ả ồ ộ ượ ắc s p x p theo các bi u th c sauế ể ứ ORDER BY. Ý nghĩa các tham s :ố
Cho bi t danh sách khách hàng s p x p theo TEN tăng d n :ế ắ ế ầ
Cho bi t danh sách các nhà cung ng ‘S a’ s p x p theo th tế ứ ữ ắ ế ứ ự DonGia gi m d n:ả ầ
Cho bi t danh sách các nhà cung ng s p x p theo th t Ten và Hangế ứ ắ ế ứ ự :
Câu l nh truy v n l ng nhau ệ ấ ồ
M c tiêu: ụ Trình bày cú pháp, ch c năng c a câu l nh truy v n Selectứ ủ ệ ấ l ng nhau.ồ
SELECT [DISTINCT] [AS ] [, ] / *ể ứ
[WHERE ]
[ORDER BY [ASC / DESC] [, ]]ể ứ ắ ế
Cho phép t o ra các đi u ki n ch a quan h t p h p và s li u t ngạ ề ệ ứ ệ ậ ợ ố ệ ổ h p.ợ
Trong quan h t p h p, câu truy v n con đ t trong ngo c đ n ệ ậ ợ ấ ặ ặ ơ
S d ng các toán t so sánh : =, ử ụ ử
Li t kê các khách hàng có s d l n nh t:ệ ố ư ớ ấ
(SELECT MAX(Sodu) FROM KHACH)
Li t kê hãng cung ng g o có DonGia