— почему понятие «предметная область» играет важную роль при создании баз данных;
— зачем надо заниматься структурированием данных;
— почему таблица является предпочтительной формой представления данных;
— каковы основные понятия базы данных.
Роль информационной системы
В течение многих поколений люди использовали разнообразные способы сохранения и передачи информации. Вначале информация передавалась от поколения к поколению в виде преданий и устных рассказов. Возникновение и развитие книгопечатания позволило передавать и хранить информацию посредством книг. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения, позволяющих оперативно передавать и накапливать информацию.
Развитие прогресса привело к резкому росту потока информации и вопрос сохранения и переработки ее становился все острее и острее. Возникла парадоксальная ситуация: растет информационный голод, обусловленный не недостатком информации, а ее избытком. Все труднее отыскать в информационном изобилии интересующую конкретного пользователя информацию.
Что такое Big Data за 6 минут
С появлением вычислительной техники значительно упростился процесс хранения, а главное — обработки информации. Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы.
Целью любой информационной системы является обработка данных об объектах реального мира и предоставление нужной человеку информации о них. Если мы рассмотрим совокупность некоторых объектов, то можно выделить объекты, которые обладают одинаковыми свойствами. Такие объекты можно объединить в отдельные классы (рыбы, мебель, ученики и т. д.). Внутри выделенного класса объекты можно упорядочивать по определенным признакам, например по алфавиту, или осуществлять выборку по некоторым общим признакам, например по цвету или материалу.
Выборка (группировка) по определенным признакам значительно облегчает поиск и отбор нужной информации.
Например, вы хотите приобрести деревянный компьютерный стол из ореха. Для этого вам необходима информация о том, где продаются такие столы. Получить ее можно различными способами, например:
♦ обойти все мебельные магазины города и найти нужный вам стол;
♦ изучить каталоги по мебели и прайс-листы мебельных магазинов;
♦ обратиться в информационную систему с необходимым запросом.
Очевидно, что первый способ может привести к положительному результату, но для этого понадобится много сил и времени.
Второй способ более оптимистический, так как в этом случае не надо никуда ходить, а достаточно воспользоваться телефоном и обзвонить магазины, торгующие подобной мебелью. Последний способ предполагает обращение в информационную систему, где в разделе Мебель нужно выбрать — Столы, среди столов выбрать Компьютерные, затем — Деревянные, далее рассмотреть Столы из ореха и автоматически соединиться по телефону с соответствующим магазином и отправиться по указанному адресу за покупкой. В нашей ситуации наиболее рациональным, наверное, является третий способ.
Базы данных, как IT продукт
Как же организована подобная информационная система и каким образом можно организовать хранение и представление информации в ней?
Информационная система, прежде всего, должна работать с данными конкретной предметной области, для которой должно существовать описание в виде информационной модели. Предметной областью может быть сфера человеческой деятельности: предприятие, школа, поликлиника и пр. Это может быть также область человеческих знаний: биология, география и пр.
Предметную область образует совокупность объектов, которые находятся между собой в определенных отношениях и связях.
Если в качестве примера рассмотреть предметную область Школа, то в этой области можно выделить следующие классы объектов: ученики, учителя, обслуживающий персонал, учебные предметы, помещения и т. д. Между этими объектами существуют определенные отношения и связи.
Рассмотрим другой пример. В предметной области Поликлиника можно выделить следующие классы объектов: врачи, пациенты, диагнозы, специальности врачей и пр. Связи между объектами выделенной предметной области отображены на рис. 4.1.
Рис. 4.1. Пример взаимосвязи классов объектов предметной области Поликлиника
Обратимся к другому примеру. Все мы любим песни, и у каждого есть свои любимые песни и исполнители. Было бы желательно иметь возможность обращаться к информационной системе, которая позволяла бы осуществлять хранение, поиск и отбор ваших любимых песен. Очевидно, что подобная информационная система должна иметь в своем составе программы, ориентированные на работу с классами объектов Песня и Исполнитель.
Возникает вопрос: как следует представить информацию об этих объектах?
Можно было бы привести такое описание: песня «Spice up your life» в исполнении группы из Англии «Spice Girls», написанная в стиле «Hip-hop» в 1997 году, или, например, песня 1996 года российской группы «Иванушки International» под названием «Тучи» в стиле «Рор».
В этом описании совместно фиксируются название некоторого параметра и его значение, например: песня (название параметра) «Тучи» (значение параметра). При этом значения параметра — это данные, а название параметра — это смысловая характеристика этих данных. Описать любой класс объектов можно с помощью информационной модели.
Для этого необходимо определить, какими параметрами должны характеризоваться объекты данного класса. Например, такими параметрами могут быть: наименование песни, исполнитель, стиль, дата создания, страна. Перечень этих параметров должен определяться поставленной целью, то есть указывать, в чем заключается ваш интерес к песне и ее исполнителю.
Представить такую информацию можно разными способами, например в виде списка:
1. «Spice up your life», «Spice Girls», Hip-hop, 1997, Англия;
2. «Тучи», «Иванушки International», Pop, 1996, Россия;
3. «Моряк», «Агата Кристи», Rock, 1997, Россия.
Работать с информацией, записанной в подобном виде, весьма трудно. Во-первых, здесь указаны только данные и не описан смысл этих данных. Не каждый может понять, что означают эти данные. Во-вторых, даже если смысл данных понятен, чтобы найти нужную песню в длинном списке, надо внимательно просмотреть каждую строку, пока не доберемся до нужной. Сделать какие-либо выборки, например отобрать песни с одинаковым стилем, еще сложнее.
Другим очень распространенным и естественным способом представления данных является таблица. Мы уже не раз обращались к такой форме представления данных. Информацию по каждой песне можно представить в виде таблицы (см. табл. 4.1).
Рассмотрим структуру созданной нами таблицы. Вся таблица представляет класс объектов Песня. Каждый столбец в таблице отражает данные по одному признаку. Первая строка содержит заголовки столбцов, соответствующие названиям параметров. Первая строка таблицы соответствует информационной модели объекта Песня.
Таблица 4.1. Сведения о песнях
Таким образом, мы перешли к структурированной форме представления данных, в которой данные и их смысловая интерпретация отделены друг от друга и представлены в некоторой форме. Этот процесс получил название «структурирование данных».
Структурирование данных — это процесс, приводящий к определенной форме записи данных об объектах одного класса.
Рассмотрев свойства объекта и создав информационную модель в виде таблицы, мы получаем более наглядную и удобную форму записи информации. Теперь можно продумать, какие действия можно совершать над этим объектом. Более удобно стало описывать любую песню, так как определены характеризующие ее параметры и не надо отвлекаться на другие свойства объекта. Значительно облегчился поиск и отбор информации. Например, чтобы найти и отобрать песни одного исполнителя, мы просматриваем только столбец Исполнитель.
Основные понятия базы данных
Основу любой информационной системы составляет база данных, в которой хранятся сведения о большом количестве экземпляров взаимосвязанных классов объектов. Под базой данных понимают совокупность специальным образом организованных данных, которые хранятся на каком-либо материальном носителе. Обращаем ваше внимание на то, что это не набор каких-то разрозненных данных. Данные обязательно должны быть структурированы и связаны между собой так, чтобы человек мог составить представление о каком-либо объекте, явлении или процессе.
База данных — это поименованная совокупность структурированных данных некоторой предметной области.
Основными понятиями базы данных являются поле и запись.
Поле — это простейший объект базы данных, предназначенный для хранения значений одного параметра описываемого реального объекта.
Поле характеризуется именем и типом данных. В рассмотренной выше базе данных полями являются Название песни, Исполнитель, Стиль, Год, Страна. Поля в базе данных могут иметь различный тип данных: текстовый, числовой, дата, время, денежный и пр. В табл. 4.1, где представлены сведения о песнях, названия полей указаны в первой строке, а значения каждого поля — в соответствующем столбце.
База данных содержит сведения о многих параметрах объектов предметной области. Поэтому важно, в какой последовательности будут располагаться (записываться) эти параметры. Например, сведения об ученике логично представить в виде записи, где порядок расположения параметров будет следующий: Фамилия, Имя, Отчество, Дата рождения, Улица, Дом, Квартира. Для сравнения рассмотрим неудачный порядок расположения тех же параметров: Невский пр., Тихонов, 07.12.1989, д. 15, Виктор, кв. 48, Николаевич.
Таким образом, важным этапом создания базы данных является разработка структуры записи.
Структура записи — это совокупность логически связанных полей, характеризующих параметры реального объекта.
Запись — это совокупность значений параметров конкретного объекта.
Если информация об объекте представлена в форме таблицы, то первая строка таблицы всегда содержит названия параметров, то есть определяет структуру записи. Все остальные строки — это записи.
Контрольные вопросы и задания
1. Какова роль информационной системы при работе с информацией?
2. В чем состоит цель создания информационной системы?
3. Что такое предметная область?
4. Приведите примеры, когда возникает необходимость отбора нужной информации? Как вы это делаете? Важно ли при этом понятие «предметная область»?
5. Приведите примеры разных предметных областей и выделите в них объекты, информация о которых вас будет интересовать. Какими параметрами должны характеризоваться объекты данного класса?
6. Что такое структурирование данных?
7. Что такое база данных?
8. Что такое поле?
9. Что такое структура записи?
10. Что такое запись?
11. Представьте параметры объектов конкретной предметной области в виде таблицы. Укажите в таблице поля, записи, структуру записи.
Источник: xn—-7sbbfb7a7aej.xn--p1ai
Проектирование и программирование модулей Тема 8. — презентация
Презентация на тему: » Проектирование и программирование модулей Тема 8.» — Транскрипт:
1 Проектирование и программирование модулей Тема 8
2 Информационные потоки синтеза ПС Этап выработки требований Модель анализа Информационная Функциональная Поведенческая Этап проектирования Этап кодирования Этап тестирования Процедурная разработка Разработка архитектуры Разработка данных Программные модули Проверенное ПС
3 Особенности проектирования Проектирование – итерационный процесс, при помощи которого требования к ПС преобразуются в инженерные представления ПС
5 Информационные связи проектирования Предварительное проектирование Детальное проектирование Интерфейсное проектирование Требования Архитектура программ и данных Структуры данных и алгоритмы программ
6 Архитектура Программного обеспечения – это совокупность базовых концепций (принципов) его построения Программного средства – это его строение, как оно видно извне его, т.е. представление ПС как системы, состоящей из некоторой совокупности взаимодействующих подсистем.
7 По количеству пользователей различают Многопользовательскую архитектуру Однопользовательскую архитектуру Программы Пакеты программ Программные комплексы Программные системы
8 Структуры данных Это множество элементов данных и связей между ними
9 Классификация структур данных Структуры данных Простые Базовые Числовые Символьные Логические Перечисление Интервал Указатели Статические Вектор Массивы Множества Записи Таблицы Полу статические Стеки Очереди Деки Строки Дина- мические Линейные или разветвленные связанные списки Графы Деревья Файловые Последовательные Прямого доступа Комбинированного доступа Организованные разделами
10 Предварительное проектирование включает Структурирование системы Моделирование управления Декомпозиция подсистем на модули
11 Модульность Модуль – отдельная, функционально законченная программная единица, которая может применяться самостоятельно либо быть частью программы. «Модульность – свойство ПО, обеспечивающее интеллектуальную возможность создания сколь угодно сложной системы» Г.Майерс
12 Признаки модуля реализует одну или несколько функций, т.е. выполняет какое-то действие; имеет определенную логическую структуру, т.е. определяет его внутренний алгоритм (то, как модуль выполняет функцию); используется в одном или нескольких контекстах – описывает конкретное использование модуля.
13 Принцип информационной закрытости Содержание модулей должно быть скрыто друг от друга Клиенты Интерфейс «Секрет» Алгоритм Структура данных Реализация интерфейса Размещение ресурса
14 Информационная закрытость означает следующее Все модули независимы, обмениваются только информацией, необходимой для работы; Доступ к операциям и структурам данных модуля ограничен
15 Достоинства информационной закрытости Обеспечивается возможность разработки модулей различными независимыми коллективами Обеспечивается легкая модификация системы
16 Связность модуля – это мера зависимости его частей Чем выше связность модуля, тем лучше результат проектирования Для измерения связности используют понятие силы связности (СС). Существует 7 типов связности
17 Связность модуля Связность по совпадению (СС=0). В модуле отсутствуют явно выраженные внутренние связи. Логическая связность (СС=1). Части модуля объединены по принципу функционального подобия Временная связность (СС=3). Части модуля не связаны, но необходимы в один и тот же момент времени.
18 Связность модуля Процедурная связность (СС=5). Части модуля связаны порядком выполняемых действий, реализующих сценарий поведения. Коммуникативная связность (СС=7). Части модуля связаны по данным (работают с одной и той же структурой данных)
19 Связность модуля Информационная (последовательная) связность (СС=9). Выходные данные одной части модуля используются как входные данные другой части модуля. Функциональная связность (СС= 10). Части модуля вместе реализуют одну функцию.
20 Характеристика связности модуля Вид связности СопровождаемостьРоль модуля Функциональная Лучшая сопровождаемость «Черный ящик» Информационная Не совсем «черный ящик» Коммуникативная«Серый ящик» Процедурная Худшая сопровождаемость «Просвечивающий ящик» Временная«Белый ящик» Логическая По совпадению
21 Сцепление модулей — это мера взаимозависимости модулей по данным внешняя характеристика модуля, которую желательно уменьшать
22 Виды сцепления Сцепление по данным (СЦ=1). Один модуль вызывает другой. Входные и выходные параметры вызываемого модуля – простые элементы данных. А В Элементы данных
23 Виды сцепления Сцепление по образцу (СЦ=3). Один модуль вызывает другой. В качестве параметров используются структуры данных. А В Структуры данных
24 Виды сцепления Сцепление по управлению (СЦ=4). Один модуль управляет функционирование другого (с помощью флагов или переключателей), посылая ему управляющие данные. начало Флаг конец А В Флаг
25 Виды сцепления Сцепление по внешним ссылкам (СЦ=5). Модули ссылаются на один и тот же глобальный элемент данных. ВС А N M Элемент данных
26 Виды сцепления Сцепление по общей области (СЦ=7). Модули разделяют одну и ту же глобальную структуру данных. ВС А N M Структура данных
27 Виды сцепления Сцепление по кодам (СЦ=10). Команды перемежаются друг с другом Независимое сцепление (СЦ=0). Модули не вызывают друг друга и не работают с общими данными.
28 Классификация методов разработки структуры программ Методы разработки структуры программ Нисходящие Восходящие Классический подход Нисходящая разработка Нисходящая реализация Классический подход Восходящая разработка Восходящая реализация Архитектурный подход Конструктивный подход разработка реализация разработка реализация целенаправленная
29 Структурная схема это схема, отражающая состав и взаимодействие по управлению частей разрабатываемого ПО определяется архитектурой разрабатываемого ПО
30 Компоненты структурной схемы Программы Подсистемы Базы данных Библиотеки ресурсов
31 Структурная схема Решение задачи Оформление сделки Ввод и накопление данных Поиск данных Формирование отчетных документов
32 Спецификации процессов Псевдокод Блок-схема алгоритма Flow — форма Диаграмма Насси-Шнейдермана Краткое текстовое описание
33 Псевдокод Структура ПсевдокодСтруктура Псевдокод Следование Выбор : … Все-выбор Ветвление Если то иначе Все-если Цикл с заданным количеств- ом повторе- ний Для =. Все-цикл Цикл-пока Все цикл Цикл-до Выполнять До
34 Псевдокод Процесс: Проверка и внесение данных о клиенте Вход: Информация о клиенте по его звонку Выход: Формирование данных о клиенте в БД Алгоритм: 1. Проверить в накопителе наличие данных о клиенте 2. Если данные отсутствуют ТО внести новую запись о клиенте в БД 3. Вывести данные о клиенте на экран
35 Псевдокод Процесс: Внесение заказа Вход: Проект заказа, Данные о клиенте, Данные о продуктах Выход: Заказ Алгоритм: 1. Рассмотрение списка продукции 2. Рассмотрение других заказов 3. Внести данные в проект заказа 4. Произвести расчет услуг по заказу 5. Представить проект заказа клиенту 6. ЕСЛИ клиент не удовлетворен сформированным заказом ТО 6.1. Произвести его корректировку 6.2. Вернуться к пункту 4
36 Схемы алгоритмов (ГОСТ ) Название ОбозначениеНазначение Терминатор Действие Начало, завершение программы или подпрограммы Процесс Действие Обработка данных Данные Данные Операции ввода-вывода Решение Условие Ветвление, выбор, поисковые и итерационные процессы Подготовка Счетные циклы
37 Схемы алгоритмов Название ОбозначениеНазначение Граница цикла Любые циклы Предопределен ный процесс Имя Выбор процедуры Соединитель Имя Маркировка разрыва линий Комментарий Комментарий Пояснение к операциям
38 Flow — форма Следование
39 Flow — форма Ветвление Если то иначе
40 Диаграмма Насси- Шнейдермана Ветвление Да Нет
41 Flow — форма Цикл — до Пока
42 Функциональная схема Это схема взаимодействия компонентов ПО с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств
43 Функциональная схема (ГОСТ ) Название ОбозначениеНазначение Сохранение данных Для структур данных, которые должны быть сохранены без уточнения типа устройств ОЗУ Для обозначения структур данных, хранящихся в ОП ЗУ с прямым доступом Для обозначения структур данных, хранящихся на магнитных дисках Документ Для обозначения структур данных, выводимых на печать Ручной ввод Для обозначения ручного ввода данных с клавиатуры Дисплей Для обозначения данных, выводимых на дисплей компьютера Ручная операция Для обозначения любого процесса, выполняемого человеком
Источник: www.myshared.ru
Понятие структурированных данных. Определение и назначение базы данных
Информация от лат. «Information» означает разъяснение, осведомление, изложение.
В широком смысле информация – это общенаучное понятие, включающее в себя обмен сведениями между людьми, обмен сигналами между живой и неживой природой, людьми и устройствами.
Информация – это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии, кот-е уменьшают имеющуюся о них степень неопределенности, неполноты знаний.
Информатика рассматривает информацию как концептуально связанные между собой сведения, данные, понятия, изменяющие наши представления о явлении или объекте окружающего мира.
Информационные ресурсы – это отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах (библиотеках, архивах, фондах, банках).
Чтобы информация могла использоваться, причем многократно, необходимо ее хранить.
Хранение информации – это способ распространения информации в пространстве и времени. Способ хранения информации зависит от ее носителя ( книга — библиотека, картина — музей, фотография — альбом). ЭВМ предназначена для компактного хранения информации с возможностью быстрого доступа к ней.
Обработка информации – это преобразование информации из одного вида в другой.
Обработка информации – сам процесс перехода от исходных данных к результату и есть процесс обработки. Объект или субъект, осуществляющий обработку — исполнитель обработки.
1-ый тип обработки: обработка, связанная с получением новой информации, нового содержания знаний.
2-ой тип обработки: обработка, связанная с изменением формы, но не изменяющая содержания (например,
перевод текста с одного языка на другой).
Важный вид обработки — кодирование – преобразование информации в символьную форму,
удобную для ее хранения, передачи, обработки. Другой вид обработки информации – структурирование данных (внесение определенного порядка в хранилище информации, классификация, каталогизация данных).
Ещё один вид обработки информации – поиск в некотором хранилище информации нужных данных, удовлетворяющих определенным условиям поиска (запросу).
Понятие структурированных данных. Определение и назначение базы данных.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаком. Сделать это возможно, только если данные структурированы.
Структурирование — это введение соглашений о способах представления данных.
Структурированные данные — это упорядоченные данные.
Неструктурированные данные – это данные, записанные, например, в текстовом файле: Личное дело № 1 Сидоров Олег Иванович, дата рожд. 14.11.92, Личное дело № 2 Петрова Анна Викторовна, дата рожд. 15.03.91.
Чтобы автоматизировать поиск и систематизировать эти данные, необходимо выработать определенные соглашения о способах предоставления данных, т.е. дату рожд. нужно записывать одинаково для каждого студента, она должна иметь одинаковую длину и опред. место среди остальной информации. Эти же замечания справедливы и для остальных данных (№ личного дела, Ф., И., О.) После проведения несложной структуризации с информацией, она будет выглядеть так:
Пример структурированных данных: № Ф. И. О. Дата рожд.
1 Сидоров Олег Иванович 14.11.92
Элементы структурированных данных:
1) А – поле (столбец) – это элементарная неделимая единица организации информации
2) Б – запись (строка) – это совокупность логически связанных полей
3) В – таблица (файл) – это совокупность экземпляров записей одной структуры.
База данных – это организованная на машинном носителе совокупность взаимосвязанных структурированных данных, содержащая сведения о различных сущностях некоторой предметной области (объектах, процессах, событиях, явлениях).
В широком смысле слова база данных – это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.
Под предметной областью понимается часть реального мира, подлежащая изучению для организации управления, автоматизации, например, предприятии, ВУЗ и т.д.
Назначение базы данных:
1)Контроль за избыточностью данных. Как уже говорилось, традиционные файловые системы неэкономно расходуют внешнюю память, сохраняя одни и те же данные в нескольких файлах. При использовании базы данных, наоборот, предпринимается попытка исключить избыточность данных за счет интеграции файлов, чтобы избежать хранения нескольких копий одного и того же элемента информации.
2)Непротиворечивость данных. Устранение избыточности данных или контроль над ней позволяет сократить риск возникновения противоречивых состояний. Если элемент данных хранится в базе только в одном экземпляре, то для изменения его значения потребуется выполнить только одну операцию обновления, причем новое значение станет доступным сразу всем пользователям базы данных. А если этот элемент данных с ведома системы хранится в базе данных в нескольких экземплярах, то такая система сможет следить за тем, чтобы копии не противоречили друг другу.
3)Совместное использование данных. Файлы обычно принадлежат отдельным лицам или целым отделам, которые используют их в своей работе. В то же время база данных принадлежит всей организации в целом и может совместно использоваться всеми зарегистрированными пользователями. При такой организации работы большее количество пользователей может работать с большим объемом данных. Более того, при этом можно создавать новые приложения на основе уже существующей в базе данных информации и добавлять в нее только те данные, которые в настоящий момент еще не хранятся в ней, а не определять заново требования ко всем данным, необходимым новому приложению.
4)Поддержка целостности данных. Целостность базы данных означает корректность и непротиворечивость хранимых в ней данных. Целостность обычно описывается с помощью ограничений, т.е. правил поддержки непротиворечивости, которые не должны нарушаться в базе данных. Ограничения можно применять к элементам данных внутри одной записи или к связям между записями. Например, ограничение целостности может гласить, что зарплата сотрудника не должна превышать 40 000 рублей в год или же что в записи с данными о сотруднике номер отделения, в котором он работает, должен соответствовать реально существующему отделению компании.
5)Повышенная безопасность. Безопасность базы данных заключается в защите базы данных от несанкционированного доступа со стороны пользователей. Без привлечения соответствующих мер безопасности интегрированные данные становятся более уязвимыми, чем данные в файловой системе.
Однако интеграция позволяет определить требуемую систему безопасности базы данных, а СУБД привести ее в действие. Система обеспечения безопасности может быть выражена в форме учетных имен и паролей для идентификации пользователей, которые зарегистрированы в этой базе данных. Доступ к данным со стороны зарегистрированного пользователя может быть ограничен только некоторыми операциями (извлечением, вставкой, обновлением и удалением).
Источник: megaobuchalka.ru