2.6.2 Построение второго запроса

Словесная формулировка запроса следующая: «Вывести номера спортивных залов, в которых хранится инвентарь, принадлежащий обеим партиям: 522715, 413998».

Текст запроса на языке SQL представлен на рисунке 2.22.

SELECT num_p FROM zal WHERE ALLTRIM(zal.type_zal)=''
INTO CURSOR CR1
SELECT num_p,code_del FROM del,CR1 INTO CURSOR CR4
SELECT CR1.num_p,inv_number FROM CR1 INNER JOIN inv_in_zal
ON CR1.num_p==inv_in_zal.num_p INTO CURSOR CR2
SELECT num_p,code_obj FROM CR2 INNER JOIN invnum_inv
ON (invnum_inv.inv_number==CR2.inv_number) DISTINCT
INTO CURSOR CR3
SELECT DISTINCT num_p from CR4 WHERE NOT EXISTS
(SELECT CR3.num_p FROM CR3 WHERE (CR4.num_p==CR3.num_p
AND CR4.code_del==CR3.code_obj))into CURSOR CR5
SELECT CR1.num_p,CR5.num_p FROM CR1 LEFT JOIN CR5 ON
CR1.num_p=CR5.num_p INTO CURSOR CR6
SELECT DISTINCT num_p FROM CR1 WHERE NOT EXISTS (Select CR6.num_p_b from CR6 WHERE CR1.num_p=CR6.num_p_b)

Рисунок 2.22 - Текст запроса на языке SQL

Операционное дерево для второго запроса представлено на рисунке 2.23.


Рисунок 2.23 - Операционное дерево для второго запроса


3 Рабочий проект

3.1 Структура проекта

3.1.1 Связь таблиц

Схема связей таблиц представлена на рисунке 3.1

Рисунок 3.1– Схема связей таблиц

3.1.2 Перечень форм

Формы, входящие в состав проекта приведенны в таблице 3.1.


Таблица 3.1 – Перечень форм

Название формы Окружение данных
Инвентарные номера спортивного инвентаря Invnum_inv, Inventar
Спортивный инвентарь Inventar
Универсальный запрос Arrival_object,Gate, Inventar,Invnum_inv
Запросы -

3.2 Описание формы

На рисунке 3.2. изображена форма «Инвентарные номера инвентаря»

Command

TextBox

 

Grid

 

Рисунок 3.2 – Форма «Инвентарные номера инвентаря»

При создании формы использовались компоненты: TextBox, Command, Grid Каждая кнопка Command имеет событие Сlick. Обработчики событий Click для кнопок представлены в Приложении А.


Заключение

В ходе выполнения курсовой работы была достигнута цель работы – проектирование базы данных хозяйственного учета футбольного клуба.

Для достижения цели был решен ряд задач: составление описания предметной области; составление словаря понятий и терминов; построение исходной модели (ER-диаграммы) базы данных; определение функциональных зависимостей; синтез схемы базы данных на основании функциональных зависимостей; построение оптимизированной концептуальной модели; построение запросов на выборку.


Список использованных источников

1.       Атре, Ш., Структурный подход к организации баз данных. / [Текст] : Атре, Ш. - М.: Финансы и статистика, 1983. – 320 с.

2.       Бойко, В.В., Проектирование баз данных информационных систем. / [Текст] : Бойко, В.В., Савинков, В.М., – М.: Финансы и статистика, 1989. – 351 с.

3.       Гарсия-Молина, Гектор, Ульман, Джеффри, Д., Уидом, Дженнифер Системы баз данных. Полный курс. : Пер. с англ. – М. : Издательский дом “Вильямс”, 2003. – 188 с. : ил.

4.       Дейт, К., Руководство по реляционной СУБД DB2. / [Текст] : Дейт, К. – М.: Финансы и статистика, 1988. – 320 с.

5.       Джексон, Г., Проектирование реляционных баз данных для использования с микроЭВМ. / [Текст] : Джексон, Г., -М.: Мир, 1991. – 252 с.

6.       Кириллов, В.В., Структуризованный язык запросов (SQL). / [Текст] : Кириллов, В.В., – СПб.: ИТМО, 1994. – 80 с.

7.       Мартин, Дж., Планирование развития автоматизированных систем. / [Текст] : Мартин, Дж., – М.: Финансы и статистика, 1984. – 196 с.

8.       Мейер, М., Теория реляционных баз данных. / [Текст] : Мейер, М.,– М.: Мир, 1987. – 608 с.

9.       Тиори, Т., Проектирование структур баз данных. / [Текст] : Тиори, Т., Фрай, Дж., В 2 кн., – М.: Мир, 1985. Кн. 1. – 287 с.: Кн. 2. – 320 с.

10.  Ульман, Дж., Базы данных на Паскале. / [Текст] : Ульман, Дж., – М.: Машиностроение, 1990. – 386 с.

11.  Хаббард, Дж., Автоматизированное проектирование баз данных. / [Текст] : Хаббард, Дж., – М.: Мир, 1984. – 294 с.

12.  Цикритизис, Д., Модели данных. / [Текст] : Цикритизис, Д., Лоховски, Ф., – М.: Финансы и статистика, 1985. – 344 с.

 
Приложение А

Текст обработчиков событий, связанных с компонентами формы «Инвентарные номера инвентаря»

А.1         Код, связанный с событием Click кнопок «След.» и «Пред.»

* Next IF NOT EOF()

SKIP

IF EOF()

GO BOTTOM

ЕNDIF

ENDIF

THISFORM.Refresh

THISFORM.Buttons

* Previous IF NOT BOF()

SKIP - 1

IF BОF()

G0 TOP

EHDIF

ЕNDIF

THISFORM.Refresh:

THISFORM.Buttons

А.2         Код, связанный с событием Click кнопки «Найти»

IF NOT USED([Invnum_inv])

 USE Invnum_inv IN 0

ENDIF

IF thisform.container1.text1.Value=" "

ELSE

SELECT Invnum_inv

SET ORDER TO inv_number

LOCATE FOR

(ALLTRIM(inv_number))=ALLTRIM(thisform.container1.text1.value)

IF FOUND()

SEEK inv_number

ENDIF

thisform.refresh

ENDIF

А.3         Код, связанный с событием Click кнопки «Новая запись»

IF NOT USED([inventar])

USE inventar IN 0

ENDIF

IF NOT USED([Invnum_inv])

USE Invnum_inv IN 0

ENDIF

IF NOT USED([Arrival_object])

USE Arrival_object IN 0

ENDIF

thisform.Visible= .F.

SET RELATION TO

SET SKIP TO

SELECT Inventar

SET ORDER TO code_obj

SELECT Invnum_inv

SET RELATION TO code_obj INTO Inventar

SET SKIP TO Inventar

DO FORM "c:\documents and settings\yla\мои документы\visual foxpro projects\my_football_new\f_inventar.scx"

А.4         Код, связанный с событием Click кнопки «Сохранить»

thisform.container2.command1.Enabled=.T.

SELECT invnum_inv

GO RECCOUNT()

IF (invnum_inv.inv_number!=' ')

thisform.Command1.Enabled=.T.

ELSE

MESSAGEBOX("Введите все данные!!!",16, "Ошибка")

ENDIF

А.5         Код, связанный с событием Click кнопки «Отмена»

thisform.Height= 260

thisform.container1.command3.Enabled=.t.

thisform.container2.command1.Enabled=.t.

thisform.container2.command2.Enabled=.t.

thisform.container2.command5.Enabled=.t.

thisform.container3.command4.Enabled=.t.

thisform.container3.command3.Enabled=.t.

thisform.container3.command6.Enabled=.f.

А.6         Код, связанный с событием Click кнопки «Удалить»

IF MESSAGEBOX ("Удалить эту запись", 4 + 32 + 256 ) = 6

DELETE NEXT 1

BLANK

SET DELETED ON

GO TOP

THISFORM.Refresh

ENDIF

А.7         Код, связанный с событием Click кнопки «Просмотр»

IF NOT USED([Arrival_object])

USE Arrival_object IN 0

ENDIF

IF NOT USED([inventar])

USE inventar IN 0

ENDIF

IF NOT USED([Invnum_inv])

USE Invnum_inv IN 0

ENDIF

thisform.Height= 454

thisform.container3.command6.Enabled=.t.

thisform.container1.command3.Enabled=.f.

thisform.container2.command1.Enabled=.f.

thisform.container2.command2.Enabled=.f.

thisform.container2.command5.Enabled=.f.

thisform.container3.command4.Enabled=.f.

thisform.container3.command3.Enabled=.f.


Приложение Б

Текст программы обработчика событий «Запрос» на форме «Универсальный запрос»

IF NOT USED([arrival_object])

USE arrival_object IN 0

ENDIF

IF NOT USED([inventar])

USE inventar IN 0

ENDIF

IF NOT USED([invnum_inv])

USE invnum_inv IN 0

ENDIF

IF NOT USED([gate])

USE gate IN 0

ENDIF

IF thisform.container2.txt_height_gate.Value=" "

thisform.container2.txt_height_gate.Value=""

ENDIF

str="(2<>1)"

out_fields="gate.code_obj"

IF thisform.ch_code.Value = 1

 out_fields ="gate.code_obj"

ENDIF

IF thisform.ch_date_arrival.Value= 1

out_fields = out_fields +", arrival_object.date"

ENDIF

IF thisform.ch_balance.Value = 1

out_fields = out_fields +", arrival_object.balance"

ENDIF

IF thisform.ch_kol.Value = 1

 out_fields = out_fields +", arrival_object.kol"

ENDIF

IF thisform.ch_firm.Value = 1

out_fields = out_fields +", inventar.firm"

ENDIF

IF thisform.ch_model.Value = 1

 out_fields = out_fields +", inventar.model"

ENDIF

IF thisform.ch_inv_number.Value = 1

out_fields = out_fields +", invnum_inv.inv_number"

ENDIF

IF thisform.container2.ch_height_gate.Value = 1

out_fields = out_fields +", gate.height_gate"

ENDIF

IF thisform.container2.ch_kind_gate.Value = 1

out_fields = out_fields +", gate.kind"

ENDIF

IF thisform.container2.Ch_shirina_gate.Value = 1

out_fields = out_fields +", gate.shirina"

ENDIF

IF ALLTRIM(thisform.txt_code_obj.Value) == ""

ELSE

str = str +" AND "+

"((ALLTRIM(gate.code_obj))=ALLTRIM(thisform.txt_code_obj.Value))"

ENDIF

IF ALLTRIM(thisform.txt_date_arrival.Value) == ""

ELSE

str = str +" AND "+

"((ALLTRIM(DTOC(arrival_object.date)))=ALLTRIM(thisform.txt_date_arrival.Value))"

ENDIF

IF ALLTRIM(thisform.txt_balance.Value) == ""

ELSE

str = str +" AND "+

"((ALLTRIM(STR(arrival_object.balance)))=ALLTRIM(thisform.txt_balance.Value))"

ENDIF

IF ALLTRIM(thisform.txt_kol.Value) == ""

ELSE

str = str +" AND "+

((ALLTRIM(STR(arrival_object.kol)))=ALLTRIM(thisform.txt_kol.Value))

ENDIF

IF ALLTRIM(thisform.txt_firm.Value )== ""

ELSE

str = str +" AND "+

((ALLTRIM(inventar.firm))=ALLTRIM(thisform.txt_firm.Value))

ENDIF

IF ALLTRIM(thisform.txt_model.Value) == ""

ELSE

str = str +" AND "+

"((ALLTRIM(inventar.model))=ALLTRIM(thisform.txt_model.Value))"

ENDIF

IF ALLTRIM(thisform.container2.txt_kind_gate.Value) == ""

 ELSE

 str = str +" AND "+

"((ALLTRIM(gate.kind))=ALLTRIM(thisform.container2.txt_kind_gate.Value))"

ENDIF

IF ALLTRIM(thisform.container2.txt_height_gate.Value) == ""

ELSE

str = str +" AND "+ "((ALLTRIM(STR(gate.height_gate)))

=thisform.container2.txt_height_gate.Value)"

ENDIF

IF ALLTRIM(thisform.container2.txt_shirina_gate.Value)== ""

ELSE

 str = str +" AND "+ "((ALLTRIM(STR(gate.shirina)))=

=ALLTRIM(thisform.container2.txt_shirina_gate.Value))"

ENDIF

IF out_fields="NULL"

out_fields ="*"

ENDIF

SELECT &out_fields;

FROM(((gate INNER JOIN inventar ON

ALLTRIM(inventar.code_obj)==ALLTRIM(gate.code_obj));

INNER JOIN arrival_object ON

ALLTRIM(arrival_object.code_obj)==ALLTRIM(gate.code_obj));

INNER JOIN invnum_inv ON

ALLTRIM(invnum_inv.code_obj)==ALLTRIM(gate.code_obj));

WHERE &str INTO TABLE My_tab

objExcel=CreateObject("Excel.Application")

objExcel.Visible=.T.

objExcel.Workbooks.add

nstol = 0

IF thisform.ch_code.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Код партии"

objExcel.Columns[nstol].ColumnWidth = 12

ENDIF

IF thisform.ch_date_arrival.Value= 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Дата поступления"

objExcel.Columns[nstol].ColumnWidth = 18

ENDIF

IF thisform.ch_balance.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Балансовая стоимость"

objExcel.Columns[nstol].ColumnWidth = 25

ENDIF

IF thisform.ch_kol.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Количество"

objExcel.Columns[nstol].ColumnWidth = 12

ENDIF

IF thisform.ch_firm.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Фирма-производитель"

objExcel.Columns[nstol].ColumnWidth = 25

ENDIF

IF thisform.ch_model.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Модель"

objExcel.Columns[nstol].ColumnWidth = 10

ENDIF

IF thisform.ch_inv_number.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Инвентарный номер"

objExcel.Columns[nstol].ColumnWidth = 25

ENDIF

IF thisform.container2.ch_height_gate.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Высота ворот"

objExcel.Columns[nstol].ColumnWidth = 15

ENDIF

IF thisform.container2.ch_kind_gate.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Вид ворот"

objExcel.Columns[nstol].ColumnWidth = 20

ENDIF

IF thisform.container2.Ch_shirina_gate.Value = 1

nstol = nstol+1

objExcel.Cells(3,nstol).select

objExcel.Cells(3,nstol).Font.Bold=.T.

objExcel.Cells(3,nstol).Value="Ширина ворот"

objExcel.Columns[nstol].ColumnWidth = 15

ENDIF

IF nstol>0

tt1 = ""+CHRTRAN(objExcel.Cells(1,1).Address,"$","")

tt2 = ""+CHRTRAN(objExcel.Cells(1,nstol).Address,"$","")

WITH objExcel&&cel

WITH .Range(tt1+":"+tt2)

WITH .Font

Name = "Arial Cyr"

FontStyle = "полужирный"

Size = 14

ENDWITH

HorizontalAlignment = 3

VerticalAlignment = 1

WrapText = .F.

Orientation = 0

AddIndent = .F.

IndentLevel = 0

ShrinkToFit = .F.

MergeCells = .F.

Merge

ENDWITH

Range("A1").Value = "Данные о партиях футбольных ворот"

ENDWITH

ENDIF

stroka=3

stolbic=1

SELECT my_tab

SCAN

stroka=stroka+1

temp_j = stolbic

IF thisform.ch_code.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.code_obj

temp_j = temp_j +1

ENDIF

IF thisform.ch_date_arrival.Value= 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.date

temp_j = temp_j +1

ENDIF

IF thisform.ch_balance.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.balance

temp_j = temp_j +1

ENDIF

IF thisform.ch_kol.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value =my_tab.kol

temp_j = temp_j +1

ENDIF

IF thisform.ch_firm.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.firm

temp_j = temp_j +1

ENDIF

IF thisform.ch_model.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.model

temp_j = temp_j +1

ENDIF

IF thisform.ch_inv_number.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = my_tab.inv_number

temp_j = temp_j +1

ENDIF

IF thisform.container2.ch_height_gate.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value = STR(my_tab.height_gate)

temp_j = temp_j +1

ENDIF

IF thisform.container2.ch_kind_gate.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value =my_tab.kind

temp_j = temp_j +1

ENDIF

IF thisform.container2.Ch_shirina_gate.Value = 1

objExcel.Cells(stroka,temp_j ).select

objExcel.Cells(stroka,temp_j ).Value =STR(my_tab.shirina)

temp_j = temp_j +1

ENDIF

ENDSCAN

IF nstol>0

tt1 = ""+CHRTRAN(objExcel.Cells(3,1).Address,"$","")

tt2 = ""+CHRTRAN(objExcel.Cells(stroka,nstol).Address,"$","")

WITH objExcel

WITH .Range(tt1+":"+tt2)

WITH .Font

.Name = "Arial Cyr"

Size = 10

ENDWITH

HorizontalAlignment = 3

ENDWITH

ENDWITH

ENDIF

With objExcel.Range(tt1+":"+tt2)

Borders(1).LineStyle = 0

Borders(2).LineStyle = 0

With .Borders(1)

LineStyle = 1

Weight = 2

ENDWITH

With .Borders(2)

Weight = 2

ENDWITH

With .Borders(3)

LineStyle = 1

Weight = 2

ENDWITH

With .Borders(4)

LineStyle = 1

Weight = 2

ENDWITH

ENDWITH


Приложение В

Текст программы для заполнения таблиц записями

IF NOT USED([Arrival_object])

USE Arrival_object IN 0

ENDIF

IF NOT USED([inventar])

USE inventar IN 0

ENDIF

IF NOT USED([out_inventar])

USE out_inventar IN 0

ENDIF

IF NOT USED([techno])

USE techno IN 0

ENDIF

IF NOT USED([firm_techno])

 USE firm_techno IN 0

ENDIF

IF NOT USED([firm_inv])

USE firm_inv IN 0

ENDIF

IF NOT USED([techno_model])

USE techno_model IN 0

ENDIF

IF NOT USED([Mebel])

USE Mebel IN 0

ENDIF

IF NOT USED([invnum_inv])

USE invnum_inv IN 0

ENDIF

IF NOT USED([invnum_tec])

USE invnum_tec IN 0

ENDIF

IF NOT USED([invnum_meb])

USE invnum_meb IN 0

ENDIF

IF NOT USED([datevidachi_table])

USE datevidachi_table IN 0

ENDIF

IF NOT USED([balls])

USE balls IN 0

ENDIF

IF NOT USED([gate])

USE gate IN 0

ENDIF

IF NOT USED([kind_gate])

USE kind_gate IN 0

ENDIF

IF NOT USED([shir_and_height_gate])

USE shir_and_height_gate IN 0

ENDIF

IF NOT USED([trenager])

USE trenager IN 0

ENDIF

IF NOT USED([TV])

USE TV IN 0

ENDIF

IF NOT USED([refrigerator])

USE refrigerator IN 0

ENDIF

IF NOT USED([vacuum_cleaner])

USE vacuum_cleaner IN 0

ENDIF

IF NOT USED([bed])

USE bed IN 0

ENDIF

IF NOT USED([shkaf])

USE shkaf IN 0

ENDIF

IF NOT USED([table])

USE table IN 0

ENDIF

IF NOT USED([tumbochka])

USE tumbochka IN 0

ENDIF

j=0

k=0

SELECT arrival_object

FOR i=1 TO 1200000

APPEND BLANK

replace code_obj WITH ALLTRIM(STR(i))

k=k+1

IF(k<10)

k = k+1

ELSE

k =5

ENDIF

replace kol WITH k

replace balance WITH k*5.8

SELECT datevidachi_table

IF NOT EOF()

replace arrival_object.date WITH date_v

SKIP

ELSE

SKIP -(RECNO())

replace arrival_object.date WITH date_v

SKIP

ENDIF

SELECT arrival_object

ENDFOR

**************************************

kol=0

j=1

SELECT arrival_object

GO 1

DO WHILE NOT EOF()

SELECT inventar

APPEND BLANK

replace code_obj WITH arrival_object.code_obj

kol = arrival_object.kol

SELECT invnum_inv

DO WHILE (kol!=0)

APPEND BLANK

replace inv_number WITH STR(j)

replace code_obj WITH arrival_object.code_obj

j=j+1

kol=kol-1

ENDDO

SELECT firm_inv

IF NOT EOF()

replace inventar.firm WITH firm_inv

SKIP

ELSE

GO 1

replace inventar.firm WITH firm_inv

SKIP

ENDIF

SELECT techno_model

IF NOT EOF()

replace inventar.model WITH model

SKIP

ELSE

GO 1

replace inventar.model WITH model

SKIP

ENDIF

********

SELECT Arrival_object

SKIP

IF NOT EOF()

SELECT Techno

APPEND BLANK

replace code_obj WITH arrival_object.code_obj

SELECT firm_techno

IF NOT EOF()

replace Techno.firm_marka WITH firm_marka

SKIP

ELSE

GO 1

replace Techno.firm_marka WITH firm_marka

SKIP

ENDIF

SELECT techno_model

IF NOT EOF()

replace Techno.model WITH model

SKIP

ELSE

GO 1

replace Techno.model WITH model

SKIP

ENDIF

*********

SELECT Arrival_object

SKIP

IF NOT EOF()

SELECT Mebel

APPEND BLANK

replace code_obj WITH arrival_object.code_obj

********

SELECT Arrival_object

SKIP

ENDIF

ENDIF

ENDDO

&&заполнение таблиц "Спортивный инвентарь"

SELECT inventar

GO 1

DO WHILE NOT EOF()

SELECT balls

APPEND BLANK

replace code_obj WITH inventar.code_obj

********

SELECT inventar

SKIP

IF NOT EOF()

SELECT gate

APPEND BLANK

replace code_obj WITH inventar.code_obj

SELECT kind_gate

IF NOT EOF()

replace gate.kind WITH kind_gate

SKIP

ELSE

GO 1

replace gate.kind WITH kind_gate

SKIP

ENDIF

SELECT shir_and_height_gate

IF NOT EOF()

replace gate.height_gate WITH height

replace gate.shirina WITH shirina

SKIP

ELSE

GO 1

replace gate.height_gate WITH height

replace gate.shirina WITH shirina

SKIP

ENDIF

*********

SELECT inventar

SKIP

IF NOT EOF()

SELECT trenager

APPEND BLANK

replace code_obj WITH inventar.code_obj

SELECT inventar

SKIP

ENDIF

ENDIF

ENDDO

&&заполнение таблиц "Техника"

SELECT techno

GO 1

DO WHILE NOT EOF()

SELECT TV

APPEND BLANK

replace code_obj WITH techno.code_obj

********

SELECT techno

SKIP

IF NOT EOF()

SELECT refrigerator

APPEND BLANK

replace code_obj WITH techno.code_obj

*********

SELECT Techno

SKIP

IF NOT EOF()

SELECT vacuum_cleaner

APPEND BLANK

replace code_obj WITH techno.code_obj

********

SELECT techno

SKIP

ENDIF

ENDIF

ENDDO

&&заполнение таблиц "Мебель"

SELECT Mebel

GO 1

DO WHILE NOT EOF()

SELECT bed

APPEND BLANK

replace code_obj WITH Mebel.code_obj

********

SELECT Mebel

SKIP

IF NOT EOF()

SELECT shkaf

APPEND BLANK

replace code_obj WITH mebel.code_obj

*********

SELECT Mebel

SKIP

IF NOT EOF()

SELECT table

APPEND BLANK

replace code_obj WITH mebel.code_obj

********

SELECT Mebel

SKIP

IF NOT EOF()

SELECT tumbochka

APPEND BLANK

replace code_obj WITH mebel.code_obj

SELECT Mebel

SKIP

ENDIF

ENDIF

ENDIF

ENDDO

&&Заполнение таблиц "инвентарный номер"

kol=0

SELECT inventar

GO 1

SELECT invnum_inv

GO 1

SELECT techno

GO 1

SELECT mebel

GO 1

SELECT arrival_object

GO 1

&&Заполнение таблиц списанных "объектов"

SELECT invnum_inv

DO WHILE NOT EOF()

SELECT out_inventar

APPEND BLANK

replace inv_number WITH invnum_inv.inv_number

SELECT invnum_inv

SKIP 10

ENDDO

IF NOT USED([invnum_inv])

USE invnum_inv IN 0

ENDIF

IF NOT USED([inv_in_zal])

USE inv_in_zal IN 0

ENDIF

IF NOT USED([type_zal])

USE type_zal IN 0

ENDIF

IF NOT USED([pomeshenie])

USE pomeshenie IN 0

ENDIF

IF NOT USED([zal])

USE zal IN 0

ENDIF

IF NOT USED([pomeshenie_naznach])

USE pomeshenie_naznach IN 0

ENDIF

IF NOT USED([datevidachi_table])

USE datevidachi_table IN 0

ENDIF

SELECT pomeshenie

DELETE ALL

PACK

SELECT zal

DELETE ALL

PACK

SELECT inv_in_zal

DELETE ALL

PACK

SELECT pomeshenie_naznach

GO 1

SELECT pomeshenie

FOR i=1 TO 2000

APPEND BLANK

replace pomeshenie.num_p WITH i

SELECT pomeshenie_naznach

IF NOT EOF()

replace pomeshenie.naznach WITH naznach

SKIP

ELSE

SKIP -(RECNO())

replace pomeshenie.naznach WITH naznach

SKIP

ENDIF

*******************

IF ALLTRIM(pomeshenie.naznach)="Спортивный зал"

SELECT zal

APPEND BLANK

replace num_p WITH pomeshenie.num_p

SELECT type_zal

IF NOT EOF()

replace zal.type_zal WITH type_zal

SKIP

ELSE

SKIP -(RECNO())

replace zal.type_zal WITH type_zal

SKIP

ENDIF

ENDIF

**************

SELECT pomeshenie

ENDFOR

SELECT invnum_inv

GO 1

DO WHILE NOT EOF()

SELECT inv_in_zal

APPEND blank

replace inv_number WITH invnum_inv.inv_number

SELECT invnum_inv

SKIP

SELECT zal

IF NOT EOF()

replace inv_in_zal.num_p WITH num_p

SKIP

ELSE

SKIP -(RECNO())

replace inv_in_zal.num_p WITH num_p

SKIP

ENDIF

SELECT datevidachi_table

IF NOT EOF()

replace inv_in_zal.date WITH date_v

SKIP

ELSE

SKIP -(RECNO())

replace inv_in_zal.date WITH date_v

SKIP

ENDIF

SELECT invnum _ inv

ENDDO

В3. Заполнение таблиц «Общая информация и игроки»

IF NOT USED([Person])

USE Person IN 0

ENDIF

IF NOT USED([fam_table])

USE fam_table IN 0

ENDIF

IF NOT USED([im_table])

USE im_table IN 0

ENDIF

IF NOT USED([otch_table])

USE otch_table IN 0

ENDIF

IF NOT USED([datevidachi_table])

USE datevidachi_table IN 0

ENDIF

IF NOT USED([dateborn])

USE dateborn IN 0

ENDIF

IF NOT USED([Country])

USE Country IN 0

ENDIF

IF NOT used([street])

USE street IN 0

ENDIF

SELECT Person

*GO 1

FOR i=1000 TO 1010

FOR j=100000 TO 100010

APPEND BLANK

replace sp WITH i

replace np WITH j

replace numstreet WITH i-990

replace numflat WITH j-99990

SELECT Fam_table

IF EOF()

SKIP -(RECNO())

replace Person.fam WITH fam

SKIP

ELSE

replace Person.fam WITH fam

SKIP

ENDIF

SELECT Im_table

IF EOF()

SKIP -(RECNO())

replace Person.im WITH im

skip

ELSE

replace Person.im WITH im

SKIP

ENDIF

SELECT Otch_table

IF EOF()

SKIP -(RECNO())

replace Person.otch WITH otch

skip

ELSE

replace Person.otch WITH otch

SKIP

ENDIF

SELECT Datevidachi_table

IF EOF()

SKIP -(RECNO())

replace Person.datevidachi WITH date_v

skip

ELSE

replace Person.datevidachi WITH date_v

SKIP

ENDIF

SELECT Country

IF EOF()

SKIP -(RECNO())

replace Person.country WITH country

replace Person.city WITH city

ELSE

replace Person.country WITH country

replace Person.city WITH city

SKIP

ENDIF

SELECT Street

IF EOF()

SKIP -(RECNO())

replace Person.Street WITH Street

ELSE

replace Person.Street WITH Street

SKIP

ENDIF

SELECT Dateborn

IF EOF()

SKIP -(RECNO())

replace Person.dateborn WITH date_b

skip

ELSE

replace Person.dateborn WITH date_b

SKIP

ENDIF

SELECT Person

ENDFOR

ENDFOR

browse


Информация о работе «База данный "Хозяйственный учет футбольного клуба"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 57810
Количество таблиц: 37
Количество изображений: 13

Похожие работы

Скачать
108705
3
2

... и калькуляционных единиц; - выбор методов распределения косвенных расходов; - разграничение затрат по периодам; - выбор способов расчета себестоимости калькуляционной единицы и др. Эти принципы конкретизируются с учетом специфики отрасли и особенностей производства. Основные задачи калькулирования на предприятиях: - достоверное исчисление фактической себестоимости единицы отдельных видов ...

Скачать
121875
1
8

... приходящих игроков – это случается крайне редко), все знают все друг про друга. 2.3 PR-деятельность в спортивном клубе "ФК ЦСКА" Атрибутика. Изготовлением, разработкой и реализацией атрибутики футбольного клуба "ЦСКА" занимается коммерческий отдел. Он сотрудничает с московской организацией "Мир футбола", которая обслуживает почти все спортивными клубами России. Можно отметить такой факт, ...

Скачать
49396
0
22

... счет высокоэффективных проектов, обеспечивающих создание продуктов с высокой добавленной стоимостью; соблюдение интересов всех акционеров ОАО "Газпром"; совершенствование корпоративного управления, повышение прозрачности финансово-хозяйственной деятельности. Концепция развития компании 1) Освоение новых рентабельных источников добычи для удовлетворения спроса на газ в долгосрочной перспективе. ...

Скачать
340626
1
0

... его сторонников. Без их поддержки эта игра, безусловно, развивалась бы менее эффективно. 3. Дореволюционный этап становления футбола на Ставрополье, при всех проблемах его развития, достиг определенных успехов. В целом же деятельность футбольных клубов и кружков в начале XX веков явилась фундаментом для современного ставропольского футбола. Научное осмысление итогов данного этапа способствует ...

0 комментариев


Наверх