Session...16 Đối tượng session được dựng để lưu thông tin riêng rẽ của từng phiên làm việc.Các thông tin lưu giữ trong ssession không bị mất đi khi người dùng chuyển từ trang web này đến
Trang 1MỤC LỤC
CHƯƠNG I 3
GIỚI THIỆU CHUNG 3
1.2.1.Ưu và nhược điểm chính của mô hình Client/Server 7
2.3.2.2 Web Client 15
2.3.3 Các đối tượng của ASP 16
2.3.3.1 Application 16
2.3.3.2 Session 16
Đối tượng session được dựng để lưu thông tin riêng rẽ của từng phiên làm việc.Các thông tin lưu giữ trong ssession không bị mất đi khi người dùng chuyển từ trang web này đến trang web khac.Các thông tin được lưu tromng session đều là các thông tin về người dùng hoặc các điều kiện chẳng hạn như người dùng không muốn nghe các tệp tin nhạc ở một số các trang thì phải có một biến để lưu giữ lại thông tin này Đối tượng session được Web Server tự động tạo nếu như trang web của ứng dụng được đòi hỏi bởi một người dùng mà chưa có SessionID SessionID là một mã mà Web Server sẽ gửi về cho Web Browser ở máy người dùng và mã này dùng cho Web Server nhận biết là yêu cầu được gửi từ Session nào đến 16
2.3.2.3 Request 17
2.3.3.4.Response 18
2.3.2.5 Server 18
2.3.2.6 ObjectContext 19
2.4.1 Các khái niệm về cơ sở dữ liệu (CSDL) 21
2.4.2 Các khái niệm về cơ sở dữ liệu quan hệ 22
2.4.2.1 Thuộc tính 22
2.4.2.2.Tên thuộc tính 23
2.4.2.3.Miền giá trị 23
2.4.2.4.Cách miền giá trị của một thuộc tính 23
2.4.2.3 Quan hệ 23
2.1.2.4 Phụ thuộc hàm (Functional dependency ) 24
2.1.2.5 Sơ đồ quan hệ (Relation schema) 25
2.1.2.6 Khó 25
2.1.2.7 Hệ tiên đề cho phụ thuộc hàm 26
2.4.3 Chuẩn hoá các quan hệ và sơ đồ quan hệ 26
2.4.3.1 Các định nghĩa về dạng chuẩn trong quan hệ 26
2.4.3.2 Thực hiện chuẩn hoá 28
3.2 Các yêu cầu 30
Client 30
Trang 2Lược đồ phân cấp thông tin của Website 33
Biểu đồ luồng dữ liệu 34
Biểu đồ luồng dữ liệu mức ngữ cảnh 34
Biểu đồ luồng dữ liệu mức đỉnh 35
Sơ đồ quan hệ thực thể 36
các bảng dữ liệu 36
Với mô hình như trên các bảng CSDL phải được xây dựng một cách hợp lý nhất sao cho việc truy cập dữ liệu thuận tiện nhất 36
Tên trường 36
CHƯƠNG V 45
CÀI ĐẶT THỬ NGHIỆM WEBSITE ĐẶT VÉ HÀNG KHÔNG TRÊN INTERNET 45
48
Khách hàng có các thắc mắc thì viết câu hỏi vào trang “HOI ĐAP” 49
49
Trang “Đặt vé” đầu tiên bạn chọn là ngày bạn muốn bay 50
Giao diện đối với Admin: 53
Trang “Xoá đơn đặt hàng” người quản trị sẽ xoá các đơn đặt hàng mà đó đáp ứng được yêu cầu.Trang “Xoá đơn đặt hàng” người quản trị sẽ xoá các đơn đặt hàng mà đã đáp ứng được yêu cầu 55
KẾT LUẬN 56
Đánh giá: 56
Hướng phát triển : 56
TÀI LIỆU THAM KHẢO 57
Trang 3LỜI CẢM ƠN
Để hoàn thành tốt đồ án tốt nghiệp này ngoài sự cố gắng học tập nghiên cứucủa bản thân trong quá trình học tập tại trường em đã nhận sự giúp đỡ và dìu dắt tậntình từ thầy cô giáo,các cán bộ trong nhà trường.Đặc biệt là các thầy cô giáo trongkhoa CNTT.Em xin chân thành cảm ơn sự giúp đỡ quý báu đó
Em cũng chân thành cảm ơn thầy giáo:TS Lê Bỏ Dũng người đã trực tiếphướng dẫn,chỉ bảo tận tình trong suốt quá trình làm đồ án tốt nghiệp
Tôi xin chân thành cảm ơn các bạn lớp K12 đã nhiệt tình góp ý kiến, cung cấpthông tin và tạo điều kiện để tôi hoàn thành đề tài tốt nghiệp này
Hà Nội, ngày1/6/2010
Trang 4LỜI MỞ ĐẦU
Trong những năm gần đây,ngành CNTT phát triển một cách nhanh chóng.ỞViệt Nam nhiều hoạt động kinh tế xã hội được tin học hoá,góp phần sự phát triểncủa xã hội
Tin học hoá trong công tác phát triển kỹ thuật,kinh doanh là không thể thiếutrong quá trình phất triển của đất nước,giảm bớt sức lao động của con người,tiếtkiệm được thời gian và tiện lợi hơn rát nhiều so với cách làm việc thủ công.Tin họchoá giúp thu hẹp không gian lưu trữ,tránh thất lạc dữ liệu,tự động hệ thống hoá,cụthể hoá và chính xác hoá các thông tin theo nhu cầu của con người
Tuy nhiên,việc ứng dụng tin học vào nhiều lĩnh vực ở Việt Nam còn tiến triểnchậm,chưa khai thác hết thế mạnh của máy tính.,trong đó có công tác đặt vé hàngkhông.Việc đặt vé ở các hãng hàng không ở nước ta hiện nay chủ yếu làm thủ côngkhông có sự trợ giúp của máy tính
Nhằm đáp ứng nhu cầu ngày càng cao của khách hàng và đảm bảo chính xáccủa các loại thông tin trong việc đặt vé thì các hãng hàng không vẫn thường xuyênđược cập nhật và bổ xung các thông tin cho khách hàng.Để giúp khách hàng có thể
dễ dàng đặt mua được vé đi các chuyến bay một cách nhanh chóng.Khách hàngcũng cần được hãng quản lý thông qua mã số với một số thông tin cần thiết về bảnthân,về vé mà người đó đã đặt mua.Ngoài ra,qua việc đặt vé của khách hàng,hãnghàng không không biết được nhu cầu của khách hàng về việc đặt vé đi chuyến nào
để đáp ứng nhu cầu ngày càng cao của khách hàng để phục vụ ngày một tốt hơn Đểđáp ứng đòi hỏi trên ,đòi hỏi phải có sự đầu tư, nghiân cứu áp dụng công nghệ thôngtin để thiết kế và xây dựng một phần mềm chuyên dụng và có tính thống nhất
Trang 5
Vì vậy,trong thời gian qua với sự giúp đỡ tận tình của :TS.Lê Bỏ Dũng(Việncông nghệ thông tin).Em đã tìm hiểu và xây dựng phần mềm “Đặt vé hàng không”dựa trên công nghệ World Wide Web cho phép khách hàng có thể đặt vé mà khôngcần đến hãng và các đại lý mà vào trang Web của hãng đặt vé một cách dễ dàng vàthuận tiên,mọi khách hàng có thể liên quan đến hoạt động đặt vé đi các chuyến bayđều được lưu vào máy tính quản lý,giúp cho công tác đặt vé của hãng hàng khôngtrở nên đơn giản và gọn nhẹ.Cũng như trong mọi lĩnh vực quản lý khác việc áp dụngtin học vào quản lý đặt vé cần hỗ trợ một cách đắc lực nhất cho người quản lý,do đócần áp dụng tin học vào một đối tượng cụ thể để xây dựng chương trình
Mặc dù đã có nhiều cố gắng nhưng do hạn chế về thời gian và kinh nghiệm nên
bài khoa luận “ Thiết kế cơ sở dữ liệu và website đặt vé hàng không” chắc chắn
không tránh khỏi những sai xót.Vì vậy rất mong được sự đánh giá,góp ý của cácthầy,cơ và bạn bè để chương trình được tiếp tục hoàn thiện
Đồ án này được chia làm 5 chương:
Chương 1: Giới thiệu chung
Chương 2: Các công cụ hỗ trợ
Chương 3: Phân tích và thiết kế website đặt vé hàng không
Chương 4: Một số thuật toán được sử dụng
Chương 5: Cài đặt thử nghiệm website đặt vé hàng không
Chương 6: Kết luận
Trang 6CHƯƠNG I
GIỚI THIỆU CHUNG
1.1.Internet và các dịch vụ cơ bản
1.1.1.Lịch sử ra đời của Internet.
Internet là một mạng máy tính nối hàng triệu máy tính với phạm vi trên toànthế giới.Internet có lịch sử rất ngắn,nó có nguồn gốc từ một dự án của bộ quốcphòng Mỹ có tên là ARPANET vào năm 1969,dự án nhằm thực hiện một mạng nốicác trung tâm nghiên cứu khoa học và quân sự với nhau.Đến năm 1970 đã có thêmhai mạng :STORE – AND – FORWARD và ALOHANET,đến năm 1972 hai mạngnày được kết nối với ARPANET.Cũng trong năm 1972,Ray Tomlinson phát minh rachương trình thư tín điện tử E-Mail.Chương trình này nhanh chóng được ứng dụngrộng rãi để gửi các thông điệp trên mạng
Kết nối quốc tế đầu tiên trên thế giới vào ARPANET từ University Colege ofLondon và Royal Radar Establishment được thực hiện vào năm 1973.Thành côngvanmg dội của ARPANET đã làm cho nó nhanh chóng phát triển ,thu hút hầu hếtcác trường đại học tại Mỹ.Do đó vào năm 1983 đã tách thành hai mạngriêng:MILNET tích hợp với mạng dữ liệu quốc phòng dành cho các điểm quân sự vàARPANET dành cho các điểm phi quân sự
Sau một thời gian hoạt động ,do một số lý do kỹ thuật kinh tế chính trị,kếhoạch sử dụng mạng ARPANET không thu được kết quả như mong muốn.Vì vậyhội đồng khoa học Mỹ đã quyết định xây dựng một mạng riêng NFSNET liên kếtvới các trung tâm tính toán lớn và các trường đại học vào năm 1986.Mạng này phấttriển hết sức nhanh chóng,không ngừng được mở rộng và nâng cấp liên kết hàngloạt các doanh nghiệp,các cơ sở nghiên cứu khác nhau
Cũng từ đó các thuật ngữ Internet ra đời.Dần dần xây dựng mạng ARPANETđược thừa nhận bởi tổ chức NFS,kỹ thuật này dựng để xây dựng mạng lớn hơn vớimục đích liên kết các trung tâm lớn ở Mỹ.Người ta đã kết nối các siêu máy tính
Trang 7thuộc các vùng khác nhau bằng đường điện thoại có tốc độ cao.Tiếp theo là mở rộngtới các trường đại học
Ngày càng có người nhận ra lợi ích của hệ thống trên mạng,người ta dựng đểtrao đổi thông tin với các vùng ngày càng xa.Vào những năm 1990 người ta bắt đầu
mở rộng sang lĩnh vực thương mại.Có thể nói INTERNET bắt đầu hình thành từđây.Cho đến thời điểm hiện tại Internet đã trở thành một phần không thể tách rờicuộc sống hiện đại.Đối với một người lao động bình thường tại một nước phát triểnbình thường,Internet đã trở thành một khái niệm giống như điện thoại,tivi Trongthời gian biểu của một ngày làm việc đã xuất hiện khoảng thời gian nhất định để sửdụng Internet,cũng giống như khoảng thời gian xem tivi mà thôi
Các loại hình sử dụng dịch vụ nhiều nhất trên Internet là:Giáo dục,mua bán,giảitrí,công việc thường ngày tại công sở,…Trong đó,các dịch vụ liên quan đến thông tin
cá nhân chiếm nhiều nhất,sau đó là công việc,giáo dục,giải trí
1.1.2.Cách thức truyền thông trên
Trong những năm 60 và 70,nhiều công nghệ máy tính đã ra đời nhưng mỗi kiểulại dựa trên phần cứng riêng biệt.Một trong những kiểu này được gọi là mạng cụcbộ(LAN),nối các máy tính với nhau trên phạm vi hẹp bằng dây dẫn và một thiết bịcài đặt trong mỗi máy.Các mạng lớn gọi là mạnh diện rộng(WAN),nối nhiều máytrong phạm vi rộng thông qua một hệ thống dây truyền dẫn kiểu như trong các hệthống điện thoại
Mặc dù LAN và WAN đã được phép chia sẻ các thông tin trong các tổ chứcmột cách dế dàng hơn nhưng chúng vẫn bị hạn chế chỉ trong mạng riêng rẽ.Mỗi mộtcông nghệ mạng có một cách thức truyền tin riêng dựa trên thiết kế phần cứng củanó.Hầu hết mạng LAN và WAN là không tương thích nhau
Internet được thiết kế để liên kết các kiểu mạng khác nhau và cho phép thôngtin được lưu thông một cách tự do giữa người sử dụng mà không cần biết họ sửdụng máy nào và kiểu mạng gì.Để làm được điều đó cần có thêm các máy tính đặc
Trang 8biệt được gọi là bộ định tuyến nối các LAN và WAN với các kiểu khác nhau.Ccámáy tính được nối với nhau như vậy cần phải có chung một giao thức tức là một tậphợp các luật dùng chung quy định về cách thức truyền tin
Với sự phất triển mạng như hiện nay thì có rất nhiều giao thức chuẩn ra đờinhằm đáp ứng nhu cầu phất triển.Các chuẩn được sử dụng rộng rãi nhất hiện naynhư giao thực TC/IP,giao thức SNA của IBM.Giao thức được sử dụng rộng rãi nhất
là TC/IP.Giao thức này cho phép dữ liệu được gửi dưới dạng gói thông tin nhỏ.Nóchứa hai thành phần Internet Protocol và Transmission Control Protocol
Giao thức TC/IP đảm bảo sự thông suốt việc trao đổi thông tin giữa các máytính.Internet hiện nay đang liên kết hàng ngàn máy tính thuộc các công ty,cơ quannhà nước.Đó là ngân hàng dữ liệu khổng lồ.Một số máy tính bao gồm một máy tínhtrung tâm và nhiều máy trạm khác kết nối với nhau.Các mạng khác kể cả mạngInternet có quy mô lớn bao gồm nhiều máy chủ cho phép bất kỳ một mạng máy tínhnào trong mạng đều có thể nối với các máy tính khác để trao đổi thông tin.Vì vậyInternet là một mạng máy tính lớn nhất trên thế giới
1.1.3 Các dịch vụ trên Internet
Internet là công nghệ thông tin liên lạc,nó có tác động sâu sắc vào xã hội,vàocuộc sống ở mức đọ khá bao quát.Nó đưa chúng ta đến một thế giới có tầm nhìnrộng lớn và chúng ta có thể làm mọi thứ như:viết thư,đọc báo,…Hiện nay các công
ty có thể kinh doanh qua Internet,dịch vụ thương mại phất triển khá mạnh mẽ
Dưới đây là một số dịch vụ trên Internet:
+Thư điện tử(E-mail):Dịch vụ E-mail có thể dựng để trao đổi thông tin giữacác cá nhân với nhau,các cá nhân với tổ chức và giữa các tổ chức với nhau.Dịch vụnày còn cho phép tự động gửi nội dung thông tin đến từng địa chỉ hoặc tự động gửiđến tất cả địa chỉ cần gửi theo danh sách địa chỉ cho trước.Nội dung thông tin gửi đidùng trong thư điện tử không chỉ văn bản text mà còn có thể ghép thêm các văn bản
đã được định dạng,graphic,sound,video.Các dạng thông tin này có thể hồ trộn,kết
Trang 9hợp với nhau thành một tài liệu phức tạp.Lợi ích chính dịch vụ thư tín điện tử làthông tin gửi đi nhanh và rẻ
+ WWW(World Wide Web):Đây là khái niệm mà người dùng Internet quantâm nhất hiện nay.Web là một công cụ hay đúng hơn là một dịch vụ Internet,webchứa thông tin bao gồm văn bản,hình ảnh ,âm thanh…Web cho phép chúng ta đivào mọi ngõ ngách của Internet,là những điểm chứa CSDL gọi là website.Nhờ cóweb nên nhờ không phải là chuyên gia,mọi người có thể sử dụng Internet một cách
dễ dàng.Phần mềm sử dụng để xem web gọi là trình duyệt
+ Dịch vụ truyền file(FPT-File Transfile Protocol):Là dịch vụ để trao các tậptin từ máy chủ xuống các máy cá nhân và ngược lại
+ Gropher: Dịch vụ này hoạt động như một Menu thông tin hệ thống menuphân cấp giúp người sử dụng từng bước xác định những thông tin cần thiét để đi tới
vị trí cần tới.Dịch vụ này có thể sử dụng để tmf kiếm thông tin trên các FPT Site
Chương trình Client và Server nói chuyện với nhau bằng các thôngđiệp(message) thông qua một cổng truyền thông liên lạc IPC (InterProcessCommunication) theo một chuẩn nói chuyện có sẵn được gọi là giao thức(protocol) Trên thực tế sự phân biệt giữa Client và Server chỉ là tương đối.Một Client cóthể gửi yêu cầu tới một hoặc nhiều Server,Server không những đáp ứng yêu cầu củaClient mà có thể gửi yêu cầu tới Server khác,trong trường hợp này Server đã trởthành một Client.Ví dụ như một Database Server có thể yêu cầu một Printer Server
Trang 10in một văn bản
Với mô hình trên ta nhận thấy mô hình Client/Server chỉ mang đặc điểm củaphần mềm chứ không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu vềphần cứng của một máy Server là cao hơn rất nhiều so với một máy Client do máyServer phải quản lý rất nhiều các yêu cầu từ các Client khác trên mạng.Với mô hìnhtrên ta nhận thấy mô hình Client/Server chỉ mang đặc điểm của phần mềm chứkhông liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu về phần cứng củamột máy Server là cao hơn rất nhiều so với một máy Client do máy Server phảiquản lý rất nhiều các yêu cầu từ các client khác nhau trên mạng
1.2.1.Ưu và nhược điểm chính của mô hình Client/Server
Trong mô hình Client/Server,dữ liệu và tài nguyên được chia sẻ giữa haimáy,tăng hiệu quả hoạt động của hệ thống.Có thể nói rằng với mô hìnhClient/Server,mọi thứ dường như nằm trên bàn của người sử dụng,dữ liệu được truynhập từ xa với nhiều dịch vụ đa dạng mà các mô hình cũ không có được.Ngoàira,mô hình Client/Server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹthuật hiện đại như mô hình thiết kế hướng dối tượng,hệ chuyện gia,hệ thông tin địalý(GIS)…
Một trong những vấn đề nảy sinh của mô hình này là vấn đề an toàn và bảo mậtthông tin trên mạng Do phải trao đổi dữ liệu giữa hai máy ở hai khu vực khác nhaunên dễ xảy ra trường hợp thông tin trên đường truyền bị lộ
Trang 11CHƯƠNG II CÁC CÔNG CỤ HỖ TRỢ
2.1.Giới thiệu về HTML
2.1.1.Đặc điểm ngôn ngữ HTML
HTML được thiết kế dùng cho web :Trong phần lớn các chương trình xử lý vănbản khá rắc rối trong một số tiểu tiết ,vs dụ như:chọn font của HTML được dựngtrên mọi kiểu máy tính.Nó được thiết kế đẻ dễ vận chuyển trên Internet,vừa thíchhợp thích hợp với các loại máy tính
HTML là một chuẩn mở:Ngoài các thẻ trong bộ chuẩn,HTML có thể được mởrộng bằng nhiều cách như:Mở rộng các thẻ HTML,sử dụng Javascrip,Vbsscrip vàcác ngôn ngữ lập trình khác
HTML dễ đọc dễ hiểu có chứa các liên kết và hỗ trợ Multimedia
HTML là ngôn ngữ thông dịch: Đây được coi là nhược điểm của ngôn ngữ vì
nó sẽ làm giảm tốc độ thực hiện các ứng dụng khác nhau trên web đồng thời nó đảmbảo tính an toàn ,bảo mật
2.1.2.Hypertext Markup Language là gì?
HTML là một ngôn ngữ đơn giản khá mạnh,cho phép chúng ta tạo ra các trangWeb.Ngôn ngữ này dựng các thẻ(tag) hoặc các mã cho phép người dùng chèn vănbản để tạo ra các thành phần của trang web và được hiển thị trên trình duyệt web.Nói về Web chúng ta cần phân biệt hai thuật ngữ:Web page chỉ là một tài liệuHTML.Website là một trang liên kết với nhau và được quản lý bởi những tổ chứchay cá nhân nào đó
Một trong những điểm chính của HTML xác định cách thức hoạt động của web
là hỗ trợ các liên kết siêu văn bản.Bằng cách sử dụng các lệnh đặc biệt trongHTML,tác giả có thể thay đổi một đoạn chữ nào đó thành dạng có thể kích hoạtđược.Khi người dùng kích hoạt vào Hypertext thì trình duyệt web thường đáp ứngbằng cách trả về một trang web mới
Trang 12Nhưng làm thế nào để liên kết các trang này?Mỗi một trang web đều có mộtđịa chỉ ,địa chỉ này gọi là Uniform Resource Locators(URLs).
URLs là các địa chỉ có dạng như sau:
Trong HTML không phân biệt chữ hoa chữ thường
Phần quan trọng nhất của một tài liệu HTML là phần liên kết.Vì vậy trước tiênchúng ta cần khảo sát các tag<a>.Trong tag <a> có nhiều thuộc tính nhưng phổ biếnnhất là href và name
Trang 13<a herf = “url”> van ban click </a>
2.1.4.Cấu trúc của một tài liệu HTML
+Phần đầu của tài liệu:
Tag mở <head> và tag đúng</head> bao nội dung của phần đầu ,phần thânchứa các tag<head> và </head> thường là thông tin chung về tập tin và nó khônghiển thị lên phần văn bản tài liệu.Có một số tags trong phần này có thể nằm trongphần body
Trang 14Target = Window_name | _blank | _parent >
<meta>:nhúng thêm thông tin,có năm thuộc tính: content, http-equiv, name,title, url
+Phần thân của tài liệu:
Phần thân của tài liệu HTML được định nghĩa bằng container tag
<body>.Trong phần này sẽ có văn bản,hyperlink,hình ảnh,bản đồ hình ảnh,bảng,vàcác thứ khác
2.1.5 Sử dụng Frame, Table, From,trong HTML
Ví dụ: frame.html
<html>
<head><title>vi du ve Frame </title>
<frameset cols = “50%.50%”>
<frame name = “I” src =”frame1.html”>
<frame name = “II” src =”frame2.html”>
Trang 15Đói tượng frame: chứa trong mản frame[],truy cập theo chỉ số
frame[i],hoặc theo tên đối tượng frame name
2.1.6.Thuộc tính frame object
Frameset:Chia trang web thành bao nhiêu trang
Name: Tên của frame(khác tên của frame object) <frame name=” “>
Length:Số lượng của frame trong object(chỉ khai báo framset)
Window.document.frame[i].name
2.2.Phương pháp thiét kế một trang Web
Khi nói đến xây dựng một trang web cũng đồng nghĩa với xây dựng một trangchủ.Theo quan niệm chung trang chủ là một trang chứa liên kết đến một hay nhiềutrang khác và thường cung cấp thông tin tổng quát nhất cho người xem.Vì vậy thiết
kế web không chỉ là thiết kế một trang HTML đơn lẻ,mà còn là thiết kế các mối liênkết tới các tài liệu HTML khác.Để xây dựng trang Web với các liên kết nối trướctiên chúng ta xác định xem thiết kế nội dung là gì,cho ai xem và môi trường thể hiệnWeb.Thông thường có các bước như sau:
- Xác định chủ đề
- Xác định nội dung
Trang 16- Thiết kế sơ đồ hoạt đọng(Flow diagram)
- Thiết kế sơ đồ giao diện với người xem của trang chủ
- Thiết kế và xây dựng chi tiết
+Các bước chi tiết:
-Xác định chủ đề :Xác định chủ đề trong trang web là bước đầu tiên giúp cho
việc định hướng các thao tác thiết kế và xây dựng sau này không bị chệch mụctiêu.Chủ đề web tuy quan trọng song cũng dễ xá định bởi vì nó dựa hoàn toàn vào
mục đích thiết kế của trang web đó
- Xác định nội dung: Xác định nội dung của trang web là quan trọng nhất.Nó
cho phép ta hình dung được công việc phải làm tiếp theo và xây dựng quy mô trangchủ,qua đó quy định khuôn khổ công tác thiết kế giao diện và xây dựng quy môtrang HTML,khi xác định nội dung cần nhận rõ nhưng điểm chính yếu phải giớithiệu trang web.Những thông tin sẽ giới thiệu phải tuân theo hai tiêu chí:Tính kếthừa và mức đọ quan trọng.Việc xây dựng nội dung cũng phải định trước phongcách khác nhau:Nghiêm trang hay hài hước,cứng rắn hay mềm mại
-Thiết kế sơ đồ hoạt đọng:Sơ đồ hoạt động là mô hình sắp xếp nội dung trong
bước này ta sẽ sắp xếp các thông tin cần giới thiệu theo thứ tự ưu tiên xác định.Công việc sắp xếp bao gồm thứ tự Trên-Dưới,Trước-Sau , thông tin nào cần đượcnếu roc trong một trang web thành một phần riêng,thông tin nào có thể mô tả trêntrang chủ
-Thiết kế sơ đồ giao diện người xem của trang chủ: Sơ đò giao diện người xem
là sơ đồ khái quát của những gì mà người đến thăm trang chủ sẽ thấy.Giao diệnngười xem được thiết kế theo sơ đồ này,yêu cầu của giao diện là nêu bật được chủ
đề chính,bố trí các liên kết sao cho hợp lý,cân đối
-Thiết kế và xây dựng chi tết: Công tác thiết ké và xây dựng chi tiết là công
việc đồ sộ nhất khi xây dựng trang web.Nó cũng là phần đưa ra kết quả cuốicùng.Vì vậy có thể nói là công tác quan trọng nhất.Trong công tác thiết kế xây dựng
Trang 17chi tiết,việc lựa chọn hình ảnh là quan trọng Đây chính là cái gây ân tượng mạnhnhất đến người xem.
2.3 ACTIVE SERVER PAGES (ASP) là gì?
Microsoft Active Server Page(ASP) không hẳn là một ngôn ngữ lập
trình.Microsoft gọi nó là môi trường kịch bản trên máy chủ.Môi trường này dựng đểtạo và chạy các ứng dụng Web động,tương tác,có hiệu quả cao làm nội dung trangWeb linh động hơn Với người dùng khác nhua thì truy cạp trang web này có thể sẽnhận kết quả khác nhau.Nhờ những đối tượng có sẵn (Built-in object) và khả năng hỗtrợ các ngôn ngữ kịch bản như Vbcript ,javascript,cùng một số thành phần ActiveXkhác kem theo,ASP cung cấp giao diện lập trình khá mạnh mẽ và dẽ dàng trong việctriển khai ứng dụng Web
2.3.1 Trang ASP
Là trang web trong đó có sự kết hợp các thnàh phần HTML,Active Component
và Script ASP.Có thể xem trang ASP như một trang HTML có bổ sung thêm cáclệnh kịch bản ASP
Hoạt động của trang ASP:
Khi một trang ASP được trình duyệt web yêu cầu,đầu tiên web server sẽ duyệttuần tự từng trang ASP này và thực hiện dịch các câu lệnh kịch bản ASP,kết quả làmột trang “thuần HTML” sẽ được đưa ra browser(trình duyệt).Tuỳ theo người xâydựng trang web này quy định ,mà kết quả do web server dịch sẽ trả về lần lượt chotrình duyệt của người dùng hoặc chỉ trả về sau khi đã dịch xong tất cả các kịchbản.Người duỵet sẽ không chèn những lệnh kịch bản ASP bởi vì nó đã được thaythế bằng các giá trị kết quả của quá trình thực thị trên server
2.3.2 Ứng dụng ASP
Thường ứng dụng ASP gồm các trang ASP,trang HTML và những thành phầnkhác đặt trong một thư mục được khai báo với web server,thư mục này phải đượcgán quyền Executive hay Script để trang ASP hoạt động đúng.Trong thư mục cómột tập tin đặc biệt là global.asa dựng để chia sẻ thông tin trong toàn bộ ứng dụng
Trang 182.3.2.1 Web Server
Web server là một phần mềm đóng vai trị phục vụ.Khi được khởi động,nó nóđược nạp vào bộ nhớ và đợi các yêu cầu từ nới khác gửi đến.Quá trình này gọi làLisent và quá trình này cũng phải phân biệt là yeu cầu được gửi đến từ cổng nàochẳng hạn thường thì HTTP dựng cổng 80,FPT dựng cổng 21,Gopher dựng cổng25…Các yêu cầu có thể được gửi đến từ Web Browser từ máy trạm của người dùnghoặc cũng có thể được gửi đến từ một web browser khác và ta gọi chung các đốitượng gửi yêu cầu đến là các khách hàng (Client).Các yêu cầu đối với Web serverthường là về tư liệu hoặc thông tin nào đó.Sau khi nhận được yêu cầu nó phân tíchxem thông tin hay tư liệu khách hàng muốn là gì,trong trường hợp khách hàng chỉlấy một trang web tĩnh thì nó sẽ tìm lấy trang web đó và gửi trả lại cho web kháchhàng dưới theo giao thức HTTP.Trường hợp có yêu cầu trang web động thì một sốchương trình trên web server sẽ được kích hoạt mở và xử lý thông tin cần thiết sau
đó sẽ trả lại cho khách hàng các thông tin đã xử lý dưới dạng trang web tĩnh
2.3.2.2 Web Client
Người dùng cuối dựng một trình ứng dụng gọi là trình duyệt web (Web server)
để kết nối và gửi các yêu cầu tới máy chủ Web server.Sau khi gửi các yêu cầu thôngtin từ máy trạm lên máy chủ,Web Browser sẽ đợi câu trả lời và các thông tin từ máychủ đem về và hiện thị các tjhông tin đó dưới dạng trang Web cho người sử dụng.Cónhiều loại Browser khác nhau:
+ Lynx trong Unix
Trang 192.3.3 Các đối tượng của ASP.
ÁP cũng cấp một loạt các đối tượng cho phếp nhận thông tin từ Web Browserhoặc đáp ứng các yêu cầu từ Web Browser,hoặc lưu thông tin về người dùng.ActiveServer Page gồm có đối tượng sau:
để khó và bỏ khó khi chạy ứng dụng đó với nhiều người dùng
Các đối tượng con::
Contents: Chứa tất cả đối tượng được thêm vào Application trong qua strình
Trang 20nghe các tệp tin nhạc ở một số các trang thì phải có một biến để lưu giữ lại thông tinnày Đối tượng session được Web Server tự động tạo nếu như trang web của ứngdụng được đòi hỏi bởi một người dùng mà chưa có SessionID SessionID là một mã
mà Web Server sẽ gửi về cho Web Browser ở máy người dùng và mã này dùng choWeb Server nhận biết là yêu cầu được gửi từ Session nào đến
Các đối tượng con của đối tương Session:
Contents: Chứa tất cả đối tượng được thêm vào Session trong qua trình thực
hiện các Script
StaticObjects: Chứa tất cả đối tượng được thêm vào Session trong qua strỡnh
thực hiện các trang web cơ chứa các thẻ <Object>
Các phương thức của đối tượng Session:
Abandon: Huỷ bỏ Session hiện thời và giải phóng mọi thông tin liên quan đến
Session
Các sự kiện (Events)
Session_OnStart : Xảy ra khi Server tạo ra một Session mới và việc này được
thực hiện trước khi Server trả lời lại yêu cầu của Web Browser Mọi thông tin và các
biến sử dung chung trong một Session tốt nhất là được khởi tạo tại đây và mọi thành
phần khác của ASP đều có thể được tham khảo trong Event này
Session_OnEnd : Xảy ra khi Session kết thúc hoặc bị timeout
2.3.2.3 Request
Đối tượng này chứa các thông tin của Web Browser gửi đến Server thông quagiao thức TCP/IP Cú pháp như sau:
Request[.collection|property|method](variable)
Trong đó thành phần Collection có thể gồm những đối tượng như sau:
1.Cookies: Giỏ trị cookies của Web Browser gửi đến Server thụng qua HTTP2.Form: Khi một nút Submit của Form được bấm thì toàn bộ giỏ trị của Form
đú sẽ được truyền về Server
Trang 213 QueryString: Các tham số có thể được truyền đến tệp ASP bằng đối tượngFORM Nhưng trong trường hợp mà dựng các HyperLink mà muốn truyền tham sốthì phải dựng QueryString
4 ServerVariables: Chứa các thông tin về các biến môi trường đã được địnhnghĩa sẵn
2.3.3.4.Response
Đối tượng này được dựng để gửi kết quả cho Web Browser
Các phương thức (Methods)
add header: Thêm một phần Header mới vào HTML header với một số giá trị
chọn lọc Phương thức này luôn luôn thêm vào chứ không ghi đè lên thông tin đã có sẵn
Cú pháp : Response.AddHeader name, value
Clear: Xoá toàn bộ bộ đệm ra của HTML, phương thức này chỉ xoá phần thân
của Response chứ không xoá phần Header của Response
End: Kết thúc việc xử lý ở tệp ASP và gửi về Web Browser những kết quả thu
được cho đến lúc xảy ra phương thức này
Flush: Khi các thông tin được gửi ra bộ đệm kết quả thì những thông tin đó
chưa được gửi về ngay Web Browser mà chỉ đến khi dựng phương thức nàythì thông tin sẽ được gửi ngay tức khắc về Web Browser Tuy nhiên cũng sẽ xảy rathông báo lỗi Run-time nếu như Response.Buffer chưa được đặt giá trị = True
Redirect: Phương thưc này dựng để định hướng địa chỉ của trang Web trên
Web Browser trỏ đến một URL khác
Write: Đây là phương thức hay dựng nhất để trả về cho Web Browser những
xâu ký tự mà đại điện cho cấu trúc HTML
Trang 22trên Server Ví dụ:
<% Set Session(“ad”) = Server.CreateObject(“MSWC.AdRotator”)%>
HTMLEncode: Cung cấp khả năng mó hoá các xâu ký tự
MapPath: Phương thức này trả về địa chỉ vật lý tương ứng với địa chỉ thư
mục ảo trên máy chủ Ví dụ:
Set Complete: Phương thức này khai báo rằng đoạn script trong ASP không
phụ thuộc vào việc có thực hiện thành công hay không Transaction Nếu mọi thànhphần trong Transaction mà đều gọi phương thức này thì Transaction sẽ được hoànthành
Set Abort: Phương thức này khai báo rằng Transaction khởi tạo bằng script đã
không hoàn thành
Các sự kiện (Events) : OnTransactionCommit, OnTransactionAbout.
2.3.4 Tính chất và ưu khuyết điểm của ASP
2.3.4.1.Tính chất
Các kịch bản ASP thông thường chỉ chạy trên các Server càI IIS.Quy trình
như sau:
Trang 23Khi một người dùng thông qua trình duyệt Web gửi yêu cầu đến một tập tin.aspServer thì Script(kịch bản) chứa trong tập tin đó sẽ chạy trên Server và trả kết quả
về cho trình duyệt đó là một trang HTML.Do môi trường tập trung vào vấn đềtrường hoạt động là Internet,nên một kịch bản ASP được viết dựa trên ngôn ngữhướng đối tượng nên rất tiên lợi,với các đối tượng đi kèm như:Request, Respontse,Application, Server, Session, qua đó tận dụng được các ActiveX component nhưDatabase access….Hơn nữa nó cũng có thể tận dụng được các thành phần từ nhữngnhà phân phối khác, cung cấp dưới dạng tập tin dll
Những tính chất trên của ASP đem lại những lợi ích xác thực, cho phép tạo racác ứng dung Web thương mại có khả năng tương tác, chứ không chỉ đơn thuần làphổ biến nội dung tĩnh như những trang HTML thuần tuý
2.3.4.2.Ưu điểm
+ So với một số ngôn ngữ lập trình máy chủ khác như CGI,Perl,Python,…thìASP dễ học hơn Nếu sử dụng ngôn ngữ mặc định VBScript bạn sẽ chèn mã lệnhtương tự như Visual Bacsic, cho nên dễ thực hành và mất ít thời gian hơn so vớiPerl.Với ASP, các nhà phát triển ứng dụng Web dễ dàng tiếp cận công nghệ này vànhanh chóng tạo ra các sản phẩm có giá trị Góp phần tạo nên một đội ngũ lập trinhWeb lớn mạnh
+ Khác với CGI,các trang ASP không cần phải hợp dịch
+ Dễ dàng tương thích với các công nghệ Microsoft.ASP sử dụng ActiveXData Object(ADO) để thao tác với cơ sở dữ liệu hết sức tiện lợi
+ ASP có tính năng mở ,cho phép các nhà lập trình xây dựng các thành phần vàđăng kí sử dụng dễ dàng
+ ASP có tính năng truy cập cơ sở dữ liệu tuyệt vời,nhất là với SQL Server, nên
so với CGI(Common Gateway Interface) thì ASP hơn hẳn ở mặt này
2.3.4.3 Khuyết điểm
+ ASP chỉ chạy và tương thích trên môi trường Windows
Trang 24+ ASP có độ bảo mật kém hơn CGI,vì ASP chạy trên các Server với hệ điềuhành mạng của Microsoft, có tính bảo mật hệ thống kém so với UNIX Các mã ASPđều có thể đọc được nếu người dùng có quyền truy cập vào Web Server.
+ Khó can thiệp sâu vào hệ thống như những ứng dụng CGI
+ ASP không được trợ nhiều từ các hãng thứ ba
+ So với công nghệ Java Servlet thì ASP chạy chậm hơn
2.4 Cơ Sở Dữ Liệu
Không có một ứng dụng tin học nào mà không liên quan đến việc tổ chức lưu trữ
và khai thác dữ liệu Vì vậy việc tổ chức cơ sở dữ liệu tốt có nhiều ưu điểm rõ rệt:giảm được dư thừa dữ liệu trong dữ liệu lưu trữ, tránh được sự không nhất quán của
dữ liệu, dữ liệu có thể được chia cho nhiều người dùng, bảo đảm sự tuân thủ các tiêuchuẩn thống nhất trong biểu diễn dữ liệu
Để lưu trữ dữ liệu người ta có thể lưu trữ dữ liệu theo ba mô hình: Cho việctruy xuất thông tin được nhanh và không Mô hình mạng
Mô hình phân cấp
Mô hình quan hệ
Trong lập trình quản lý mô hình quan hệ thường được sử dụng hơn cả nó chophép tạo mối quan hệ giữa các thực thể thông qua các khó liên kết giúp tốn khônggian lưu trữ CSDL được xây dựng dựa trên mô hình quan hệ được gọi là CSDLquan hệ
2.4.1 Các khái niệm về cơ sở dữ liệu (CSDL)
Trang 25tập hợp dữ liệu tạo nên CSDL, đồng thời nó bảo đảm sự an toàn và bí mật của các
dữ liệu trong môi trường có nhiều người sử dụng
Thực thể (Entity):
Thực thể là một hình ảnh tượng trưng cho một đối tượng cụ thể hay một kháiniệm trừu tượng nhưng có mặt trong thế giới thực
Mối quan hệ (RelationShip):
Chỉ các quan hệ hình thành giữa các thực thể khác nhau
Ví dụ
Mối quan hệ giữa thực thể khách hàng và vé là quan hệ Đặt
Khi đó để mô tả quan hệ người ta dựng ký hiệu :
Các thực thể tham gia vào mối quan hệ được nối với nhau bằng :
Nếu hai thực thể tham gai vào quan hệ thì có thể có các loại quan hệ sau:
2.4.2 Các khái niệm về cơ sở dữ liệu quan hệ
2.4.2.1 Thuộc tính
Một thuộc tính biểu thị một đơn vị thông tin nhỏ nhất, có thể được sử một cách
Trang 26tự do và có ý nghĩa độc lập với các đơn vị thông tin khác trong mọi mô hình thuộctính đại diện cho một phần tử cơ sở của hệ thống thông tin
Một thuộc tính được xác định bằng một cặp {Tên thuộc tính, Miền giá trị}
2.4.2.2.Tên thuộc tính
Để xác định một thuộc tính, người ta đặt cho nó một cái tên, tên này được gọi
là tên thuộc tính Tên thuộc tính là duy nhất cho mỗi thuộc tính
2.4.2.3.Miền giá trị
Mỗi thuộc tính đều phải thuộc một kiểu dữ liệu, kiểu dữ liệu có thể là vôhướng hoặc có cấu trúc Kiểu dữ liệu có cấu trúc được định nghĩa dựa trên các kiểu
dữ liệu vô hướng
Một tập hợp các phần tử mà một thuộc tính có thể lấy giá trị gọi là miền giá trị,nói cách khác, miền giá trị là tập hợp các giá trị cùng loại có thể có của thuộc tính
2.4.2.4.Cách miền giá trị của một thuộc tính
- Nếu số phần tử của miền giá trị là ít thì liệt kê tất cả các giá trị của các phầntử
Ví dụ {giới tính (nam, nữ)}
Nếu số phần tử của miền là nhiều thì dựng cách mô tả tập hợp
Ví dụ: {Tuổi sinh viên, số nguyên N: N ∈ [18:25]}
Nếu số các phần tử của miền giá trị rất nhiều hoặc không biết trước được màkhông có tính chất đặc trưng nào thì mô tả tập hợp theo kiểu của dữ liệu
Ví dụ {Họ tên, chuỗi ký tự có độ dài < 30}
Nếu kiểu dữ liệu của thuộc tính có cấu trúc thì miền giá trị của nó là tích ĐềCác của các miền giá trị thành phần
Ví dụ: {Toạ độ màn hình, [0 24]x[0 79]}
2.4.2.3 Quan hệ
Cho R={a1,a2, ,an} là một tập hữu hạn và không rỗng các thuộc tính Mỗithuộc tính ai có miền giá trị là Dai (các miền giá trị Dai không nhất thiết phải khác
Trang 27biệt nhau) Một quan hệ r trên R là các bộ {h1,h2, ,hm} với mỗi hj (j=1,2, , m) làmột hàm:
hj :R -> sao cho hj (ai) ∈ Dai
Nói cách khác, một quan hệ r trên tập R là tập hợp con của tích Đề các của n miền giá trị Da1x Da2 x x Dan
Giá trị n được gọi là bậc của r, giá trị M được gọi là lực lượng của r
Quan hệ r có thể biểu diễn dưới dạng bảng:
2.1.2.4 Phụ thuộc hàm (Functional dependency )
Khái niệm phụ thuộc hàm là một khái niệm có tầm quan trong hết sức lớn đốivới việc thiét kế CSDL quan hệ Năm 1970 khái niệm này được E.F Codd đề cậpnhằm giả quyết vấn đề phân rã các quan hệ (khi chuẩn hoá quan hệ) mà không mấtmát thông tin
Có hai loại phụ thuộc hàm:
Phụ thuộc hàm trên quan hệ:
Cho R= {a1, a2, ., an}là một tập hữu hạn không rỗng các thuộc tính,r={h1,h2, , hm} là một quan hệ trên R, và A,B ⊆ R Khi đó ta nói A xác định hàmcho B hay B phụ thuộc hàm vào A trong r (ký pháp A -> B) nếu và chỉ nếu:
(∀hi,hj∈ r)( ∀a∈A)(hi(a)=hj(a)) ⇒ (∀b∈B)(hi(b)=hj(b))
Phụ thuộc hàm trên tập thuộc tính:
Cho R={a1,a2,, ,an} là một tập hữu hạn và không rỗng các thuộc tính, một phụ
Trang 28thuộc hàm trên tập các thuộc tính R là một dãy ký tự có dạng A -> B với A,B ⊆ R.
2.1.2.5 Sơ đồ quan hệ (Relation schema)
Một sơ đồ quan hệ s là một cặp <R,F> trong đó R là một tập các thuộc tính, F
là tập các phụ thuộc hàm trên R
2.1.2.6 Khó
Giả sử r là một quan hệ trên R và K⊆ R Khi đó K là một khó của r nếu K -> R
Gọi K là một khó tối thiểu của r nếu:
K là một khó của r
Bất kỳ một tập con thực sự của K không là khó của r
Các thuộc tính tham gia vào một khó được gọi là thuộc tính khó, các thuộc tínhkhông tham gia vào một khó gọi là thuộc tính không khó (hay thuộc tính mô tả)
Từ định nghĩa của quan hệ và định nghĩa của khó dễ thấy rằng một quan hệluôn có ít nhất một khó (tầm thường nhất là lấy R làm khó), có thể có nhiều khó và
có thể có nhiều khó tối thiểu
Từ định nghĩa của khó và định nghĩa của phụ thuộc hàm trên quan hệ ta có thểchứng minh rằng khó được dùng làm cơ sở để phân biệt hai bộ tuỳ ý trong một quan
hệ Trong thực tế khi cài đặt trên một hệ quản trị CSDL xét về mặt hiệu quả sử dụng thìngười ta dựng khó tối thiểu để làm cơ sở nhận diện một bộ trong quan hệ, trong trườnghợp có nhiều khó tối thiểu thì người ta chọn một khó tối thiểu và khó được chọn nàygọi là khó chính (Primary key)
Ví dụ: xét quan hệ r trên bộ R={SCMT, Số thẻ, Họ và tên, chức vụ, Tên cơquan chủ quản, địa chỉ} ta thấy quan hệ này ít nhất có các khó sau:
Trang 29K= {SCMT, Họ và tên, Tên cơ quan chủ quản}
Dễ thấy {Số thẻ} và {SCMT} là các khó tối thiểu Nên khi cài đặt ta có thể chọn Sốthẻ làm cơ sở để nhận diện các bộ và {Số thẻ} được gọi là khó chính
2.1.2.7 Hệ tiên đề cho phụ thuộc hàm
Để xác định được khó của một quan hệ và các suy diễn logic giữa các phụthuộc hàm đòi hỏi phải có các quy tắc suy diễn logic, muốn vậy phải xây dựng hệtiên đề cho phụ thuộc hàm
Cho R là một tập hữu hạn không rỗng các thuộc tính, ký pháp P(R) là tập cáctập con của R, giả sử A,B,C ∈ P(R) ta có:
2.4.3 Chuẩn hoá các quan hệ và sơ đồ quan hệ
Việc chuẩn hoá các quan hệ và sơ đồ quan hệ đống vai trò cực kỳ quan trọngtrong việc thiết kế các CSDL, hệ quản trị CSDL trên CSDL quan hệ Nhờ việcchuẩn hoá các quan hệ và các sơ đồ quan hệ mà chúng ta tránh được việc dư thừa dữliệu, loại bỏ được các dị thường dữ liệu, giảm dung lượng lưu trữ và tăng tốc độ củacác thao tác trên dữ liệu
Vào năm 1970, tiến sĩ E.F.Codd của IBM đã đưa ra các định nghĩa về các dạngchuẩn của của quan hệ và các thuật toán đưa quan hệ về các dạng chuẩn
2.4.3.1 Các định nghĩa về dạng chuẩn trong quan hệ
Để đơn giản trong việc đưa ra các định nghĩa về các dạng chuẩn của quan hệ tađưa ra ba định nghĩa sau:
Định nghĩa về thuộc tính cơ bản, thuộc tính thứ cấp:
Trang 30Giả sử r là một quan hệ trên tập thuộc tính R, gọi Kr là tập các khó tối thiểucủa r Ta nói rằng a là một thuộc tính cơ bản (Prime) của r nếu tồn tại một khó tốithiểu K∈ Kr để a là một phần tử của K Nếu a không thoả mãn tính chất trên thì ađược gọi là thuộc tính thứ cấp của r.
Định nghĩa về phụ thuộc hàm đầy đủ:
Giả sử r là một quan hệ trên tập thuộc tính R và A,B ∈ P(R), khi đó B được gọi
là phụ thuộc hàm đầy đủ vào A nếu B phụ thuộc hàm vào A nhưng không phụ thuộchàm vào bất kỳ một tập con thực sự nào của A
Định nghĩa về phụ thuộc hàm bắc cầu:
Giả sử r là một quan hệ trên tập thuộc tính R và A,C ∈ P(R) khi đó C được gọi
là phụ thuộc hàm bắc cầu vào A trên R nếu tồn tại B ∈ P(R)
Sao cho : A -> B, B -> C, nhưng B không xác định hàm A với C ⊄ A ∪B Điều kiện C ⊄ A ∪B cần để tránh trường hợp C ⊆ B ⊆ A khi đó theo tiên đềphản xạ ta luôn có A -> B -> C, còn điều kiện B không xác định hàm A để loại bỏnhiều khó không cần thiết
Quan hệ ở dạng chuẩn một (First Normal Form –1NF):
Một quan hệ được gọi là ở dạng chuẩn một nếu mỗi miền giá trị của mọi thuộctính chỉ chứa những giá trị nguyên tố (atomic) tức là không chia nhỏ hơn được nữa
Quan hệ ở dạng chuẩn hai (Second Normal Form – 2NF) :
Một quan hệ được gọi là ở dạng chuẩn hai nếu:
- Nó đã ở dạng chuẩn một
- Mọi thuộc tính thứ cấp phụ thuộc hàm đầy đủ vào khó chính
Quan hệ ở dang chuẩn ba (Third Normal Form – 3NF):
Một quan hệ được gọi là ở dạng chuẩn ba nếu:
- Nó đã ở dạng chuẩn hai
- Mọi thuộc tính thứ cấp không phụ thuộc hàm bắc cầu vào khó chính Nói