1. Trang chủ
  2. » Công Nghệ Thông Tin

Microsoft visual foxpro 6.0 - hệ quản trị cơ sở dữ liệu phần 2 ppsx

74 1,3K 2
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 74
Dung lượng 398 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CƠ SỞ DỮ LIỆU Khóa chính primary key của một bảng là một hoặc một tập tối thiểu các trường dùng phân biệt giữa các bản ghi trong bảng.. CƠ SỞ DỮ LIỆU Thiết kế cơ sở dữ liệu – Xác địn

Trang 1

MICROSOFT VISUAL

FOXPRO 6.0

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 1

Người thực hiện: Phan Đình Sinh

Trang 2

BÀI 3: CƠ SỞ DỮ LIỆU

Khái niệm

– Visual Foxpro cho phép tổ chức toàn bộ dữ liệu

và các xử lý của một ứng dụng trong một file

dự án (*.pjx).

– CSDL là một kho chứa dữ liệu, gồm nhiều bảng

dữ liệu khác nhau và mối quan hệ giữa các bảng.

– Bảng dữ liệu tổ chức theo dạng dòng và cột, mỗi dòng là một bản ghi (record), mỗi cột là

Trang 3

CƠ SỞ DỮ LIỆU

 Một bảng dữ liệu được lưu trữ có phần mở rộng mặc định là DBF và có hai phần: cấu trúc và nội dung.

Ví dụ: Bảng sinh viên (SINHVIEN.DBF) có cấu trúc

sau:

FIELD TYPE WIDTH

MSSV CHARACTER 6 MSKHOA CHARACTER 8 HOTEN CHARACTER 30 GIOITINH LOGIC 1

Trang 4

CƠ SỞ DỮ LIỆU

Nội dung của SINHVIEN.DBF

MSSV MSKHOA HOTEN GIOITINH NGAYSINH LYLICH

SVT001 TIN109 Nguyễn Văn

SVK001 KTE107 Trần Thị Là F 10/11/1976 Memo

Trang 5

CƠ SỞ DỮ LIỆU

Khóa chính (primary key) của một bảng là một

hoặc một tập tối thiểu các trường dùng phân biệt

giữa các bản ghi trong bảng Khóa ngoại (foreign

key) là khoá của một bảng khác trong cơ sở dữ liệu.

– Ví dụ: Cho hai bảng KHOA (MSKHOA, TENKHOA, SDT) và bảng SINHVIEN (MSSV, MSKHOA, HOTEN, GIOITINH, NGAYSINH, LYLICH) thì trường MSKHOA là khoá ngoại của bảng SINHVIEN

Trang 6

CƠ SỞ DỮ LIỆU

Thiết kế cơ sở dữ liệu

Xác định mục đích của CSDL: xác định các

sự kiện nào sẽ được lưu trữ

Xác định bảng dữ liệu: xây dựng mỗi đối

tượng là một bảng dữ liệu

Xác định mối quan hệ giữa các bảng: xác

định các khóa trên mỗi bảng và mối quan hệ giữa chúng

Trang 7

CƠ SỞ DỮ LIỆU

 Phân tích thiết kế CSDL quản lý bãi gửi xe

– Các sự kiện cần lưu trữ trong CSDL: Loại xe, giá gửi,

số chổ, số vé, số xe, số phiếu, ngày vào, ngày ra, thành tiền

– Các đối tượng cần lưu trữ: Bảng giá và bảng chi tiết về

Trang 8

CƠ SỞ DỮ LIỆU

Tạo mới một dự án:

– Chọn File/New/ Project/ New file

Hoặc dùng cú pháp: CREAT PROJECT, nhập tên file

Trang 9

CƠ SỞ DỮ LIỆU

Tạo cơ sở dữ liệu mới

– Trong thẻ Data, tạo mới chọn New

Hoặc gõ lệnh Creat Database tại cửa sổ Command

Trang 10

CƠ SỞ DỮ LIỆU

Xem và chỉnh sửa CSDL:

– Trong thẻ Data, chọn Modify

Hoặc lệnh Modify Database

Trang 11

CƠ SỞ DỮ LIỆU

 Tạo bảng trong CSDL dùng cú pháp:

CREATE TABLE|DBF <Table> (<field> <type> [<size, [<scale>]]) [NULL|NOT NULL], [PRIMARY KEY <tên khoá chính>| UNIQUE

<khoá dự tuyển>] [FOREIGN KEY <khoá ngoại>…)

Giải thích các tham số

– Table: tên bảng (file *.dbf ) được tạo mới

– <field> <size, [<scale>]: Tên, kiểu, độ rộng, số chữ số thập phân của trường Một bảng đơn có thể chứa đến

255 trường

Trang 12

CƠ SỞ DỮ LIỆU

 Ví dụ: Tạo bảng KHOA.DBF trong CSDL QUANLY.DBC thuộc thư mục Chuongtrinh trong ổ đĩa E:

Trang 13

CƠ SỞ DỮ LIỆU

 Hoặc một dự án chọn thẻ Data, tại mục Table, chọn New

Trang 14

CƠ SỞ DỮ LIỆU

Thẻ Field

Name: Đặt tên trường

Type: Kiểu dữ liệu cho trường

Width: Độ rộng của trường

Decimal: Số số lẻ (nếu là kiểu dữ liệu số)

Index: Sắp xếp dữ liệu trong trường

Null: cho phép trường có dữ liệu rỗng hay không?

Format: định dạng dữ liệu hiển thị trong cửa sổ

Browse hoặc Reports

Input mask: Định dạng dữ liệu trong quá trình nhập

Trang 15

CƠ SỞ DỮ LIỆU

Rule: Ràng buộc toàn vẹn trên trên vùng

Message: Thông báo lỗi khi nhập liệu không hợp lệ

Defaut value: giá trị ngầm định

Field comment: chú thích thêm cho vùng.

Trang 16

CƠ SỞ DỮ LIỆU

Các ký hiệu định dạng tại mục Format

– ! : chuyển ký tự thường thành hoa

– $ : thêm ký hiệu tiền tệ kèm theo dữ liệu

– ^ : thể hiện các số theo dạng khoa học

Trang 17

CƠ SỞ DỮ LIỆU

 Ví dụ, trường Masv quy định mục Format như sau, sẽ cho phép chuyển các ký tự nhập vào thành chữ hoa

Trang 18

CƠ SỞ DỮ LIỆU

 Ví dụ, trường Tel có độ rộng 12, định dạng mục Input Mask:

– Ký tự # : chỉ cho phép nhập dữ liệu là số, dấu

và khoảng trống

– Số 9: chỉ cho phép nhập dữ liệu kiểu số và dấu

Trang 19

CƠ SỞ DỮ LIỆU

 Ví dụ, trường Gioitinh, kiểu Lôgic, quy định các mục Rule, Message, Defalt Value như sau:

Trang 20

CƠ SỞ DỮ LIỆU

Thêm Table trong Database:

– Thẻ Data, tại mục Table, chọn Add

Mở, đóng Table có sẵn:

– Từ Menu File/Open/ Table/<chọn tên file>

Hoặc lệnh Use <Đường dẫn\tên file>

Đóng Table, dùng lệnh Use

Chỉnh sửa cấu trúc Table trong Database:

– Thẻ Data, tại mục Table, chọn Modify

Hoặc dùng lệnh Modify Structure

Trang 21

CƠ SỞ DỮ LIỆU

Xem Table:

– Thẻ Data, tại mục Table, chọn Browse

Hoặc dùng lệnh Browse

Loại bỏ Table ra khỏi Database:

– Thẻ Data, tại mục Table, chọn Remove

– Hoặc dùng lệnh:

Remove Table <tên file> [Delete] [Recycle]

 Delete: Xóa Table khỏi bộ nhớ

 Recycle: Table được chuyển vào Recycle Bin

Trang 22

CƠ SỞ DỮ LIỆU

– Ví dụ, trong CSDL Quanly.DBC, có Table KHOA.DBF, thực hiện xóa Table KHOA.DBF ra khỏi CSDL:

Open Database Quanly Remove Table Khoa Delete

Đổi tên Table:

– Kích chuột phải, chọn Rename

– Hoặc dùng lệnh:

Rename Table <Tên File1> to <Tên file2>

Ví dụ: Open Database Quanly

Trang 23

CƠ SỞ DỮ LIỆU

Thiết kế bảng tự do (Free Table)

– Là loại bảng không có mối quan hệ với những table khác

Tạo Free Table: Từ Project, vào Database chọn

Free Table, chọn New Table Trong hộp hội thoại Create nhập tên và khai báo cấu trúc cho Table mới

Thêm Free Table: Từ Project, vào Database

chọn Free Table, click nút Add.

Trang 24

CƠ SỞ DỮ LIỆU

CÁC CÂU LỆNH SQL

Lệnh xem cấu trúc (List|Display structure)

Cú pháp: LIST | DISPLAY STRUCTURE

Tác dụng: Hiển thị cấu trúc của bảng dữ liệu đang được

mở, bao gồm: tên trường, kiểu và độ rộng của trường

Ví dụ:

Use NHANVIEN↵List structure

Trang 25

CƠ SỞ DỮ LIỆU

Sao lưu cấu trúc bảng dữ liệu

Cú pháp: COPY STRUCTURE TO <tên bảng.dbf>

[FIELDS<danh sách trường>]

Tác dụng: Sao chép cấu trúc của table đang được mở

sang một table mới có tên là <tên bảng.dbf> với các trường được chỉ ra Mặc định là tất cả các trường

Ví dụ: Sao lưu cấu trúc của Sinhvien.dbf thành file có

tên là Luu.dbf chỉ với các trường: hoten, gioitinh

use NHANVIEN↵copy structure to LUU fields HOTEN, GIOITINH ↵

Trang 26

CƠ SỞ DỮ LIỆU

Sao lưu bảng dữ liệu

Cú pháp: COPY TO <tên bảng đích> [<phạm vi>]

[FIELDS <danh sách trường>] [FOR<bthức logic>] [WHILE<Bthức logic>]↵

Tác dụng: Lệnh dùng để tạo bảng mới có tên được chỉ

ra <tên bảng đích> với nội dung được lấy từ bảng dữ liệu đang được mở Mặc định lệnh này là tất cả các bản ghi đều được sao chép, nếu có phạm vi và các biểu thức logic thì những bản ghi thoả mãn điều kiện mới được sao chép Dang sách trường để chỉ định các trường

Trang 27

CƠ SỞ DỮ LIỆU

Ví dụ: Tạo bảng dữ liệu có tên là Nu.dbf từ

file sinhvien.dbf gồm các trường masv, hoten, gioitinh.

Trang 28

CƠ SỞ DỮ LIỆU

Thêm trường vào bảng:

Cú pháp: ALTER TABLE <table> ADD(<field><type>[<size,[<scale>], [NULL|NOT NULL]])

Tác dụng: thêm một hoặc nhiều trường vào bảng

Ví dụ: Thêm trường Namsinh vào bảng Sinhvien.dbf

Alter Table sinhvien Add namsinh d(8)

Huỷ trường của bảng:

Cú pháp: ALTER TABLE <table> DROP (<field>

Tác dụng: xoá một hoặc nhiều trường của bảng

Xoá một bảng

Trang 29

CƠ SỞ DỮ LIỆU

– Tại thẻ Data, chọn Table cần hiển thị, chọn Browse

Hoặc dùng lệnh Browse, Edit

Đóng cửa sổ nhấn Ctrl + W

– Ví dụ: Use Sinhvien

Browse && hoặc Edit

– Hàm Reccount(): cho biết số bản ghi trong bảng.

– Hàm Recno(): Cho biết số thứ tự của bản ghi hiện

Trang 30

CƠ SỞ DỮ LIỆU

– Mở Table, chọn trên menu: Table, Go To Record, sau đó chọn Top, Bottom, Next, Previous, Records,

– Hoặc dùng cú pháp:GO <N>|[TOP]|[BOTTOM]

Chức năng: Chuyển con trỏ bản ghi đến bản ghi có

Trang 31

CƠ SỞ DỮ LIỆU

Định vị tiến, lùi: Lệnh Skip

Cú pháp: SKIP [+|-] [<n>]

Tác dụng: Chuyển con trỏ bản ghi về trước (-) hay sau

(+) so với bản ghi hiện thời n bản ghi

Chú ý: Khi chỉ gõ lệnh SKIP ↵ thì con trỏ bản ghi sẽ được di chuyển về sau bản ghi hiện thời một đơn vị

Chèn bản ghi

Cú pháp: APPEND [BLANK]

Tác dụng: Để chèn 1 bản ghi vào cuối bảng dữ liệu (giá

trị được nhập vào), nếu có tham số [BLANK] thì sẽ bổ

Trang 32

CƠ SỞ DỮ LIỆU

Sửa nội dung bản ghi bằng tay

Cú pháp: BROWSE [FIELD<dsách trường>]

[NODELETE] [NOEDIT] [FOR<Bthức logic>]

Tác dụng: hiển thị nội dung của bảng dữ liệu,

mỗi bản ghi được thể hiện trong một hàng (dòng).

– [FIELD<dsách trường>]: Cho phép các trường trong danh sách này được hiển thị trên màn hình, nếu không có hiển thị tất cả

Trang 33

CƠ SỞ DỮ LIỆU

– [NOEDIT]: Không cho phép sửa đổi

– [FOR<bthức logic>]: Chỉ cho phép những biểu thức thoả mãn điều kiện của biểu thức logic

mới được hiển thị

Ví dụ: Hiển thị nội dung của các trường Hoten,

Gioitinh với điều kiện Gioitinh là True để tiến hành sửa đổi.

Use SinhVien

Browse field Hoten, Gioitinh For Gioitinh

Trang 34

CƠ SỞ DỮ LIỆU

Lệnh Edit

Cú pháp: EDIT [<phạm vi>] [FIELD

<dsáchtrường>] [NODELETE] [NOEDIT] [FOR<Bthức logic>] [While<Bthức logic>]

Tác dụng: Tương tự như lệnh BROWSE nhưng

các bản ghi được xuất hiện theo chiều dọc

Đánh dấu xóa, xóa và phục hồi bản ghi

– Mở Table, trên menu, chọn Table, chọn Delete,

Trang 35

CƠ SỞ DỮ LIỆU

 Dùng lệnh xoá bản ghi thực hiện theo hai bước:

Bước 1: Đánh dấu bản ghi muốn xoá:

Cú pháp: DELETE [<phạm vi>] [FOR<Bthức logic>]

[WHILE<bthức logic>]

Tác dụng: Lệnh này đánh dấu tất cả các bản ghi thoả

mãn điều kiện, mặc định là bản ghi hiện thời

Ví dụ: Đánh dấu xoá những sinh viên có năm sinh trước

1970

Delete for year(Namsinh) <1970

Trang 36

CƠ SỞ DỮ LIỆU

Bước 2: Xoá hoặc phục hồi các bản ghi.

Lệnh xoá bản ghi (PACK)

Cú pháp: PACK

Tác dụng: Xoá các bản ghi trong bảng dữ liệu đã được

đánh dấu xoá bằng lệnh DELETE

Lệnh phục hồi các bản ghi đã được đánh dấu xoá (RECALL):

Cú pháp: RECALL [<phạm vi>] [FOR<Bthức logic>]

[WHILE<bthức logic>]

Tác dụng: Phục hồi lại các bản ghi đã đánh dấu xoá bởi

Trang 37

CƠ SỞ DỮ LIỆU

LỌC DỮ LIỆU

– Nhằm hạn chế số lượng các bản ghi tham gia vào quá trình xử lý

Cú pháp: SET FILTER TO <Bthức logic>

– Sau khi thực hiện lệnh lọc thì các lệnh tiếp theo sau lệnh này chỉ có tác dụng đối với các bản ghi thoả mãn điều kiện lọc

– Muốn huỷ bỏ việc lọc dữ liệu ta thực hiện lệnh: SET

FILTER TO ↵

Ví dụ: Lọc những sinh viên nữ và có năm sinh lớn hơn

1980

Trang 38

Tác dụng: Dùng để thay thế nội dung các trường được

chỉ ra của các bản ghi nằm trong <phạm vi> và thoả mãn điều kiện của <biểu thức logic> đi sau FOR hoặc WHILE bởi các biểu thức tương ứng

Chú ý: Kiểu dữ liệu của <biểu thức> và của <trường>

Trang 39

CƠ SỞ DỮ LIỆU

Ví dụ:

– 1 Thay thế họ tên của nhân viên trong file nhanvien bằng chữ viết hoa ký tự đầu tiên của mỗi từ

Replace all Hoten with Proper(hoten)

– 2 Những sinh viên nữ nhân ngày 08/03 được

hỗ trợ phụ cấp 50000 đồng và một lời chúc tốt đẹp

Replace all Phucap with 50000, Quatang

Trang 40

CƠ SỞ DỮ LIỆU

Các hàm liên quan đến bản ghi

Hàm BOF (): Cho giá trị là T khi con trỏ bản ghi trong

bảng dữ liệu được mở vượt quá bản ghi đầu tiên, ngược lại cho giá trị F

Hàm EOF (): Cho giá trị là T khi con trỏ bản ghi trong

bảng dữ liệu được mở vượt quá bản ghi cuối cùng, ngược lại cho giá trị F

– Ví dụ: Để xác định xem con trỏ bản ghi đã cuối bản ghi của Table hiện hành hay chưa?

List

Trang 41

CƠ SỞ DỮ LIỆU

Cập nhật dữ liệu bảng

Cú pháp: UPDATE <TênBảng> SET <trường1> =

<Bthức1> [,<trường2> WITH <Bthức2>, ] [WHERE

<Bthức logic>]

Tác dụng: Dùng cập nhật nội dung các trường được chỉ

ra của các bản ghi thoả mãn điều kiện của <biểu thức logic> đi sau WHERE Mặc định cập nhật tất cả

– Ví dụ: Chuyển họ tên sinh viên của khoa tin thành chữ hoa

Update sinhvien set hoten = upper(hoten);

Trang 42

CƠ SỞ DỮ LIỆU

Lệnh Display:

Cú pháp: DISPLAY [<phạm vi>] [FIELDS<danh sách

trường>] [FOR <bthức logic>] [WHILE<bthức logic>]

Tác dụng: Hiển thị nội dung của các bản ghi trong

<phạm vi> được chỉ định và thoả mãn điều kiện của các biểu thức logic đi sau FOR và WHILE nếu có

– Ví dụ: Hiển thị tất cả các bản ghi của Table Sinhvien với các trường hoten, namsinh với gioitinh là nam

Display all field hoten, namsinh for gioitinh

Trang 43

CƠ SỞ DỮ LIỆU

Lệnh LIST:

Cú pháp: LIST [<phạm vi>] [FIELDS <danh

sách trường>] [FOR <bthức logic>] [WHILE

<bthức logic>]

Tác dụng: Hiển thị nội dung của các bản ghi như

lệnh DISPLAY nhưng mặc định của lệnh này là ALL

– Ví dụ: Hiển thị tất cả những sinh viên sau 1980

và là nữ

Trang 44

CƠ SỞ DỮ LIỆU

Lệnh ?|??

Cú pháp: ?|?? <danh sách biểu thức>

Tác dụng: Lệnh này tính toán và hiển thị kết quả của

danh sách biểu thức lên màn hình Nếu sử dụng lệnh ? thì sau khi in dữ liệu con trỏ sẽ xuống dưới một dòng, còn lệnh ?? thì không

Ví dụ: Cho hiển thị họ tên và năm sinh của sinh viên tại

bản ghi số 5 lên màn hình:

Go 5

? ‘ho ten:’, hoten, ‘nam sinh:’, namsinh

Trang 45

CƠ SỞ DỮ LIỆU

 Tạo tập tin chỉ mục:

– Sắp xếp bảng dữ liệu theo chỉ mục là tạo ra một file chỉ mục (có phần mở rộng mặc định là idx hoặc CDX)

Cú pháp: index on <bthức khoá> to <tên file idx>

[for<bthức logic>] [ascending|descending]

Tác dụng: Lệnh sắp xếp file dữ liệu theo chiều tăng dần

hoặc giảm dần của <Bthức khoá> của các bản ghi thoả mãn <Bthức logic> sau for

– Ví dụ: Hiển thị theo thứ tự tăng dần theo trường Năm sinh của các Sinh viên

Trang 46

CƠ SỞ DỮ LIỆU

Lệnh Locate:

Cú pháp: Locate [<phạm vi>] for<bthức logic>

[While<bthức logic>]

Tác dụng: Duyệt tuần tự các bản ghi trong bảng dữ liệu

và tìm đến bản ghi đầu tiên trong <phạm vi> thoả mãn điều kiện của <bthức logic> Nếu tìm được, hàm found()

sẽ cho giá trị T., hàm EOF() có giá trị F

– Ví dụ: Tìm nhân viên đầu tiên trong bảng dữ liệu sinh năm 1980 trong bảng Sinhvien

USE sinhvienLOCATE FOR year(namsinh) = 1980

Trang 47

CƠ SỞ DỮ LIỆU

Lệnh continue

Cú pháp: CONTINUE

Chức năng: Theo sau lệnh LOCATE, dùng để tìm bảng

ghi kế tiếp sau thỏa mãn điều kiện đã nêu

Ví dụ: Tìm 2 sinh viên đầu tiên sinh năm 1980

USE SINHVIENLOCATE FOR year ( NGAY SINH) = 1980DISPLAY

CONTINUE

Trang 48

CƠ SỞ DỮ LIỆU

 Tìm kiếm sau khi đã lập chỉ mục

Cú pháp: SEEK <biểu thức>

Tác dụng: sau khi đã lập chỉ mục theo <bthức

khóa> Lệnh SEEK dùng đề tìm bản ghi nào thỏa mãn một điều kiện dựa vào <bthức khóa>

– Ta sử dụng lệnh SEEK theo sau là <giá trị> của biểu điều kiện cần tìm nếu tìm thấy thì hàm FOUND() có giá trị T và hàm EOF() có giá trị F

Trang 49

CƠ SỞ DỮ LIỆU

Ví dụ: 1 Sắp xếp theo thứ tự tăng dần của

HOTEN, tìm sinh viên có tên ‘Ong Hoang Hai’.

USE sinhvien

INDEX ON upper(hoten) TO cmhoten

SEEK ‘Ong Hoang Hai’

DISP

Trang 50

CƠ SỞ DỮ LIỆU

 Đếm số lượng bản ghi:

Cú pháp: COUNT [<phạm vi>][for<btlogic>]

[while<btlogic>] [TO<biến nhớ>]

Tác dụng: lệnh dùng để đếm số mẫu tin trong bảng dữ

liệu thỏa mãn điều kiện các <bthức logic> nằm trong phạm vi được chỉ ra Kết quả được đưa ra màn hình hay đưa vào <biến nhớ> nếu có TO

Ví dụ: Cho biết có bao nhiêu sinh viên có năm sinh là

1980

use sinhviencount for namsinh = 1980 to songuoi

Ngày đăng: 28/07/2014, 20:20

HÌNH ẢNH LIÊN QUAN

Bảng dữ liệu được mở vượt quá bản ghi đầu tiên, ngược  lại cho giá trị .F. - Microsoft visual foxpro 6.0 - hệ quản trị cơ sở dữ liệu phần 2 ppsx
Bảng d ữ liệu được mở vượt quá bản ghi đầu tiên, ngược lại cho giá trị .F (Trang 40)

TỪ KHÓA LIÊN QUAN

w