Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы проектирования баз данных

Покупка
Основная коллекция
Артикул: 069900.12.01
К покупке доступен более свежий выпуск Перейти
В учебном пособии рассматриваются основные подходы и направления развития систем баз данных. Анализируются классические машинно-ориентированные формы представления информации и данных. Рассматриваются типовые модели физической и логической организации данных. Исследуется архитектура средств доступа к данным. На примере системы FoxPro (система программирования с элементами СУБД) иллюстрируются практические аспекты разработки фактографических и документальных информационных систем. Достаточно подробно описываются возможности SQL как базового языка для профессиональной работы с реляционными базами данных. Необходимое внимание уделяется проблемам моделирования и проектирования баз данных. Учебное пособие предназначено для обучающихся по специальности 09.02.04 «Информационные системы (по отраслям)» среднего профессионального образования, а также может использоваться студентами (квалификация «бакалавр», «специалист») соответствующих направлений.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Голицына, О. Л. Основы проектирования баз данных : учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — 2-е изд., перераб. и доп. — Москва : ФОРУМ : ИНФРА-М, 2020. — 416 с. — (Cреднее профессиональное образование). - ISBN 978-5-91134-655-3. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1088045 (дата обращения: 23.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
-¬¡ ©¡¡«¬ª°¡--¤ª©œ§¸©ª¡ª¬œ£ªžœ©¤¡
-ÁÌÄÛÊÍÉʾ¼É¼¾¿ÊÀÏ
О.Л. Голицына, Т.Л. Партыка, И.И. Попов
ОСНОВЫ 
ПРОЕКТИРОВАНИЯ 
БАЗ ДАННЫХ
УЧЕБНОЕ ПОСОБИЕ
2-е издание, переработанное и дополненное
Рекомендовано Министерством образования и науки Российской Федерации 
в качестве учебного пособия для студентов учреждений 
среднего профессионального образования
Москва                                        2020
ИНФРА-М


УДК 004.2(075.32)
ББК 32.973.26-02я723 
 
Г60
Р е ц е н з е н т ы:
кандидат технических наук, доцент кафедры «Проектирование 
АИС» Российской экономической академии им. Г.В. Плеханова 
Ю.Г. Бачинин;
доктор экономических наук, профессор, декан факультета «Информатика» Московского международного института эконометрики, информатики, финансов и права А.А. Емельянов
Голицына О.Л.
Г60 
 
Основы проектирования баз данных : учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — 2-е изд., перераб. и доп. — Москва : 
ФОРУМ : ИНФРА-М, 2020. — 416 с. : ил. — (Cреднее профессиональное образование).
ISBN 978-5-91134-655-3 (ФОРУМ)
ISBN 978-5-16-012080-5 (ИНФРА-М, print)
ISBN 978-5-16-105762-9 (ИНФРА-М, online)
В учебном пособии рассматриваются основные подходы и направления 
развития систем баз данных. Анализируются классические машинно-ориентированные формы представления информации и данных. Рассматриваются типовые модели физической и логической организации данных. 
Исследуется архитектура средств доступа к данным. На примере системы 
FoxPro (система программирования с элементами СУБД) иллюстрируются 
практические аспекты разработки фактографических и документальных 
информационных систем. Достаточно подробно описываются возможности SQL как базового языка для профессиональной работы с реляционными базами данных. Необходимое внимание уделяется проблемам моделирования и проектирования баз данных.
Учебное пособие предназначено для обучающихся по специальности 
09.02.04 «Информационные системы (по отраслям)» среднего профессионального образования, а также может использоваться студентами (квалификация «бакалавр», «специалист») соответствующих направлений.
УДК 004.2(075.32)
ББК 32.973.26-02я723
ISBN 978-5-91134-655-3 (ФОРУМ)
ISBN 978-5-16-012080-5 (ИНФРА-М, print)
ISBN 978-5-16-105762-9 (ИНФРА-М, online)
© Голицына О.Л., Партыка Т.Л., 
Попов И.И., 2016
© ФОРУМ, 2016


Введение
Создание вычислительной техники, компьютеров с исторической точки зрения явилось выдающимся результатом развития
электротехники и технических знаний в целом. Постепенно наращивалась память, повышался уровень программного обеспечения, и компьютеры стали приобретать не только вычислительные, но и другие функции.
В истории развития компьютеризации информационных процессов и систем выделяются следующие этапы:
 технический период (приблизительно с 1946 по 1964 г.), в течение
которого
сложились
основные
представления
о
структуре универсальных электронных вычислительных машин (ЭВМ), определилась архитектура и типы устройств;
 программный период (с 1954 по 1970 г.), за который выработалась современная классификация программных средств,
их структур и взаимосвязей, сложились языки программирования, разработаны компиляторы и принципы процедурной обработки;
 информационный период (с 1970 г. по настоящее время) —
в центре внимания исследователей и разработчиков оказываются структуры данных, языки описания (ЯОД) и манипулирования (ЯМД) данными, непроцедурные подходы к
построению систем обработки информации;
 гуманитарный период (с начала 90-х гг. прошлого века),
связанный
с
резким
возрастанием
круга
пользователей
АИТ и повышением роли интерфейсных и навигационных
возможностей соответствующих систем. Кроме этого, основные черты новых информационных технологий связаны
с усилением персонального характера компьютера и расширением возможностей пользователя.
Если традиционные системы были подчинены производителю информации и доводили одинаковое содержание до всех адресатов, то новые технологии направлены на индивидуального


Введение
пользователя, предоставляя возможность получения информации, нужной именно ему.
Приходится констатировать, что «локомотивом» здесь являются технические средства — темпы развития ЭВМ поистине
фантастичны. Еще в 1984 г. американские газетчики писали:
«В 1953 г. ЭВМ с памятью 64 Кбайт стоила 1 млн долл., сейчас она стоит менее 1 тыс. долл. Если бы автомобили развивались
в течение последних 20 лет теми же темпами, как компьютеры, то
сегодня роллс-ройс стоил бы 3,0 долл., проходил миллион миль
на галлоне бензина, развивал мощность лайнера «Quееn Elisabeth»
и 2 автомобиля помещались бы на кончике пера».
Добавим здесь, что сегодняшние темпы еще выше. Например,
если микропроцессор AMD «Athlon» (2000 г.) содержал 22 млн
транзисторов, то AMD «Deneb» (2009 г.) — 738 млн (4 ядра) [17].
Следом тянется программное обеспечение, являющееся «тенью» своего «старшего брата» (известно, что с появлением новых процессоров многие приложения приходится перекомпилировать, несмотря на декларации разработчиков об «обратной совместимости»), затем — средства обработки и поиска данных
(здесь большие трудности с управлением захлестывающим потоком мультимедийных данных). К сожалению, массовые пользователи (несмотря на упомянутый взрывообразный рост их численности) являются самым «слабым» звеном всей этой цепочки.
Б а з ы
д а н н ы х (Б Д) и с и с т е м ы
у п р а в л е н и я
б а -
з а м и
д а н н ы х (С У Б Д ) по своему происхождению относятся к 3-му этапу вышеприведенной периодизации. Они пережили
бум и период взрывообразного развития в свое время и сейчас
продолжают гармонично развиваться, следуя динамике роста
технических средств и программного обеспечения.
Сегодня трудно себе представить сколько-нибудь значимую
информационную систему, которая бы не имела в качестве основы или важной составляющей базу данных. Концепции и технологии баз данных складывались постепенно и всегда были тесно
связаны с развитием систем автоматизированной обработки информации. Создание баз данных — сложившаяся дисциплина
(хотя являющаяся скорее инженерной, чем чисто научной), основанная на достаточно формализованных подходах и включающая широкий спектр приемов и методов создания баз данных.
Назначение с и с т е м у п р а в л е н и я б а з а м и д а н н ы х —
обеспечение в течение длительного времени их сохранности,


Введение
5
а также возможностей выборки и актуализации. Данные существуют всегда, пока есть потребность в их использовании, хотя характер использования и пути извлечения практической пользы
могут быть самыми разными: от оперативной актуализации значений до уничтожения данных, от их использования для совершенствования сложных систем управления до формирования «чемоданов компромата».
Базы данных в стремительно, а в какой-то степени и сумбурно развивающихся информационных технологиях — это сравнительно консервативное направление, где СУБД и сами базы
представляют собой «долговременные сооружения». Элементная
база ЭВМ и парадигмы программирования меняются быстрее,
чем хранимые данные теряют актуальность.
В таких условиях, в отличие от прикладных программистов,
создатели баз данных (от разработчиков СУБД до администраторов БД) должны постоянно помнить о проблеме «наследственности» — о том, как интегрировать в создаваемую систему наследуемые данные, находящиеся под управлением устаревшей СУБД, и
о том, как построить систему, чтобы вновь создаваемые данные
могли быть, в свою очередь, наследованы следующим поколением систем и разработчиков.
Достаточно консервативны и концепции баз данных. Эта
консервативность не только следствие свойства «долговечности», но и того факта, что базы вторичны по отношению к описываемым ими реальным процессам и объектам, достаточно
стабильным и типичным. Кроме того, модели данных строились
в значительной степени «по аналогии» с организационными и
технологическими структурами — иерархическими, сетевыми,
матричными.
Учебное пособие предназначено для обучающихся по специальности 230401 «Информационные системы (по отраслям)»
среднего профессионального образования, а также может использоваться студентами (квалификация «бакалавр», «специалист»)
соответствующих направлений. Пособие обеспечивает формирование следующих профессиональных компетенций:
 умение организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество;
 умение осуществлять поиск и использование информации, необходимой для эффективного выполнения профес
Введение
сиональных задач, профессионального и личностного развития;
 способность использовать информационно-коммуникационные технологии в профессиональной деятельности;
 умение самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации;
 способность ориентироваться в условиях частой смены технологий в профессиональной деятельности;
 способность собирать данные для анализа использования и
функционирования информационной системы, участвовать
в составлении отчетной документации, принимать участие
в разработке проектной документации на модификацию
информационной системы;
 умение
взаимодействовать
со
специалистами
смежного
профиля при разработке методов, средств и технологий
применения объектов профессиональной деятельности;
 умение производить модификацию отдельных модулей информационной системы в соответствии с рабочим заданием, находить ошибки кодирования в разрабатываемых модулях информационной системы, документировать выполняемые работы;
 способность производить инсталляцию и настройку информационной системы в рамках своей компетенции, документировать результаты работ;
 способность выполнять регламенты по техническому сопровождению и восстановлению данных информационной
системы, работать с технической документацией;
 способность анализировать при решении профессиональных задач социально-экономические проблемы и процессы
с применением методов системного анализа и математического моделирования;
 умение осуществлять и обосновывать выбор проектных решений по видам обеспечения информационных систем;
 способность проводить обследование организаций, выявлять
информационные потребности пользователей, формировать
требования к информационной системе, участвовать в реинжиниринге прикладных и информационных процессов;
 способность оценивать и выбирать современные операционные среды и информационно-коммуникационные тех
Введение
7
нологии для информатизации и автоматизации решения
прикладных задач и создания ИС;
 способность проектировать и администрировать базы данных.
Базы данных — это уже достаточно хорошо проработанная
научная дисциплина. Существует множество, в том числе и фундаментальных, работ и учебников (на материал которых авторы
опирались при подготовке этого учебника и которые убедительно рекомендуют тем, кто серьезно интересуется этой проблематикой), среди них необходимо выделить такие монографии, как
«Организация баз данных в вычислительных системах» Дж. Мартина, «Введение в системы баз данных» К. Дейта, «Алгоритмы
и структуры данных» Н. Вирта, «SQL» Дж. Гроффа и П. Вайнберга.
В первой главе определены основные понятия, относятся к
базам и банкам данных, приведена классификация компонент
систем управления данными, определены их назначение и основные функции. Приведены типовые модели физической организации данных, акцентирующие внимание на различиях в вариантах структур и связей. Рассматриваются схемы организации
данных для линейных, иерархических и сетевых структур. Обсуждаются архитектуры организации данных на уровне файловых
компонент. Примерные схемы управления данными в файловой
системе ОС и СУБД дают для этих двух случаев наглядное представление о принципиальных различиях организации процессов
и разделении функций между компонентами.
Глава 2 посвящена проблемам моделирования баз данных.
Определяются стадии проектирования и объекты моделирования. Обсуждаются различия подходов к моделированию предметных областей, характерных для фактографических и документальных баз данных. Подробно рассматривается содержание концептуального и логического этапа проектирования. Описывается
пример проектирования реляционной базы данных, включая технологию проектирования и нормализации отношений.
Третья глава рассматривает систему FoxPro, являющуюся
«пограничным продуктом» между СУБД и системами программирования. Описываются типы данных и операторы языка, создание и модификация базы данных, создание и модификация
форматов представления данных. Приводится пример использования табличной СУБД FoxPro для построения системы документального (в том числе полнотекстового) поиска.


Введение
Глава 4 посвящена описанию SQL (на примере MS SQL Server
7.0), который является стандартным языком для работы с реляционными базами данных. Возможности использования операторов
языка рассматриваются на серии примеров, иллюстрирующих
этапы создания и использования базы данных, описание проектирования которой приведено в гл. 3. Рассматриваются транзакции, организация управления доступа пользователей к объектам
БД, программирование процессов управления обработкой данных (представления, хранимые процедуры, триггеры).
В приложениях приводятся глоссарий терминов, краткие аннотации команд и функций системы FoxPro, методические указания по выполнению лабораторных работ, примеры отчетов о
подобных лабораторных работах.
Авторы расположили материал в той исторической последовательности, в которой возникали и развивались соответствующие средства управления данными и их языковые средства. Это
не значит, что читателю обязательно надо сначала прорываться
сквозь дебри «сбалансированных деревьев» и «инверсных списков». Он может сразу перейти к рассмотрению на примерах процессов создания и управления данными в различных средах —
FoxPro (гл. 3), MS SQL Server (гл. 4), а в случае необходимости —
вернуться назад и поинтересоваться, «как оно там на самом деле
устроено».
Учебное пособие базируется на материалах, накопленных
авторами в процессе практической и исследовательской деятельности, а также преподавания в МИФИ, МИСИ, МЭСИ,
РГГУ, РЭА им. Г. В. Плеханова, МФПА (Международная финансово-промышленная академия). Авторы выражают благодарность коллегам, принявшим участие в обсуждении материала:
Н. В. Максимову, А. А. Емельянову, а также студентам РГГУ,
МФПА и РЭА им. Г. В. Плеханова за предоставленные иллюстративные материалы.


Глава 1
УПРАВЛЕНИЕ ДАННЫМИ. ФАЙЛОВЫЕ
СИСТЕМЫ И БАЗЫ ДАННЫХ
Системы управления базами данных (СУБД), являющиеся
предметом настоящего учебного пособия, не «висят в воздухе», а
прочно встроены в о к р у ж е н и е, включающее различные уровни и типы как программных средств, так и информационных
процессов и структур.
Понятие «управление данными» (data management) впервые
появляется задолго до баз данных (БД) и систем управления базами данных (СУБД) в качестве одной из основных функций
операционной системы (ОС) ЭВМ [24].
На рис. 1.1 приводится более или менее полная диаграмма
различных траекторий управления данными (стрелки означают
выдачу запроса на данные, передача данных осуществляется в
обратном направлении).
Рис. 1.1. Управление данными в ОС и СУБД


Глава 1. Управление данными. Файловые системы...
Слева проходят связи, осуществляемые пользователем (или
прикладной программой), с данными через операционную систему (точнее, файловую систему — ФС ОС). ФС открывает файл и
передает данные порциями (записями) пользователю (и обратно).
Справа на рисунке отображены связи, реализуемые СУБД.
При этом СУБД может использовать или же нет возможности
ФС. В первом случае база данных (БД) состоит из многих файлов, управляемых ОС (ФС), и выборка данных осуществляется
файловой системой. Во втором — БД состоит из одного или небольшого числа файлов ОС и все функции по управлению данными (выборка, вставка, исключение, коррекция) принимает на
себя СУБД.
В связи с этим прежде всего необходимо дать представление о
структурах информации в ЭВМ, включая такие объекты, как э л е -
м е н т ы д а н н ы х, а г р е г а т ы д а н н ы х, з а п и с и, ф а й л ы,
б а з ы д а н н ы х и программные средства, с ними связанные.
1.1. Информация, данные и их представление в ЭВМ
Уровни информационных процессов
Данное понятие характеризует степень связи информационных процессов с предметной областью — информационные технологии; информационные системы; информационные ресурсы:
 а в т о м а т и з и р о в а н н у ю и н ф о р м а ц и о н н у ю т е х -
н о л о г и ю
(А И Т ,
И Т) определим как целенаправленное и согласованное использование: технических средств
информатизации
(аппаратурный
фактор);
программных
средств и систем (программный фактор); информационных массивов и баз данных (информационный фактор);
интеллектуальных усилий и человеческого труда (человеческий, гуманитарный фактор) для решения задачи (задач) предметной области;
 и н ф о р м а ц и о н н ы е с и с т е м ы (А И С , И С) определяются как комплексы информационных технологий, ориентированных на процедуры сбора, обработки, хранения,
поиска, передачи и отображения информации предметной
области;


К покупке доступен более свежий выпуск Перейти