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

Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh

107 1,7K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 107
Dung lượng 2,82 MB

Nội dung

Tài liệu tham khảo công nghệ thông tin Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh

Trang 1

Phần I CƠ SỞ LÝ THUYẾT VÀ GIỚI THIỆU MỘT SỐ

CÔNG CỤ LẬP TRÌNH

Chương I TỔNG QUAN VỀ INTERNET I.1 INTERNET

I.1.1 TÌM HIỂU SƠ LƯỢC VỀ INTERNET

Internet là một mạng máy tính có phạm vi toàn cầu bao gồm nhiều mạng nhỏ cũngnhư các máy tính riêng lẻ được kết nối với nhau để có thể liên lạc và trao đổi thông tin.Thông qua mạng Internet bạn có thể viết thư, đọc báo, xem bản tin, giải trí, tra cứu Đặcbiệt từ năm 1993 trở đi, mạng Internet không chỉ cho phép chuyển tải thông tin nhanhchóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầutiên Các thông tin được đặt rải rác trên toàn cầu có thể truyền thông được với nhau nhờmột thiết bị là Modem và đường dây điện thoại

Ngày nay, số lượng người truy cập vào mạng Internet trên toàn thế giới đang ngàycàng tăng lên nhanh chóng Qua đó có thể thấy rằng Internet đã đưa chúng ta vào thế giới

có tầm nhìn rộng hơn

Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm bảocác phần mềm ứng dụng có thể chuyển qua lại trên các họ máy tính khác nhau (máy mini,máy tính lớn và máy vi tính) Bên cạnh là hệ điều hành UNIX BSD còn cung cấp nhiềuthủ tục Internet cơ bản, đưa ra khái niệm Socket và cho phép chương trình ứng dụng thâmnhập vào Internet một cách dễ dàng

Internet có thể tạm hiểu là liên mạng gồm các máy tính nối với nhau theo một nghithức và một số thủ tục chung gọi là TCP/IP (Transmission Control Protocol /InternetProtocol) Thủ tục và nghi thức này trước kia đã được thiết lập và phát triển cho một đề ánnghiên cứu của Bộ Quốc Phòng Mỹ với mục đích liên lạc giữa các máy tính nối đơn lẻ vàcác mạng máy tính với nhau mà không phụ thuộc vào các hãng cung cấp máy tính Sựliên lạc này vẫn được bảo đảm liên tục ngay cả trong trường hợp có nút trong mạng khônghoạt động

Trên quan điểm Client/Server thì có thể xem Internet như là mạng của các mạngcủa các Server, có thể truy xuất bởi hàng triệu Client Việc chuyển và nhận thông tin trênInternet được thực hiện bằng nghi thức TCP/IP Nghi thức này gồm hai thành phần làInternet Protocol (IP) và Transmission Control Protocol (TCP)

IP cắt nhỏ và đóng gói thông tin chuyển qua mạng, khi đến máy nhận thì thông tin

đó sẽ được ráp nối lại TCP bảo đảm cho sự chính xác của thông tin được truyền đi cũngnhư của thông tin được ráp nối lại, đồng thời TCP cũng sẽ yêu cầu truyền lại thông tinthất lạc hay hư hỏng Tùy theo thông tin lưu trữ và mục đích phục vụ mà các Server trênInternet sẽ được phân chia thành các loại khác nhau như Web Server, Email Server hayFTP Server Mỗi loại server sẽ được tối ưu hóa theo mục đích sử dụng

Trang 2

Theo quan điểm người sử dụng, Internet trông như là bao gồm một tập hợp cácchương trình ứng dụng, sử dụng những cơ sở hạ tầng của mạng để truyền tải những côngviệc thông tin liên lạc Chúng ta dùng thuật ngữ "Interoperability" để chỉ khả năng những

hệ máy tính nhiều chủng loại hợp tác lại với nhau để giải quyết vấn đề Hầu hết người sửdụng truy cập Internet thực hiện công việc đơn giản là chạy các chương trình ứng dụngtrên một máy tính nào đó gọi là máy Client mà không cần hiểu loại máy tính đang đượctruy xuất (Server), kỹ thuật TCP/IP, cấu trúc hạ tầng mạng hay Internet ngay cả conđường truyền dữ liệu đi qua để đến được đích của nó.Chỉ có những người lập trình mạngcần xem TCP/IP như là một mạng và cần hiểu một vài chi tiết kỹ thuật

Hình 1: Liên lạc trên Internet I.1.2 INTERNET BẮT NGUỒN TỪ ĐÂU?

Internet bắt đầu từ đầu năm 1969 dưới cái tên là ARPANET (Advanced ResearchProjects Agency) còn gọi là ARPA Nó thuộc bộ quốc phòng Mỹ Đầu tiên nó chỉ có 4máy được thiết kế để minh họa khả năng xây dựng mạng bằng cách dùng máy tính nằmrải rác trong một vùng rộng

Vào năm 1972, khi ARPANET được trình bày công khai đã được 50 trường đạihọc và các viện nghiên cứu nối kết vào Mục tiêu của ARPANET là nghiên cứu hệ thốngmáy tính cho các mục đích quân sự Mạng này thiết kế chỉ cho phép các văn thư lưu hành

từ máy tính này đến máy tính khác Đối với chính phủ và quân đội, máy tính đã có nhữngcông dụng rõ ràng và sâu rộng Tuy nhiên, một trong những mối bận tâm chính yếu là tínhtin cậy vì nó có liên quan đến vấn đề sinh tử Kế hoạch ARPANET đã đưa ra nhiều đườngnối giữa các máy tính Điều quan trọng nhất là các máy tính có thể gởi các văn thư bởi bất

kỳ con đường khả dụng nào, thay vì chỉ qua một con đường cố định Đây chính là nơi màvấn đề về giao thức đã xuất hiện

Trang 3

I.1.3 GIAO THỨC

Giao thức hay còn gọi là nghi thức là các phương tiện để làm cho sự thông tin trởnên khả hữu Đầu tiên ARPANET đã đưa ra giao thức Host-to-Host Protocol, nhưng giaothức này không đáng tin cậy và nó chỉ giới hạn trong một số máy Vào cuối năm 1970,một số mạng đã xuất hiện như mạng UUCP đã nối được hàng trăm máy rồi hàng ngànmáy Vào cuối năm 1980 mạng NSFNET của National Science Foundation được pháttriển để nối 5 trung tâm siêu máy tính của nó Đây là một mạng hấp dẫn cho tất cả các nhànghiên cứu và các viện đại học cũng như các viện nghiên cứu Năm 1972, bắt đầu thế hệthứ hai của giao thức mạng, đã làm phát sinh ra một nhóm giao thức được gọi làTransmission Control Protocol/ Internet Protocol viết tắt là TCP/IP Năm 1983, TCP/IP là

bộ giao thức cho ARPANET, TCP/IP đã trở thành một trong những giao thức mạng đượcdùng rộng rãi nhất Sau cùng tất cả các mạng được tài trợ bởi cá nhân hay xã hội: mạngARPANET, MILNET, UUCP, BITNET, CSNET và NASA Science Internet đã liên kếttrong một mạng khu vực NSFNET và ARPANET giải tán và ngày càng có nhiều mạngkhác thêm vào

Ngày nay để thực hiện việc truyền thông qua mạng phải thông qua trình duyệt Web

và ta cũng cần một giao thức để thực hiện công việc này Mặc dù hiện nay cũng đang córất nhiều giao thức để truyền thông tin nhưng nhìn chung có hai giao thức thường đượccác lập trình viên sử dụng đó là: TCP/IP (IP: là giao thức Internet, TCP: giao thức truyềntải) và giao thức UDP (giao thức gói dữ liệu người dùng)

Giao thức TCP/IP:

Hình 2: Mô hình mạng TCP/IP

TCP/IP là một giao thức hướng kết nối (connection) thiết lập một kết nối truyềnthông giữa địa chỉ cổng IP Liên kết này đảm bảo việc truyền dữ liệu trên mạng là khôngmất thông tin từ máy nguồn đến máy đích, các gói dữ liệu đến đích phải tuân theo đúngthứ tự đã được gởi và các máy tính chạy trên mạng Internet truyền thông với nhau dùng

Trang 4

các Protocol TCP, UDP Do đó ta sử dụng mô hình mạng TCP/IP gồm bốn lớp được mô

Network layer: đảm nhận việc xác định, tìm đường và phân phối các gói thông tin

với địa chỉ đích Network layer trong mô hình TCP/IP tương ứng với hai lớp network vàdata link của mô hình OSI

 Physical layer: sử dụng các giao tiếp chuẩn hiện có như Enthernet, Tokenring, đểphục vụ cho việc gởi và nhận dữ liệu

Các máy tính trên mạng liên lạc với nhau bằng địa chỉ IP Để gởi gói dữ liệu từmáy nguồn tới máy đích, nó phải có một số cách nhận diện những máy này Trên mạngđược nhận dạng bằng cách dùng một hay nhiều địa chỉ IP Một máy tính có thể có nhiềuhơn một địa chỉ IP nếu nó có nhiều hơn một Card mạng Các địa chỉ IP là một số 32 bitrất khó nhớ để giải quyết việc này các nhà quản lý mạng đã chọn một hệ thống tên vùng(DNS) để quản lý Các địa chỉ IP được duy trì bởi một hệ thống máy phục vụ tên vùng.Các máy phục vụ này có khả năng tìm kiếm địa chỉ IP tương ứng với tên vùng Tuy nhiênliên lạc qua lại giữa các máy tính chỉ là một vấn đề truyền thông tin trên mạng Để mộtchương trình ứng dụng như Mail, Chat, E-mail liên lạc với một ứng dụng khác như máyServer phục vụ thì máy Server này phải có cách gửi dữ liệu đến các chương trình riêngbên trong một máy tính Địa chỉ cổng là địa chỉ 16 bit nằm bên trong một máy tính thườngkết hợp với một giao thức đặc biệt như TCP/IP, UDP Một máy Server phải cài đặtchương trình ứng dụng phục vụ lắng nghe các yêu cầu đến Trong việc truyền nhận thôngtin dựa trên TCP/IP, một ứng dụng thiết lập một connection với một ứng dụng khác bằngcách gắn một socket cho mỗi port number Do đó sẽ không thể có hai ứng dụng dùngchung một port

Bộ protocol TCP/IP bao gồm:

 TCP (Transmission Control Protocol): đây là loại protocol có cầu nối connectionoriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, 2 chiều (full duplex) cho cácquá trình cho người sử dụng

 UDP(User Datagram Protocol): loại protocol không thiết lập cầu nối(connectionless) cho các quá trình của user Không giống như TCP, nó không đảm bảo dữliệu khi truyền đi có đến nơi chính xác hay không

 ICMP (Internet Control Message Protocol): protocol xử lý lỗi và điều khiển thôngtin giữa các gateway và các host

 IP (Internet Protocol): IP là protocol cung cấp dịch vụ phân phối các package choTCP, UDP và ICMP

 ARP (Address Resolution Protocol): Protocol ánh xạ 1 địa chỉ Internet thành địachỉ phần cứng(MAC address)

Trang 5

 RAPR(Address Resolution Protocol): Protocol ánh xạ một địa chỉ phần cứng thànhđịa chỉ IP.

Mạng Internet sử dụng giao thức TCP/IP: TCP/IP được thiết kế để có thể kết nốicác thiết bị máy tính khác nhau, là ngôn ngữ chung để các hệ máy tính khác nhau có thểtrao đổi, liên lạc, chuẩn này được sử dụng rộng rãi trong hầu hết các hệ thống máy tínhbởi những đặc điểm ưu việt của nó và chức năng phụ trợ có thể cài đặt thêm vào MạngInternet bao gồm rất nhiều kênh kết nối khác nhau mà các gói dữ liệu sẽ được lưu chuyểntrên đó, các kênh được giao tiếp với nhau bằng chuẩn TCP/IP Nhờ đó tất cả các máy tínhtrên mạng Internet có thể kết nối với nhau Ngoài ra TCP cung cấp khả năng truyền khônglỗi từng gói dữ liệu gởi đi đến máy nhận, giao thức này phải có trách nhiệm thông báo vàkiểm tra xem dữ liệu có đến đủ hay chưa, có lỗi hay không có lỗi Trước khi chuyển dữliệu bao giờ cũng có việc thiết lập kênh truyền giữa hai máy Do phải duy trì mối kết nối

và kiểm tra dữ liệu nên sử dụng TCP phải đòi hỏi chiếm thêm một số tài nguyên và cáchlập trình cho giao thức này hơi khó (phải thực hiện các bước kiểm tra dữ liệu theo yêu cầucủa TCP) Truyền dữ liệu theo giao thức TCP thường áp dụng cho các dịch vụ như truyềntập tin, các dịch vụ trực tuyến trên Internet đòi hỏi có độ chính xác cao

Hình 3: Mô hình kết nối TCP/IP

Start App

Server

Client

Create the socket

Create the server socket

Accept New Connection

Acquire Stream and

DisconnectConnect attempt

Exchange data

Trang 6

Địa chỉ IP: Để có thể thực hiện truyền tin giữa các máy tính trên mạng, mỗi máytrên mạng Internet đều có một tên riêng và một địa chỉ dạng số tương ứng gọi là địa chỉ

IP Tên được thiết kế để giúp cho việc truy cập được dễ dàng cho người sử dụng Địa chỉ

IP dùng cho các máy tính và các thiết bị mạng liên lạc với nhau

Tất cả các máy trong hệ thống mạng (LAN, WAN, Internet) đều có ít nhất 2 địachỉ: địa chỉ vật lý và địa chỉ Internet Ðịa chỉ vật lý còn được gọi là Ethernet address làmột dãy bit gồm 48 bit được gán bởi các nhà sản xuất, địa chỉ này được biểu diễn dướidạng số thập lục phân (hecxa)

Như thế mỗi card mạng (interface card) có một địa chỉ duy nhất địa chỉ này đượcquy định từ nhà sản xuất card mạng Tuy nhiên địa chỉ vật lý không thể hiện khả năngxác định vị trí của hệ thống trên mạng Ðể giải quyết vấn đề đó người ta đưa ra địa chỉIP(IP Address)

Ðịa chỉ IP phải là duy nhất trên mạng và có một dạng thống nhất, mỗi địa chỉ IPgồm có 4 byte và có 2 thành phần: địa chỉ đường mạng (Network ID) và địa chỉ host(Host ID)

Phân loại địa chỉ IP:

Có tất cả 5 lớp địa chỉ IP nhưng hiện nay có 3 lớp được sử dụng là lớp A, B, và C

 Lớp A: Dùng cho hệ thống mạng có số lượng địa chỉ host rất lớn, số lượng này cóthể lên đến 16 triệu địa chỉ host Ðể có thể nhận biết địa chỉ thuộc lớp nào người ta căn cứvào bit đầu tiên trong phần network ID

Lớp B: Dùng cho hệ thống mạng trung bình số lượng Host ID lên đến khoảng 65

ngàn Ðịa chỉ lớp B được nhận biết qua bit đầu tiên trong phần Network ID bit đầu tiên

có giá trị 1 Phần Network ID có 16 bit và phần Host ID có 16 bit

Lớp C: Ðịa chỉ lớp C dùng cho mạng nhỏ có số lượng máy không vượt quá 254

máy Có thể nhận biết địa chỉ lớp C thông qua 2 bit đầu tiên trong phần Network ID, haibit này được bật lên 1

I.1.4 CÁC DỊCH VỤ KẾT NỐI ĐẾN INTERNET

Muốn truy nhập Internet bạn phải đăng ký kết nối Có nhiều phương pháp để cóthể đăng ký kết nối Ba phương pháp phổ biến nhất hiện nay là: Dịch vụ trực tuyến, nhàcung cấp dịch vụ Internet (ISP) và truy cập trực tuyến

a Dịch vụ trực tuyến (online service)

Là một doanh nghiệp: như AOL, CompuServe, Microsoft Network (MSN), cungcấp nhiều dịch vụ truyền thông, trong đó có truy cập Internet Khi sử dụng dịch vụ trực

Network ID

Host ID

32 bits(4 byte)Địa chỉ IPClass ID

Trang 7

tuyến, bạn chạy chương trình kết nối của họ để đăng nhập dịch vụ do họ cung cấp, đến lúckết nối để chạy Internet Explorer Dịch vụ trực tuyến thu cước phí hàng tháng (chưa ápdụng cho người ở Việt Nam).

b Nhà cung cấp dịch vụ Internet (ISP)

Là một công ty nhỏ hơn, chuyên dụng hơn, cung cấp tùy chọn không nhiều bằng dịch

vụ trực tuyến ISP cho phép truy nhập Internet theo giờ với cước phí thấp hoặc truy cậpkhông giới hạn với cước phí cao hơn Họ còn cấp cho khách một tài khoản E-mail Ở ViệtNam hiện có ba dịch vụ ISP đang hoạt động: VNN, FTP và NetNam

c Truy nhập trực tuyến (direct access)

Khả dụng ở nhiều học viện giáo dục hoặc công ty lớn Thay vì sử dụng Modem,những tổ chức này thuê bao một đường truyền chuyên dụng để cung cấp truy nhậpInternet 24/24 giờ

I.2 CÁC DỊCH VỤ THÔNG TIN TRÊN INTERNET

I.2.1 DỊCH VỤ MIỀN (DNS: Domain Name System)

Việc định danh các phần tử của liên mạng bằng các con số như trong địa chỉ IP rõràng là không làm cho người sử dụng hài lòng, bởi chúng khó nhớ, dễ nhầm lẫn Vì thếngười ta đã xây dựng hệ thống đặt tên (name) cho các phần tử của Internet, cho phépngười sử dụng chỉ cần nhớ đến các tên chứ không cần nhớ đến các địa chỉ IP nữa Ta cóthể biết thêm thông tin cách hoạt động của dịch vụ này thông qua RFC 1035

Hệ thống này được gọi là DNS (Domain Name System) Ðây là một phương phápquản lý các tên bằng cách giao trách nhiệm phân cấp cho các nhóm tên Mỗi cấp trong hệthống được gọi là một miền (domain), các miền được tách nhau bởi dấu chấm Số lượngdomain trong một tên có thể thay đổi nhưng thường có nhiều nhất là 5 domain Domain

có dạng tổng quát là local-part@domain-name.

trong đó :

+ Local-part thường là tên của một người sử dụng hay nhóm người sử dụng do

người quản lý mạng nội bộ qui định

+ Còn domain-name được gán bởi các Trung tâm thông tin mạng (NIC) các cấp.

Domain cấp cao nhất là cấp quốc gia, mỗi quốc gia được gán một tên miền riêng biệt gồm

hai chữ cái Ví dụ vn (Việt Nam), us (Mỹ), ca (Canada), fr (Pháp), v.v Trong từng quốc

gia lại được chia thành 6 domain cao nhất và tiếp tục đi xuống các cấp thấp hơn

Trang 8

net các tài nguyên mạng

I.2.2 ĐĂNG NHẬP TỪ XA (TELNET)

Là một chương trình dùng giao thức Telnet Nó là một phần của bộ giao thức TCP/

IP Nó cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập vào mộtmạng ở xa qua mạng và làm việc với hệ thống y như một trạm cuối, nói trực tiếp vớitrạm ở xa đó Telnet là một giao thức tương đối đơn giản so với các chương trình phỏngtạo của trạm cuối phức tạp hiện nay

Máy tính ở xa, còn được gọi là Telnet, sẽ chấp nhận nối kết Telnet từ một máy tínhtrên một hệ thống TCP/IP Bởi vì Internet là một mạng TCP/IP, Telnet sẽ làm việc mộtcách hài hoà giữa các máy tính nối đến nó nếu như dịch vụ Telnet được cài đặt trên máytính của bạn Các thành phần Telnet và Server thỏa thuận trong cách mà chúng sẽ dùngkết nối Vì thế mặc dù các hệ thống không cùng loại chúng vẫn tìm thấy một ngôn ngữchung Telnet cũng có những giới hạn của nó, nếu lưu thông trên mạng kết nối từ xa cóthể khiến cho sự cập nhật từ màn hình trở nên chậm hơn Telnet thường dùng cho các mụcđích công cộng và thương mại, cho phép những người dùng ở xa tìm kiếm các cơ sở dữliệu lớn, phức tạp và nó cũng là nguồn tài nguyên có giá trị trong giáo dục giúp cho việcnghiên cứu của bạn trở nên hấp dẫn hơn

Ðể khởi động Telnet, từ trạm làm việc của mình người sử dụng chỉ việc gõ:

I.2.3 TRUYỀN TỆP (FTP: File Transfer Protocol)

Là dịch vụ truyền tập tin (tệp) trên Internet FTP cho phép dịch chuyển tập tin từtrạm này sang trạm khác, bất kể trạm đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúngđều được nối với Internet và có cài đặt FTP FTP là một chương trình phức tạp vì cónhiều cách khác nhau để xử lý tập tin và cấu trúc tập tin và cũng có nhiều cách lưu trữ tậptin khác nhau Để khởi tạo FTP từ trạm làm việc của mình người sử dụng chỉ gõ:

FTP<domain name or IP address>

FTP sẽ thiết lập liên kết các trạm xa và bạn sẽ đăng nhập vào hệ thống(login/password) Vì FTP cho phép truyền tập tin theo cả hai chiều Để chuyển tập tin củamình đến trạm ở xa dùng lệnh put và ngược lại dùng lệnh get để lấy thông tin về Ngoài ratrong một số trường hợp nó có thể đổi tên, tạo, xoá thư mục….FTP Client sử dụng dịch

vụ để lấy (get) các tập tin từ FTP Server về máy của mình (download) hoặc gởi (put) cáctập tin lên FTP server (upload)

FTP theo nghĩa tiếng việt là nghi thức truyền tập tin giữa các máy tính này đếnmáy tính khác thông qua mạng Nếu như nghi thức TCP/IP gồm có các lớp Application,TCP, IP, Network, Datalink và Physical thì FTP thuộc lớp ứng dụng (Application)

telnet <domain-name or IP-address>

ftp>put source-file destination-file

ftp>get source-file

Trang 9

destination-WWW là một dịch vụ hấp dẫn, nó thay thế hầu hết những chức năng của FTP Tuynhiên chỉ có FTP mới cho phép sao chép tập tin từ máy tính Client đến Server Nếu mộtngười dùng từ xa muốn làm điều này thì chắc chắn họ phải dùng FTP Những loại tập tin

có thể truyền được bằng FTP rất phong phú, từ các tập tin tư liệu (Document) cho đến cáctập tin Multimedia như tập tin hình ảnh, âm thanh

I.2.4 THƯ ĐIỆN TỬ (Electronic Mail)

Là dịch vụ được sử dụng nhiều nhất và có hiệu quả nhất Người gởi chỉ cần soạnthảo thư (giống như soạn thảo văn bản) Khai báo địa chỉ E-mail của người nhận trênInternet rồi thực hiện một số thao tác theo mẫu hướng dẫn Bức thư điện được chuyển đi

và cuối cùng lưu trữ trong máy của người nhận Người nhận cũng chỉ thực hiện một sốthao tác đơn giản để lấy thư, đọc thư và nếu cần thì cho in ra Cách liên lạc này thuận tiệnhơn nhiều so với gởi thư thông thường qua bức điện hoặc Fax, lại rẻ và nhanh hơn Cáchthực hiện việc chuyển thư không cần phải kết nối trực tiếp với nhau để chuyển thư, thư cóthể được chuyển từ máy này đến máy khác cho tới máy đích Giao thức truyền thống sửdụng cho hệ thống thư điện tử của Internet là SMTP (Simple Mail Transfer Protocol) Cơchế hoạt động của thư điện tử (E-mail):

Hình 4: Sơ đồ hoạt động của mạng E-mailGiao thức SMTP (Single Message Transfer Protocol) đặt tả trong hai chuẩn làtrong RFC 822 (định nghĩa cấu trúc của thư ) và RFC 821(đặt tả giao thức trao đổi thưgiữa hai mạng) Là giao thức cơ bản để chuyển thư giữa các máy Client, SMTP có một bộgởi thư, một bộ nhận thư và một tập hợp lệnh dùng để gởi thư từ người gởi đến ngườinhận

Cứ mỗi trạm E-mail thường bao gồm hai dịch vụ: POP3 (Post Office Protocol

Version 3) có nhiệm vụ nhận/trả thư từ/tới e-mail client và dịch vụ SMTP (Simple E-mail Transfer Protocol) có nhiệm vụ nhận/phân phối thư từ/đến POP3 đồng thời trao đổi thư

với các trạm e-mail trung gian

Trạm E-mail 1 Trạm E-mail 2 Trạm E-mail N

SMTP ServicePOP3 Service

SMTP ServicePOP3 Service

SMTP ServicePOP3 Service

E-mail Client E-mail Client E-mail Client

Trang 10

Mỗi người dùng đều phải kết nối với một E-mail Server gần nhất (đóng vai trò bưucục địa phương) phải có một tên (E-mail account) trên một trạm E-mail và sử dụngchương trình E-mail client (ví dụ như Eudora, Netscape ) Sau khi soạn thảo xong thư và

đề rõ địa chỉ đích (người nhận) rồi gửi thư tới E-mail Server của mình E-mail Server này

có nhiệm vụ sẽ tự động kiểm tra và định hướng chuyển thư tới đích hoặc chuyển thư tớimột E-mail Server trung gian khác Thư chuyển tới E-mail Server của người nhận vàđược lưu ở đó Đến khi người nhận thiết lập tới một cuộc kết nối tới E-mai Server đó thìthư sẽ chuyển về máy người nhận, nếu không thì thư vẩn tiếp tục giữ lại ở Server đảmbảo không bị mất

Phần khác của ứng dụng thư điện tử là cho phép người sử dụng đính kèm(attachments) theo thư một tập tin bất kỳ (có thể dạng nhị phân chẳng hạn chương trìnhchạy) E-mail đã và đang hết sức thành công đến nỗi những người sử dụng Internet phục

vụ dùng nó đối với hầu hết các trao đổi của họ Một lý do làm E-mail Internet phổ biến là

vì việc thiết kế nó rất cẩn thận: giao thức làm cho việc "phát thư" có độ tin cậy cao.Không chỉ hệ thống thư tín trên máy của người gởi tương tác trực tiếp trên máy củangười nhận mà giao thức còn đặt tả một thông điệp không thể bị xoá bởi người gởi chođến khi người nhận đã thật sự có một phiên bản của thông điệp trên bộ lưu trữ (đĩa cứngchẳng hạn) của họ

Như vậy để gởi/nhận thư người sử dụng chỉ cần quan tâm tới cách sử dụng chươngtrình E-mail Client Hiện nay có nhiều chương trình E-mail Client như Microsoft OutlookExpress, Eudora Pro, Peagasus mail,

I.2.5 TÌM KIẾM TỆP (Archie)

Phát triển tại đại học McGill ở Canada, Archie là một loại thư viện khổng lồ sẽ tựđộng và đều đặn tạo ra một số lớn các thông tin gởi đến máy chủ trên Internet và lập chỉmục các tập tin của chúng để tạo ra một cơ sở dữ liệu duy nhất có thể tìm kiếm được.CSDL này còn là mục lục của dữ liệu danh mục, một sự biên dịch các tập tin có sẵn trênmọi máy chủ Archie quét qua các máy chủ Internet một cách thường xuyên, và CSDLnày thường xuyên được cập nhật Thực sự thì Archie không phải là một hệ thống độc lập,thay vì vậy nó là một nhóm các máy chủ Mỗi máy chủ Archie đáp ứng cho sự tra hỏi cácmáy chủ Internet của chính nó để tạo nên cơ sở dữ liệu cho chính nó

I.2.6 GOPHER

Hệ thống Gopher phát triển bởi đại học Minnesota và được miễn phí cho các hoạtđộng phi lợi nhuận Gopher có thể được dùng trên một số hệ thống máy tính như: UNIX,DOS, Microsoft Windows, Macintosh, OS/2 Phần mềm Client chạy trên máy tính củabạn có thể chạy trên bất kỳ máy nào của Gopher Với Gopher bạn có thể đi xuyên quaInternet và đi đến những nơi mà không có người dùng nào đã từng đi đến, cách mà nóthực hiện bởi tổng hợp các công cụ Internet như: Telnet, FTP để khi bạn tìm ra một đềmục tương quan đến những gì bạn đang tìm kiếm, bạn có thể đi trực tiếp đến nó mà không

Trang 11

cần một trình tiện ích, hãy nhập vào địa chỉ của mục tiêu việc tìm kiếm Gopher sẽ lấytất cả điều này cho bạn.

I.2.7 TÌM KIẾM THÔNG TIN THEO CHỈ SỐ (WAIS)

WAIS - Wide Area Information Server: nó là một trong những chương trình đầutiên dựa vào tiêu chuẩn Z39.50( tiêu chuẩn của American National Standard) Nó là hệthống đầu tiên dùng tiêu chuẩn này, nó trở thành một dạng thức tìm kiếm phổ biến, WAIS

có thể nối đến bất kỳ CSDL hoặc máy Client có dùng Z39.50 WAIS cho phép truy tìmkiếm và truy nhập thông tin trên mạng mà không cần biết chúng đang thực sự nằm ở đâu.WAIS cung hoạt động theo mô hình client/server Ngoài ra còn có WAIS Indexer thựchiện việc cập nhật dữ liệu mới, sắp xếp theo chỉ số để tiện tìm kiếm Nó không chỉ chophép hiển thị tập tin văn bản mà còn những tập tin đồ họa Nó là nguồn quan trọng giúpcho các nguồn thông tin trên Internet có thể truy xuất được

I.2.8 TÌM KIẾM THÔNG TIN DỰA TRÊN SIÊU VĂN BẢN (WWW: World Wide Web)

Là dịch vụ thông tin mới nhất và hấp dẫn nhất trên Internet Nó ra đời năm 1989 vàngày nay nó cấu thành phần lớn nhất của Internet hiện nay dựa trên kỹ thuật biểu diễnthông tin gọi là siêu văn bản, trong đó các từ được chọn trong văn bản có thể được mởrộng bất cứ lúc nào để cung cấp đầy đủ hơn thông tin về từ đó Sự mở rộng ở đây theonghĩa là chúng có thể liên kết tới các tài liệu khác: văn bản, hình ảnh, âm thanh hay hỗnhợp các loại….có chứa thông tin bổ sung Nói cách khác World Wide Web là phần đồ họacủa Internet Lúc đầu, Internet là hệ thống truyền thông dựa trên văn bản, việc liên kết vớinhững site khác có nghĩa là phải gõ những địa chỉ mã hóa với độ chính xác 100% Côngnghệ World Wide Web xuất hiện như là một vị cứu tinh Khả năng đặt hình ảnh lên WebSite bất ngờ làm cho thông tin trên Web trở nên hấp dẫn hơn, lôi cuốn hơn Ngoài raHTTP (Hypertext Transfer Protocol) cho phép trang Web kết nối với nhau qua các siêuliên kết (hyperlink) Nhờ vậy mà người dùng dễ dàng "nhảy" qua các Web site nằm ở haiđầu trái đất, World Wide Web chỉ là một phần cấu thành nên Internet ngoài ra còn có rấtnhiều thành phần khác như: E-mail, Gopher, Telnet, Usenet

Web site là gì?

Web hình thành từ hàng triệu Web site trên Internet Web site là tập hợp trang Web

do cá nhân hoặc công ty đăng ký hiển thị trên Web Một Web site tiêu biểu thường gồmnhiều trang Web, bắt đầu bằng trang chủ (home page), liệt kê nội dung của Site Một Website tiêu biểu còn chứa siêu liên kết dẫn đến những trang Web còn lại trong phạm vi site

và đến các web site khác Các Web site có thể chỉ gồm một trang do cá nhân tạo thànhhoặc là một sản phẩm của công ty và chứa vài trăm trang Mỗi trang Web có một địa chỉInternet không trùng lặp gọi là URL (Uniform Resource Locator) Bạn có thể tạo mộtWeb site bằng HTML (Hypertext Markup Language), DHTML, XML

Trang 12

HTML là ngôn ngữ lập trình cho phép mọi máy tính kết nối với Web để truy cập

và xem trang Web, định hướng di chuyển qua chúng bằng siêu liên kết Web site được cácmáy tính - gọi là máy phục vụ Web (Web Server) - gởi lên Web Máy phục vụ và máytính cho phép các máy khách truy cập trên mạng Máy phục vụ thường chia sẻ tập tin vớimáy khách nào đăng nhập nó Máy phục vụ Web sử dụng phần mềm máy phục vụ HTTP

để cung cấp tài liệu HTML khi nhận được yêu cầu từ chương trình trên máy khách kết nốivới Web, chẳng hạn như trình duyệt Web Trình duyệt Web (Web Brower) là chươngtrình cho phép bạn định vị, yêu cầu và hiển thị tài liệu trên World Wide Web

Cơ chế hoạt động của Web server

Máy server Web dùng giao thức HTTP để lấy tài nguyên Web xác định thông quaURL HTTP là một giao thức mức ứng dụng được thiết kế sao cho truy cập tài nguyênWeb nhanh chóng và hiệu quả Giao thức này dựa vào mô hình request-reponse Dịch vụWeb xây dựng theo mô hình client/server, trong đó Web browser đóng vai trò là Clientgởi các yêu cầu dưới dạng URL đến Web server Web server trả lời bằng cách trả về mộttrang HTML (Hypertext Markup Language)

Trang HTML có thể là một trang tĩnh, tức là nội dung của nó đã có dạng xác định

và được lưu trên Web site hoặc một trang Web động (nội dung không xác định trước) màServer tạo ra tại thời điểm Client yêu cầu để trả lời cho yêu cầu của Client hoặc một trangliệt kê các tập tin và thư mục trên Web site

Mỗi trang trênIntranet hoặc trên Internet có một URL (Uniform Resource Location)duy nhất định vị chúng Web browser yêu cầu một trang bằng cách gửi một URL đến mộtWeb server Web server sẽ dùng các thông tin trong URL để định vị và tổ chức một trangHTML để gửi về cho Web browser

Một chuỗi URL nói chung có dạng sau:

<protocol>://<domain_name of Server>/<path>

Trong đó:

 Tiền tố <protocol> chỉ ra giao thức được sử dụng cho dịch vụ Ví dụ giao thứcHTTP (Hypertext Transport Protocol) được dùng cho dịch vụ Web, giao thức FTP,gopher,

 <domain_name of Server> là tên DNS (Domain Name System) của máy Webserver

 <path> là đường dẫn đến thông tin được yêu cầu trên Server

Web server sẽ trả một trang HTML về cho Web browser, các trang HTML thuộcmột trong 3 kiểu sau:

 Trang Web tĩnh (Static webpage): là những trang HTML được chuẩn bị sẵn Webserver chỉ đơn giản là lấy trang này gởi về cho Web browser mà không gọi thi hành mộtchương trình hay một script nào khác Người dùng yêu cầu một trang Web tĩnh bằng cáchnhập vào một chuỗi URL hoặc click chuột vào một siêu liên kết trỏ tới URL

 Trang Web động (Dynamic web page): là những trang Web được tạo ra tại thờiđiểm Client gửi yêu cầu để đáp ứng yêu cầu của người sử dụng máy Server có thể sẽ gọichạy một chương trình khác, sử dụng các API của Server, các ngôn ngữ kịch bản CGIscript, query cơ sở dữ liệu tùy theo các thông tin mà Web browser cung cấp

Trang 13

 Danh sách liệt kê (Directory listing): Nếu user gửi yêu cầu mà không mô tả một tậptin cụ thể, thì có thể tạo một trang mặc nhiên cho Web site hay cho một thư mục hoặc cấuhình Server cho phép duyệt thư mục Nếu sử dụng trang HTML mặc nhiên cho thư mụcthì trang này sẽ được gửi cho Web browser, còn nếu không có thì một Directory listing(phiên bản HTML của Windows Explorer hay File Manager chạy trên trình duyệt) đượctrả về cho người sử dụng dưới dạng một trang HTML, trong đó mỗi tập tin và thư mục thểhiện như một siêu liên kết Sau đó người sử dụng có thể nhảy đến một file bất kỳ bằngcách click vào siêu liên kết tương ứng trong Directory listing.

I.2.9 DỊCH VỤ CHAT

Chat là tài nguyên được mọi người sử dụng trên Internet ưa chuộng nhất Nó chophép bạn thiết lập các cuộc đối thoại thông qua máy vi tính với người dùng khác trênInternet Sau khi bạn đã thiết lập được hệ thống này, những gì bạn gõ trên máy tính củabạn gần như tức thời được gởi đến máy tính kia và ngược lại Những cuộc trao đổi thôngqua chương trình Chat là sự đối thoại giữa hai người với nhau thông qua ngôn ngữ viếtnên sẽ chậm hơn so với đối thoại trực tiếp bằng lời nói nhưng có lợi ích nhất là với nhữngngười không cùng ngôn ngữ vì gõ-đọc dễ hơn nghe-nói và trong một số trường hợp khácthì gõ (viết) dễ hơn là nói

I.2.10 INTERNET PHONE

Internet phone là một dịch vụ mới được phát triển tại Việt Nam, nó cho phép ngườidùng máy tính có kết nối Internet và được trang bị card âm thanh, microphone để đàmthoại với người dùng máy điện thoại ở bất cứ nơi đâu

Trang 14

Chương II TÌM HIỂU CƠ SỞ DỮ LIỆU ORACLE

II.1 TỔNG QUAN VỀ ORACLE

II.1.1 ORACLE LÀ GÌ?

Oracle là một hệ quản trị cơ sở dữ liệu quan hệ client/server Để đi sâu vào nghiêncứu cơ sở dữ liệu Oracle cần có một số khái niệm cơ bản về hệ quản trị cơ sở dữ liệuquan hệ

1 Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS Relation Database

Management system)

Mỗi cơ sở dữ liệu quan hệ là một tập hợp dữ liệu được tổ chức trong những bảnghai chiều có quan hệ với nhau Mỗi bảng bao gồm các cột có tên và các hàng Mỗi cột làmột thuộc tính của quan hệ, mỗi hàng là một bộ (tuple) các giá trị của những thuộc tínhcủa quan hệ

Một RDBMS có nhiêm vụ:

 Lưu trữ và tạo dữ liệu sẵn có trong các bảng

 Duy trì quan hệ giữa các bảng trong cơ sở dữ liệu

 Bảo đảm tích hợp dữ liệu bằng cách tạo các qui tắc quản lý giá trị dữ liệu

 Khôi phục mọi dữ liệu trong trường hợp hệ thống có sự cố

2 Kiến trúc client / server

- Client là một thành phần của hệ thống yêu cầu dịch vụ hoặc tài nguyên từ nhữngthành phần hệ thống khác

- Server là một thành phần của hệ thống cung cấp dịch vụ hoặc tài nguyên chonhững thành phần hệ thống khác

3 Các yếu tố của một client / server data based system

 Server:

Một tập hợp các mục dữ liệu và đối tượng trợ giúp được tổ chức và trình bày đểthuận tiện phục vụ như: tìm kiếm, sắp thứ tự, khôi phục, cập nhật và phân tích dữ liệu.CSDL bao gồm bộ nhớ dữ liệu vật lý và các dịch vụ CSDL Mọi dữ liệu đều được truycập qua hệ phục vụ, không bao giờ được truy xuất trực tiếp

 Client:

Trang 15

Một chương trình có thể tác động qua lại với con người hoặc một quá trình tựđộng Nó bao gồm tất cả những phần mềm có liên quan đến server, yêu cầu dữ liệu từCSDL hoặc gửi dữ liệu đến CSDL.

Truyền nhận giữa client và server:

 Sự truyền nhận này phụ thuộc nhiều vào client và server thực thi như thế nào.Mọi sự thực thi hệ thống CSDL đều thuộc một trong ba loại sau:

 File_based system:

Các hệ thống này dùng ứng dụng truy xuất trực tiếp các file dữ liệu trên một đĩacứng cục bộ hoặc một hệ phục vụ file mạng Các hệ thống này thực hiện các dịch vụCSDL và truyền nhận logic như một phần của ứng dụng client Trong việc thực thi này,ứng dụng client đóng vai trò client và vai trò hệ phục vụ

 Host_based system:

Hệ thống này thường dùng trong các mainframe và mini_computer Những hệthống này thực thi tất cả hoặc hầu hết dịch vụ CSDL và chức năng của client trên mộtmáy tính trung tâm lớn Người dùng xem và tác động đến ứng dụng client bằng cách dùngmột thiết bị đầu cuối từ xa Truyền nhận giữa client và CSDL thực thi thực hiện trên mộthost computer và host computer đóng vai trò của client và server

 Client / server system:

Hệ thống này được thiết kế từ dịch vụ CSDL riêng lẻ đến client bằng cách chophép truyền nhận giữa chúng là mở và linh hoạt hơn

 Dịch vụ CSDL được thực thi trên một máy tính mạnh, cho phép quản trị tậptrung, bảo mật và dùng chung tài nguyên Do đó, hệ phục vụ trong client / server là CSDL

và hệ phục vụ của chính nó Những ứng dụng client được thực thi trên các nền khác nhaubằng cách dùng nhiều công cụ khác nhau Quá trình này cho phép linh hoạt hơn và cácứng dụng của người sử dụng có tính chất rất cao

Hiện nay, nhiều tổ chức kết hợp sử dụng cả ba hệ thống này Ưu, nhược điểm củachúng có thể được tóm tắt qua bảng sau:

Giao diện với

người sử dụng Rất linh hoạt Không linh hoạt Linh hoạt

Sử dụng mạng Không hiệu quả Hiệu quả Có thể hiệu quả

Vendor look_in Từ thấp đến trung bình Cao Trung bình

Trang 16

II.1.2 MỘT SỐ CÔNG CỤ CỦA ORACLE

Oracle cung cấp cho các nhà lập trình rất nhiều công cụ lập trình phát triển ứng dụngliên quan đến cơ sở dữ liệu và phát triển Internet Trong phiên bản Oracle 8i có khoảng

150 công cụ chạy trên các môi trường hệ điều hành khác nhau, các công cụ hỗ trợ giaotiếp cho các CSDL từ xa, phát triển ứng dụng CSDL từ xa thông qua môi trường Internet,

…Một số công cụ dùng để phát triển thông dụng nhất như:

Oracle8i Enterprise Edition 8i

SQL * Plus 8.0: Một phần mềm giao tiếp kiểu dòng lệnh, cho phép tương tác vớiOracle thông qua hai ngôn ngữ SQL và PL/SQL

Oracle Net8 : Một phần mềm kết nối CSDL dùng để cung cấp các thông tin CSDL

xác thực, tối ưu trên mọi thủ tục mạng thông dụng

Oracle Enterprise Manager: Một phần mềm có giao diện rất tốt hỗ trợ cho việc quản

lý các đối tượng của cơ sở dữ liệu Oracle

Develper 6.0, Developer/2000, Jdeveloper for Oracle 8i: gồm Oracle Form Builder,

Oracle Report Builder, Oracle Procedure Builder, Oracle Project Builder được tích hợpvào môi trường phát triển

Designer 2000: phát triển các ứng dụng Oracle.

Power Object: cung cấp môi trường phát triển ứng dụng nhanh với các đặc trưng kéo

Oracle Network Manager: Quản lý cấu hình và quản lý mạng CSDL phân tán được

thực hiện dễ dàng với Network Manager Network Manager được sử dụng không chỉ đểquản lý từ điển Oracle Names mà còn tạo ra các file cấu hình cho các thành phầnClient/Server của SQL*Net và định nghĩa cho các đường kết nối cho các nút Multi-Protocol Interchange

Trang 17

II.2 GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU ORACLE

II.2.1 LỚP VẬT LÝ VÀ LỚP LOGIC CỦA CSDL ORACLE

CSDL Oracle gồm có hai lớp: lớp vật lý và lớp logic

a Lớp vật lý

 Lớp vật lý của CSDL Oracle là một số tập tin nằm trên đĩa Vị trí vật lý của nhữngtập tin này không liên quan đến chức năng của CSDL nhưng có thể liên quan đến hiệunăng của CSDL Dữ liệu trong những tập tin này thường được truy xuất bởi các công cụcủa Oracle thông qua ngôn ngữ truy vấn có cấu trúc SQL

 Lớp vật lý bao gồm ba loại tập tin: các tập tin dữ liệu (data file), các tập tin điềukhiển (control file) và các tập tin phuc hồi (Redo log files)

 Data files: đây là các tập tin quan trọng nhất trong ba loại tập tin và là nơi chứa dữliệu thật sự của CSDL Các tập tin dữ liệu có kích thước lớn từ vài megabytes đến hànggigabytes Chúng lưu trữ các thông tin chứa trong CSDL Một CSDL nhỏ có thể có vàitập tin dữ liệu và có hàng trăm tập tin dữ liệu cho những CSDL lớn Phân bố lưu trữ thôngtin trên nhiều tập tin dữ liệu có thể làm tăng hiệu năng cho CSDL Số tập tin dữ liệu cóthể được giới hạn bằng tham số MAXDATAFILES khi tạo ra một CSDL mới

 Control files: một CSDL cần có một hay nhiều tập tin điều khiển, các tập tin điềukhiển lưu trữ thông tin cấu trúc của CSDL

 Redo log files: là các tập tin được sử dụng để lưu giữ các thông tin ban đầu vàtoàn bộ quá trình thay đổi của CSDL sau khi nó được tạo ra, phục vụ cho mục đích phụchồi lại CSDL trong trường hợp hệ thống bị sự cố

b Lớp logic

Lớp logic của Oracle gồm các nguyên tố sau:

 Một hay nhiều không gian bảng (tablespace)

 Các schame cơ sở dữ liệu gồm các đối tượng như table, view, index, cluster,stored procedure, trigger, sequence, …

 Mỗi schame CSDL thuộc sở hữu một user được xác định bởi một username vàpassword duy nhất đối với CSDL Sau khi đăng nhập vào CSDL với username vàpassword hợp lệ user có thể thao tác trên CSDL với quyền được cấp phát cho user đó ởcấp độ nào

Trang 18

Không gian bảng là một khái niệm trừu tượng, vậy không gian bảng có liên quannhư thế nào đến CSDL và các tập tin dữ liệu.

II.2.2 TABLESPACE VÀ CÁC TẬP TIN DỮ LIỆU

CSDL được chia thành một hay nhiều mẩu logic gọi là không gian bảng(tablespace) Một tablespace bao gồm một hay nhiều tập tin dữ liệu vật lý, việc phân bốnhiều hơn một tập tin dữ liệu trên một tablespace, có thể phân bổ dữ liệu trên nhiều đĩavật lý khác nhau để phân tán truy xuất vào ra và cải thiện khả năng thi hành

Khi tạo ra một CSDL, Oracle tự động tạo ra một tablespace SYSTEM, tablespacenày là nơi chứa tự điển dữ liệu Tự điển dữ liệu chứa thông tin về các table, index, cluster,

…Tablespace SYSTEM là vị trí mặc định của tất cả các đối tượng khi một CSDL đượctạo ra

Thông thường, người ta tạo nhiều tablespace để phân hóa các đối tượng khác nhaucủa CSDL đồng thời dành riêng tablespace SYSTEM cho từ điển dữ liệu, đây cũng là mộtphương pháp hữu hiệu để bảo đảm cơ sở dữ liệu luôn khỏe mạnh

Có thể mở rộng không gian một CSDL theo 3 cách sau:

Thêm một tập tin dữ liệu vào một tablespace

II.2.3 SCHAME CƠ SỞ DỮ LIỆU

Một schame CSDL là một tập hợp các cấu trúc logic các đối tượng hay schameobjects Schame objects này bao gồm tables, indexes, clusters, views, stored procedures,database triggers and sequences

1 Table

Một bảng là một đơn vị cơ sở lưu trữ vật lý trong CSDL Oracle, mà nó bao gồmmột tên bảng và các hàng, các cột của dữ liệu trong đó mỗi cột có một kiểu dữ liệu vớichiều dài xác định cho cột đó

a) Tạo Table

Cú pháp:

Trang 19

CREATE TABLE tênbảng (tên_cột kiểu_dữ_liệu(độdài) [,…n]);

- Tạo ràng buộc khóa chính cho bảng:

Cú pháp:

CONSTRAINT <tên_constraint> PRIMARY KEY <tên_cột [,…n]>;

- Tạo ràng buộc khóa ngoại cho bảng:

Cú pháp:

CONSTRAINT <tên_constraint foreign_key> FOREIGN KEY (tên cột là khóachính của bảng cha) REFERENCES tên_bảng_cha(tên cột là khóa chính của bảng cha);

- Tạo ràng buộc unique cho cột trong bảng:

Ràng buộc unique bảo đảm không có hai hàng của một bảng dữ liệu có giá trị trùngnhau trên cột có áp đặt ràng buộc này

Cú pháp:

CONSTRAINT <tên_constraint_unique> UNIQUE (tên_cột);

- Tạo ràng buộc Check Condition cho cột trong bảng:

Cú pháp:

CONSTRAINT <tên_constraint_check>CHECK(tên_cột toán_tử_so_sánh giá_trị);

- Tạo ràng buộc NOT NULL cho cột trong bảng:

Thêm cụm từ NOT NULL theo sau tên cột khi tạo bảng

Ví dụ: TênTỉnh VARCHAR2(20) NOT NULL,

b) Thêm, xóa và bổ sung độ dài dữ liệu một cột

- Thêm một cột:

Cú pháp:

ALTER TABLE tên_bảng ADD (tên_cột kiểu_dữ_liệu (độ dài));

- Xóa một cột:

ALTER TABLE tên_bảng DROP COLUMN (tên_cột);

- Bổ sung độ dài dữ liệu một cột:

ALTER TABLE tên_bảng MODIFY (tên_cột kiểu_dữ_liệu(độ dài));

Trang 20

a) Tạo view

Cú pháp:

CREATE VIEW tên_view AS (SELECT < tên_cột [,…n] > FROM <tên_bảng[,…n]>;

b) Xóa view

Ta có thể xóa view với cú pháp:

DROP VIEW tên_view;

3 Cluster

Cluster là một nhóm các bảng có cùng chung cột lưu trữ vật lý như một bảng để chia

sẻ cột chung cho các bảng trong nhóm đã tạo nên cluster

Cluster giúp giảm nhập/xuất đĩa và cải thiện thời gian truy cập nhờ nối các bảngcluster đồng thời cũng làm giảm không gian lưu trữ các bảng góp phần thu gọn khônggian cho CSDL

Có thể tạo cluster theo cú pháp:

CREATE CLUSTER tên_cluster(<tên_cột kiểu_dữ_liệu(độ dài)[,…n]>);

Tương tự như các đối tượng khác của Oracle ta có thể xóa Cluster theo cú pháp:

DROP CLUSTER tên_cluster;

4 Index

Index là cấu trúc tùy chọn kết hợp với các table và các cluster Ta có thể tạo ra cácindex tường minh để tăng tốc độ thực hiện các lệnh SQL trên các bảng Một index đơnthuần chỉ là một đường truy xuất nhanh đến dữ liệu, nó trỏ trực tiếp vào vị trí của hàngchứa giá trị index đó Index độc lập về mặt logic và vật lý với dữ liệu trong các bảng kếthợp Ta có thể tạo ra hay xóa một index bất cứ lúc nào mà không ảnh hưởng đến bảng gốc

và các index khác

Khi ta tạo ra các bảng với các ràng buộc khóa chính, khóa ngoại, unique thì Oracle

tự động tạo ra index tương ứng cho các bảng đó

Có thể tạo Index theo cú pháp:

CREATE INDEX tên_index ON tên_bảng(tên_cột);

Xóa Index theo cú pháp:

DROP INDEX tên_index;

Có nhiều quy luật tạo ra các sequence theo các từ khóa sẵn có của Oracle:

 Start with n: sequence được tạo ra với giá trị chỉ định ban đầu trong Start with khi

đó cột ảo NEXTVAL của sequence được tham trỏ

 Increment by n: Định nghĩa số tăng của sequence mỗi lúc cột ảo NEXTVAL đượctham trỏ

Trang 21

 Minvalue n: giá trị tối thiểu có thể tạo bởi sequence nếu từ khóa nominvalue chưađược sử dụng.

 Maxvalue n: giá trị tối đa có thể tạo bởi sequence nếu từ khóa nomaxvalue chưađược sử dụng

 Cycle: cho phép sequence tạo lại giá trị ban đầu khi đạt đến maxvalue hayminvalue nếu từ khóa nocycle chưa được sử dụng

 Cache n: cho phép sequence dùng bộ nhớ cache để tăng hiệu năng, nếu từ khóanocache chưa được sử dụng

 Order: cho phép gán các giá trị theo thứ tự yêu cầu, nếu không sử dụng order từkhóa nocache có thể sử dụng

6 Trigger

Trigger là một đối tượng CSDL được chạy tự động khi một sự kiện INSERT,UPDATE, DELETE trên bảng hay view có mốc nối với trigger

7 Stored procedure và function

Một stored procedure hay function là một đối tượng CSDL gồm một tập các lệnhSQL hay PL/SQL tạo thành một tập tin thực thi để thực hiện một tác vụ đặc biệt nào đó

Stored procedure và function cho phép ta kết hợp dễ dàng và linh động chức năng

có tính thủ tục với một ngôn ngữ lập trình có cấu trúc SQL

Các procedure và các function gần như giống nhau chỉ khác là function luôn trả vềmột hay nhiều giá trị, còn procedure thì không trả về giá trị nào

II.2.4 DATA BLOCKS, EXTENTS VÀ SEGMENTS

1 Quan Hệ Giữa Segments, Extents và Data Blocks

Oracle định vị không gian CSDL logic cho tất cả dữ liệu trong một CSDL Các đơn

vị của không gian CSDL là các data block, extent và segment

Đơn vị không gian logic nhỏ nhất của CSDL Oracle là data block Một data blocktương ứng với một số byte vật lý trên đĩa nhất định

Mức kế của không gian CSDL logic gọi là extent Một extent là một số xác định cácdata block liên tục được định vị để chứa một loại thông tin xác định

Mức lưu trữ CSDL trên extent là segment Một segment là một tập các extent đượcđịnh vị cho một loại cấu trúc CSDL đặt biệt

Oracle định vị các segment theo đơn vị một extent Khi các extent đang có của mộtsegment đầy, Oracle định vị thêm một extent mới khác cho segment đó Do các extentmới được định vị thêm khi cần thiết nên các extent của một segment có thể không nằmliên tục trên đĩa

Một segment được lưu trữ trong một tablespace Trong một tablespace một segment

có thể trải trên nhiều tập tin dữ liệu (datafile)

2 Data Block

Trang 22

Oracle quản lý không gian lưu trữ các tập tin dữ liệu của CSDL trong các đơn vịgọi là các khối dữ liệu, một khối dữ liệu là đơn vị xuất/nhập nhỏ nhất được sử dụng trongmột CSDL Ở mức vật lý, mức hệ điều hành tất cả dữ liệu được lưu trữ bằng byte.

3 Extent

Một extent là đơn vị không gian lưu trữ dữ liệu được tạo thành bởi một số datablock liên tục Một hay nhiều extent tạo thành một segment Khi không gian trongsegment đã chứa đầy Oracle định vị một extent mới cho segment

4 Segment

Một segment là một tập các extent chứa tất cả các dữ liệu cho một cấu trúc lưu trữlogic nhất định trong một tablespace

CSDL Oracle sử dụng bốn loại segment sau:

a Segment dữ liệu (data segment)

Mọi bảng không cluster, các patition và các cluster trong một CSDL Oracle đều cómột segment dữ liệu đơn để giữ tất cả các dữ liệu của nó Oracle tạo ra các segment dữliệu khi tạo ra các bảng với lệnh CREATE

d Segment Rollback.

Một CSDL chứa một hay nhiều segment rollback Một segment rollback ghi cácgiá trị cũ của dữ liệu thay đổi bởi một chuyển tác Các segment rollback được sử dụng đểcung cấp tính nhất quán khi đọc, phục hồi chuyển tác và phục hồi CSDL

II.2.5 BẢO MẬT CƠ SỞ DỮ LIỆU ORACLE

Oracle cho phép truy xuất cơ sở dữ liệu bằng cách sử dụng một tên đăng nhập vàmật khẩu Mô hình bảo mật cơ sở dữ liệu Oracle cần sự xác nhận mật khẩu của tất cả cácngười sử dụng trong cơ sở dữ liệu Sự điều khiển đối tượng cơ sở dữ liệu của một người

sử dụng có thể truy xuất, mức độ truy xuất của người sử dụng có thể có trên đối tượng và

Trang 23

quyền đặt các đối tượng mới vào cơ sở dữ liệu Oracle,…ở một mức cao, những sự điềukhiển này được gọi là các đặc quyền (privilege).

Các người sử dụng trong cơ sở dữ liệu Oracle được tạo ra bằng lệnh create user

Cú pháp:

CREATE USER tên_user IDENTIFIED BY password;

a) Gán các đặc quyền hệ thống cho user

Các đặc quyền hệ thống cấp cho user khả năng tạo ra, biến đổi hay xóa các đốitượng cơ sơ dữ liệu, lưu trữ dữ liệu cho ứng dụng trong Oracle Một user muốn làm được

một điều gì đó trong CSDL Oracle thì ít nhất user đó phải có đặc quyền gọi là connect.

Có hai phân loại trong phạm vi đặc quyền hệ thống của CSDL Oracle:

- Các đặc quyền hệ thống liên quan đến việc quản lý các đối tượng Các đối tượngnày bao gồm table, index, triger, …Ba hành động trên các đối tượng được quản lý bởi đặcquyền hệ thống là định nghĩa hay tạo ra đối tượng, thay đổi đối tượng đã tạo hay xóa đốitượng

- Một đặc quyền liên quan đến khả năng một user quản lý các hoạt động toàn cụcđặt biệt Những hoạt động này bao gồm các chức năng như giám sát hoạt động CSDL, tạothống kê để hỗ trợ sự tối ưu hóa dựa trên giá thành,…những hoạt động này chỉ có user có

đặc quyền restricted session là làm được.

Gán đặc quyền hệ thống được thực hiện bằng lệnh grant Để gán một đặc quyền hệ thống, người gán hoặc cần có đặc quyền tự gán with admin option hoặc user được gán

grant any privilege.

b) Sử dụng role để quản lý truy xuất cơ sơ dữ liệu

Khi CSDL lớn lên các đặc quyền trở nên cồng kềnh và khó quản lý Người quản trị

hệ thống có thể đơn giản hóa việc quản lý các đặc quyền bằng cách sử dụng một đối

tượng CSDL gọi là role.

Các role hoạt động theo hai tư cách trong cơ sở dữ liệu Đầu tiên, role có thể hoạtđộng như một điểm tập trung để nhóm các đặc quyền thực hiện một số tác vụ nhất định

Tư cách thứ hai là hoạt động như một user ảo của cơ sơ dữ liệu được cấp tất cả các đặcquyền đối tượng yêu cầu để thực hiện một chức năng, công việc nhất định

Để sử dụng role, cần phải có hai hành động sau xảy ra:

- Người quản trị cần phải nhóm logic các đặc quyền nhất định với nhau Nhóm cácđặc quyền này được gán cho một role có thể được bảo vệ bằng mật khẩu

- Người quản trị cần phải nhóm logic các user của một ứng dụng CSDL với nhautheo nhu cầu tương tự nhau Cuối cùng là gán các role cho các user đặc quyền tương tựtrong cơ sở dữ liệu

Trang 24

Các role có thể được thay thế để hỗ trợ yêu cầu mật khẩu bằng cách sử dụng lệnh

alter role identified by Việc xóa một role được thực hiện bằng lệnh drop role Hai tùy

chọn này chỉ có thể thực hiện bởi những user có các đặc quyền create any role, alter any

role, drop any role hay bởi người tạo ra các role đó (owner).

III.1 PHP LÀ GÌ?

PHP là một ngôn ngữ kịch bản phía máy phục vụ, mã nguồn mở được sử dụngrộng rãi vào các mục đích chung mà đặc biệt thích hợp cho phát triển Web và có thểnhúng vào trang HTML

Khi mới giới thiệu, PHP được viết tắt từ một nhóm từ tiếng Anh là Personal HomePage và bây giờ được tái viết tắt cho cụm từ: PHP Hypertext Preprocessor PHP được giớithiệu vào năm 1994 bởi Rasmus Lerdorf, như một bộ sưu tập của một ngôn ngữ chưa chặtchẽ dựa vào Perl Đến năm 1998, phiên bản 3 của PHP được công bố, từ đây PHP mớichính thức phát triển theo hướng tách riêng của mình PHP trở thành ngôn ngữ lập trình

có cấu trúc và tính năng đa dạng, chính vì thế được các nhà lập trình Web ưa dùng

Ngôn ngữ kịch bản PHP có thể nhúng vào HTML nên đây chính là điểm khác của

nó với các ngôn ngữ khác như Perl hoặc C, thay vì một chương trình được viết với nhiềudòng lệnh để xuất ra trang HTML, bạn viết một kịch bản HTML trong đó gắn mã nguồnPHP để làm một vài việc Mã nguồn PHP thực hiện trên máy phục vụ và trả về máy kháchyêu cầu nó kết quả dưới dạng các trang HTML Khối mã nguồn PHP được bao quanhgiữa các thẻ đặc biệt mà nó cho phép nhảy vào hay ra khỏi chế độ PHP

Có thể sử dụng bốn cách tổ chức các thẻ để biểu thị các khối của mã nguồn PHP:

Trang 25

 Kịch bản phía máy phục vụ: đây là nền mục tiêu chính và truyền thống nhất đạidiện cho PHP Bạn cần phải có ba thứ để làm việc ở nền này, đó là bộ phân tích cú phápPHP (CGI hoặc môđun máy phục vụ), một máy phục vụ Web và một trình duyệt Web.Bạn cần phải chạy máy phục vụ Web với một kết nối đến PHP đã được cài đặt Bạn có thểtruy cập chương trình PHP xuất ra với trình duyệt Web để nhìn trang PHP trả về từ máyphục vụ.

 Kịch bản dòng lệnh: bạn có thể tạo một kịch bản PHP để chạy nó mà không cần bất

cứ máy phục vụ hoặc trình duyệt Web nào Bạn chỉ cần sử dụng bộ phân tích cú phápPHP trong cách này

 Viết các ứng dụng GUI phía máy khách: PHP thì không có khả năng để viết rất tốtcác ứng dụng windows nhưng nếu PHP của bạn tuyệt vời và có thể sử dụng những đặctrưng thuận lợi của PHP trên các ứng dụng phía máy khách bạn cũng có thể sử dụng PHP-GIK để viết các chương trình

PHP có thể sử dụng trên tất cả các hệ điều hành chính, bao gồm Linux, nhiều hệUnix khác nhau, Microsoft Windows, Mac OS X, RISC OS, …PHP cũng hỗ trợ cho hầuhết các máy phục vụ Web hiện nay như là Apache, Microsoft Internet Information Server,Personal Web Server, … Vì thế với PHP, bạn có thể tự do chọn lựa một hệ điều hành vàmột máy phục vụ Web Hơn thế nữa, bạn cũng có thể chọn cách lập trình thủ tục hoặc lậptrình hướng đối tượng hoặc trộn lẫn cả hai

PHP không hạn chế trong việc xuất ra trang HTML PHP có khả năng bao gồmxuất ra các dạng hình ảnh, các tệp PDF và thậm chí cả phim ảnh dưới dạng Flash Bạncũng có thể dễ dàng xuất ra mọi kiểu văn bản như là XHTML và bất kỳ tệp XML khác.PHP có thể tự động sinh ra các tệp dạng này và lưu chúng trong hệ thống tệp thay vì in nó

ra, nội dung động được định dạng nhanh từ phía máy phục vụ

Trang 26

Một đặc trưng mạnh và quan trọng nhất trong PHP là nó hỗ trợ nhiều hệ cơ sơ dữliệu Viết một trang Web cho phép cập nhật cơ sở dữ liệu thì đơn giản đến lạ thường Các

cơ sở dữ liệu được hỗ trợ gồm: MySQL, MS-SQL, Oracle(OCI7 và OCI8), PostgreSQL,mSQL,…PHP hỗ trợ ODBC vì thế bạn có thể kết nối bất kỳ cơ sở dữ liệu nào hổ trợ tiêuchuẩn quốc tế này

PHP còn hỗ trợ cho việc giao tiếp với các dịch vụ sử dụng các giao thức như làPOP3, HTTP, COM, SNMP, NNTP,…

Khi sử dụng PHP trong nền thương mại điện tử, bạn sẽ tìm thấy nhiều hàm hữudụng cho các chương trình thanh toán trên mạng

Cuối cùng nhưng không kém phần quan trọng, chúng ta có được nhiều mở rộngthú vị khác, các hàm cho bộ máy tìm kiếm mnoGoSearch, các hàm cổng IRC, nhiều tiệních nén, chuyển đổi, thông dịch,…

III.3 CÁC KIỂU DỮ LIỆU

III.3.1 KIỂU BOOLEAN

Đây là kiểu đơn giản nhất, nó có thể có hai giá trị TRUE hoặc FALSE

$c = 0123; // số viết dưới hệ bát phân (giá trị thập phân là 83)

$d = 0x1A; // số viết dưới hệ thập lục phân (giá trị thập phân là 26)

Trang 27

$c = 7E-10;

?>

III.3.4 KIẺU CHUỖI (STRINGS)

Một chuỗi là một nhóm các ký tự

Có ba cách khác nhau để xác định một chuỗi trong PHP:

- Dùng dấu nháy đơn (single qouted):

Đây là cách dễ nhất để xác định một chuỗi là nó bao quanh trong hai dấu nháy đơn (‘’)

Ví dụ:

<?

echo ‘Dấu nháy đơn.’;

?>

- Dùng dấu nháy kép (double qouted):

Chuỗi được bao quanh trong hai dấu nháy kép (“ ”)

Các chuỗi có thể được nối với nhau bằng cách sử dụng toán tử chấm ‘.’

III.3.5 KIỂU MẢNG (ARRAY)

Có thể tạo mảng trong PHP với hàm array()

Cú pháp: array([Từ khóa =>] giá trị,…)

Từ khóa: có thể là một số nguyên hay một chuỗi

Ví dụ:

<?

$arr = array(“foo” => “bar”, 12 => true);

echo $arr[“foo”]; //bar

echo $arr[12]; //1

?>

Trang 28

Có thể thêm một phần tử vào mảng đã khai báo với cú pháp:

$arr[từ khóa] = giá trị;

$arr = array(“foo” => “bar”, 12 => true);

$arr[] = 56; // sẽ được PHP hiểu như $arr[13] = 56;

$arr[“x”] = 24; // thêm một phần tử vào mảng với từ khóa là “x”

unset($arr[“foo”]); // xóa phần tử có từ khóa là “foo”

unset($arr); Xóa mảng $arr

array(array(“a”, “b”, 25), array(“c”, “d”, 30), array(“e”, “f”, 35)),

array(array(“a”, “b”, 40), array(“c”, “d”, 45), array(“e”, “f”, 50))

Trang 29

III.4.1 MỘT SỐ BIẾN TOÀN CỤC ĐƯỢC TẠO SẴN TRONG PHP

 $GLOBALS: chứa một tham chiếu đến mỗi biến mà nó có giá trị hiện hành trongphạm vi toàn cục của kịch bản Các từ khóa của mảng này là tên của các biến toàn cục

Trang 30

Một đặc trưng quan trọng khác của phạm vi biến là khai báo biến với từ khóa static.

Một biến được khai báo static chỉ tồn tại trong phạm vi cục bộ của hàm

III.4.3 CÁC BIẾN BÊN NGOÀI PHẠM VI PHP

-HTML Forms: Một form được viết bằng HTML, hành động của form này gọi mộtscript PHP, thông tin trên form sẽ có giá trị trong script Có nhiều cách để truy cập cácthông tin này

Ví dụ:

Form HTML đơn giản:

<form action = “foo.php” method = “post”>

Name: <input type = “text” name = “name”><br>

<input type = “submit” name = “submit”>

Trang 31

- Các biến trong IMAGE SUBMIT:

Khi dùng một ảnh để thực hiện submit thay vì sử dụng nút submit như trên

Ví dụ:

<input type = “image” scr = “image.gif” name = “sub”>

Khi người dùng click chuột lên ảnh, form tương ứng sẽ truyền đến máy phục vụ thêmhai biến là sub_x và sub_y Những biến này sẽ lưu giữ tọa độ mà người dùng click chuộttrên ảnh

- HTTP Cookies

PHP hỗ trợ HTTP Cookies trông suốt như định nghĩa của Netcape’s Spec Cookie lưutrữ thông tin máy vận hành của trình duyệt ở xa để theo dõi hoặc nhận biết khi người sửdụng truy cập trở lại Có thể thiết lập cookie bằng cách sử dụng hàm SetCookie()

III.5 HẰNG SỐ

PHP định nghĩa sẵn một số hằng số sau:

 _FILE_: Tên của tệp script đang được thực hiện

 _LINE_: Số dòng của mã script đang được thực hiện trong tệp script hiện tại

 _PHP_VERSION_: Phiên bản của PHP

 TRUE, FALSE

 E_ERROR: Báo hiệu có lỗi

 E_PARSE: Báo lỗi sai khi biên dịch

 E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không

 E_ALL: Tất cả lỗi và cảnh báo

Có thể định nghĩa một hằng số bằng hàm define()

Ví dụ:

<?

define(“CONSTANT”, “Hello World.”);

echo CONSTANT; // Hello World

Trang 32

PHP hỗ trợ ba kiểu giá trị cơ bản nhất: số nguyên, số thực, và chuỗi Ngoài ra còn

có mảng và đối tượng Mỗi kiểu giá trị này đều có thể gán cho các biến hay làm giá trị trả

III.7 CẤU TRÚC ĐIỀU KHIỂN

Cũng giống như trong các ngôn ngữ lập trình khác, PHP cũng có các cấu trúc điềukhiển

III.7.1 CÂU LỆNH IF

If (điều kiện) { các lệnh thực hiện; }

III.7.2 CÂU LỆNH IF …ELSE

Trang 33

} while (điều kiện)

Vòng lặp loại này thực hiện ít nhất một lần

III.7.8 BREAK VÀ CONTINUE

- break: kết thúc thực hiện cấu trúc lặp hiện thời (for, foreach, while, do while vàswitch )

- continue: Bỏ qua vòng lặp hiện tại và tiếp tục thực hiện vòng lặp tiếp theo

III.7.9 CÂU LỆNH SWITCH

switch (biến) {

case trường hợp 1: … break;

case trường hợp 2: … break;

Trang 34

case trường hợp 3: … break;

default:

}

III.8 HÀM

Một hàm có thể được định nghĩa bằng cách sử dụng có pháp sau:

function Tên_hàm (đối_số_1, đối_số_2, … đối_số_n)

echo $str; // ‘This is a string, and something extra.’

III.8.3 ĐỐI SỐ CÓ GIÁ TRỊ MẶC ĐỊNH

Kết quả thu được:

Making a cup of cappucino

Making a cup of espresso

Chú ý:

Trang 35

Khi sử dụng hàm có nhiều đối số và có đối số có giá trị mặc định, các đối số này phải nằm về phía bên phải nhất trong danh sách các đối số.

III.8.4 HÀM CÓ GIÁ TRỊ TRẢ VỀ

Giá trị được trả về bằng cách sử dụng lệnh tùy chọn trả về return Có thể trả về bất kỳ

giá trị nào, không thể trả về nhiều giá trị riêng lẻ nhưng có thể trả về một mảng các giá trị

Trang 36

III.8.6 CÁC TOÁN TỬ

Các toán tử số học: + - * / %

Các toán tử logic: And (&&), Or ( || ), Not ( ! ) , Xor

Các toán tử thao tác với bit: And (&), Or ( | ), Not ( ~ ) , Xor ( ^ ), dịch trái (<<), dịch phải (>>)

Hai toán tử (1), (2) ở trên chỉ có trong phiên bản PHP 4

Toán tử điều khiển lỗi: @ - khi đứng trước một biểu thức trì các lỗi của biểu thức sẽ bị

bỏ qua và lưu trong $php_errormsg

Toán tử thực thi: ` ` - PHP sẽ thực hiện nội dung nằm trong hai dấu ` như một lệnh shell Trả về giá trị là kết quả trực hiện lệnh

III.9 LỚP VÀ ĐỐI TƯỢNG

Lớp là tập hợp các biến và các hàm làm việc với các biến này Một lớp được định nghĩa sử dụng cú pháp như sau:

Trang 37

Lớp có thể được mở rộng bằng những lớp khác Lớp mới thu được có tất cả các biến và

hàm của lớp thành phần Thực hiện kế thừa lớp bằng cách sử dụng từ khóa extends.

Hàm khởi tạo lớp (contructors) của lớp được gọi tự động khi tạo mới một biến kiểu lớp

bằng từ khóa new.Tuy nhiên, các hàm khởi tạo của lớp cha sẽ không được gọi khi hàm

khởi tạo của lớp con được gọi

III.10 THAM CHIẾU

Trong PHP, tham chiếu có nghĩa là truy cập nội dung của biến giống nhau bằng tên biến khác nhau Không giống với con trỏ trong ngôn ngữ C, con trỏ thì tượng trưng cho

Trang 38

bảng các bí banh Trong PHP, tên biến và nội dung của biến là khác nhau, vì vậy cùng một nội dung có thể có nhiều tên khác nhau.

Tham chiếu trong PHP cho phép bạn tạo ra hai biến có cùng nội dung

Ví dụ:

$a = & $b;

Tham chiếu truyền giá trị bằng tham chiếu Thực hiện bằng cách tạo một hàm cục bộ

và truyền cho hàm giá trị được tham chiếu

Trang 39

PHP cung cấp cho người lập trình với hệ cơ sở dữ liệu Oracle một số lượng lớn cáchàm định nghĩa sẵn, phần sau đây sẽ đề cập đến một số hàm thường xuyên sử dụng.

OCILogon(): thiết lập một kết nối với Oracle.

Cú pháp:

int OCILogon ( string username, string password [, string db])

Hàm này trả về một đặc điểm nhận dạng kết nối cần thiết cho hầu hết các cuộc gọiOCI khác Tùy chọn tham số thứ ba có thể chứa tên thể hiện của Oracle cục bộ hoặc tênkhai báo trong tệp tnsnames.ora mà bạn muốn kết nối Nếu tham số thứ ba không đượcxác định PHP sử dụng các biến môi trường ORACLE_SID hoặc TWO_TASK để xácđịnh cơ sở dữ liệu để kết nối

OCINLogon(): thiết lập một kết nối mới với Oracle.

Cú pháp:

int OCINLogon ( string username, string password [, string db])

OCIPLogon(): kết nối đến cơ sở dữ liệu Oracle sử dụng một kết nối bền bỉ.

Cú pháp:

int OCIPLogon ( string username, string password [, string db])

OCILogoff(): ngắt kết nối với Oracle.

Cú pháp:

bool OCILogOff ( int connection)

OCIParse(): Phân tích cú pháp một truy vấn và trả về một lệnh.

Cú pháp:

int OCIParse ( int conn, string query)

Hàm này trả về nhận dạng lệnh nếu query hợp lệ hoặc FALSE nếu query sai Đối số

query trong hàm có thể là bất kỳ câu lệnh SQL nào hoặc khối PL/SQL.

OCIExecute(): Thực thi một lệnh

Cú pháp:

int OCIExecute ( int statement [, int mode])

OCIExecute thực thi lệnh sau khi nó được phân tích cú pháp bằng hàm OCIParse() Tùy chọn mode cho phép nhận biết kiểu thực hiện (mặc định là

OCI_COMMIT_ON_SUCCESS) Nếu không muốn lệnh tự động commit thì nhận dạng làOCI_DEFAULT

Hàm này trả về TRUE nếu thành công hoặc FALSE nếu thất bại

OCICommit(): Hoàn thành các giao dịch chưa hoàn tất.

Cú pháp:

bool OCICommit ( int connection)

Hàm này trả về TRUE nếu thành công hoặc FALSE nếu thất bại

OCIRollback()

Trang 40

Cú pháp:

bool OCIRollback ( int connection)

Quay lại các thao tác đã đi qua

Hàm này trả về TRUE nếu thành công hoặc FALSE nếu thất bại

int OCIFetchInto ( int stmt, array &result [, int mode])

Hàm này mang hàng kế tiếp vào trong mảng result (cho câu lệnh SELECT) Nó sẽ ghi

đè lên nội dung trước đó trong result.

Tham số mode cho phép thay đổi đối xử mặc định Bạn có thể nhận biết nhiều hơn một

cờ bằng cách đơn giản là cộng thêm vào nó vào

int OCIFetchStatement ( int stmt, array & variable)

Hàm này mang tất cả các hàng từ kết quả vào trong mảng được định nghĩa Nó còn trả

về số hàng đã lấy được

OCIResult()

Cú pháp:

mixed OCIResult ( int statement, mixed column)

Hàm OCIResult() trả về giá trị cột của hàng đã lấy Nó còn trả về mọi thứ như chuỗingoại trừ các kiểu trừu tượng (như FILEs, LOBs và ROWIDs)

OCIRowCount()

Cú pháp:

int OCIRowCount ( int statement)

Hàm này trả về số hàm làm ảnh hưởng, ví dụ như thực hiện lệnh cập nhật Đây là hàmkhông báo cho bạn biết số hàng mà bạn đã chọn lựa (select)

OCINumCols(): trả về số cột trong lệnh.

Cú pháp:

int OCINumCols ( int stmt)

Ngày đăng: 23/11/2012, 13:46

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6] Oracle.com – http://www.oracle.com Link
[7] OracleMagazine – http://otn.oracle.com/oraclemagazine Link
[9] PHP.Net – http://www.php.net/ Link
[10] ZEND.Com – http://www.zend.com/ Link
[11] PHPBuilder – http://www.phpbuilder.com Link
[12] WebMonkey.com – http://www.webmonkey.com Link
[1] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Đại học Quốc gia Hà Nội - 2003 Khác
[2] Thạc Bình Cường, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Khoa học và Kỹ thuật - 2002 Khác
[3] Trần Tiến Dũng, Giáo trình lý thuyết và thực hành Oracle, Nhà xuất bản Giáo dục - 2000 Khác
[4] Nguyễn Ngọc Tuấn, Oracle 8i Toàn Tập, Nhà xuất bản Thống kê - 2000 Khác
[5] Nhóm VN-GUIDE, Giáo trình tự học Oracle 8, Nhà xuất bản Thống kê - 2000 Khác
[8] Luke Welling and Laura Thomson, PHP and MySQL Web Development, Sams Publishing - 2001 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1: Liên lạc trên Internet I.1.2. INTERNET BẮT NGUỒN TỪ ĐÂU? - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 1 Liên lạc trên Internet I.1.2. INTERNET BẮT NGUỒN TỪ ĐÂU? (Trang 2)
Hình 1:  Liên lạc trên Internet I.1.2. INTERNET BẮT NGUỒN TỪ ĐÂU? - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 1 Liên lạc trên Internet I.1.2. INTERNET BẮT NGUỒN TỪ ĐÂU? (Trang 2)
Hình 2: Mô hình mạng TCP/IP. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 2 Mô hình mạng TCP/IP (Trang 3)
Hình 2: Mô hình mạng TCP/IP. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 2 Mô hình mạng TCP/IP (Trang 3)
Hình 3: Mô hình kết nối TCP/IP - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 3 Mô hình kết nối TCP/IP (Trang 5)
Hình 3: Mô hình kết nối TCP/IP - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 3 Mô hình kết nối TCP/IP (Trang 5)
Hình 4: Sơ đồ hoạt động của mạng E-mail - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 4 Sơ đồ hoạt động của mạng E-mail (Trang 9)
Hình 4: Sơ đồ hoạt động của mạng E-mail - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
Hình 4 Sơ đồ hoạt động của mạng E-mail (Trang 9)
Bảng TK tồn kho, TH sản uất - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
ng TK tồn kho, TH sản uất (Trang 48)
4) Phân Rã Thống Kê Tình Hình Mua Bán Và Tồn Kho - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
4 Phân Rã Thống Kê Tình Hình Mua Bán Và Tồn Kho (Trang 52)
Bảng TK tình hình bán hàngBảng thống kê tình hình - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
ng TK tình hình bán hàngBảng thống kê tình hình (Trang 52)
Mô hình thực thể/liên kết hoàn chỉnh cho hệ thống được xây dựng như sau:Đơn vị tính - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
h ình thực thể/liên kết hoàn chỉnh cho hệ thống được xây dựng như sau:Đơn vị tính (Trang 66)
HÌNH THỨC KHUYẾN MÃI (Mã HT, Tên HT, Định Mức) KHUYẾN MÃI (Mã HT, Ngày bắt đầu, Ngày kết thúc) KH-MÃI_CT (Mã HT, Mã thuốc, Mức KM) - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
n HT, Định Mức) KHUYẾN MÃI (Mã HT, Ngày bắt đầu, Ngày kết thúc) KH-MÃI_CT (Mã HT, Mã thuốc, Mức KM) (Trang 68)
9 Hình ảnh Varchar2(50) - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
9 Hình ảnh Varchar2(50) (Trang 72)
Nguyên liệu sẽ được chuyển đến màn hình sau để nhập tiếp thông tin nhà cung cấp, số hóa - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
guy ên liệu sẽ được chuyển đến màn hình sau để nhập tiếp thông tin nhà cung cấp, số hóa (Trang 88)
24) Công ty nhận đơn đặt hàng từ khách hàng bằng mọi hình thức như qua điện thoại, fax, … nên nhân viên cũng lập các đơn đặt hàng này cho khách hàng để quản lý đơn đặt  hàng - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
24 Công ty nhận đơn đặt hàng từ khách hàng bằng mọi hình thức như qua điện thoại, fax, … nên nhân viên cũng lập các đơn đặt hàng này cho khách hàng để quản lý đơn đặt hàng (Trang 91)
30) Màn hình nhận được tiếp theo như sau: - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
30 Màn hình nhận được tiếp theo như sau: (Trang 94)
35) Bảng tổng hợp các phiếu xuất nguyên liệu để sản xuất các loại thuốc. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
35 Bảng tổng hợp các phiếu xuất nguyên liệu để sản xuất các loại thuốc (Trang 96)
35) Bảng tổng hợp các phiếu xuất nguyên liệu để sản xuất các loại thuốc. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
35 Bảng tổng hợp các phiếu xuất nguyên liệu để sản xuất các loại thuốc (Trang 96)
36) Bảng tổng hợp chi tiết các lô thuốc hiện hành trong kho thuốc. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
36 Bảng tổng hợp chi tiết các lô thuốc hiện hành trong kho thuốc (Trang 97)
37) Bảng tổng hợp chi tiết các đơn đặt hàng của khách hàng. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
37 Bảng tổng hợp chi tiết các đơn đặt hàng của khách hàng (Trang 97)
36) Bảng tổng hợp chi tiết các lô thuốc hiện hành trong kho thuốc. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
36 Bảng tổng hợp chi tiết các lô thuốc hiện hành trong kho thuốc (Trang 97)
37) Bảng tổng hợp chi tiết các đơn đặt hàng của khách hàng. - Phân tích thiết kế hệ thống kinh doanh thuốc thú y và thủy sản của công ty TNHH Quốc Minh
37 Bảng tổng hợp chi tiết các đơn đặt hàng của khách hàng (Trang 97)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w