Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record...

36
Visual FoxPro Ch2 By CHA NG YU 1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression

Transcript of Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record...

Page 1: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU 1

Chapter TwoDatabase Management

Part one• Database definition

• Record and Field

• Type of columns

• Expression

Page 2: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

2

2.1 Database and Table

• Database : An organized collection of logically related tables. (staff.dbc )

• Table: An organized collection of related data. ( student.dbf, course.dbf)

• A record consists of one or more columns.

• A table consists of one or more records.

• A database consists of one or more tables.

Page 3: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

3

record

columntable

Page 4: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

4

2.2 Expression

• ? < Expression> ---- this command will display the result of the expression on the main screen.

? 32+5 , ? pay , ? sqrt(100)

• Go < nRecordNumber> ---- this command will move the pointer to the nth record of the table.

Use d:/basic/person.dbf

Browse

go 3

? pay

Page 5: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

5

2.2 Expression

• Five kinds of expression:• Numeric Expression 34 + 34

• Character Expression “ ABC” + “DEF”

• Date Expression Date( ) +20

• Logical Expression Not .T.

• Relation Expression 34 > 12

Page 6: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

6

2.2 Expression

< operand 1> < operator> < operand 2 > 32 + 56 • The operand 1 and operand 2 must match the data type.• The operator may be an unary operator.

• Not • “ -” -32 , not .t.

Page 7: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

7

2.2 Expression

• The types of operants :• Constant

• Variable » use only with letters and “_” and numbers .

» 128 letters.

» begin with letters or “_”.

» Can not use with keywords.

• Column name

pay, xname…

• Function Date(), LEFT( “abcdefg” , 3”)

Page 8: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

8

2.2 Expression

• The kinds of expression :

• Numeric expression: + , - ,^ , ** , * , / , %

• Character expression: + , -

• Date expression: +, -

• Logical expression: NOT, AND, OR

• Relation expression: =, #, < >, > , < ,>= , <= , $

Page 9: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

9

Operator Example Result

+ - 3 + 4 7

^ ** 3 ^ 4 81

* / 30 / 6 5

% 10 % 3 1

Numeric Expression:

Page 10: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

10

Operator Example Result

+ “ABC ”+ “DEF” “ABC DEF”

- “ABC ” – “DEF” “ABCDEF ”

Character Expression

Operator Example Result

+ {^1999.05.11} + 50 {^1999.06.30}

- {^1999.05.11} - 50 {^1999.03.22}

- {^1999.05.11} - {^1999.03.22} 50

Date Expression

Page 11: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

11

.T..T. OR .F.OR

.T..T. AND .T.AND

.F.NOT .T.NOT

ResultExampleOperator

Logical Expression

.T.“ABCD” = “AB”=

.T.“AB” $ “ABCD”$

.F.32 # 32#, < >

ResultExampleOperator

Relation Expression

Page 12: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

12

? 66 + sqrt(4)? 66 + pay? 3 ^ 4? 23 % 7? 1/3set decimals to 4? 1/3? “ABC” + Left(“defgh”, 3)?date() + 19? {^1999.06.03} -100? 3 # 4? “caa”> “bbb”

Exercise

Page 13: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

13

? {^1999.06.03}-{^1999.02.23}

? 100 + date( )

? {^1999.06.03} + {^1999.02.23}

? A = .F.

? .T. ANF .F.

? .T. AND A

? NOT .T.

? NOT .T. OR .F. AND .T.

? “a” > “b”

? “caa” > “bbb”

? “abcd” = “ab”

set exact on

? “abcd” = “ab”

EXERCISE

Page 14: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

14

Database managementPart two

• Database• Create database• Select database• modify database• Close database

• Table– Free table– Database table

– Create table– Open table and close table– Modify table– Select work Area

Page 15: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

15

The type of the column • Character : 1--254 letters(127 Chinese words) , for any word.

• Currency : For money.• Numeric : For numeric value.

• Float : For numeric value.• Date Time : 0001.0101 --9999.132.31. For date and time.

• Double : Double precise float number. Width 8• Integer : -214783647--2147483646. Width 4.• Logic : true or false.• Memo : 4 bytes. (*.fpt). Unlimited width.• General : music, picture, video. 4 bytes.

Page 16: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

16

2.3 Create Database

• Database table :

– A table which is in the database.

create database staff

create

• Free table :

– A table which is independent and is not in any

databases.

Page 17: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

17

2.3.1 Create new database

• Use the menu bar– file --> new --> database --> database name.

• Command: Create database [<dbname> | ? ]• this command will create a new database.

• Command: Modify database [ <dbname> ]• this command will call the database designer to modify and

display the database structure.

• Project manager

Page 18: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

18

2.3.2 Create new table

• Use the menu bar : – > file -> open -> table -> input table name

• Command: Create [ <table name> | ? ]

• Press the right button of mouse in the database designer :– database designer -> press the right button of the mouse -> choice

the new table -> input the table name “persoin1.dbf”

Page 19: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

19

2.3.3 Design the table structure

• Name : column name , 128 letters.

• Type : the type of a column.

• Width : the width of a column.

• Floating point number : the number of

decimal points.

• Caption: input the Chinese column name.

Page 20: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

20

2.3.3 Design the table structure

• Field Validation : • Rule : .NOT. EMPTY (NO)• Message: the staff-no must be entered in the table.• Append : insert the data to test the rule and message.

• Default value:• Field command:• Entry the data: Ctr-w to save the data. (Esc)• Table name:• Field Validation of a table:

– rule and message. – .NOT.(empty(addr).AND.empty(tel))

Page 21: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

21

2.3.4 Create a free table

• A free table is independent. It is not in any databases. So we do not need to open any database before we create a free table.– Use the menu bar– Command: Create < tablename>

Page 22: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

22

2.4 How to use databases-- open a database

• Open a database:– use the menu bar– Command:

OPEN DATABASE [<databasename> | ? ] [ Exclusive | Shared]

• Exclusive : A keyword indicates that the database cannot be opened by more than one user at a same time.

• Shared : the database can be opened by more than one user at a same time.

Page 23: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

23

Convert a database

• Visual FoxPro allows a user to open more

than one database at any time, but he/she

can manipulate only one database at a time.

• Use the tool bar. Using the mouse to choice.

• Command: SET DATABASE TO[<databasename>]

Page 24: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

24

Close a database

• Close Database – this command will close the database which is

being used now.

• Close All– this command will close all databases which be

opened by the user.

Page 25: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

25

Modify a database

• Modify Database [ < DatabaseName > | ? ] – Modify Database library = Open database library + modify database

• View and modify a table :

• Based on the database designer, a user can use the

right button of the mouse on the table structure to

view, delete and modify a table.

Page 26: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

26

Modify a database

• Add a free table in a database:– The table must be free table.

– The table must be closed.

– Cannot add any database table.

• Move the table from a database:– The database must be opened in the exclusive mode.

– The table must be closed.

Page 27: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

27

Open a table -- USE

• Visual FoxPro allows a user to open more than one table. But you can choice only one table to manipulate at a time.

• Work Area is a place where a table can be opened. There are 225 Work Areas. One table can be opened on only one workArea. So we can open up to 225 tables at a time.

Page 28: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

28

WorkArea

1

2

3

224

225

database

table

Page 29: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

29

USE

• Any time we can modify and edit only one database and one table, although we can open many databases and many tables.

• Open table:– use menu bar: file -> open -> *.dbf -> person.dbf

– command: Use [ < tablename> | ? ]

– [use <tablename>] can open the table in workArea one. If we open more tables, we should select other workAreas.

Page 30: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

30

Select a WorkArea• Select < nWorkArea > |< cTableAlias >

– close all– open database library– use book ALIAS book-data– select 2– use student ALIAS student-data– ...– select book-data ( = select 1 )– select student-data ( = select 2 )

Page 31: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

31

Select a WorkArea

• Use [ < tablename | ?] [Alias <aliasname>] [Exclusive | Shared ] [In <nworkarea> |<ctablealias>]

• – close all– open database library– use student in 5 – use book in 0– use course in A Minimum workarea number

select 5

use student

= use course in 1

*Workarea A—j represent workarea 1—10 respectively.

Page 32: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

32

Modify table Structure

• Use database designer– press the right button of mouse on the table.

• Command: Modify Structure– open database staff1– use person1– modify structure

Page 33: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

33

ExerciseDesign the database score.dbc and two tables: Score1.dbf

Column-name TYPE WIDTH Description

stuid character 9 Student no

Cour_num character 5 Course no

Score1 numeric 5.1 midterm

Score2 numeric 5.1 Final_exam

Flag character 1

Req_sel character 1 Major/Minor

Page 34: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

34

Exercise

Column-name Type Width Description

Cour_num character 5 course no

grade character 1 term no

credit numeric 3.1 grade

hour numeric 1 hour

Chin_name character 30 Course name

Eng_name character 60 Course name

Course1.dbf

Page 35: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

35

Command? <Expression>

Go <nRecordNumber>

Create database [ <dbname> | ? ]

Create [ <tablename> | ? ]

Open database [ <databasename> | ? ]

Set database to [ < dbname> ]

Close database

Close all

Modify database [ <dbname> | ? ]

Use [ <tablename> | ? ] [ Alias <aliasname> ]

Select <nworkarea> | <ctableAlias>

Use <tablename> IN <nworkarea> | <ctableAlias>

Create

Create table-name

Create ?

Page 36: Visual FoxPro Ch2 By CHANG YU1 Chapter Two Database Management Part one Database definition Record and Field Type of columns Expression.

Visual FoxPro Ch2 By CHANG YU

36

Question:1. Open database library

Use student use student

Use loan use loan in 0

Use book use book in 0

2. Select 5

Use person ALIAS ppp

3. Select A

use person

select C

use course

?

Result ?

= use person in 1

= use course in 3

?