Л. Партыка, И. И. Попов системы управления базами данных


Часть 2. Установление связи между файлами. Поиск записей по различным критериям отбора



бет213/215
Дата29.01.2022
өлшемі4,64 Mb.
#115817
1   ...   207   208   209   210   211   212   213   214   215
Байланысты:
Голицына О Л Партыка Т Л Попов И И Системы

Часть 2. Установление связи между файлами. Поиск записей по различным критериям отбора


Цель лабораторной работы — изучение алгоритмов установления связи между файлами и поиска записей по различным критериям в FoxPro.

Листинг


!md  ST1_1

SET  ALTER  TO   stl_l\log21_l

SET   ALTER   ON

USE stl_l\prsnl_l



LIST

Просмотр файла PRSN1_1

Record#

ID

NAME

YEAR

SEX

PHONE

ADRESS

TOWN

1

2

Анастасия

1985

ж

1939495

ул.

Аргуновская,

Москва

2

1

Кирилл

1983

м

1383736

ул.

Озерная,   8

Санкт-Петербург

3

4

Анна

1984

ж

3748374

ул.

Бородинская,

3 Москва

4

3

Ирина

1985

ж

7947548

ул.

Летняя,   4

Химки

Record#  ID NAME     YEAR SEX               PHONE     ADRESS   TOWN

2 Анастасия               1985 ж      19394 95   ул. Аргуновская, 5 Москва

1 Кирилл   1983 м      1383736    ул. Озерная, 8  Санкт-Петербург

4 Анна      1984 ж      374 8374   ул. Бородинская, 3 Москва

3 Ирина     1985 ж      7947548    ул. Летняя, 4     Химки
CREATE stl_l\autol_l

Вывод структуры файла AUTO1_1

DISPLAY STRUCTURE

Structure for table:    D:\VFP\STl_l\AUTOl_l.DBF

Number of data records: 4

Date of last update:    05/01/04

Field

Field  Name

Type

Width

1

ID

Numeric

2

2

MODEL

Character

15

3

YEARED

Numeric

4

4

COLOR

Character

10

5

BODY

Character

10

б

REGNUM

Character

9

Field  Field Name   Type    Width

ID          Numeric  2

MODEL        Character       15

YEARED       Numeric         4

COLOR       Character         10

BODY        Character           10

REGNUM      Character      9
** Total ** 51

Вывод содержимого файла AUTO1_1

LIST


Record*

ID

MODEL

YEARED

COLOR

BODY

REGNUM

1

2

Москвич

2001

синий

седан

ау320111в

2

1

Жигули

2000

зеленый

хетчбэк

бс567023е

3

3

Лада

2003

белый

универсал

не200345а

4

4

БМВ

1998

черный

седан

оа485432в

Record#  ID MODEL           YEARED COLOR                BODY    REGNUM

2 Москвич           2001   синий         седан     ау320111в

1 Жигули              2000   зеленый     хетчбэк  бс567023е

3 Лада    2003   белый         универсал            не200345а

4 БМВ    1998   черный      седан     оа485432в

CLExAR ALL

SELECT 1

USE stl_l\prsnl_l ALIAS pers

INDEX ON id TO stl_l\idl

SET ORDER TO TAG idl

SELECT 2

USE stl_l\autol_l ALIAS auto

INDEX ON id TO stl_l\id2

SET RELATION TO id INTO pers

3

select 1


SELECT 2

Выборка записей по условию «все не белые автомобили раньше 2000 года выпуска»

LIST FIELDS pers->Name, Model, Color, Yeared, Regnum FOR

yeared<2000. and. со1оr<>"белый"

Record*

Pers->NAME

MODEL

COLOR

YEARED

REGNUM

4

Анна

БМВ

черный

1998

оа485432в

Record#  Pers->NAME  MODEL  COLOR   YEARED   REGNUM

4  Анна       БМВ   черный  1998    оа4854 32в



Вывод записей, удовлетворяющих условию «все не белые автомобили раньше 2000 года выпуска с водителями младше 39 лет»

LIST FIELDS pers->Name, pers->Year, Model, Color, Yeared, Regnum FOR реrs->Yеаr>1965.and.Yеаred<2000.and.со1оr<>"белый" (расп. 4) Record#  Pers->NAME Pers->YEAR MODEL COLOR  YEARED  REGNUM

4  Анна  1984 БМВ   черный   1998  ао485432в

SELECT 1


INDEX ON sex TO stl_l\sex

SEEK "м"


Вывод информации из файла PRSN1_1 про автовладельцев мужского пола

LIST WHILE sex="м"

Record# ID NAME   YEAR SEX PHONE   ADRESS         TOWN

2  1 Кирилл 1983 м   138373 6 ул. Озерная, 8 Санкт-Петербург



Вывод списка автовладельцев с белыми автомобилями (использован SQL)

SELECT pers.name, auto.model, auto.regnum FROM pers, auto WHERE pers.id=auto.id.and.color="белый" ORDER BY name TO SCREEN NAME    MODEL   REGNUM Ирина   Лада    не200345а

SELECT 2

Соединение двух баз PRSN1_1 и AUTO1_1 в одну AUTOWN1_1

JOIN WITH pers TO stl_l\autownl_l FIELDS pers->name, model, regnum

FOR pers->id=id

LIST


Record*

ID

NAME

YEAR

MODEL

УEARED

COLOR

BODY

REGNUM

 

2

1

Кирилл

1983

Жигули

2000

зеленый

хешчб.эк

бс567023е

 

1

2

Анастасия

1985

Москвич

2001

синий

седан

ау320111в

 

3

3

Ирина

1985

Лада

2003

белый

универсал

не200345а

 

4

4

Анна

1984

БМВ

1998

черный

седан

ао485432в

Record# ID NAME      YEAR MODEL   YEARED COLOR   BODY      REGNUM

1 Кирилл    1983 Жигули  2000   зеленый хетчб.эк   бс567023е


1  2 Анастасия 1985 Москвич 2001   синий  седан    ау320111в

3 Ирина     1985 Лада    2003   белый  универсал не200345а

4 Анна     1984 БМВ    1998   черный седан    ао485432в

 

Экспорт и импорт



В СУБД FoxPro можно импортировать данные из внешнего файла и экспортировать данные во внешний файл, используя команды append from и copy to. В случае внесения данных в таблицу из внешнего файла необходимо выбрать поля, записи которых будут добавлены в текущий файл, в случае экспорта выбираются необходимые поля таблицы и задается новое имя, после чего программа создает новую таблицу с заданной структурой и перенесенными данными:

 

COPY TO persons.txt TYPE sdf экспорт (вывод) во внешний файл с фиксированными длинами полей GO TOP



COPY TO persons2.txt TYPE DELIMITED WITH $ экспорт во внешний файл с разделителем полей - $

 

Распечатка содержимого файла persons . тхт



2 Анастасия 1985ж1939495ул. Аргуновская, 5 Москва

1 Кирилл 1983м138373бул. Озерная, 8 Санкт-Петербург

4Анна 1984ж3748374ул. Бородинская, 3 Москва

З Ирина 1985ж7947548ул. Летняя, 4 Химки

 

Распечатка содержимого файла PERSONS2. тхт



2, $Анастасия$, 1985, $ж"$, $1939495$, $ул. Аргуновская, 5$,$Москва$

1,$Кирилл$,1983,$м$,$1383736$,$ул. Озерная, 8$,$Санкт-Петербург$

4,$Анна$,1984,$ж$,$3748374$,$ул. Бородинская, 3$,$Москва$

3,$Ирина$,1985,$ж$,$7947548$,$ул. Летняя, 4$,$Химки$

 

COPY STRUCTURE TO persons2 скопировать структуру текущего файла в другой файл данных USE persons2 APPEND FROM persons TYPE sdf  импортировать из внешнего файла. Отображение импортированного содержимого файла PERSONS2. DBF и его структуры:



Structure for table:    D:\VFP\PERSONS2.DBF

Number of data records: 4



Date of last update:    05/01/04

Field

Field  Name

Type

Width

 

1

ID

Numeric

 

2

 

2

NAME

Character

 

20

 

3

YEAR

Numeric

 

4

 

4

SEX

Character

 

1

 

5

PHONE

Character

 

7

 

6

ADRESS

Character

 

25

 

7

TOWN

Character

 

25

Field   Field Name                Type      Width

ID          Numeric              2

NAME      Character            20

YEAR     Numeric 4

SEX        Character     1

PHONE  Character            7

ADRESS               Character            25

TOWN      Character     2 5


**   Total   **   85

Record#

ID

NAME

YEAR

SEX

PHONE

ADRESS

TOWN

 

1

2

Анастасия

1985

ж

1939495

ул.

Аргуновская,

5  Москва

 

2

1

Кирилл

1983

м

1383736

ул.

Озерная,   8

Санкт-Петербург

 

3

4

Анна

1984

ж

3748374

УЛ.

Бородинская,

3 Москва

 

4

3

Ирина

1985

ж

7947548

ул.

Летняя,   4

Химки

Record#   ID  NAME          YEAR  SEX   PHONE       ADRESS  TOWN

2  Анастасия   1985  ж       1939495 ул.   Аргуновская,   5  Москва

1  Кирилл       1983  м       1383736  ул.   Озерная,   8       Санкт-Петербург

4  Анна            1984 ж       3748374  ул.   Бородинская,   3 Москва

3  Ирина          1985 ж       7947548  ул.   Летняя,   4                Хим

 



Достарыңызбен бөлісу:
1   ...   207   208   209   210   211   212   213   214   215




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет