1. Trang chủ
  2. » Giáo án - Bài giảng

BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1

142 209 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

Định dạng
Số trang 142
Dung lượng 16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1 PHẦN I : CƠ SỞ DỮ LIỆU .................................................................................................. 4 Chương 1. TỔNG QUAN Chương 2. CẤU TRÚC DỮ LIỆU Chương Chương 3. CƠ SỞ DỮ LIỆU Chương 4. NGÔN NGỮ TRUY VẤN SQL PHẦN II : LẬP TRÌNH WEB ............................................................................................... 65 Chương 1. TỔNG QUAN VỀ ASP.NET Chương 2. WEB SERVER CONTROL Chương 3. CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU

Trang 1

PHẦN I : CƠ SỞ DỮ LIỆU 4

Chương 1 TỔNG QUAN 5

1.1 Định nghĩa cơ sở dữ liệu 5

1.2 Đặc trưng của CSDL 5

1.2.1 Ưu điểm của CSDL 5

1.2.2 Yêu cầu đối với CSDL 6

1.2.3 Các đối tượng sử dụng CSDL 6

1.3 Quá trình hình thành và khai thác một hệ thống cơ sở dữ liệu 7

1.4 Định nghĩa hệ quản trị cơ sở dữ liệu 8

1.5 Định nghĩa mô hình dữ liệu 9

Chương 2 CẤU TRÚC DỮ LIỆU 10

2.1 Mô hình mạng lưới 10

2.2 Mô hình phân cấp 11

2.3 Mô hình thực thể - liên hệ 12

2.3.1 Thực thể (Entity) 12

2.3.2 Thuộc tính (Attribute) 12

2.3.3 Định danh 13

2.3.4 Các mối liên hệ 13

2.3.5 Lược đồ thực thể liên hệ (E/R Diagram) 14

2.3.6 Ví dụ về lược đồ thực thể liên hệ 15

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

2.4.1 Trường dữ liệu (thuộc tính) 15

2.4.2 Phụ thuộc hàm 16

2.4.3 Mối liên hệ 16

2.4.4 Chuyển mô hình thực thể - liên hệ sang mô hình quan hệ 18

2.5 Mô hình hướng đối tượng 20

2.6 Mô hình dữ liệu phân tán .20

2.6.1 Các đặc trưng cơ bản của kiến trúc khách-chủ: 23

2.6.2 Các thành phần của ứng dụng khách-chủ điển hình 24

Chương 3 CƠ SỞ DỮ LIỆU 25

3.1 Định nghĩa cơ sở dữ liệu quan hệ 25

3.2 Quá trình chuẩn hóa các bảng trong CSDL quan hệ 25

3.2.1 Ví dụ về bảng dữ liệu chưa được chuẩn hoá 25

3.2.2 Mục đích của chuẩn hoá 26

3.2.3 Ví dụ về bảng dữ liệu chuẩn hoá 26

3.3 Khoá của bảng dữ liệu 28

3.3.1 Khoá tuyển (Candidate Key) 28

3.3.2 Khoá chính (Primary Key) 29

3.3.3 Khoá ngoại (Foreign Key) .30

3.4 Ràng buộc dữ liệu và phụ thuộc hàm 31

3.5 Định nghĩa các dạng chuẩn 32

3.5.1 Bảng chuẩn 32

3.5.2 Dạng chuẩn 1 (First - Normal Form) 33

3.5.3 Dạng chuẩn 2 (Second - Normal Form) 34

3.5.4 Dạng chuẩn 3 (Third - Normal Form) 35

3.6 Một số quy tắc chuẩn hoá cho bảng CSDL quan hệ 35

Trang 2

3.6.1 Đưa bảng có dạng chuẩn 1 về bảng có dạng chuẩn cao hơn 35

3.6.2 Đưa bảng có dạng chuẩn 2 về bảng có dạng chuẩn cao hơn 38

3.7 Thiết kế chi tiết bảng CSDL 39

3.7.1 Các kiểu dữ liệu 39

3.8 Tạo và sửa đổi cấu trúc bảng 43

3.9 Tạo quan hệ giữa hai bảng dữ liệu (Relationship) .43

Chương 4 NGÔN NGỮ TRUY VẤN SQL 44

4.1 Quá trình hình thành và phát triển của SQL 44

4.2 Công dụng của SQL 44

4.3 Các nhóm lệnh của SQL 45

4.3.1 Ngôn ngữ định nghĩa dữ liệu DDL(Data Definition Language) 45

4.3.2 Ngôn ngữ thao tác dữ liệu DML (Data Manipulation Language) 45

4.3.3 Ngôn ngữ truy vấn dữ liệu (Structure Query Language : SQL) 46

4.4 Một số câu lệnh SQL phổ biến .46

4.4.1 Nhóm lệnh định nghĩa dữ liệu DDL 46

4.4.2 Thay đổi cấu trúc bảng 48

4.4.3 Nhóm lệnh thao tác dữ liệu DML 49

4.4.4 Nhóm lệnh truy vấn dữ liệu SQL 51

PHẦN II : LẬP TRÌNH WEB 65

Chương 1 TỔNG QUAN VỀ ASP.NET 66

1.1 Tổng quan về lập trình ứng dụng Web 66

1.1.1 HTTP (Hypertext Transfer Protocol) 66

1.1.2 HTML (Hypertext Markup Language) 66

1.1.3 Các mô hình ứng dụng 67

1.2 Giới thiệu về ASP.Net 69

1.2.1 Tìm hiểu về Net Phatform 69

1.2.2 Tìm hiểu về Net Framework 69

1.2.3 Tìm hiểu về ASP.Net 73

1.2.4 Những ưu điểm của ASP.Net 74

1.2.5 Quá trình xử lý tập tin ASPX 75

1.3 Web Server 75

1.3.1 Internet Information Services 76

1.3.2 Cài đặt Web Server 76

1.3.3 Tạo các ứng dụng web trên IIS 79

1.4 Tạo ứng dụng Web 80

1.4.1 Khởi động MS Visual Studio Net 80

1.4.2 Phân loại tập tin trong ASP.Net 81

1.4.3 Các thành phần giao diện trên VS Net 82

Chương 2 WEB SERVER CONTROL 87

2.1 HTML Control 87

2.2 ASP.Net Web Control 88

2.2.1 Asp.Net Page 88

2.2.2 Điều khiển cơ bản 90

Chương 3 CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU 108

3.1 Điều khiển DataGrid 108

3.1.1 Tạo một đối tượng GridView 108

3.1.2 Các thuộc tính và cột thuộc tính 108

Trang 3

3.1.3 Gán nguồn dữ liệu cho GridView sử dụng Dataset 112 3.1.4 Tạo tùy biến các cột trong GridView 118

3.2 Điều khiển DataList 135

Trang 4

PHẦN I : CƠ SỞ DỮ LIỆU

Trang 5

Chương 1 TỔNG QUAN

1.1 Định nghĩa cơ sở dữ liệu

Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database) là một tập hợp thông tin có cấu

trúc được lưu trên một thiết bị lưu trữ nhưđĩa hay băng từ Cơ sở dữ liệu là một hệ

thống các thông tin có cấu trúc được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp

(như băng từ, đĩa từ, ) để thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác nhau

Ví dụ : Để quản lý các công trình đường (QLCTD) người ta cần lưu trữ các thông tin về

các công trình đường dưới dạng một cơ sở dữ liệu có cấu trúc như sau:

Mã công trình Mã chủ ĐT Mã ĐVTVTK Mã ĐVTC Mã công trình

Tên công trình Tên chủ ĐT Tên ĐVTK Tên ĐVTC Mã chủ ĐT

Vị trí XD CQ chủ quản CQ chủ quản CQ chủ quản Mã ĐVTVTK

Ngày khởi công Địa chỉ Địa chỉ Địa chỉ Mã ĐVTC

Ngày hoàn thành Điên thoại Điên thoại Điên thoại

Chiều dài tuyến

Vận tốc thiết kế

1.2 Đặc trưng của CSDL

Cơ sở dữ liệu phải là một tập hợp các thông tin mang tính hệ thống có mối quan hệ với nhau, có cấu trúc và có khả năng đáp ứng các nhu cầu khai thác của nhiều người sử dụng trong cùng một thời gian

1.2.1 Ưu điểm của CSDL

Ít trùng lặp thông tin, do đó bảo đảm được tính nhất quán và toàn vẹn của dữ liệu

Có thể truy xuất dữ liệu theo nhiều cách khác nhau

Trang 6

Có khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau

1.2.2 Yêu cầu đối với CSDL

Tính chủ quyền của dữ liệu Do tính chia sẻ thông tin của CSDL nên tính chủ

quyền của dữ liệu có thể bị lu mờ, được thể hiện trên vấn đề an toàn dữ liệu, khả năng biểu diễn các mối liên hệ của dữ liệu và tính chính xác của dữ liệu Do đó người khai thác CSDL phải luôn có nghĩa vụ cập nhật các thông tin mới nhất cho CSDL

Tính bảo mật và khai thác thông tin của người sử dụng Do có nhiều người được

phép khai thác CSDL đồng thời nên cần phải có một cơ chế bảo mật và phân quyền hạn khai thác CSDL Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục bộ (Novell Netware, Windows Server, WinNT, ) đều cung cấp

cơ chế này

Tránh tranh chấp dữ liệu Nhiều người được phép truy nhập vào cùng một tài

nguyên dữ liệu (Data Source) của CSDL với những mục đích khác nhau: xem, thêm, xóa hoặc sửa dữ liệu Cần phải có một các chế độ ưu tiên truy nhập dữ liệu cũng như các chế độ giải quyết tình trạng khóa chết (DeadLock) trong quá trình khai thác cạnh tranh Cơ chế ưu tiên có thể được thực hiện bằng việc cấp quyền hạn ưu tiên cao hơn thì được ưu tiên truy nhập dữ liệu trước : theo loại truy nhập

- quyền đọc được ưu tiên truy nhập dữ liệu trước quyền ghi dữ liệu, dựa trên thời điểm truy nhập - ai có yêu cầu truy xuất trước thì có quyền truy nhập dữ liệu trước hoặc theo cơ chế lập lịch truy xuất hay các cơ chế khóa

Đảm bảo dữ liệu khi có sự cố Việc quản lý dữ liệu tập trung có thể làm tăng khả

năng mất mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, một phần đĩa lưu trữ CSDL bị hỏng v.v Một số hệ điều hành mạng có cung cấp dịch vụ sao lưu như đĩa cứng, tự động kiểm tra và khắc phục lỗi khi có sự cố Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để đảm bảo CSDL luôn ổn định, một cơ sở dữ liệu nhất thiết phải có một cơ chế khôi phục dữ liệu khi các sự cố

bất ngờ gây ra

1.2.3 Các đối tượng sử dụng CSDL

Những người sử dụng CSDL không chuyên về lĩnh vực tin học và CSDL Thường

sử dụng thông qua các công cụ khai thác CSDL như: hệ quản trị CSDL

Các chuyên viên tin học biết khai thác CSDL Những người này có thể xây dựng các ứng dụng khác nhau phục vụ cho các mục đích khác nhau trên CSDL

Những người quản trị CSDL, đó là những người hiểu biết về tin học, về các hệ quản trị CSDL và hệ thống máy tính Họ là người tổ chức CSDL (khai báo cấu trúc CSDL, ghi nhận các yêu cầu bảo mật cho các dữ liệu cần bảo vệ ) do đó họ phải nắm rõ các vấn đề kỹ thuật về CSDL để có thể phục hồi dữ liệu khi có sự

cố Họ là những người cấp quyền hạn khai thác CSDL, do vậy họ có thể giải quyết được các vấn đề tranh chấp dữ liệu

Trang 7

1.3 Quá trình hình thành và khai thác một hệ thống cơ sở dữ liệu

Quá trình hình thành và khai thác một cơ sở dữ liệu có thể mô tả theo trình tự sau:

1 Trước hết, sự cần thiết phải xây dựng cơ sở dữ liệu xuất phát từ chính yêu cầu thực tế Các vấn đề thực tế cần được mô tả bằng các dữ liệu phù hợp Các dữ liệu này phải được tổ chức với những thành phần tương ứng với các vấn đề đó Đồng thời các thành phần này phải có sự liên hệ nhằm mô phỏng các liên hệ giữa những đối tượng thực Việc tổ chức các thành phần dữ liệu, cũng như quan hệ giữa các thành phần đó cho ta khái niệm về cấu trúc CSDL Cấu trúc này sẽ gồm

mô hình dữ liệu và lược đồ phản ánh mô hình đó Như vậy sự hình thành cấu trúc của CSDL là kết quả của quá trình trừu tượng hóa dữ liệu (mô phỏng dữ liệu ứng với đối tượng thực, không gian thực, vấn đề thực) Cấu trúc CSDL cũng giống như một bản thiết kế về CSDL

2 Tiếp theo CSDL sẽ được xây dựng theo cấu trúc đã tạo và đảm bảo đúng những chức năng, yêu cầu trước khi thiết kế

3 Sau khi một CSDL được xây dựng, các thao tác đối với nó từ phía người sử dụng

sẽ được thực hiện thông qua các ứng dụng với các biểu mẫu, các báo cáo Người dùng chuyển các thông điệp (yêu cầu thực hiện lệnh) trên các giao diện đó Các thông điệp này được thực hiện nhờ các bộ máy cơ sở dữ liệu

Để một cơ sở dữ liệu được khai thác tốt, đầu tiên nó cần được thiết kế tốt, sau đó trong quá trình vận hành luôn cần có sự quản trị thông tin tốt từ phía người quản trị (người quản trị là một dạng người sử dụng đặc biệt: có thể bổ sung thông tin cho cơ sở dữ liệu, chỉnh sửa thông tin sai sót, xoá các thông tin khi cần, bảo trì cơ sở dữ liệu và khắc phục các sự cố về cơ sở dữ liệu) Ngày nay, để hỗ trợ cho các công việc này, những người quản trị sử dụng các hệ quản trị cơ sở dữ liệu

Trang 8

1.4 Định nghĩa hệ quản trị cơ sở dữ liệu

Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu Cụ thể, các chương trình

Ứng dụng khai thác thông tin

Bộ máy CSDL

Ứng dụng quản trị thông tin

Cơ sở dữ liệu

Mô hình dữ liệu phản ánh các đối tượng, vấn đề thực tế

Không qian thực, vấn đề thực, đối tượng thực

Lược đồ dữ liệu – sự triển khai mô hình

dữ liệu vào trong CSDL

Trang 9

thuộc loại này hỗ trợ khả năng tạo, lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL)

Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính Tiêu biểu như ORACLE, MS ACCESS, SQL SERVER, FOXPRO…

Ví dụ : Hệ quản trị CSDL SQL Server như sau:

1.5 Định nghĩa mô hình dữ liệu

Mô hình dữ liệu là sự trừu tượng hóa môi trường thực, nó là sự biểu diễn dữ liệu ở mức quan niệm Mô hình dữ liệu gồm có phần mô tả và phương pháp để lưu trữ và lấy dữ liệu Thông thường nó được xây dựng bằng các thuật toán và các khái niệm Việc phân tích và thiết kế mô hình dữ liệu rất quan trọng trong việc phát triển cơ sở dữ liệu

Trang 10

Chương 2 CẤU TRÚC DỮ LIỆU

Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của những nhà phân tích - thiết kế CSDL, mỗi loại đều có các ưu điểm và mặt hạn chế của nó nhưng vẫn có những mô hình dữ liệu nổi trội và được nhiều người quan tâm nghiên cứu Cho đến nay có rất nhiều mô hình dữ liệu đã ra đời như : mô hình dữ liệu mạng lưới (Network Data Model), mô hình dữ liệu phân cấp (Hierachical Data Model), mô hình dữ liệu thực thể - liên hệ (Entity - Relationship Data Model), mô hình dữ liệu quan

hệ (Relationship Data Model), mô hình hướng đối tượng, mô hình dữ liệu phân tán…

Loại mẫu tin (Record Type) là mẫu đặc trưng cho một loại đối tượng riêng biệt Ví

dụ : Trong việc quản lý vật liệu của một công trình, thì các đối tượng cần phản ánh của thế giới thực có thể là xi măng, cát, đá, cốt thép, do đó cần có các loại mẫu tin đặc trưng cho từng đối tượng này Trong đồ thị biểu diễn mô hình mạng mỗi loại mẫu tin được biểu diễn bởi một hình chữ nhật, một thể hiện (Instance) của một loại mẫu tin được gọi là bản ghi (Record)

Loại liên hệ (Set Type) là sự liên kết giữa một loại mẫu tin chủ với một loại mẫu tin thành viên Trong đồ thị biểu diễn mô hình mạng mỗi loại liên hệ được biểu diễn bởi một hình bầu dục (oval) và sự liên kết giữa 2 loại mẫu tin được thể hiện bởi các cung có hướng (các mũi tên) đi từ loại mẫu tin chủ tới loại liên hệ và từ loại liên hệ tới loại mẫu tin thành viên

Có các loại liên hệ sau:

Trang 11

1 - 1 (One - to - One): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với đúng một mẫu tin thành viên Ví dụ : một loại xi măng thì có duy nhất một chỉ

số cường độ xi măng

1 - n (One - to - Many): Mỗi mẫu tin của loại mẫu tin chủ kết hợp với một hay nhiều mẫu tin thành viên Ví dụ : mỗi công trình thì phải chỉ có một chủ đầu tư Mỗi chủ đầu tư có thể đầu tư cho nhiều công trình

n - m (Many - to - Many): Một mẫu tin của loại mẫu tin chủ kết hợp với nhiều mẫu tin thành viên và ngược lại Ví dụ : một công trình có thể do nhiều đơn vị thi công và một đơn vị thi công có thể thi công nhiều công trình

Đệ quy (Recursive): Một loại mẫu tin chủ cũng có thể đồng thời là loại mẫu tin thành

viên với chính nó

2.2 Mô hình phân cấp

Mô hình dữ liệu phân cấp - còn gọi tắt là mô hình phân cấp là mô hình được biểu diễn

dưới dạng cây (Tree), trong đó mỗi nút của cây biểu diễn một đối tượng dữ liệu, giữa

nút con và nút cha được liên hệ với nhau theo một mối quan hệ xác định Mô hình dữ liệu phân cấp sử dụng các khái niệm sau:

Loại mẫu tin: giống khái niệm trong mô hình dữ liệu mạng

Loại mối liên hệ: Kiểu liên hệ là phân cấp, theo cách:

Một tin thành viên chỉ đóng vai trò thành viên của một mối liên hệ duy nhất, tức

là nó thuộc một chủ duy nhất Như vậy, mối liên hệ từ mẫu tin chủ tới các mẫu tin thành viên là 1 - n, từ mẫu tin thành viên với mẫu tin chủ là 1 - 1 Giữa 2 loại mẫu tin chỉ tồn tại một mối liên hệ duy nhất

Ví dụ:

Bộ Giao thông vận tải

CT

Cầu 12

CT Cầu 14

CT 492 CT 479

CT Cầu 75

CT 829

Trang 12

2.3 Mô hình thực thể - liên hệ

Mục đích của mô hình thực thể liên hệ là cho phép mô tả một lược đồ khái niệm của một tổ chức, một đối tượng thực tế hay một vấn đề phải giải quyết trong thực tế Mô hình dữ liệu thực thể - liên hệ được diễn tả thông qua các khái niệm: thực thể, thuộc tính, định danh và các liên hệ

2.3.2 Thuộc tính (Attribute)

Thuộc tính của một loại thực thể (Entity Attribute) là các đặc tính riêng biệt cơ bản của

loại thực thể Tất nhiên các thuộc tính của thực thể được đề cập ở đây là những thuộc tính được quan tâm xem xét khi mô tả không gian thực chứ không phải tất cả những đặc điểm của không gian thực

Ví dụ:

Sau đây là một số thông tin của một số công trình thực tế:

Cầu Bãi Cháy

Cầu được đặt tên là cầu Bãi Cháy Cầu nối hai bờ Hạ Long – Hòn Gai của tỉnh Quảng Ninh Cầu được khởi công xây dựng từ năm 2003 và khánh thành vào năm 2007 Tổng vốn đầu tư xây dựng cho công trình này là 2500

tỷ đồng Đây là công trình cầu hiện đại được áp dụng nhiều công nghệ mới Sau khi xây dựng, cầu đã trở thành một điểm nhấn kiến trúc cho thành phố

Quốc lộ 10, khắc phục thế “đảo nổi” của tỉnh Thái Bình,…

Từ công trình thực tế và những đặc điểm thực của chúng và dưới góc độ quản lý công trình, thông tin của các công trình sẽ được mô tả qua thực thể “Congtrinh” với các thuộc tính sau:

MaCongtrinh Mã công trình – nhằm phân biệt các công trình với nhau Mỗi công trình sẽ

có một mã riêng biệt

NgayKhoicong Ngày khởi công của công trình

Trang 13

2.3.3 Định danh

Định danh thực thể là các thuộc tính dùng để nhận biết thực thể Căn cứ vào các gía trị của các thuộc tính định danh này người ta có thể xác định một thực thể duy nhất của một loại thực thể

Ví dụ: Trong thực thể “Congtrinh” dưới đây:

Congtrinh(MaCongtrinh,TenCongtrinh,Ngaykhoicong,Ngayho anthanh,TongmucDautu)

Macongtrinh chính là định danh của thực thể Mỗi công trình chỉ có một

Macongtrinh duy nhất

Có thể trong một thực thể có nhiều thuộc tính có thể làm định danh được, khi đó ta phải chọn một định danh duy nhất Đồng thời, cũng có khi để xác định sự duy nhất của một loại thực thể cần sử dụng tới không chỉ một mà là một số thuộc tính Khi đó định danh phải là một tập hợp các thuộc tính

“Congtrinh” là: “DonviTC” xay_lap “Congtrinh”

Các mối liên hệ có thể có các kiểu sau:

Liên hệ 1-1: Một thực thể kiểu A chỉ liên hệ với một thực thể kiểu B và ngược lại

Liên hệ 1-n (hay liên hệ 1-∞): Một thực thể kiểu A có thể liên hệ với nhiều thực thể kiểu B Đồng thời, một thực thể kiểu B chỉ có thể liên kết với một thực thể kiểu

A

Liên hệ m-n (hay liên hệ ∞-∞): Một thực thể kiểu A có thể liên hệ với nhiều thực thể kiểu B Một thực thể kiểu B cũng có thể liên hệ với nhiều thực thể kiểu A

Trang 14

2.3.5 Lược đồ thực thể liên hệ (E/R Diagram)

Một trong các cách biểu thị của mô hình thực thể liên hệ là ta dùng lược đồ thực thể liên

hệ (E/R Diagram – Entity/ Relationship Diagram Trong dạng biểu diễn này thường sử dụng các ký hiệu sau :

Ví dụ: Liên hệ 1-n có thể được biểu diễn như sau

Biểu diễn đầu này là 1

Biểu diễn đầu này là n (nhiều)

Biểu diễn đầu này là 1 hoặc không liên hệ

Biểu diễn đầu này là n hoặc không liên hệ

Xaylap Biểu diễn liên hệ “Xaylap”

MaCongtrinh Biểu diễn thuộc tính “MaCongtrinh”

“Congtrinh”

Trang 15

2.3.6 Ví dụ về lược đồ thực thể liên hệ

Để mô tả thông tin về công trình xây dựng, các đơn vị chủ đầu tư, nhà thầu thi công,

có thể sử dụng mô hình thực thể liên hệ biều diễn qua lược đồ sau:

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

Trong những năm 1980 mô hình cơ sở dữ liệu quan hệ bắt đầu được sử dụng và ngày càng phổ biến Mô hình này được phát triển bởi Dr E.F Codd tại công ty IBM (Mỹ) từ những năm 1960 Là một nhà toán học, ông đã ứng dụng những hiểu biết về các khái niệm toán học của mình vào lĩnh vực cơ sở dữ liệu và xây dựng nên khái niệm về cơ sở

dữ liệu quan hệ

Trong mô hình cơ sở dữ liệu quan hệ quan hệ dữ liệu được tổ chức thành các quan hệ (các bảng) Một bảng gồm các cột và các dòng, còn được gọi là các trường và các bản ghi Trong một cơ sở dữ liệu quan hệ, các thuộc tính trong một bảng phụ thuộc vào nhau và các giữa các bảng cũng có mối liên hệ với nhau

Ví dụ:

Khi quản lý các công trình giao thông ta dùng một bảng QLCT gồm các trường và các

bản ghi như sau :

Ngày hoàn thành

Mã ĐVTVKT

Mã ĐVTC

001 Công trình X 10 tỷ 01/03/1999 01/12/2001 HSA HSM

002 Công trình Y 5 tỷ 01/05/1998 31/12/2000 HSB HS N

003 Công trình Z 4 tỷ 31/03/2000 01/12/2002 HSC HSP

500 Công trình T 15 tỷ 21/12/1998 31/06/2003 HS E HSQ

2.4.1 Trường dữ liệu (thuộc tính)

Khái niệm thuộc tính hay trường dữ liệu tương tự khái niệm thuộc tính trong mô hình

liên hệ thực thể Thuộc tính trong mô hình dữ liệu quan hệ là một lô thông tin nhỏ nhất

trong quan hệ và nó có thể được sử dụng độc lập Thuộc tính hoặc tập hợp thuộc tính

Trang 16

xác định tính duy nhất của một bản ghi trong bảng gọi là khoá chính (Primary Key hay PK) Khái niệm này tương tự như định danh trong mô hình thực thể liên hệ

Thuộc tính bao gồm hai phần : Tên thuộc tính và miền giá trị

Tên thuộc tính là một dãy các ký tự thoả mãn quy tắc đặt tên Trong một quan hệ

thì tên thuộc tính còn gọi là tên trường

Miền giá trị của thuộc tính là tập hợp các giá trị mà thuộc tính có thể nhận được

Ví dụ:

Thuộc tính Ngày thì có miền giá từ 1,.2, ,31

Thuộc tính Gi ới_tính có miền giá trị là nam hoặc nữ

2.4.2 Phụ thuộc hàm

Khái niệm phụ thuộc dữ liệu mô tả một loại ràng buộc (ràng buộc dữ liệu) xảy ra tự nhiên nhất giữa các tập thuộc tính Hiện nay đã có nhiều loại phụ thuộc dữ liệu được nghiên cứu, nhưng về cơ bản các hệ quản trị cơ sở dữ liệu lớn đều sử dụng phụ thuộc hàm

Ví dụ:

Theo ví dụ trên : khi có một Mã công trình ta sẽ xác định được Tên công

Mã ĐVTVTK, Mã ĐVTC Như vậy ta có các phụ thuộc hàm sau :

2.4.3 Mối liên hệ

Trong mô hình dữ liệu quan hệ có hai dạng liên kết đó là liên kết 1-1 và liên kết 1-n

Mối liên hệ giữa các bảng thường được thực hiện thông qua các trường (thuộc tính) Các trường liên kết giữa hai bảng thường được gọi là khoá ngoại (Foreign Key hay FK)

Liên kết 1-1

Giả sử, cho hai bảng như sau:

Trang 17

HoSoCtrinh(MaCongTrinh,TenCongTrinh,NgayKhoiCong,NgayHo anThanh, MaHoSoTKeKT)

HoSoTkeKthuat(MaHoSoTKeKT,TongMucDauTu,MaDonViTKe)

Khi đó hai bảng HoSoCtrinhHoSoTkeKthuat liên kết 1-1 với nhau thông qua trường MaHoSoTKeKT: một công trình ở bảng HoSoCtrinh chỉ có tương ứng một MaHoSoTKeKT trong bảng HoSoTkeKthuat và một MaHoSoTKeKT trong bảng HoSoTkeKthuat chỉ của duy nhất một công trình trong bảng HoSoCtrinh

Ta có thể biểu thị mối quan hệ giữa 2 bảng dưới dạng sơ đồ sau:

Trang 18

2.4.4 Chuyển mô hình thực thể - liên hệ sang mô hình quan hệ

Các hệ quản trị cơ sở dữ liệu hiện nay chủ yếu dựa trên mô hình dữ liệu quan hệ Nhưng mô hình thực thể - liên hệ lại tiện lợi hơn trong quá trình phân tích, thiết kế Chính vì thế khi phân tích thiết kế cơ sở dữ liệu người ta thường sử dụng mô hình thực thể - liên hệ kết hợp sau đó khi cài đặt người ta mới chuyển sang mô hình quan hệ theo quy tắc sau:

Quy tắc:

Tên thực thể chuyển thành tên bảng, các thuộc tính trở thành các cột của bảng đó

Mối liên kết 1-1: Nếu liên kết không phải là liên kết khóa thì ta dồn 2 bảng thành 1

Nếu có liên kết khoá thì đưa khoá của bảng có liên kết khoá sang làm khoá ngoại của bảng kia hoặc đưa khoá của bảng được truy cập nhiều hơn sang làm khoá ngoại của bảng kia

Mối liên kết 1-N: Đưa khoá chính của bảng phía 1 sang làm khoá ngoại của bảng

Để xây dựng được một công trình cần có một số đơn vị liên quan như: Đơn vị

Một công trình có thể do nhiều đơn vị tư vấn thiết kế, một đơn vị tư vấn thiết kế cũng có thể thiết kế nhiều công trình

Một công trình có thể do nhiều đơn vị thi công, một đơn vị thi công cũng có thể thi công nhiều công trình

Một công trình chỉ có một chủ đầu tư, nhưng một chủ đầu tư có thể đầu tư cho nhiều công trình

Xây dựng sơ đồ quan hệ thực thể biểu diễn mối quan hệ giữa các đối tượng trên Sau đó chuyển sang mô hình quan hệ để có thể truy xuất các thông tin cần thiết

Để thực hiện được bài toán này chúng ta phải tiến hành các bước sau:

Xác định các thực thể cùng các thuộc tính của thực thể cần lưu trữ

Xác định mối liên hệ giữa các thực thể

Vẽ sơ đồ quan hệ thực thể

Chuyển sang mô hình quan hệ

Trang 19

Từ việc phân tích bài toán ta rút ra được các thực thể và các thuộc tính cần lưu trữ:

ĐV TVTK (Mã ĐVTVTK, Tên ĐVTVTK, Điện thoại, Địa chỉ, Email)

ĐV TC (Mã ĐVTC, Tên ĐVTC, Điện thoại, Địa chỉ, Email)

Email)

Và ta có sơ đồ quan hệ thực thể:

Áp dụng quy tắc chuyển đổi từ mô hình thực thể liên hệ sang mô hình quan hệ ta có mô hình quan hệ như sau :

Trang 20

2.5 Mô hình hướng đối tượng

Ý tưởng của mô hình hướng đối tượng nhằm phân rã hệ thống dữ liệu thành các đối tượng và các đối tượng này tác động và trao đổi thông tin với nhau thông qua các thông điệp (message) Trong mô hình này người ta sử dụng các khái niệm đối tượng, thuộc tính, phương thức của đối tượng và lớp đối tượng

Đối tượng là các sự vật, hiện tượng, tổ chức của thế giới thực Ví dụ: một cây cầu,

một con đường là một đối tượng hay một cái mố, một cái trụ của cây cầu cũng là một đối tượng, Một đối tượng bao giờ cũng có ba thành phần: Tên đối tượng, Thuộc tính và phương thức của đối tượng Các đối tượng trong một hệ thống trao đổi với nhau thông qua các thông điệp (message)

Thuộc tính mô tả trạng thái của đối tượng Các thuộc tính chính là phần lưu trữ dữ liệu của đối tượng Ví dụ: một số thuộc tính như tên gọi, số làn xe, tải trọng cho

phép, năm xây dựng, chính là các thuộc tính của đối tượng cầu

Phương thức chính là các hành vi làm thay đổi trạng thái của đối tượng

Lớp đối tượng là tập hợp các đối tượng có cùng thuộc tính và phương thức.Các

thành phần của lớp đối tượng cầu :

Ưu điểm của mô hình hướng đối tượng :

Có tính đóng gói và che dấu thông tin

Có tính thừa kế giữa các lớp đối tượng

Có tính tương ứng bội

2.6 Mô hình dữ liệu phân tán

Hiện nay nhiều mô hình dữ liệu hiện đại là các mô hình dữ liệu phân tán, có nghĩa là một số phần của dữ liệu nằm ở các nút (máy tính) và các ổ đĩa khác nhau trong mạng

Trang 21

máy tính Thông thường, mỗi phần của dữ liệu được quản lý bởi một máy chủ, một quá trình chịu trách nhiệm kiểm soát sự truy cập và lấy dữ liệu Máy chủ phân phối thông tin đến các ứng dụng khách và thực hiện các truy vấn dữ liệu cho các ứng dụng này hay các máy chủ khác Các ứng dụng khách thường nằm trên các điểm nút khác máy chủ Tuy nhiên, cũng có thể chúng cùng nằm trên một điểm nút

Với kiến trúc này, các khối gọi một khối khác trở thành “khách” (yêu cầu dịch vụ) còn các khối được gọi trở thành “chủ” (cung cấp dịch vụ)

Khách là một quá trình (chương trình) gửi thông điệp đến quá trình (chương trình) chủ

yêu cầu quá trình này thực hiện các nhiệm vụ nhất định (cung cấp dịch vụ) Chương trình khách thường quản lý bộ phận giao diện người dùng của ứng dụng, đánh giá dữ liệu do người dùng nhập vào, gửi yêu cầu đến các chương trình chủ và đôi khi thực hiện một số logic nghiệp vụ Tầng nghiệp vụ chứa tất cả các đối tượng mô tả nghiệp vụ (các đối tượng thật) Các quá trình dựa trên máy khách là bộ phận giao tiếp (frond-end) của ứng dụng, tức là phần mà người dùng nhìn thấy và giao tiếp với Chương trình khách chứa các logic chuyên biệt cho giải pháp và cung cấp giao diện giữa người dùng và phần còn lại của hệ thống ứng dụng Nó cũng quản trị các tài nguyên mà người dùng tương tác với như màn hình, bàn phím, CPU và các thiết bị ngoại vi Một bộ phận quyết định trong máy trạm (khách) là giao diện đồ họa người dùng, nó thường là một phần của hệ điều hành (như Windows Manager) Nó chịu trách nhiệm phát hiện ra hành động của người dùng, quản trị các Windows cũng như trình bày dữ liệu lên Windows

Các chương trình chủ đáp ứng các yêu cầu của khách thông qua việc thực hiện các

nhiệm vụ được yêu cầu Thông thường, các các chương trình chủ nhận được các yêu cầu từ các chương trình khách, thực hiện các truy vấn và cập nhật dữ liệu, quản lý tính đầy đủ của dữ liệu và gửi trả lời đến chương trình khách Đôi khi chương trình chủ cũng thực hiện các logic nghiệp vụ phức tạp Quá trình chủ có thể chạy ở máy chủ khác trong mạng Máy chủ này có thể là một hệ điều hành thông thường hay là một máy chủ làm dịch vụ tệp tin (file server) Trong trường hợp này, máy chủ làm việc như máy cung cấp dịch vụ tệp tin và dịch vụ ứng dụng Trong một số trường hợp, các máy để bàn thông thường cũng cung cấp các dịch vụ ứng dụng Quá trình chủ thường làm việc như một

“bộ máy” phần mềm quản trị các tài nguyên dùng chung như cơ sở dữ liệu, máy in, kết nối, các bộ xử lý Các quá trình chủ thực hiện các nhiệm vụ của chương trình phụ trợ (back-end) chung cho nhiều ứng dụng tương tự nhau.Các ứng dụng chủ có thể có nhiều dạng, dạng đơn giản nhất là máy chủ dịch vụ tệp tin (file server) Với dạng này, ứng dụng khách gửi yêu cầu về tệp tin hay các bản ghi tệp tin qua mạng đến máy chủ Dạng dịch vụ dữ liệu này đòi hỏi băng thông rộng và nhiều người dùng có thể làm chậm mạng đi một cách đáng kể Mạng LAN thông thường cho phép người dùng chia sẻ các nguồn tài nguyên như tệp tin dữ liệu và các thiết bị ngoại vi

Các dạng máy chủ tiên tiến khác là máy chủ dịch vụ cơ sở dữ liệu, máy chủ dịch vụ giao tác, máy chủ dịch vụ ứng dụng và mới nhất hiện nay là máy chủ dịch vụ đối tượng Với máy chủ dịch vụ cơ sở dữ liệu, các ứng dụng khách gửi các yêu cầu SQL dưới dạng

Trang 22

thông điệp đến máy chủ và các kết quả truy vấn sẽ được gửi trả lại qua mạng Cả các lệnh để xử lý SQL và dữ liệu đều nằm ở máy chủ Điều này cho phép nó tận dụng sức mạnh xử lý của mình để tìm kiếm dữ liệu yêu cầu Điều này ngược với máy chủ dịch vụ tệp tin, ở đó tất cả các bản ghi dữ liệu đều được chuyển đến cho ứng dụng khách và ứng dụng này phải tìm lấy dữ liệu của mình

Với máy chủ dịch vụ giao tác, chương trình khách gọi một thủ tục từ xa, nằm ở trên máy chủ Máy này cũng chứa cơ sở dữ liệu SQL Máy chủ có các câu lệnh thủ tục để xử

lý các câu lệnh SQL (giao tác)

Các ứng dụng dựa trên máy chủ dịch vụ giao tác và được xử lý bởi bộ phận xử lý giao tác trực tuyến (on-line transaction processing - OLTP) có xu hướng trở thành các ứng dụng “đặc nhiệm” (mission-critical application – những ứng dụng tuyệt đối cần thiết để thực hiện các nhiệm vụ quan trọng trong kinh doanh, nhà nước - như chuyển tiền, bảo mật, v.v.) Các ứng dụng này luôn đòi hỏi thời gian trả lời ngắn, trong khoảng 1-3 giây,

và sự kiểm soát chặt chẽ về an ninh và tính nguyên vẹn của cơ sở dữ liệu Tổng chi phí cho việc truyền thông theo phương pháp này được giữ ở mức tối thiểu vì sự trao đổi chỉ chứa một yêu cầu và một trả lời đơn giản (ngược với nhiều câu lệnh SQL trong máy chủ dịch vụ cơ sở dữ liệu)

Các máy chủ dịch vụ ứng dụng không nhất thiết phải dựa trên cơ sở dữ liệu làm trung tâm mà có thể được sử dụng để phục vụ các nhu cầu của người dùng như khả năng tải xuống các thông tin về thị trường chứng khoán hay điều chỉnh việc xử lý e-mail Các tài nguyên ở máy chủ cho phép người dùng chia sẻ dữ liệu trong khi các dịch vụ quản trị

và bảo mật, cũng dựa trên máy chủ, lại đảm bảo tính toàn vẹn và bảo mật Việc mở rộng logic điều này buộc phải có ứng dụng khách và ứng dụng chủ chạy trên các hệ thống phần cứng và phần mềm thích hợp với các chức năng của chúng Ví dụ, các máy chủ làm hệ thống quản trị cơ sở dữ liệu nên chạy trên các nền tảng được thiết kế và cài đặt đặc biệt để thực hiện các truy vấn và các máy chủ dịch vụ tệp tin nên chạy trên các nền tảng có các thành phần chuyên cho việc quản lý tệp tin

Ở kiến trúc hai lớp, các ứng dụng khách nói chuyện trực tiếp với ứng dụng chủ mà

không can thiệp vào ứng dụng này Dạng kiến trúc này thường được sử dụng trong các môi trường nhỏ, có ít hơn 50 người dùng Một lỗi hay gặp khi phát triển các ứng dụng khách-chủ là xây dựng một mẫu thử của ứng dụng trong môi trường nhỏ, hai tầng, sau

đó mở rộng bằng cách bổ sung thêm một cách đơn giản người dùng cho ứng dụng chủ Phương pháp này thường tạo ra một hệ thống không hiệu quả khi máy chủ trở nên quá tải

Trang 23

Kiến trúc ba lớp đưa thêm một máy chủ (máy chủ dịch vụ ứng dụng hay máy chủ Web)

giữa máy khách và máy chủ Vai trò của máy chủ dịch vụ ứng dụng hay máy chủ Web

là rất đa dạng Chúng có thể cung cấp các dịch vụ chuyển đổi (như khi chuyển đổi ứng dụng di sản ở các máy mainframe thành môi trường khách-chủ), dịch vụ đo lường (khi điều khiển các giao tác để giới hạn số lượng các yêu cầu đồng bộ với một máy chủ) hay dịch vụ môi giới thông minh (khi chia một yêu cầu cho nhiều máy chủ, thu thập kết quả

và sau đó trả lại cho máy khách một trả lời duy nhất)

2.6.1 Các đặc trưng cơ bản của kiến trúc khách-chủ:

Kiến trúc khách-chủ là một sự kết hợp ứng dụng khách hay bộ phận frond-end tương tác với người dùng và ứng dụng chủ hay bộ phận back-end tương tác với các tài nguyên được chia sẻ Ứng dụng khách chứa logic giải pháp và cung cấp giao diện giữa người dùng và phần còn lại của hệ thống ứng dụng Ứng dụng chủ làm việc như một lõi phần mềm quản trị các tài nguyên dùng chung như cơ sở dữ liệu, máy in, modem, processor

Máy chủ ứng dụng hay Web

LAN hay WAN

Máy khách Máy khách Máy khách

Máy chủ DBMS hay

dữ liệu và ứng dụng

di sản

Máy chủ ứng dụng

LAN hay WAN

Máy khách Máy khách Máy khách

Trang 24

Các nhiệm vụ của ứng dụng chủ và ứng dụng khách có các yêu cầu khác nhau cơ bản về tài nguyên tính toán như tốc độ của processor, bộ nhớ, tốc độ và dung lượng ổ đĩa và các thiết bị vào ra

Môi trường thường là không đồng nhất và của nhiều nhà sản xuất Nền tảng phần cứng và hệ điều hành của máy chủ và máy khách thường là không giống nhau Các quá trình của ứng dụng chủ và khách trao đổi với nhau thông qua một tập hợp các giao diện chương trình ứng dụng (API) tiêu chuẩn

Một đặc trưng quan trọng của các hệ thống khách-chủ là tính mở rộng được Chúng

có thể mở rộng ngang và đứng Mở rộng ngang nghĩa là việc them hay bớt các máy trạm (khách) chỉ có ảnh nhỏ đến tính năng Mở rộng đứng nghĩa là sự di trú đến máy chủ lớn hơn, nhanh hơn hay nhiều máy chủ

2.6.2 Các thành phần của ứng dụng khách-chủ điển hình

Giao diện người dùng Thành phần quan trọng này của ứng dụng khách-chủ tương

tác với người dùng

Xử lý nghiệp vụ Bộ phận ứng dụng này sử dụng dữ liệu của giao diện người dùng

để thực hiện các công việc nghiệp vụ Trong quyển sách này chúng ta sẽ xem xét cách phát triển thành phần này bằng việc sử dụng công nghệ hướng đối tượng

Xử lý cơ sở dữ liệu Bộ phận ứng dụng này xử lý dữ liệu trong ứng dụng Dữ liệu

được quản lý bởi các hệ thống quản trị cơ sở dữ liệu, có thể là hướng đối tượng hay không Dữ liệu được xử lý bằng việc áp dụng ngôn ngữ xử lý dữ liệu như SQL hay các phiên bản của nó (có thể là ngôn ngữ truy vấn hướng đối tượng) Một cách lý tưởng, việc xử lý của DBMS là trong suốt đối với tầng xử lý nghiệp

vụ hay ứng dụng

Việc phát triển và thực hiện các ứng dụng khách-chủ là phức tạp hơn, khó hơn và tốn kém hơn các ứng dụng đơn quá trình truyền thống Tuy nhiên, với công nghệ hướng đối tượng, chúng ta có thể quản lý được tính phức tạp của các ứng dụng khách-chủ

Trang 25

Chương 3 CƠ SỞ DỮ LIỆU

3.1 Định nghĩa cơ sở dữ liệu quan hệ

Cơ sở dữ liệu quan hệ là một tập hợp các bảng gồm các hàng và các cột dùng để chứa

dữ liệu, và các bảng có mối quan hệ với nhau thông qua các thuộc tính chung (khóa) Các bảng dữ liệu còn được gọi là các quan hệ, các cột gọi là các trường hay các thuộc tính (vì vậy bảng còn được gọi là tập hợp các thuộc tính) Giữa các trường có thể có ràng buộc với nhau Quan hệ giữa các bảng được gọi là liên hệ (Relationships)

3.2 Quá trình chuẩn hóa các bảng trong CSDL quan hệ

3.2.1 Ví dụ về bảng dữ liệu chưa được chuẩn hoá

Giả sử ta có bảng dữ liệu QLCT quản lý các công trình giao thông được ghi dưới dạng bảng sau đây:

Mã công

trình

Tên công trình

Tổng mức đầu tư (tỷ)

Mã đơn vị thiết kế

Tên đơn vị thiết kế

Mã đơn vị thi công

Tên đơn vị thi công

CT001 Công trình A 200 TK001 Đơn vị X TC001 Đơn vị M CT001 Công trình A 200 TK002 Đơn vị Y TC001 Đơn vị M CT002 Công trình B 300 TK001 Đơn vị X TC002 Đơn vị N CT003 Công trình C 1000 TK002 Đơn vị Y TC003 Đơn vị P CT004 Công trình D 900 TK001 Đơn vị X TC003 Đơn vị P

Trong bảng dữ liệu trên, các bộ giá trị (TK001, Đơn vị X), (TK002, Đơn vị

Y) hay (TC001, Đơn vị M), (TC003, Đơn vị P) xuất hiện lặp đi lặp lại nhiều lần không cần thiết Khi số bản ghi của bảng dữ liệu lớn thì sự lặp đi lặp lại thông tin nhiều lần làm cho khối lượng dữ liệu của bảng tăng lên rất lớn Và khi khối lượng

dữ liệu tăng lên thì các thao tác quản lý dữ liệu trở nên phức tạp và tốn thời gian hơn Khi muốn thay đổi thông tin trong bảng: giả sử cần thay đổi thông tin ở Mã đơn vị

v ị Z ) Đối với bảng dữ liệu QLCT này, chúng ta phải duyệt toàn bộ các bản ghi của quan hệ và thay đổi Tên đơn vị thiết kế = Đơn vị Z ở tất cả các bản ghi có Mã đơn vị thiết kế = TK001 Như vậy, chính việc dư thừa và lặp lại thông tin khiến cho việc cập nhật thông tin trong bảng trở nên khó khăn hơn

Đồng thời, khi cần loại bỏ các bản ghi có Mã công trình = CT001 (có Tên công trình = Công trình A) chúng ta cần phải xoá đi hai hàng đầu trong bảng QLCT Tuy nhiên việc loại bỏ thông tin này kéo theo các thông tin của TK001, TK002, TC001 sẽ biến mất khỏi cơ sở dữ liệu Như vậy việc loại bỏ thông tin có thể gặp rắc rối: đó là sẽ mất mát những thông tin không cần loại bỏ

Cuối cùng, việc bổ sung thêm thông tin cho bảng cũng gặp khó khăn: với bảng này, thông tin về một công trình chỉ được bổ sung khi có đầy đủ các dữ liệu tương ứng với

Trang 26

các trường Tuy nhiên, trong nhiều trường hợp thông tin chưa thể có đầy đủ được Chẳng hạn, khi có thông tin về một công trình CT005 – Công trình E nhưng việc xác định đơn vị thiết kế và đơn vị thi công chưa thực hiện được Khi đó đối với bảng dữ liệu QLCT thì công trình CT005 chưa thể được bổ sung vào cơ sở dữ liệu Thông tin về công trình CT005 chỉ được đưa vào cơ sở dữ liệu (thêm dòng mới) khi có

đủ thông tin về đơn vị thiết kế và đơn vị thi công

Rõ ràng, với những nhược điểm trên thì việc sử dụng, khai thác cũng như quản trị cơ sở

dữ liệu sẽ gặp nhiều khó khăn Nguyên nhân chính là do quá trình thiết kế bảng cơ sở

dữ liệu chưa hợp lý Như vậy, sau quá trình thiết kế sơ bộ cơ sở dữ liệu, phải có sự

chỉnh sửa, thay đổi – quá trình đó gọi là quá trình chuẩn hoá

3.2.2 Mục đích của chuẩn hoá

3.2.2.1 Tối thiểu hoá việc dư thừa thông tin

Mục đích đầu tiên của chuẩn hóa bảng dữ liệu đó là tránh sự dư thừa thông tin trong cơ

sở dữ liệu Nói cách khác chuẩn hóa bảng chính là tối thiểu hoá sự lặp lại thông tin nhiều lần, ở nhiều chỗ trong bảng dữ liệu một cách không cần thiết làm cho khối lượng

dữ liệu được lưu trữ là tối ưu nhất mà không bị mất mát thông tin

3.2.2.2 Tối ưu hoá khi cập nhật thông tin

Mục đích thứ hai của chuẩn hoá bảng đó là tối ưu hoá việc cập nhật thông tin cho bảng

dữ liệu Khi muốn điều chỉnh một thông tin, mà thông tin đó lại xuất hiện nhiều lần trên bảng dữ liệu, thì khi đó chúng ta phải tìm kiếm và thay thế tất các các thông tin cần điều chỉnh trên bảng dữ liệu Quá trình tìm kiếm và cập nhật này sẽ tốn rất nhiều thởi gian và công sức

3.2.2.3 Tối ưu hoá khi loại bỏ thông tin

Mục đích thứ ba của chuẩn hoá bảng đó là tối ưu hoá việc loại bỏ thông tin của bảng dữ liệu Với một bảng dữ liệu chưa được chuẩn hoá, khi loại bỏ một bộ của quan hệ, có khả năng chúng ta sẽ đánh mất một thông tin phụ chứa trong bộ đó

3.2.2.4 Tối ưu hoá khi bổ sung thông tin

Mục đích thứ tư của chuẩn hoá bảng đó là tối ưu hoá việc bổ sung thông tin của bảng

dữ liệu Với một bảng dữ liệu chưa được chuẩn hoá, khi ta muốn bổ sung thông tin chỉ chiếm một phần của một bộ, nhưng các giá trị khác trong bộ lại chưa có thì chúng ta chưa thể thêm thông tin này vào cơ sở dữ liệu

3.2.3 Ví dụ về bảng dữ liệu chuẩn hoá

Bảng dữ liệu QLCT trên có thể tách thành các bảng sau:

Bảng 1: Công trình

Trang 27

Mã công trình Tên công trình Tổng mức đầu tư (tỷ)

Bảng 3: Đơn vị thi công

Mã đơn vị thi công Tên đơn vị thi công

Trang 28

Ta thấy, các thông tin lưu trữ trên bốn bảng hoàn toàn đầy đủ so với dữ liệu ban đầu: mặc dù trong bảng Cong trinh không có thông tin về đơn vị thi công và đơn vị thiết kế nhưng các thông tin này vẫn có thể được tham chiếu thông qua các liên hệ Do các bảng đã được tách ra và có sự độc lập tương đối nên việc trùng lặp và dư thừa thông tin đã được loại bỏ

Quá trình chỉnh sửa thông tin được thực hiện dễ dàng và tốn ít thời gian hơn Ví dụ muốn thay đổi tên đơn vị thiết kế chỉ cần thay đổi thông tin trong bảng Don vi thiet ke mà không phải thay đổi các thông tin các bảng khác Tương tự như vậy, quá trình loại bỏ và bổ sung thông tin cũng dễ dàng hơn rất nhiều

Nhận xét: Thông qua quan sát và so sánh hai CSDL chưa được chuẩn hoá và đã được

chuẩn hoá ở hai ví dụ có thể rút ra hai vấn đề:

Quá trình tách bảng phải không làm tổn thất thông tin (Lossless Decomposition)

Tạo liên hệ giữa các bảng hợp lý

3.3 Khoá của bảng dữ liệu

3.3.1 Khoá tuyển (Candidate Key)

Như đã biết, ứng với một loại thực thể (trong mô hình ER) luôn có một thuộc tính hay một tập hợp các thuộc tính nhằm xác định tính duy nhất của thực thể trong tập hợp (định danh) Tương tự như vậy, trong mô hình CSDL quan hệ cũng có một trường (cột) hay tập hợp các trường nhằm xác định tính duy nhất của một bản ghi (dòng) trong bảng

Trường dữ liệu hay tập hợp trường dữ liệu thoả mãn điều kiện đó được gọi là khoá

tuyển (Candidate Key)

Trong trường hợp khoá tuyển là một trường dữ liệu duy nhất thì được gọi tắt là khoá

đơn (Simple Key) Trong trường hợp khoá tuyển là một tập hợp của các trường dữ liệu

thì được gọi tắt là khoá tổ hợp (Composite Key)

Trang 29

Một điều cần chú ý là ngoài điều kiện cần như trên, một khoá tuyển cần có thêm điều kiện là khoá đó không thể chứa một khoá tuyển khác, nghĩa là: nếu một tập hợp các trường [X] là khoá tuyển thì các tập con của nó không được là khoá tuyển Nói cách khác, khoá tuyển không thể thu hẹp được nữa Điều kiện này xuất hiện nhằm lo ại trừ khả năng các trường dữ liệu không cần thiết tham gia vào khoá tuyển

gì trong việc định danh Do đó, tập hợp trường [MaPT, MaVatlieu, MaMatcat] không thể được coi là khoá tuyển Trong trường hợp này [MaPT] là khoá tuyển

Ngoài ra, mặc dù có điều kiện như trên nhưng không có nghĩa là trong một bảng chỉ có một khoá tuyển duy nhất Trong nhiều trường hợp, có nhiều cách để phân biệt các bản ghi với nhau Khi đó sẽ có thể xuất hiện nhiều khoá tuyển

Ví dụ

Trong bảng “Phan tu” ở trên, nếu coi không có các phần tử trùng nhau thì có thể phân biệt các phần tử thông qua hai nút của nó Như vậy, tập hợp trường [MaNut1, MaNut2] cũng là một khoá tuyển Trong trường hợp này, bảng có hai khoá tuyển là

[MaPT][MaNut1, MaNut2]

3.3.2 Khoá chính (Primary Key)

Khái niệm khoá tuyển được phản ánh trong cấu trúc của mô hình dữ liệu Tuy nhiên lúc thiết kế CSDL để nhằm mục đích thao tác với các bản ghi trong bảng, người ta thường chọn lấy một khoá tuyển để phân biệt giữa các bản ghi với nhau (giống như một qui ước lấy ra khoá tuyển danh định) Khoá tuyển qui ước dùng để phân biệt các bản ghi

trong bảng được gọi là khoá chính (Primary Key) Khoá chính thường được chọn sao

cho việc thao tác dữ liệu, so sánh và phân biệt các bản ghi là dễ dàng và thuận tiện nhất Thậm chí, trong nhiều trường hợp, nếu khoá tuyển gồm nhiều trường và việc phân biệt giữa bản ghi bằng các trường đó gặp bất tiện thì người ta còn có thể tạo thêm một trường độc lập để làm khóa chính (ví dụ: trường dữ liệu ID có dạng AutoNumber

trong Access)

Trang 30

Chẳng hạn: trong bảng “Phan tu” trên có hai khoá tuyển là [MaPT]

[MaNut1, MaNut2] nhưng việc phân biệt các phần tử thông qua [MaPT] sẽ dễ dàng hơn so với thông qua [MaNut1, MaNut2] Do vậy, trong trường hợp này nên chọn [MaPT] làm khoá chính

Trong một bảng có nhiều khoá tuyển, sau khi đã chọn ra khoá chính, những khoá tuyển

không được chọn làm khoá chính được gọi là khoá phụ (Secondary Key) Một bảng

CSDL có thể có nhiều khoá phụ nhưng khoá chính là duy nhất

3.3.3 Khoá ngoại (Foreign Key)

Để tạo quan hệ giữa hai bảng, người ta thường tạo ra sự tương ứng (đồng nhất) giữa trường dữ liệu ở bảng này và trường dữ liệu ở bảng kia Nói cách khác trường dữ liệu ở bảng này sẽ tham chiếu tới bản sao của nó là trường dữ liệu ở bảng kia Nếu một khoá chính thuộc bảng này tham chiếu tới bản sao của nó trong bảng kia thì trường dữ liệu

tương ứng với bản sao được gọi là khoá ngoại (Foreign Key – khoá của một bảng

nhưng không nằm trong mà nằm ở bên ngoài nó)

Ví dụ

Sau đây là hai bảng mô tả thông tin về các công trình và các đơn vị tư vấn thiết kế:

Tuy nhiên, nếu để như trên thì hai bảng này chẳng có quan hệ gì với nhau, nghĩa là không mô tả được quan hệ giữa công trình và đơn vị tư vấn thiết kế Để mô tả được quan hệ đó, có thể tạo ra một bảng trung gian với các khoá ngoại của hai bảng trên

Khóa ngoại của bảng “CongTrinh”

Khóa ngoại của bảng “DVTK”

Trang 31

Với bảng trung gian và các khoá ngoại này, người ta có thể truy vấn được một công trình được thiết kế bởi những đơn vị tư vấn thiết kế nào và ngược lại (một đơn vị tư vấn

đã thiết kế những công trình nào)

3.4 Ràng buộc dữ liệu và phụ thuộc hàm

Ràng buộc dữ liệu là những điều kiện mà dữ liệu của các trường phải thỏa mãn Sự ràng buộc có thể xảy ra đối với từng trường riêng lẻ hoặc giữa các trường với nhau Các loại ràng buộc dữ liệu có thể được phân loại như sau:

Ràng buộc dữ liệu cho thuộc tính (trường): điều kiện đối với từng trường dữ liệu

Ví dụ: trong một bảng dữ liệu thì trường dữ liệu được chọn làm khóa chính phải không được để trống (NotNull), người dùng bắt buộc phải nhập dữ liệu cho trường này

Phụ thuộc hàm: là ràng buộc dữ liệu giữa các trường với nhau Phụ thuộc hàm mô

tả quan hệ giữa các trường dữ liệu trong bảng Có 2 loại phụ thuộc hàm:

Phụ thuộc hàm giải tích: ràng buộc giữa các trường với nhau có thể được

mô tả thông qua các biểu thức, quan hệ toán học

Ví dụ: Trong bảng Cong trinh dướiđây, quan hệ giữa hai trườngNgay khoi congNgay hoan thanh có thể được mô tả thông qua quan

hệ toán học là: Ngay khoi cong<Ngay hoan thanh

Phụ thuộc hàm logic (gọi tắt là phụ thuộc hàm): ràng buộc giữa các trường hình thành dựa trên sự phân tích dữ liệu của bảng trong đó trường dữ liệu

Trang 32

này quy định sự tồn tại hay ý nghĩa của trường dữ liệu kia Trong phụ

thuộc hàm logic thì trường dữ liệu quyết định gọi là nguồn, trường dữ

liệu phụ thuộc gọi là đích

Ví dụ: Trong bảng Cong trinh ở trên, sự tồn tại của một bản ghi phụ thuộc vào tính duy nhất của trường dữ liệu chọn làm khóa chính (MaCT) Nói cách khác các trường dữ liệu khác chỉ cóý nghĩa nếu dữ liệu trong trường khóa chính là duy nhất Điềuđó cũng có nghĩa là, trong một bảng nếu xácđịnh được trường khóa chính sẽ xácđịnh tất cả các trường còn lại trong bảng

MaCT

->

daituyen

3.5 Định nghĩa các dạng chuẩn

3.5.1 Bảng chuẩn

Định nghĩa: Một bảng được gọi là bảng chuẩn nếu số các giá trị của mỗi thuộc tính

(mỗi cột) trong mọi bộ giá trị (mọi hàng của bảng) là như nhau

Ví dụ: Các bảng dữ liệu sau là các bảng chuẩn vì số giá trị trong mọi thuộc tính trên

mọi bộ giá trị là như nhau

Mã công trình Tên công trình Tổng mức đầu tư (tỷ)

Trang 33

Thông thường, số giá trị của một thuộc tính trên mỗi bộ là một giá trị

Các bảng dữ liệu sau không phải là các bảng chuẩn:

3.5.2 Dạng chuẩn 1 (First - Normal Form)

Định nghĩa:Một bảng được gọi là dạng chuẩn 1 nếu :

Nó là bảng chuẩn

Có tồn tại phụ thuộc hàm với nguồn là một phần của khoá tuyển

Phụ thuộc hàm một phần vào khóa tuyển nghĩa là: một trường phụ thuộc vào một tập hợp trường là tập con của khóa tuyển Ví dụ: trong bảng có khóa tuyển gồm 2 trường (A, B) và tồn tại phụ thuộc hàm B→C, khi đó ta nói C phụ thuộc một phần vào khóa tuyển hay phụ thuộc hàm trên là phụ thuộc hàm một phần

Ví dụ:

Ta có bảng dữ liệu QLCT sau đây

trình

Tổng mức đầu tư (tỷ)

Mã đơn vị thiết kế

Tên đơn vị thiết kế

Mã đơn vị thi công

Tên đơn vị thi công

CT001 Công trình A 200 TK001 Đơn vị X TC001 Đơn vị M CT001 Công trình A 200 TK002 Đơn vị Y TC001 Đơn vị M CT002 Công trình B 300 TK001 Đơn vị X TC002 Đơn vị N CT003 Công trình C 1000 TK002 Đơn vị Y TC003 Đơn vị P CT004 Công trình D 900 TK001 Đơn vị X TC003 Đơn vị P

Ta thấy bảng dữ liệu trên là một bảng chuẩn và trong bảng này ta có khoá chính bao gồm 3 thuộc tính sau:

Trang 34

Mặt khác ta có các phụ thuộc hàm sau:

Ta thấy nguồn của các phụ thuộc hàm trên chính là một phần của khóa chính

Do vậy bảng dữ liệu QLCT trên đã cho ở dạng chuẩn 1

Nhận xét: Trong bảng dạng chuẩn 1 vẫn có sự dư thừa thông tin Ví dụ bảng QLCT các thông tin cùng một nội dung vẫn lặp đi lặp lại ở nhiều chỗ

3.5.3 Dạng chuẩn 2 (Second - Normal Form)

Định nghĩa: Một bảng được gọi là dạng chuẩn 2 nếu:

Tuy nhiên các thuộc tính không khoá như Tên công trình, T ổng mức đầu

lại không phụ thuộc hàm đầy đủ vào cả ba thuộc tính của khoá chính

Tổng giá trị

dự toán (tỷ)

Tổng giá trị xây lắp (tỷ)

Lợi nhuận (tỷ)

Tỷ lệ lợi nhuận (%)

Ta thấy bảng trên đang ở dạng chuẩn 1 và có khoá gồm các thuộc tính:

Trang 35

Mặt khác ta thấy tất cả các thông số trong bảng đều phụ thuộc vào hai thuộc tính của khoá Do đó bảng dữ liệu trên ở dạng chuẩn 2

3.5.4 Dạng chuẩn 3 (Third - Normal Form)

Định nghĩa: Một bảng được gọi là dạng chuẩn 3 nếu:

Nó ở dạng chuẩn 2

Mỗi thuộc tính không khoá không phụ thuộc hàm bắc cầu vào khoá chính

Phụ thuộc hàm bắc cầu có thể được giải thích như sau: Nếu một bảng có khóa chính là

PK và tồn tại phụ thuộc hàm A→B trong đó không có phụ thuộc hàm trực tiếp PK→B thì khi đó B phụ thuộc bắc cầu vào PK (PK→A→B)

Ví dụ:

Bảng dữ liệu ở mục trên là bảng dạng chuẩn 2 nhưng không phải là bảng dạng chuẩn 3

vì trong bảng có tồn tại các thuộc tính phục thuộc hàm bắc cầu vào khoá chính

Ta có khoá chính (Mã công trình, Mã ch ủ đầu tư) và phụ thuộc hàm:

Mặt khác, trong bảng lại có phụ thuộc hàm:

(Vì L ợi nhuận = T ổng giá trị dự toánT ổng giá trị xây

l ắp, T ỷ lệ lợi nhuận = (L ợi nhuận /T ổng giá trị dự toán) 100%)

Như vậy thuộc tính L ợi nhuận T ỷ lệ lợi nhuận phụ thuộc hàm bắc cầu vào khoá chính Do đó bảng này không ở dạng chuẩn 3

Ngoài những dạng chuẩn 1, 2, 3 như đã trình bày, còn có các chuẩn khác cao hơn nhưng hiếm gặp như chuẩn Boyce – Codd, chuẩn 4, chuẩn 5 Chi tiết về những dạng chuẩn này có thể được đề cập đến trong các tài liệu tham khảo được trình bày tại phần cuối của bài giảng này

3.6 Một số quy tắc chuẩn hoá cho bảng CSDL quan hệ

3.6.1 Đưa bảng có dạng chuẩn 1 về bảng có dạng chuẩn cao hơn

Bảng 1NF là bảng chuẩn và có tồn tại phụ thuộc hàm mà có nguồn là một phần của khoá

Quy tắc:

Trang 36

Tách các thuộc tính phụ thuộc một phần của khoá vào 1 bảng Khoá của bảng này

là thuộc tính khoá gây ra sự phụ thuộc đó

Các thuộc tính còn lại lập thành một bảng, khoá của bảng này là khoá của bảng ban đầu

Quy tắc này có tính đệ quy tức là sau khi tách mà vẫn tồn tại các bảng ở dạng chuẩn 1 thì

ta lại tiếp tục áp dụng quy tắc cho bảng này

Tổng mức đầu tư (tỷ)

Mã đơn vị thiết kế

Tên đơn vị thiết kế

Mã đơn vị thi công

Tên đơn vị thi công

CT001 Công trình A 200 TK001 Đơn vị X TC001 Đơn vị M CT001 Công trình A 200 TK002 Đơn vị Y TC001 Đơn vị M CT002 Công trình B 300 TK001 Đơn vị X TC002 Đơn vị N CT003 Công trình C 1000 TK002 Đơn vị Y TC003 Đơn vị P CT004 Công trình D 900 TK001 Đơn vị X TC003 Đơn vị P

Ta có khoá chính của bảng gồm (Mã công trình, Mã đơn vị thiết

Diễn giải các phụ thuộc hàm:

Do vậy bảng trên ở dạng chuẩn 1

Áp dụng các quy tắc chuẩn hóa tách bảng B1 thành 2 bảng B2 và B3:

B2

Mã công trình

Tên công trình

Tổng mức đầu tư (tỷ)

CT001 Công trình A 200 CT002 Công trình B 300 CT003 Công trình C 1000 CT004 Công trình D 900

Trang 37

B3

Mã công trình

Mã đơn vị thiết kế

Tên đơn vị thiết kế

Mã đơn vị thi công

Tên đơn vị thi công

CT001 TK001 Đơn vị X TC001 Đơn vị M CT001 TK002 Đơn vị Y TC001 Đơn vị M CT002 TK001 Đơn vị X TC002 Đơn vị N CT003 TK002 Đơn vị Y TC003 Đơn vị P CT004 TK001 Đơn vị X TC003 Đơn vị P

Bảng B2 ở dạng chuẩn 2 Tuy nhiên bảng B3 vẫn đang ở dạng chuẩn 1

Tiếp tục áp dụng các quy tắc đối với bảng B3 Khóa chính của bảng B3 vẫn là: (Mã

Trong B3 còn có các phụ thuộc hàm sau:

Tách B3 thành hai bảng B31, B32 như sau:

Bảng B31 ở dạng chuẩn 2 Bảng B32 vẫn đang ở dạng chuẩn 1

Tiếp tục áp dụng các quy tắc đối với bảng B32 Khóa chính của bảng B32 vẫn là: (Mã

Trong B32 còn có các phụ thuộc hàm sau:

Tách B32 thành hai bảng B321, B322 như sau:

Trang 38

B321

Mã đơn vị thi công

Tên đơn vị thi công

TC001 Đơn vị M TC002 Đơn vị N TC003 Đơn vị P

B322

Mã công trình

Mã đơn vị thiết kế

Mã đơn vị thi công

Khi đó cả 2 bảng B321 và B322 đều ở dạng chuẩn 2

Như vậy ta đã chuẩn hóa bảng B1 ở dạng 1NF thành bốn bảng B2, B31, B321, B322

đều ở dạng chuẩn 2

3.6.2 Đưa bảng có dạng chuẩn 2 về bảng có dạng chuẩn cao hơn

Bảng chuẩn 2NF có tồn tại những thuộc tính phụ thuộc bắc cầu vào khóa

Quy tắc:

Tách các thuộc tính phụ thuộc bắc cầu vào khoá thành một bảng Khoá của bảng đó

là thuộc tính bắc cầu gây ra sự phụ thuộc

Các thuộc tính còn lại lập thành một bảng, khoá của bảng đó là khoá của bảng ban đầu

Quy tắc này có tính đệ quy tức là sau khi tách mà vẫn tồn tại các bảng ở dạng chuẩn thấp hơn thì ta lại tiếp tục áp dụng các quy tắc cho bảng này

Tên đơn vị quản lý

Tổng giá trị

dự toán (tỷ)

Tổng giá trị xây lắp (tỷ)

Lợi nhuận (tỷ)

Tỷ lệ lợi nhuận (%)

Trang 39

Mã công

trình

Mã đơn vị quản lý

Tên đơn vị quản lý

Tổng giá trị

dự toán (tỷ)

Tổng giá trị xây lắp (tỷ)

Lợi nhuận (tỷ)

Tỷ lệ lợi nhuận (%)

Tổng giá trị

dự toán (tỷ)

Tổng giá trị xây lắp (tỷ)

Lợi nhuận (tỷ)

Tỷ lệ lợi nhuận (%)

Mã đơn vị quản lý

Tên đơn vị quản lý

CT001 QL001 Đơn vị X CT001 QL003 Đơn vị Z CT002 QL001 Đơn vị X CT003 QL002 Đơn vị Y CT004 QL003 Đơn vị Z

Hai bảng B2, B3 đều ở dạng chuẩn 3

Như vậy, bảng B1 ở dạng chuẩn 2 đã được đưa về các bảng ở dạng chuẩn 3

3.7 Thiết kế chi tiết bảng CSDL

Bảng dữ liệu là tập hợp các bản ghi được sắp xếp theo các hàng hoặc các cột Một cơ sở

dữ liệu gồm nhiều bảng dữ liệu, mỗi bảng lưu trữ tập hợp các dữ liệu có quan hệ với nhau Các bảng trong cơ sở dữ liệu cũng có thể có quan hệ với nhau

Để thiết kế một bảng dữ liệu người ta thực hiện theo các bước sau :

4 Chỉ ra các trường trong bảng dữ liệu

5 Chỉ ra các kiểu dữ liệu tương ứng cho từng trường

6 Định ra kích thước của trường (nếu có thể)

7 Thiết lập các ràng buộc trên các trường

3.7.1 Các kiểu dữ liệu

Khi thiết kế một bảng cần phải chỉ ra các trường cũng như kiểu dữ liệu tương ứng của trường đó

Trang 40

3.7.1.1 Kiểu Alphanumeric

Kiểu dữ liệu này được dùng để lưu giữ chữ cái và số Trong một hệ quản trị cơ sở dữ liệu, kiểu dữ liệu này có thể là một trong hai dạng sau :

Kích thước trường cố định và số ký tự lưu trữ không thay đổi

Kích thước trường không thay đổi nhưng số ký tự lưu trữ thay đổi được

Trong MS-Access, kiểu dữ liệu Alphanumeric có tên kiểu là “Text”, lưu dữ liệu theo kiểu không cố định kích thước Kích thước tối đa của các trường kiểu dữ liệu này không vượt quá 255 kí tự

3.7.1.2 Kiểu Numeric

Kiểu dữ liệu này được dùng để lưu các con số Hầu hết mọi hệ quản trị cơ sở dữ liệu đều cung cấp loại dữ liệu số

Kiểu Byte : lưu các số có giá trị từ 0 đến 255, kiểu này chỉ chiếm 1 byte

Kiểu Integer : lưu các số nguyên có giá trị từ -32768 đến 32767, kiểu này chiếm 2 byte

Kiểu Long Integer : lưu các số lớn, kiểu này chiếm 4 byte

Kiểu Float : lưu các số thực với độ chính xác là 6 chữ số thập phân

Kiểu Double : lưu các số thực nhưng độ chính các cao hơn

Ngoài các kiểu trên còn có một loại khác là AutoNumber được cung cấp bởi Access Sử dụng kiểu này khi người ta muốn trường dữ liệu chứa một dãy các sô liên tiếp nhau (có thứ tự) hay nói cách khác là các số sẽ được thiết lập tự động có thứ tự Ngoài ra MS-Access còn cung cấp một kiểu dữ liệu số khác là kiểu Currency dùng để lưu các dữ liệu kiểu tiền tệ

MS-3.7.1.3 Kiểu Date/Time

Đây là kiểu dữ liệu phổ biến trong hầu hết các hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ ngày và giờ Có một số hệ quản trị cung cấp kiểu dữ liệu ngày giờ riêng biệt nhau Do đó định dạng kiểu dữ liệu này có thể khác nhau trong mỗi hệ quản trị

3.7.1.4 Kiểu Boolean

Kiểu dữ liệu này được dùng để lưu một giá trị logic (chỉ có giá trị là True hay False) Trong MS-Access, kiểu dữ liệu này có hai giá trị Yes/No Người dùng có thể nhập vào giá trị là Yes (Cách khác là True hay On) hay No (Cách khác là False hay Off) và trường tương ứng Kiểu này chỉ chiếm 1 bít

Ngày đăng: 19/10/2016, 19:04

HÌNH ẢNH LIÊN QUAN

Bảng 3: Đơn vị thi công - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng 3 Đơn vị thi công (Trang 27)
Bảng dữ  liệu  “ Phan  tu ” dưới đây  mô tả  dữ liệu cho  các phần  tử  thanh  trong phân  tích PTHH - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng d ữ liệu “ Phan tu ” dưới đây mô tả dữ liệu cho các phần tử thanh trong phân tích PTHH (Trang 29)
3.5.1  Bảng chuẩn - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
3.5.1 Bảng chuẩn (Trang 32)
Bảng Diễn giải: - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
ng Diễn giải: (Trang 33)
Bảng B31 ở dạng chuẩn 2. Bảng B32 vẫn đang ở dạng chuẩn 1. - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
ng B31 ở dạng chuẩn 2. Bảng B32 vẫn đang ở dạng chuẩn 1 (Trang 37)
Bảng B2 ở dạng chuẩn 2. Tuy nhiên bảng B3 vẫn đang ở dạng chuẩn 1. - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
ng B2 ở dạng chuẩn 2. Tuy nhiên bảng B3 vẫn đang ở dạng chuẩn 1 (Trang 37)
Bảng chuẩn 2NF có tồn tại những thuộc tính phụ thuộc bắc cầu vào khóa. - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng chu ẩn 2NF có tồn tại những thuộc tính phụ thuộc bắc cầu vào khóa (Trang 38)
Bảng dữ liệu là tập hợp các bản ghi được sắp xếp theo các hàng hoặc các cột. Một cơ sở - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng d ữ liệu là tập hợp các bản ghi được sắp xếp theo các hàng hoặc các cột. Một cơ sở (Trang 39)
Bảng  DVTC - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
ng DVTC (Trang 61)
Bảng  Ma - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
ng Ma (Trang 62)
Hình dưới là màn hình khởi đầu của VS.NET 2005. - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Hình d ưới là màn hình khởi đầu của VS.NET 2005 (Trang 80)
Sơ đồ xử lý kiểm tra dữ liệu nhập tại Client và Server - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Sơ đồ x ử lý kiểm tra dữ liệu nhập tại Client và Server (Trang 100)
Bảng mô tả các ký hiệu thường sử dụng trong Validation Expression - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng m ô tả các ký hiệu thường sử dụng trong Validation Expression (Trang 104)
Bảng mô tả thuộc tính của các điều khiển kiểm tra dữ liệu - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng m ô tả thuộc tính của các điều khiển kiểm tra dữ liệu (Trang 106)
Bảng lỗi qua cửa sổ MessageBox - BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1
Bảng l ỗi qua cửa sổ MessageBox (Trang 107)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w