Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Зертханалық жұмыс № 30. Кестелерді біріктіру, кестені сорттау, деректерді конверциялау, импорттау және экспорттау.

Зертханалық жұмыс №20. Топтастыру және сұрыптау. | Ескертпе | Ескертпе | Зертханалық жұмыс № 22. Кестелер және сұраныстарды баспаға беру. | Зертханалық жұмыс № 23. Файлдық операциялар | Зертханалық жұмыс № 24. Visual FoxPro бағдарламасында командалық жолдармен жұмыс. | Зертханалық жұмыс № 26. Visual FoxPro бағдарламасында кесте құру. | Зертханалық жұмыс № 27. Пішін құру. | Зертханалық жұмыс № 28. Кестеге алғашқы кілтті бекіту және құрамдас индекс құру. | Зертханалық жұмыс № 28. Сұранысты шебердің көмегімен құру. |


Читайте также:
  1. B) баспасөзде және өзге де бұқаралық ақпарат құралдарында хабарлау арқылы
  2. Eңбек қорғау және қауіпсіздік ережелері.
  3. ақтар: жазба деректері, материалдық және рухани мәдениеті, қоғамдық құрылысы.
  4. ақылау жұмысы. Кеден ісі. Өткен грамматикалық тақырыптарды қайталау.
  5. ақырыбы: Клеман және дезорма тәсілімен қатынасын анықтау.
  6. ақырып: Мемлекет аралық және сала аралық стандартизация.
  7. А) біржақты және өтемақылы, консенсуалды

Мақсаты: Кестелерді біріктіру, кестені сорттау, деректерді конверциялау, импорттау және экспорттау.

 

Зертханалық жұмыстың орындалысы

Рayment кестесімен байланысқан stud кестесі үшін көрсетілгенді жасауды қарастырамыз. Алдымен CLOSE ALL командалық барлық файлды жабыңыз.

Visual FoxPro 7.0. визуальды мүмкіншілігін пайдаланып кестелер арасына қатынас орнатыңыз. Бұл үшін басты терезеден Window – Data Session таңдаңыз, сосын ашылған терезеден Open батырмасын шертіңіз. Stud кестесін, кейін payment кестесін ашыңыз. Work Area Properties терезесіндегі Index Order тізімінен Payment. Name басты индексін таңдап Properties батырмасын шертіңіз. Кейін Data Session терезесіне қайтып келу үшін OK батырмасын шертіңіз. Енді 1:1 қатынасын орнатыңыз. Stud (SELECT1 командасын генерирует) кестесін таңдап Relations батырмасын шертіңіз. Relations терезесінде Stud аты мен байланыс сызығы болады (SET RELATION командасын генерирует). Payment –ті таңдағанда Expression Builder терезесі ашылады жәнеVisual FoxPro 7.0. жақсы байланысатын name өрісін ұсынады. ОК батырмасын шертіп терезеден шығыңыз. 1:1 қатынасы орнатылды және бұйрық генерерленеді:

 

SET RELATION TO name INTO рayment ADDITIVE

 

1:N қатынасын ортату үшін Establish 1-To-Many Relationship сұхбат блогында Create One-to-Many Relationship терезесін пайдаланып 1-To-Many батырмасын шертіңіз. ALL батырмасын таңдаңыз: рayment файл атын тізімнен таңдалған лақап атқа көшіреді. Кейін ОК батырмасын шертіңіз. Солай SET SKIP TO рayment командасы генерирует және 1: N қатынасын орнатады. Көрсетілгенді жасау үшін File мәзірінен Save As командасын орындаңыз және оны файл сияқты сақтаңыз, мысалы, stud.vue. Бұл үшін команда генерирует

 

CREATE VIEW stud. Vue

 

Енді кез-келген уақытта.vue кеңейтілуімен көрсетілген файлды ашуда кестелер арасында орнатылған қатынасты қалпына келтіруге болады. Бұл үшін File мәзірінен Open командасын немесе SETVIEW TO stud.vue командалық терезесін орындаңыз. SETVIEW ON командасы экранда ашылып көрсетілгенді шығарады. Енді BROWSE FIELDS stud. name, payment. pay командасын орындаңыз.

Терезені жабу үшін файлда көрсетілген SET VIEW ОFF командасы пайдаланылады.

 

Кестелерді біріктіру

JOIN командасы (Memo және General –дан басқа) басқа жұмыс облысында ашылатын біріктіруді шарт бойынша көрсетілген активті кесте және тағы бір кесте де санаулы өрістердің қиылысуында жаңа кестені құрады. Біріктірілген кестедегі қарапайым өрісті ақпаратпен толықтырады. Кестені алдын-ала индекстеу қажет емес.

JOIN WITH «облыс» ТО «жаңа файл» FOR «біріктіру шарты»(FIELDS «өріс тізімі») Мысалы, кітапхананы пайдалану үшін жасалған library.dbf кестесінде тапсырыстар туралы деректер болады, ал телефонды пайдаланушылар үшін - phone.dbf. Тапсырмаларының орындалғандығын пайдаланушыларға хабарлау үшін үшінші кесте service.dbf қолданылады.

USE library IN a

USE phone IN b

JOIN WITH b TO service FOR name=b.name FIELDS name, order,b. phone

USE service

BROWSE

 

Кестені сорттау

Егер пайдаланылатын кесте сирек өзгертілсе, онда индекстік файлды құрмай оны сорттауға болады, бірақ бұны бастапқы кестеден кейін пайдалану орынсыз. Кестені құру үшін көрсетілген өріс бойынша жазуды сорттауда келесі командалар қолданылады:

SORT <шекара> TO <кестенің аты> [ASCENDING / DESCENDING]

ON <өріс> [/A] [/C] [/D] [,<өріс>[/A] [/C] [/D] ]

[WHILE <Lмағынасы>] [FOR <Lмағынасы>] [FIELDS<өріс тізімі>]

 

/А кілті өсуді сорттау үшін қабылданады, /С – тіркелген әріп және жолдан тәуелсіз, /D – азаю бойынша. Үнсіздік бойынша деректер өсу үшін сортталады. Мысалы, sort. dbf кестесін құру үшін old.dbf кестесіндегі fch, fnum, fmemo өрістері болатын және ең әуелі тәуелсіз тіркелген әріп немесе жолдан таңдалған fch өрісінің азаюын сорттап, кейін fnum өрісінің өсуі бойынша келесі командалар қолданылады.

 

USE old

SORT ON fch / DC, fnum FIELDS fch, fnum, fmemo TO sort

USE sort

BROWSE

 

Егер сортталған кестелерді толықтыру керек болса, онда алдын ала олардың орнын анықтап жазуларды қосу командасын пайдалануға болады.

Қосу командасы үш нұсқадан тұрады.

· INSERT – ағымдық жазу үшін

· INSERT BEFORE – ағымдық жазудың алдында

· INSERT BLANK – ағымдық жазу үшін бос жазу

Атап өтеміз:индекстеу кезінде сорттауда өріс функциясын пайдалануға болмайды. Бірақ өріс тізімін сорттау үшін басқа активті кестеден өрісті қосуға болады, егер олар алдын ала байланысқан болса. Мысалы:

 

SORT TO new ON fa FIELDS fa, b.fb

 

Бұдан басқа сорттау кезінде кестені жаңарту қиындау, ал іздеу ретке келтірілмеген кесте сияқты өте баяу болады. Бірақ кейде сорттауды айналып кетуге болмайды. Мысалы, құрамы сирек өзгеретін қызметкерлердің мерейтой күні туралы ақпаратты алу үшін алдымен туған жылынан тәуелсіз сан бойынша өсуін, кейін ай бойынша birth.dbf кестесі қажет болады. Бұл үшін staff.dbf бастапқы кестедегі өрісте қызметкерлердің аты name және оның туылған жылы bh болады, енді айын mm және туылған күнін dd деп белгілеп өріс құрамыз. SCAN … ENDSCAN командасы әрбір кесте жазуын өндейді. Кейін мына өрістегі staff.dbf сорттауды орындайды.

 

USE staff

SCAN

REPLACE mm WITH MONTH (bh)

REPLACE dd WITH DAY (bh)

ENDSCAN

SORT TO birth ON mm, dd FIELDS bh, name

USE birth IN c

SELECT c

DISPLAY ‘Қызметкерлердің туылған күні’

DISPLAY ALL OFF FIELDS bh, ‘’, name

CLOSE ALL

Кестені сорттау кезінде деректер базасын қосқанда бос кесте құрылады. Демек, бастапқы кестедегі өрістің ұзын атауы он символға дейін болады.

 

Басқа кестеден жазуды қосу

Егер екі кестенің құрылымы бірдей өрісті ұстаса (бұл санда Meme типі), онда бұл өрісті ұстайтын жазулар басқа активті командалық кестені бір кестеден қосуы мүмкін.

 

APPEND FROM < файл аты /? > [ FIELDS <Өріс> ]

[FOR <Lмағынасы>] [WHILE <Lмағынасы>] [TYPE <файл типі>]

 

Тек қана сол өріс екі кестеде де табылған атпен қосылады (өріс тізіміне мағынаның керегі жоқ). Егер қосылатын өрістің ұзындығы активті файлдағы өріс ұзындығынан көп болса, деректер символы өседі, ал сандық өріс мағынаны қабылдайды. FOR опциясындағы <мағынаL> екі файлда тек қана бір атты өрісті пайдалануға болады. Мысалы, new.dbf кестесінен жаңадан оқуға түсетін студент туралы ақпаратты stud.dbf кестесіне қосу үшін келесіні пайдалануға болады:

 

USE stud.dbf

? RECCOUNT () * бастапқы кесте жазуының саны

APPEND FROM new,dbf

? RECCOUNT () * көбейген жазудың саны

 

Үнсіздік бойынша файл кеңейтілуі APPEND FROM, -.dbf командасын пайдаланады. Бұдан басқа APPEND FROM импорттау сайманы болып табылады, қаншама TYPE опциясы бұл опциядағы <файл типі> параметрінен тәуелсіз басқа типпен файлдың қосылуын анықтауы мүмкін.

 

Текстік файлдан жазуды қосу

Текстік файлдан жазуды қосу үшін.txt. кеңейтілуімен мынадай параметр мағыналары <файл типі> TYPE опциясы қолданылады:

· Sdf – кесте өрісінің ұзындығын сақтауда бөлінбейтін деректердің жүйелік формасын қондырады;

· Delimited – өріс үтірмен бөлінеді, символдық өріс қос тырнақшаны алады;

· Delimited with tab – өріс табуляция белгісімен бөлінеді;

· Delimited with blank – өріс бос орынмен бөлінеді;

· Delimited with <бөлгіш> - өріс үтірмен бөлінеді, өріс символы көрсетілген бөлгішті ұстайды;

Мысалы, first.txt қажетті мәтіндік құжатынан бірінші курстар туралы ақпаратты stud.dbf кестесіне қосу үшін first.txt файлында мәтіндік деректердің тізімі, типі және ұзындығына stud кестесінің өрісі сәйкес келеді және әрбір жол символмен аяқталады жол соңында және каретка аудармасы.

USE stud

APPEND FROM first TYPE sdf

BROWSE

USE

Word құжатын қосу үшін.txt кеңейтілуімен мәтіндік файлда алдын-ала конверциялануы тиіс.

 

Деректерді конверциялау, импорттау және экспорттау.

Кестеде деректерді енгізу тәсілдерінің бірі басқа жүйеден деректерді өндеу импорт болып табылады. Кейде олар пішін жүйесі үшін стандартсыз болады.

Символдарды кодтаудың бір жүйесінен деректерді аудару басқаша конверциялау деп аталады. Көптеген деректерді өндеу жүйесі негізгі файл форматын пайдалануға мүмкіндік береді. Онда деректерді тасушы операция ішкі конверцияда болады. Конверциялау амалы Visual FoxPro 7.0. ортасында едәуір оңай шешіледі, мысалы, қайта кодтау функциясын пайдаланамыз.

 

CHRTRAN (<C1мағынасы>, <C2мағынасы>, <C3мағынасы>)

 

Бұл функцияның орындалу нәтижесі – <C3мағынасы> символынан тұратын жол. Бұл бірінші символдан <C3мағынасы> кіру үшін <C2мағынасы> бірінші символмен <C3мағынасы> екінші символ <C2мағынасы> екінші <C3мағынасы> мағынасымен алмасады. Мысалы, MS-DOS ортасында жасалған бағдарлама немесе кестені пайдалану үшін конверциялауды орындауға болады, егер ауыспалы dosrus MS-DOS ортасында таңдалған барлық әріпті, ал vfrus - Visual FoxPro 7.0. ортасында бірізділік символды анықтайды.

Мысалы, name символдық өрісін конверциялау:

Dosrus=’AБиклмнопрстхцчшщьыъэюя’

Vfrus=’ ’AБВГДЕЖ ЪЫЬЭЮЯабвопрхцчшщьыъэюя’

HEPLACE ALL name WITH CHRTRAN (name, dosrus, vfrus)

Стандартсыз форматтағы файлдың оқылуы импорттау деп аталады.

Кері операция (жүйені қолдану форматында жүйе деректерін жазу) эскпорттау деп аталады.

Файлдың басқа типінен деректерді импорттау үшін APPEND FROM командасын пайдалануға болады, параметрі бар <файл типі> TYPE опциясы келесі мағыналардың бірін қабылдайды:

- WK1, WK3, WKS, WR1, WRK –файлы үшін Lotus 1-2-3 жүйесін пайдаланамыз;

- XLS, XL5, XL8 – Microsoft Excel файлы үшін;

- DIF – (Data Interchange Format) VisiCalc файлы үшін;

- FW2 – Framework II файлдан деректер үшін

- MOD – Microsoft Multiplan, version 4.01 деректері үшін;

- PDOX – Paradox кестесіндегі version 3.5, 4.0 деректері үшін;

- RPD – Rapid File, version 1.2 деректері үшін;

- SYLK –Microsoft Multiplan файлындағы SYLK (Symbolic Link) деректері үшін;

- CVS – Comma Separated Value деректері үшін;

 

Басқа жүйедегі деректерді импорттау мына команда көмегімен орындалады:

 

IMPORT FROM <файл аты - деректері> [TYPE <файл типі>]

 

Бұл мақсатта Import Wizard шеберін пайдаланамыз. Wizards – Import командасы Paradox, Rapid File кестелері немесе Excel Multiplan Symphony электрондық кестесі мәтіндік файлдан деректерді импорттауы мүмкін. Import Wizard терезесіндегі деректерді импорттау үшін File Type тізімінен файл типін таңдаңыз. Options қадамында электрондық кестенің шығарылған жолын және мәтіндік файлды импорттау типін анықтаңыз.

Field Setting өрісін қондыру қадамында жаңа кестедегі өрістің анықталуын өзгертіңіз. Егер Visual FoxPro 7.0. кестесіне тиісті Existing table селекторлық батырмасын таңдап, кейін кестені таңдау үшін оң жағындағы батырмаға деректерді қосу қажет. Бұл үшін импортталған деректерді сақтау үшін өріс анықталуы тиіс. Visual FoxPro 7.0. форматындағы кестесінен деректерді экспорттауда команданың көмегімен басқа жүйе пайдаланылады.

 

EXPORT TO <жаңа файлдың аты> [<шекара>] [ FIELDS <өріс>]

[FOR <шарт>] [WHILE <шарт>] [TYPE <файл типі>]

 

Файлдарды көшіру

Деректерді экспорттау үшін APPEND FROM командасына қарама–қарсы әрекеттерді орындайтын команда пайдаланылады.

 

COPY TO <жаңа файлдың аты> [<шекара>] [ FIELDS <өріс>]

[ FOR <шарт>] [ WHILE <шарт>] [ TYPE <файл типі>] [WITH CDX]

 

Команда ашық кестеде көрсетілген жазуды немесе барлығын жаңа файлға көшіреді. WITH CDX опциясы бір атты мультииндексті файлды кестемен бірге көшіреді. Бұл мәтіндік файл командасын құру үшін әрбір жазу файл оригиналы жаңа файлда жол аударымы және кері қайту каретки символымен аяқталады. Датасы формасында шығарылады және барлық өріс TYPE опциясындағы <файл типі> параметріне сәйкес болады. Үнсіздік бойынша COPY TO < > командасы.dbf кеңейтілуімен басқа файлда ашылатын кестедегі файлды көшіреді. Мысалы, келесі old кестесіндегі 99 жазуды f1, f2 ағымдық өрісіне көшіру кезінде f: дискісіне new кестесін құру үшін, егер өріс мағынасы f1>700 болса мына бағдарламаны орындаңыз.

 

USE old

COPY NEXT 100 TO F: \ new FIELDS f1, f2 FOR f1 > 700

USE new

LIST

 

Егер кесте деректер қорына тіркелген және оның көрсеткіші бар болса, онда Visual FoxPro 7.0. бұл кестені басқа базаға қосуға рұқсат бермейді. Бұл кестені қайтадан құрмау үшін оны мультииндекстік файлмен бірге көшіруге болады.

 

OPEN DATABASE old

USE TabOld

COPY TO TabNew WITH CDX

 

Егер COPY командасы.dbf файл кеңейтілуін көшіру үшін қолданылатын болса, онда атымен және кеңейтілуімен көшірілетін файлды міндетті түрде көрсету керек. Ашық файлды көшіруге болмайды. Мысалы:

 

CLOSE ALL

COPY FILE first.prg TO second.prg

 

Басқа дискіге барлық сақтандырылған кестені көшіру үшін леп белгісімен басталатын DOS командасын пайдаланған дұрыс. Мысалы, Memо өріс кестесін а: дискіге көшіру үшін екі команданы орындаңыз:

 

! COPY *.dbf a:

! COPY *.fpt a:

 

Дәл осылай басқа файлдар мен индекстерді көшіруге болады. Бұзылған немесе жойылған файлды қалпына келтіру үшін ағымдық каталогтағы а: дискісіндегі файлды көшіру командасын орындаңыз:

 

! COPY а: *.dbf

! COPY а: *.fpt

 

 


Дата добавления: 2015-08-02; просмотров: 230 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Зертханалық жұмыс № 29. Басқа үлгідегі файлдармен және кестелермен жұмыс.| Будущее одной иллюзии. 1 страница

mybiblioteka.su - 2015-2024 год. (0.02 сек.)