Интегрированное занятие Представление об организации баз данных и системах управления базами данных

Тема 5.3.Представление об организации баз данных и системах управления базами данных
[ Cкачайте файл, чтобы посмотреть картинку ]
Курс: 1
Вид занятия: Занятие теоретического обучения
Тип занятия: Лекция
Форма проведения занятия: Индивидуальная и групповая
Место проведения занятия: Кабинет информатики и ИКТ
Цель занятия: Изучить представление об организации баз данных и системах управления базами данных
Задачи занятия:
Учебная – формироввание мотивации и опыта учебно познавательной и практической деятельности. Создать условия для обобщения и систематизации знаний, проверка ЗУН.
Воспитательная - развить логическое мышление и умение выражать речью результаты собственной мыслительной деятельности. Способствовать развитию умению анализировать, выдвигать гипотезы, предложения.
Развивающая - способствовать формированию памяти, находчивости, научного мировоззрения
Методическая - методика использования оптимальных способов повторения изученного материала
Оборудование: Интерактивная доска, канцелярские принадлежности, карточки с заданием. Портреты Карл Линней (1707-1778), Швеция и Владимир Иванович Вернадский (1863-1945), Россия, Владимир Александрович Котельников (1908-2005), Россия, Норберт Винер (1894-1964), США, Кпод Элвуд Шеннон (1916-2001), США

План занятия:
1.Организационный момент
2. Актуализация знаний
3. Изучение нового материала
4 Система основных понятий
5. Закрепление
6. Итог и задание для самостоятельной работы

4-5 минут
10-15 минут
40-45 минут
25-30 минут
22-25 минут
8-10 минут

Ход занятия:
1.Организационный момент
Преподаватель и студенты, здороваются, проводится инструктаж по безопасной работе за компьютерами, студент расписывается за рабочее место за которое он несет ответственность в течении всей пары.
2. Актуализация знаний

3. Изучение нового материала
Что такое база данных
База данных (БД) совокупность определенным образом организованной информации на какую-то тему (в рамках некоторой предметной области). Например:
база данных книжного фонда библиотеки;
база данных кадрового состава учреждения;
база данных законодательных актов в области уголовного права;
база данных современной эстрадной песни.
Конечно, вся эта информация может храниться и на бумаге (например, книжный каталог библиотеки). Но современным средством хранения и обработки баз данных является, безусловно, компьютер. В дальнейшем мы будем иметь в виду только компьютерные БД.
Базы данных бывают фактографическими и документальными.
В фактографических БД содержатся краткие сведения об описываемых объектах, представленные в строго определенном формате. Из приведенных выше примеров две первые БД скорее всего будут организованы как фактографические. В БД библиотеки о каждой книге хранятся библиографические сведения: год издания, автор, название и пр. Разумеется текст книги в ней содержаться не будет. В БД отдела кадров учреждения хранятся анкетные данные сотрудников: фамилия, имя, отчество; год и место рождения.
Базы данных в третьем и четвертом примерах наверняка будут организованы как документальные. Первая из них будет включать в себя тексты законов; вторая тексты и ноты песен; биографическую и творческую справочную информацию о композиторах, поэтах, исполнителях; звуковые записи и видеоклипы. Следовательно, документальная БД содержит обширную информацию самого разного типа: текстовую, графическую, звуковую, мультимедийную.
Современные информационные технологии постепенно стирают границу между фактографическими и документальными БД. Существуют средства, позволяющие легко подключать любой документ (текстовый, графический, звуковой) к фактографической базе данных.
Сама по себе база данных не может обслужить запросы пользователя на поиск и обработку информации. БД это только «информационный склад». Обслуживание пользователя осуществляет информационная система.
Информационная система это совокупность базы данных и всего комплекса аппаратно-программных средств для ее хранения, изменения и поиска информации, для взаимодействия с пользователем.
Примерами информационных систем являются системы продажи билетов на пассажирские поезда и самолеты. WWW это тоже пример глобальной информационной системы.
Далее в нашей книге речь будет идти только о фактографических базах данных. Дадим более строгое определение компьютерной БД, чем то, что приводилось выше.
База данных организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоянного применения.
Для хранения БД может использоваться как один компьютер, так и множество взаимосвязанных компьютеров.
Если различные части одной базы данных хранятся на множестве компьютеров, объединенных между собой сетью, то такая БД называется распределенной базой данных.
Очевидно, информацию в Интернет, объединенную паутиной WWW, можно рассматривать как распределенную базу данных. Распределенные БД создаются также и в локальных сетях.
Реляционные базы данных
Информация в базах данных может быть организована по-разному. Чаще всего используется табличный способ.
Базы данных с табличной формой организации называются реляционными БД.
В чем же их преимущество?
Главное достоинство таблиц в их понятности. С табличной информацией мы имеем дело практически каждый день. Загляните, например в свой дневник: расписание занятий там представлено в виде таблицы, ведомость с оценками за четверти имеет табличный вид. Когда мы приходим на вокзал, смотрим расписание электричек. Какой вид оно имеет? Это таблица! А еще есть таблица футбольного чемпионата. И журнал учителя, куда он ставит вам оценки, тоже таблица.
Видите, как много примеров, и их еще можно продолжить. Мы настолько привыкли к таблицам, что обычно не требуется никому объяснять, как ими пользоваться. Ну разве что маленькому ребенку, который только учится читать.
В реляционных БД строка таблицы называется записью, а столбец полем. В общем виде это выглядит так:
поле 1 поле 2 поле 3 поле 4 поле 5
запись 1 запись 2
Табл. 6.1-6.5 будем в дальнейшем рассматривать как примеры информации, пригодной для организации реляционных баз данных.
Каждое поле таблицы имеет имя. Например, в табл. 6.2 «Погода» имена полей такие: ДАТА, ОСАДКИ, ТЕМПЕРАТУРА, ДАВЛЕНИЕ, ВЛАЖНОСТЬ.
Одна запись содержит информацию об одном объекте той реальной системы, модель которой представлена в таблице.
Например, домашняя библиотека это множество книг. Значит, отдельный объект такой системы это книга, и одна запись в базе данных «Домашняя библиотека» (табл. 6.1) это информация об одной книге из библиотеки.
Поля это различные характеристики (иногда говорят атрибуты) объекта. Значения полей в одной строчке относятся к одному объекту.
Разные поля отличаются именами. А чем отличаются друг от друга разные записи? Записи различаются значениями ключей.
Главным ключом в базах данных называют поле (или совокупность полей), значение которого не повторяется у разных записей.
В БД «Домашняя библиотека» разные книги могут иметь одного автора, могут совпадать названия книг, год издания, полка. Но инвентарный номер у каждой книги свой (поле НОМЕР). Он-то и является главным ключом для записей в этой базе данных. Главным ключом в БД «Погода» является поле ДЕНЬ, так как его значение не повторяется в разных записях.
Не всегда удается определить одно поле в качестве ключа. Вот, например, база данных, которая хранится в компьютере управления образования области. В ней содержатся сведения о всех средних школах районных центров в виде такой таблицы:
Таблица 7.1. Школы
Город
Номер шк.
Директор
Адрес
Телефон

Крюков
1
Иванов А.П.
Пушкина, 5
12-35

Шадринск
1
Строев С.С.
Лесная, 14
4-23-11

Шадринск
2
Иванов А.П.
Мира, 34
4-33-24







В такой таблице у разных записей не могут совпасть только одновременно два поля ГОРОД и НОМЕР ШКОЛЫ. Эти два поля вместе образуют составной ключ: ГОРОД-НОМЕР ШКОЛЫ. Составной ключ может состоять и более чем из двух полей.
С каждым полем связано еще одно очень важное свойство тип поля.
Тип определяет множество значений, которые может принимать данное поле в различных записях.
В реляционных базах данных используются четыре основных типа полей:
числовой;
символьный;
дата;
логический.
Числовой тип имеют поля, значения которых могут быть только числами. Например, в БД «Погода» три поля числового типа: ТЕМПЕРАТУРА, ДАВЛЕНИЕ, ВЛАЖНОСТЬ.
Символьный тип имеют поля, в которых будут храниться символьные последовательности (слова, тексты, коды и т.п.). Примерами символье!ЫХ полей являются поля АВТОР и НАЗВАНИЕ в БД «Домашняя библиотека»; поле ТЕЛЕФОН в БД «Школы».
Тип «дата» имеют поля, содержащие календарные даты в форме «день/месяц/год» (в некоторых случаях используется американская форма: месяц/день/год). Тип «дата» имеет поле ДЕНЬ в БД «Погода».
Логический тип соответствует полю, которое может принимать всего два значения: «да» «нет» или «истина» «ложь» или (по-английски) «true» «false». Если двоичную матрицу представить в виде реляционной БД (табл. 6.4, 6.5), то ее полям, принимающим значения «О» или «1», удобно поставить в соответствие логический тип. При этом «1» заменится на значение «истина», «О» на значение «ложь».
Итак, значения полей это некоторые величины определенных типов.
От типа величины зависят те действия, которые
можно с ней производить.
Например, с числовыми величинами можно выполнять арифметические операции, а с символьными и
Что такое система управления базами данных?-Уже много раз говорилось о том, что любую работу компьютер выполняет под управлением программ. Значит, и для работы с базами данных требуется специальное программное обеспечение. Такое программное обеспечение называется системой управления базами данных или сокращенно СУБД.
Программное обеспечение, предназначенное для работы с базами данных, называется СУБД: система управления базами данных.
Системы, работающие с реляционными базами данных, называются реляционными СУБД. С помощью реляционной СУБД можно работать как с однотабличной базой данных, так и с базой, состоящей из множества связанных между собой таблиц. Здесь мы будем рассматривать только однотабличные базы данных.
С помощью СУБД вы будете создавать таблицы и сохранять их на магнитном диске в виде файлов. Каждый файл имеет свое имя. Если вы сами создаете таблицу и сохраняете ее в файле, то сами вы и придумываете имя для файла. Если же вы хотите работать с уже готовой базой, например ее подготовил к уроку учитель, то вы должны узнать, в файле с каким именем, на каком диске и в каком каталоге она хранится.
Для того чтобы начать работу с подготовленной базой данных, нужно открыть файл, в котором она хранится.
Делается это с помощью команды открытия файла.
Примечание 1. В нашей книге не будет описываться работа с реальной СУБД. Их много, постоянно появляются новые. В разных СУБД различный интерфейс, язык команд. Как правило, в них используются английские термины. Далее будет описываться работа с некоторой условной (гипотетической) реляционной СУБД, «понимающей» команды на русском языке. Однако эта система обладает всеми основными свойствами реальных СУБД. При выполнении заданий в компьютерном классе вам предстоит стать «переводчиками» с языка гипотетической СУБД на язык реальной системы.
Мы будем рассматривать работу с нашей гипотетической СУБД в режиме командного управления. Система выводит на экран приглашение пользователю. Пусть в качестве такого приглашения выводится точка в начале командной строки (многие СУБД именно так и работают). Сразу после точки пользователь должен ввести команду с клавиатуры.
Команда открытия файла с базой данных имеет такой формат:
. открыть <имя файла>
Например, если файл имеет имя tabl.dbf, то открывается он по команде:
. открыть tabl.dbf
Примечание 2. Здесь и в дальнейшем в описаниях форматов
команд будут использоваться угловые скобки < >. Запись
в угловых скобках указывает на смысл соответствующего элемента командЯ. Ее можно предварять наречием «некоторый». Например запись <имя файла> нужно читать так: «Некоторое имя файла».
После открытия файла таблица стала доступна для работы с ней. Что можно делать с такой таблицей? Практически все, что угодно:
добавлять новые записи;
удалять записи, ставшие ненужными:
изменять содержимое полей;
изменять структуру таблицы: удалять или добавлять поля;
сортировать строки по какому-нибудь принципу, например в алфавитном порядке фамилий авторов;
получать справки, то есть ответы на запросы. Очевидно, последнее обслуживание запросов для получения справочной информации это основная цель, ради которой создается база данных.
В большинстве случаев справка это тоже таблица с интересующими пользователя сведениями, выбранными из базы данных. Она также состоит из строк и столбцов и может рассматриваться как результат «вырезания» и «склеивания» фрагментов исходной таблицы. Имитировать такую работу СУБД можно с помощью бумажного листа с расчерченной и заполненной таблицей, ножниц и клея.
Команда запроса на выборку информации из базы данных с целью получения справки имеет следующий формат: .выбрать <список выводимых полей> для <условие выбора>
Результат выполнения команды выводится на экран в виде таблицы. Если нужно получить на экране все строки и столбцы, то команда выглядит следующим образом:
. выбрать все
Слово «все» обозначает вывод всех полей таблицы; если условие выбора не указано, значит, выводятся все записи.
Обычно СУБД позволяют просмотреть всю базу данных, не прибегая к команде выборки. Для этого существует режим просмотра. Как правило, все записи базы не помещаются в одном кадре экрана, в таком случае используется «прокрутка», т. е. последовательное перемещение таблицы по экрану.
Если требуется просмотреть лишь некоторые поля записей, то следует воспользоваться командой выборки. Например, нужно получить список всех книг, содержащий только фамилии авторов и названия. Для этого следует отдать команду:
.выбрать АВТОР, НАЗВАНИЕ
Исполнение этой команды СУБД производит так: из табл. 6.1 вырезаются по очереди два столбца, соответствующие полям АВТОР и НАЗВАНИЕ. Затем они склеиваются в таком же порядке и в итоге получается таблица:
Таблица 7.2
АВТОР
НАЗВАНИЕ

Беляев А.Р.
Человек-амфибия

КервудД.
Бродяги севера

Тургенев И.С.
Повести и рассказы

Олеша Ю.К.
Избранное

Беляев А.Р.
Звезда КЭЦ

Тынянов Ю.Н.
Кюхля

Толстой Л.Н.
Повести и рассказы

I Беляев А.Р.
Избранное


Создание базы данных связано с описанием структуры для будущих таблиц. Этот этап работы выполняется в среде СУБД. Пользователь должен указать имена всех полей таблицы, их типы и форматы.
Типы полей. Выше уже говорилось о четырех типах полей: символьном, числовом, логическом и «дата». В некоторых СУБД используются и другие типы полей, например «Время», «День недели», «Адрес» и пр. Кроме того, многие СУБД позволяют создавать поля типа «Примечание». Дело в том, что размер символьного поля обычно ограничен величиной 255 символов. Текст большего размера в него уже не поместится. Примечание позволяет хранить практически неограниченный текст. Он будет храниться в отдельном файле и при необходимости может быть извлечен для чтения.
Форматы полей. Формат символьного поля определяет число символьных позиций, которое будет занимать поле в записи. Например, если символьное поле имеет формат 10, то его значения в различных записях могут содержать от 0 до 10 символов.
Формат числового поля обычно состоит из двух частей: длины и точности. Длина это полное количество символьных позиций, выделяемых под запись числа: точность это количество позиций, выделенных под дробную часть. Следует иметь в виду, что десятичная точка тоже занимает позицию. Например, формат записи числа 123.45 такой: длина 6, точность 2. Целое число, т.е. число без дробной части, имеет точность 0.
Формат логической величины стандартный 1 символ. Чаще всего используются однобуквенные обозначения: Т true (истина), F false (ложь). В учебнике для этих величин используются обозначения русскими буквами: И истина, JI ложь.
Формат даты обычно имеет длину 8 символов. Правда, бывают разные стандарты. Более привычен нам стандарт ДД/ММ/ГГ (или ДД.ММ.ГГ, или ДД-ММ-ГГ). Здесь ДД двузначное обозначение числа, ММ месяца, ГГ года. Иногда используется стандарт ММ/ДД/ГГ. Бывают и другие обозначения.
Для примера в следующей таблице описаны типы и форматы полей из базы данных «Погода»:
Таблица 7.3. Структура таблицы «Погода»
Поле
Тип
Длина
Точность

ДЕНЬ
Дата
8


ОСАДКИ
Символьный
11


ТЕМПЕРАТУРА
Числовой
5
1

ДАВЛЕНИЕ
Числовой
3
0

ВЛАЖНОСТЬ [ Числовой
3
0


Создание новой базы данных начинается с описания структуры таблицы. По команде СОЗДАТЬ пользователю предлагается заполнить таблицу типа той, что представлена в табл.7.3. Затем необходимо указать на главный ключ таблицы. В данном примере главным ключом является поле ДЕНЬ.
На этом этап создания закончился. Открыт файл базы данных, определена структура данных. Но база пустая, информации в ней пока нет. Здесь можно привести такую аналогию: построили овощную базу, но овощи туда пока не завезли.
Заполнение БД. Теперь настало время заполнять базу информацией. Ввод данных производится после команды ВВЕСТИ. Ввод может происходить через форму, учитывающую структуру записей таблицы, которая была описана на этапе создания. Например, ввод первой записи через форму в таблицу «Погода» будет происходить в таком виде:
ДЕНЬ
15/03/97

ОСАДКИ
Снег

ТЕМПЕРАТУРА
-3,5

ДАВЛЕНИЕ
746


ВЛАЖНОСТЬ
67



И так далее до тех пор, пока не будет введена последняя запись. После сохранения файла создание базы данных завершено и теперь к ней можно обращаться с запросами.
Любая СУБД дает возможность пользователю вносить изменения в уже готовую базу данных: изменять значения полей, изменять форматы полей, удалять одни поля и добавлять другие. О том, как это делается в СУБД вашего компьютерного класса, вы узнаете на уроке.
Условия выбора и простые логические выражения.- Чаще всего для справки требуются не все записи, а только часть из них, удовлетворяющая какому-то условию. Это условие называется условием выбора. Например, из таблицы «Погода» требуется узнать, в какие дни шел дождь; или из таблицы «Факультативы» определить, кто занимается одновременно цветоводством и танцами, или из таблицы «Успеваемость» получить список всех отличников по математике и физике.
В командах СУБД условие выбора записывается в форме логического выражения.
Логическое выражение это некоторое высказывание, по поводу которого можно заключить истинно оно или ложно.
Логическое выражение, подобно математическому выражению, выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина это всегда ответ на вопрос: истинно ли данное высказывание.
Таблица 7.4. Высказывания и их логические значения
Высказывания
Номер записи
Значение

БД «Погода»


1. Идет дождь
1
Ложь

2. Давление больше 740 мм. рт.ст.
2
Истина

3. Влажность не 100%
3
Ложь

БД «Домашняя библиотека»


4. Книга стоит ниже пятой полки
3
Истина

5. Автор книги Толстой Л.Н.
3
Ложь

БД «Факультативы»


6. Фамилия ученика Русанов
1
Истина

7. Занимается цветоводством
1
Ложь

8. Занимается танцами
1
Истина

Вот как выглядят логические выражения, соответствующие восьми высказываниям, приведенным в табл. 7.4:
ОСАДКИ = "дождь"
ДАВЛЕНИЕ > 740
ВЛАЖНОСТЬ о 100
ПОЛКА < 5
АВТОР = "Толстой Л.Н."
ФАМИЛИЯ = "Русанов"
ЦВЕТОВОДСТВО
ТАНЦЫ
Шесть первых выражений называются отношениями. В них имена полей базы данных связываются с соответствующими значениями знаками отношений. Вот все возможные знаки отношений:
< меньше >= больше или равно <= меньше или равно
Как выполняются отношения для числовых величин, это вам должно быть понятно из математики. (В математике отношения называются неравенствами.) Для символьных величин требуется пояснение.
Отношение «равно» истинно для двух символьных величин, если их длина одинакова и все соответствующие символы совпадают. Следует учитывать, что пробел это тоже символ. Например, отношение
АВТОР= "Беляев А.Р."
не будет истинным ни для одной записи нашей таблицы, поскольку в таблице везде между фамилией и инициалами стоит один пробел, а в данном отношении два.
Символьные величины можно сопоставлять и в отношениях <, >, <=, >=. Здесь принцип такой: сравниваются между собой не сами символы, а их внутренние коды. Если в используемой на компьютере кодировке буквы русского алфавита упорядочены по возрастанию их кодов, то будут справедливы следующие отношения между ними:
А<Б<В<Г<Д<Е<...<Ю<Я.
Тогда упорядоченность слов (последовательностей символов) определяется по алфавитному принципу: сначала по первой букве, потом по второй и так далее, как это делается в словарях или энциклопедиях. Такой принцип называется лексикографическим порядком. Вот фрагмент из орфографического словаря, содержащий последовательно расположенные в нем слова:
квартет, компонент, конверт, конвульсия.
Между этими словами истины следующие отношения: квартет < конвульсия компонент > квартет конверт > компонент
Поля символьного типа могут содержать не только русские буквы, но и любые символы из символьной таблицы компьютера, в том числе цифры, скобки, знаки препинания. Поэтому лексикографический порядок определяется порядковыми номерами символов в этой таблице. В кодовой таблице ASCII (и в других) соблюдается принцип последовательного кодирования для латинских букв и арабских цифр. Значит, лексикографический порядок поддерживается, например, и для английских слов.
Значения полей типа «дата» при выполнении отношений сравниваются в соответствии с календарной последовательностью. Например, истинны отношения:
3/12/56 < 23/04/65, 24/09/79 > 23/09/79.
В некоторых СУБД используется тип «время» со следующим форматом значений: ЧЧ:ММ:СС (часы, минуты, секунды). При выполнении отношений учитывается хронологическая последовательность. Например, истинны отношения:
12:53:08 > 03:40:00 23:05:12 < 23:05:13.
Отношения можно применять и к логическим величинам. Истинно следующее отношение:
true > false.
Это нетрудно понять, поскольку код логической величины true равен 1, а код false равен 0. Но, очевидно, 1 > 0.
А теперь вернемся к приведенным выше примерам логических выражений. В примерах 7 и 8 нет никаких знаков отношений. Дело в том, что поля с именами ЦВЕТОВОДСТВО и ТАНЦЫ имеют логический тип. Поэтому в каждой записи их значения это логические величины: 1 истина, 0 ложь.
Одна величина логического типа простейшая форма логического выражения. Следовательно, условие выбора может содержать в своей записи лишь имя логического поля.
А теперь запишем несколько команд для получения справки, используя условия выбора. Вот как выглядит команда запроса информации из БД «Погода» о датах всех дождливых дней:
. выбрать ДАТА для ОСАДКИ = "дождь"
В итоговую справку попадут лишь те записи, для которых истинно условие поиска. Значит, получим:
ДАТА ~
18/03/97
Следующая команда позволяет вывести даты и влажность, соответствующие тем дням, когда атмосферное давление было выше 745 мм. рт.ст.
.выбрать ДАТА, ВЛАЖНОСТЬ для ДАВЛЕНИЕ >745.
дата
влажность

15/03/97
67

16/03/97
62

19/03/97
87


Запишем команду запроса справки к БД «Домашняя библиотека»: вывести названия книг и авторов, фамилии которых начинаются с букв О, П, Р и далее по алфавиту.
.выбрать АВТОР, НАЗВАНИЕ для АВТОР >= "О"
АВТОР
НАЗВАНИЕ

Тургенев И.С.
Повести и рассказы

Олеша Ю.К.
Избранное

Тынянов Ю.Н.
Кюхля

Толстой Л.Н.
Повести и рассказы


А теперь запрос к БД «Факультативы»: вывести список фамилий всех учеников, посещающих танцы:
.выбрать ФАМИЛИЯ для ТАНЦЫ.
ФАМИЛИЯ Русанов
Зотова
ШляпинаВыражение, состоящее из имени поля логического I
типа или одного отношения, будем называть
простым логическим выражением.
СУБД позволяет в запросах на выборку использовать арифметические выражения. Арифметические выражения могут включать в себя числа, имена полей числового типа, знаки арифметических операций, круглые скобки.
Рассмотрим базу данных, содержащую таблицу успеваемости учеников (табл. 7.5).
Таблица 7.5. БД «Успеваемость»
Ученик
Русский
Алгебра
Химия
Физика
История
Музыка

Аликин Петр
4
5
5
4
4
5

Ботов Иван
3
3
3
3
3
4

Волков Илья
5
5
5
5
5
5

1 Галкина Нина
4
4
5
2
4
4


Требуется получить список учеников, у которых сумма баллов по гуманитарным предметам больше, чем по естественным. Следует отдать команду:
.выбрать УЧЕНИК для РУССКИЙ + ИСТОРИЯ +
+ МУЗЫКА > АЛГЕБРА + ХИМИЯ + ФИЗИКА.
В результате получим:
Следующая команда запрашивает фамилии учеников, у которых оценка по алгебре выше их среднего балла:
Условия выбора и сложные логические выражения - Рассмотрим еще одну группу высказываний (табл. 7.G). Будем считать высказывание истинным, если в БД имеется хотя бы одна запись, для которой оно справедливо.
Таблица 7.в. Высказывания и их логические значения
Высказывание
Значение

БД «Факультативы»


1. Русанов занимается геологией
Истина

2. Шляпина посещает факультативы
Истина

БД «Успеваемость»


3. У Аликина по физике то ли 4, то ли 5
Истина

4. У Галкиной по алгебре не двойка
Истина

БД «Погода»


5. 15 марта 1997 года были осадки
Истина

6. 17 марта 1997 года влажность была меньше 100%
Ложь

БД «Домашняя библиотека»


7. В библиотеке есть книги Беляева А.Р.,
Истина

изданные не ранее 1990 года


8. В библиотеке есть книги Толстого Л.Н. или Тургенева И.С.
Истина


Каждое из этих высказываний объединяет в себе значения нескольких полей одновременно. Поэтому они не могут быть записаны в форме простых логических выражений.
Вот как записываются соответствующие логические выражения:
ФАМИЛИЯ = "Русанов" и ГЕОЛОГИЯ
ФАМИЛИЯ ="Шляпина" и (ЦВЕТОВОДСТВО или ГЕОЛОГИЯ или ТАНЦЫ)
УЧЕНИК = "Аликин Петр" и (ФИЗИКА=4 или ФИЗИКА=5)
не АЛГЕБРА= 2 и У ЧЕНИК="Галкина Нина"
ДАТА=15/03/97 и (ОСАДКИ="дождь" или ОСАДКИ= "снег")
ДАТА=17/03/97 и ВЛАЖНОСТЬсЮО
АВТОР "Беляев А.Р." и ШД>=1990
АВТОР= "Толстой Л.Н." или АВТОР= "Тургенев И.С."
Здесь кроме знакомых вам отношений и логических полей используются смысловые связки «и», «или», «не». Это служебные слова, которые выполняют роль знаков логических операций.
Познакомимся с тремя логическими операциями:
операция логического умножения (конъюнкция); знак операции «и»;
операция логического сложения (дизъюнкция); знак операции «или»;
операция отрицания; знак операции «не».
Выражения, содержащие логические операции, будем называть сложными логическими выражениями.
Операции логического умножения и сложения двухместные. Это значит, что они связывают между собой две логические величины (два логических операнда).
Логическое умножение (и)
В результате логического умножения получается истина, если оба операнда истинны.
Пусть требуется получить справку о книгах Беляева А.Р., изданных не раньше 1990 года, с указанием названия книги, года издания и полки, на которой стоит книга. Соответствующая команда имеет вид:
.выбрать НАЗВАНИЕ, ГОД, ПОЛКА для АВТОР= "Беляев А. Р." и ШД>=1990
Формирование справки происходит в такой последовательности: сначала вырезаются и склеиваются в одну таблицу все строки, удовлетворяющие первому отношению: АВТОР = Беляев А. Р. Получается следующее:
НОМЕР
АВТОР
НАЗВАНИЕ
год
П.

0001
Беляев А. Р.
Человек-амфибия
1987
5

0005
Беляев А. Р.
Звезда КЭЦ
1990
5

0008
Беляев А. Р.
Избранное
1994
7



Затем из этой таблицы вырезаются строки, удовлетворяющие второму отношению: ГС)Д>=1990. Получим:
НОМЕР
АВТОР
НАЗВАНИЕ
год
П.

0005
Беляев А. Р.
Звезда КЭЦ
1990
5

0008
Беляев А. Р.
Избранное
1994
7



И наконец, вырезаются столбцы, указанные в списке полей команды. На экран выведется справка:
НАЗВАНИЕ
год
П.

Звезда КЭЦ
1990
5

Избранное
1994
7

Значит, выполнение конъюнкции происходит путем последовательного вырезания строк из таблицы.

Логическое сложение (или)
Теперь рассмотрим пример на использование логического сложения (дизъюнкции).
В результате логического сложения получается истина, если значение хотя бы одного операнда
истинно.
Вот, например, мы хотим получить список всех книг Толстого Л. Н. и Тургенева И. С. Запрос на выборку пишется так: .выбрать для АВТОР= "Толстой Л. Н." или АВТОР= "Тургенев И. С."
В этом случае строки, удовлетворяющие условиям АВТОР = "Толстой Л. Н." или АВТОР= "Тургенев И. С.", вырезаются одновременно из исходной таблицы. После их склеивания получим:
НОМЕР
АВТОР
НАЗВАНИЕ
год
П.

0003
Тургенев И. С.
Повести и рассказы
1982
1

0007
Толстой Л.Н.
Повести и рассказы
1986
1


Отрицание
Отрицание третья логическая операция.
Отрицание изменяет значение логической величины на противоположное: не истина = ложь; не ложь = истина.

Отрицание одноместная операция. Это значит, что она применяется к одному логическому операнду.
Например, требуется получить список всех книг, кроме книг Беляева. Запрос такой:
.выбрать АВТОР, НАЗВАНИЕ для не АВТОР= "Беляев А. Р."
В этом случае вырезаются все строки, в которых поле АВТОР не равно значению «Беляев А. Р.». Строки склеиваются, а из полученной таблицы вырезаются столбцы АВТОР и НАЗВАНИЕ. После их склеивания получим справку:
АВТОР
НАЗВАНИЕ

КервудД.
Бродяги севера

Тургенев И. С.
Повести и рассказы

Олеша Ю. К.
Избранное

Беляев А. Р.
Звезда КЭЦ

Тынянов Ю. Н.
Кюхля

Толстой Л. Н.
Повести и рассказы


Табл. 7.7 иллюстрирует все правила выполнения трех логических операций. Такую таблицу называют таблицей истинности. В ней буквами А и Б обозначены логические операнды. Величина «истина» обозначена буквой И, логическая величина «ложь» буквой JI.
Таблица 7.7. Таблица истинности
А
Б
А и Б
А или Б
не А

И
И
И
И
Л

Л
Л
Л
Л
И

И
Л
Л
И
Л

Л
И
Л
И
И


Если в сложном логическом выражении имеется несколько логических операций, то возникает вопрос, в каком порядке их выполнит компьютер. Это касается выражений под номерами 2, 4, 5 в приведенных выше примерах.
В логическом выражении можно использовать круглые скобки. Так же как и в математических формулах, скобки влияют на последовательность выполнения операций. Если нет скобок, то операции выполняются в порядке их старшинства. Среди логических операций, как и среди арифметических, есть различие по старшинству (еще говорят по приоритету). По убыванию старшинства логические операции располагаются в таком порядке:
отрицание(не) конъюнкция (и) дизъюнкция (или)
Ниже приведены два логических выражения, отличающиеся только скобками. Цифры над знаками логических
Сортировка, удаление и добавление записей - Очень часто записи в таблицах бывают упорядочены по какому-то правилу. Например, в телефонных справочниках з алфавитном порядке фамилий абонентов; в расписании движения поездов в порядке времени отправления; в таблице футбольного чемпионата по возрастанию номера места, которое занимает команда.
Процесс упорядочения записей в таблице называется сортировкой. Для выполнения сортировки должна быть указана следующая информация:
а) по значению какого поля производить сортировку;
б) в каком порядке сортировать записи (по возрастанию или убыванию значений поля).
В команду запроса на выборку можно добавить параметры сортировки, в соответствии с которыми будут упорядочены строки в итоговой таблице. В таком случае формат команды запроса на выборку становится следующим:
.выбрать <список выводимых полей> для <условия выбора> сортировать <ключи сортировки> по спорядок
сортировки>
Ключом сортировки называется поле, по значению которого производится сортировка. Возможны два варианта порядка сортировки: по возрастанию значений ключа и по убыванию значений ключа.
Отсортируем записи таблицы «Погода» по убыванию значений влажности. Для этого нужно отдать команду:
.выбрать все сортировать ВЛАЖНОСТЬ по убыванию
В результате выполнения этой команды будет получена табл. 7.8.
Таблица 7.8. «Погода», отсортированная по убыванию влажности
ДАТА
ОСАДКИ
ТЕМПЕРАТУРА
ДАВЛЕНИЕ
ВЛАЖНОСТЬ

17/03/97
Туман
1,0
740
100

18/03/97
Дождь
3,4
745
96

19/03/97
Без осадков
5,2
760
87

15/03/97
Снег
-3,5
746
67

16/03/97
Без осадков
0
750
62


А теперь отсортируем записи БД «Домашняя библиотека» в алфавитном порядке по фамилиям авторов. В итоговую таблицу выберем только сведения о книгах, изданных после 1985 года. Выведем три поля: АВТОР, НАЗВАНИЕ, ГОД. Для этого нужно выполнить команду:
. выбрать АВТОР, НАЗВАНИЕ, ГОД для ГОД>1985 сортировать АВТОР по возрастанию
В итоге получим табл. 7.9.
Таблица 7.9. «Домашняя библиотека», отсортированная в алфавитном порядке фамилий авторов
АВТОР
НАЗВАНИЕ
год

Беляев А.Р.
Человек-амфибия
1987

Беляев А.Р.
Звезда КЭЦ
1990

Беляев А.Р.
Избранное
1994

КервудД.
Бродяги севера
1991

Олеша Ю.К.
Избранное
1987

Толстой Л.Н.
Повести и рассказы
1986


Нередко приходится встречать таблицы, в которых строки отсортированы по значениям нескольких полей. Например, если в полученной выше таблице мы хотим, чтобы книги одного автора были упорядочены в списке в алфавитном порядке их названий, то команду выборки нужно записать так:
. выбрать АВТОР, НАЗВАНИЕ, ГОД для ГОД>1985 сортировать АВТОР по возрастанию, НАЗВАНИЕ по возрастанию
Здесь указаны два ключа сортировки: поле АВТОР называется первичным ключом, поле НАЗВАНИЕ вторичным. Сначала записи сортируются по возрастанию значений первичного ключа (АВТОР), затем среди записей с одинаковыми значениями первичного ключа происходит сортировка по значениям вторичного ключа (НАЗВАНИЕ). В результате получим таблицу (показана только часть таблицы, относящаяся к книгам Беляева А. Р. Порядок остальных строк не изменится):
АВТОР
НАЗВАНИЕ
год

Беляев А. Р.
Звезда КЭЦ
1990

Беляев А. Р.
Избранное
1994

Беляев А. Р.
Человек-амфибия
1987


Информация в базах данных часто подвергается изменениям. Например, БД «Погода» каждый день должна пополняться. Состав домашней библиотеки также со временем меняется. Мы покупаем книги, иногда теряем книги или дарим друзьям. Все эти изменения должны сразу же отражаться в базе данных. Следовательно, в языке общения с СУБД должны присутствовать команды, позволяющие вносить такие изменения. В нашей гипотетической СУБД есть для этих целей две команды. Первая позволяет удалять строки из таблицы. Ее формат такой:
. удалить для <логическое выражение>
Чтобы удалить из БД одну конкретную запись, нужно указать значение ключа этой записи. Например, если применительно к БД «Домашняя библиотека» отдать команду
.удалить для НОМЕР- "0003",
то сведения о книге под номером 3 будут исключены из таблицы. Если по отношению к БД «Школа» выполнить команду
.удалить для ГОРОД= "Шадринск" и НОМЕР ШКОЛЫ=1,
то из таблицы будет исключена вторая запись.
Вот еще пример. После выполнения следующей команды:
. удалить для ГОД<1985
из БД «Домашняя библиотека» исчезнут записи с номерами 3, 6, т.е. книги, выпущенные до 1985 года.
Если же нужно удалить все записи из таблицы, то это делается командой
. удалить все
Примечание. Часто в реальных СУБД по команде удалить
лишь помечаются записи, предназначенные для удаления.
Исключение их из файла происходит после выполнения процедуры сжатия файла.
Вторая команда, изменяющая содержание готовой таблицы, команда добавления. Выглядит она так:
.добавить
По этой команде пользователю предоставляется возможность ввести значение полей новой записи, которая занесется в конец таблицы.
логическими нельзя.
4. Система основных понятий
База данных организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоянного применения.
Фактографическая БД содержит краткие сведения об описываемых объектах, представленные в строго определенном формате.
Документальная БД содержит обширную информацию самого разного типа: текстовую, графическую, звуковую, мультимедийную.
Распределенной называется база данных, разные части которой хранятся на различных ЭВМ компьютерной сети.
Информационная система это совокупность базы данных и всего комплекса аппаратно-программных средств для ее хранения, изменения и поиска информации, для взаимодействия с пользователем.
Реляционные базы данных содержат прямоугольные таблицы. Строка таблицы называется записью, столбец полем.
Таблица имеет главный ключ, отличающий записи друг от друга. Ключом может быть одно поле (простой ключ) или несколько полей (составной ключ).
Каждое поле таблицы имеет свое уникальное имя и тип. Тип определяет, какого рода информация хранится в поле и какие действия над ней можно производить.
Система управления базами данных (СУБД) это программное обеспечение компьютера для работы с базами данных.
Таблицы БД хранятся в файлах.
Работа с базой данных начинается с открытия файлов.
Справка это таблица, содержащая интересующие пользователя сведения, извлеченные из базы данных.
В команде получения запроса на выборку указываются выводимые поля и условие выбора (условие, которому должны удовлетворять выбираемые записи).
Этапы создания и заполнения БД происходят в среде СУБД.
На этапе создания БД создаются (открываются) файлы для хранения таблиц, сообщается информация о составе полей записей, их типах и форматах.
Основные типы полей, используемые в реляционных СУБД: числовой, символьный, логический, дата.
Формат определяет количество позиций, отводимых в таблице для полей. Для числовых полей, кроме того, указывается количество знаков в дробной части (точность).
На этапе ввода база данных заполняется информацией.
Логическое выражение это некоторое высказывание, по поводу которого можно заключить истинно оно или ложно.
Простейшая форма логического выражения одна величина логического типа.
Отношение есть форма логического выражения.
Существует шесть вариантов отношений: «равно», «не равно», «больше», «меньше», «больше или равно», «меньше или равно». Отношения применимы ко всем типам полей.
Условия выбора в командах СУБД это логические выражения.
Простое логическое выражение состоит из одной логической переменной или одного отношения.
Постарайтесь понять почему.
Выражение, содержащее логические операции, называется сложным логическим выражением.
Существуют следующие логические операции: отрицание (не); логическое умножение конъюнкция (и); логическое сложение дизъюнкция (или).
Отрицание изменяет значение логической величины на противоположное; результат логического умножения истина только тогда, когда истинны оба операнда; результат логического сложения истина, если значение хотя бы одного операнда истинно.
Порядок выполнения операций в логическом выражении определяется старшинством операций и расстановкой скобок. В первую очередь выполняются операции в скобках. Логические операции по убыванию старшинства расположены так: не, и, или.
Сортировка БД это упорядочение записей в таблице по возрастанию или убыванию значений какого-нибудь поля ключа сортировки. Сортировка может производиться по нескольким ключам одновременно.
[ Cкачайте файл, чтобы посмотреть картинку ]
Изменение состава записей в БД происходит путем удаления ненужных записей и добавления новых. Добавленная запись помещается в конец таблицы.
5. Заключение
Вопросы и задания
Какие логические операции употребляются в сложных логических выражениях? Сформулируйте правила их выполнения.
Как определяется порядок выполнения логических операций в сложных выражениях?
Пусть a. Ь, с логические величины, которые имеют следующие значения: а^истина, Ь=ложь, с^истина. Определить результаты вычисления следующих логических выражений:
а и Ь а и Ь или с (а или Ь) и (с или Ь)
а или Ь а или b и с не(а или Ь) и (с или Ь)
не а или Ь не а или Ь и с не (а и Ъ и с)
Напишите команды получения справки с использованием сложных логических выражений:
определить все даты до 17 марта, когда температура была выше нуля градусов;
определить фамилии всех учеников, которые посещают танцы, но не посещают геологию;
получить список всех отличников по гуманитарным дисциплинам;
определить полку, на которой стоит книга Толстого JI.H. «Повести и рассказы»;
определить фамилии авторов книг с названием «Повести и рассказы», выпущенных до 1985 года;
получить инвентарные номера всех книг, стоящих на пятой и на седьмой полках;
получить фамилии авторов и названия книг, выпущенных в период от 1985 до 1990 года;
получить инвентарные номера всех книг, стоящих ниже пятой полки и изданных после 1990 года.
Какую роль выполняет условие выбора? После какого служебного слова записывается это условие в команде выбрать?
Что такое логическое выражение? Какие значения оно принимает?
Какое логическое выражение называется простым?
Какие виды отношений используются в логических выражениях? Как записываются знаки отношений?
Как сравниваются на «больше-меньше» символьные величины, даты, логические величины?
В следующих простых логических выражениях поставьте вместо знака вопроса такие знаки отношений, при которых эти выражения будут истинны в указанных записях баз данных:
БД «Погода», запись номер 3.
ВЛАЖНОСТЬ ? 90
ОСАДКИ ? "дождь" БД «Домашняя библиотека», запись номер 1.
АВТОР ? "Толстой Л.Н."
ГОД ? 1990 БД «Успеваемость», запись номер 4.
ФИЗИКА ? 2
Данные высказывания запишите в форме простых логических выражений и определите результат их вычислений для указанных записей.
БД «Погода», запись номер 2.
Температура выше нуля. Осадков нет. БД «Домашняя библиотека», запись номер 3. Книга издана в 1982 году. Книга находится ниже пятой полки. БД «Факультативы», запись номер 4. Занимается геологией. Фамилия Шляпина.
Запишите следующие высказывания в форме логических выражений:
а) фамилия ученика не Семенов;
б) занимается геологией;
в) дата раньше 5 мая 1989 года;
г) дата не позже 23 сентября 1996 года;
д) алгебра не отлично;
е) автор книги Беляев А.Р.;
ж) книга издана до 1990 года;
з) книга находится не ниже 3-й полки.
Запишите в форме команды выбрать запросы, использующие в качестве условий простые логические выражения, полученные в результате выполнения предыдущего задания.Вопросы и задания
Какая задача решается на этапе создания БД? Какую информацию пользователь указывает СУБД на этапе создания?
Какие основные типы полей используются в базах данных?
Что определяется форматом для разных типов полей?
Составьте таблицы описания типов и форматов для всех полей баз данных «Факультативы», «Библиотека», «Писатели», «Успеваемость», «Школы».
Как происходит заполнение таблицы? Какие ошибки пользователя возможны на этом этапе?
Как расшифровывается СУБД? Каково назначение этого вида программного обеспечения?
Какие СУБД называются реляционными?
На каком устройстве и в какой форме хранятся таблицы, созданные с помощью реляционной СУБД?
По какой команде (для рассмотренной здесь гипотетической СУБД) происходит получение справочной информации?
Как вывести на экран всю таблицу?
Как вывести на экран определенные столбцы таблицы? Как реализуется такая работа в терминах «вырезать», «склеить»? БД используются четыре основных типа полей: числовой, символьный, логический, дата.
Что такое база данных?
В чем различие между фактографическими и документальными БД?
Что такое распределенная БД?
Что такое информационная система? Приведите примеры информационных систем.
Что такое реляционная БД?
Что такое запись, поле записи? Какую информацию они содержат?
Определите имена полей в таблицах «Домашняя библиотека» (табл. 6.1), «Факультативы» (табл. 6.5), «Погода» (табл. 6.2), «Успеваемость» (табл. 6.3).
Что такое главный ключ записи? Какие бывают ключи?
Назовите объекты, сведения о которых содержат записи баз данных «Погода», «Факультативы», «Успеваемость». Определите ключи записей в этих БД.
Определите следующие понятия: имя поля, значение поля, тип поля. Какие бывают типы полей? Что обозначает каждый из типов?
Определить типы всех полей в таблицах «Домашняя библиотека», « Погода», «Школы».
Определите структуру (состав полей), ключи и типы полей для реляционных баз данных под такими названиями:
«Страны мира»;
«Мои одноклассники»;
«Кинофильмы»;
«Телефонный справочник»;
Что понимается под сортировкой базы данных?
Что такое ключ сортировки?
В каком случае и каким образом производится сортировка по нескольким ключам?
С помощью каких команд изменяется состав записей БД?
Запишите команды для выполнения следующих действий с БД «Домашняя библиотека»:
сортировки в порядке возрастания года издания книги;
сортировки по двум ключам: Автор и Год, исключая книги Беляева А. Р. ;
удаления из БД «Домашняя библиотека» всех записей о книгах, стоящих на 5-й полке и изданных до 1990 года.
6. Итог и задание для самостоятельной работы
Самостоятельная работа №16


Самостоятельная работа №17












13 PAGE \* MERGEFORMAT 141215 Глава 7







15