KỸ THUẬT PHẦN MỀM ỨNG DỤNG CHƯƠNG 3: CƠ SỞ DỮ LIỆU

22 3.5K 0
KỸ THUẬT PHẦN MỀM ỨNG DỤNG
CHƯƠNG 3: CƠ SỞ DỮ LIỆU

Đ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

T RƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện điện tử viễn thông Bộ môn Điệntử và kỹ thuậtmáytínhBộ môn Điện tử và kỹ thuật máy tính KỸ THUẬT PHẦN MỀM ỨNG DỤNG (A li d S ft E i i )(Applied Software Engineering) Chương 3: sở dữ liệu 2010-2011 Nội dung  3.1 Giới thiệu tổng quan  3 2 Mô hình CSDL quan hệ  3.2 Mô hình CSDL quan hệ  3.3 Chuẩn hóa  3 4 Thiếtkế CSDL  3.4 Thiết kế CSDL 2010-2011 3.1 Giới thiệu 3.1.1. Khái niệm bản về sở dữ liệu 3.1.2. Kiến trúc một hệ sở dữ liệu 313 S bộ lị h ử hát t iể3.1.3. bộ lịch sử phát triển 3.1.4. Các loại mô hình dữ liệu bản 315 Tính độclậpdữ liệu3.1.5. Tính độc lập dữ liệu 3.1.6. Kết luận 2010-2011 3.1.1. Khái niệm bản về sở dữ liệu a. sở dữ liệu (CSDL) là gì?  Định nghĩa CSDL  là tập hợp những dữ liệu lưu trữ liên quan với nhau, cùng phục vụ các nhu cầu của nhiều người sử dụng của một hay nhiều tổ ềchức, nghĩa là tập hợp nhiều bảng khác nhau và liên quan với nhau .  Đặc điểm của CSDL  Là tập hợp dữ liệu liên quan được lưu trên các bộ nhớ ngoài  một tập các chương trình ứng dụng được chạy với các dữ liệu nà y và thậm chí dùng để truyền đi xa.y ậ g y  CSDL là một tổ hợp  Hệ quản trị CSDL (DBMS-DataBase Management System)  HQTCSDL là mộthệ thống phầnmềm cho phép tạolậpcơ sở dữ  HQTCSDL là một hệ thống phần mềm cho phép tạo lập sở dữ liệu và điều khiển mọi thao tác trên các sở dữ liệu đó dựa trên một tập các quy luật dàng buộc và điều khiển dữ liệu 2010-2011 3.1.1. Khái niệm bản về sở dữ liệu b. Các phần tử trong hệ thống CSDL 2010-2011 3.1.1. Khái niệm bản về sở dữ liệu c. Ưu điểm của CSDL  Giảm sự thừa dữ liệu cần lưu trữ.  thể tránh được những xung đột về dữ liệu được lưu trữ.  ợ ggộ ệ ợ  thể dùng chung dữ liệu đã được lưu trữ .  thể chuẩn hoá dữ liệu giúp đơn giản hoá các vấn đề về bảo hành và trao đổidữ liệugiữacáclầncàiđặthành và trao đổi dữ liệu giữa các lần cài đặt.  thể áp dụng các phương pháp bảo mật với dữ liệu.  Duy trì được sự thống nhất dữ liệu để đảm bảo CSDL chỉ chứa dữ liệu chính xácliệu chính xác.  thể cân đối được các đòi hỏi xung đột nhau.  Dữ liệu là độc lập, độc lập với cấu trúc bộ nhớ, với phương pháp l t ữ àtiế ậ thô tilưu trữ và tiếp cận thông tin.  Đảm bảo quy tắc toàn vẹn dữ liệu. 2010-2011 3.1.2. Kiến trúc một hệ sở dữ liệu Ngôn ngữ Ngôn ngữ Ngôn ngữ Ngôn ngữNgôn ngữ Hình 3.1 B 1 A 2 A 1 B 3 B 2 Ngườisử dụng Theo mặt cắt dọc Không gian làm việc Không gian làm việc Không gian làm việc Không gian làm việc Không gian làm việc * Lược đồ ngoài (External Schema) Mô hình ngoài B (Khung nhìn B) Mô hình ngoài A (Khung nhìn A) Ngườiquảntrị hệ thống CSDL (Db ánh xạ giữa mô hình ngoài B và mô hình khái niệm ánh xạ giữa mô hình ngoài A và mô hình khái niệm ( g ) (External Model B) ( g ) (External Model A) Mô hình dữ liệu (Data Model) Mô hình khái niệm (Conceptual model) Lược đồ khái niệm Hệ quảntrị sở dữ liệu (DBMS) (Database Administrator) Xây dựng và Bảotrìcáclược đồ và các ánh xạ. ánh xạ giữa Lược đồ trong (Internal schema) Dấu * biểuthị sự liên hệ với đồ à các á ạ M« hình trong (Internal model) (C¬ së dữ liÖu ®−îc l−u trữ) ánh xạ giữa mô hình khái niệm và mô hình trong 2010-2011 ( ) (Storage structure definition) liên hệ với ngườisử dụng ( Ö î ) 3.1.2. Kiến trúc một hệ sở dữ liệu a) Các mức của kiến trúc  Mức ngoài (hay còn gọi là khung nhìn) ế ủ  Mức ngoài liên quan đến cách nhìn, quan niệm của từng người sử dụng CSDL vì vậy còn gọi là "khung nhìn".  nhiều "cách nhìn ở mức ngoài" khác nhau. Mỗi cách nhìn g (mỗi khung nhìn) bao gồm sự biểu diễn trừu tượng của một phần nào đó của CSDL.  Hầuhếtnhững ngườisử dụng không quan tâm đếntổng thể  Hầu hết những người sử dụng không quan tâm đến tổng thể toàn bộ CSDL mà chỉ quan tâm đến một phần riêng biệt nào đó của CSDL. 2010-2011 3.1.2. Kiến trúc một hệ sở dữ liệu a) Các mức của kiến trúc .(tiếp)  Mức khái niệm ố  Mức khái niệm cho phép ta định nghĩa một cách nhìn thống nhất cho người sử dụng.  "Cách nhìn ở mức khái niệm" bao gồm sự biểu diễn trừu ệ g ự tượng của tổng thể toàn bộ CSDL.  Thực chất đây là mức logic của toàn bộ CSDL  Mức trong (còn gọilàmứcvậtlý)  Mức trong (còn gọi là mức vật lý)  Mức trong rất gần với cách lưu trữ trong bộ nhớ máy tính.  CSDL vật lý (CSDL ở mức vật lý) là các tệp dữ liệu theo một ậ ý( ậ ý) ệp ệ ộ cấu trúc nào đó được lưu trên các thiết bị nhớ ngoài.  Liên hệ với cấu trúc lưu trữ ngoài 2010-2011 3.1.2. Kiến trúc một hệ sở dữ liệu b) Các khái niệm  Khái niệm "thể hiện" (instance) ế ế ỉ  Một khi CSDL đã được thiết kế, thường người ta chỉ quan tâm đến "Bộ khung" hay còn gọi là "mẫu" của CSDL.  Dữ liệu hiện trong CSDL gọi là "thể hiện" của CSDL. ệ ệ ggọ ệ  Mặc dữ liệu thể thay đổi trong một chu kỳ thời gian nào đó nhưng "bộ khung" của CSDL vẫn không thay đổi.  Khái niệm"lược đồ" (schema)  Khái niệm "lược đồ" (schema)  Lược đồ sở dữ liệu nó đơn giản chỉ là cấu trúc hoặc thiết kế của CSDL – hay nói cách khác nó chỉ là bộ y ộ khung của của CSDL mà chưa bất kỳ dữ liệu nào.  Ví dụ: DMSV(MASV Ht N SihDihhiQ ) 2010-2011 DMSV(MASV,Ho_ten,Ngay_Sinh,Diach_chi,Qu_quan). 3.1.2. Kiến trúc một hệ sở dữ liệu Theo mặt cắt ngang Các thao tác vớibộ khung Các truy vấn Các thao tác vớidữ liệu (Schema operations) Phần xử lý truy vấn (Query)(Data operations) Một số khái niệm: Phần xử lý truy vấn (Query Processor) Phần quản lý lưu trữ Phầnquảnlýgiaodịch (Transaction Management) ộ ệ  Transaction  DML (Data Manipulation Phần quản lý lưu trữ (Data Management) Manipulation Language  DDL (Data Definition Dữ liệu, Siêu dữ liệu (Data, Meta-data) Definition Language)  Query language  Data Meta data 2010-2011  Data, Meta-data 3.1.2. Kiến trúc một hệ sở dữ liệu Theo người sử dụng  Người dùng cuối  Người lập trình CSDL  Người thiết kế CSDL  Ngườiquảntrị CSDL  Người quản trị CSDL 2010-2011 3.1.3. Các loại mô hình dữ liệu bản Các khái niệm  Mô hình dữ liệu  Sự hình thức hóa toán học với tập hợp các hiệu để mô tả và tập ự ọ ập ợpýệ ập các phép toán được dùng để thao tác đối với các dữ liệu  Một số mô hình dữ liệu bản sẽ giới thiệu  Mô hình quan hệ (Relational Model): q ệ ()  Mô hình này dựa trên sở khái niệm lý thuyết tập hợp của các quan hệ, tức là tập các k-bộ với k cố định.  Mô hình phân cấp (Hierarchical Model):  Mô hình dữ liệu là một cây, trong đó các nút biểu diễn biểu diễn các tập thực thể, các nút con và nút cha được liên hệ theo một mối quan hệ xác định.  Mô hình mạng (Network Model):  Mô hình mạng (Network Model):  Mô hình được biểu diễn là một đồ thị hướng.  Ngôn ngữ con dữ liệu  Tập các phép toán được cung cấp để thao tác dữ liệu 2010-2011  Tập các phép toán được cung cấp để thao tác dữ liệu a. Mô hình quan hệ (Relational Data Model) Hình 3.2 Dữ liệu mẫu trong dạng quan hệ. Supplier - Hãng cung cấp S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris SP S# P# QTY Shipment – Gửihàng S2 Jones 10 Paris S3 Blake 30 Paris SP S# P# QTY S1 P1 300 S1 P2 200 Part Mặt hàng P P# PNAME COLOR WEIGHT CITY P1 Nut Red 12 London S1 P3 400 S2 P1 300 S2 P2 400 Part - Mặt hàng P2 Bolt Green 17 Paris P3 Screw Blue 17 Rome S2 P2 400 S3 P2 200 2010-2011 P4 Screw Red 14 London a. Mô hình quan hệ (Relational Data Model) Nhận xét qua ví dụ: 1. Tóm tắt sự tương ứng giữa các khái niệm Quan hệ (Relation) Bộ (Tuple) Thuộc tính (Attribute) Tệp (File) Bản ghi (Record) Trường (Field) ả () () C (C )Bảng (Table) Hàng (Row) Cột (Column)  Mỗibảng trong ba bảng trên giống như mộttệptuầntự  Mỗi bảng trong ba bảng trên giống như một tệp tuần tự truyền thống (Sequential File)  Tuy nhiên các sự khác biệt đáng kể giữa các bảng này và ầ ề ốcác tệp tuần tự truyền thống  Mỗi bảng là một trường hợp riêng của cấu trúc được biết đến tron g toán học - đó là "quan hệ" 2010-2011 g ọ q ệ a. Mô hình quan hệ (Relational Data Model) 2. Miền (Domain)  Miền là một tập các giá trị mà từ đó các giá trị thực sự sẽ xuấthiệntrêncáccộtcủabảngxuất hiện trên các cột của bảng  Bản thân miền thể không được ghi nhận một cách tường minh như là một tập các giá trị thực sự trong sở dữ liệu nhưng nó được định nghĩa trong lược đồ khái niệmvàcótênnhưng nó được định nghĩa trong lược đồ khái niệm và tên riêng của mình  Một đặc điểm nổi bật của cấu trúc dữ liệu quan hệ là các mối ế ố ểkết nối giữa các bộ (các hàng) được biểu thị chặt chẽ bởi các giá trị dữ liệu trong các cột được rút ra từ một miền chung 2010-2011 a.Mô hình quan hệ (Relational Data Model) 3. Bảng là dạng thống nhất  Thực tế, tất cả các thông tin trong sở dữ liệu - các thực thể (entities) và các mốikếtnối (associations) - đượcbiểuthể (entities) và các mối kết nối (associations) được biểu diễn trong một dạng thống nhất được gọi là bảng  Như sẽ thấy sau này, đặc tính này không trong cấu trúc phân cấpvàcấutrúcmạngphân cấp và cấu trúc mạng.  Qua quan sát, nhận thấy cấu trúc quan hệ rất đơn giản, dễ hiểu. 2010-2011 a.Mô hình quan hệ (Relational Data Model) 4. Mô hình quan hệ sự thống nhất trong tập các phép toán  Theo quan điểmcủangườisử dụng ngôn ngữ con dữ liệu -  Theo quan điểm của người sử dụng, ngôn ngữ con dữ liệu - tập các phép toán được cung cấp để thao tác dữ liệu trong dạng quan hệ -là rất quan trọng thố hấtt á hbiể diễ dữ liệ dẫ đế thố  sự thống nhất trong cách biểu diễn dữ liệu dẫn đến sự thống nhất tương ứng trong tập các phép toán  Điều này đối nghịch với các cấu trúc phức tạp khác (như cấu trúc phân cấp, cấu trúc mạng) mà ở đó thông tin thể được biểu diễn trong một vài cách khác nhau và do đó cần đến một số tậ p các phép toán ppp  Để hiểu hơn về vấn đề này, sau đây chúng ta sẽ xét giải thuật cho hai câu hỏi đối xứng nhau (Hình 3.1.3 tiếp theo) 2010-2011 a.Mô hình quan hệ (Relational Data Model) 4. Mô hình quan hệ sự thống nhất trong tập các phép toán .(tiếp)  Hình313: Hai giảithuật đốixứng nhau cho hai câu hỏi đối  Hình 3.1.3 : Hai giải thuật đối xứng nhau cho hai câu hỏi đối xứng Q1: Tìm các số hiệu hãng cung Q2: Tìm các số hiệu mặt hàng đangQ1: Tìm các số hiệu hãng cung cấphiện đang cung cấpmặt hàng số hiệuP2. Q2: Tìm các số hiệu mặt hàng đang được cung cấpbởi hãng cung cấp số hiệuS2. 2010-2011 a.Mô hình quan hệ (Relational Data Model) 5. Không dị thường xảy ra đối với thao tác lưu trữ bản  Phép chèn (INSERT):  Phép xoá (DELETE): Phé th đổi (UPDATE)  Phép thay đổi (UPDATE): 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model) ẫ ấHình 3.4. Mô hình dữ liệumẫu trong dạng phân cấp P1 Nut Red 12 London P2 Bolt Gree 17 Paris S 1 Smith 20 London 300 n S Smith 20 London 200 1 S 2 Jones 10 Paris 300 S 1 S 0 odo 00 S 2 Jones 10 Paris 400 S3 Blake 30 Paris 200 P3 Screw Blue 17 Rome P4 Screw Red 14 LondonP4 Screw Red 14 London S 1 Smith 20 London 400 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model) Nhận xét qua ví dụ: 1. Trong mô hình phân cấp, các thực thể quan hệ với hthô ấ tú â tất ả t ê ột ừnhau thông qua cấu trúc cây, tất cả tạo nên một rừng cây  Người sử dụng thấy bốn cây tách biệt nhau, hay còn gọi là g ụ g y y ệ ygọ bốn thể hiện phân cấp, mỗi cây thể hiện cho một mặt hàng  Mỗi cây thể hiện một bản ghi về đơn đặt hàng gồm dữ liệu mặt hàng kèm theo dữ liệu nhà cung cấpvàsố lượngmặt hàng, kèm theo dữ liệu nhà cung cấp và số lượng  Kiểu dữ liệu của thực thể đóng vai trò như một gốc (root)  Để xác định chính xác các cây (gốc, chiều đi .) thi cần phải ế ế ổ ể ề ểcó một bản thiết kế tổng thể về dữ liệu của các thực thể, các mối liên kết 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model) 2. Trong mô hình phân cấp, các thực thể và các mối kết nối không được biểu diễn trong một dạng thống nhất  Trong mô hình quan hệ tương ứng đãxétở trên chúng ta  Trong mô hình quan hệ tương ứng đã xét ở trên, chúng ta ba tệp dữ liệu đơn giản  Tương tự như vậy, ta thể đặt mô hình phân cấp của Hình 314t ứ ới ộttệ dữ liệ hứ ábả hi đ3.1.4 tương ứng với một tệp dữ liệu chứa các bản ghi được sắp xếp thành bốn cây riêng biệt  Tuy nhiên cần lưu ý là tệp như vậy cấu trúc phức tạp các bảng ở mô hình quan hệ rất nhiều. 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model) 3. Ngôn ngữ con dữ liệu phức tạp hơn so với ngôn ngữ con dữ liệu của mô hình quan hệ  Trong cách nhìn phân cấpcủadữ liệubấtkỳ bản ghi phụ  Trong cách nhìn phân cấp của dữ liệu, bất kỳ bản ghi phụ thuộc đã cho nào cũng chỉ mang ý nghĩa đầy đủ khi nó được xét trong một ngữ nghĩa nào đó Khô ộtthể hiệ bả hi h th ộ àóthể tồ t ià  Không một thể hiện bản ghi phụ thuộc nào thể tồn tại mà không thể hiện dẫn trước nó  Do đó trong ngôn ngữ con dữ liệu, cần phải bao gồm thêm một toán hạng để biểu thị ý nghĩa này  Chúng ta sẽ hiểu rõ hơn điều này khi xét hai câu hỏi đối xứng nhau cho mô hình phân cấpnhư đãxétchomôhìnhxứng nhau cho mô hình phân cấp như đã xét cho mô hình quan hệ (Hình 3.1.5). 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model)  Hình 3.5. Hai câu hỏi mẫu đối với mô hình phân cấp. Hai giảithuật khác nhau cho hai câu hỏi đốixứngHai giải thuật khác nhau cho hai câu hỏi đối xứng Q1: Tìm các số hiệu hãn g cung cấp hiện Q2: Tìm các số hiệumặt hàng đang đượccungg g p đang cung cấpmặt hàng số hiệuP2. g g g cấpbởi hãng cung cấp số hiệuS2. 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model)  Mặc hai câu hỏi gốc là đối xứng nhưng hai giải thuật tương ứng trên Hình 3.1.5 thì không đối xứng (ngược lại với mô hình quan hệ ). )  Đây là nhược điểm chủ yếu của cách tiếp cận phân cấp vì nó dẫn đến sự phức tạp không cần thiết cho người sử dụng  Điều này nghĩalàcácchương trình sẽ trở nên phứctạp  Điều này nghĩa là các chương trình sẽ trở nên phức tạp hơn sự thực cần thiết và hậu quả là việc viết chương trình, gỡ rối và bảo trì sẽ đòi hỏi ở người lập trình nhiều thời gian hơncầnthiếthơn cần thiết. 2010-2011 b. Mô hình phân cấp (Hierarchical Data Model) 4. Tồn tại các dị thường đối với các thao tác lưu trữ bản  Phép chèn: Phé á  Phép xoá:  Phép thay đổi:  Phép thay đổi: 2010-2011 c. Mô hình mạng (Network Data Model) Hình 3.6 Dữ liệu mẫu trong mô hình mạng S1 Smith 20 London 300 P1 Nut Red 12 London P2 Blt G 17 Pi 200 P2 Bolt Green 17 Paris P3 Screw Blue 17 Rome 400 S2 Jones 10 Paris P3 Screw Blue 17 Rome 300 S3 Blake 30 Paris P4 Scre Red 14 London 200 400 2010-2011 S3 Blake 30 Paris P4 Screw Red 14 London 200 Nhậ éíd c. Mô hình mạng (Network Data Model) Nhận xét qua ví dụ: 1. Cũng như trong mô hình phân cấp, dữ liệu được biểu hiện thông qua các bản ghi (record) và các mối kết nối (link)  Ngoài các kiểu bản ghi biểu diễn nhà cung cấp và các mặt hàng, còn kiểu bản ghi thứ ba: các kết nối (link or connector)  Tất cả các thể hiện kết hợp đối với một hãng cung cấp đều đặt ỗ ể ắ ầ ế ỗ ề ởtrong một chuỗi mà điểm bắt đầu và kết thúc chuỗi đều ở tại đó  Tương tự, tất cả các thể hiện kết hợp đối với một mặt hàng đã cho đều đặt trong một chuỗi được bắt đầu và kết thúc tại chính nó Nh ậ ỗi ốikếth đ ấthiệ tê đúhihỗi  Như vậy, mỗi mối kết hợp được xuất hiện trên đúng hai chuỗi:  một chuỗi hãng cung cấp và  một chuỗi mặt hàng  Cấu trúc bên trong củatệp cho mô hình mạng phứctạphơncho  Cấu trúc bên trong của tệp cho mô hình mạng phức tạp hơn cho mô hình phân cấp 2010-2011 c. Mô hình mạng (Network Data Model) 2. Mô hình mạng (Hình 3.6) đối xứng hơn mô hình phân cấp (Hình 3.4), tuy nhiên, các thủ tục này phức tạp hơn so vớicả 2 mô hình quan hệ và mô hình phân cấpso với cả 2 mô hình quan hệ và mô hình phân cấp Q1: Tìm các số hiệu hãng cung cấp hiện đang cung cấp mặt Q2: Tìm các số hiệumặt hàng đang được cung cấp bởi hãngcấp hiện đang cung cấp mặt hàng số hiệuP2. đang được cung cấp bởi hãng cung cấpcósố hiệuS2. 2010-2011 c. Mô hình mạng (Network Data Model) 3. Không các dị thường xảy ra đối với các thao tác lưu trữ bản:  Phép Chèn (Insert):  Phép xoá (Delete):  Phép xoá (Delete):  Phép thay đổi (Update) 2010-2011 c. Mô hình mạng (Network Data Model) 4. Nhược điểm chính của mô hình mạng là sự phức tạp, phức tạp từ cấu trúc của chính mô hình đến ngôn ngữ dữ liệ ó liê đế ócon dữ liệu liên quan đến nó  Nguồn gốc của sự phức tạp này nằm ở khối lượng thông tin về cấu trúc của mô hình dữ liệu nà y y  Thông tin phải bao gồm hai phần: • bản ghi • mối liên kếtmối liên kết  Các cấu trúc dữ liệu này rất gần với cấu trúc bộ nhớ 2010-2011 3.1.5. Tính độc lập dữ liệu  Tầm quan trọng  Tính độc lập dữ liệu là mục tiêu chủ yếu của các CSDL  JDateđịnh nghĩa:  J. Date định nghĩa:  Tính độc lập dữ liệu là "tính bất biến của các hệ ứng dụng đối với các thay đổi trong cấu trúc lưu trữ và chiến lược truy cập"  Phân loại mức độ độc lập  Theo đồ kiếntrúccủahệ thống CSDL  Theo đồ kiến trúc của hệ thống CSDL (Hình 3.1.1) cho thấy hai mức "độc lập dữ liệu":  Độc lập dữ liệu ở mức logic  Độc lập dữ liệu ở mức vật lý 2010-2011 3.1.5. Tính độc lập dữ liệu  Độc lập dữ liệu ở mức logic  Vấn đề đặt ra: thể ầ thiếthảith đổil đồ khái iệ h thê• thể cần thiết phải thay đổi lược đồ khái niệm như thêm thông tin các loại khác nhau của các thực thể hoặc bớt, xoá các thông tin về các thực thể đang tồn tại trong CSDL Độ lậ dữ liệ ở ứ li  Độc lập dữ liệu ở mức logic • Việc thay đổi lược đồ khái niệm không làm ảnh hưởng tới các lược đồ con đang tồn tại, do đó không cần thiết phải ổthay đổi các chương trình ứng dụng => độc lập dữ liệu mức logic 2010-2011 3.1.5. Tính độc lập dữ liệu  Độc lập dữ liệu ở mức vật lý  Vấn đề đặt ra: L đồ ậtlý óthể th đổid ời ả t ị CSDL à• Lược đồ vật lý thể thay đổi do người quản trị CSDL mà không cần thay đổi lược đồ con  Độc lập dữ liệu ở mức vật lý • Việc tổ chức lại CSDL vật lý (thay đổi các tổ chức, cấu trúc dữ liệu trên các thiết bị nhớ thứ cấp) thể làm thay đổi hiệu quả tính toán của các chương trình ứng dụng nhưng ếkhông đòi hỏi phải viết lại các chương trình đó => độc lập dữ liệu mức vật lý 2010-2011 3.1.6. Kết luận  Qua các ví dụ trên => một hệ CSDL phải khả năng biểu diễn hai dạng đối tượng: ể  Các "thực thể" ("entities") và  Các kết nối ("associations") ôó á ệ ố  Không sự khác biệt thực sự giữa hai loại đối tượng trên: Mộtkết ốihỉ đ th ầ là ộtd iê ủ th  Một kết nối chỉ đơn thuần là một dạng riêng của thực thể 2010-2011 3.1.6. Kết luận  Sự khác nhau giữa ba loại mô hình đã xét (mô hình quan hệ, mô hình phân cấp, mô hình mạng):  Thể hiện ở cách thức cho phép ngườisử dụng quan sát và  Thể hiện ở cách thức cho phép người sử dụng quan sát và thao tác các kết nối.  Mô hình quan hệ nhiều ưu điểm và được nhiều ảngười quan tâm hơn cả vì:  Mô hình dữ liệu quan hệ tính độc lập dữ liệu cao  Mô hình dữ liệu quan hệ dễ sử dụng  Mô hình dữ liệu quan hệ dễ sử dụng  Điều quan trọng hơn cả, mô hình quan hệ được hình thức hoá toán học tốt, do đó được nghiên cứu phát triển và cho được hiề kết ả lý th ết ũ h ứ d tthtiễnhiều kết quả lý thuyết cũng như ứng dụng trong thực tiễn 2010-2011 Mô hình CSDL dạng quan hệ 3.2 Phụ thuộc hàm và Khoá 3.2.1 Các khái niệm  Lược đồ (Schema): Lược đồ sở dữ liệu đơn giản chỉ là cấu trúc hoặc thiết kế củaCSDL hay nói cách khác nó chỉ là bộ khung củacủaCSDLmàchưacókế của CSDL – hay nói cách khác nó chỉ là bộ khung của của CSDL mà chưa bất kỳ dữ liệu nào. Ví dụ: DMSV(MASV ,Ho_ten,Ngay_Sinh,Diach_chi,Qu_quan).  Phụ thuộc hàm (Functional dependency - FD): Cho một lược đồ quan hệ R(A1 A2 A3 An) và hai tậpXYkhácrỗng là tậpconcủatập các thuộccủaRR(A1,A2,A3, ,An) và hai tập X,Y khác rỗng là tập con của tập các thuộc của R, nghia là X,Y là tập con của tập các thuộc tính A= {A1,A2,A3, ,An}. Khi đó ta nói tập các thuộc tính Y phụ thuộc vào tập các thuộc tính X khi va chỉ khi ứng với mỗibộ giá trị của X trong R luôn xác định đượcrõràngbộ giá trị củaYtạimọimỗi bộ giá trị của X trong R luôn xác định được rõ ràng bộ giá trị của Y tại mọi thời điểm.  Ví dụ: NHANVIEN PHONGBANNHANVIEN PHONGBAN TrPhongTrPhongTenPBTenPBMaPBMaPBDiachiDiachiNgSinhNgSinhMaNVMaNVTenNVTenNV NHANVIEN_PHONGBANNHANVIEN_PHONGBAN 2010-2011 MaPB → {TenPB, TrPhong} MaNV → MaPBMaNV → TenNV 3.2.1 Các khái niệm (tiếp)  Phụ thuộc hàm đầy đủ (Full FD): X -> Y là phụ thuộc hầm đầy đủ củaY vào X nếu không tập con Z nào của X mà Z -> Y. Ph th ộ hà iê hầ hbộ hậ (tilFD)  Phụ thuộc hàm riêng phần hay bộ phận (partial FD):  Là phụ thuộc hàm không đầy đủ.  Y là phụ thuộc hàm riêng phần vào X (trong pth X->Y) nếu tập con của X mà p ụ ộ gp (gp ) ập Z->Y đúng trong R. Ví dụ: NVIEN DUANNVIEN DUAN Thuộc tính không khóa FD1FD1 DiadiemDiadiemTenDATenDATenNVTenNVSoGioSoGioMaDAMaDAMaNVMaNV NVIEN_DUANNVIEN_DUAN PTH đầy đủ FD2FD2 FD3FD3 PTH bộ phận 2010-2011 3.2.1 Các khái niệm (tiếp)  Bao đóng củatậpphụ thuộchàm:Flàtậpphụ thuộc hàm trên R  Bao đóng của tập phụ thuộc hàm: F là tập phụ thuộc hàm trên R  F = {MaNV → TenNV, MaPB → {TenPB, TrPhong}, MaNV → MaPB}.  ∀r ∈ R thỏa mãn F và MaNV → {TenPB, TrPhong} cũng đúng với r thì MaNV → {TenPB, TrPhong} gọi là được suy diễn từ F.  Bao đóng của F, hiệu F + , gồm Fvà  F và  Tất cả các PTH được suy diễn từ F.  F gọi là đầy đủ nếu F = F + .  Luật suy diễn: Luật suy diễn dùng để suy diễn một PTH mới từ một tập PTH cho trước. 2010-2011 . 3. 4 Thiết kế CSDL 2010-2011 3. 1 Giới thiệu 3. 1.1. Khái niệm cơ bản về cơ sở dữ liệu 3. 1.2. Kiến trúc một hệ cơ sở dữ liệu 31 3 S bộ lị h ử hát t i 3. 1 .3. . Engineering) Chương 3: Cơ sở dữ liệu 2010-2011 Nội dung  3. 1 Giới thiệu tổng quan  3 2 Mô hình CSDL quan hệ  3. 2 Mô hình CSDL quan hệ  3. 3 Chuẩn hóa  3 4 Thiếtkế

Ngày đăng: 27/12/2013, 23:50

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan