1. Trang chủ
  2. » Luận Văn - Báo Cáo

quản lý tour du lịch

84 1,4K 2

Đ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 84
Dung lượng 5,94 MB

Nội dung

GIỚI THIỆU : Công việc quản lý xảy ra trong mọi lĩnh vực , mọi lúc , mọi nơi như các bàitoán :quản lý nhân sự ,quản lý vật tư ,quản lý tài chính …Trong lĩnh vực quản lý, việc xử lý các t

Trang 1

PHẦN 1 : TỔNG QUAN

1 GIỚI THIỆU :

Công việc quản lý xảy ra trong mọi lĩnh vực , mọi lúc , mọi nơi như các bàitoán :quản lý nhân sự ,quản lý vật tư ,quản lý tài chính …Trong lĩnh vực quản lý, việc xử lý các thông tin nhận được là một vấn đề hết sức phức tạp vì lượngthông tin nhận được ngày càng lớn và thường xuyên thay đổi , nó luôn luôn làmột bài toán phức tạp , nhất là trong việc tổ chức ,sắp xếp cơ sở dữ liệu sao chophù hợp ,tìm ra những phương pháp tính toán tối ưu ,vấn đề bảo mật dữ liệu …Tuy nhiên sự ra đời của máy tính , cùng với sự phát triển của công nghệ thôngtin đã đưa ra một giải pháp hoàn toàn mới giúp giải quyết được những rắc rốiấy một cách nhanh chóng và hiệu quả

Và nếu như bạn có dịp ngồi tổng kết ,tính toán và in báo cáo cho công ty dulịch ,khi không có sự trợ giúp của máy tính thì công việc đó không dễ chútnào Hàng ngàn những con số ,giấy tờ ,sổ sách …Điều quan trọng là những đốitượng đó thì luôn luôn lại cập nhật và thay đổi theo từng thời điểm ,mỗi lầnthay đổi thì phải lục lại những giấy tờ liên quan và sửa lại Cho nên việc quảnlý thông tin như vậy là không khoa học chút nào

Chính vì lý do đó mà những người làm tin học phải có nhiệm vụ mô hình và tổchức những thông tin ở thế giới thực đưa vào máy tính , để có thể thực hiệnviệc tính toán dễ dàng ,nhanh chóng và chính xác hơn

2 MỤC ĐÍCH – Ý NGHĨA ĐỀ TÀI :

Đề tài “Xây dựng chương trình quản lý tour du lịch” đã giải quyết các vấnđề khó khăn đó Hệ thống thông tin quản lý tour du lịch này có thể giúp choviệc quản lý các tour một cách chính xác với các thông tin được dễ dàng cậpnhật thường xuyên về chi phí ,thời gian ,nguồn nhân lực …thông qua một quitrình định sẳn và giúp cho người quản lý có thể nắm bắt được đầy đủ thông tinđể dễ dàng xử lý kịp thời , mọi lúc ,mọi nơi

Chương trình được xây dựng nhằm giúp cho các nhà quản lý :

- Trong việc ghi nhận dữ liệu : nhập vào một tour mới một cách hệ

thống , có tổ chức định sẳn trong chương trình

- Trong việc tính toán : tính toán được tổng doanh thu của các tour

hằng tháng,hằng năm…

- Trong việc tra cứu : tra cứu tour ,tra cứu địa điểm …

- Trong việc thống kê : thống kê tour theo loại tour ,thống kê theo

chi phí …Chương trình được xây dựng nhằm giúp cho các nhà quản lý ,quản lý được cáctour mà mình đang theo dõi nhằm : đánh giá và kết luận về kết quả các quá

Trang 2

trình hoạt động của tour trước và sau khi hoạt động ; thu thập đầy đủ các thôngtin quản trị ,ra quyết định quản trị kịp thời ,chính xác ,hợp lý trên cơ sở cácthông tin được xác định dù với số lượng thông tin và dữ liệu lớn

Trang 3

PHẦN 2 : GIỚI THIỆU ASP.NET

I ASP.NET – GIỚI THI Ệ U S Ơ L ƯỢC

1

ASP L À GÌ ?

ASP.NET là Active Server Pages NET (.NET ở đây là NET framework).Nĩi đơn giản, ASP.NET là một cơng nghệ cĩ tính cách mạng dùng để pháttriển các ứng dụng về mạng hiện nay cũng như trong tương lai (ASP.NET is arevolutionary technology for developing web applications) Bạn lưu ý ở chổASP.NET là một phương pháp tổ chức hay khung tổ chức (framework) để thiếtlập các ứng dụng hết sức hùng mạnh cho mạng dựa trên CLR (CommonLanguage Runtime) chứ khơng phải là một ngơn ngữ lập trình

Tuy mang họ tên gần giống như ASP cổ điển nhưng ASP.NET khơng phải

là ASP Tuy nhiên ASP.NET được thiết kế tương thích với các phiên bản ASPtrước đĩ Ta chỉ cần thay đổi rất ít khi chuyển ứng dụng sẵn cĩ từ ASP sangASP.NET Và một điều thú vị nửa là ta cĩ thể cài đặt bộ ASP.NET chung vớiASP 3.0 chạy trên máy chủ Windows 2000 hay Windows XP mà khơng cầnthay đổi cấu hình của ứng dụng ASP cũ ASP và ASP.NET hoạt động độc lậpvới nhau Vì vậy ta sẽ tận dụng được những ưu điểm mới của ASP.NET màkhơng cần phải sửa đổi nhiều Mặc dù Microsoft chỉ them vào đuơi NETnhưng kiến trúc của ASP.NET so với ASP hầu như đổi mới rất nhiều

2 KHÁC BIỆT GIỮA ASP.NET VÀ ASP:

ASP.NET được phác thảo (re-design) lại từ số khơng, nĩ được thay đổi tậngốc rễ và phát triển (develop) phù hợp với yêu cầu hiện nay cũng như vạch mộthướng đi vững chắc cho tương lai Tin Học Lý do chính là Microsoft đã quáchán nãn trong việc thêm thắt và kết hợp các cơng dụng mới vào các kiểu mẫulập trình hay thiết kế mạng theo kiểu cổ điển nên Microsoft nghĩ rằng tốt nhất

là làm lại một kiểu mẫu hồn tồn mới thay vì vá víu chổ này chổ nọ vào ASP

Ðĩ là chưa kể đến nhiều phát minh mới ra đời sau này dựa trên các khái niệmmới mẽ theo xu hướng phát triển hiện nay của cơng nghệ Tin Học (InformationTechnology) cần được đưa vào kiểu mẫu phát triển mới đĩ Nhờ vậy, ta mới cĩthể nĩi ASP.NET khơng phải là ASP Thật vậy , ASP.NET cung cấp mộtphương pháp hồn tồn khác biệt với phương pháp của ASP

Trang 4

3 NHỮNG THAY ÐỔI CƠ BẢN:

ASP đã và đang thi hành sứ mạng được giao cho nó để phát triển mạngmột cách tốt đẹp như vậy thì tại sao ta cần phải đổi mới hoàn toàn? Lý do đơngiản là ASP không còn đáp ứng đủ nhu cầu hiện nay trong lãnh vực phát triểnmạng của công nghệ Tin Học ASP được thiết kế riêng biệt và nằm ở tầng phiátrên hệ điều hành Windows và Internet Information Server, do đó các côngdụng của nó hết sức rời rạt và giới hạn

Trong khi đó, ASP.NET là một cơ cấu trong các cơ cấu của hệ điều hànhWindows dưới dạng nền hay khung .NET (.NET framework), như vậyASP.NET không những có thể dùng các object của các ứng dụng cũ mà còn cóthể sử dụng tất cả mọi tài nguyên mà Windows có

Ta có thể tóm tắc sự thay đổi như sau:

• Tập tin của ASP.NET (ASP.NET file) có extension là ASPX, còn

tập tin của ASP là ASP

• Tập tin của ASP.NET (ASP.NET file) được phân tích ngữ pháp

(parsed) bởi XSPISAPI.DLL, còn tập tin của ASP được phân tíchbởi ASP.DLL

• ASP.NET là kiểu mẫu lập trình phát động bằng sự kiện (event

driven), còn các trang ASP được thi hành theo thứ tự tuần tự từ trênxuống dưới

• ASP.NET xử dụng trình biên dịch (compiled code) nên rất nhanh,

còn ASP dùng trình thông dịch (interpreted code) do đó hiệu suất vàtốc độ phát triển cũng thua sút hẳn

• ASP.NET yểm trợ gần 25 ngôn ngữ lập trình mới với NET và chạy

trong môi trường biên dịch (compiled environment), còn ASP chỉchấp nhận VBScript và JavaScript nên ASP chỉ là một scriptedlanguage trong môi trường thông dịch(in the interpreterenvironment) Không những vậy, ASP.NET còn kết hợp nhuầnnhuyễn với XML (Extensible Markup Language) để chuyển vận cácthông tin (information) qua mạng

• ASP.NET yểm trợ tất cả các browser và quan trọng hơn nữa là yểm

trợ các thiết bị lưu động (mobile devices) Chính các thiết bị lưuđộng, mà mỗi ngày càng phổ biến, đã khiến việc dùng ASP trongviệc phát triển mạng nhằm vươn tới thị trường mới đó trở nên vôcùng khó khăn

II BỘ DỊCH VỤ WEB THẾ HỆ KẾ TIẾP ( NGWSF) :

Trang 5

Hệ điều hành được Microsoft xem là một tập hợp bao gồm nhiều đối tượnghoạt động tương tác lẫn nhau Chương trình của bạn cũng là một đối tượng.Microsoft gọi mô hình này với tên khá phổ biến là COM (Component ObjectModel) Tất cả mọi thứ điều quy về đối tượng với phương thức, thuộc tính và cácdịch vụ mà đối tượng có thể cung cấp Phát triển hơn nửa Microsoft mở rộngCOM thành COM+ cho phép các đối tượng COM mở rộng giao tiếp với nhau trênmọi nền Windows98 , NT/2000/XP, máy chủ Server và máy khách Client đâu đâucũng là đối tượng có thể giao tiếp và triệu gọi nhau một cách xuyên suốt

Với sự buøng nổ của Internet, Microsoft một lần nửa lại đưa ra kiến trúcCOM+ thành mô hình đối tượng cao hơn ảnh hưởng đến toàn bộ hệ điều hành.Kiến trúc mới này mang tên khung dịch vụ WEB thế hệ kế tiếp (Next GenerationWeb Service Framework hay NGWSG Tuy mang tên Web nhưng thực chất nó đã

ăn sâu trong hệ điều hành NGWSG bổ sung các dịch vụ mới cho các đối tượngứng dụng phân tán COM+ bao gồm:

• Một tập các thư viện lập trình phong phú và thống nhất

• Bộ thực thi chương trình đa ngôn ngữ (multi-language runtime

engine) và bảo vệ an toàn mã thực thi

• Đơn giản hoá quá trình tạo lập, phân phối và bảo trì ứng dụng

• Tăng tính mềm dẻo và khả chuyển cho các ứng dụng phân tán

• Bảo vệ các phần mềm hiện có và giảm đầu tư đào tạo

Sở dĩ có chữ NET trong ASP.NET là vì mọi chức năng ASP.NET có được

là hoàn toàn dựa vào NET framework, do đó ta cần phải hiểu thấu đáo kiến trúc

hạ tầng của NET framework để dùng ASP.NET một cách hiệu quả, trong đó quantrọng nhất là CLR và NET Framework Class

1 CLR (COMMON LANGUAGE RUNTIME):

CLR là môi trường được dùng để quản lý sự thi hành các nguồn mã(manage the execution of code) mà ta đã soạn ra và biên dịch (write andcompile code) trong các ứng dụng Tuy nhiên khi biên dịch nguồn mã, ta lại

biên dịch chúng ra thành một ngôn ngữ trung gian gọi là Microsoft Intermediate Language (MSIL) Chính MSIL trung gian này là ngôn ngữ

chung cho tất cả các ngôn ngữ NET hiện có, do đó chắc bạn cũng đoán ra làASP.NET cũng được biên dịch (compile) ra MSIL như mọi ai khác Trong khibiên dịch như vậy, các ứng dụng cũng sản xuất ra những thông tin cần thiết để

tự quảng cáo chính mình, ta gọi những thông tin này là metadata Ðến khi

ta chạy một ứng dụng, CLR sẽ tiếp quản (take-over) và lại biên dịch (compile)nguồn mã một lần nữa ra thành ngôn ngữ gốc (native language) của máy vitính trước khi thi hành những công tác đã được bố trí trong nguồn mã đó

Trang 6

2 .NET FRAMEWORK CLASSES

Ðiều quan trọng nhất mà ta cần phải nhớ là mọi thứ trong NET đều là

object, tỷ như các trang ASP.NET, các hộp thông điệp (message box) hay là

nút bấm (button), tất cả đều là object cả Các object đó được tổ chức lại thànhtừng nhóm riêng biệt như trong một thư viện để ta dễ dàng sữ dụng Ta gọi các

nhóm như vậy là namespaces, và ta sẽ dùng những namespace này để gọi hay

nhập cảng (import) các class cần thiết cho ứng dụng của mình

IV CÁC ĐỐI TƯỢNG TRONG ASP.NET :

1 ĐỐI TƯỢNG RESPONSE :

Là đối tượng liên quan đến công việc thông tin từ Server gửi đến trìnhduỵêt Web Response object cho phép Server đáp ứng, trả lời hay thông tin vớiClient

Phương pháp (Method) Write :

Ví dụ sau đây dùng phương pháp (method) Write của Response object để hiểnthị vài hàng chữ ở Client browser:

<%@ Page Language="VB" %>

<script runat="server">

sub Page_Load(obj as object, e as eventargs)

dim i as integer

'Dùng phương pháp (method) Write để hiển thị vài hàng chữ sau đây

Response.Write("Using Write method of Response object")

Response.Write("<HR width=100%\>")

Trang 7

Response.Write("<font size=" & 3 & ">Hello Thanh<br></font>")

Ðể ý ký hiệu \> ở cuối mã sau đây Nếu ta không dùng ký hiệu \ để phân biệt100%\> và 100%>, ASP.NET sẽ tưởng ta dùng %> để chấm dứt phần scriptblock và sẽ tạo lỗi

ASP.NET dùng buffer để kiểm soát (control) khi nào gởi sản phẩm (output)tới browser Ðây cũng là kiểu mẫu chính (default method) ASP.NET dùng, khioutput được buffered, ASP.NET chờ cho tới khi nào tất cả nguồn mã được thihành mới gởi tới browser 'một lần rồi thôi' Trong kiểu unbuffered output,

mã sẽ gởi tới browser từng cụm hay từng phần một - ở đây muốn nói tới'output of each method'

Trang 8

Nếu ta muốn tắt buffer (turn buffering off), bố trí mã Buffer = false trước khi

gởi đi browser:

Ðể vận dụng hay sử dụng buffer, ta dùng phương pháp (method):

Trang 9

2 ĐỐI TƯỢNG REQUEST :

Request object dùng để thông tin giữa Server và Client browser Browserdùng Request object để gởi thông tin cần thiết tới Server Giống như Response,Request object là instance của HttpRequest Như vậy, Request object đại diệncho Client khi yêu cầu trang Web, còn Server sẽ dùng vừa Response vừaRequest để đáp ứng yêu cầu hay đòi hỏi thông tin từ Client

Đối tượng Request cho phép truy xuất tới bất kỳ thông tin nào do user gởitới bằng giao thức HTTP như :

- Các thông tin chuẩn nằm trong biến Server

- Các tham số gởi tới bằng phương thức POST

- Các tham số gởi tới bằng phương thức GET

- Các Cookies

- Các Client Certificates

Nếu phương thức gửi từ Form là GET thì query String chứa toàn bộ thông tingởi tới như các tham số đi đằng sau dấu chấm hỏi (?) trong hộp địa chỉ

Nếu phương thức gửi tới là POST thì thông tin gửi đi sẽ dấu đi

Tuy vậy, object này không cần thiết vì ASP.NET đã lo lắng, đãm đương hầuhết trách nhiệm thông tin giữa Server và Client browser dùm ta

Một ứng dụng quan trọng của Request object là thu thập thông tin của Clientbrowser Thường, thông tin của Client browser được gởi đi dưới dạng form

Trang 10

hay querystring (querystring: thông tin gởi kèm vào phần đuôi của requestURL).

Tóm lại, cả 2 kiểu đều được dùng để thu thập thông tin từ Client browser.Nhưng, ASP.NET dùng Web Form Framework để chăm nom, sắp đặt mọiyêu cầu (request) của Client browser cho ta

Cũng cần nhắc ở đây, ta có thể dùng Request để thu thập thông tin về

ServerVariablesCookies ServerVariables chứa thông tin của Server tỷ như IP address hay HTTP protocol, Cookies (dưới hình thức 1 tập tin)

chứa thông tin cần thiết ở chính máy vi tính của user (Client's computer)

Dưới đây vài biến số (variables) thông dụng trong bộ ServerVariablesCollection:

SERVER_SOFTWARE Server, tỷ như Microsft-IIS/5.0Tên nhu liệu sử dụng cho Web

3 ĐỐI TƯỢNG SERVER :

Là đối tượng quan trọng cung cấp cho ta một vài sở hữu cơ bản và phươngpháp và được sử dụng trong tất cả mỗi trang ASP mà chúng ta tạo ra

Trang 11

Thuộc tính :

ScriptTimeout : Khoảng thời gian dành cho Scrip chạy Mặc định là 90 giây

Các dạng thức :

- CreateObject : Tạo một instance của server component.

- HTMLEncode : Mã hoá một chuỗi theo dạng HTML

- MapPath : Ánh xạ đường dẫn ảo (là đường dẫn tuyệt đối trên Server

hiện hành hoặc đường dẫn tuyệt đối đến trang hiện tại) thành đườngdẫn vật lý (Physical path)

- URLLencode : mã hoá một chuỗi (kể cả kí tự Escape) theo quy tắc

mã hoá URL

4 ĐỐI TƯỢNG APPLICATION :

Là đối tượng có thể lưu trữ thông tin cho việc sử dụng cho tập tin văn bảnngay cả đáp lại sự kiện Thường dùng cho biến toàn cục ví dụ như việc đếm sốngười truy cập vào một trang Web

Các dạng thức :

- Lock : Phương thức này cấm không cho Client khác thay đổi

property của đối tượng Application

Trang 12

- Unlock : Phương thức này Client thay đổi property của đối tượng

Application

- Event : gồm có hai event được khai báo trong file Global.asa Ngoài

ra chúng ta có thể đặt các biến trong đối tượng Application để lưunhững thông tin toàn cục, hay các cờ báo hiệu

Application_OnStart : Xảy ra khi khởi động ứng dụng

Application_OnEnd : Xảy ra khi ưng dụng đóng, hay Server shutdown

5 ĐỐI TƯỢNG SESSION :

Là một đối tượng có thể sử dụng để lưu trữ cả giá trị dữ liệu đơn giản và cảkết nối dữ liệu Mỗi Client khi yêu câu truy xuất trang Web trong ứng dụng của

ta là được phân phát một đối tượng Session

Ta thường dùng đối tượng Session để xác định quyền có thể truy cập vàotrang Web nào đó Thường dùng vào những trang Login

Các thuộc tính :

- SessionID : Trả về SessionID cho User Mỗi Session sẽ được server

cho một số định danh duy nhất khi nó được tạo ra

- Timeout : khoảng thời gian tồn tại của Session, tính bằng phút Mặc

định 20 phút

Các dạng thức :

- Abandon : Xoá bỏ một Session, trả lại tài nguên cho hệ thống.

VI TRUY XUẤT CƠ SỞ DỮ LIỆU :

1 ADO+ HAY ADO.NET LÀ GÌ ?

Trong ADO (ActiveX Data Object) của VB6 ta dùng Connection để nối

chương trình áp dụng của mình với cơ sở dữ liệu và lấy ra một Recordset Cáiconnection ấy vẫn được giữ nguyên trong khi chương trình ta làm việc với

Recordset Trong ADO.NET của NET sau khi thiết lập connection với cơ sở

dữ liệu ta copy một hay nhiều Recordset vào Dataset Các Recordset nầy có thể

có mối liên hệ Master/Slave Relation với nhau Thí dụ như

Trang 13

Invoice/InvoiceDetails, trong đó các InvoiceDetails liên hệ với Invoice quaInvoiceID chẳng hạn, tức là InvoiceID là Primary Key của Invoice và cũng làForeign Key của InvoiceDetails Sau đó ta chỉ làm việc với Dataset mà thôi.Cái connection coi như đã bị cắt đứt Do đó Dataset được xem như là

disconnected database nho nhỏ nằm trong bộ nhớ.Cái hay của ADO.NET là khi ta muốn Update Dataset, connection sẽ được tự

động nối lại và dataset sẽ được reconciled với cơ sỡ dữ liệu Chữ reconcile là

một từ kỹ thuật trong kế toán mà ta hay dùng để nói đến việc so sánh các chitiết tiền ra vô của một trương mục giữa sổ sách chúng ta giữ và bảng báo cáocủa nhà băng để điều chỉnh lại các con số trong sổ sách của chúng ta cho giốngnhư của nhà băng Nếu ta giữ sổ sách chính xác thì sự khác biệt chỉ là nhữngtransactions (món tiền ra, vô) nhà băng làm mà ta chưa biết như chi phí dịch vụcủa nhà băng, thuế tài chánh v.v Bên trong Dataset có chứa các trị số cũ củadatafields để dùng vào việc so sánh khi Reconcile các records Dataset của ADO.NET cho ta các lợi ích thực tiển như:

• Hoàn toàn trong bộ nhớ: Một Table trong Dataset là mộtArray of Rows, nên ta có thể dùng thẳng (direct access) mộtrecord bằng cách nói đến cái Row chứa nó, chớ không cầnphải dùng MoveNext, MovePrev,.v.v

• Làm nhẹ công tác của cơ sỡ dữ kiện chính: Vai trò củaDataset đối với cơ sỡ dữ kiện chính (Oracle, Informix,SQLServer v.v.) cũng giống như mười năm trước đây ta bắtđầu dùng Workstations để làm nhẹ công tác của Mainframecomputer Chuyện nào Workstation làm được thì ta giao cho

nó, vừa nhanh, vừa linh động, khỏi cần phiền đến Mainframe.Tất cả mọi công tác sửa đổi dữ kiện đều được thực hiện trongDataset

Dataset có thể được biểu diển bằng một XML (eXtensible Marked Language): Ta có thể dùng các công cụ của XML

để làm việc với Dataset, trao đổi Dataset giữa các computerstrên mạng dưới dạng XML, thậm chí có thể chứa một cơ sở

dữ kiện nho nhỏ dưới dạng một XML

2 SỬ DỤNG ADO.NET :

Khai báo và sử dụng không gian tên (namespace) :

Trong ASP.NET để sử dụng một thư viện hay đối tượng nào đó ta cần khaibáo không gian tên (namespace) bằng chỉ thị Import Nếu không thì khi sửdụng đối tượng nào đó ta phải khai báo đầy đủ

Ví dụ: <%Import Namespace=”System.Data.ADO”%>

Trang 14

Để xử lý dữ liệu trong ASP.NET ta có thể khai báo sử dụng các không gian tênnhư sau:

System.Data Các đối tượng và kiểu cơ bản phục

vụ ADO.NET

System.Data.ADO Quản lý các đối tượng chứa và truy

xuất dữ liệu theo OLE DB

System.Data.SQL Các đối tượng xử lý đặc thù cho

CSDL SQLSystem.Data.XML Đối tượng xử lý dữ liệu XMLSystem.Data.SQLTypes Các kiểu dữ liệu của SQL

3 CÁC ĐỐI TƯỢNG TRONG ADO.NET :

a Đối tượng Connection :

Dùng đối tượng này để kết nối đến CSDL

Cách khai báo :

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%Dim myConnection As SqlConnection

myConnection= New SqlConnection("server=yoursqlservername;database=Pubs;uid=sa" )myConnection.Open() %>

b Đối tượng Command : dùng để định nghĩa một câu lệnh hoặc 1 query

mà ta sẽ thực hiện trên data source

Cách khai báo

Dim myCommand As SqlDataAdapter

myCommand = new SqlDataAdapter("SELECT * FROM Authors",myConnection)

Trang 15

c Đối tượng DataSet : dùng để sử lý dữ liệu lấy ra từ các nguồn chứa

(data store), đối tượng này cung cấp cách truy xuất đến danh sách các bảngcột và dòng dữ liệu thong qua những đối tượng con như DataSet ,DataRelationship, DataTable, DataColumn, DataRow, Datakey

d Đối tượng DataView : cho phép tuỳ biến cách nhìn dữ liệu chứa trong

các bảng DataSet Mục đích chính của DataView là hộ trợ cơ chế rang buộc

dữ liệu Ta có thể hình dung DataView tương tự như RecordSet trong môhình ADO cũ

Cách khai báo:

MyDataGrid.DataSource=ds.Table(“Authors”).DefaultView

Lưu Ý : Bạn nên nhớ, DataSet không phải là RecordSet Khái niệm tương

đương với RecordSet cũ là DataView

e Đối tượng DataReader :

Đối tượng này được xây dựng cho 2 môi trường Với môi trườngchuyên dụng SQL Server, ta có thể dùng SQLDataReader Với môi trườngCSDL tổng quát ta dùng ADODataReader Đối tượng DataReader cho phépđọc cụ thể từng dòng và cột dữ liệu trong bảng Chức năng DataReadertương tự như RecordSet trong ADO cũ, RecordSet cho phép ta lặp và duyệtqua tất cả các record trong bảng dữ liệu

Trang 16

PHẦN 3 : GIỚI THIỆU SQL SERVER

I TỔNG QUAN :

1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ (RDBMS):

SQL SERVER là một hệ thống quản lý cơ sở dữ liệu (RelationalDatabase Management System (RDBMS)) sử dụng Transact-SQL để traođổi dữ liệu giữa Client computer và SQL Server computer Một RDBMSbao gồm databases, database engine và các ứng dụng dùng để quản lý dữliệu và các bộ phận khác nhau trong RDBMS

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớnlên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQLServer có các chức năng :

 Có tính bảo mật dữ liệu

 Hỗ trợ đa xử lý

 Đảm bảo các ràng buộc toàn vẹn

2 CÁC THÀNH PHẦN QUAN TRỌNG TRONG SQL SERVER :

Trang 17

SQL Server được cấu tạo bởi nhiều thành phần như Relational DatabaseEngine, Analysis Service và English Query… Các thành phần này khi phốihợp với nhau tạo thành một giải pháp hoàn chỉnh giúp việc lưu trữ và phântích dữ liệu một cách dễ dàng.

3 KIẾN TRÚC CLIENT/SERVER :

 Server chứa dịch vụ cơ sở dữ liệu, bảo mật, quản lý

 Client thông tin với cơ sở dữ liệu qua giao tiếp lập trình ứng dụng

(API- Application Programming Interface)

4 TẠI SAO PHẢI CHỌN SQL SERVER ?

Để chọn DBMS này chúng ta xét nó có phù hợp với ứng dụng không vàchúng tôi đưa ra các so sánh sau (đối với các DBMSs khác như Access,Oracle):

Đầu tiên chúng ta xét Access :

Trang 18

Access :

 Không có khả năng truy cập đồng thời

 Kém bảo mật

 Hạn chế về kích thước dữ liệu (nhỏ hơn 50 M)

Oracle :

 Chi phí có được hệ quản trị cơ sở dữ liệu Oracle cao hơn SQLServer rất nhiều

 Dùng cho những ứng dụng rất lớn

Những khuyết điểm trên của Access và Oracle chính là ưu điểm của SQLServer Ngoài ra SQL Server còn rất phổ biến ở nước ta, chương trình chínhxác và thân thiện với sử dụng

5

CẤU TRÚC VẬT LÝ CỦA MỘT SQL SERVER DATABASE :

Mỗi một database trong SQL Server đều chứa ít nhất một data filechính(primary), có thể thêm một hay nhiều data file phụ(Secondary) và mộttransaction log file

• Primary data file (thường có phần mở rộng mdf): đây là filechính chứa data và những system table

• Secondary data file(thường có phần mở rộng ndf): đây là filephụ thường chỉ sử dụng khi database được phân chia để chứatrên nhiều đĩa

• Transaction log file(thường có phần mở rộng ldf): đây là fileghi lại tất cả những thay đổi diễn ra trong một database và chứađầy đủ thông tin để có thể roll back hay roll forward khi cần Data trong SQL Server được chứa thành từng Page 8KB và 8 page liêntục tạo thành một Extent như:

Trang 19

Trước khi SQL Server muốn lưu data vào một table nó cần phải dànhriêng một khoảng trống trong data file cho table đó Những khoảng trống đóchính là các extents Có 2 loại Extents: Mixed Extents (loại hỗn hợp) dùngđể chứa data của nhiều tables trong cùng một Extent và Uniform Exten (loạithuần nhất) dùng để chứa data của một table Đầu tiên SQL Server dànhcác Page trong Mixed Extent để chứa data cho một table sau đó khi datatăng trưởng thì SQL dành hẳn một Uniform Extent cho table đó.

6 NGUYÊN TẮC HOẠT ĐỘNG CỦA TRANSACTION LOG TRONG SQL SERVER :

Transaction log file trong SQL Server dùng để ghi lại các thay đổi xảy ratrong database Quá trình này diễn ra: đầu tiên khi có một sự thay đổi datanhư Insert, Update, Delete được yêu cầu từ các ứng dụng, SQL Server sẽ tảidata page tương ứng trên memory (vùng bộ nhớ này gọi là data cache), sauđó data trong data cache được thay đổi ( những trang bị thay đổi còn gọi là

dirty-pagr).Tiếp theo sự thay đổi đều được ghi vào transaction log file cho

Trang 20

nên gọi là Write-ahead log Cuối cùng thì một quá trình gọi là Check Point

Process sẽ kiểm tra và viết tất cả những transaction đã được commited(hoàn tất) vào đĩa cứng

7 CHIẾN LƯỢC SAO LƯU VÀ PHỤC HỒI DỮ LIỆU :

Có một điều mà chúng ta phải chú ý là hầu như bất kỳ database nàocũng cần được sao lưu và phục hồi Là một người Database Administratorcần phải giảm tối đa số lần phục hồi dữ liệu, luôn theo dõi, và kiểm trathường xuyên để phát hiện các trục trặc trước khi xảy ra Phải dự phòng cácbiến cố có thể xảy ra và đảm bảo rằng có thể nhanh chóng phục hồi dữ liệutrong thời gian sớm nhất có thể được

Các dạng biến cố hay tai hoạ có thể xảy ra là:

• Đĩa chứa data file hay Transaction Log File hay System file bị

mất

• Server bị hư hỏng

• Những thảm hoạ tự nhiên như bão lụt, động đất, hỏa hoạn

• Toàn bộ server bị đánh cắp

Trang 21

• Những lỗi vô ý của user như lỡ tay delete toàn bộ table chẳng

hạn

• Bị hacker (nếu server có kết nối với internet)

Cơ chế backup database:

Để có thể hiểu các kiểu phục hồi dữ liệu khác nhau chúng ta phải biết cácloại backup trong SQL Server

- Full Databse Backups : Copy tất cả data files trong một database

Tất cả những user data và database objects như tables, indexes,user-defined table đều được backup

- Differentinal Database Backups : Copy những thay đổi trong tất

cả data files kể từ lần backup gần nhất

- File Group backup : Copy một data file đơn hay một file group

- Transaction Log backup : Ghi nhận một cách thứ tự tất cả các

transactions chứa trong transaction log file kể từ lần transactionlog backup gần nhất Loại backup này cho phép ta phục hồi dữliệu trở ngược lại vào một thời điểm nào đó trong quá khứ màvẫn đảm bảo tính đồng nhất

Cơ chế Restore database:

Trước khi Restore database ta phải xác định được thứ tự file cần Restore.Các thông tin này được SQL Server chứa trong msdb database và sẽ cho tabiết backup device nào, ai backup vào thời điểm nào Sau đó tiến hành

Restore Để Restore ta phải Right-click -> All Tasks -> Restore database…

Nếu Restore từ một instance khác của SQL Server hay từ một server khác

ta chọn From device option và chọn backup device (file backup) tương ứng

8 QUYỀN TRUY CẬP :

Đây là những lệnh quản lý các quyền truy cập lên từng object (table,view, stored procedure…) Thường có dạng sau:

♦ Grant

♦ Revoke

♦ Deny

Trang 22

II CÁC LỆNH SQL VÀ TRIGGER:

1 CÁC CÂU LỆNH DÙNG TRONG SQL SERVER :

1) Các câu lệnh DDL (Data Definition Language) :

Những lệnh dùng để quản lý các thuộc tính của một database nhưđịnh nghĩa các hàng hoặc cột của một table, hay vị trí data file của mộtdatabase thường có dạng

Lệnh Drop xoá hoàn toàn databse, table, view, stored procedure…

2) Các câu lệnh DML (Data Manipulation Language)

Cho phép người dùng truy vấn và thay đổi dữ liệu như lệnh :SELECT, INSERT, UPDATE, DELETE

3) Views

Định nghĩa một cách đơn giản thì View trong SQL Server tương tựnhư Query trong Access database View có thể xem như là một table ảomà data của nó được select từ một stored query Đối với người lập trìnhthì view không khác chi so với table và có thể đặt ở vị trí của table trongcác câu lệnh SQL Đặc điểm của View là ta có thể kết nối dữ liệu từnhiều table và trả về một recordset đơn

Nói chung câu lệnh SQL trong View có thể từ rất đơn giản như selecttoàn bộ data từ một table cho đến rất phức tạp với nhiều tính năng lậptrình của T-SQL

4) Các thành phần khác :

 Biến cục bộ : tồn tại trong chính đơn thể chương trình mà nó khaibáo Ký hiệu bằng dấu “@”

 Khai báo : DECLARE @varname type

 Gán trị ban đầu : SET @varname=expression

 Có thể dùng biến cục bộ trong câu SELECT

SELECT @varname=fieldvalue FROM table_name

 Biến toàn cục : Ký hiệu bằng hai dấu “@@”, như

@@FETCH_STATUS

Trang 23

2 TRIGGERS :

1) Khái niệm :

Trigger là một loại stored procedure đặc biệt được tự động thực hiệnnhư là thành phần của câu lệnh thay đổi data Trigger được tạo trên mộtbảng và kết hợp với các hành động cập nhật data (insert, update, ordelete) Khi một trong những hành động này xuất hiện thì trigger tựđộng kích hoạt Trigger dùng để cài đặt cho các ràng buộc toàn vẹn.2) Đặc điểm của Trigger :

• Một trigger có thể làm nhiều công việc khác nhau và có thểđược kích hoạt bởi nhiều hơn một event nào như Update, Inserthay Delete và bên trong trigger ta sẽ viết code để giải quyếtcho từng trường hợp

• Trigger không thể được tạo ra trên temporary hay systemtable

• Trigger chỉ có thể được kích hoạt một cách tự động bởi mộttrong các event Insert, Update, Delete mà không thể chạymanually được

• Có thể áp dụng trigger cho View

• Khi một trigger được kích hoạt thì data mới vừa được inserthay vừa mới được thay đổi sẽ được chứa trong Inserted tablecòn data mới vừa được delete được chứa trong Deleted table.Đây là 2 table tạm chỉ chứa trên memory và chỉ có giá trị bêntrong trigger mà thôi ( nghĩa là chỉ nhìn thấy và được querytrong trigger mà thôi) Ta có thể dùng thông tin trong 2 tablenày để so sánh data cũ và mới hoặc kiểm tra xem data mớivừa thay đổi có hợp lê trước khi commit hay roll back

FOR {INSERT | UPDATE | DELETE [, ]}

AS Các câu lệnh sql

[RETURN]

Như vậy khi ta tạo ra một trigger ta phải chỉ rõ là tạo ra triggertrên table nào và được trigger khi nào Insert, Update hay Delete.Sau chử AS là các câu lệnh SQL xử lý công việc

Trang 24

 Bảng Inserted và Deleted:

Bảng Inserted và Deleted thật sự là hai vùng nhìn (view) củamột nhật ký giao tác (transaction log) mà có cấu trúc giống nhưbảng mà trigger được tạo

Khi câu lệnh này thực hiện thì một bản sao của các dòng đãđược sửa đổi được lưu vào trong nhật ký cùng với một bản sao cácdòng sau khi thay đổi Những bản sao này luôn có sẵn cho mộttrigger dưới dạng bảng deleted và inserted

 Hàm Update():

Hàm này chỉ có trong trigger với hành động insert hoặc delete.Nó cho phép một trigger xác định liệu một cột đã có thay đổi bởicâu lệnh insert hoặc update hay chưa Bằng cách kiểm tra như thếnày mà trigger tránh được việc thực hiện tác vụ không cần thiết.4) Xoá, thay thế trigger

 Trigger không cho sữa đổi vì thế chúng ta phải xoá một đối tượngtrước khi tạo ra một trigger khác có cùng tên, để xoá triggerchúng ta sử dụng câu lệnh :

DROP TRIGGER trigger_nameTrigger sẽ được xoá tự động khi bảng mà nó tham chiếu bị xoá

 Chúng ta không cần phải xóa trigger để thay thế nó, để thay thếmột trigger cho một tác động trên bảng thì cần phải tạo mớitrigger với một tên khác Trigger củ sẽ bị thay thế bởi trigger mớivà nếu nó không còn có trách nhiệm cho bất kỳ tác động nào nữatrên bảng thì nó sẽ tự động xoá

III STORED PROCEDURES :

2 TẠI SAO PHẢI DÙNG STORED PROCEDURE? :

Stored procedure cung cấp cho các ứng dụng cơ sở dữ liệu nhiều điểmthuận lợi qua việc thực thi các xử lý bó (batch) với các câu lệnh SQL lớn vàphức tạp ngay tại Database Server:

Trang 25

 Thực thi nhanh Sau lần chạy đầu tiên, Stored procedures được lưutrong bộ nhớ do đó chúng không cần phải được phân tích lại, tối

ưu hóa lại và biên dịch cho các lần gọi chúng sau đó

 Giảm thông xuất lưu thông trên mạng Stored procedures có thểbao gồm hàng trăm các câu lệnh SQL khác nhau, nhưng có thểthực thi chỉ với một câu lệnh duy nhất Điều này cho phép giảmkích thước các lời gọi từ Client đến Server

 Lập trình module Procedures cung cấp một phương pháp để cắtcác đoạn mã SQL dài dòng thành những đoạn mã ngắn gọn để dễquản lý hơn

3 CƠ CHẾ THỰC THI STORED PROCEDURES :

Stored Procedures làm cho toàn bộ hệ thống ứng dụng có hiệu suất cao

vì các câu lệnh trong Stored Procedures chỉ được biên dịch và tối ưu một lầnvà được lưu trữ trong Database Server nên sự lưu thông trên mạng giảm.Khi Stored Procedures được thi hành lần đầu tiên thì Server phải có nhiệmvụ tối ưu và biên dịch nó Sơ đồ tối ưu và biên dịch đó thì được lưu trong bộnhớ cache và do đó nó luôn luôn ở trạng thái sẵn sàng khi có một lời gọiđến nó vào những lần sau

1 Định vị Stored Procedures trên đĩa

và nạp vào bộ nhớ cache

1 Định vị Stored Procedures trongcache

2 Thay thế các giá trị cho tham số 2 Thay thế các giá trị cho tham số

3 Phát triển sơ đồ tối ưu

4 Biên dịch sơ đồ tối ưu

5 Thi hành từ cache 3 Thi hành từ cache

4 TẠO STORED PROCEDURES :

Để viết một Stored Procedures, ta cần phải cung cấp một StoredProcedures với tên duy nhất và sau đó là các câu lệnh SQL

Cú pháp tổng quát:

CREATE PROC[EDURE]procedure_name [(parameter1,parameter2,…)]

Trang 26

AS

Các câu lệnh SQL

[return[mã trạng thái]]

Các mã lệnh trong cặp dấu [] là tùy chọn (option) Tuy nhiên để cóphong cách lập trình tốt ta nên có câu lệnh return kết thúc StoredProcedures

Cú pháp tổng quát để thi hành procedure:

 Mã trạng thái (status code) SQL Server cung cấp bảng mã trạng tháisao cho người dùng xử lý lỗi trong stong ored procedure

Mã trạng thái Ý nghĩa

-1 Thiếu đối tượng tham chiếu

-2 Lỗi do sai phạm kiểu dữ liệu

-4 Lỗi không được cho phép truy cập do bảo mật hoặc

không có quyền

-6 Lỗi do người dùng pha tạp (tự chế ra như

user-defined datatype)-7 Lỗi tài nguyên như hết bộ nhớ

-8 Các rối rắm bên trong hệ thống nhưng chưa có

nguy hiểm (bug)

Trang 27

-9 Hệ thống hạn chế truy cập tới

-10 Lỗi bên trong hệ thống, nguy hiểm (bug)

-11 Lỗi bên trong hệ thống, nguy hiểm (bug)

-12 Bảng hoặc chỉ mục (index) bị hư hỏng

-13 Cơ sở dữ liệu bị hư

5 CURSORS TRONG STORED PROCEDURE :

Ta có thể khai báo cursors trong Stored Procedures (các cursors nàyđược gọi là server cursor) Khi một Stored Procedures trả giá trị về (kếtthúc) thì cursor tự động bị huỷ Trong hình minh họa, nếu Stored Proceduresđược lồng nhau thì chúng có thể truy cập các cursors được khai báo trongStored Procedures ở cấp cao hơn

return

Trang 28

Database

 Tại sao lại dùng cursor ?

Phần lớn các ứng dụng cơ sở dữ liệu, các lệnh SQL khả thi hànhthường trả về nhiều hơn một dòng (record) cho nên các ứng dụng cầncursor

 Cách dùng các câu lệnh thao tác cursor

 Khai báo cursor :

Declare tên_cursor CURSORFOR câu_lệnh_select [For Update[Delete] OF tên_field ]

Data21 Data22

Data31 Data32

Cập nhật bảng với cursor :

UPDATE tên_bảng SET field1 = value1,

field2 = value 2, …

WHERE CURRENT OF tên_cursor

Xóa các trường hợp trong cursor hiện hành :

DELETE [FROM] tên_bảng WHERE CURRENT OF tên_cursorĐóng cursor :

CLOSE tên_cursor

Hủy cursor :

DEALLOCATE tên_cursor

Fetch

Trang 29

Chú thích :

@@FETCH_STATUS là một biến toàn cục của SQL Server cócác giá trị sau :

0 Lệnh FETCH đã thành công-1 Lệnh FETCH thực hiện thất bại-2 Hàng được FETCH có lỗi

Trang 30

PHẦN 4 : KHẢO SÁT – PHÂN TÍCH – THIẾT KẾ

CÀI ĐẶT HỆ THỐNG

I KHẢO SÁT :

1 HIỆN TRẠNG :

Một công ty du lịch cần quản lý tour du lịch Hệ thống này gồm có :Một khách hàng khi tham gia vào hệ thống thì có thể tham quan các địađiểm du lịch Khách hàng có thể chọn tên tour,chương trình của tour,ngàykhởi hành,sốngày ,số đêm,số lượng khách.Mỗi tour có thể di chuyển bằngnhiều phương tiện Các loại phương tiện gồm có ba loại chính gồm xe ,tàulửa, máy bay Mỗi tour có thể được nghỉ ngơi tại một hay nhiều kháchsạn Khách hàng có thể chọn các loại hình du lịch khác nhau như : du lịchsinh thái , du lịch tìm hiểu , du lịch dã ngoại

Khi khách hàng đăng ký tour thì phải nhập thông tin về khách hàng Kháchhàng đến thanh toán tại công ty

Nhân viên của công ty chia làm ba loại :nhân viên thường , nhân viên quảntrị ,nhân viên là giám đốc Một nhân viên khi đăng nhập vào hệ thống vớiusername và password sẽ có các chức năng khác nhau Đối với nhân viênthường thì có chức năng xem thông tin về các tour Đối với nhân viên quảntrị thì có chức năng nhập , xem , xóa , sửa các tour đồng thời cũng có chứcnăng nhập thêm nhân viên mới Đối với nhân viên là ban giám đốc thì cóchức năng xem thống kê doanh thu và xem thông tin về nhân viên của mình

2 NỘI DUNG :

Các công việc trong quản lý tour du lịch :

- Thiết kế tour

- Lập hóa đơn

- Cho khách hàng đăng ký tour

- Thống kê tour theo định kỳ

• Thống kê doanh thu theo quý

• Thống kê doanh thu theo năm

• Thống kê doanh thu theo tour

3 MÔ TẢ YÊU CẦU :

a) CẬP NHẬT THÔNG TIN :

- Thêm , xóa , sửa tour một cách dễ dàng nhanh chóng

- Thêm , xóa , sửa địa điểm một cách dễ dàng nhanh chóng

- Thêm , xóa , sửa khách sạn một cách dễ dàng nhanh chóng

Trang 31

- Thêm , xóa , sửa phương tiện một cách dễ dàng nhanh

chóng

- Thêm , xóa , sửa nhân viên một cách dễ dàng nhanh chóng

b) TÌM KIẾM THÔNG TIN :

- Tìm kiếm tour theo tên tour ,ngày khởi hành … một cách

c) THỐNG KÊ THÔNG TIN :

- Thống kê tour theo tên tour ,loại hình tour du lịch

- Thống kê doanh thu của tour theo định kỳ

- Thống kê doanh thu theo quý

- Thống kê doanh thu theo năm

- Tham quan các địa điểm du lịch

- Đăng ký tour du lịch được hiển thị sẳn

- Xem các phương tiện ,khách sạn

- Xem danh sách phiếu đăng ký

Nhân viên :

Có các chức năng cũng như quyền thao tác đối với hệ thống quản lý tour dulịch qua Web Browser như sau :

- Thay đổi mật khẩu

- Xem thông tin các tour

a) Đối với nhân viên thường :

- Xem thông tin cá nhân của các nhân viên khác

- Lập hóa đơn cho tourb) Đối với nhân viên quản trị hệ thống :

- Thêm ,xóa ,sửa nhân viên khác

- Thêm ,xóa ,sửa nội dung và các thông tin liên quan đến

tour

c) Đối với nhân viên là ban giám đốc :

Trang 32

- Xem bảng thống kê theo định kỳ.

- Xem thông tin các nhân viên

2 SƠ ĐỒ CHỨC NĂNG CỦA CÁC ĐỐI TƯỢNG : a) KHÁCH HÀNG :

b) NHÂN VIÊN :

Trang 33

3 MÔ HÌNH QUAN NIỆM XỬ LÝ : a) Sơ đồ ngữ cảnh :

b) Sơ đồ phân rã chức năng :

- Mức 0 :

Trang 34

- Mức 0 :

- Mức 1 :

Trang 35

- Mức 1 :

- Mức 1 :

Trang 36

- Mức 1 :

d) Sơ đồ thực thể kết hợp (ERD):

Trang 37

4 Xác định thực thể và quan hệ :

a) Phân loại các thực thể và thuộc tính :

 Thực thể Khách hàng :

Khách hàng là một thực thể trong đó bao gồm các thông tin Tên thực thể : KHÁCH HÀNG

Tên viết tắt : KHACHHANG

Các thuộc tính của thực thể :

KHACHHANG(MAKH , HOTENKH , PASSWORD , DIACHI ,

DIENTHOAI , EMAIL)Mỗi khách hàng được quản lý theo mã khách hàng Mã kháchhàng là duy nhất , vì vậy ta chọn mã khách hàng làm khóa chính Khi có thay đổi về khách hàng thì sẽ cập nhật và lưu lại nhữngthuộc tính trên

 Thực thể Nhân viên :

Nhân viên là một thực thể trong đó bao gồm các thông tin

Tên thực thể : NHÂN VIÊN

Tên viết tắt : NHANVIEN

Các thuộc tính của thực thể :

NHANVIEN(MANV , HOTENNV , PASSWORD , DIACHI ,

DIENTHOAI , LOAINV)

Trang 38

Mỗi nhân viên được quản lý theo mã nhân viên Mã nhân viên làduy nhất , vì vậy ta chọn mã nhân viên là khóa chính Khi có thayđổi về nhân viên thì sẽ cập nhật và lưu lại những thuộc tính trên

 Thực thể Phương tiện :

Phương tiện là một thực thể trong đó bao gồm các thông tin

Tên thực thể : PHƯƠNG TIỆN

Tên viết tắt : PHUONGTIEN

Các thuộc tính của thực thể :

PHUONGTIEN(MAPT , TENPT)

Mỗi phương tiện được quản lý theo mã phương tiện Mã phươngtiện là duy nhất , vì vậy ta chọn mã phương tiện là khóa chính Khi có sự thay đổi về phương tiện thì sẽ cập nhật và lưu lại nhữngthuộc tính trên

 Thực thể Khách sạn :

Khách sạn là một thực thể trong đó bao gồm các thông tin

Tên thực thể : KHÁCH SẠN

Tên viết tắt : KHACHSAN

Các thuộc tính của thực thể :

KHACHSAN(MAKS , TENKS , DIACHI , DIENTHOAI)

Mỗi khách sạn được quản lý theo mã khách sạn Mã khách sạnlà duy nhất , vì vậy ta chọn mã khách sạn là khóa chính Khi cósự thay đổi về khách sạn thì sẽ cập nhật và lưu lại những thuộctính trên

 Thực thể Tour :

Tour là một thực thể trong đó bao gồm các thông tin

Tên thực thể : TOUR

Tên viết tắt : TOUR

Các thuộc tính của thực thể :

TOUR(MATOUR , TENTOUR , LOAITOUR , CHUONGTRINH ,

SONGAY , SODEM , GIA)Mỗi tour quản lý theo mã tour Mã tour là duy nhất , vì vậy ta mãtour là khóa chính Khi có sự thay đổi về tour thì sẽ cập nhật vàlưu lại những thuộc tính trên

 Thực thể Chuyến đi :

Chuyến đi là một thực thể trong đó bao gồm các thông tin

Tên thưcï thể : CHUYẾN ĐI

Tên viết tắt : CHUYENDI

Các thuộc tính của thực thể :

Trang 39

CHUYENDI(MACD , TENCD , NGAYKHOIHANH , MATOUR ,

MANV)Mỗi chuyến đi quản lý theo mã chuyến đi Mã chuyến đi là duynhất , vì vậy ta chọn mã chuyến đi làm khóa chính Khi có sựthay đổi về chuyến đi thì sẽ cập nhật và lưu lại những thuộc tínhtrên

 Thực thể Hóa đơn :

Hóa đơn là một thực thể trong đó bao gồm các thông tin

Tên thực thể : HÓA ĐƠN

Tên viết tắt : HOADON

Các thuộc tính của thực thể :

HOADON(MAHD , NGAYLAP , MAPDK)

Mỗi hóa đơn quản lý theo mã hóa đơn Mã hóa đơn là duy nhất ,

vì vậy ta chọn mã hóa đơn làm khóa chính Khi có sự thay đổi vềhóa đơn thì sẽ cập nhật và lưu lại những thuộc tính trên

 Thực thể Phiếu đăng ký :

Phiếu đăng ký là một thực thể trong đó bao gồm các thông tin Tên thực thể : PHIẾU ĐĂNG KÝ

Tên viết tắt : PHIEUDANGKY

Các thuộc tính của thực thể :

PHIEUDANGKY(MAPDK , NGAYLAP , SOKHACH , MAKH ,

MACD)Mỗi phiếu đăng ký quản lý theo mã phiếu Mã phiếu là duynhất , vì vậy ta chọn mã phiếu đăng ký làm khóa chính Khi có sựthay đổi về phiếuđăng ký thì sẽ cập nhật và lưu lại những thuộctính trên

 Thực thể Địa điểm :

Địa điểm là một thực thể trong đó bao gồm các thông tin

Tên thực thể : ĐỊA ĐIỂM

Tên viết tắt : DIADIEM

Các thuộc tính của thực thể :

DIADIEM(MADD , TENDD)

Mỗi địa điểm quản lý theo mã địa điểm Mã địa điểm là duy nhất, vì vậy ta chọn mã địa điểm làm khóa chính Khi có sự thay đổivề địa điểm thì sẽ cập nhật và lưu lại những thuộc tính trên

 Thực thể Phiếu góp ý :

Phiếu góp ý là một thực thể trong đó bao gồm các thông tin

Tên thực thể : PHIẾU GÓP Ý

Trang 40

Tên viết tắt : PHIEUGOPY

Các thuộc tính của thực thể :

PHIEUGOPY(MAPGY , MAKH , NGAY , NOIDUNG)

Mỗi phiếu góp ý quản lý theo mã phiếu góp ý Mã phiếu góp ýlà duy nhất , vì vậy ta mã phiếu góp ý làm khóa chính Khi có sựthay đổi về phiếu góp ý thì sẽ cập nhật và lưu lại những thuộc tínhtrên

b) Xác định các quan hệ :

Để xây dựng một cơ sở dữ liệu thì các thực thể này phải được kết nốichặt chẽ với nhau tạo thành một hệ thống thông tin liên quan

_ Thực thể TOUR và CHUYENDI :

Xét hai tập thực thể trên ta thấy mỗi tour sẽ có một hay nhiềuchuyến đi và mỗi chuyến đi chỉ thuộc một tour duy nhất Như vậyvới hai tập thực thể trên sẽ có sự liên kết với nhau theo quan hệ Một– Nhiều

_ Thực thể TOUR và DIADIEM :

Xét hai tập thực thể trên ta thấy mỗi tour sẽ tham quan một haynhiều địa điểm và mỗi địa điểm sẽ có nhiều tour tham quan Nhưvậy với hai tập thực thể trên sẽ có sự liên kết với nhau theo quan hệNhiều – Nhiều

_ Thực thể KHACHHANG và PHIEUDANGKY :

Xét hai tập thực thể trên ta thấy mỗi khách hàng sẽ có một hay nhiềuphiếu đăng ký và mỗi phiếu đăng ký chỉ thuộc một khách hàng duy

Ngày đăng: 17/02/2014, 22:27

HÌNH ẢNH LIÊN QUAN

3. ĐỐI TƯỢNG SERVER: - quản lý tour du lịch
3. ĐỐI TƯỢNG SERVER: (Trang 10)
như IP address hay HTTP protocol, ... Cookies (dưới hình thức 1 tập tin) chứa thơng tin cần thiết ở chính máy vi tính của user (Client's computer). - quản lý tour du lịch
nh ư IP address hay HTTP protocol, ... Cookies (dưới hình thức 1 tập tin) chứa thơng tin cần thiết ở chính máy vi tính của user (Client's computer) (Trang 10)
 Mã trạng thái (status code). SQLServer cung cấp bảng mã trạng thái sao cho người dùng xử lý lỗi trong stong  ored procedure - quản lý tour du lịch
tr ạng thái (status code). SQLServer cung cấp bảng mã trạng thái sao cho người dùng xử lý lỗi trong stong ored procedure (Trang 26)
Cập nhật bảng với curso r: - quản lý tour du lịch
p nhật bảng với curso r: (Trang 28)
- Xem bảng thống kê theo định kỳ. -Xem thông tin các nhân viên. - quản lý tour du lịch
em bảng thống kê theo định kỳ. -Xem thông tin các nhân viên (Trang 32)
3. MƠ HÌNH QUAN NIỆM XỬ LÝ : a)Sơ đồ ngữ cảnh :a)Sơ đồ ngữ cảnh : - quản lý tour du lịch
3. MƠ HÌNH QUAN NIỆM XỬ LÝ : a)Sơ đồ ngữ cảnh :a)Sơ đồ ngữ cảnh : (Trang 33)
3. MƠ HÌNH QUAN NIỆM XỬ LÝ : a)Sơ đồ ngữ cảnh :a)Sơ đồ ngữ cảnh : - quản lý tour du lịch
3. MƠ HÌNH QUAN NIỆM XỬ LÝ : a)Sơ đồ ngữ cảnh :a)Sơ đồ ngữ cảnh : (Trang 33)
 Bảng KHACHSA N: - quản lý tour du lịch
ng KHACHSA N: (Trang 42)
 Bảng NHANVIE N: - quản lý tour du lịch
ng NHANVIE N: (Trang 42)
 Bảng PHIEUDANGKY: - quản lý tour du lịch
ng PHIEUDANGKY: (Trang 43)
 Bảng CHUYENDI : - quản lý tour du lịch
ng CHUYENDI : (Trang 43)
 Bảng DIADIEMDE N: - quản lý tour du lịch
ng DIADIEMDE N: (Trang 44)
 Bảng HOADO N: - quản lý tour du lịch
ng HOADO N: (Trang 44)
 Bảng TOU R: - quản lý tour du lịch
ng TOU R: (Trang 45)
 Bảng KHACHHAN G: - quản lý tour du lịch
ng KHACHHAN G: (Trang 45)
 Bảng PHUONGTIE N: - quản lý tour du lịch
ng PHUONGTIE N: (Trang 46)
 Bảng PHIEUGOP Y: - quản lý tour du lịch
ng PHIEUGOP Y: (Trang 46)
1. MÔ HÌNH QUAN NIỆM DỮ LIỆU: - quản lý tour du lịch
1. MÔ HÌNH QUAN NIỆM DỮ LIỆU: (Trang 59)
lên màn hình - quản lý tour du lịch
l ên màn hình (Trang 70)
b) Một số màn hình giao diệ n: - quản lý tour du lịch
b Một số màn hình giao diệ n: (Trang 72)
Hình thức trình bày : - quản lý tour du lịch
Hình th ức trình bày : (Trang 74)
Hình thức trình bày : - quản lý tour du lịch
Hình th ức trình bày : (Trang 75)
• Màn hình giới thiệu các chức năng của nhân viên: - quản lý tour du lịch
n hình giới thiệu các chức năng của nhân viên: (Trang 76)
• Màn hình khách hàng nhập phiếuđăng ký: - quản lý tour du lịch
n hình khách hàng nhập phiếuđăng ký: (Trang 77)
• Màn hình nhân viên đăng nhập: - quản lý tour du lịch
n hình nhân viên đăng nhập: (Trang 78)
• Màn hình nhân viên thay đổi password: - quản lý tour du lịch
n hình nhân viên thay đổi password: (Trang 79)
• Màn hình nhân viên lập hóa đơn: - quản lý tour du lịch
n hình nhân viên lập hóa đơn: (Trang 80)
• Màn hình xem danh sách nhân viên: - quản lý tour du lịch
n hình xem danh sách nhân viên: (Trang 81)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w