-Là các bảng ( tổng quát là các quan hệ )dữ liệu hai chiêù .Các bảng này bao gồm một hoặc nhiều cột và hàng.Các cột gọi là các trường ,các hàng gọi là các bản ghi.Cột với tên gọi và kiểu dữ liệu (kiểu dl của mỗi cột là duy nhất)xác định tạo nên cấu trúc của bảng (Ta có thể dùng lệnh Desc[ribe] TABLE-name để xem cấu trúc của bảng ,phần tuỳ chọn[] có thể được bỏ trong Oracle).Khi bảng đã được tổ chức hệ thống cho một mục đích nào đó có một CSDL
4.5.4 Các kiểu dữ liệu cơ bản của SQL:
-Integer:Số nguyên:-2147483648 đến 2147483647 -Smallinteger:-32768 đến 32767
-Number(n,p):số thập phân độ dài tối đa là n kể cả p chữ số thập phân(không tính dấu chấm).
-char (n):xâu có độ dài cố định là n n<=255 -varchar(n):xâu có độ dài biến đổi (0-:-n)
-long varchar :xâu có độ dài không cố định,độ dài có thể thay đổi 4Kb-:-32Kb -Date:Dữ liệu kiểu ngày.
4.5.5 Giới thiệu các tập lệnh cơ bản của SQL:
Tập lệnh SELECT:Ðây là lệnh thường được dùng nhiều nhất trong CSDL ,nó thường được sử dụng để nhận dữ liệu từ CSDL.
-Tập lệnh INSERT,UPDATE,DELETE:các lệnh này thường hay được dùng để vào một hàng mới,sửa đổi hay xoá bỏ các hàng đã tồn tại trong các quan hệ của CSDL.
-Tập lệnh CREATE,ALTER,DROP:Ba lệnh này dùng để tạo,thay đổi,xoá bỏ bất kỳ cấu trúc dữ liệu nào của các quan hệ như TABLE ,VIEW,INDEX..
-Tập lệnh GRANT,REVOKE:Hai lệnh này được sử dụng để cho phép quyền truy nhập hay không cho phép quyền truy nhập tới CSDL của Oracle và cấu trúc bên trong nó. Trong phần giới thiệu các tập lệnh này ta dùng ba bảng quan hệ sau làm ví dụ minh hoạ: R1(Nhân viên) (#NV,Ho_tên,Nsinh,nghề nghiệp,Ðìa chỉ,lương)
R2(Liên kết) (#NV,#MP)
R3(phong) (#Mp,Tên_phong,tel) 1>Lệnh SELECT:
*Mệnh đề SELECT tương ứng với toán tử project(phép chiếu p) của đại số quan hệ.Nó được dùng để tạo danh sách các thuộc tính mà ta mong muốn.Khối lệnh SELECT gồm có ba mệnh đề chính:
+SELECT:xác định nội dung của các cột cần đưa ra. +FROM:danh sách các quan hệ được quét qua
+WHERE:ứng với một khẳng định lựa chọn của đại số quan hệ.Nó là một khẳng định liên quan đến các thuộc tính của quan hệ xuất hiện trong mệnh đề FROM:
-Một hỏi đáp cuả SELECT thường có dạng:
SELECT [distinct]*/A1..An FROM r1..rm
[WHERE p]; Trong đó :
Ai là các thuộc tính
rj là các quan hệ (có thể là các TABLEs,VIEWs..)Ta có thể dùng các bí danh cho các Ai,rj. p:là điều kiện ràng buộc.
ở đây WHERE có thể có hoặc không.
Dùng *để chỉ tất cả các thuộc tính của các quan hệ được chọn -Hỏi đáp này tưong đương với biểu diễn sau trong quan hệ:
pA1..An[S p(r1..rm)]
-Ðể loại bỏ các bộ giá trị (các hàng) trùng nhau ta thêm từ khoá Distinct vào sauSELECT (trước đây SQL thêm từ khoá unique).
-Trong khẳng định p:ta có thể dùng các liên từ logic and,or,not khi kết hợp nhiều điều kiện VD1:Ðể hiện các thông tin về một nhân viên nào đó
gồm(#,Họ_tên,N_sinh,Chức_vụ,địa_chỉ,lương)
SELECT Distinct * FROM R1;
*Ðưa ra (họ_tên,Nsinh,chức_vụ,địa_chỉ,lương,tên_phòng) với đIều kiện lương>500.000 và đia_chỉ không ở Hà nội
SELECT Ho_tên,Nsinhn,chức_vụ,địa_chỉ,lương,tên_phòng FROM Nhânviên R1,Liênkêt R2,Phong R3
WHERE (R1.lương>500.000) and (not R1.địa_chỉ=’Hà nội’) and
(R1.#NV=R2.#NV) and (R2.#MP=R3.#MP);
-Trong lệnh trên ta đã dùng R1,R2,R3 làm bí danh cho Nhânviên, Liênkêt,Phong Các bí danh đó chỉ có tác dụng trong một câu lệnh
Các ví dụ sau này ta dùng R1,R2,R3 để thay cho các bảng trên cho gọn
Có 4 toán tử hay được dùng với các kiểu dữ liệu.Trong mệnh đề WHERE là:
In (not In)
Between..and..(not between..) Like(not like)
Is null (not is Null).
+Toán tử In (not In):dùng để kiểm tra giá trị trong(không nằm trong) một danh sách được chỉ ra.
Ví d ụ :đưa ra những người có đia_chỉ ở Hà nội và Hà tây.
SELECT * FROM R1 WHERE đia_chỉ in (‘Hà nội’,’Hà tây’);
+Toán tử Between..and..(not ..) : kiểm tra giá trị nằm giữa (không nằm giữa) một phạm vi được chỉ ra.
VD :đưa ra những người có lương nằm trong khoảng (500.000-:-1.000.000).
SELECT * FROM R1 WHERE lương between 500.000 and 1.000.000;
+Toán tử like (not like):dùng để kiểm tra những giá trị giống (không giống) với giá tri sau like,thường sử dụng với xâu ký tự và khi ta không biết chính xác giá trị cần tìm kiếm hoặc giá trị cần tìm kiếm giống một mẫu nào đó.Trong SQL người ta sử dụng ký hiệu % cho xâu con và ‘_’cho 1 ký tự bất kỳ.
VD:Tìm những người có tên mà có ký tự đầu tiên bất kỳ,ký tự tiềp theo là OA và tiếp theo là dãy ký tự bất kỳ:
SELECT *FROM R1 WHERE hoten=’_OA%’;
+Toán tử Is Null (not is Null):kiểm tra cho các giá trị rỗng (không rỗng); VD:Ðưa ra tất cả những nhân viên mà đã cập nhật địa chỉ
SELECT *FROM R1 WHERE Dia_chi Not Is Null;
-Các hàm hay được sử dụng trong mệnh đề SELECT:
+AVG:tính giá trị trung bình của một hoặc nhiều trường bỏ qua các giá trị rỗng. VD:tính lương TB của cơ quan:
SELECT AVG(lương) FROM R1;
+Count:được dùng để đếm các bộ (hàng)
VD:ÐIểm tổng số bản ghi từ R1 có lưong>500.000
SELECT count(*) FROM R1 WHERE lương>500.000
+Hàm Max:tìm giá trị lớn nhất của biểu thức:
VD:tìm người có lương lớn nhát trong R1 có địa chỉ ở Hà Tây
SELECT Max(lương) FROM R1 WHERE địa_chỉ=’Hà_tây’;
+Hàm Min:tìm giá trị nhỏ nhất của biểu thức:
VD:tìm người có lương nhỏ nhát trong R1 có địa chỉ ở Hà Tây
SELECT Min(lương) FROM R1 WHERE địa_chỉ=’Hà_tây’;
+Hàm Sum:tính tổng giá trị bỏ qua giá trị rỗng. VD:Tính tổng lươngcủa cơ quan
SELECT Sum(lương) FROM R1;
-NgoàI 3 mệnh đề chính trên ta còn có thể :
+Tìm kiếm theo nhóm nhờ mệnh đề GROUP BYđược sử dụngđể phân chia các bộ thành các nhóm nhỏ .
VD:Ðưa ra danh sách các nhân viên theo nhóm địa chỉ
SELECT *FROM R1 Group by Ðia_chỉ;
Thường đi với mệnh đề Group by là mệnh đề Having by sử dụng để chỉ ra những hạn chế của các nhóm được hiển thị.Chú ý rằng mệnh đề Having by chỉ đi với Group by và điều kiện của nó chỉ tác động đến từng nhóm bản ghi được chỉ ra ở mệnh đề Group by chứ không tác động đến toàn bảng.
VD: Ðưa ra danh sách các nhóm nhân viên cùng chức vụ và có lương >500.000
SELECT * FROM R1Group by chức_vụ Group by chức_vụ
Having by lương>500.000
-Sắp xếp theo một hoặc nhiều trường ta dùng mệnh đề
ORDER BY (colum1/[ASc|Desc] ..)
+ASc sắp xếp theo chiều tăng (ngầm định) +Desc sắp xếp theo chiều giảm
VD Sắp xếp nhân viên theo chiều giảm theo lương ,nếu cùng mức lương thì theo sắp xếp theo chiều xếp theo chiều tăng ho_tên
SELECT * FROM R1 ORDER BY lương/Desc,ho_tên;
4.6 JavaScript
4.6.1 JavaScript là gì?
Với HTML chúng ta đã biết cách tạo ra trang Web – tuy nhiên chỉ mới ở mức biểu diễn thông tin chứ chưa phải là các trang Web động có khả năng đáp ứng các sự kiện từ phía người dùng. Hãng Netscape đã đưa ra ngôn ngữ script có tên là LiveScript để thực hiện chức năng này. Sau đó được đổi tên thành JavaScipt để tận dụng tính đại chúng của ngôn ngữ lập trình Java. Mặc dù có những điểm tương đồng giữa Java và JavaScipt , nhưng chúng vẫn là hai ngôn ngữ riêng biệt
JavaScript là ngôn ngữ kịch bản dùng để tạo các client-side scripts và server-side scripts. JavaScript làm cho việc tạo các trang Web động và tương tác dễ dàng hơn. JavaScript làm một ngôn ngữ kịch bản được hãng Sun Microsystems và Netscape phát triển. JavaScript được phát triển từ Livescript. Của Netscape . Các ứng dụng client chạy trên một trình duyệt như Netscape Navigator hoặc Internet Explorer.
JavaScript có thể tăng cường tính động và tính tương tác của các website bằng cách sử dụng các hiệu ứng của nó.
• Cung cấp sự tương tác người dùng • Thay đổi nội dung động
• Xác nhận tính hợp lệ của dữ liệu
Tương tự các ngôn ngữ khác, JavaScript cũng tuân theo các quy tắc ngữ pháp như: • Sử dụng quy tắt chữ hoa
• Using Pairs • Using Spaces • Using Comments
4.6.2 Nhúng JavaScript vào trang web
JavaScript có thể chèn vào một tài liệu HTML theo những cách sau : 1. Sử dụng thẻ SCRIPT
2. Sử dụng một file JavaScript ở ngoài
3. Sử dụng các biểu thức JavaScript trong các giá trị thuộc tính của thẻ 4. Sử dụng JavaScripttrong các trình điều khiển sự kiện
VD:
1. Sử dụng thẻ Scipt:
<script language = “JavaScript”> <! –
JavaScript statements; //-->
2. Sử dụng một file JavaScript ở ngoài
<script language = “JavaScript” src=”filename.js”> </script>
Filename là file văn bản chứa các mã lệnh JavaScript, tên file có phần mở rộng là “.js”.
Nó chỉ có thể chứa các câu lệnh và các hàm JavaScript, không thể chứa các thẻ HTML.
3. Dùng JavaScript trong các trình điều khiển sự kiện. <HTML>
<HEAD>
<SCRIPT> function vidu() {
alert ("Xin chao!"); }
</SCRIPT> </HEAD>
<BODY>
<FORM>
<INPUT TYPE="button" VALUE="Bam vao day" onClick="vidu()">
</FORM> </BODY>