Cơ sở dữ liệu - bài 7 + 8 pps

23 333 0
Cơ sở dữ liệu - bài 7 + 8 pps

Đ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

Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 1 B B à à i i 7 7 + + 8 8 Hai bài này giới thiệu sơ lược về mô hình hóa dữ liệu và biến ñổi mô hình ñó về các bảng của mô hình quan hệ. 1./ Tng quan v mô hình hóa d liu Mô hình hóa là một bước rất quan trọng khi phát riển phần mềm và xây dựng CSDL. Một mô hình dữ liệu là biểu diễn ở mức khái niệm cấu trúc dữ liệu của CSDL. Cấu trúc dữ liệu bao gồm các ñối tượng, mối liên kết giữa các ñối tượng và các qui tắc chi phối các ñối tượng. Mô hình chỉ tập trung vào việc nhận thức rõ cái gì là cần và cần ñược tổ chức như thế nào. Người ta thường không quan tâm nhiều ñến các phép toán thực hiện trên các ñối tượng, chủ yếu quan tâm chúng là gì và chúng liên kết với nhau như thế nào. Có thể hình dung một cách trực quan là mô hình dữ liệu giống với kiến trúc một tòa nhà. Mô hình dữ liệu hoàn toàn ñộc lập với phần cứng và phần mềm. Mô hình dữ liệu không phải là biểu diễn theo một HQT CSDL cụ thể nào, mục ñích của nó là biểu diễn cho người dùng xem và nó phải thể hiện gần với thế giới thực nhất. Mô hình dữ liệu ñồng thời phải ñóng vai trò cầu nối giữa các sự kiện và qui trình của thế giới thực với các khái niệm cơ bản trong CSDL. § Phương pháp tiếp cận Trong thực tế hiện nay, mô hình hóa dữ liệu có hai phương pháp tiếp cận chính là cách tiếp cận theo mô hình quan hệ thực thể (Entity Relationship – ER) và cách tiếp cận theo mô hình ñối tượng dữ liệu. Bài này chỉ quan tâm ñến mô hình ER. § Mô hình hóa dữ liệu ñặt trong ngữ cảnh của Thiết kế CSDL Trước hết ta phải cùng thống nhất về khái niệm Thiết kế CSDL. Thiết kế CSDL là gì? “Thiết kế CSDL là thiết kế cấu trúc logic và cấu trúc vật lý của một hoặc nhiều CSDL nhằm thỏa mãn nhu cầu thông tin của người dùng trong một tổ chức nào ñó với một tập hợp các ứng dụng ñã ñược xác lập rõ ràng”. Qui trình thiết kế gồm các bước chính sau: 1. Khảo sát, phân tích, lập kế hoạch 2. Thiết kế mức khái niệm 3. Thiết kế logic 4. Thiết kế vật lý 5. Thiết kế cơ chế cài ñặt, chuyển giao, chạy thử và vận hành Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 2 Bước 2 trên ñây của thiết kế CSDL có mối quan hệ chặt chẽ với mô hình hóa dữ liệu. Các phần khác ít nhiều liên quan ñến việc thiết kế chức năng. Nói cụ thể hơn trong mô hình CSDL quan hệ, mô hình hóa dữ liệu chính là thiết kế các bảng, còn thiết kế chức năng chính là thiết kế các câu truy vấn, trong ñó bao gồm cả truy vấn cập nhật và truy vấn kết xuất thông tin. § Các hợp phần của mô hình hóa dữ liệu Đầu vào của mô hình hóa dữ liệu là kết quả khảo sát, phân tích và lập kế hoạch (bước 1 nói trên). Người lập mô hình ñồng thời cũng là người thu thập thông tin, thu thập các ñặc tả về yêu cầu của người dùng cuối và có thể phải tiếp xúc, phỏng vấn người dùng về các nhu cầu trong các ứng dụng sau này của họ. Mô hình hóa phải có 2 kết quả ñầu ra. Đầu ra thứ nhất là sơ ñồ quan hệ thực thể (Entity Relationship Diagram - ERD) và sơ ñồ ñồ này phải mô tả ñược cấu trúc và quan hệ dữ liệu dưới dạng hình vẽ. Sơ ñồ là một công cụ rất hữu hiệu trong giao lưu thông tin với người dùng cuối. Đầu ra thứ hai là tài liệu thiết kế. Tài liệu thiết kế mô tả một cách chi tiết các ñối tượng, các mối quan hệ và các ràng buộc giữa chúng. Bên cạnh ñó, tùy theo mức ñộ, người ta có thể cần ñến cả từ ñiển dữ liệu, ñể xây dựng các bảng cụ thể theo HQT CSDL cụ thể. Tóm lại: Đầu vào: khảo sát, phân tích, kế hoạch Đầu ra: ERD, tài liệu thiết kế, từ ñiển dữ liệu § Tại sao lại cần ñến mô hình hóa dữ liệu Mô hình hóa là một công ñoạn rất tốn thời gian và công sức trong quá trình phát triển ứng dụng. Câu hỏi ñặt ra là liệu có cần ñến công ñoạn này hay không, ñặc biệt là ñối với các dự án cần thực hiện nhanh do sức ép về tiến ñộ và thời gian? Câu trả lời rất ñơn giản: xây dựng một CSDL thiếu mô hình hóa dữ liệu cũng giống như xây nhà không có thiết kế. Mục tiêu của một mô hình dữ liệu là tất cả các ñối tượng cần thiết ñều có trong bản thiết kế. Vì mô hình dữ liệu sử dụng các thuật ngữ thông thường và ký hiệu dễ hiểu nên rất dễ kiểm tra, sửa ñổi và người dùng có thể kiểm tra tính ñúng ñắn của nó so với nghiệp vụ của họ. Mặt khác, mô hình dữ liệu cũng ñạt ñược mức ñộ chi tiết cần thiết và ñó là cơ sở ñể ñưa ra bản thiết kế trong HQT CSDL một cách dễ dàng. Các số liệu trong mô hình sẽ ñược sử dụng ñể thiết lập các bảng, các khóa chính, khóa ngoại, các thủ tục lưu (stored procedures) và các bẫy (triggers). Một bản thiết kế tồi sẽ dẫn ñến các công việc sau này bị rối và làm cho việc thực hiện bị chậm trễ. Các bản thiết Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 3 kế tồi thường dẫn ñến thiếu thông tin, mối quan hệ không ñúng dẫn ñến dữ liệu bất nhất và làm cho các nghiệp vụ không ñược ñảm bảo. Nói tóm lại, mô hình dữ liệu là một kế hoạch cụ thể xây dựng CSDL. Để nâng cao tính hiệu quả, mô hình phải ñơn giản ñể cho người dùng có thể hiểu ñược cấu trúc và ñồng thời cũng phải ñủ chi tiết ñể thiết lập dễ dàng CSDL quan hệ. Mô hình quan hệ thực thể (ER) là mô hình ñược sử dụng một cách rộng rãi trong thiết kế CSDL quan hệ. 2./ Mô hình quan h thc th (Entity-Relationship Model) Năm 1976, Peter Cheng ñề xuất mô hình ER với mục tiêu là thống nhất mô hình mạng với mô hình quan hệ. Một cách ñơn giản, mô hình ER phân chia thế giới thành các thực thể và quan hệ giữa chúng. Tiêu ñiểm của mô hình là sơ ñồ quan hệ thực thể (ERD) và sơ ñồ này dùng ñể biểu diễn các ñối tượng. Từ thời ñiểm bài báo ñưa ra ñến nay ñã có nhiều cải tiến thay ñổi và hiện nay mô hình này ñược chấp nhận như là một công cụ thiết kế CSDL cơ bản. Công cụ này có các ưu ñiểm chính như sau: • Mô hình ER là một ánh xạ của mô hình quan hệ. Các ñơn thể trong mô hình ER có thể dễ dàng chuyển sang thành các bảng. • Nó rất ñơn giản và dễ hiểu, và vì vậy trở thành công cụ rất hữu hiệu nhằm giao lưu ý tưởng giữa nhà thiết kế và người sử dụng. 3./ Các ñn th ca mô hình ER 3.1 Thực thể Thực thể là ñối tượng dữ liệu mà ở ñó ta cần lưu thông tin. Thực thể là khái niệm có thể nhận biết ñược, trừu tượng hoặc cụ thể, như người, vật, ñịa danh, các sự kiện, miễn là nó có mối liên quan ñến CSDL. Ví dụ về thực thể: sinh_vien, mon_hoc, khoa, bo_mon . Một thực thể trong mô hình ER giống như một bảng trong mô hình quan hệ. Thực thể ñược chia thành thực thể ñộc lập ( independent) và thực thể phụ thuộc ( dependent) - thuật ngữ tương ñương là thực thể mạnh và thực thể yếu. Thực thể ñộc lập có thể nhận dạng một cách ñộc lập - thực thể phụ thuộc phải nhờ vào một thực thể khác ñể xác ñịnh. Một hiện hữu (occurrence) là một cá thể của thực thể ñó. Một hiện hữu của thực thể giống như một bản ghi của một bảng trong mô hình quan hệ. Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 4 3.2 Thực thể ñặc biệt • Thực thể liên hợp (còn gọi là thực thể giao) là thực thể dùng ñể liên kết quan hệ nhiều-nhiều (xem các phần sau). • Thực thể con - thực thể mẹ nằm trong mối tương quan phân cấp 3.3 Quan hệ Quan hệ biểu diễn mối tương quan giữa 2 hoặc nhiều thực thể. Ví dụ: Nhân viên tham gia vào các dự án Dự án có nhiều công ñoạn Khoa quản lý nhiều dự án 3.4 Thuộc tính Thuộc tính mô tả các ñặc trưng của một thực thể. Một hiện hữu của thuộc tính ñược gọi là giá trị. Ví dụ, “Nguyễn Sáng Tạo” là một giá trị của trường ho_va_ten. Mỗi một thuộc tính có giá trị thuộc một miền giá trị nhất ñịnh. Ví dụ ho_va_ten có miền giá trị là chuỗi ký tự. Có hai loại thuộc tính: thuộc tính khóa và thuộc tính mô tả. Thuộc tính khóa là loại thuộc tính có giá trị duy nhất cho mỗi hiện hữu. 3.5 Phân loại quan hệ Các quan hệ ñược phân loại theo bậc (degree), tính giao kết (connectivity), số lượng (cardinality), và tính tồn tại (existence). Bậc của quan hệ (degree): số lượng thực thể tham gia vào mối quan hệ ñó. Quan hệ bậc 2 gọi là quan hệ nhị nguyên (tay ñôi), quan hệ bậc 3 là quan hệ tam nguyên, Quan hệ nhị nguyên chính là quan hệ phổ biến nhất trong thế giới thực. Quan hệ nhị nguyên có thể ñệ qui: ví dụ thực thể người có các quan hệ anh em, quan hệ bố mẹ, Quan hệ tam nguyên (bậc 3) gồm 3 thực thể. Ví dụ, giáo viên – môn học – giáo trình là một mối quan hệ tam nguyên. Quan hệ n-nguyên gồm n thực thể. Phần Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 5 lớn các mô hình dữ liệu ñều tách các quan hệ n-nguyên thành các quan hệ nhị nguyên. Tính giao kết (connectivity) và số lượng (cardinality) Tính giao kết thể hiện ánh xạ giữa các hiện hữu trong mối quan hệ ñó. Các giá trị của nó ñược ñặt tên là “một”, “nhiều”. Cardinality là số lượng cụ thể của các giá trị ñó. Người ta gọi chung các loại quan hệ là quan hệ một-một (1:1), quan hệ một-nhiều (1:N) và quan hệ nhiều-nhiều (M:N). Quan hệ một-một (1:1): khi một hiện hữu của thực thể A tương ứng với ñúng một hiện hữu của thực thể B. Ví dụ: Một nhân viên tương ứng với một bàn làm việc. Quan hệ một-nhiều (1:N): khi một hiện hữu của thực thể A tương ứng với 0, 1 hoặc nhiều hiện hữu của thực thể B nhưng một hiện hữu của thực thể B chỉ tương ứng với duy nhất một hiện hữu của thực thể A. Ví dụ: Một ñơn vị có nhiều nhân viên; Một nhân viên chỉ thuộc một ñơn vị. Quan hệ nhiều-nhiều (M:N): khi một hiện hữu của thực thể A tương ứng với 0, 1 hoặc nhiều hiện hữu của thực thể B và ngược lại một hiện hữu của thực thể B tương ứng với 0, 1 hoặc nhiều hiện hữu của thực thể A. Ví dụ: Một nhân viên ñồng thời có thể tham gia nhiều công việc Một công việc có thể có nhiều nhân viên cùng thực hiện Tính tồn tại Trong quan hệ nhị nguyên, khi một hiện hữu của thực thể A tồn tại có suy ra sự tồn tại của một hiện hữu của thực thể B hay không (A và B có mối giao kết nào ñó) ñược gọi là tính tồn tại. Nếu B phải tồn tại thì gọi là “bắt buộc”. Nếu B không bắt buộc phải tồn tại thì gọi là “tùy chọn”. Ví dụ: Một nhân viên tham gia vào các dự án thì có thể xảy ra trường hợp là một nhân viên X nào ñó có thể không tham gia vào dự án nào cả. 3.6 Các ký hiệu Cho ñến thời ñiểm hiện nay, chưa tồn tại một “chuẩn” nào cho các ký hiệu. Tuy nhiên, chúng ta sẽ theo qui ước sau ñây: Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 6 Thực thể ñược vẽ bằng hình chữ nhật có nhãn và nhãn là tên của thực thể. Tên của thực thể cần ñược thể hiện bằng danh từ số ít. Quan hệ ñược thể hiện bằng ñường nét liền nối 2 thực thể. Tên của quan hệ ñược viết trên nét liền ñó. Quan hệ ñược thể hiện bằng ñộng từ. Thuộc tính, nếu ñược thể hiện, cần ñược liệt kê phía trong hình chữ nhật của thực thực thể. Thuộc tính là danh từ số ít. Các thuộc tính khóa ñược gạch dưới (hoặc ghi kèm các chữ viết tắt như PK, FK). Giao kết “nhiều” ñược thể hiện bằng chân quạ 3 ngón (hoặc dấu tròn ñậm – ký hiệu của IDEFIX). Nếu không phải chân quạ 3 ngón (hoặc dấu tròn ñạm) thì ñó là giao kết “một”. Tính tồn tại ñược thể hiện bằng một vòng tròn hoặc vạch ñứng. Nếu thực thể ñó là bắt buộc thì ta vẽ vạch ñứng. Nếu thực thể ñó là tùy chọn thì ta vẽ vòng tròn. Đọc vạch ñứng là 1 và ñọc vòng tròn là 0 (không). Ví dụ: Hình 1: Các ký hiệu trong ERD Hình 2: Sơ ñồ ERD lược giản (theo qui ước IDEFIX) dept dept_id project project_id thực hiện Thực thể Quan hệ Tồn tại bắt buộc Tồn tại tùy chọn 1 nhiều tên thuộc tính thuộc tính khóa tên thực thể dept dept_id (PK) project project_id (PK) thực hiện Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 7 4./ Nhn dng các ñi tng và quan h ca chúng Trước khi xây dựng mô hình, chúng ta phải nhận biết ñâu là thực thể, ñâu là thuộc tính và ñâu là mối quan hệ giữa chúng. Thông tin lấy từ ñâu? Thông tin ñược lấy từ kết quả khảo sát phân tích yêu cầu của bài toán, từ nghiệp vụ, từ các tài liệu, từ các lần phỏng vấn, Khi có thông tin rồi, làm thế nào ta nhận biết ñâu là thực thể, ñâu là thuộc tính, ñâu là mối quan hệ? Trong lý thuyết mô hình hóa quan hệ thực thể, người ta không thể biến ñổi ñược từ một lô các tài liệu và thông tin thành mô hình quan hệ thực thể. Người thiết kế phải làm việc này. Quan hệ tương ñối dễ nhận biết (quan hệ là các ñộng từ) nhưng thực thể và thuộc tính thường dễ bị lẫn lộn. Ví dụ, ta cần mô hình hóa bài toán “các chuyên viên làm việc cho dự án ”. Rõ ràng, dự án sẽ là một thực thể. Liệu chuyên viên là một thực thể ñộc lập hay chỉ là một thuộc tính của dự án? Câu trả lời còn tùy vào trường hợp cụ thể. Chẳng hạn, nếu văn phòng của dự án có một số lượng ít chuyên viên (5-7 người) thì chuyên viên sẽ trở thành một thuộc tính của thực thể dự án. Trong trường hợp ñơn vị thực hiện dự án có ñông các chuyên viên và các chuyên viên ñồng thời có thể tham gia nhiều dự án thì chuyên viên lúc ñó trở thành một thực thể. Chỉ có một số qui tắc: • Thực thể thường hàm chứa thông tin mô tả • Thuộc tính thường ñóng vai trò mô tả thực thể hoặc là thông tin dùng ñể nhận biết thực thể • Mối quan hệ chỉ áp dụng ñối với thực thể, không áp dụng cho thuộc tính 4.1 Nhận biết thực thể Sau ñây là một số qui tắc giúp ta nhận biết thực thể: • Thực thể là ñối tượng hoặc khái niệm; • Nếu ta có ñối tượng A và ta lại có nhiều ñối tượng khác môt tả ñối tượng A thì A chắc chắn là một thực thể. Nếu ta không tìm thấy bất cứ một ñối tượng khác mô tả A thì A không phải là thực thể; • Một thực thể thường là ñại diện cho một lớp ñối tượng và các ñối tượng ñó có một số ñặc ñiểm chung. Ví dụ Hamlet và Vua Lia là các vở kịch và các vở kịch ñều có ñặc ñiểm chung là có tên, có tác giả, có các nhân vật. Từ ñó ta có thực thể vở kịch, và “Hamlet” và “Vua Lia” là các hiện hữu của vở kịch. • Có một số thực thể là lõi của một số các thực thể khác. Ví dụ thực thể người là lõi chung cho thực thể giáo viên và thực thể sinh viên; Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 8 • Thực thể không nên ñể phụ thuộc vào thời gian. Ví dụ, ta không nên có các thực thể quí 1, quí 2, quí 3, quí 4 và chỉ nên có thực thể quí; • Người dùng cuối thường áp ñặt thông tin lên mô hình vì họ cho ñó là quan trọng ñối với họ. Chú ý là các loại thông tin này không nhất thiết phải trở thành thực thể, phần lớn các trường hợp ta phải tách chúng ra; 4.2 Nhận biết thuộc tính Các thuộc tính hoặc là loại dữ liệu có tính duy nhất (như số Chứng minh thư, số hiệu sinh viên) hoặc là loại dữ liệu mô tả các ñối tượng khác (ngày tháng năm sinh, quê quán). Loại dữ liệu có tính duy nhất gọi là thuộc tính khóa. Các thuộc tính khác gọi là thuộc tính mô tả. Các thuộc tính phải nguyên tử - nghĩa là một thuộc tính không thể phân tích thành tổ hợp của các thuộc tính khác. Quan ñiểm thế nào là nguyên tử cũng tùy theo ngữ cảnh. Ví dụ, thuộc tính họ tên. Liệu có cần tách tên ra khỏi họ và ñệm không? Trong ngữ cảnh nào thì tách và trong ngữ cảnh nào thì không? § Thuộc tính suy diễn Thuộc tính suy diễn là thuộc tính mà giá trị của nó là kết quả của tính toán trên các thuộc tính khác. Đây là loại thuộc tính mà về mặt lý thuyết mô hình quan hệ, ta không ñược lưu vì nó gây ra dư thừa thông tin. Tuy nhiên, trong mô hình ER, có hai trường phái: một trường phái ủng hộ việc có mặt thuộc tính suy diễn trong mô hình ER và trường phái kia không ủng họ việc ñó. Lý do gì cần sự có mặt của thuộc tính suy diễn? • Dưới góc ñộ nghiệp vụ, người ta cần các thông tin ñó • Cần nêu rõ, ít ra là trong mô hình, sự có mặt của các thuộc tính ñó vì mô hình ER là mô hình dành cho cả người thiết kế lẫn người dùng. Các thuộc tính gần với nghiệp vụ của người dùng sẽ thuyết phục họ hơn. § Giá trị là mã Có một số loại thuộc tính, người thiết kế hay ñưa các mã vào. Chẳng hạn, thay vì ñưa vào các giá trị ñầy ñủ, người ta hay viết tắt tên các thành phố bằng 3 chữ cái như Hà Nội có mã là HAN, TP. Hồ Chí Minh có mã là HCM, Hay như mã ngôn ngữ cũng thường chỉ có hai chữ cái: EN = tiếng Anh, VI = tiếng Việt, FR = tiếng Pháp, Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 9 4.3 Nhận biết quan hệ Quan hệ là liên kết giữa các thực thể. Thông thường ta dùng ñộng từ ñể biểu diễn quan hệ. Nhân viên ñược chỉ ñịnh thực hiện dự án. Quan hệ có ñặc trưng về số lượng ( 1:1, 1:N, M:N), tính tồn tại (bắt buộc, tùy chọn ). Ví dụ về số lượng: một nhân viên tham gia nhiều nhất vào 3 dự án, mỗi một dự án có ít nhất 5 người thục hiện, Ví dụ về tính tồn tại: nhân viên có thể tham gia dự án hoặc không, sinh viên bắt buộc phải có mặt ở lớp học. 4.4 Đặt tên và qui ước Qui tắc chung: • Tên là duy nhất • Tên phải có nghĩa • Phải gồm ñủ số từ ñể hiểu ñược ñối tượng ñó là gì Qui ước: • Tất cả chữ cái của tên ñều viết thường và không dấu • Khi tên gồm nhiều từ, các từ nối với nhau bằng dấu gạch dưới • Trừ trường hợp ñặc biệt, tên của thuộc tính lấy từ ñầu tiên của thực thể hoặc viết tắt của thực thể ñó làm tiếp ñầu ngữ 4.5 Định nghĩa ñối tượng Tất cả các thực thể và quan hệ cần ñược ñịnh nghĩa dưới hình thức là bảng, như trong Hình 3. Ví dụ: Tên Mô tả nhan_vien Là người làm việc cho cơ quan và ñược cơ quan trả lương du_an Là nội dung công việc của cơ quan nhằm ñạt ñến một mục tiêu xác ñịnh cụ thể trong một khoảng thời gian cụ thể. Cơ sở dữ liệu ThS. Lê Văn Lợi Bai-7+8.doc *** Trang 10 chi_dinh Nhân viên trong cơ quan có thể ñược chỉ ñịnh tham gia vào các dự án. Cùng một thời ñiểm, mỗi một nhân viên chỉ tham gia vào nhiều nhất là 3 dự án. Cùng một thời ñiểm, mỗi dự án phải có ít nhất 5 người thực hiện. Hình 3: Mẫu bảng ñịnh nghĩa thực thể, quan hệ [...]... gallery_phone VARCHAR(15) NOT NULL, gallery_rate DECIMAL( 18, 2), PRIMARY KEY(gallery_id) ) ; CREATE TABLE tranh ( tranh_id CHAR(10) NOT NULL UNIQUE, tranh_de_tua VARCHAR(250), tranh_don_gia DECIMAL( 18, 2), hoa_sy_id INT NOT NULL, gallery_id CHAR(4), PRIMARY KEY(tranh_id) ) ; Bai - 7+ 8. doc *** Trang 22 Cơ s d li u ThS Lê Văn L i 12./ Bài t p Bài t p 7. 1 – V sơ ñ ERD cho: M t trư ng ñ i h c có nhi u khoa M... chuy n thành b ng trong CSDL: M i sinh viên có m t giáo viên hư ng d n và m t giáo viên có th hư ng d n nhi u sinh viên Không ph i giáo viên nào cũng hư ng d n sinh viên Bài t p 7. 9– V sơ ñ ERD t ng h p t bài t p 7. 2 ñ n 7. 8 Bai - 7+ 8. doc *** Trang 23 ... quan h 1:N và gi i quy t các quan h n-nguyên v i n > 2 6.1 .- T t c các th c th ph i tham gia vào quan h Tr trư ng h p CSDL ch có m t b ng, còn l i b t c th c th nào cũng ph i tham gia vào các quan h N u không th y th c th ñó có b t c m i quan h nào v i th c th khác thì ta ph i xem xét l i s t n t i c a nó Bai - 7+ 8. doc *** Trang 12 Cơ s d li u ThS Lê Văn L i 6.2 .- Gi i quan h M:N Quan h M:N không th... b ph n hành chính) Bài t p 7. 2 – V sơ ñ ERD và chuy n thành b ng trong CSDL: M i m t khoa có nhi u b môn và m i b môn ch thu c m t khoa Bài t p 7. 3 – V sơ ñ ERD và chuy n thành b ng trong CSDL: M i m t khoa có nhi u môn h c M i m t môn h c có th có nhi u l p Bài t p 7. 4 – V sơ ñ ERD và chuy n thành b ng trong CSDL: M i b môn có nhi u giáo viên M t trong s h là trư ng b môn Bài t p 7. 5– V sơ ñ ERD và... tác nghiên c u, không d y Bài t p 7. 6– V sơ ñ ERD và chuy n thành b ng trong CSDL: M i sinh viên có th ghi danh h c m t h c kỳ nhi u nh t là 6 l p M i m t l p t i ña 35 sinh viên Bài t p 7. 7– V sơ ñ ERD và chuy n thành b ng trong CSDL: M i b môn có nhi u chuyên ngành cho sinh viên Sinh viên ch ñư c ch n m t chuyên ngành duy nh t và ph i thu c vào m t b môn nào ñó Bài t p 7. 8 V sơ ñ ERD và chuy n thành... FOREIGN KEY m t cách qui chu n nên chúng ta s không khai báo FOREIGN KEY trong các ví d và Bai - 7+ 8. doc *** Trang 19 Cơ s d li u ThS Lê Văn L i bài t p Tuy nhiên, chúng ta v n khai báo trư ng khóa ngo i như m t trư ng bình thư ng và v n hi u theo cơ ch khóa ngo i tham chi u ñ n khóa chính c a m t b ng khác 10.2 .- Chuy n ñ i quan h 1:N a Cách làm: q q q b Tên th c th → tên b ng (có 2 b ng: b ng a và b ng... gallery_rate CHAR(35) VARCHAR(250) VARCHAR(15) DECIMAL( 18, 2) NULL? NOT NULL UNIQUE NOT NULL NOT NULL Mô t Trư ng khóa chính Ch gallery Đ a ch gallery Đi n tho i gallery Đơn giá thuê Bai - 7+ 8. doc *** Trang 21 Cơ s d li u ThS Lê Văn L i tranh (tranh): STT 1 Tên thu c tính tranh_id Ki u d li u CHAR(10) 2 3 4 tranh_de_tua tranh_don_gia hoa_sy_id VARCHAR(250) DECIMAL( 18, 2) INT 5 gallery_id NULL? NOT NULL UNIQUE CHAR(4)... Khóa chính và khóa ngo i ñư c l y ra t các thu c tính 7. 1 .- Nh n bi t khóa và khóa chính Không có lý thuy t chung v tìm khóa, khóa chính, khóa ngo i t t p h p các thu c tính Chúng ta ch có m t vài qui t c t kinh nghi m th c t : • Tìm khóa trong s các thu c tính (hi n nhiên là như v y) • L y m t trong s ñó làm khóa chính Bai - 7+ 8. doc *** Trang 15 Cơ s d li u ThS Lê Văn L i • N u không tìm th y m t thu... xét k dư i góc ñ ng d ng N u ngư i dùng c n bi t rõ v gia ñình, thì rõ ràng vi c thêm m t Bai - 7+ 8. doc *** Trang 16 Cơ s d li u ThS Lê Văn L i th c th là chuy n t nhiên Và quan h gi a hai th c th này là quan h 1:N Còn n u ngư i dùng không chú ý l m ñ n v n ñ này thì có th l p m t thu c tính có tên là con 8. 1 .- Thu c tính c a quan h Trong m t s trư ng h p quan h có th có thu c tính Ví d Thành viên mư... là biên ch hay h p ñ ng Ngư i ta g i các lo i th c th này là th c th lo i tr nhau nguoi giao_vien hanh_chinh sinh_vien Hình 16: Th c th phân c p ph nhau Bai - 7+ 8. doc *** Trang 18 Cơ s d li u ThS Lê Văn L i nhan_vien nhan_vien_hd nhan_vien_bc Hình 17: Th c th phân c p lo i tr nhau 10./ Chuy n ñ i s ñ ERD thành CSDL quan h M c tiêu c a ph n này là l p qui trình chuy n ñ i sơ ñ ERD thành CSDL quan h Ph . Cơ sở dữ liệu ThS. Lê Văn Lợi Bai - 7+ 8. doc *** Trang 1 B B à à i i 7 7 + + 8 8 Hai bài này giới thiệu sơ lược về mô hình hóa dữ liệu và biến ñổi mô. quan hệ tam nguyên. Quan hệ n-nguyên gồm n thực thể. Phần Cơ sở dữ liệu ThS. Lê Văn Lợi Bai - 7+ 8. doc *** Trang 5 lớn các mô hình dữ liệu ñều tách các quan hệ n-nguyên thành các quan hệ nhị. bị chậm trễ. Các bản thiết Cơ sở dữ liệu ThS. Lê Văn Lợi Bai - 7+ 8. doc *** Trang 3 kế tồi thường dẫn ñến thiếu thông tin, mối quan hệ không ñúng dẫn ñến dữ liệu bất nhất và làm cho các

Ngày đăng: 31/07/2014, 14:20

Tài liệu cùng người dùng

Tài liệu liên quan