Bài giảng Cơ sở dữ liệu quan hệ và thiết kế bảng

Hệ QTCSDL (Database Management System) xuất

hiện vào đầu những năm 1960, là hình thức phát

triển từ hệ quản lý tập tin (FMS), với mục đích phát

triển một cách lâu dài và ổn định các hệ thống

thông tin xí nghiệp.

• Hệ QTCSDL được xây dựng với các chức năng :

 Mô tả và quản lý tập hợp các thông tin theo quy

ước của một mô hình dữ liệu, qua đó cho phép

làm chủ việc phân chia thông tin trong một môi

trường nhiều người sử dụng.

pdf48 trang | Chia sẻ: Mr Hưng | Lượt xem: 968 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở dữ liệu quan hệ và thiết kế bảng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Chương II : GV : Ths.Lê Đình Ngân dinhngan@saigonnet.vn TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING KHOA CÔNG NGHỆ THÔNG TIN Website: www.ufm.edu.vn/khoacntt 2I/ KHÁI QUÁT VỀ HỆ QUẢN TRỊ CSDL. • Hệ QTCSDL (Database Management System) xuất hiện vào đầu những năm 1960, là hình thức phát triển từ hệ quản lý tập tin (FMS), với mục đích phát triển một cách lâu dài và ổn định các hệ thống thông tin xí nghiệp. • Hệ QTCSDL được xây dựng với các chức năng :  Mô tả và quản lý tập hợp các thông tin theo quy ước của một mô hình dữ liệu, qua đó cho phép làm chủ việc phân chia thông tin trong một môi trường nhiều người sử dụng.  Đảm bảo đơn giản hoá việc truy xuất và xử lý dữ liệu cho các đối tượng sử dụng CSDL như: thảo chương viên, người quản trị CSDL và người sử dụng. 3Khi tổ chức CSDL ,không cho phép mô tả một cách dư thừa. Mặt khác, thông qua tập hợp các thông tin cần thiết, phải biết tổ chức hợp lý và hiệu quả trong việc sử dụng. Bảo đảm việc trao đổi thông tin với các hệ thống khác như: hệ quản lý tập tin, bảng tính điện tử, Foxpro, SQLServer, • MS.Access là một hệ QTCSDL dựa trên mô hình quan hệ. Access có thể chứa 7 loại đối tượng: Tables, Queries, Forms, Reports, Macros, Modules và Pages. 4II/ SƠ LƯỢC VỀ CÁC MÔ HÌNH DỮ LIỆU . “Một mô hình dữ liệu là một tập hợp các ý niệm, một quy ước về sự biểu diễn, cho phép mô tả dữ liệu muốn quản lý.” Có 4 mô hình đặc trưng và thường gặp :  Mô hình phân cấp.  Mô hình mạng.  Mô hình quan hệ.  Mô hình thực thể - kết hợp. 5II.1/ Mô hình quan hệ . Theo mô hình này :  Dữ liệu được tổ chức dưới dạng bảng 2 chiều .  Bảng là kiểu cấu trúc cho phép tập hợp và biểu diễn thông tin cần quản lý .  Mỗi bảng bao gồm nhiều cột, mỗi cột mô tả một thông tin về đối tượng cần quản lý, thông tin trên các cột phải có mối quan hệ với nhau.  Mỗi dòng của bảng được nhận dạng bởi một hoặc nhiều cột gọi là khoá sơ cấp. 6Thí dụ : Bảng dữ liệu mô tả thông tin về danh mục quận/huyện: MÃ QUẬN TÊN QUẬN DIỆN TÍCH DÂN SỐ 01 Quận 1 02 Quận 2 03 Quận 3 Thông tin cần mô tả Cột nhận dạng 7II.2/ Mô hình thực thể - kết hợp : Theo mô hình này :  Dữ liệu được nhóm lại thành các thực thể (hay còn gọi là đối tượng). Thí dụ : Thực thể sinh viên thực thể chứng từ,  Trong số các thuộc tính cấu thành thực thể, có ít nhất một thuộc tính cho phép phân biệt các xuất hiện của thực thể, người ta gọi là nhận dạng thực thể. Các thực thể có liên hệ với nhau thông qua một kết hợp nào đó (Kết hợp thể hiện ngữ nghĩa liên kết các thực thể lại với nhau). 8Thí dụ : Kết hợp giữa 2 thực thể : Nhân viên và Bộ phận NHÂN VIÊN BỘ PHẬN MANV HOLOT TEN MABP TENBP THUỘC Ta có :  2 thực thể Nhân viên và Bộ phận.  Thực thể Nhân viên có các thuộc tính sau :  MANV (Mã nhân viên).  HOLOT (Họ và tên lót).  TEN (Tên). Trong đó MANV là thuộc tính nhận dạng (Mỗi nhân viên có một mã số riêng để phân biệt với các nhân viên khác).  Thực thể Bộ phận có các thuộc tính sau: (Tương tự) .  2 thực thể Nhân viên và Bộ phận liên hệ với nhau thông qua kết hợp Thuộc. 9III/ TỔ CHỨC DỮ LIỆU TRONG ACCESS . III.1/ Bảng (Tables). Được tổ chức như một bảng 2 chiều gồm các hàng và các cột.  Các cột mô tả thuộc tính của đối tượng cần quản lý, mỗi cột là một vùng tin (Field) trong cấu trúc của bảng. Thí dụ : Đối tượng “Danh mục tài khoản” gồm các thuộc tính được mô tả bằng các Fields như sau: MATK (Mã tài khoản) MATIEU (Mã tiểu khoản) TENTK (Tên tài khoản) 10  MỖI dòng của bảng là một mẫu tin (Record), bao gồm một số Fields có mối liên hệ với nhau nhằm mô tả đầy đủ các thông tin về đối tượng cần quản lý.  Để tổ chức lưu trữ thông tin, ta phải qua các bước sau : Bước 1 : Mô tả cấu trúc của bảng . Thí dụ : Cấu trúc của bảng “Chung tu 02-2005” MACT Text 6 (Mã chứng từ) NGAYVIET Date/Time (Ngày viết) NGUOIVIET Text 20 (Người viết CT) LOAICT Yes/No (Loại chứng từ) DIENGIAI Text 40 (Diễn giải thu/chi) SOTIEN Number (Số tiền) TKNO Text 4 (Tài khoản ghi nợ) TKCO Text 4 (Tài khoản ghi có) 11 Bước 2 : Nhập các mẫu tin cần lưu trữ vào bảng. MACT NGAYVIET NGUOI VIET LOAICT DIENGIAI SOTIEN TKNO TKCO CT0001 01/02/2005 B.Thảo Yes Thu tiền bán hàng 5.000.000 1121 131 CT0002 05/02/2005 B.Thảo Yes Lãi ngân hàng 25.000.000 1121 711 CT0003 06/02/2005 B.Thảo Yes Nộp thuế doanh thu 01/2005 5.000.000 333 1121 CT0004 12 III.2/ Khoá (Keys). Là thuộc tính dùng để nhận dạng đối tượng. Để xác định một đối tượng, ta phải mô tả các thuộc tính của đối tượng đó, trong các thuộc tính được mô tả, phải chọn một thuộc tính dùng để nhận diện đối tượng, thuộc tính đó gọi là khoá (Key). III.2.1/ Khoá chính (Primary Key) .  Khi mô tả các Fields của một bảng (Table), có thể có nhiều thuộc tính được dùng làm khoá, nhưng chỉ có một khoá duy nhất được làm khoá chính. 13 Thí dụ : Đối tượng “Danh mục hàng hoá” MAHANG (Mã hàng) Primary Key #MANCC (Mã nhà CC) Foreign Key TENHANG (Tên hàng) DVT (Đơn vị tính) QUYCACH (Quy cách) GIAVON (Gia von) 14 III.2.2/ Khoá ngoại (Foreign Key).  Khi mô tả cấu trúc của một bảng, có thể có một hoặc nhiều khoá; nếu một bảng có nhiều khoá thì chỉ có một khoá duy nhất được làm khoá chính, các khoá còn lại được xem là khoá ngoại. Khoá ngoại là một thuộc tính (Property) của bảng có thể tham chiếu đến một (hay nhiều) Field là khoá chính trong một bảng khác. Dữ liệu trong khoá chính và khoá ngoại tương ứng phải phù hợp với nhau.  Thí dụ : DMNCC (MACC,TENNCC,DIACHI,DIENTHOAI) DMHH (MAHANG,#MACC,TENHANG,DVT,QUYCACH,) 15 III.3/ Thiết lập quan hệ .  Trong một Database có thể có nhiều Tables, và các Tables có quan hệ nhất định với nhau.  Mỗi Table có thể tham gia vào quan hệ với một (hay nhiều) Table(s) khác.  Mỗi Table có thể tham gia vào một mối quan hệ bằng một hay nhiều Field(s).  2 Records thuộc 2 Tables được gọi là tương ứng với nhau khi giá trị của các Fields tham gia vào quan hệ bằng nhau. 16 Thí dụ : 17 III.4/ Các kiểu quan hệ (Relationship Type) . Quan hệ giữa các Fields của các Tables có thể thuộc các kiểu sau : III.3.1/ Quan hệ Một - Nhiều (One-To-Many) : Bao gồm các bước sau : Bước 1 : Xác định Table chính (Primary Table), là Table có khoá chính (Primary Key) hoặc Field chỉ mục duy nhất (Unique Index Field). Khoá chính của Table này tham gia vào quan hệ ở bên “một”. Bước 2 : Xác định Table được quan hệ (Related Table), là Table có chứa khoá ngoại (Foreign Key). Khoá ngoại của Table này tham gia vào quan hệ ở bên “nhiều”. 18 Trong mối quan hệ Một - Nhiều :  Mỗi Record trong Table chính có thể có nhiều Record tương ứng trong Table được quan hệ.  Mỗi Record trong Table được quan hệ chỉ có một và chỉ một Record tương ứng trong Table chính. 19 III.3.2/ Quan hệ Một - Một (One-To-One) : Bao gồm các bước sau : Bước 1 : Xác định các Tables tham gia vào quan hệ. Các Tables tham gia vào quan hệ phải thông qua khoá chính (Primary Key) hoặc bằng Field chỉ mục duy nhất. Bước 2 : Thực hiện kết nối giữa các Tables. Trong mối quan hệ này:  Mỗi Record trong Table chính chỉ có tối đa một Record tương ứng trong Table được quan hệ.  Mỗi Record trong Table được quan hệ chỉ có một và chỉ một Record tương ứng trong Table chính. 20 Nhận xét :  Thuộc tính MANV thuộc 2 Tables TblHosonhanvien và TblLylich đều là khoá chính. Thực chất ta có thể kết hợp 2 Tables này làm một, nhưng không hiệu quả về mặt bộ nhớ và tổ chức dữ liệu khi truy xuất (vì không phải lúc nào ta cũng cần hết tất cả các thông tin được lưu trữ trong 2 Tables này).  Việc chia cắt thông tin thành 2 Tables bảo đảm tính hiệu quả trong việc tổ chức và lưu trữ thông tin.  Ràng buộc trong quan hệ này: mỗi mẫu tin trong Table TblHosonhanvien chỉ có quan hệ tương ứng với một mẫu tin duy nhất trong Table TblLylich. 21 III.3.3/ Quan hệ Nhiều - Nhiều (Many-To-Many):  Thực chất của quan hệ “Nhiều - Nhiều” là 2 quan hệ “Một - Nhiều” từ 2 Tables tới một Table thứ 3. Theo đó, mỗi mẫu tin của Table này có thể quan hệ với nhiều mẫu tin tương ứng trong Table kia và ngược lại.  Thí dụ : Trong chương trình quản lý thư viện.  Một độc giả có thể mượn được nhiều loại sách.  Một loại sách có thể được mượn bởi nhiều độc giả. 22 Thể hiện mối quan hệ “Nhiều - Nhiều” giữa 2 Tables trên được thực hiện thông qua Table trung gian là Table “Mượn sách” như sau:  Table “Danh mục bạn đọc” có khoá chính là MABD.  Table “Danh mục sách” có khoá chính là MASACH .  Trên Table “Mượn sách” có 2 khoá ngoại là MADG và MASACH. Quan hệ giữa 3 Tables trên được thể hiện như sau: 23 24 IV/ THIẾT KẾ BẢNG (TABLE). IV.1/ Các bước thiết kế .  Xác định các đối tượng cần mô tả thông tin, tức là xác định thực thể cần quản lý . Thí dụ : Quản lý giá nhà đất, ta cần xác định các đối tượng như: DMQUAN (Danh mục quận) DMDUONG (Danh mục đường) DMNHA (Danh mục nhà) BANGGIA (Bảng giá nhà đất) .v.v..  Mô tả thuộc tính của từng đối tượng, thuộc tính nhận dạng đối tượng.  Xác định quan hệ giữa các đối tượng. 25 IV.2/ Thiết kế từng đối tượng : B1 : Chọn Table B2 : Chọn New B3 : Chọn Design View + OK 26 B4 : Mô tả các Fields, gồm:  Field Name  Data Type  Description (Diễn giải ý nghĩa của Field)  General 27 B5 : Chọn Field làm khoá chính. – Click vào Field chọn làm khoá chính – Chọn Edit \ Primary Key B6 : Chọn Save B7 : Đặt tên cho bảng dữ liệu Chú thích vùng tin Mô tả vùng tin Mô tả kiểu dữ liệu Thuộc tính của vùng tin 28 IV.3/ Các kiểu dữ liệu của Field (Data Type): STT Kiểu DL Ý nghĩa 1 Text Chứa ký tự ,tối đa 255 ký tự 2 Number Chứa các giá trị số 3 AutoNumber Các số (Tự động tăng 1 đơn vị) 4 Date/Time Lưu trữ kiểu ngày giờ 5 Currency Kiểu số có dấu tiền tệ 6 Yes/No Yes/No, True/False, On/Off 7 Memo Chứa văn bản 8 OLE Object Các đối tượng nhúng như :hình ảnh, tài liệu của Word, Excel, 9 HyperLink Chứa địa chỉ hyperlink 10 Text Lookup Để tạo ComboBox trong Field 29 IV.4/ Thuộc tính của Fields(Field Properties). IV.4.1/ Field Size: a) Field Size: Text • Ấn định kích thước phù hợp (Từ 0 .. 255) • Nguyên tắc: Xác định giá trị lớn nhất, không thừa, không thiếu b) Field Size: AutoNumber. • Thuộc tính này có thể đặt là Byte / Integer / Long Integer hay Replication ID • Tự động tăng giá trị khi thêm mẫu tin mới c) Field Size: Number 30 Data Type Lưu trữ Thập phân Kích thước Byte 0 255 Không 1 Byte Integer -32.768  32.767 Không 2 Bytes Long Integer -2.147.483.648 2.147.483.647 Không 4 Bytes Single 7 4 Bytes Double 15 8 Bytes Replication Lưu trữ định danh duy nhất cấp toàn cục. 16 Bytes 31 IV.4.2/ Format . – Định dạng cách hiển thị và in của dữ liệu kiểu số, ngày giờ và văn bản – Thuộc tính này chỉ thay đổi cách hiển thị số liệu, không ảnh hưởng đến dữ liệu lưu trữ – Các kiểu định dạng cho bất kỳ dữ liệu nào: Khoảng trắng Hiển thị khoảng trắng như các ký tự “ABC” Hiện bất cứ thứ gì trong ngoặc kép như các ký tự ! Bắt buộc canh trái (thay vì canh phải) * Điền các khoảng trắng khả dụng với ký tự kế tiếp \ Điền các ký tự kế tiếp như một ký tự bình thường [Color] Hiển thị dữ liệu với màu được chỉ định. Bao gồm : Black ,Blue ,Green ,Cyan, Red, Magenta , Yellow , White 32 • Định dạng kiểu Date/Time: • Định dạng kiểu Number và Currency: 33 • Định dạng kiểu Text và Memo: @ Bắt buộc là một ký tự hay khoảng trắng & Không bắt buộc là một ký tự hay khoảng trắng < Đổi tất cả ký tự thành chữ thường > Đổi tất cả ký tự thành chữ IN IV.4.3/ Decimal Places: – Xác định số chữ số phần thập phân – Có 2 kiểu định dạng: • Auto: Tự động hiển thị theo thuộc tính Format • Từ 0  15: Xác lập số chữ số phần thập phân (Nếu không sử dụng thì chọn số 0) 34 IV.4.4/ Input Mask – Xác định khuôn dạng nhập liệu – Có thể chọn trợ giúp của Wizard Gọi Wizard 35 IV.4.5/ Validation Rule, Validation Text: a) Validation Rule: – Chỉ định các quy tắc kiểm tra tính hợp lệ của dữ liệu nhập – Đặt ra các giới hạn hay điều kiện áp dụng đối với dữ liệu khi cập nhập vào một Field nào đó trên Table – Có thể xác lập Validation Rule là một biểu thức hợp lệ bất kỳ, nhưng biểu thức này không thể chứa: • Các User’s Defined Functions • Các hàm thư viện của Access như : Sum, Count , Avg , b) Validation Text: Hiển thị thông tin ràng buộc qua Validation Rule. Khi số liệu nhập không hợp lệ thì thông báo Validation Text sẽ xuất hiện 36 Validation Rule Validation Text 0 Giá trị nhập phải khác 0 >1000 Or Is Null Giá trị nhập phải lớn hơn 1000 hay rỗng Like “?????” Chỉ được phép nhập 5 ký tự >=#1/1/2005# And <#1/2/2005# Chỉ nhập ngày thuộc tháng 1/2005 <Date() Nhập ngày nhỏ hơn ngày hiện hành Thí dụ : 37 IV.4.6/ Required – Để chỉ định trường hợp nào một Field phải có giá trị – Các chỉ định như sau: • Required: Yes  Bắt buộc phải nhập giá trị vào Field , và không thể là giá trị Null • Required: No  Không bắt buộc nhập giá trị vào Field. Trường hợp này lưu ý Validation phải cùng xác lập là Or Is Null IV.4.7/ Allow Zero Length – Yes: Cho phép lưu trữ chuỗi rỗng, bất chấp thuộc tính của Required – No: Không chấp nhận lưu trữ chuỗi rỗng. Nếu Allow Zero Length là No và Required là Yes thì bắt buộc phải nhập số liệu vào Field, chuỗi rỗng sẽ không hợp lệ – Chú ý: Allow Zero Length có hiệu lực ưu tiên hơn Required. 38 IV.4.8/ Indexed : – Để tạo chỉ mục cho một Field, giúp tăng tốc độ truy xuất dữ liệu. Thí dụ: tạo chỉ mục trên Field TEN cho phép tăng tốc độ truy xuất. – Có thể tạo Index trên một Field mà giá trị là duy nhất .Thí dụ: mã hàng hoá hoặc Index trên một Field mà giá trị có thể trùng (thí dụ họ và chữ lót), hoặc có thể Index trên nhiều Field phối hợp. – Các trường hợp xác lập Index: No (Default) Không có Index Yes (Duplicates OK) Index được phép trùng Yes (No Duplicates) Index duy nhất, không được trùng . 39 • Cách tạo Index: Cách 1: B1: Chọn Field cần tạo chỉ mục B2: Chọn dạng Index trong Field Properties Chú ý: 1) Khi chọn Primary Key trên một Field, Access sẽ tự động xác lập Indexes cho Field đó là Yes (No Duplicates). 2) Không thể Index trên các Field có kiểu dữ liệu là Hyperlink, Memo hay OLE Object. 40 Cách 2 : B1: Mở Table cần lập chỉ mục B2: Chọn View \ Indexes B3: Xác lập chỉ mục 41 V/ THIẾT LẬP QUAN HỆ (RELATIONSHIP). Sau khi thiết kế các bảng dữ liệu, bước tiếp theo là phải thiết lập các mối quan hệ giữa các bảng để phục vụ quá trình xử lý, tính toán . Các bước thiết lập quan hệ giữa các bảng: B1: Đóng tất cả các Tables (Không thể tạo quan hệ trong khi các bảng đang ở tình trạng mở) B2: Chọn thẻ Tables B3: Trỏ Mouse Pointer vào vùng trống trên Database (Right Click).Chọn Relationship 42 B4 : Chọn Tables đưa vào thiết lập quan hệ B5 : Add Chọn thẻ Tables Right Click và chọn Relationship 43 B6: Thực hiện Drag & Drop: – Từ Field của Table chứa khoá chính đến Field của Table chứa khoá ngoại (nếu là quan hệ 1-N) – Từ Field của Table chứa khoá chính của Table quan hệ đến Field chứa khoá chính của Table được quan hệ (nếu là quan hệ 1-1-) B7:Thực hiện toàn vẹn quy chiếu (Referential Integrity) 44 B7: Kiểu mặc định của quan hệ là Inner Join, nếu muốn thay đổi kiểu quan hệ thì chọn nút lệnh Join Type. B8: Kết quả thực hiện quan hệ Quan hệ 1-N 45 Quan hệ 1 - 1 Left Outer Join 46 B9: Đặt chú thích cho các bảng dữ liệu – Trỏ Mouse Pointer vào Table (Right Click) – Chọn Properties – Đặt chú thích trong khung Description 47 VI/ Lookup dữ liệu – Cho phép dò tìm dữ liệu từ một bảng dữ liệu khác dưới dạng một Combo Box – Thao tác: B1: Di chuyển đến Field muốn tạo Lookup B2: Chọn Lookup B3: Chọn dạng Lookup (List Box /Combo Box) 48 B4: Chọn bảng dữ liệu chứa số liệu Lookup (hoặc viết một câu lệnh SQL)

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_access_thiet_ke_bang_1798.pdf