Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Введение в специальность

.pdf
Скачиваний:
41
Добавлен:
11.05.2015
Размер:
5.78 Mб
Скачать

222

также в системы управления технологическими процессами. После появления микропроцессоров роль таких систем стала

неуклонно повышаться, так как микропроцессорные системы проникли буквально во все сферы человеческой деятельности — от бытовой электроники до космических кораблей. Требования к времени отклика в некоторых программно-аппаратных комплексах, например, устройствах пакетной коммутации в компьютерных сетях, окоторых мыбудемговоритьвследующейглаве, чрезвычайно велики, допустимая задержка может измеряться микросекундами. Кроме того промышленные ОС реального времени должны иметь оченьвысокуюнадежность, способностьсамовосстанавливатьсяпосле сбоевит. д. СовременныеОСэтогоклассакакправилопредставляют собой некоторые версии Unix, доработанные в соответствии со спецификой реального времени; для повышения надежности ядро системывместескритическимиприложениямичасторазмещается в ПЗУ.

Программирование задач для систем реального времени имеет рядособенностей, дляэтогоиспользуютсяспецифические языкии системамыпрограммирования, например, Ада.

3.4.Системы управления базами данных (СУБД)

Предпосылки

Понятия база данных —БД (database — DB) и

появления

СУБД (Database Management System — DBMS)

появились в компьютерном мире в середине 60-

БД и СУБД

хгодов, когдаЭВМначалиактивноиспользовать-

 

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

Раньше приходилось вводить и выводить одни и те же данные помногураз. Например, приуправлениипредприятиемперсональныесведенияиспользуютсявзадачах кадрового учета, начисления зарплаты, оперативного планирования и т. д. Естественно ввести

223

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

Преимуществановогоподхода:

однократныйвводданных, чтоприводиткрезкомусокращению затраттруда;

незавмсимость программ от данных, что дает возможность независимоменятьтеидругие. Допустим, вбазеперсональных данных появилось поле «гражданство» и исчезла графа «национальность». Раньше пришлось бы переписывать все прикладные программы под новую структуру данных, при наличии СУБД этого делать не нужно, изменятся только программы, непосредственно работающиесэтимиполями;

сокращение затрат на программирование. Поскольку многие операции с данными являются стандартными (ввод, контроль, поиск, защита и т. д.), то вместо того, чтобы программировать ихкаждыйраз, всюработусданнымивыносятводнубольшую исложнуюпрограмму— СУБД.

Программа

. . .

Программа

 

Программа

. . .

Программа

1

N

 

1

N

 

 

 

СУБД

Наборы данных

База данных

 

Взамодействие программ с данными при независимой работе и при использовании СУБД

224
ФункцииСУБД ХорошаяСУБДдолжнаобеспечитьвыполнение ряда базовых функций.
Описание логической структуры базы данных. Для описа-
ния данных в любой СУБД имеется специальный язык описания данных— ЯОД(Data Description Language — DDL). Приэтомопи-
сание данных возможно с двух точек зрения: с точки зрения:

с точки зрения администратора базы данных, владеющего всей информацией о всех данных, хранящихся в системе. Это описаниеназываетсясхемойБД;

с точки зрения некоторой конкретной задачи, решаемой над СУБД, и нуждающейся только в части данных. Такое описание на-

зываетсяподсхемой.

Манипулирование данными, тоесть выполнение всех операций с данными — ввод, проверка правильности, выборка, составлениеотчетов. Для описанияоперацийсданнымивСУБДимеется языкманипулированияданными— ЯМД(Data Manipulating Language

DML). Этот язык может быть реализован в двух вариантах:

в виде расширения базового языка программирования (Кобола, Паскаля, Си) набором библиотечных функций;

ввидесамостоятельногоЯМД, которыйвэтомслучаеназывается языком запросов.

ОбеспечениецелостностиБД(database integrity). Целостность

(непротиворечивость) данных— этоспособностьданныхправильноотражатьобъект. Нарушенияцелостностимогутбытьиз-заоши- бок человека (например, где-то сменили название объекта, а где-то забыли) илииз-замашинныхсбоев. Обеспечениецелостностиданных дается дорогой ценой. В частости, для защиты от машинных сбоеввхорошихСУБДведутсяжурналыучетавсехобращений, по которым можно восстановить данные при авариях.

Обеспечение многопользовательского доступа (multiuser access). ИногдасоднойБДодновременноработаютсотниитысячи пользователей, например, всистемахрезервированиябилетов, крупных банках. СУБД должна навести порядок в многочисленных обращениях, обеспечитьвтяжелыхэтихусловияхсохранениецелост-

Основныетипы и история развитияСУБД

225

ности БД.

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

Изсказанногоясно, чтоСУБДпредставляетсобойчрезвычайносложную программную систему, сравнимою по сложности с ОС или даже превышающую ее. Разработ-

ка новой крупной СУБД —событие, а новой концепции — эпохальное событие, пр иэтом СУБД относятся к долгоживущим продуктам, время их жизни около 15 лет.

Несмотря на кажущиеся разнообразие, основных типов (архитектурныхконцепций) всеготри: иерархическая, сетеваяиреляционная.

Иерархические СУБД появились раньше других, они основаны на простейшей структуре данных в виде дерева, в которомкаждыйдочернийэлементданныхимееттолькоодногородителя. ПерваякрупнаяиерархическаяСУБДподназваниемIMS — Information Management System была создана фирмой IBM для системы IBM 360 в 1968 году в рамках проекта полета человека на Луну «Аполлон», за долгие годы эксплуатации она с лихвой окупила вложен-

ные в ее разработку гро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мадныеденьги.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Университет

 

Сетевые СУБД, в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отличие от иерархичес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Факультет

 

 

 

Физический

ких, сначала были скон-

 

 

 

информатики

 

 

 

факультет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

струированы на бумаге.

 

 

 

 

 

 

 

 

 

 

 

 

Группа

Группа

 

 

Рабочая группа по язы-

 

1401

 

1402

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кам обработки данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иванов

 

Петров

 

Сидоров

 

 

CODASYL (тасамая, ко-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

торая в 1960 году пред-

 

ложила Кобол) с 1965

Примериерархической

года работала над теоре-

структуры данных

 

Эдгар Кодд

226

тическимпроектомСУБД, основанномнаболеегибкойсетевоймоделиданных, вкоторойдочернийэлементможетиметьболееодного родительского. Предложения CODASYL были опубликованы в 1971 году, затем появились промышленные реализации, например, Integrated Database Management System —IDMS фирмы Cullinet Software, Inc. илиAdabas

фирмыSoftware AG.

Университет

Р е л я ц и о н н ы е СУБДопираютсянаеще более прочный теоретический фундамент. В их основе ее лежит постое и интуитивно понятное представление сложной схемыданныхввидесовокупностиплоскихтаблиц, каждая из которых отображает отношение (relation) междуобъектами.

Факультет

 

Клуб

информатики

туристов

Группа

Староста

Член

клуба

1401

 

Студент

 

 

 

 

Иванов Петров Сидоров

Примерсетевой структуры данных

Реляционнаямодель

данных была предложена в 1970 году сотрудником IBM Эдгаром Коддом (Codd, Edgar F.; р. 1923), в настоящее время она считается классической. Дляописанияреляционногоподходаиспользуетсяпростойивтожевремямощный математический аппарат, опирающийся на теорию множеств и математическую логику. В частности, строго доказано, что любую операцию над данными можно разложить на последовательность простейших манипуляций над таблицами (выборка строк, выборка столбцов, слияниетаблиц, агрегированиестрок). Дляописания этих манипуляций Дональд Чемберлен

(Chamberlin, Donald) и Рэй Бойс (Boyce, Ray) в 1974 году предложилиязыкзапросовSEQUEL,

 

 

 

 

 

 

227

 

ГРУППЫ

СТУДЕНТЫ

 

 

КЛУБЫ

 

 

 

 

 

 

 

 

Группа Факультет Староста

 

Фамилия Группа

 

Клуб Член клуба

 

 

 

 

 

 

 

 

 

 

 

1401

Информатики Сидоров

 

Иванов

1401

 

Туристов Сидоров

 

 

1402

Информатики Михайлов

 

Петров

1401

 

Туристов Пяткин

 

 

501

Физический Самойлов

 

Сидоров

1401

 

Водников Ломакин

 

 

...

 

 

Трофимов 1402

 

...

 

 

 

 

 

...

 

 

 

 

Пример реляционной структуры данных

который впоследствии был доработан и переименован в SQL — Structured Query Language.

Несмотрянатеоретическуюпроработанность, реляционныесистемыдалеконесразуполучилиширокоераспространение, долгое время считалось невозможным добиться эффективной реализации такихсистем. Первоемасштабное воплощениереляционноймодели удалась все той же IBM в экспериментальной СУБД System R, разрабатываемойв1975-1979 годах. Этобылгигантскийуспех, реляционные СУБД стали реальностью. После успешного завершения работ по созданию прототипа системы и получения экспериментальных результатов ее использования, фирмой IBM был запущенполномасштабныйпроектпромышленнойреляционнойСУБД. В 1883 году система, получившая название DB2, поступила в продажу, с тех пор в течение многих лет она успешно функционирует на всех фирменных аппаратных платформах: S/ 390, AS/400, PowerPC, есть реализация и для платформы

Wintel.

Проект System R, опубликованный Чемберленом с соавторами в ноябре 1976 года в журнале «IBM Journal of Research and Development», вдохновил сразу несколько групп разработчиков. Одна из них, возглавляемая Ларри Эллисоном (Ellison, Larry), решила создать собственную фирму для создания реляционной СУБД, характерными чертами которой были бы переносимость на разные платформы и совместимость с языком SQL. Фирму назвали Relation Software Incorporated, а систему — Oracle. Версия 2 (первая в продажу

Замечаниео настольныхСУБД

228

не поставлялась) была создана в 1979 году для ЭВМ PDP-11, впоследствии система постоянно совершенствовалась и адаптировалась для различных платформ, в 90-е годы она заняла лидирующее положение на рынке реляционных СУБД. Фирма, переименованная в Oracle, к концу века превратилась в одну из крупнейших софтверных компаний мира, а ее президент Ларри Эллисон занял почетное 30-е место в списке богатейших людей планеты (состояние 9,5 млрд долларов).

Постепенное накопление опыта организации реляционных баз данных и управления ими привели к тому, что уже в середине 80-х годов реляционные системы практически вытеснили с мирового рынка ранние иерархические и сетевые СУБД. Вслед за IBM и Oracle на рынок вышли фирмы Informix, SyBase, Ingres, разработавшие одноименные системы и зарабатывающие на них громадные деньги. Не упустила своего шанса и Microsoft, предложившая реляционную СУБД под названием MS SQL Server. Промышленные СУБД способны обрабатывать реляционные таблицы с миллионами строк, они являются весьма дорогостоящими продуктами, масштаб цен измеряется десятками и сотнями тысяч долларов, а объем рынка составляет миллиарды долларов.

ПолномасштабныеСУБД требуютдлясвоей работы мощных компьютеров, поэтому они как правило устанавливаются на сер-

верах иобслуживают сразу целые предприятия илиихподразделения. Когда появились персональные компьютеры, возник соблазн реализовать на них СУБД, но ресурсов явно не хватало. Тогда на рынке появились мини-СУБД типа dBASE, о которой мы будем говорить далее. По своей сути они являлись подделками, способными по упрощенным процедурам манипулировать таблицами с сот- ней-другой строк. Однако со временем персональные компьютеры стали мощнее, на рынке стали пользоваться спросом дешевые на-

стольные системы типа Microsoft Access или Borland Paradox, по-

зволяющиесоздаватьличныебазыданныхнебольшогоразмера. СистемаMS Access, вчастности, входитвпрофессиональнуюверсию

229

популярногоофисногонаборапрограммMS Office.

3.5.Пакеты прикладных программ для персональных компьютеров

Программы

Итак, в конце 70-х годов произошла мик-

ропроцессорная революция. Прежде бас-

как товар

нословнодорогиекомпьютерысталивдруг

массовогоспроса

продаваться в обычных магазинах по дос-

тупнымценам Врезультатенанихсталирешатьнетольконаучные задачи, но и заниматься такими несерьезными делами как печать документов или рисование картинок.

Нарынокхлынулипакетыприкладныхпрограмм(ППП). Раньше типовых программ были десятки — ОС, СУБД, компиляторы, сейчас — тысячи, но разница эта не только количественная, она носит принципиальный характер. Дело в том, что ППП в 80-е годы превратились в массовый продукт потребительского спроса. Они рассчитаныненапрофессионалов, анарядовыхклерков, школьников, домохозяек. Поэтому в них важны нетолькоинестолько качествосамихалгоритмов, сколькопростота, удобныйинтерфейс, красивое название, яркая упаковка, привлекательная реклама. Короче говоря, программыпревратилисьвтовар, коммерческийуспехнаэтом рынкеобеспеченнестолькопрограммистам, сколькодельцам.

Иногдакачествапрограммистаибизнесменаудачносочетаютсяв одномчеловеке, классический пример— главаMicrosoft БиллГейтс, ставшийвконцевекасамымбогатымчеловекомнапланетесличным состояниемв90 млрд. долларов.Однакочащевсегоуспехадобивались фирмы, образованные парами программист — коммерсант. В романтическое время конца 70-х — начала 80-х годов в одночасье рождалисьирасцветалипрограммистскиекомпании, сделавшиесебеимяи состояниенаодномудачномпакете, наиболееяркиепримерымырассмотримчутьпозже.

КлассификацияПППдляперсональныхкомпьютероввесьмазат-

230

руднительна, слишкомразнообразенвыборпредлагаемых товаров. В каталогах обычно выделяют 10-20 класов прикладных программ общего назначения В нашем кратком обзоре мы рассмотрим историю созданияилогикуразвитиянаиболеепопулярных пакетов: программы обработки текстов, электронные таблицы, настольные СУБД, интегрированныесистемы.

Обработкатекстов

Попытки применить ЭВМ для обработки

 

текстов были задолго до появления персо-

нальныхкомпьютеров. МыужеговорилиосенсационнойдемонстрацииДугласаЭнгельбартав1968 году, когдаонпоказывалвозможностиизобретеннойиммышинапримерередактированиятекста. Внача- ле70-хгодов, когдабольшоераспространение получилимини-ЭВМ, целые компании, например Wang, специализировались на производстве компьютеров и программ, специально предназначенных для веденияделопроизводствавкрупныхофисах.Однакоэтобылиузкопрофессиональные системы, не предназначенные для широкой публики1, массовое распространение системы обработки текстов получили только после появления персональных компьютеров.

«Электрическийкарандаш» Шрейера. ИдеяпревратитьПКв электроннуюпишущуюмашинкуреализоваласьсразужепослевыпускапервых«Альтаиров». В1975 годукинорежиссеризНью-Йорка МайклШрейер(Shrayer, Michael) уехалвКалифорнию, купил«Альтаир», подключил к нему телевизор и клавиатуру, и написал простойтекстовыйредакторподназванием«Электрическийкарандаш». Впоследствии аналогичную прогшрамму он написал и для других компьютеров, всегоимбылосделано78 вариантовредактора. Шрейер пытался продавать свой пакет, но вскоре ему это надоело, так как в душе он был программистом, а не бизнесменом.

WordStar. В1978 годузаразработкутекстовогоредакторавзял-

1 Например, в 1975 году на факультете прикладной математики ТГУ под руководством доцента Ю.Л.Костюка была выполнена дипломная работа Г..Петровой и Г..Дейнеко«Автоматическийгенераторотчетов» вкоторой предлагалсятекстовый процессордляЕСЭВМ. ЭтаработавпоследствииполучиламедальАкадемииНаук

СССР за лучшую студенческую работу.

231

ся Сеймур Рубинштейн (Rubinstein, Seymour) из Нью-Йорка. Он подошел к делу по-новому. Прежде чем создавать пакет, он собрал агентов по продаже программного обеспечения и выяснил, что хочет от программного продукта будущий пользователь. Говоря современным языком, он провел глубокое маркетинговое исследование. Послеэтого Рубинштейн пригласил талантливого программиста Барнэби (Barnaby, Rob) и сформулировал ему четкое техническое задание. В результате появился WordStar — текстовый процессор, ставший фактическим стандартом для всех последующих разработок.

Рыноктекстовыхредакторов. Персональныйкомпьютерпро-

извелреволюциювконторскомделе, кначалу 90-хгодовонвытес- нил из офиса пишущую машинку. Поэтому не удивительно, что текстовыйредакторбыстропревратилсявсамуюходовуюпрограмму, а рынок быстро наполнился системами аналогичного класса.

Нарисунке представлены некоторые наиболее известные у нас пакеты, представляющие три основные сектора рынка.

Простейшиередакторыобладаютограниченнымивозможностями форматирования текста. В эпоху DOS огромной популярностью пользовался отечественный пакет Лексикон, созданный ЕвгениемВеселовым, работавшимвтовремяввВычислительномцентре Акалемии наук СССР, и ставший непременной принадлежностьюлюбогорусскогоофиса. Внашевремятакиередакторыиспользуютсядлясоставленияпростыхдокументовидляпервичноговводатекста. ПримероммогутпослужитьприлагаемыекWindows ре-

Простейшие

Текстовые

 

Издательские системы

редакторы

процессоры

 

 

 

 

 

Norton

Лексикон

Лексикон-97

MS

Corel

Page

TeX

Editor

для DOS

для

Word

Ventura

Maker

Windows

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]