Учебная работа. Реферат: Методические рекомендации и задания для лабораторных работ по дисциплине Вычислительные системы
по дисциплине «Вычислительные системы».
Кафедра Информационных технологий в экономике.
Создатель доцент Л.Л.Ткачев.
1.
В истинное время обширное распространение получила разработка параллельных баз данных. Эта разработка обеспечивает огромному количеству микропроцессоров доступ к единственной базе данных, что дозволяет также достигнуть наиболее высочайшего уровня пропускной возможности транзакций,
поддерживать большее число сразу работающих юзеров и убыстрить выполнение сложных запросов.
Есть три разных типа архитектуры, которые поддерживают параллельные базы данных:
Симметричная многопроцессорная архитектура с общей памятью (SharedMemorySMPArchitecture). Эта архитектура поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Повышение производительности таковых систем обеспечивается наращиванием числа микропроцессоров, устройств оперативной и наружной памяти.
Архитектура с общими (разделяемыми) дисками (Shared Disk Architecture). Эта архитектура поддерживает единую базу данных при работе с несколькими компами, объединенными в кластер (обычно такие компы именуются узлами кластера), любой из которых работает под управлением собственной копии операционной системы. В таковых системах все узлы делят доступ к общим дискам, на которых фактически и размещается единая база данных. Производительность таковых систем может возрастать как методом наращивания числа микропроцессоров и размеров оперативки в любом узле кластера, так и средством роста количества самих узлов.
Архитектура без разделения ресурсов (Shared Nothing Architecture). Как и в архитектуре с общими дисками, в данной нам архитектуре поддерживается единый образ базы данных при работе с несколькими компами, работающими под управлением собственных копий операционной системы. Но в данной нам архитектуре любой узел системы имеет свою оперативку и собственные диски, которые не делятся меж отдельными узлами системы.
Фактически в таковых системах делится лишь общий коммуникационный канал меж узлами системы. В случае кластерной организации несколько компов либо узлов кластера работают с единой базой данных.
Параллельные базы данных находят обширное применение в системах обработки транзакций в режиме on-line, системах поддержки принятия решений и нередко употребляются при работе с критически необходимыми для работы компаний и организаций приложениями, которые эксплуатируются по 24 часа в день.
Базы данных занимают лидирующее положение в области информационных технологий, они стают неотъемлемой частью жизни современного человека. Развитие систем управления этими действиями идет по пути интеграции в единое целое, и большущим шагом к этому является внедрение эталона обработки инфы при помощи структурированного языка запросов SQL. В истинное время упор делается на внедрение сетевых информационных технологий, базирующихся на архитектуре клиент/сервер.
Понятие БД можно применить к хоть какой связанной меж собой инфы, хранимой и организованной особенным методом — как правило, в виде таблиц. При всем этом возникает необходимость выполнения последующих операций с БД:
1. добавление новейшей инфы в имеющиеся файлы БД
2. добавление новейших пустых файлов в БД
3. изменение (модификация) инфы в имеющихся файлах БД.
4. поиск инфы по БД
5. удаление инфы из имеющихся файлов БД
6. удаление файлов из БД
Компьютерная информационная система представляет собой программный комплекс, задачки которого состоят в поддержке надежного хранения БД в компе, выполнении преобразования инфы и соответственных вычислений, предоставлении юзерам комфортного и просто осваиваемого интерфейса. Объемы вводимой и хранимой инфы достаточно значительны, а сами БД имеют довольно сложную структуру.
Главным предназначением БД сначала является резвый поиск содержащейся в ней инфы.
Существует огромное количество программ, которые предусмотрены для организации инфы, помещения ее в таблицы и манипуляции с нею, такие программки получили заглавие СУБД. Основная изюминка СУБД — это наличие средств для ввода и хранения не только лишь самих данных, да и описаний их структуры.
К функциям СУБД относят последующие:
управление данными конкретно в БД
— функция, обеспечивающая хранение данных, конкретно входящих в БД, и служебной инфы, обеспечивающей работу СУБД;
управление данными в памяти компа
— функция, сплетенная сначала с тем, что СУБД работают с БД огромного размера. В целях убыстрения работы СУБД употребляется буферизация данных в оперативки компа. При всем этом юзер СУБД употребляет лишь нужную для его определенной задачки часть БД, а по мере необходимости получает новейшую «порцию» данных;
управление транзакциями
— функция СУБД, которая производит ряд операций над БД, как единым целым. Как правило, такие операции выполняются в памяти компа. Сначала транзакции нужны для поддержания логической целостности БД в многопользовательских системах. Если транзакция (манипуляция над данными) удачно производится, то СУБД заносит надлежащие конфигурации в БД. В оборотном случае ни одно из изготовленных конфигураций не влияет на состояние БД;
управление переменами БД протоколирование
— функция, сплетенная с надежностью хранения данных, другими словами возможностью СУБД восстанавливать состояние БД в аварийных ситуациях, к примеру, при случайном выключении питания либо нарушении носителя инфы. Разумеется, что для восстановления БД необходимо располагать доборной информацией, по которой и осуществляется восстановление. С данной нам целью ведется протокол конфигураций БД, в который перед манипуляциями с данными делается соответственная запись. Для восстановления БД опосля сбоя СУБД употребляется протокол и архивная копия БД — полная копия БД к моменту начала наполнения протокола.
Современные СУБД основываются на использовании моделей данных (МД), позволяющих обрисовывать объекты предметных областей и связи меж ними. Есть три главные МД и их композиции, на которых основываются СУБД: реляционная модель данных (РМД), сетевая модель данных (СМД), иерархическая модель данных (ИМД).
Основное различие меж этими моделями данных состоит в методах описания взаимодействий меж объектами и атрибутами. Связь выражает отношение меж огромными количествами данных. Употребляются связи «один к одному», «один ко почти всем» и «почти все ко почти всем». «Один к одному» — это взаимно однозначное соответствие, которое устанавливается меж одним объектом и одним атрибутом. к примеру, в определенный момент времени в одной ЭВМ употребляется один определенный микропроцессор. Номеру избранной ЭВМ соответствует номер избранного микропроцессора. «Один ко почти всем» — одно-многозначное соответствие, которое устанавливается меж одним объектом и почти всеми атрибутами. к примеру, один юзер для решения разных задач употребляет разные языки программирования. «Почти все ко почти всем» — это соответствие меж почти всеми объектами и почти всеми атрибутами. к примеру, на огромное количество ЭВМ может сразу работать огромное количество юзеров. Связи меж объектами и атрибутами комфортно представлять в виде графов и гиперграфов.
Сетевые модели данных (СМД) базируются на табличных и графовых представлениях: верхушкам графа обычно сопоставляются некие данные, которые представляются таблицами, а дугам — типы связей.
В СМД простые данные и дела меж ними представляются в виде направленной сети (верхушки — данные, дуги — дела).
В БД с сетевой структурой данных поддеревья могут иметь хоть какое число корневых. Практически сетевая БД состоит из набора записей и огромного количества связей меж этими записями. Примерный список операций для сетевых БД быть может последующим:
1. отыскать запись по данному признаку;
2. перейти от предка к потомку по обозначенной связи;
3. перейти от потомка к предку по некой связи;
4. сделать новейшую запись либо удалить существующую;
5. видоизменять заданную запись;
6. включить в связь либо исключить из связи;
7. переставить в другую связь.
Иерархическая модель данных (ИМД) базирована на понятии деревьев. Каждое дерево состоит из 1-го «корневого» и упорядоченного набора из нуля либо наиболее связанных с ним поддеревьев. Верхушка дерева ставится в соответствие совокупы атрибутов данных, характеризующих некий объект. Целостность связи меж ними поддерживается автоматом.
В таковых БД поддерживаются последующие операторы манипулирования данными:
1. отыскать дерево БД по данному признаку;
2. перейти от 1-го дерева к другому;
3. перейти от записи снутри дерева либо в порядке обхода иерархии (сверху вниз, слева вправо);
4. вставить новейшую запись в обозначенную позицию;
5. удалить текущую запись.
Реляционные базы данных.
Реляционную модель можно представить как особенный способ рассмотрения данных, содержащий и фактически данные (в виде таблиц), и методы работы и манипуляции с ними (в виде связей). Реляционная модель подразумевает три концептуальных элемента: структура, целостность и обработка данных. В этих элементах есть свои особые понятия, на которые следует направить внимание.
Таблица рассматривается как конкретное «хранилище» данных. Обычно в реляционных системах таблицу именуют
. Строчку таблицы именуют
, а столбец –
. При всем этом атрибуты имеют неповторимые (в границах дела) имена.
Главными операциями, при помощи которых модифицируется база данных, являются: включение, удаление и модификация. Эти операции используются к кортежам.
Основное достоинство реляционного подхода — его простота и доступность. Юзеры абстрагированы от физической структуры памяти. Это дозволяет эксплуатировать БД без познания способов и методов ее построения.
Как уже говорилось выше, в реляционной модели данных есть возможность определения 1-го атрибута либо их огромного количества в качестве ключа дела. Это свойство дозволяет сформировывать запросы к базе данных весьма компактно, что делает реляционную модель весьма обычный для разраба прикладного программного обеспечения.
С иной стороны, вся информация, которая обязана храниться и употребляться представляется в табличной форме, что является соответствующей чертой представления инфы в реляционных базах данных, а а именно, в их разновидности — табличных базах данных.
2.
Ниже изложены главные теоретические положения и приемы их практической реализации при организации информационной базы данных в СУБД FOXPRO и Excel на ПЭВМ типа IBM PC.
Сформулированы контрольные задания для реализации студентом определенной базы данных на базе инфы, близкой ему по роду деятель либо интересов.
В процессе выполнения лабораторной работы студент должен по любому контрольному заданию:
· написать точную формулировку данной команды (либо нескольких установок) управления, обеспечивающую получение от системы требуемой инфы;
· в случайной форме обрисовать ожидаемую реакцию системы для собственного варианта начальных данных. Описание реакции системы обязано быть четким, не дающим способности разнопланового его толкования. К примеру, в задании 2 требуется обрисовать структуру сделанной базы данных. В качестве ответа следует привести имена полей, их тип и длину. Разъяснить смысл каждой из этих черт, доказать задание типа и длины поля. (Пример базы данных приведен на Рис.1).
В задании 3 требуется просмотреть все записи базы данных. При описании реакции системы следует вполне привести информацию из начальных данных с указанием имен полей, в каких эта информация записывается, потом требуется просмотреть записи, удовлетворяющие данному условию. Это значит, что в команде управления необходимо задать условие, имеющее смысл для введенных начальных данных, к примеру, «выдать наименование продукции с ценой наименее 200 условных единиц за штуку», сформировать команду для этого условия, а при описании результата указать или номера записей, удовлетворяющих этому условию, или отдать определенный список наименований продукции, удовлетворяющий данному условию. Другими словами, описание реакции системы обязано быть конкретным и исчерпающим по смыслу.
Следует направить внимание на то событие, что приводимые в любом пт задания подсказки типов применяемых установок дают только условное, а не четкое их написание. Четкое написание команды — задачка студента. Любая команда пишется в отдельной строке, выполнение каждой команды на ЭВМ происходит опосля нажатия клавиши «ENTER».
Для облегчения осознания студентом принципов организации инфы в типовой системе управления базой данных (СУБД) при разъяснении в качестве информационной базы рассматривается библиотечный каталог, смысл организации и предназначение которого максимально ясно хоть какому студенту.
Контрольные задания нацелены на биржевую информацию, пример базы данных для которой приведен на рис.1.
Осознав из объяснительного раздела реальных указаний принципы работы с библиотечным каталогом и биржевой информацией, студент без помощи других должен применить познания к созданию базы данных из иной информационной области познаний.
Для действенной работы с информацией в ПК разработаны особые программные средства, именуемые системами управления базами данных — (СУБД), которые разрешают вводить, инспектировать, классифицировать и обрабатывать информационные данные, стремительно отыскивать подходящую информацию и распечатывать в виде отчетов.
Система FoxPro — одна из обширно всераспространенных СУБД, созданная для действенной обработки огромных баз данных, владеющая развитыми средствами программирования.
В крайних версиях системы Windows в рамках программного комплекса MicrosoftOffice обширное распространение получили программные средства обработки данных Access и Excel.
Главные принципы работы с СУБД рассматриваются на примере FoxPro в командном режиме, дающем более ясное осознание смысла выполняемых функций, и на примере Excel в режиме меню.
Подавляющее большая часть современных СУБД основано на реляционной модели представления данных, суть которой заключается в представлении данных в виде таблиц таковым образом, что ко всем данным при их обработке юзер имеет прямой доступ, т.е. данные при построении базы иерархически не структурированы.
В отличие от иерархических баз реляционная база дает огромную свободу юзеру как при разработке, так и при работе с базой, но просит огромных ресурсов ЭВМ .
Для ввода и вывода инфы из СУБД при ее разработке нужно найти поисковые главные признаки, дозволяющие определять принадлежность инфы к определенному понятию. Такие главные поисковые признаки именуются полями. Количество и виды полей определяются юзером зависимо от его представлений о информационном предназначении создаваемой СУБД. Это принципиальный момент, так как всякая предстоящая работа с информацией вероятна лишь в границах понятий, данных совокупой полей.
Для пояснений произнесенного разглядим библиотечный каталог — это информационная база, позволяющая отыскать подходящую книжку посреди огромного количества остальных. Как сделать такую базу? Каковы ее главные признаки — поля? А это зависит от нашего воображения. Можно находить книжку по наименованию, можно по создателю, можно по месту расположения на стеллажах и т.д.
Введем последующие поисковые признаки: фамилия создателя, заглавие, год издания, номер стеллажа, номер ячейки на стеллаже, имеется ли книжка на месте либо выдана, фамилия юзера, дата возврата. Эти понятия и будут полями в нашей базе. В любом поле содержатся определенные данные — в поле создателей перечислены фамилии и т.д. совокупа данных 1-го информационного сообщения по всем полям наз. записью. (в нашем случае запись — это все данные о одной книжке.) При задании всякого поля необходимо указать его заглавие латинскими знаками, наивысшую длину данных в знаках (длина поля) и тип данных(тип поля). Данные могут быть последующих типов — символьный (character), числовой(numeric), дата(date), логический(logical), примечание(memo).
Данные символьного типа это неважно какая последовательность знаков.
Числовые данные могут быть 2-ух видов: целые и вещественные.
Вещественные числа содержат дробную часть, отделяемую от целой десятичной точкой, для их задается точность представления.
Поле даты имеет постоянно длину 8 знаков. Дата задается в Европейском (Set Date German) — ЧЧ.ММ.ГГ, либо южноамериканском (Set Date American) — ММ/ЧЧ/ГГ формате.
Данные логического типа имеют значения да(yes) и нет(no). В математической логике они именуются соответственно правда(True) и ересь (False). Эти понятия употребляет система, индицируя состояние логического поля знаками T и F. Длина логического поля равна 1. Для хранения огромных фрагментов текста в базах данных предусмотрены поля типа примечаний.
1.Запускается исполняемый файл foxprol.exe. Опосля этого запускается система FoxPro и возникает командное окно для ввода установок.
2. Создание структуры базы данных — Create BD1 (BD1 – имя базы данных, в общем случае случайное). Возникает экран шаблон для ввода полей.
Опосля задания крайнего поля создание структуры базы заканчивается выходом на OK. Возникает запрос — Будете вводить данные — нажимая кнопку Y, перебегаем в режим ввода данных, в каком, фактически и осуществляется ввод инфы.
На дисплее возникает структура базы с именами полей данной длины. сейчас опосля перехода на российский регистр вводятся данные. Переход с поля на поле кнопкой Enter либо стрелками, возврат к предшествующей записи — PgUp, к следующей -PgDn.
Для выхода из режима опосля ввода всех данных — Ctrl-End.
Выход из базы Quit. Вход в существующую базу — Use BD1 (активизация БД).
Вывод инфы.
Clear чистка экрана. Для вывода инфы употребляются команды List и Display. 1-ая команда выводит на экран все записи, 2-ая лишь одну, на которой стоит указатель записей, эта запись именуется текущей. понятие указателя записей весьма принципиально не только лишь при использовании команды Display, да и для ряда остальных установок. Для установки указателя записи есть особые команды
GO TOP -перемещение указателя на первую запись
GO BOTTOM — на последнюю
5 Enter — на пятую запись
Если опосля данной нам команды отдать команду Display — будет показана 5-ая запись
SKIP +2 — перемещение указателя на две записи вперед
SKIP -2 — на две записи вспять
DISPLAY ALL -выдача всех записей поэкранно
GO 4 Enter DISPLAY REST -выдача записей, начиная с четвертой (текущей)
Выполнение команды LIST быть может инициировано кнопкой F3,а команды DISPLAY кнопкой F8.
LIST AVT просмотр всех фамилий в поле создателей
LIST AVT,NAZV просмотр фамилий создателей и заглавий книжек
LIST RECORD 2 просмотр 2-ой записи
Чтоб командное окно не мешало просмотру его можно передвинуть нажав клавиши CTRL+F7 и поменять его размеры кнопками CTRL+F8 (можно употреблять мышь)
LIST FOR GOD<1992 выводятся все поля для записей, удовлетворяющих условию
LIST NAZV FOR GOD<1992 выводится лишь поле заглавий для книжек, изданных до 1992 года
Условия могут быть сложными, использующими логические дела NOT,AND,OR в данной нам же приоритетности они и исполняются, если употребляются сразу в одной команде.
LIST FOR (STEL=112).AND.(VOZVR<D)
выдаются книжки, расположенные на стеллаже 112 с просроченным возвратом. тут применены числовое поле стеллажа и поле даты.
При использовании логических операций с полями даты нужно за ранее найти переменную типа даты последующим образом
D=CTOD(‘03.11.96’) и потом уже работать с данной нам переменной.
LIST AVT FOR (GOD>1990).OR.(NAL=’ЕСТЬ’)
тут применено символьное поле, оно заключается в кавычки.
Логические условия заключаются в точки.
Символьная запись в кавычках обязана быть задана буквально теми же знаками, которыми эта запись задана в базе. (ПК ассоциирует коды знаков, потому российские и латинские буковкы 1-го написания для ПК различные знаки, аналогично различаются строчные и строчные буковкы.
LIST FOR POLZOV=’Орлов’ выдаются книжки, выданные Орлову.
LIST AVT,NAZV FOR NAL=’ЕСТЬ’ выводятся поля создателей и заглавий для книжек, имеющихся в наличии.
Поочередный поиск записи по условию осуществляется командой LOCATE.
LOCATE FOR STEL=114 выдается номер одной первой отысканной записи. Просмотр отысканной записи осуществляется командой DISPLAY. Следует направить внимание, что действие команды начинается с перемещения указателя записи на первую запись и в процессе поиска указатель записи {перемещается} по базе данных. Опосля нахождения данной записи указатель оказывается на данной нам записи. Таковым образом, команда работает с указателем записи без помощи других и, задавая опосля нее другую какую-нибудь команду, необходимо это учесть. А именно, задавая для продолжения поиска команду CONTINUE, необходимо осознавать, что поиск длится с сохранением данных критерий от той записи, на которой тормознул поиск. Если данные условия не найдены, то указатель записи оказывается в конце базы и команда DISPLAY инфы не дает.
Если в процессе поиска нужно поменять условия, то, чтоб не начинать поиск с начала базы, если это не необходимо, а база большая, следует употреблять команду LOCATE REST FOR STEL=115 — поиск будет продолжен от текущей записи с новенькими критериями. Поиск может осуществляться и по сочетанию нескольких критерий:
LOCATEFORSTEL=114 .AND. NAL=’ЕСТЬ’, снова выдается лишь номер первой записи, удоалетворяющей этому условию.
Если мы не располагаем четкой информацией о поисковом признаке, т.е. не убеждены полностью буквально как записаны данные, то можно организовать приближенный поиск:
LIST AVT FOR LIKE (‘Ka*’,AVT) — будут выданы все фамилии создателей, начинающиеся на Ка. При всем этом, естественно, будет выдана и лишняя информация, но зато и подходящая, которую при четком поиске найти бы не удалось. В функции LIKE знаки * и ? могут употребляться в всех сочетаниях. Может употребляться также команда типа BROWSEFIELDAVTFORLIKE (‘Ka*’,AVT)
Для конфигурации, дополнения либо удаления записей употребляется режим APPEND. Опосля данной нам команды система перебегает в режим редактирования записей, при всем этом автоматом в конец базы добавляется пустая запись, на которую и устанавливается указатель записей. В эту пустую запись можно вводить новейшую доп информацию. Для перехода к предшествующим записям — PgUp. Перейдя к подходящей записи можно ее отредактировать обыденным образом. Для удаления записи ее необходимо за ранее пометить. Пометка к удалению — команда CTRL+T. У помеченной записи слева возникают метки в виде точек, но запись при всем этом не удаляется. Восстановление помеченной к удалению записи (отмена удаления) осуществляется повторной командой CTRL+T.
Удаление отмеченных записей делается командой PACK опосля выхода из режима редактирования. Выход из режима APPEND командой CTRL+END. Пометить запись для удаления можно и не входя в режим APPEND командой DELETE RECORD 3 — 3-я запись оказывается помеченной либо просто DELETE, помечена текущая запись.
Окончание удаления командой PACK.
Снятие пометок к удалению — команда RECALL, без характеристик действует лишь на текущую запись.
Пример. RECALL ALL -снятие всех пометок.
USE BD1
GO 5 переход к пятой записи
SKIP-3 возврат ко 2-ой записи
DELETE NEXT 3 пометка к удалению 2,3,4 записей
RECALL RECORD 4 снятие пометки с записи 4
PACK удаление записей с возвратом указателя записей на первую запись.
В огромных базах команда PACK работает медлительно, потому употребляется изредка. Чтоб помеченные записи не мешались, их делают невидимыми командой SET DELETED ON, в этом случае запись будет появляться лишь при прямом воззвании к ней (GO 20) -тогда эта помеченная запись проявится.
Задав последовательность установок
USE BD1
APPEND FROM BDD1
мы к открытой базе BD1 добавим содержимое иной базы BDD1, естественно при всем этом все базы должны существовать и поля у их должны быть схожими.
Не в режиме редактирования, а в командном, можно вставить новейшую запись меж уже имеющимися. Для этого указатель записи устанавливается на подходящую запись и она становится текущей. Для вставки опосля текущей записи употребляется команда INSERT BLANK,
для вставки перед текущей записью — команда INSERT BEFORE BLANK.
Изменение записей командой REPLACE
Командой REPLACE осуществляется модификация записей в базе, т.е. подмена 1-го понятия остальным, а не дописывание либо изменение отдельных знаков, как это делается в режиме APPEND.
Команда без характеристик действует лишь на текущую запись.
Пример. 3 ENTER REPLACE NAL WITH ‘ЕСТЬ’ — установлена 3-я запись, и в поле наличие изготовлена запись о том, что книжка возвращена.
REPLACE ALL GOD WITH 1880 — все записи в поле GOD заменяются на 1880.
REPLACESTELWITH 222 FORSTEL=112 — все книжки со стеллажа 112 переставлены на стеллаж 222. Меняются все записи, для которых номер стеллажа 112.
Фактически лишь командой REPLACE в FoxPro можно изменять значения полей файла БД. В этом смысле она эквивалентна знаку равенства в операции присваивания для переменных в алгоритмических языках.
Практически фраза <поле> with <выражение> соответствует оператору присвоения <поле>=<выражение>.
Пример использования команды.
Бригаде дана премия 20% от выработки всякого, у кого выработка наиболее 100р, а бригадиру еще 500р. необходимо поменять поле выработки (VIR), т.е. начислить премию к заработной плате.
У бригадира табельный номер 98.
USE BRIGADA
REPLACE VIR WITH VIR*1.2 FOR VIR>100
REPLACE VIR WITH VIR+500 FOR TAB=98
Можно ввести особое понятие вычисляемого поля по аналогии с тем, как это делается в электрических таблицах.
Пусть есть в базе поля COST(стоимость) и QUANT(количество), в этих полях есть записи. Есть пустое поле COST_PART(стоимость партии).
Заполнить это пустое вычисляемое поле можно так
REPLACE ALL COST_PART WITH COST*QUANT
BROWSE ОКНО
Является массивным средством редактирования, просмотра и управления данными. В режиме Browse записи можно редактировать, дополнять и помечать к удалению. Допускается создавать т.н. вычисляемые поля. Эти поля практически не являются полями базы данных, но могут быть их функциями и показываются на дисплее вровень с реальными полями.
Таковой режим соответствует работе с электрическими таблицами.
Вычисляемые поля не могут редактироваться и запоминаться в БД.
Для введения вычисляемого поля при вызове режима BROWSE, указывается какую информацию вносить в это поле. Эта информация будет индицироваться в режиме BROWSE, но опосля выхода из режима она исчезает и если потом просмотреть записи БД, то вычисляемое поле окажется пустым.
Пример: Пусть в базе есть поля COST — стоимость единицы продукта и MINIM — малая партия поставки. Сформируем вычисляемое поле Стоимость малой партии — MIN_COST.
Входим в режим BROWSE:
BROWSE MIN_COST=COST*MINIM – формируется и индицируется вычисляемое поле. По дефлоту в режиме BROWSE показываются все поля БД. Но, можно уменьшить количество выводимых полей, задавая их поименно:
BROWSE FIELDS COST,MINIM,MIN_COST=COST*MINIM
В качестве заголовков по дефлоту показываются имена полей. Но, есть возможность задавать произвольные заглавия:
BROWSE FIELDS COST:H=’стоимость’,MINIM:H=’мин. партия’,
MIN_COST=COST*MINIM:H=’мин.стоимость’
Если заголовок не нужен совершенно, следует в качестве заголовка употреблять пробел («).Можно употреблять также условие-фильтр при вхождении в режим. к примеру выдать продукты с ценой наименее 2 тыс.$: BROWSEFORCOST<2000
Для сохранения данного режима работы BROWSE опосля выхода из него за ранее задается команда SET RESOURCE ON тогда команда BROWSE LAST вызывает последнюю версию режима BROWSE. Если SET RESOURCE OFF, то крайняя конфигурация не сохраняется и функция LAST никак не действует, а команда BROWSE LAST срабатывает просто как команда BROWSE.
Работая в режиме BROWSE, можно кнопкой F10 перейти в верхнее меню, войти в меню BROWSE и там:
функция GRID OFF/ON -установить либо убрать вертикальные разделители меж полями, MOVE FIELD — дозволяет поменять местами поля в BROWSE окне, SIZE FIELD — дозволяет поменять видимые размеры (ширину) выделенного поля.
Кнопками CTRL+F2 можно выполнить перевод маркера из BROWSE окна в окно установок.
Изменение структуры базы данных, т.е. введение новейших полей, изменение либо изъятие имеющихся осуществляется в режиме MODIFY STRUCTURE. На дисплее при всем этом возникают имеющиеся поля, их наименования и характеристики. конфигурации в имеющихся полях осуществляется обыденным посимвольным редактированием. Для вставки новейшего поля перед текущим полем маркер передвигается в крайнюю левую позицию (нажим ENTER вызывает возникновение стрелок ) и в данной нам позиции нажимается кнопка INSERT. Возникает поле с именованием NEWFIELD, которому потом обыденным редактированием можно задать хоть какое другое имя. Для поражения имеющегося поля маркер в той же последней левой позиции и кнопка DELETE.
Выход из режима через OK.
Просмотр структуры осуществляется командой LIST STRUCTURE
структура новейшей базы быть может сотворена из структуры уже имеющейся командами
COPY STRUCTURE TO DB2
COPY STRUCTURE TO DB2 FIELDS AVT,NAZV
т.е. формирование новейшей базы с полным либо частичным набором полей.
Копирование баз данных
Можно создавать новейшие базы данных, копируя не только лишь структуру, да и сами данные.
USE BD1
COPY TO BDD — скопируется вся база
COPY TO BDD1 FIELD AVT — скопируются все записи в поле AVT
COPY TO BDD2 FOR GOD=1992 — все записи по всем полям где год издания 1992
COPY TO BDD3 FIELD AVT FOR GOD=1992
COPY TO BDD4 FIELD AVT FOR GOD=1992.AND.NAL=’есть’
Таковым образом можно создавать частичные базы данных для хотимых полей с данными критериями.
Частичные базы данных можно создавать также при помощи фильтра. Фильтр — это метод ограничения для просмотра огромных баз данных. Опосля введения фильтра из большенный базы выводится лишь информация , удовлетворяющая данным в фильтре условиям, а остальной вроде бы не существует, хотя по сути сама база никаким изменениям не подвергается.
SET FILTER TO GOD>1990
LIST
Будет выдана информация лишь по книжкам, выпущенным опосля 1990г.
Если опосля включения фильтра отдать команду COPY TO BDD то будет сотворена новенькая база, в которую войдут лишь книжки, выпущенные опосля 1990г.
действие фильтра отменяется при выходе из БД, к примеру, при переходе к иной БД — USE BDD1.
Отменяется также заданием команды SET FILTER TO без указания критерий. Установленный фильтр начинает действовать лишь в случае, если опосля команды SET FILTER TO <условия> произведено хоть некое перемещение указателя записей в файле БД (к примеру, дана команда LIST, перемещающая этот указатель) При задании фильтра вероятны логические условия
SET FILTER TO STEL>112.AND.GOD>1990
Данный фильтр отменяется также заданием другого фильтра
SET FILTER TO STEL>112
Сортировка базы данных
база данных для облегчения использования ею быть может упорядочена по данному закону, к примеру, по алфавиту в поле создателей либо по возрастанию либо убыванию года издания либо остальным информационным признакам данных.Но упорядоченная база при всем этом создается как новенькая, т.е. любая сортировка просит сотворения новейшей базы, как следует любая сортировка тянет за собой требования к месту размещения данной нам новейшей базы. Когда база малая о этом можно не мыслить, а если база большая, то количество признаков упорядочивания ограничивается размерами дисковой памяти компа.
Примеры:
USE BD1
SORT TO BD2 ON AVT база BD2 отсортирована по алфавиту создателей
SORT TO BD3 ON AVT/D оборотная сортировка по алфавиту
SORT TO BD4 ON STEL по номеру стеллажа в вырастающем порядке
SORPT TO BD5 ON STEL/D в убывающем порядке
SORT TO BD6 ON VOZVR по дате возврата в порядке возрастания
Сортировка по нескольким полям:
SORT TO BD7 ON STEL,NOM/D по возрастанию номера стеллажа, а снутри всякого стеллажа в порядке убывания номера ячейки.
Сортировка базы дозволяет убыстрить в большенный базе поиск подходящей инфы.
Индексирование баз данных
Важным элементом хоть какой системы управления базами данных является наличие средств ускоренного поиска данных, так как поиск — самая всераспространенная операция в системах обработки данных. Этот механизм реализуется введением т.н. индексных файлов. Они имеют расширение IDX.
Индексирование БД вводится для убыстрения операции поиска данных. Для данной нам же цели можно использовать сортировку БД по подходящему поисковому ключу, но любая сортировка делает новейшую БД размером с начальную. Настоящие БД имеют большенный размер и неоднократная их сортировка оказывается на техническом уровне нереализуемой.
Индексные файлы занимают принципно наименьший размер, потому для огромных БД нужна конкретно индексация, так как в неупорядоченной базе поиск продолжается длительно, а сортировка невозможна из-за ограничений в дисковой памяти. Если файл проиндексирован, команды DISPLAY,BROWSE,SKIP,REPLACE и все остальные, связанные с движением в файле базы данных, перемещают указатель записей в согласовании с индексом, а не с физическим порядком расположения записей. А именно, команды GO TOP и GO BOTTOM устанавливают указатель записей не на первую и последнюю физические записи, а на исходную и конечную записи индексного файла соответственно. один файл БД быть может проиндексирован по нескольким полям и иметь хоть какое число индексов. Такие файлы не содержат сами записи, а содержат лишь указание на порядок их расположения в файле БД для того поля, по которому осуществлена индексация. К примеру, при индексации поля создателей в алфавитном порядке в индексном файле будут содержаться записи такового типа 1 — 3 справа номера записей в файле БД в поле AVT,
2 — 1 слева номера записей в индексном файле
3 — 5 для поля AVT и аналогично для остальных полей.
Размер индексного файла сравним с объемом дискового места, занимаемого полем базы данных, по которому было произведено индексирование. Т.о. если база проиндексирована по всем полям, суммарный размер всех индексных файлов будет близок к размеру всей БД. При наличии почти всех индексов замедляются операции ввода и редактирования БД, т.к. при дополнении БД новейшей записью автоматом должны быть отредактированы все индексные файлы.
Индексирование производится последующей командой
INDEX ON <выражение> TO <IDX-файл> [COMPACT] [ADDITIVE]
Предпоследняя функция делает малогабаритный индексный файл, потому ею постоянно нужно воспользоваться, это ускоряет поиск. Крайняя функция обеспечивает сохранность уже сделанных индексных файлов при открытии новейших. По дефлоту вновь создаваемые индексы закрывают ранее открытые индексы для текущей БД.
Индексированная база из текущей создается :
USE BD1
INDEX ON AVT TO BD2 — из базы BD1 сотворена индексированная по фамилиям база BD2 с расширением .IDX
Можно создать ограниченную индексацию
INDEX ON AVT TO BD3 FOR STEL=112
Опосля сотворения индексированной базой можно воспользоваться след. образом: при открытии базы:
USE BD1 INDEX BD2 либо
USE BD1
SET INDEX TO BD2
При корректировке записей БД индексированные файлы автоматом меняются, потому при активизации БД необходимо указывать все имеющиеся уже сделанные индексированные файлы:
SET INDEX TO BD2,BD3 и т.д. сколько есть файлов .IDX
Отменаиндексации: SET INDEX TO либо SET ORDER TO 0
Активным является лишь 1-ый из обозначенных индексов. По нему индексируется база. Переключиться на иной индекс можно командой SET ORDER TO N — где N порядковый номер индексированного файла в крайнем перечне (SET INDEX TO …). Можно создать по другому — поновой задать команду SET INDEX TO … где подходящий индекс должен быть у первого в перечне индексного файла.
В индексированном файле резвый поиск подходящей записи может осуществляться командой
SEEK ‘Попов’ для строкового поля
SEEK 25 для числового
SEEK D где D=ctod(‘22.03.94’) для даты
Опосля каждой команды SEEK необходимо отдать команду DISPLAY для индикации поисковых результатов. Пример.
USE BD
INDEX ON AVT TO BD1
INDEX ON VOZVR TO BD2
INDEX ON GOD TO BD3
USE BD INDEX BD1
SEEK ‘Попов’, DISPLAY
USE BD INDEX BD2, D=CTOD(‘22.03.94’), SEEK D, DISPLAY
USE BD INDEX BD3, SEEK 1992, DISPLAY
Если все индексные файлы не были перечислены при открытии базы, а она была изменена, необходимо произвести переиндексацию командой
REINDEX за ранее задав командой SET INDEX TO …
все индексные файлы, подлежащие переиндексации.
Команда SEEK <выражение> применяет особый метод ускоренного поиска, в каком база просматривается не сплошь, а в согласовании с информацией, содержащейся в индексном файле.
При наличии индекса поначалу конкретно в нем, а не в самой базе ведется поиск номера записи с обозначенным в команде SEEK значением выражения в индексном поле. При всем этом поиск в индексе производится не поочередно, а скачками (т.н. двоичный поиск), что дозволяет стремительно локализовать номер подходящей записи. Команда SEEK находит лишь одну первую запись и устанавливает на нее указатель записи.
Сочетанием команды SEEK с командой SET NEAR ON быть может осуществлен приближенный поиск, если четкое
USE BD, INDEX ON GOD TO BD1 COMPACT, SET NEAR ON, SEEK 1980,
BROWSE
В итоге поиска указатель записи установится на числе, ближнем к данному. Войдя в режим BROWSE и оглядев наиблежайшие записи, просто найти интересующую, так как в индексированной базе все записи упорядочены по годам и разыскиваемый год находится .
Команда SEEK является аналогом команды LOCATE для поочередного поиска. Но команде продолжения поиска CONTINUE нет индексного аналога. Причина тут явна. Опосля того как командой SEEK найдена 1-ая подходящая запись, розыск других записей, удовлетворяющих ключу поиска, является элементарным. Последующая таковая запись (если есть) находится в индексированном файле конкретно ниже отысканной, и переход на нее быть может выполнен просто командой SKIP.
3. Задание на лабораторную работу.
3.1 В программной системе FoxPro.
1.Сделать файл базы данных (БД)
(Create …)
2.Поглядеть описание структуры БД
(Use, Liststructure) Объяснить содержание выдаваемой инфы
3.Поглядеть на дисплее все записи БД
(List)
Поглядеть записи, удовлетворяющие данному условию
(List… for …)
Поглядеть содержимое избранных полей для всех записей БД
(List fields…)
Поглядеть содержимое избранных полей, удовлетворяющих данному условию (List fields…for…)
Условия задать для символьного, числового и поля типа «дата»
Для полей типа «дата» за ранее задать
Set date german; D=CTOD(‘дата’);
List fields …for D…)
Выполнить просмотр избранных полей с приближенным условием (Listfieldsforlike …)
4.Командой Display поглядеть содержимое с избранным номером
5.Выполнить поочередный поиск и просмотр первой и следующих записей
(Locate for …);
Display;
(Locate rest for…);
Display
6.Создать архивную копию БД
(Copy to …)
7.Добавить запись в конец активизированной рабочей БД
(Append)
8.Поглядеть добавленную запись
(Go bottom; Display)
9.Пометить для удаления последнюю запись и третью
(Delete; go 3; Delete)
10.Поглядеть все записи БД (Display all)
Направить внимание на третью и последнюю записи.
Сравнитьварианты: Set deleted on; Display all
Set deleted off;Display all
11.Запросить количество записей файла БД
Сравнитьдваварианта: Set deleted on; ?reccount()
Set deleted off;?reccount()
12.Отменить пометку к удалению для третьей записи
(Recall record 3)
Поглядеть все записи. Разъяснить итог
13.Выполнить физическое удаление помеченной записи (Pack)
Поглядеть все запси в 2-ух вариантах:
Set deleted on и Set deleted off
14.Выполнить задание п.11 и сопоставить приобретенные результаты
15.Вставить доп записи в БД перед и опосля третьей
записи, используякоманды Insert blank, Insert before blank
Поглядеть все записи БД и сопоставить с п.13
16.Удалить запись, вставленную опосля третьей записи.
Поглядеть все записи.
17.Добавить поля «стоимость партии» и «стоимость малого набора
поставки». Заполнить новейшие поля как вычисляемые
(Modify structure …
Go top
Replace all …)
18.Выполнить просмотр содержимого вычисляемых полей.
19.Сделать новейшую частичную БД из имеющейся при помощи операции копирования с полями «наименование продукта» и «стоимость».
(Copy to … fields …).
Поглядеть и обрисовать содержимое новейшей базы.
20.Для начальной БД ввести фильтр по полю “стоимость”.
(Set filter to cost …)
Просмотреть содержимое БД с данным фильтром.
21.Скопировать начальную БД с включенным фильтром в новейшую БД.
(Copy to …). Просмотреть содержимое приобретенной БД.
(Use….; List)
22.Выполнить сортировку БД по полям «стоимость», «дата» и «наименование продукта». (Sort to …on…)
23.Поглядеть порядок расположения записей в приобретенных БД.
24. В режиме Browse выполнить создание и просмотр вычисляемого поля, задать заглавия полей, изучить работу в режиме BrowseLast.
25.Выполнить индексирование БД по полю “количество” — QUANT
USE …
INDEX ON … TO …
LIST
26.Сделать два доп индексных файла по полям «наименование продукта»-Prod_name и «дата»-Date.
INDEX ON … TO … ADDITIVE
27.Просмотреть приобретенные индексированные базы
USE …
SET INDEX TO …
28.Закрыть начальную БД
29.Открыть начальную БД вкупе со всеми индексными файлами
USE BD INDEX …
30.Ввести в начальную БД доп запись с новенькими данными в полях, по которым проводилась индексация.
Поглядеть конфигурации в индексных файлах.
SET INDEX TO …
SET ORDER TO …
LIST
31.Выполнить резвый поиск записи в любом индексном файле (по числовому, символьному и полю даты).
SET INDEX TO …
SEEK …
DISPLAY
32.Выполнить приближенный поиск в поле даты
SET NEAR ON
…
….
BROWSE
3.2 В программной системе Excel.
1. Создание структуры БД.
В первой строке рабочего листа ввести наименования полей.
2. Ввод данных через меню
Данные — Форма.
Любой новейший перечень необходимо создавать на отдельном рабочем листе, т.к. программка Excel обрабатывает лишь одну БД на одном листе.
Выполнить автоматическую установку ширины столбца в согласовании с длиной записи в поле.
Выполнить изменение формата даты – выделением заголовка столбца даты щелчком левой клавиши мыши в самом верху столбца.
3. Выполнить поиск частей в перечне.
Активная рамка при всем этом обязана находиться в пространстве с записями, (т.е. снутри базы).
В качестве аспекта поиска в числовых полях и полях даты употребляются аспекты > и <. В символьных полях можно употреблять * и ?.
Когда употребляются несколько критериев поиска, программка находит запись, удовлетворяющую всем аспектам.
4. Выполнить редактирование данных.
Данные — Форма.
5. Задать автоматический фильтр.
Данные – Фильтр — Автофильтр.
6. Выполнить комбинированную фильтрацию по двум аспектам при помощи автоматического фильтра.
7. Выполнить сортировку БД по одному и двум аспектам в растущей и убывающей последовательностях.
Данные — Сортировка.
8. Копирование БД.
1. Копирование выделением отдельных полей с помещением их в буфер и перемещением в иной файл.
2. Копирование при помощи фильтра – фильтром формируется хотимый вид записей, потом все получившееся копируется в буфер.
9.Выполнить наполнение вычисляемого поля с внедрением формул вида =d2*g2, =d2*$g$2, (соответственно, $g2 и g$2).
10. Выполнить добавление и удаление столбцов, строк, также переименование страничек.
Рис.1 Пример начальной инфы для базы данных.
Номер
Код
Наименование
Стоимость
Колич.
город
Дата
Мин.партия
27
К254
Дозиметр ДБГВ
542
100
Витебск
22.01.01
3
28
К348
Обусловит.номера
1720
800
Витебск
19.02.01
4
29
Б023
Судно типа «Луч»
7240
45
Саратов
15.10.01
2
30
К322
Теплоход
50000
30
Саратов
11.11.01
3
31
Л269
Фильтр-3М
50
300
Воронеж
13.08.01
30
32
Л314
Фильтр-5М
45
500
Воронеж
22.08.01
25
33
Л324
Фильтр-7М
24
90
Воронеж
12.08.01
50
34
Б017
Экскаватор
135000
8
Казань
12.07.01
2
Имена полей могут быть заданы, к примеру, таковыми: NOM, KOD, CENA, KOL, MESTO, DATE,
MINPART.
1. Глушаков С.В., Ломотько Д.В. «Базы данных», изд. «Фолио», Харьков, 2000г.
2. А. Дубина «FoxPro. разработка программирования» , изд. «Филинъ», Москва, 1998
3. А.А.Попов. Создание приложений для FoxPro 2.5/2.6 в DOS и Windows. М. Изд. ДЕСС КОМ, 2000.
4. Тихонов А. Тихонова Л. VisualFoxPro 5 без заморочек. Издательство Двучлен, 1997.
5. А.А.Попов. Программирование в среде СУБД FoxPro . М., 1995 и наиболее поздние издания.
6. ФейзВемпен. Microsoft Office 97 Professional, М., 1997.
7. Марк Додж, Крейг Стинсон. Действенная работа с Excel 2000. Изд-во Питер,
М. 2001.
]]>