Основы проектирования баз данных
Покупка
Основная коллекция
Тематика:
Системы управления базами данных (СУБД)
Издательство:
Издательство ФОРУМ
Год издания: 2021
Кол-во страниц: 416
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Среднее профессиональное образование
ISBN: 978-5-91134-655-3
ISBN-онлайн: 978-5-16-105762-9
Артикул: 069900.13.01
В учебном пособии рассматриваются основные подходы и направления развития систем баз данных. Анализируются классические машинно-ориентированные формы представления информации и данных. Рассматриваются типовые модели физической и логической организации данных.
Исследуется архитектура средств доступа к данным. На примере системы FoxPro (система программирования с элементами СУБД) иллюстрируются практические аспекты разработки фактографических и документальных информационных систем. Достаточно подробно описываются возможности SQL как базового языка для профессиональной работы с реляционными базами данных. Необходимое внимание уделяется проблемам моделирования и проектирования баз данных.
Учебное пособие предназначено для обучающихся по специальности 09.02.04 «Информационные системы (по отраслям)» среднего профессионального образования, а также может использоваться студентами (квалификация «бакалавр», «специалист») соответствующих направлений.
Тематика:
ББК:
УДК:
ОКСО:
- Среднее профессиональное образование
- 09.02.01: Компьютерные системы и комплексы
- 09.02.02: Компьютерные сети
- 09.02.03: Программирование в компьютерных системах
- 09.02.04: Информационные системы (по отраслям)
- 09.02.05: Прикладная информатика (по отраслям)
- 09.02.06: Сетевое и системное администрирование
- 09.02.07: Информационные системы и программирование
- 09.02.09: Веб-разработка
- 10.02.01: Организация и технология защиты информации
- 10.02.02: Информационная безопасность телекоммуникационных систем
- 10.02.03: Информационная безопасность автоматизированных систем
- 10.02.04: Обеспечение информационной безопасности телекоммуникационных систем
- 10.02.05: Обеспечение информационной безопасности автоматизированных систем
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
-¬¡ ©¡¡«¬ª°¡--¤ª©§¸©ª¡ª¬£ª©¤¡ -ÁÌÄÛÊÍÉʾ¼É¼¾¿ÊÀÏ О.Л. Голицына, Т.Л. Партыка, И.И. Попов ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ УЧЕБНОЕ ПОСОБИЕ 2-е издание, переработанное и дополненное Рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов учреждений среднего профессионального образования Москва 2021 ИНФРА-М
УДК 004.2(075.32) ББК 32.973.26-02я723 Г60 Р е ц е н з е н т ы: кандидат технических наук, доцент кафедры «Проектирование АИС» Российской экономической академии им. Г.В. Плеханова Ю.Г. Бачинин; доктор экономических наук, профессор, декан факультета «Информатика» Московского международного института эконометрики, информатики, финансов и права А.А. Емельянов Голицына О.Л. Г60 Основы проектирования баз данных : учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. — 2-е изд., перераб. и доп. — Москва : ФОРУМ : ИНФРА-М, 2021. — 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 © Голицына О.Л., Партыка Т.Л., Попов И.И., 2016 ISBN 978-5-91134-655-3 (ФОРУМ) ISBN 978-5-16-012080-5 (ИНФРА-М, print) ISBN 978-5-16-105762-9 (ИНФРА-М, online) © ФОРУМ, 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. Информация, данные и их представление в ЭВМ Уровни информационных процессов Данное понятие характеризует степень связи информационных процессов с предметной областью — информационные технологии; информационные системы; информационные ресурсы: а в т о м а т и з и р о в а н н у ю и н ф о р м а ц и о н н у ю т е х - н о л о г и ю (А И Т , И Т) определим как целенаправленное и согласованное использование: технических средств информатизации (аппаратурный фактор); программных средств и систем (программный фактор); информационных массивов и баз данных (информационный фактор); интеллектуальных усилий и человеческого труда (человеческий, гуманитарный фактор) для решения задачи (задач) предметной области; и н ф о р м а ц и о н н ы е с и с т е м ы (А И С , И С) определяются как комплексы информационных технологий, ориентированных на процедуры сбора, обработки, хранения, поиска, передачи и отображения информации предметной области;