1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính Cao đẳng)

123 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Cơ Sở Dữ Liệu
Tác giả Đặng Minh Ngọc, Lê Trọng Hưng, Nguyễn Tuấn Hải
Trường học Trường Cao Đẳng Nghề Việt Nam - Hàn Quốc
Chuyên ngành Kỹ thuật sửa chữa, lắp ráp máy tính
Thể loại giáo trình
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 123
Dung lượng 1,76 MB

Cấu trúc

  • Chương 1 Tổng quan về cơ sở dữ liệu (7)
    • 1.1 Dữ liệu – thông tin (7)
    • 1.2 Các hệ thống xử lý truyền thống (7)
    • 1.3 Phương pháp cơ sở dữ liệu (8)
    • 1.4 Phân loại người dùng CSDL (9)
  • Chương 2 Các mô hình dữ liệu (11)
    • 2.1 Sơ đồ thực thể liên kết (11)
    • 2.2 Mô hình thực thể, quan hệ (17)
    • 2.3 Mô hình dữ liệu quan hệ (18)
    • 2.4 Mô hình dữ liệu mạng (20)
    • 2.5 Mô hình dữ liệu phân cấp (20)
  • Chương 3 Mô hình cơ sở dữ liệu quan hệ (25)
    • 3.1 Các khái niệm (25)
    • 3.2 Ràng buộc toàn vẹn (28)
    • 3.3 Các phép tính trên cơ sở dữ liệu quan hệ (34)
  • Chương 4 Ngôn ngữ thao tác dữ liệu (41)
    • 4.1 Đại số quan hệ (41)
    • 4.2 Các phép toán tập hợp (42)
    • 4.3 Các phép toán đặc biệt trên quan hệ (46)
    • 4.4 Các phép toán quan hệ bổ sung (50)
  • Chương 5 Ngôn ngữ truy vấn dữ liệu SQL (52)
    • 5.1 Cách tạo quan hệ bằng Access (52)
    • 5.2 Câu lệnh truy vấn (56)
  • Chương 6 Lý thuyết thiết kế cơ sở dữ liệu (66)
    • 6.1 Phụ thuộc hàm (66)
    • 6.2 Phép tách các lƣợc đồ quan hệ (87)

Nội dung

Tổng quan về cơ sở dữ liệu

Dữ liệu – thông tin

- Dữ liệu là những gì có thật đƣợc ghi nhận lại (thủ công hoặc dùng máy tính) và mang một ý nghĩa nào đó.

Thông tin phản ánh tri thức và sự hiểu biết của con người về một đối tượng, trong khi dữ liệu lại là khái niệm thô và rời rạc Thông tin chính là nội dung được hình thành từ dữ liệu.

Cơ sở dữ liệu là một tập hợp dữ liệu được tổ chức và lưu trữ theo cấu trúc chặt chẽ, phục vụ cho nhiều đối tượng với các mục đích khác nhau.

Các hệ thống xử lý truyền thống

Hệ thống quản lý tệp truyền thống thường được tổ chức riêng lẻ, phục vụ cho mục đích cụ thể của từng đơn vị hoặc đơn vị con.

Hệ thống quản lý tệp truyền thống cho phép người dùng tạo, truy cập và xử lý thông tin qua các tệp thông qua các ứng dụng Những phần mềm này thường được phát triển bằng các ngôn ngữ lập trình đa năng như PASCAL và C.

Xây dựng hệ thống tệp tin riêng tại từng đơn vị quản lý tiết kiệm thời gian nhờ vào khối lượng thông tin nhỏ cần quản lý Việc này không yêu cầu đầu tư nhiều về vật chất và trí tuệ, dẫn đến quá trình triển khai ứng dụng diễn ra nhanh chóng.

Thông tin đƣợc khai thác chỉ phục vụ mục đích hẹp nên khả năng đáp ứng nhanh chóng, kịp thời

Thông tin đƣợc tổ chức riêng rẽ ở nhiều nơi nên việc cập nhật dễ làm mất tính nhất quán dữ liệu

Hệ thống thông tin đƣợc tổ chức thành các hệ thống file riêng lẻ nên thiếu sự chia sẻ thông tin giữa các nơi

Có sự dƣ thừa dữ liệu rất lớn qua việc trùng lặp các tệp tin trong các ứng dụng khác nhau

Không gian đĩa bị lãng phí, khó khăn trong việc bảo trì hệ thống

Khó khăn trong việc truy xuất dữ liệu

Một ví dụ điển hình về sự trùng lắp dữ liệu nhƣ trong Hệ quản lý nguồn nhân lực bao gồm ba hệ chính:

1 Hệ lương, hệ này duy trì ngày công và lương cho tất cả nhân viên.

2 Hệ nhân sự, hệ này duy trì lý lịch cá nhân, dữ liệu về tổ chức, công việc đào tạo và vị trí thăng tiến

3 Hệ hưu, hệ này quản trị các qui tắc liên quan đến nghỉ hưu, loại nghỉ hưu Chi tiết về hưu của từng nhân viên.

Hệ thống quản lý lương thường do phòng Tài chính quản lý, trong khi hệ thống quản lý nhân sự và hệ thống quản lý hưu trí thuộc phòng Tổ chức cán bộ Điều này dẫn đến sự tồn tại nhiều dữ liệu chung về nhân viên giữa ba hệ thống Việc các hệ thống này hoạt động và lưu trữ dữ liệu riêng biệt gây ra tình trạng trùng lặp thông tin.

Việc tổ chức dữ liệu theo hệ thống tệp không còn phù hợp với các hệ thống thông tin lớn hiện nay Do đó, xây dựng một hệ thống thông tin đảm bảo tính nhất quán của dữ liệu và đáp ứng nhu cầu khai thác đồng thời của nhiều người là điều cần thiết.

Phương pháp cơ sở dữ liệu

1.3.1 Cơ sở dữ liệu là gì

Cơ sở dữ liệu (CSDL) là hệ thống thông tin có cấu trúc, được lưu trữ trên các thiết bị như băng từ và đĩa từ, nhằm đáp ứng nhu cầu khai thác đồng thời của nhiều người dùng CSDL liên quan chặt chẽ đến đại số, logic toán và nhiều lĩnh vực khác.

1.3.2 Hệ quản trị cơ sở dữ liệu Để giải quyết tốt những vấn đề mà cách tổ chức CSDL đặt ra nhƣ đã nói ở trên, cần thiết phải có những phần mềm chuyên dùng để khai thác chúng Những phần mềm này đƣợc gọi là các hệ quản trị CSDL Các hệ quản trị CSDL có nhiệm vụ hỗ trợ cho các nhà phân tích thiết kế CSDL cũng như những người khai thác CSDL Hiện nay trên thị trường phần mềm đã có những hệquản trị CSDL hỗ trợđƣợc nhiều tiện ích nhƣ: MS Access, Visual Foxpro, SQL Server Oracle, 

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ụthể

Dù là dựa trên mô hình dữ liệu nào, một hệ quản trị CSDL cũng phải hội đủcác yếu tố sau:

- Ngôn ngữ giao tiếp giữa người sử dụng và CSDL, bao gồm :

Ngôn ngữ mô tả dữ liệu cho phép định nghĩa cấu trúc cơ sở dữ liệu, xác định mối quan hệ giữa các dữ liệu và thiết lập các quy tắc quản lý áp dụng cho dữ liệu đó.

Ngôn ngữ thao tác dữ liệu: Cho phép người sử dụng có thể cập nhật dữ liệu (thêm/sửa/xoá)

Ngôn ngữ truy vấn dữ liệu: Cho phép người khai thác sử dụng đểtruy vấn các thông tin cần thiết trong CSDL

Ngôn ngữ quản lý dữ liệu cho phép quản trị viên hệ thống điều chỉnh cấu trúc bảng dữ liệu, thiết lập bảo mật thông tin và cấp quyền truy cập cơ sở dữ liệu cho người dùng.

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ị cơ sở dữ liệu (CSDL) có thể thiết lập cơ chế riêng để giải quyết các vấn đề liên quan đến quyền truy cập Một số biện pháp phổ biến bao gồm việc cấp quyền ưu tiên cho từng người sử dụng và đánh dấu yêu cầu truy xuất dữ liệu Theo đó, người dùng nào có yêu cầu trước sẽ được quyền truy xuất dữ liệu trước, giúp đảm bảo tính công bằng và hiệu quả trong việc quản lý dữ liệu.

Hệ quản trị cơ sở dữ liệu (CSDL) cần có cơ chế sao lưu và phục hồi dữ liệu để đảm bảo an toàn khi xảy ra sự cố Việc này có thể được thực hiện tự động sau một khoảng thời gian nhất định, tuy nhiên, nó có thể tốn kém, đặc biệt đối với CSDL lớn Ngoài ra, hệ quản trị CSDL cũng phải cung cấp giao diện thân thiện và dễ sử dụng cho người dùng.

Phân loại người dùng CSDL

Người quản trị cơ sở dữ liệu (DBA) là người đứng đầu chịu trách nhiệm quản lý và tổ chức nội dung của cơ sở dữ liệu trong các tổ chức có nhiều người sử dụng chung DBA có nhiệm vụ tạo và cấp quyền truy cập cơ sở dữ liệu cho người dùng, đồng thời đưa ra yêu cầu về phần cứng và phần mềm khi cần thiết Ngoài ra, DBA cũng phải đảm bảo an toàn dữ liệu và thực hiện việc sao lưu thông tin để bảo vệ dữ liệu khi có sự cố xảy ra.

Người phân tích và thiết kế hệ thống có vai trò quan trọng trong việc xác định dữ liệu cần lưu trữ trong cơ sở dữ liệu (CSDL), lựa chọn cấu trúc phù hợp để biểu diễn và lưu trữ dữ liệu Họ cũng tiến hành phỏng vấn người dùng CSDL để hiểu rõ yêu cầu của họ, từ đó thực hiện phân tích và thiết kế hệ thống sau khi đã thống nhất tất cả các yêu cầu.

Người viết chương trình ứng dụng là chuyên gia phát triển phần mềm, có nhiệm vụ chính là xây dựng các chức năng cho hệ thống bằng ngôn ngữ lập trình phù hợp Họ cũng thực hiện các công việc quan trọng như chạy thử chương trình (test), sửa lỗi và gỡ rối (debug), viết tài liệu hướng dẫn sử dụng, cũng như bảo trì hệ thống để đảm bảo hiệu suất hoạt động tối ưu.

Người dùng cuối (End User) là những cá nhân truy cập cơ sở dữ liệu (CSDL) với mục đích cập nhật dữ liệu, thực hiện truy vấn và tạo thống kê, báo cáo Mỗi người dùng cuối được cấp quyền hạn nhất định, bao gồm quyền đọc, ghi và sao chép dữ liệu trong phạm vi cơ sở dữ liệu.

Các mô hình dữ liệu

Sơ đồ thực thể liên kết

2.1.1 Giới thiệu Sơ đồ thực thể liên kết

Sơ đồ thực thể liên kết (ER) được giới thiệu bởi CHEN vào năm 1976, là một mô hình quan trọng trong thiết kế cơ sở dữ liệu ở cấp độ quan niệm Mô hình này hiện nay được sử dụng rộng rãi để thể hiện mối quan hệ giữa các thực thể trong hệ thống dữ liệu.

Mô hình ER (Entity-Relationship) có nhiều ưu điểm vượt trội so với mô hình mạng, đặc biệt là khả năng thể hiện rõ ràng các thành phần trong thế giới thực Trong khi mô hình mạng chỉ mô tả các đối tượng chính mà không nêu rõ các đặc điểm của chúng, mô hình ER khắc phục những hạn chế này Do đó, việc lựa chọn mô hình ER thường được các nhà phân tích thiết kế cơ sở dữ liệu ưu tiên.

Loại thực thể (Entity Type) là các đối tượng hoặc sự vật trong thế giới thực cần được quản lý trong ứng dụng Những đối tượng này có thể là những vật thể hữu hình hoặc mang tính chất ảo tưởng.

Ví dụ: Khi thiết kế cơ sở dữ liệu quản lý học viên thì ta sẽ có một số thực thể nhƣ sau:

Trong mô hình ER thì ta sẽ dùng ký hiệu sau để mô tả loại thực thể:

Hình 2 1 Ví dụ về thực thể

Nhƣ vậy ta dùng ký hiệu hình chữ nhật và bên trong chính là tên của loại thực thể b Thực thể (Entity) trong mô hình ER

Trong lập trình hướng đối tượng, việc tạo mới một lớp đồng nghĩa với việc chúng ta tạo ra một thể hiện của đối tượng mà lớp đó mô tả Tương tự, trong mô hình thực thể mối kết hợp, một thực thể chính là một thể hiện của loại thực thể.

Ví dụ: Loại thực thể HOCVIEN gồm các thực thể nhƣ sau:

Tất cả những học viên trên chính là thực thể thể hiện cho loại thực thể HOCVIEN c Thuộc tính của loại thực thể (Entity Attribute)

Thuộc tính là các đặc điểm mô tả một đối tượng cụ thể, chẳng hạn như màu sắc của đồ vật Ví dụ, chiếc mũ màu đỏ và chiếc áo màu vàng thể hiện rằng màu đỏ và vàng là những thuộc tính của mũ và áo.

Nếu ở đây ta nhắm tới ví dụ ở phần trên thì với loại thực thể HOCVIEN ta sẽ có một số thuộc tính nhƣ sau:

Và ta có ký hiệu nhƣ sau:

Hình 2 2 Thuộc tính của thực thể HOCVIEN d Các loại thuộc tính của loại thực thể

Chúng ta có tổng cộng ba loại thuộc tính chính đó là Đơn vị, Đa hợp vàĐa trị

+ Đơn vị (simple) là loại thuộc tính chỉ có một giá trị duy nhất

Ví dụ thuộc tính Noisinh, Mahv,

+ Đa hợp (Composite) là thuộc tính có thể đƣợc tạo từ nhiều thành phần

Ví dụ thuộc tính Hoten có thể đƣợc tạo từ 3 thành phần đó là HỌ + TÊN LÓT + TÊN Ký hiệu là HOTEN (HO, TENLOT, TEN)

Đa trị (Multi valued) là thuộc tính có khả năng chứa nhiều giá trị cho một loại thực thể Chẳng hạn, trong trường hợp bằng cấp, có thể phân loại thành các mức như loại tốt, loại khá, trung bình khá và giỏi.

Với hai loại thuộc tính đa hơp và đa trị thì ta có thể thiết kế chồng lên nhau

Ví dụ: {BANGCAP(TRUONGCAP, LOAIBANG, NGANH)} e Khóa của loại thực thể trong mô hình ER

Mỗi thực thể được xác định là một thể hiện của loại thực thể, và để nhận diện các thực thể này, chúng ta cần xác định một khóa duy nhất cho từng thực thể Khóa này chính là công cụ giúp nhận diện các thực thể thuộc loại của nó.

Trong mô hình ER, mỗi thực thể như HOCVIEN có thể chứa nhiều thực thể con, chẳng hạn như học viên, và mỗi học viên sẽ được gán một mã số duy nhất Mã học viên này đóng vai trò là khóa chính, giúp nhận diện cụ thể từng học viên trong hệ thống.

Trong mô hình mạng, hai đối tượng có mối liên hệ được gọi là loại liên hệ Tương tự, trong mô hình thực thể, mối kết hợp giữa các thực thể được gọi là loại mối kết hợp Loại mối kết hợp chính là mối liên hệ giữa hai loại thực thể.

Ví dụ: Giữa hai loại thực thể HOCVIEN và LOP ta sẽ có loại mối kết hợp THUOC, và ta biểu diễn nhƣ sau:

Hình 2 3 Ví dụ về mối kết hợp

Biểu diễn bằng lời nói thì nhƣ sau "học viên sẽ thuộc lớp nào đó"

Ngoài ra giữa hai loại thực thể có thể tồn tại nhiều loại mối kết hợp

Ví dụ: Giữa hai thực thể HOCVIEN và LOP sẽ có hai loại mối kết hợp nhƣ sau:

+ Học viên sẽ thuộc lớp nào đó

+ Học viên sẽ là lớp trường lớp nào đó

Hình 2 4 Ví dụ về mối kết hợp qua lại

2.1.2 Chuyển từ Sơ đồ thực thể liên kếtsang lƣợc đồ cơ sở dữ liệu

Thuật toán chuyển đổi được thực hiện theo các bước sau (dựa trên CSDL

Bước đầu tiên trong việc thiết lập lược đồ ER là tạo một quan hệ R cho mỗi kiểu thực thể E, bao gồm tất cả các thuộc tính đơn của E Đối với các thuộc tính phức hợp, chỉ cần lấy các thuộc tính thành phần đơn Tiếp theo, chọn một trong các thuộc tính khóa của E làm khóa chính cho R Nếu khóa được chọn là phức hợp, các thuộc tính đơn đó sẽ cùng nhau tạo thành khóa chính của R.

Trong ví dụ này, chúng ta xem xét kiểu thực thể ĐƠNVỊ với các thuộc tính gồm MãsốĐV, TênĐV và ĐịađiểmĐV Trong đó, MãsốĐV và TênĐV là các thuộc tính khoá duy nhất cho mỗi đơn vị, trong khi ĐịađiểmĐV là thuộc tính đa trị vì mỗi đơn vị có thể có nhiều địa điểm Khi chuyển đổi kiểu thực thể này thành quan hệ ĐƠNVI, các thuộc tính được giữ lại là MãsốĐV và TênĐV, với MãsốĐV được chọn làm khoá chính của quan hệ.

Bước 2: Đối với mỗi kiểu thực thể yếu W trong lược đồ ER và kiểu thực thể chủ E, cần tạo một quan hệ R bao gồm tất cả các thành phần đơn hoặc các thành phần đơn của các thuộc tính phức hợp của W như là các thuộc tính của R Các thuộc tính khóa chính của các quan hệ tương ứng với kiểu thực thể chủ sẽ được sử dụng làm khóa ngoài cho R, xác định kiểu liên kết của W Khoá chính của R được hình thành từ tổ hợp của khóa chính của các quan hệ tương ứng với kiểu thực thể chủ và khóa bộ phận của kiểu thực thể yếu W nếu có.

Trong ví dụ này, chúng ta có kiểu liên kết giữa NHÂNVIÊN và CON, trong đó NHÂNVIÊN là thực thể chủ với các thuộc tính như MãsốNV, Họđệm, Tên, Ngàysinh, và Giớitính, với MãsốNV là thuộc tính khoá Ngược lại, CON là thực thể phụ thuộc vào NHÂNVIÊN, bao gồm các thuộc tính Họtêncon, Ngàysinh, và Giớitính, nhưng không có thuộc tính khoá Khi chuyển đổi, NHÂNVIÊN trở thành quan hệ NHÂNVIÊN với các thuộc tính tương ứng, trong khi CON trở thành quan hệ CON với các thuộc tính MãsốNV, Họtêncon, Ngàysinh, và Giớitính Quan hệ CON có khoá ngoài là MãsốNV và khoá chính là tổ hợp giữa Mã sốNV và Họtêncon.

Bước 3: Đối với mỗi kiểu liên kết 1:1 R trong lược đồ ER, cần xác định các quan hệ S và T tương ứng với các kiểu thực thể tham gia trong R Chọn một trong các quan hệ, chẳng hạn S, và đưa khoá chính của T vào làm khoá ngoài trong S Nên chọn S là một kiểu thực thể tham gia toàn bộ vào R Đồng thời, đưa tất cả các thuộc tính đơn hoặc các thành phần đơn của các thuộc tính phức hợp của kiểu liên kết 1:1 R vào làm các thuộc tính của S.

Một phương pháp khác để chuyển đổi mối liên kết 1:1 là kết hợp hai kiểu thực thể và mối liên kết thành một quan hệ duy nhất Cách này thường được sử dụng khi cả hai kiểu thực thể đều tham gia hoàn toàn vào mối liên kết.

Mô hình thực thể, quan hệ

Mô hình này được phát triển dựa trên nhận thức rằng thế giới thực mà chúng ta muốn phản ánh bao gồm một tập hợp các đối tượng cơ sở và các mối quan hệ (liên kết) giữa chúng.

- Thực thể (Entity): Là đối tƣợng có thực hay trừu tƣợng mà ta muốn ghi chép thông tin của nó

- Mối quan hệ (Relationship): Là liên kết giữa các thực thể phản ánh sự ràng buộc về mặt quản lý.

- Kiểu liên kết: Có 3 kiểu:

Thông thường liên kết 1- 1 được đưa về cùng một thực thể, liên kết n- n đƣợc tách thành 2 liên kết 1- n, bằng cách thêm 1 thực thể C B, C A

Cấu trúc tổng thể của một CSDL có thể đƣợc biểu thị bởi một biểu đồ E-

R, đƣợc thành lập từ các thành phần sau:

Hình chữ nhật biểu diễn các tập thực thể

Hình ellip biểu diễn các thuộc tính

Hình thoi biểu diễn các quan hệ

Các đường nối các thuộc tính với tập các thực thể và các tập thực thể với mối quan hệ.

Hình 2.5 Ví dụ mô hình E - R

Ví dụ 2: Cho 2 thực thể độc giả và sách, quan hệ là người mượn

Với thực thể độc giả có các thuộc tính: Mã thẻ độc giả, Tên độc giả, Địa chỉ

Với thực thể Sách có các thuộc tính Mã sách, tên sách, tác giả, năm xuất bản, nhà xuất bản Hãy vẽ biểuđồ E- R cho mô hình trên.

Mô hình dữ liệu quan hệ

Mô hình cơ sở dữ liệu Quan hệ (gọi tắt là mô hình Quan hệ) do E.F Codd đề xuất năm 1971 Mô hình này bao gồm:

- Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột nhƣ quan hệ, bộ, thuộctính, khóa chính, khoá ngoại,

- Một tập hợp các phép toán thao tác trên dữ liệu nhƣ phép toán tập hợp, phép toán quan hệ

Vì đặc trưng chặt chẽ của toán học trong lý thuyết tập hợp, mô hình này đã diễn đạt dữ liệu một cách rõ ràng và linh hoạt, trở nên phổ biến trong nhiều ứng dụng.

Ngày nay hầu hết các HQTCSDL đều tổ chức dữ liệu theo mô hình dữ liệu quan hệ

Xét một hệ thông tin phân phối hàng, hệ này quản lý hoạt động bán hàng cho khách Các kiểu thực thể chính của hệ thống bao gồm:

Kiểu thực thể Khách Hàng gồm các thuộc tính: Mã khách hàng (MaKH), Tên khách hàng (TenKH), tuổi (Tuoi), Địa chỉ khách hàng (DiaChi)

Kiểu thực thể Hàng Hoá gồm các thuộc tính: Mã hàng hoá (MaHang), Tên hàng hoá (TenHang), Giá (Gia), Màu sắc của mặt hàng (Mau), Đơn vị tính (DVT)

Kiểu thực thể Bán Hàng gồm các thuộc tính: MaKH, MaHang, số lƣợng (SoLuong) Ứng với mỗi kiểu thực thể ta có một bảng dữ liệu sau:

Một cơ sở dữ liệu theo mô hình quan hệ thực chất là một tập các bảng mà: Mỗi bảng gọi là một quan hệ/ kiểu thực thể/ tệp.

Mỗi hàng gọi là một bộ/ thực thể/ bản ghi.

Mỗi cột gọi là một thuộc tính/ trường.

Mô hình dữ liệu mạng

Mô hình dữ liệu mạng, hay còn gọi là mô hình mạng, là một dạng mô hình dữ liệu được thể hiện qua đồ thị có hướng Trong mô hình này, hai yếu tố chính là bản ghi và liên kết Bản ghi trong mô hình mạng tương tự như trong mô hình phân cấp, trong khi liên kết là tập hợp các con trỏ vật lý thiết lập mối quan hệ chủ sở hữu giữa các tập bản ghi khác nhau Ví dụ, bản ghi "đơn hàng" có thể liên kết với bản ghi "số lượng".

“số lƣợng” cũng có liên kết với bản ghi “ mặt hàng” và bản ghi “số lƣợng “ là thành viên của hai bản ghi chủ khác nhau

Mô hình mạng đã giải quyết vấn đề dư thừa dữ liệu của mô hình phân cấp, tuy nhiên, cấu trúc hệ thống trở nên phức tạp hơn do mỗi bản ghi không chỉ chứa nội dung thông tin mà còn bao gồm địa chỉ truy cập tới bản ghi thành viên Mỗi liên kết trong mô hình cần có nhãn để xác định rõ ràng các kết nối.

Dễ thể hiện mối liên kết n- n

Kiểu truy cập dữ liệu mềm dẻo hơn kiểu phân cấp Nhƣợc điểm:

Việc sửa đổi số liệu khó khăn

Với những lập trình viên, việc thiết kế CSDL khó.

Mô hình dữ liệu phân cấp

Mô hình dữ liệu phân cấp, hay còn gọi là mô hình phân cấp, ra đời vào những năm 60 và tổ chức dữ liệu theo cấu trúc cây Trong mô hình này, các nút (node) của cây đại diện cho các bản ghi, với các bản ghi liên kết thông qua mối quan hệ cha con.

Một cha có nhiều con.

Một con chỉ có một cha. Ƣu điểm:

Thể hiện dễ dàng quan hệ 1- n

Việc phân chia dữ liệu dễ thể hiện, đảm bảo an toàn dữ liệu

Tính độc lập của chương trình và các dữ liệu được đảm bảo Nhược điểm:

Không thể hiện đƣợc mối quan hệ n- n

Trong một hệ thống phân cấp, dữ liệu đƣợc tổ chức nhƣ trên dẫ đến khó sửa đổi dữ liệu.

Lặp lại dữ liệu, lãng phí bộ nhớ và tốn nhiều công sức tạo lập

Bài 1: Cho lƣợc đồ cơ sở dữ liệu dùng để quản lý hồ sơ sinh viên bao gồm các quan hệ Sv(sinh viên), Lop(Lớp), kh(khoa), Mh(môn học), Kq(kết quả) đƣợc mô tả bởi các lƣợc đồ quan hệ nhƣ sau:

Sv(MASV, HOTEN, NU, NGAYSINH, MALOP, TINH, HOCBONG)

Tân từ: Mỗi sinh viên có mỗi MASV duy nhất Mỗi MASV xác định tất cả các thuộc tính cònlại của sinh viên đó.

Lop(MALOP, TENLOP, SISO, MAKHOA)

Tân từ: Mỗi lớp có một mã lớp duy nhất, mỗi lớp chỉ thuộc về một khoa nào đó.

Tân từ: Mỗi khoa có mỗi MAKHOA duy nhất Mỗi MAKHOA xác định tất cả các thuộc tính còn lại của khoa đó

Tân từ: Môi Môn học có một MAMH duy nhất Mỗi MAMH xác định tất cả các thuộc tính còn lại của môn học đó.

Tân từ: Mỗi sinh viên cùng với một môn học xác định duy nhất một điểm thi Yêu cầu:

1 Tìm khóa cho mỗi lƣợc đồ quan hệ trên.

2 Hãy thực hiện các câu hỏi sau bằng ngôn ngữ đại số quan hệ a Lập danh sách sinh viên gồm MASV, HOTEN, HOCBONG b Lập danh sách sinh viên nữ khoa „CNTT‟,danh sách cần MASV, HOTEN, HOCBONG c Lập bảng điểm cho tất cả sinh viên khoa „CNTT‟, bảng điểm gồm các cột MASV, HOTEN, TENMH, DIEMTHI d Lập phiếu điểm cho sinh viên có MASV=”99001” e Lập danh sách sinh viên gồm MASV,HOTEN,TENLOP, TENKHOA f Lập bảng điểm môn học có mã môn học là CSDL cho tất cả sinh viên có mã lớp là “CĐTH2B” g Lập danh sách sinh viên của lớp có mã lớp là “CĐTH2B” và có điểm thi môn học lớn hơn hay bằng 8

Bài 2: Dựa vào các phân tích sơ bộ dưới đây, hãy lập Sơ đồ thực thể liên kếtcho mỗi bài toán quản lý sau:

Công ty xây dựng ABC thực hiện quản lý lao động hiệu quả bằng cách phân công rõ ràng nhiệm vụ cho từng nhân viên tham gia vào các công trình xây dựng.

Công ty có khả năng tham gia xây dựng nhiều công trình đồng thời, mỗi công trình được xác định bằng một mã số duy nhất (MACT) Mỗi mã số này chứa các thông tin quan trọng như tên công trình (TENCT), địa điểm (ĐIAĐIEM), ngày cấp giấy phép xây dựng (NGAYCAPGP), ngày khởi công (NGAYKC) và ngày hoàn thành (NGAYHT).

Mỗi nhân viên tại công ty ABC được cấp một mã số nhân viên (MANV) duy nhất, giúp xác định các thông tin cá nhân như họ tên (HOTEN), ngày sinh (NGAYSINH), phái (PHAI) và địa chỉ (ĐIACHI) Nhân viên thuộc sự quản lý hành chính của các phòng ban, trong đó mỗi phòng ban quản lý nhiều nhân viên Công ty ABC có nhiều phòng ban như phòng kế toán, phòng kinh doanh, phòng kỹ thuật, phòng tổ chức, phòng chuyên môn và phòng phục vụ Mỗi phòng ban cũng được cấp một mã số phòng ban (MAPB) duy nhất, xác định tên phòng ban (TENPB).

Công ty phân công nhân viên tham gia vào nhiều công trình khác nhau, với mỗi công trình có thể có nhiều nhân viên tham gia Mỗi nhân viên có một số ngày công (SLNGAYCONG) nhất định đã tham gia vào từng công trình.

Một thƣ viện tổ chức việc cho mƣợn sách nhƣ sau:

Mỗi quyển sách được gán một mã sách (MASH) để phân biệt với các quyển khác, bao gồm cả những tác phẩm có nhiều bản hoặc nhiều tập khác nhau Mã sách không chỉ giúp nhận diện sách mà còn xác định các thông tin quan trọng như tên sách (TENSACH), tên tác giả (TACGIA), nhà xuất bản (NHAXB) và năm xuất bản (NAMXB).

Mỗi độc giả sẽ được cấp một thẻ thư viện, trên thẻ có ghi mã độc giả (MAĐG) cùng với các thông tin cá nhân như họ tên (HOTEN), ngày sinh (NGAYSINH), địa chỉ (ĐIACHI) và nghề nghiệp (NGHENGHIEP).

Mỗi lần mượn sách, độc giả cần ghi lại các quyển sách cần mượn trên một phiếu mượn, mỗi phiếu sẽ có một số phiếu mượn (SOPM) duy nhất Phiếu mượn này chứa thông tin quan trọng như ngày mượn (NGAYMUON), tên độc giả, danh sách các quyển sách mượn và ngày trả (NGAYTRA) Lưu ý rằng các quyển sách trong cùng một phiếu mượn không nhất thiết phải được trả vào cùng một ngày.

Mỗi khách hàng được gán một mã khách hàng (MAKH) duy nhất, giúp xác định thông tin như họ tên (HOTEN), địa chỉ (ĐIACHI) và số điện thoại (ĐIENTHOAI) Các mặt hàng được phân loại theo nhóm, với mỗi nhóm hàng có mã nhóm (MANHOM) riêng, xác định tên nhóm (TENNHOM) và có thể chứa nhiều mặt hàng Mỗi mặt hàng cũng có mã số (MAHANG) riêng, xác định tên hàng (TENHANG), đơn giá bán (ĐONGIA) và đơn vị tính (ĐVT) Mỗi hóa đơn bán hàng được đánh số hóa đơn (SOHĐ) duy nhất, ghi nhận khách hàng và ngày lập hóa đơn (NGAYLAPHĐ) cũng như ngày bán hàng (NGAYBAN) Thông tin về số lượng bán (SLBAN) của từng mặt hàng trong hóa đơn cũng được ghi chú.

QUẢN LÝ LỊCH DẠY - HỌC Để quản lý lịch dạy của các giáo viên và lịch học của các lớp, một trường tổ chức nhƣ sau:

Mỗi giáo viên được cấp một mã số giáo viên (MAGV) duy nhất, giúp xác định thông tin như họ tên (HOTEN) và số điện thoại (DTGV) Dù một giáo viên có thể giảng dạy nhiều môn học cho nhiều khoa khác nhau, nhưng họ chỉ thuộc sự quản lý hành chính của một khoa nhất định.

Mỗi môn học được xác định bởi một mã số môn học (MAMH) duy nhất và tên môn học (TENMH) tương ứng Đối với mỗi lớp học, mỗi môn học chỉ được phân công cho một giáo viên duy nhất.

Mỗi phòng học được xác định bởi một mã số duy nhất (SOPHONG) và có chức năng riêng biệt (CHUCNANG), như phòng lý thuyết, phòng thực hành máy tính, phòng nghe nhìn, và xưởng thực tập cơ khí.

Mỗi khoa có một mã khoa (MAKHOA) duy nhất, mỗi khoa xác định các thông tin nhƣ: tên khoa (TENKHOA), điện thoại khoa(DTKHOA)

Mỗi lớp học được xác định bằng một mã lớp (MALOP) duy nhất, kèm theo tên lớp (TENLOP) và sĩ số lớp (SISO) Mặc dù mỗi lớp có thể học nhiều môn từ các khoa khác nhau, nhưng nó chỉ thuộc sự quản lý hành chính của một khoa nhất định.

Mô hình cơ sở dữ liệu quan hệ

Các khái niệm

Dữ liệu lưu trong CSDL được tổ chức thành các bảng 2 chiều (table)

Mỗi bảng đƣợc gọi là một quan hệ

- Chứa dữ liệu của một tập thực thể hoặc một tập liên kết

Mỗi dòng chứa các giá trị tương ứng với dữ liệu của một thực thể hoặc một liên kết

Mỗi dòng có 1 hoặc nhiều giá trị dùng để phân biệt giữa các dòng

Các giá trị trong cùng một cột có cùng một kiểu dữliệu. b Thuộc tính

Tên các cột của quan hệ

Mỗi thuộc tính có một kiểu dữ liệu cơ sở

- Chuỗi ký tự (string), số nguyên (integer), số thực (real), Các kiểu dữ liệu phức không đƣợc áp dụng

- Tập hợp (set), danh sách (list), mảng (array), c Miền giá trị

Tập hợp các giá trị nguyên tử gắn với thuộc tính Có tên, kiểu dữ liệu, khuôn dạng và mô tả

- Kiểu dữ liệu: chuỗi ký tự

- Mô tả: Miền giá trị của sốđiện thoại của nhân viên d Bộ dữ liệu, lƣợc đồ quan hệ

- Là các dòng của quan hệ không kể dòng tên của các thuộc tính.

- Mỗi bộ chứa các giá trị cụ thể của các thuộc tính

Lƣợc đồ quan hệ: Tạo thành từ tên của quan hệ và danh sách các thuộc tính NHANVIEN(MaNV, Ho, Ten, Ngaysinh, Gioitinh) e Định nghĩa hình thức

A1, , An là các thuộc tính

Di là miền giá trị của thuộc tính Ai, i = 1, ,n

- Bậc của R là số lƣợng thuộc tính của lƣợc đồ

Quan hệ - Trạng thái quan hệ

Trong lược đồ quan hệ R, r(R) = r = {t1, , tm} đại diện cho quan hệ, trong đó mỗi tuple tj = là danh sách có thứ tự của n giá trị vi thuộc tập Di hoặc vi = null (giá trị rỗng) tương ứng với thuộc tính Ai Thành phần thứ i của bộ t được ký hiệu là t[Ai] hoặc t[i] Các đặc trưng của quan hệ này rất quan trọng trong việc xác định cấu trúc và tính chất của dữ liệu.

Trong một quan hệ không có các bộ trùng nhau

- Thứ tự của các bộ trong quan hệ:

+ Về mặt toán học, giữa các bộ trong quanhệ không có bất kỳ thứ tự nào

+ Nhiều thứ tự logic đƣợc xác định trên quan hệ khi nó đƣợc cài đặt nhƣ một tập tin hoặc hiển thị nhƣ một bảng

- Thứ tự của các giá trị trong bộ:Sự sắp xếp của các giá trị trong một bộ là quan trọng

- Giá trị và giá trị rỗng (null) trong bộ

+ Các thuộc tính gộp và thuộc tính đa trị không đƣợc phép tồn tại

+ Giá trị rỗng đƣợc dùng để biểu diễn các giá trị chƣa xác định hoặc không thể áp dụng cho các thuộc tính.

Ràng buộc toàn vẹn

Trong cơ sở dữ liệu (CSDL), tồn tại nhiều mối liên hệ giữa các thuộc tính và các bộ, có thể diễn ra trong cùng một quan hệ hoặc giữa các quan hệ khác nhau Những mối liên hệ này tạo thành các điều kiện bất biến mà tất cả các bộ của các quan hệ liên quan trong CSDL cần phải tuân thủ tại mọi thời điểm Các điều kiện này được gọi là ràng buộc toàn vẹn.

Ràng buộc toàn vẹn là các quy tắc quản lý áp dụng cho các đối tượng trong thế giới thực, đảm bảo tính chính xác và duy nhất Ví dụ, mỗi sinh viên cần có một mã sinh viên duy nhất, hai thí sinh dự thi vào cùng một trường phải có số báo danh khác nhau, và một sinh viên chỉ được thi một môn học tối đa 3 lần.

Nhiệm vụ của người phân tích thiết kế là phát hiện và mô tả đầy đủ các ràng buộc toàn vẹn trong hồ sơ phân tích thiết kế, điều này rất quan trọng Ràng buộc toàn vẹn là công cụ thể hiện ngữ nghĩa của cơ sở dữ liệu (CSDL) Một CSDL được thiết kế cồng kềnh nhưng đầy đủ ngữ nghĩa sẽ có giá trị cao hơn nhiều so với một thiết kế gọn nhẹ nhưng nghèo nàn về ngữ nghĩa do thiếu ràng buộc toàn vẹn.

Kiểm tra ràng buộc toàn vẹn là quy trình quan trọng diễn ra trong quá trình cập nhật dữ liệu, bao gồm thêm, sửa và xoá Các ràng buộc này cần được ghi nhận và xử lý một cách rõ ràng, thường thông qua một hàm chuẩn hoặc đoạn chương trình cụ thể.

Ràng buộc toàn vẹn và kiểm tra vi phạm ràng buộc toàn vẹn là những yếu tố quan trọng trong phân tích thiết kế cơ sở dữ liệu Nếu không chú trọng đến các vấn đề này, có thể dẫn đến hậu quả nghiêm trọng về tính an toàn và toàn vẹn dữ liệu, đặc biệt trong các cơ sở dữ liệu lớn.

3.2.2 Các yếu tố của ràng buộc toàn vẹn

Mỗi ràng buộc toàn vẹn bao gồm bốn yếu tố chính: điều kiện, bối cảnh, bảng tầm ảnh hưởng và hành động cần thực hiện khi phát hiện vi phạm Điều kiện của ràng buộc toàn vẹn được mô tả và biểu diễn qua nhiều hình thức như ngôn ngữ tự nhiên, ngôn ngữ đại số quan hệ, ngôn ngữ mã giả và ngôn ngữ truy vấn SQL Ngoài ra, điều kiện này cũng có thể được thể hiện bằng phụ thuộc hàm, một khái niệm sẽ được thảo luận trong chương 5.

Sau đây là một số ràng buộc toàn vẹn trên lƣợc đồ CSDL quản lý sinh viên.

Mỗi lớp học phải có một mã số duy nhất để phân biệt với các lớp học khác trong trường

Mỗi lớp học phải thuộc về một khoa của trường

Mỗi sinh viên có một mã số sinh viên duy nhất, không trùng với bất cứ sinh viên nào trong trường

Mỗi học viên phải đăng ký vào một lớp học trong trường

Mỗi học viên chỉ đƣợc thi tối đa 3 lần cho mỗi môn học

Tổng số học viên của một lớp phải lớn hơn hoặc bằng số lƣợng đếm đƣợc của một lớp tại một thời điểm nào đó b.Bối cảnh

Ràng buộc toàn vẹn được áp dụng trong các quan hệ dữ liệu có hiệu lực, đòi hỏi phải được kiểm tra trong quá trình cập nhật dữ liệu Bối cảnh của ràng buộc toàn vẹn có thể bao gồm một hoặc nhiều quan hệ khác nhau.

Chẳng hạn với ràng buộc toàn vẹn R trên thì bối cảnh của nó là quan hệ Sinhvien c Bảng tầm ảnh hưởng

Trong quá trình phân tích thiết kế cơ sở dữ liệu (CSDL), người phân tích cần tạo bảng tầm ảnh hưởng cho các ràng buộc toàn vẹn Điều này giúp xác định thời điểm thích hợp để kiểm tra dữ liệu khi thực hiện cập nhật.

Thời điểm cần phải kiểm tra ràng buộc toàn vẹn chính là thời điểm cập nhật dữ liệu

Một bảng tầm ảnh hưởng của một ràng buộc toàn vẹn có dạng sau:

Bảng 3.1 Bảng tầm ảnh hưởng

Bảng này chứa toàn các ký hiệu + , - hoặc - (*)

Chẳng hạn + tại (dòng r 1 , cột Thêm) thì có nghĩa là khi thêm một bộ vào quan hệ r 1 thì RBTV bị vi phạm

Dấu - Tại ô (dòng r 2 , cột sửa) thì có nghĩa là khi sửa một bộ trên quan hệ r 2 thì RBTV không bị vi phạm

- Không đƣợc sửa thuộc tính khoá

- Nếu không bị vi phạm do không đƣợc phép sửa đổi thì ký hiệu là - (*) d.Hành động cần phải có khi phát hiện có RBTV bị vi phạm:

Khi một ràng buộc toàn vẹn bị vi phạm, cần có những hành động thích hợp Thông thường có 2 giải pháp:

Để đảm bảo tính nhất quán dữ liệu, cần đưa ra thông báo và yêu cầu sửa chữa các thuộc tính sao cho phù hợp với quy tắc Thông báo này cần phải đầy đủ và thân thiện với người sử dụng, giúp quá trình xử lý diễn ra hiệu quả trong thời gian thực.

Vào thứ Hai, việc từ chối thao tác cập nhật là giải pháp thích hợp cho quá trình xử lý theo lô Cần ghi lại rõ ràng và đầy đủ lý do từ chối thao tác, đồng thời chỉ ra các dữ liệu cần được sửa chữa.

Khóa nội, khóa ngoại và giá trị NOT NULL là các ràng buộc toàn vẹn quan trọng trong cơ sở dữ liệu, đảm bảo tính chính xác và nhất quán của các thuộc tính Những ràng buộc này đóng vai trò thiết yếu trong việc duy trì tính toàn vẹn dữ liệu trong hệ thống cơ sở dữ liệu.

Các hệ quản trị cơ sở dữ liệu thường tích hợp các cơ chế tự động để kiểm tra các ràng buộc toàn vẹn như miền giá trị của khóa nội, khóa ngoại và giá trị NOT NULL Việc kiểm tra các ràng buộc toàn vẹn này có thể được thực hiện tại nhiều thời điểm khác nhau trong quy trình quản lý dữ liệu.

Sau khi thực hiện thao tác cập nhật cơ sở dữ liệu (CSDL), cần kiểm tra ngay để đảm bảo tính hợp lệ Thao tác cập nhật chỉ được coi là hợp lệ nếu không vi phạm bất kỳ ràng buộc toàn vẹn nào, tức là không làm mất tính toàn vẹn của CSDL Nếu có vi phạm ràng buộc toàn vẹn, thao tác cập nhật sẽ bị coi là không hợp lệ và hệ thống sẽ hủy bỏ hoặc thực hiện xử lý thích hợp.

Kiểm tra định kỳ hoặc đột xuất là quá trình kiểm tra ràng buộc toàn vẹn một cách độc lập, không phụ thuộc vào việc cập nhật dữ liệu Trong trường hợp phát hiện vi phạm ràng buộc toàn vẹn, hệ thống sẽ thực hiện các xử lý ngầm định hoặc yêu cầu người sử dụng sửa chữa các sai sót một cách rõ ràng.

3.2.3 Phân loại ràng buộc toàn vẹn

Trong quá trình phân tích thiết kế cơ sở dữ liệu (CSDL), người phân tích cần phát hiện tất cả các ràng buộc toàn vẹn tiềm ẩn Việc phân loại các ràng buộc toàn vẹn giúp người phân tích có định hướng rõ ràng, từ đó giảm thiểu khả năng bỏ sót Các ràng buộc toàn vẹn có thể được chia thành hai loại chính.

Các phép tính trên cơ sở dữ liệu quan hệ

3.3.1 Các phép toán tập hợp

Cho hai lƣợc đồ quan hệ R(A1, A2, , An) và S(B1, B2, , Bm) đƣợc gọi là khả hợp nếu:

Miền giá trị (DOM) của các thuộc tính tương ứng giữa hai quan hệ R và S là bằng nhau, tức là DOM(Ai) = DOM(Bi) với 1 ≤ i ≤ n Định nghĩa phép hợp cho hai quan hệ khả hợp R và S là một quan hệ mới, được kí hiệu là R ∪ S.

R∪S, và là tập tất cả các bộ t sao cho tR hoặc tS

Biểu diễn hình thức phép hợp có dạng:

Phép hợp chỉ áp dụng cho các quan hệ cùng ngôi, do đó tất cả các bộ trong kết quả sẽ có số lượng thành phần giống nhau Khi thực hiện phép hợp, tên thuộc tính trong các quan hệ sẽ không được xem xét, và quan hệ thu được có thể được gán các thuộc tính tùy ý, nhưng thứ tự của các thuộc tính trong các quan hệ phải được tôn trọng Những quy tắc này cũng tương tự đối với các phép toán khác như hiệu, giao và tích Đề- các.

Giao của hai quan hệ R và S khả hợp là một quan hệ, ký hiệu R  S,và là tập tất cả các bộ t sao cho t thuộc cả R và S.

Biểu diễn hình thức phép giao có dạng:

Phép giao của 2 quan hệ R và S có thể biểu diễn qua phép trừ:

Hiệu của hai quan hệ R và S khả hợp là một quan hệ, ký hiệu là R - S, và là tập tất cả các bộ t sao cho t thuộc R nhƣng không thuộc S.

Biểu diễn hình thức có dạng:

R là quan hệ n ngôi và S là quan hệ m ngôi Tích Đề- các của hai quan hệ

R và S ký hiệu là R x S là tập tất cả (n+m) bộ với n thành phần đầu là một bộ thuộc R và m thành phần sau là của một bộ thuộc S

Biểu diễn hình thức có dạng:R x S = {t/t có dạng: (a1, a2, , an, b1, b2, bm) Trong đó: (a1, a2, , an) R và (b1, b2, bm) S}

Để tạo ra một bộ tích Đề-các, chúng ta cần kết hợp một bộ từ tập hợp R với một bộ từ tập hợp S Kết quả của phép tích Đề-các được hình thành bằng cách ghép từng phần tử của bộ R với từng phần tử của bộ S.

3.3.2 Các phép toán quan hệ a Phép chiếu

Cho quan hệ R(A1, A2, , An), X  (A1, A2, , An)

Phép chiếu quan hệ R trên tập thuộc tính X là một quan hệ trên tập thuộc tính X, ký hiệu là X(R) và đƣợc biểu diễn hình thức là:

Trong đó: t[X] là giá trị của bộ t trên tập thuộc tính X.

Phép chọn là quá trình tạo ra một tập con từ các bộ của quan hệ đã cho, dựa trên biểu thức F đã được xác định Biểu thức F được thể hiện dưới dạng tổ hợp Boolean của các toán hạng, trong đó mỗi toán hạng là một phép so sánh đơn giản giữa hai biến (thuộc tính) hoặc giữa một biến (thuộc tính) và một hằng số, cho kết quả "đúng" hoặc "sai" khi kiểm tra từng bộ dữ liệu.

Các phép toán so sánh trong biểu thức F là , = và ≠

Các phép toán logic là ^ (và),  (hoặc),  (không).

Cho quan hệ R(A1, A2, , An) Phép chọn quan hệ R với điều kiện F là một quan hệ trên tập thuộc tính (A1, A2, , An), ký hiệu là F(R)

Hình thức hóa phép chọn đƣợc định nghĩa nhƣ sau:

F(t) là giá trị của biểu thức F đối với bộ t

Ví dụ 2.9:Cho quan hệ sau:

Gọi  là một trong những phép so sánh {=, =, }

Phép kết nối  của quan hệ R đối với thuộc tính A và quan hệ S đối với thuộc tính B là những bộ t của tích Đề- các R x S sao cho t[A]  t[B]

R AB S = {t | t R x S và t[A]  t[B]} = A  B (Rx S) Để thực hiện phép kết nối trên, ta thực hiện:

Chọn các bộ tử R x S thỏa mãn t[A]  t[B], trong đó khi phép so sánh  là "=" thì gọi là kết nối bằng Đối với hai thuộc tính cùng tên A, kết quả thu được sẽ loại bỏ cột S A, và kết nối này được gọi là "kết nối tự nhiên", ký hiệu bằng "*".

Kết quả của phép kết nối tự nhiên:

Khi A1, A2, , Ak là các thuộc tính giống nhau trong hai bảng R và S, tích Đề R*S sẽ bao gồm tất cả các bộ của tích R x S thỏa mãn điều kiện R.A1 = S.A1, R.A2 = S.A2, , R.Ak = S.Ak Kết quả sẽ loại bỏ các cột S.A1, S.A2, , S.Ak.

Bài 1: Việc tổ chức kỳ thi tốt nghiệp của một khoa nhƣ sau:

Mỗi thí sinh được cấp một Mã số sinh viên duy nhất (MASV), giúp xác định các thông tin cá nhân như họ và tên (HOTEN), ngày sinh (NGAYSINH), nơi sinh, giới tính, và dân tộc.

Mỗi lớp học được phân biệt bằng một mã lớp (MALOP) duy nhất, chứa thông tin về tên lớp (TENLOP) và thuộc sự quản lý của một khoa cụ thể Tương tự, mỗi khoa cũng có một mã khoa (MAKHOA) riêng, xác định tên khoa (TENKHOA) của mình.

Mỗi thí sinh phải tham gia thi tốt nghiệp ba môn, với mỗi môn có mã môn thi (MAMT) duy nhất, xác định thông tin như tên môn (TENMT), thời gian làm bài (PHUT), ngày thi (NGAYTHI), buổi thi (BUOITHI), và loại hình thi (LYTHUYET) Nếu môn học thi ở nhiều hệ, sẽ có MAMT khác nhau, và cần ghi chú (GHICHU) để chỉ rõ khối trung cấp hay cao đẳng Mỗi thí sinh có một điểm thi (DIEMTHI) duy nhất, chấm theo thang điểm 10 với điểm lẻ 0.5 Để đậu tốt nghiệp, thí sinh phải có điểm thi của tất cả các môn từ 5 trở lên.

Trong một kỳ thi, thí sinh từ nhiều lớp có thể cùng tham gia trong một phòng thi Mỗi thí sinh có thể thi tại các phòng thi khác nhau cho từng môn học Chẳng hạn, một thí sinh thi tốt nghiệp ba môn: Cơ sở dữ liệu, Lập trình C và Visual Basic, sẽ thi môn Cơ sở dữ liệu và Lập trình C tại phòng A3.4, trong khi môn thực hành Visual Basic sẽ diễn ra tại phòng máy H6.1.

Qua phân tích sơ bộ trên, ta có thể lập một lƣợc đồ cơ sở dữ liệu nhƣ sau: THISINH(MASV, HOTEN, NGAYSINH, MALOP)

MONTHI(MAMT,TENMT,LYTHUYET,PHUT,NGAYTHI,BUOITHI, GHICH)

Hãy phát biểu các ràng buộc toàn vẹn có trong cơ sở dữ liệu trên

Bài 2:Cho lƣợc đồ cơ sở dữ liệu ở bài tập 1 Thực hiện các yêu cầu sau bằng ngôn ngữ SQL: a Lập bảng điểm môn thi có mã môn thi là "CSDL02" cho tất các thí sinh có mã lớp là "CNTTK10D5" danh sách cần MASV, HOTEN, NGAYSINH, DIEMTHI và đƣợc sắp xếp tăng dần theo MASV b Hãy thống kê xem mỗi môn thi có bao nhiêu thí sinh có điểm thi lớn hơn hay bằng 5?

Danh sách cần thiết bao gồm các thuộc tính MAMT, TENMT, GHICHU và SOLUONG, trong đó SOLUONG là thuộc tính tùy chỉnh Cần lập danh sách thí sinh đậu tốt nghiệp với các thuộc tính MASV, HOTEN, NGAYSINH, DIEMTONG, trong đó DIEMTONG là tổng điểm thi của ba môn thi và cũng là thuộc tính tùy chỉnh Để mở rộng bài toán, cần xem xét hai hướng: quản lý kỳ thi tốt nghiệp cho tất cả các khoa trong trường và quản lý thông tin về phòng thi (PHONGTHI) của mỗi thí sinh, từ đó điều chỉnh lược đồ cơ sở dữ liệu cho phù hợp.

Ngôn ngữ thao tác dữ liệu

Ngôn ngữ truy vấn dữ liệu SQL

Lý thuyết thiết kế cơ sở dữ liệu

Ngày đăng: 29/05/2022, 13:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Tuệ. Giáo trình nhập môn hệ cơ sở dữ liệu. Nhà xuất bản giáo dục, năm 2007 Khác
2. Phạm Đức Nhiệm. Giáo trình cơ sở dữ liệu quan hệ. Nhà xuất bản Hà Nội, năm 2012 Khác
3. Tô Văn Nam. Giáo trình cơ sở dữ liệu. Nhà xuất bản giáo dục, năm 2009 Khác
4. Đỗ Trung Tuấn. Cơ sở dữ liệu. Nhà xuất bản giáo dục, năm 2009 Khác
5. Nguyễn Xuân Huy, Lê Hoài Bắc. Bài tập cơ sở dữ liệu. Nhà xuất bản thống kê, năm 2009 Khác
6. Trần Đức Quang, Hồ Thuần, Cơ sở dữ liệu và cơ sở tri thức tâp1, tập 2, NXB Thống kê, 2003 Khác

HÌNH ẢNH LIÊN QUAN

Hình  2. 1. Ví dụ về thực thể - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
nh 2. 1. Ví dụ về thực thể (Trang 12)
Hình  2. 2. Thuộc tính của thực thể HOCVIEN - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
nh 2. 2. Thuộc tính của thực thể HOCVIEN (Trang 13)
Hình  2. 4. Ví dụ về mối kết hợp qua lại - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
nh 2. 4. Ví dụ về mối kết hợp qua lại (Trang 14)
Hình  2. 3. Ví dụ về mối kết hợp - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
nh 2. 3. Ví dụ về mối kết hợp (Trang 14)
Hình chữ nhật biểu diễn các tập thực thể Hình ellip biểu diễn các thuộc tính  Hình thoi biểu diễn các quan hệ - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình ch ữ nhật biểu diễn các tập thực thể Hình ellip biểu diễn các thuộc tính Hình thoi biểu diễn các quan hệ (Trang 18)
Bảng 2.2: Hàng hoá - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Bảng 2.2 Hàng hoá (Trang 19)
Bảng Khách Hàng - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
ng Khách Hàng (Trang 19)
Bảng 3.1. Bảng tầm ảnh hưởng - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Bảng 3.1. Bảng tầm ảnh hưởng (Trang 30)
Hình 3.2. Ví dụ ràng buộc toàn vẹn về phụ thuộc tồn tại - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 3.2. Ví dụ ràng buộc toàn vẹn về phụ thuộc tồn tại (Trang 33)
Hình 3.3. Ví dụ ràng buộc toàn vẹn về miền giá trị - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 3.3. Ví dụ ràng buộc toàn vẹn về miền giá trị (Trang 33)
Hình 3.1.Ràng buộc toàn vẹn về khoá chính - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 3.1. Ràng buộc toàn vẹn về khoá chính (Trang 33)
Hình 3.5. Ví dụ ràng buộc toàn vẹn liên thuộc tính liên quan hệ - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 3.5. Ví dụ ràng buộc toàn vẹn liên thuộc tính liên quan hệ (Trang 34)
Hình 3.4. Ví dụ ràng buộc toàn vẹn liên thuộc tính - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 3.4. Ví dụ ràng buộc toàn vẹn liên thuộc tính (Trang 34)
Hình thức hóa phép chọn đƣợc định nghĩa nhƣ sau: - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình th ức hóa phép chọn đƣợc định nghĩa nhƣ sau: (Trang 37)
Hình 5.1. Tab Database Tools - Giáo trình Cơ sở dữ liệu (Nghề Kỹ thuật sửa chữa, lắp ráp máy tính  Cao đẳng)
Hình 5.1. Tab Database Tools (Trang 52)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w