Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Система управления базами данных. Назначение и основные возможности.Содержание книги
Поиск на нашем сайте
Базы данных используются буквально во всех сферах человеческой деятельности — в науке, производстве, торговле, медицине, криминалистике, искусстве и т.п. Что такое база данных (БД)? В широком смысле слова можно сказать, что база данных — это совокупность систематизированных сведений об объектах окружающего нас мира по какой-либо области знаний, своеобразная информационная модель этой области. Например: БД по сплавам металлов, БД о работниках предприятия, БД в системе продажи билетов, БД документов в той или иной области, БД по видеофильмам — и многие другие. Обратите внимание на то, что в определении отсутствует упоминание о компьютере. И это не ошибка — хранение систематизированных данных в виде различных картотек использовалось до появления самых первых вычислительных машин. Вспомните, например, каталог в библиотеке — традиционные небольшие ящички, заполненные карточками со сведениями о книгах и месте их хранения. Во многих библиотеках они сохранились до сих пор, хотя постепенно их содержимое переносится в обширную память компьютеров. Переход к компьютерному хранению информации дает много преимуществ: практически неограниченный объем данных в сочетании с оперативным доступом к ним, возможность логического контроля вводимой информации, контроль целостности и непротиворечивости информации в базе, регулирование уровня доступа к данным для различных категорий пользователей и, наконец, самое главное — замена механического извлечения отдельных сведений мощными методами обработки запросов человека и автоматическое составление произвольных справок и отчетов. С появлением компьютерных сетей отпала необходимость хранения данных в одной машине и даже в одной стране, возникли так называемые распределенные БД. "Вершиной" объединения компьютерных данных может служить Всемирная информационная сеть Интернет. Тем не менее, отдельно взятой БД для реализации всех перечисленных возможностей недостаточно. Помимо собственно данных, требуется специальное программное обеспечение, которое с ними работает. Такое универсальное ПО принято называть системами управления базами данных, или сокращенно субд. Именно наличие субд превращает огромный объем хранимых в компьютерной памяти сведений в мощную справочную систему, способную производить поиск и отбор необходимой нам информации. Роль и место СУБД в процессах компьютерной обработки данных иллюстрирует следующая схема. Собственно субд, управляющая доступом к данным в базе, является универсальным программным обеспечением. Поэтому для адаптации к конкретной области и учета ее конкретных особенностей необходима возможность "подстройки" программного обеспечения. С этой целью большинство субд обладают встроенными средствами подобного рода, т.е. фактически собственным языком программирования. Заметим, что в более ранних разновидностях СУБД, например dBASE и родственных ей (FoxPro, Сlipper), это было заметно наиболее отчетливо. В современном программном обеспечении, таком, как МS Ассess, Раradox, С1arion, создание различных форм и отчетов во многом автоматизировано, но тем не менее встроенные языковые средства по-прежнему сохраняются. Весь изображенный на рисунке комплекс программных и аппаратных средств, предназначенных для хранения, изменения и обработки информации, а также обеспечивающих взаимодействие с пользователем, в литературе принято называть информационной системой. Сформулируем теперь более четко те функции, которые выполняет современная система управления базами данных. • Ввод информации в БД и обеспечение его логического контроля. Под логическим контролем здесь понимается проверка на допустимость вводимых данных: нельзя, например, вводить дату рождения 31 июня 1057 года. • Исправление информации (также с контролем правильности ввода). • Удаление устаревшей информации. • Контроль целостности и непротиворечивости данных. Под термином "целостность" обычно понимают то, что данные, хранящиеся в разных частях базы данных, не противоречат друг другу, например, дата поступления в школу явно не может быть позже даты ее окончания. • Защита данных от разрушения. Помимо контроля за целостностью, который только что обсуждался, субд должна иметь средства защиты данных от выключения электропитани'я, сбоев оборудования и других аварийных ситуаций, а также возможности последующего восстановления информации. Особую актуальность данный пункт приобретает в сложных многопользовательских системах. • Поиск информации с необходимыми свойствами. Одна из наиболее важных в практическом отношении задач, ради которой ставятся все остальные. • Автоматическое упорядочивание информации в соответствии с требованиями человека. Сюда относится сортировка данных, распределение их между несколькими базами и другие подобные процедуры. • Обеспечение коллективного доступа к данным. В современных информационных системах возможен параллельный доступ к одним и тем же данным нескольких пользователей, поэтому субд должны поддерживать такой режим. • Защита от несанкционированного доступа. Не только ввод новой информации, но даже ее просмотр должны быть разрешены только тем пользователям, у которых есть на это права. Причем речь идет не только о сохранении военной или коммерческой тайны. Например, казалось бы, такой безобидный факт, извлеченный из БД, как неоднократная покупка человеком определенного лекарства в аптеке, в принципе может привести к тому, что при приеме на работу будет взят другой претендент. • Удобный и интуитивно понятный пользователю интерфейс. Наконец, говоря о субд, нельзя обойти стороной еще один общий вопрос, связанный с организацией в них данных. Начнем с того, что, помимо собственно данных, в любой базе имеется информация о ее строении, которую чаще всего называют структурой. В простейшем случае структура просто указывает тип информации и объем требуемой для нее памяти. Сведения о структуре позволяют субд легко рассчитывать местоположение требуемых данных на внешнем носителе и, следовательно, быстро получить к ним доступ. Связанные между собой данные, например сведения об одном человеке или объекте, объединяются в БД в единую конструкцию, которая называется запись. При этом части, образующие запись, принято называть полями, или реже — элементами данных. Примерами полей могут служить фамилия, номер паспорта, семейное положение, наличие или отсутствие детей и т.д. Характер связи между записями в БД определяет три основных типа организации баз данных: иерархический, сетевой и реляционный.
В иерархической базе данных записи образуют особую структуру, называемую деревом (см. рисунок). При таком способе организации каждая запись может принадлежать только одному "родителю" (более правильный термин — "владелец отношения"). В качестве примеров такого рода отношений можно привести следующие: организация — [основная работа] — работник, банк — [вклад] — сберкнижка, футбольная команда — [хозяин поля] — матч и т.п. Как следует из описанного выше, любой компонент дерева однозначно определяется путем, по которому мы можем его достигнуть, начиная с главного (верхнего) элемента. Отметим, что типичными примерами иерархического способа организации являются хорошо известная система вложенных каталогов в операционной системе, или так называемое генеалогическое дерево, представляющее собой графическое представление родословной. В сетевой базе данных связи разрешено устанавливать произвольным образом, без всяких ограничений, поэтому запись может быть найдена значительно быстрее (по наиболее короткому пути). Такая модель лучше всего соответствует реальной жизни: один и тот же человек является одновременно и работником, и клиентом банка, и покупателем, т.е. запись с информацией о нем образует довольно густую сеть сложных связей. В определенном смысле наличие подобных связей моделирует реальные связи между объектами внешнего мира. Трудность состоит в том, что указанную организацию БД, к сожалению, сложно реализовать. Хотя описанные выше способы являются более универсальными, на практике распространен самый простой тип организации данных — реляционный. Слово "реляционный" происходит от английского "relation", что значит отношение. Строгое определение отношения достаточно математизировано, поэтому на практике обычно пользуются следствием из него: поскольку отношения удобно представлять в виде таблиц, то говорят, что реляционные базы — это базы с табличной формой организации. В качестве примера рассмотрим следующий фрагмент базы, опубликованной в статье дополнительной литературы: Отметим еще одну важную особенность реляционной модели данных. Поскольку в отличие от иерархической и сетевой организации баз в реляционных БД отсутствует понятие ассоциативных связей между парами записей, приходится их специальным образом моделировать. Для этой цели в записях создаются дополнительные поля, в которых ставится ссылка на требуемую запись, например, поля с названием организации и ведомства на следующем рисунке: Таким образом, задаются необходимые отношения между полями в случае реляционной БД. По мере развития вычислительной техники и роста ее возможностей роль электронных баз данных, несомненно, будет возрастать. Поэтому умение пользоваться этим видом компьютерной информации является обязательной частью образования современного человека. 2. Решение расчетной задачи с использованием математических функций в среде программирования. Задача Рассчитать таблицу углов преломления (в градусах) для среды с относительным показателем преломления п. угол падения задавать через 10 градусов от 0 до 90. Расчеты выполнить по приведенным ниже формулам: 1. рi=4*arctg 1— если транслятор не содержит значения константы л. 2. r1=(g1/180)*pi— перевод угла падения из градусов в радианы. 3. si=sin r1/n – угла преломления. 4. r2=arctg (si/sqrt(1-si*si)) — вычисление агsin величины я; результат — угол преломления в радианах. 5. g 2 =(r 2 /pi)*180 — перевод угла преломления из радиан в градусы. Здесь g 1 и r 1, — угол падения в радианах и градусах, g 2 и r 2, — угол преломления. Примечание. Пояснение происхождения данных формул дается ниже, хотя благодаря формальности алгоритмов знание этого совсем необязательно. Краткая справка Пусть вас не пугает физика, закон преломления света на границе двух сред необычайно простой: Sin U1 = n Sin U2 Здесь U1 называется углом падения, а U2 — углом преломления. Отношение синусов этих углов для заданных двух сред и есть та самая константа п, которая задана в условии задачи. Возьмем для определенности границу между воздухом и водой, тогда п == 1,33. Вот, собственно, и вся необходимая нам сейчас физика. Гораздо большие неприятности нас ожидают при попытке выполнить расчеты по этой, казалось бы, простой формуле. Здесь мы встретим некоторые неожиданные осложнения. Во-первых, все вычисления компьютер всегда производит в радианах, а не в градусах, значит, необходимо выполнить соответствующий переход от одних единиц к другим (в скобках заметим, что в некоторых старых версиях языков, например в СW BASIC, это породит еще одну дополнительную трудность — придется задавать константу те, которую транслятор "не знает"). Второе специфическое препятствие, поджидающее нас на этом пути, состоит в том, что в "базовом" наборе тригонометрических функций (sin x, cosx, arctg x ) отсутствует необходимыми для задачи аrcsin х — придется выражать его через аrctg. В итоге получится приведенная выше последовательность формул для вычислений (см. условие задачи). Решение Язык Бейсик input "n=";n рi = 4 * аtn(1) fог 1 = 0 tо 9 g1 = 10 * 1 'угол падения в градусах r1 = (g1/180) * рi 'угол в радианах s1 = sin(r1)/n 'sin угла преломления г2 = аtn(si/sqr(1 — si * si)) 'угол в рад. g2 = (г2/pi) * 180 'угол прелом. В град. ргшй g1, g2 nехt Билет №13 1. Понятие алгоритма. Свойства алгоритма. Возможность автоматизации деятельности человека. Примеры. 2. Операции с файлами (переименование, копирование, удаление, поиск) в среде операционной системы. 1. Понятие алгоритма. Свойства алгоритма. Возможность автоматизации деятельности человека. Примеры. Алгоритм — это понятное и точное указание исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Термин имеет интересное историческое происхождение. В IX веке великий узбекский математик Аль Хорезми разработал правила арифметических действий над десятичными числами. Совокупность этих правил в Европе стали называть "алгоризм". Впоследствии слово трансформировалось до известного нам сейчас вида и, кроме того, расширило свое значение: алгоритмом стали называть любую последовательность действий (не только арифметических), которая приводит к решению той или иной задачи. Можно сказать, что понятие вышло за рамки математики и стало применяться в самых различных областях. Человек, едва родившись, уже сталкивается с алгоритмами типа "в бутылочку с кефиром влить пастеризованный охлажденный отвар из риса...". Большинство женщин и некоторые мужчины пользуются поваренной книгой — сборником всевозможных описаний последовательности действий, направленных на получение вкусных блюд. Еще более четкие указания по изготовлению продукции содержит обыкновенный аптечный рецепт — в этом случае от точности выполнения алгоритма может порой зависеть жизнь пациента. Определенным алгоритмом действий "руководствуется" стиральная машина или микроволновая печь. Любому шахматисту известен способ, как поставить мат одинокому королю противника с помощью ладьи и своего короля. Школьный курс математики также предлагает большое разнообразие алгоритмов: умножение "столбиком" и деление "уголком", приведение к общему знаменателю... А теперь пример из художественной литературы. Вот как описывает известная писательница Андрэ Нортон в своей книге "Саргассы в космосе" алгоритм движения по гигантскому лабиринту. Главный герой Дейн, тайком наблюдая за главарем галактических гангстеров Ричем, быстро узнает этот алгоритм. "Он дал Ричу отойти, а затем двинулся следом. Рич шагал уверенно, сразу было видно, что он отлично знает дорогу. Еще до того, как вдали в сером сумраке засветился луч фонарика Муры, Дейн уже знал формулу пути к выходу из лабиринта. Два поворота направо, один налево, еще три направо и пропустить один проход. И снова: два поворота направо, один налево и так далее до самого выхода. Рич на глазах у Дейна проделал этот цикл четыре раза подряд..." Описанные выше алгоритмы обычно принято называть "бытовыми". Кроме них, можно выделить еще три крупных разновидности алгоритмов: вычислительные, информационные и управляющие. Первые, как правило, работают с простыми видами данных (числа, векторы, матрицы), но зато процесс вычисления может быть длинным и сложным. Информационные алгоритмы, напротив, реализуют сравнительно небольшие процедуры обработки (например, поиск элементов, удовлетворяющих определенному признаку), но для больших объемов информации. Наконец, управляющие алгоритмы непрерывно анализируют информацию, поступающую от тех или иных источников, и выдают результирующие сигналы, управляющие работой тех или иных устройств. Для этого вида алгоритмов очень существенную роль играет их быстродействие, так как управляющие сигналы всегда должны появляться в нужный момент времени. Итак, всюду мы встречаем алгоритмы, но удивительным образом это изобилие не только не мешает нам, но, наоборот, ведет нас кратчайшими путями к решению наших проблем. Рассмотрим теперь, какими наиболее важными чертами обладает алгоритм. Начнем с того, что алгоритм использует исходные данные, перерабатывая которые он получает требуемый результат. Данное положение легко проиллюстрировать в виде следующей наглядной схемы. Таким образом, каждый алгоритм — это правила, описывающие процесс преобразования исходных данных в необходимый результат. Заметим, что данное важное свойство в некоторых книгах приводят как определение алгоритма. Для того чтобы произвольное описание последовательности действий было алгоритмом, оно должно обладать следующими свойствами. Дискретность Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Примером команд могут служить пункты инструкции, нажатие на одну из кнопок пульта управления, рисование графического примитива (линии, дуги и т.п.), оператор языка программирования. Наиболее существенным здесь является тот факт, что алгоритм есть последовательность четко выделенных пунктов, — такие "прерывные" объекты в науке принято называть дискретными. Понятность Каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены. Данное требование можно сформулировать более просто и конкретно. Составим полный список команд, которые умеет делать исполнитель алгоритма, и назовем его системой команд исполнителя (СКИ). Тогда понятными будут являться только те команды, которые попадают в этот список. Именно из такой формулировки становится ясно, почему компьютер такой "привередливый" при приеме введенных в него команд: даже если неверно написана всего одна буква, команда уже не может быть обнаружена в СКИ. Приведем теперь несколько примеров. Рядовой школьник вряд ли сможет найти статистическое среднее, но не потому, что это очень сложно, а просто из-за незнакомого термина. Переформулируйте задачу (найти сумму чисел и поделить на их количество), и ученик немедленно с ней справится. Или еще. Казалось бы, что может быть проще, чем нарисовать на экране точку. Но, пока вы не будете знать команду, которая это делает, получить результат будет невозможно. Обратите внимание, что совсем не обязательно речь идет об операторе языка программирования. Определенную СКИ, оформленную в форме панели инструментов, имеет и графический редактор. Определенность (или детерминированность) Команды, образующие алгоритм (или, можно сказать, входящие в СКИ), должны быть предельно четкими и однозначными. Их результат не может зависеть от какой-либо дополнительной информации извне алгоритма. Сколько бы раз вы не запускали программу, для одних и тех же исходных данных всегда будет получаться один и тот же результат. При наличии ошибок в алгоритме последнее сформулированное свойство может иногда нарушаться. Например, если не было предусмотрено присвоение переменной начального значения, то результат в некоторых случаях может зависеть от случайного состояния той или иной ячейки памяти компьютера. Но это скорее не опровергает, а подтверждает правило: алгоритм должен быть определенным, в противном случае это не алгоритм. Результативность Результат выполнения алгоритма должен быть обязательно получен, т.е. правильный алгоритм не может обрываться безрезультатно из-за какого-либо непреодолимого препятствия в ходе выполнения. Кроме того, любой алгоритм должен завершиться за конечное число шагов. Большинство алгоритмов данным требованиям удовлетворяют, но при наличии ошибок возможны нарушения результативности. В качестве первого примера возьмем случай, когда алгоритм по тем или иным причинам получит в качестве номера символа в строке отрицательное число. При попытке найти такой символ выполнение алгоритма, естественно, завершится аварийным образом. Теперь пример другой ситуации. Рассмотрим алгоритм деления некоторого числа п "столбиком" на 3. При п == 4,2 он благополучно получает результат, а вот для простейшего значения п = 1 процесс деления оказывается бесконечным. Впрочем, достаточно дополнить алгоритм условием на количество требуемых в ответе знаков после запятой, и результативность немедленно будет восстановлена. Корректность Любой алгоритм создан для решения той или иной задачи, поэтому нам необходима уверенность, что это решение будет правильным для любых допустимых исходных данных. Указанное свойство алгоритма принято называть его корректностью. В связи с обсуждаемым свойством большое значение имеет тщательное тестирование алгоритма перед его использованием. Как показывает опыт, грамотная и всесторонняя отладка для сложных алгоритмов часто требует значительно больших усилий, чем собственно разработка этих алгоритмов. При этом важно не столько количество проверенных сочетаний входных данных, сколько количество их типов. Например, можно сделать сколько угодно проверок для положительных значений аргумента алгоритма, но это никак не будет гарантировать корректную его работу в случае отрицательной величины аргумента. Кстати говоря, именно результатом недостаточной тщательности тестирования чаще всего объясняются многочисленные сюрпризы, преподносимые современным программным обеспечением в процессе эксплуатации. Массовость Алгоритм имеет смысл разрабатывать только в том случае, когда он будет применяться многократно для различных наборов исходных данных. Например, если составляется алгоритм обработки текстов, то вряд ли целесообразно ограничивать его возможности только, русскими буквами — стоит предусмотреть также латинский алфавит, цифры, знаки препинания и т.п. Тем более что такое обобщение особых трудностей не вызывает. Заметим, что массовость алгоритма в отдельных случаях может нарушаться: к числу подобных исключений можно отнести алгоритмы пользования некоторыми простыми автоматами (для них входными данными служит единственный тип монет) или довольно яркий и впечатляющий алгоритм поиска клада, который бессмысленно выполнять повторно. Таковы основные свойства алгоритмов. Если их внимательно проанализировать, то становится очевидным, что исполнитель алгоритма не нуждается в какой-либо фантазии и сообразительности. Более того, для выполнения алгоритма совсем не требуется его понимание, а правильный результат может быть получен путем формального и чисто механического следования содержанию алгоритма. В самом деле, используя алгоритм настройки телевизора на существующие в данной местности каналы, который подробно описан в инструкции, любой человек сможет успешно справиться с этой задачей, даже если он понятия не имеет об устройстве телевизора. А вот обратный пример: люди, не разбирающиеся в компьютерах, постоянно нуждаются, чтобы кто-то им формулировал алгоритмы (вспомните характерный вопрос "А теперь куда нажимать?"). Из возможности формального исполнения алгоритма следует очень важное следствие: поскольку осознавать содержание алгоритма не требуется, его исполнение вполне можно доверить автомату или ЭВМ. Таким образом, составление алгоритма является обязательным этапом автоматизации любого процесса. Как только разработан алгоритм, машина может исполнять его лучше человека — быстрее и, что очень важно, не ошибаясь. Напротив, даже самое простое по человеческим меркам действие не может быть выполнено машиной, пока не сформулирован алгоритм. Например, попробуйте научить машину, как отличить на фотографии кошку от собаки; наверное, вы тоже затрудняетесь сформулировать четкий алгоритм такого действия. А между тем пятилетний ребенок совершенно безошибочно справляется с такой задачей! И еще один, чуть более сложный, пример. В данный момент неизвестен алгоритм составления расписания уроков в наиболее общем виде, поэтому опытный завуч часто делает это лучше, чем компьютер. Зато в деле проверки уже готового расписания, напротив, компьютер вне конкуренции, поскольку алгоритм операции достаточно простой. Завершая обсуждение, стоит подчеркнуть, что теоретическое понятие "алгоритм" имеет огромное прикладное значение. Любая программа, написанная для ЭВМ, является, по сути дела, одной из форм записи алгоритма. А роль программного обеспечения для современных компьютеров трудно переоценить. 2. Операции с файлами (переименование, копирование, удаление, поиск) в среде операционной системы. Задание Выполнить приведенные ниже действия. 1. Найти на указанном учителем диске папку с заданием. Пусть для определенности изложения она называется ZADANIE 2. Скопировать папку и все ее содержимое на дискету. Все дальнейшие манипуляции выполнять только с данной копией на дискете. 3. Создать внутри полученной папки две новые с названиями ТЕХТS И PICTURES. 4. Скопировать все текстовые документы, имеющиеся в папке ZADANIE, в папку ТЕХТS, а графические — в PICTURES. 5. Удалить скопированные файлы из папки ZADANIE на дискете. Если ОС позволяет, то при выполнении предыдущей операции можно делать не копирование, а перемещение документов — это избавит от необходимости их удаления. 6. Переименовать на дискете папку ZADANIE в RESULTAT. Примечание. Поскольку при формулировке задания подразумевалась среда Windows, в тексте использованы термины, характерные именно для этой операционной системы (папка, документ и др.). Если в школе используется другая ОС, то терминологию следует соответствующим образом изменить (каталог, подкаталог, файл и т.п.). Комментарии Для выполнения задания нужно четко представлять себе структуру хранения информации в данной файловой системе (см. вопрос 1 билета № 6) и знать правила ввода команд в ОС. Методы выполнения задания существенным образом зависят от типа интерфейса операционной системы. Если вы работаете в ОС с командной строкой, то необходимо ввести последовательность строк, каждая из которых представляет собой написанную по определенным строгим правилам команду. В качестве альтернативного варианта можно сохранить все командные строки в специальном текстовом файле (для СР/М он имел расширение SUB, а для МS-DOS — ВАТ) и затем его запустить. Билет №14 Линейная алгоритмическая структура. Команда присваивания. Примеры.
|
|||||||
Последнее изменение этой страницы: 2016-12-16; просмотров: 253; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.26.231 (0.012 с.) |