Thiết kế vật lý ngoài

Một phần của tài liệu Xây dựng Website HTTT quản lý khách sạn Công Đoàn (Trang 30 - 44)

III. PHÂN TÍCH THIẾT KẾ MỘT HỆ THỐNG THễNG TIN QUẢN Lí

5. Thiết kế vật lý ngoài

Giai đoạn này được tiến hành sau khi một phương ỏn giải phỏp được lựa chọn.Thiết kế vật lý bao gồm hai tài liệu kết quả cần cú: Trước hết đú là một tài liệu bao chứa tất cả cỏc đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kỹ thuật; và tiếp đú là tài liệu dành cho người sử dụng và nú mụ tả cả phần thủ cụng và cả những giao diện với phần tin học húa. Những cụng đoạn chớnh của thiết kế vật lý ngoài là:

- Lập kế hoạch thiết kế vật lý ngoài :

Giai đoạn này phõn tớch viờn phải lựa chọn phương tiện, khuụn dạng của cỏc dũng vào/ ra, xỏc định cỏch thức hội thoại với phần tin học hoỏ vủa hệ thống và cỏch thức thực hiện cỏc thủ tục thủ cụng. Phõn bố thời gian và danh mục cỏc sản phẩm. éú chớnh là việc lập kế hoạch cho giai đoạn này.

- Thiết kế chi tiết cỏc giao diện vào ra :

Cụng đoạn này nhằm thiết kế khuụn dạng trỡnh bày của cỏc đầu ra và thể thức nhập tin cho người sử dụng. Cụng việc này rất quan trọng trờn thực tế, vỡ những nhận xột đỏnh giỏ về hệ thống thụng tin của người sử dụng là dựa vào những yếu tố vào/ra này. Họ cú thể từ chối sử dụng vố những yếu kộm ở đõy cho dự hệ thống thụng tin được đỏnh giỏ tốt ở những khớa cạnh

khỏc. Khuụn dạng vào/ ra khụng những đẹp, hợp lý mà cũn phải giỳp người sử dụng thực hiện tốt hơn, dể dàng hơn cụng việc của họ.

- Thiết kế cỏch thức tương tỏc với phần tin học hoỏ :

Cú rất nhiều cụng việc khỏc nhau phải làm của một hệ thống thụng tin như: cập nhật, in ấn bỏo cỏo, tra cứu sơ sở dữ liệu, sao chộp đảm bảo an toàn dữ liệu... Qua cỏc giao tỏc người mỏy mà thao tỏc viờn chỉ cho hệ thống biết phải làm gỡ và kiểm soỏt trật tự hiện thụng tin ra trờn màn hỡnh và sản sinh cỏc thụng tin đầu ra.Vỡ vậy, hội thoại người mỏy phải được thiết kế cẩn thận, tạo điều kiện thuận lợi cho người sử dụng. Cú 4 cỏch để thực hiện việc tương tỏc với hệ thống tin học hoỏ. Thiết kế viờn cần phải biết và kết hợp tốt 4 cỏch này để tạo ra được những giao tỏc chuẩn cho hệ thống thụng tin tin học hoỏ.

+ Giao tỏc bằng tập hợp lệnh

+ Giao tỏc bằng cỏc phớm trờn bàn phớm + Giao tỏc qua thực đơn

+ Giao tỏc dựa vào cỏc biểu tượng + Thiết kế cỏc thủ tục thủ cụng.

+ Chuẩn bị và trỡnh bày bỏo cỏo về thiết kế vật lý ngoài.

IV. TỔNG QUAN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER 2000

1. Giới thiệu chung về SQL Server 2000

Vào năm 1980, Microsoft và cỏc thành viờn của nhúm Sybase đó sỏng tạo ra một ngụn ngữ RDBMS rất linh hoạt được gọi là 'SQL Server'. Sau đú phỏt hành ver SQL Server 6.5. Phiờn bản mới nhất hiện nay và vẫn được sử dụng phổ biến nhất đú chớnh là SQL Server 2000.

SQL Server 2000 là một hệ quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao 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 2000 được tối ưu để cú thể chạy trờn mụi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lờn đến Tera-Byte và cú thể phục vụ cựng lỳc cho hàng ngàn user. SQL Server 2000 cú thể kết hợp "ăn ý" với cỏc server khỏc như Microsoft Internet Information Server (IIS), E- Commerce Server, Proxy Server....

SQL Server cú 7 editions:

- Enterprise : Chứa đầy đủ cỏc đặc trưng của SQL Server và cú thể chạy tốt trờn hệ thống lờn đến 32 CPUs và 64 GB RAM. Thờm vào đú nú cú cỏc dịch vụ giỳp cho việc phõn tớch dữ liệu rất hiệu quả (Analysis Services)

- Standard : Rất thớch hợp cho cỏc cụng ty vừa và nhỏ vỡ giỏ thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khỏc, edition này cú thể chạy tốt trờn hệ thống lờn đến 4 CPU và 2 GB RAM.

- Personal: được tối ưu húa để chạy trờn PC nờn cú thể cài đặt trờn hầu hết cỏc phiờn bản windows kể cả Windows 98.

- Developer : Cú đầy đủ cỏc tớnh năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cựng một lỳc.... éõy là edition mà cỏc bạn muốn học SQL Server cần cú. Chỳng ta sẽ dựng edition này trong suốt khúa học. Edition này cú thể cài trờn Windows 2000 Professional hay Win NT Workstation.

- Desktop Engine (MSDE): éõy chỉ là một engine chạy trờn desktop và khụng cú user interface (giao diện). Thớch hợp cho việc triển khai ứng dụng ở mỏy client. Kớch thước database bị giới hạn khoảng 2 GB.

- Win CE : Dựng cho cỏc ứng dụng chạy trờn Windows CE

- Trial: Cú cỏc tớnh năng của Enterprise Edition, download free, nhưng giới hạn thời gian sử dụng.

Cỏc thành phần quan trọng trong SQL Server 2000

SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và English Query.... Cỏc thành phần này khi phối hợp với nhau tạo thành một giải phỏp hoàn chỉnh giỳp cho việc lưu trữ và phõn tớch dữ liệu một cỏch dễ dàng.

Relational Database Engine - Cỏi lừi của SQL Server

éõy là một engine cú khả năng chứa data ở cỏc quy mụ khỏc nhau dưới dạng table và support tất cả cỏc kiểu kết nối (data connection) thụng dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Ngoài ra nú cũn cú khả năng tự điều chỉnh (tune up) vớ dụ như sử dụng thờm cỏc tài nguyờn (resource) của mỏy khi cần và trả lại tài nguyờn cho hệ điều hành khi một user log off.

Replication - Cơ chế tạo bản sao (Replica)

Giả sử bạn cú một database dựng để chứa dữ liệu được cỏc ứng dụng thường xuyờn cập nhật. Một ngày đẹp trời bạn muốn cú một cỏi database giống y hệt như thế trờn một server khỏc để chạy bỏo cỏo (report database) (cỏch làm này thường dựng để trỏnh ảnh hưởng đến performance của server chớnh). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyờn để đảm bảo tớnh chớnh xỏc của cỏc bỏo cỏo. Bạn khụng thể dựng cơ

chế back up and restore trong trường hợp này. Thế thỡ bạn phải làm sao? Lỳc đú cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized).

Data Transformation Service (DTS) - Một dịch vụ chuyển dịch data vụ cựng hiệu quả

Nếu bạn làm việc trong một cụng ty lớn trong đú data được chứa trong nhiều nơi khỏc nhau và ở cỏc dạng khỏc nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access....Bạn chắc chắn sẽ cú nhu cầu di chuyển data giữa cỏc server này (migrate hay transfer) và khụng chỉ di chuyển bạn cũn muốn định dạng (format) nú trước khi lưu vào database khỏc, khi đú bạn sẽ thấy DTS giỳp bạn giải quyết cụng việc trờn dễ dàng như thế nào.

Analysis Service

Một dịch vụ phõn tớch dữ liệu rất hay của Microsoft. Dữ liệu (Data) chứa trong database sẽ chẳng cú ý nghĩa gỡ nhiều nếu như bạn khụng thể lấy được những thụng tin (Information) bổ ớch từ đú. Do đú Microsoft cung cấp cho bạn một cụng cụ rất mạnh giỳp cho việc phõn tớch dữ liệu trở nờn dễ dàng và hiệu quả bằng cỏch dựng khỏi niệm hỡnh khối nhiều chiều (multi- dimension cubes) và kỹ thuật "đào mỏ dữ liệu" (data mining)

English Query

Một dịch vụ mà người Việt Nam chắc là ớt muốn dựng. éõy là một dịch vụ giỳp cho việc query data bằng tiếng Anh "trơn" (plain English).

Meta Data Service

Dịch vụ này giỳp cho việc chứa đựng và "xào nấu" Meta data dễ dàng hơn. Thế thỡ Meta Data là cỏi gỡ vậy? Meta data là những thụng tin mụ tả về cấu trỳc của data trong database như data thuộc loại nào String hay Integer..., một cột nào đú cú phải là Primary key hay khụng....Bởi vỡ những

thụng tin này cũng được chứa trong database nờn cũng là một dạng data nhưng để phõn biệt với data "chớnh thống" người ta gọi nú là Meta Data. Phần này chắc là bạn phải xem thờm trong một thành phần khỏc của SQL Server sắp giới thiệu sau đõy là SQL Server Books Online vỡ khụng cú bài nào trong loạt bài này núi rừ về dịch vụ này cả.

SQL Server Books Online

Cho dự bạn cú đọc cỏc sỏch khỏc nhau dạy về SQL server thỡ bạn cũng sẽ thấy books online này rất hữu dụng và khụng thể thiếu được( cho nờn Microsoft mới hào phúng đớnh kốm theo SQL Server).

SQL Server Tools

éõy là một bộ đồ nghề của người quản trị cơ sở dữ liệu (DBA ). éầu tiờn phải kể đến Enterprise Manager. éõy là một cụng cụ cho ta thấy toàn cảnh hệ thống cơ sở dữ liệu một cỏch rất trực quan. Nú rất hữu ớch đặc biệt cho người mới học và khụng thụng thạo lắm về SQL.

Kế đến là Query Analyzer : éối với một DBA giỏi thỡ hầu như chỉ cần cụng cụ này là cú thể quản lý cả một hệ thống database mà khụng cần đến những thứ khỏc. éõy là một mụi trường làm việc khỏ tốt vỡ ta cú thể đỏnh bất kỳ cõu lệnh SQL nào và chạy ngay lập tức đặc biệt là nú giỳp cho ta debug mấy cỏi stored procedure dễ dàng.

Cụng cụ thứ ba cần phải kể đến là SQL Profiler. Nú cú khả năng "chụp" (capture) tất cả cỏc sự kiện hay hoạt động diễn ra trờn một SQL server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soỏt hoạt động của SQL Server.

Ngoài một số cụng cụ trực quan như trờn chỳng ta cũng thường hay dựng osql và bcp (bulk copy) trong command prompt.

Transact-SQL là ngụn ngữ SQL mở rộng dựa trờn SQL chuẩn của ISO (International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server khỏc với P- SQL (Procedural-SQL) dựng trong Oracle. Chỳng được chia làm 3 nhúm:

2.1 Data Definition Language (DDL):

éõy là 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ột database...thường cú dạng

Create object_Name

Alter object_Name

Drop object_Name

Trong đú object_Name cú thể là một table, view, stored procedure, indexes...

Lệnh Alter sau đõy cho phộp ta thay đổi định nghĩa của một table như thờm(hay bớt) một cột hay một Constraint...Trong vớ dụ này ta sẽ thờm cột Lệnh Drop sau đõy sẽ hoàn toàn xúa table khỏi database nghĩa là cả định nghĩa của table và data bờn trong table đều biến mất (khỏc với lệnh Delete chỉ xúa data nhưng table vẫn tồn tại).

2.2 Data Control Language (DCL)

éõ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 Vớ dụ:

Lệnh sau sẽ cho phộp user trong Public Role được quyền Select đối với table Customer trong database Northwind (Role là một khỏi niệm giống như Windows Group sẽ được bàn kỹ trong phần Security)

USE Northwind GRANT SELECT ON Customers TO PUBLIC

2.3. Manipulation Language (DML)

éõy là những lệnh phổ biến dựng để xử lý data như Select, Update, Insert, Delete

Vớ dụ:

Select

USE Northwind

SELECT CustomerID, CompanyName, ContactName FROM Customers

WHERE (CustomerID = 'alfki' OR CustomerID = 'anatr') ORDER BY ContactName

Insert

USE Northwind

INSERT INTO Territories VALUES (98101, 'Seattle', 2)

3. Cỏc lệnh nõng cao trong SQL Server 2000

Trong phần này chỳng ta sẽ đào sõu một số cõu lệnh nõng cao như SELECT, INSERT...

Cú thể núi hầu như ai cũng biết qua cõu lệnh căn bản kiểu như "SELECT * FROM TABLENAME WHERE..." nhưng cú thể cú nhiều người khụng biết đến những tớnh chất nõng cao của nú.

Cỳ phỏp đầy đủ của một cõu lệnh SELECT rất phức tạp tuy nhiờn ở đõy chỉ trỡnh bày những nột chớnh của lệnh này mà thụi:

SELECT select_list [ INTO new_table ]

FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ]

[ HAVING search_condition ]

[ ORDER BY order_expression [ ASC | DESC ] ]

Chỳng ta sẽ lần lượt nghiờn cứu từng clause (mệnh đề) trong cõu lệnh này.

SELECT Clause

Sau keyword (từ khúa) SELECT ta sẽ cú một danh sỏch cỏc cột mà ta muốn select được cỏch nhau bằng dấu ",". Cú 3 Keywords cần nhấn mạnh trong phần SELECT.

Distinct : Khi cú keyword này vào thỡ sẽ cho kết quả cỏc cột khụng trựng nhau. Vớ dụ trong Orders table của Norwind database (database mẫu di kốm với SQL Server) chứa giỏ trị trựng lập (duplicate value) trong cột ShipCity. Nếu ta muốn select một danh sỏch ShipCity trong đú mỗi city chỉ xuất hiện một lần trong kết quả nhận được ta dựng như sau:

SELECT DISTINCT ShipCity, ShipRegion FROM Orders

ORDER BY ShipCity

Top n : Nếu ta muốn select n hàng đầu tiờn mà thụi ta cú thể dựng Top keyword. Nếu cú thờm ORDER BY thỡ kết quả sẽ được order trước sau đú mới select. Chỳng ta cũng cú thể select số hàng dựa trờn phần trăm bằng

cỏch thờm Keyword Percent vào. Vớ dụ sau sẽ select 10 hàng đầu tiờn theo thứ tự:

SELECT DISTINCT TOP 10 ShipCity, ShipRegion FROM Orders

ORDER BY ShipCity

As : éụi khi chỳng ta muốn cho SELECT statement dễ đọc hơn một chỳt ta cú thể dựng một alias (tức là từ thay thế hay từ viết tắt) với keyword As hay khụng cú keyword As: table_name As table_alias hay table_name table_alias. Vớ dụ:

USE pubs

SELECT p.pub_id, p.pub_name AS PubName FROM publishers AS p

Ngoài ra trong Select list ta cú thể select dưới dạng một expression như sau: SELECT FirstName + ' ' + LastName AS "Employee Name",

IDENTITYCOL AS "Employee ID", HomePhone,

Region

FROM Northwind.dbo.Employees

ORDER BY LastName, FirstName ASC

Trong vớ dụ trờn ta select cột "Employee Name" là sản phẩm ghộp lại của cột FirstName và LastName được cỏch nhau bằng một khoảng trắng. Một giỏ trị thuộc loại identity để làm cột "Employee ID". Kết quả sẽ được sắp theo thứ tự từ nhỏ tới lớn (ASC) (cũn DESC là từ lớn tới nhỏ) trong đú cột LastName được sắp trước rồi mới tới cột FirstName.

INTO Clause cho phộp ta select data từ một hay nhiều table sau đú kết quả sẽ được insert vào một table mới. Table này được tạo ra do kết quả của cõu lệnh SELECT INTO. Vớ dụ:

SELECT FirstName, LastName INTO EmployeeNames

FROM Employers

Cõu lệnh tờn sẽ tạo ra một table mới cú tờn là EmployeeNames với 2 cột là FirstName và LastName sau đú kết quả select được từ table Employers sẽ được insert vào table mới này. Nếu table EmployeeNames tồn tại SQL Server sẽ bỏo lỗi. Cõu lệnh này thường hay được sử dụng để select một lượng data lớn từ nhiều table khỏc nhau vào một table mới (thường dựng cho mục đớch tạm thời (temporary table)) mà khỏi phải thực thi cõu lệnh Insert nhiều lần.

Một cỏch khỏc cũng select data từ một hay nhiều table và insert vào một table khỏc là dựng "Insert Into...Select...". Nhưng cõu lệnh này khụng tạo ra một table mới. Nghĩa là ta table đú phải tồn tại trước. Vớ dụ:

INSERT INTO EmployeeNames SELECT FirstName, LastName FROM Employers

Chỳ ý là khụng cú chữ "Value" trong cõu Insert này.

The GROUP BY and HAVING Clauses

GROUP BY dựng để tạo ra cỏc giỏ trị tổng (aggregate values) cho từng hàng trong kết quả select được. Chỉ cú một hàng cho từng giỏ trị riờng biệt (distinct) của từng cột. Cỏc cột được select đều phải nằm trong GROUP BY Clause. Hóy xem vớ dụ phức tạp sau:

SELECT OrdD1.OrderID AS OrderID,

SUM(OrdD1.UnitPrice * OrdD1.Quantity) AS Revenue FROM [Order Details] AS OrdD1

WHERE OrdD1.OrderID in (SELECT DISTINCT OrdD2.OrderID FROM [Order Details] AS OrdD2

WHERE OrdD2.UnitPrice > $100) GROUP BY OrdD1.OrderID

HAVING SUM(OrdD1.Quantity) > 100

Trong vớ dụ trờn đầu tiờn ta select những order riờng biệt (distinct) từ Order Details table với giỏ > 100. Sau đú tiếp tục select OrderID, "Units Sold", Revenue từ kết quả trờn trong đú "Units Sold" và Revenue là những aggregate columns (cho giỏ trị tổng một cột của những hàng cú cựng OrderID). HAVING Clause đúng vai trũ như một filter dựng để lọc lại cỏc giỏ trị cần select mà thụi. HAVING Clause thường đi chung với GROUP BY mặc dự cú thể xuất hiện riờng lẻ.

UNION

Uninon keyword cú nhiệm vụ ghộp nối kết quả của 2 hay nhiều queries lại thành một kết quả.

Vớ dụ:

Giả sử cú table1(ColumnA varchar(10), ColumnB int) và table2(ColumnC varchar(10), ColumnD int). Ta muốn select data từ table1 và ghộp với data từ table2 để tạo thành một kết quả duy nhất ta làm như sau:

SELECT * FROM Table1 UNION ALL

SELECT * FROM Table2

Nếu khụng cú keyword ALL thỡ những hàng giống nhau từ 2 table sẽ chỉ

Một phần của tài liệu Xây dựng Website HTTT quản lý khách sạn Công Đoàn (Trang 30 - 44)

Tải bản đầy đủ (DOC)

(90 trang)
w