Информатика и ИКТ лекция. Протокол умс от 201 г. Проректор по умр с. П. Ермишин
Скачать 5.78 Mb.
|
Реляционные базы данныхЭ.Ф.Коддом (E.F.Codd) в 1970 впервые сформулировал основные понятия и ограничения реляционной модели. Цели создания реляционной модели формулировались следующим образом:
Коммерческие системы на основе реляционной модели данных начали появляться в конце 70-х – начале 80-х годов. В настоящее время существует несколько сотен типов различных РСУБД как для мейнфреймов, так и для микрокомпьютеров, хотя многие из них не полностью удовлетворяют точному определению реляционной модели данных. Примерами РСУБД для персональных компьютеров являются СУБД Access и FoxPro фирмы Microsoft, Paradox и Visual dBase фирмы Borland, а также R:Base фирмы Microrim. Благодаря популярности реляционной модели многие нереляционные системы теперь обеспечиваются реляционным пользовательским интерфейсом, независимо от используемой базовой модели. Кроме того, позже были предложены некоторые расширения реляционной модели данных, предназначенные для наиболее полного и точного выражения смысла данных, для поддержки объектно-ориентированных, а также для поддержки дедуктивных возможностей. Основы реляционной алгебры Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица. Дело в том, что Кодд, будучи опытным математиком, широко использовал математическую терминологию, особенно из теории множеств и логики предикатов. Отношение – это плоская таблица, состоящая из столбцов и строк. В любой реляционной СУБД предполагается, что пользователь воспринимает базу данных как набор таблиц. Однако следует подчеркнуть, что это восприятие относится только к логической структуре базы данных, т.е. ко внешнему и концептуальному уровням. Подобное восприятие не относится к физической структуре базы данных, которая может быть реализована с помощью различных структур. Атрибут - это поименованный столбец отношения. В реляционной модели отношения используются для хранения информации об объектах, представленных в базе данных. Отношение обычно имеет вид двумерной таблицы, в которой строки соответствуют отдельным записям, а столбцы - атрибутам. При этом атрибуты могут располагаться в любом порядке, независимо от их переупорядочивания, отношение будет оставаться одним и тем же, а потому иметь тот же смысл. Домен – это набор допустимых значений для одного или нескольких атрибутов. Домены представляют собой мощный компонент реляционной модели. Каждый атрибут реляционной базы данных определяется на некотором домене. Домены могут отличаться для каждого из атрибутов, но два и более атрибутов могут определяться на одном и том же домене. Понятие домена имеет большое значение, поскольку благодаря ему пользователь может централизованно определять смысл и источник значений, которые могут получать атрибуты. В результате при выполнении реляционной операции системе доступно больше информации, что позволяет ей избежать семантически некорректных операций. Например, бессмысленно сравнивать название улицы с номером телефона, даже если для обоих этих атрибутов определениями доменов являются символьные строки. Но, например, помесячная арендная плата объекта недвижимости и количество месяцев, в течение которых он сдавался в аренду, принадлежат разным доменам (первый атрибут имеет денежный тип, а второй – целочисленный). Однако умножение значений из этих доменов является допустимой операцией. Как следует из этих двух примеров, обеспечить полную реализацию понятия домена совсем непросто, а потому во многих РСУБД они поддерживаются не полностью, а лишь частично. Элементами отношения являются кортежи, или строки, таблицы. Кортеж – это строка отношения. Кортежи могут располагаться в любом порядке, при этом отношение будет оставаться тем же самым, а значит, и иметь тот же смысл. Описание структуры отношения вместе со спецификацией доменов и любыми другими ограничениями возможных значений атрибутов иногда называют его заголовком (или содержанием (intension)). Обычно оно является фиксированным, до тех пор пока смысл отношения не изменяется за счет добавления в него дополнительных атрибутов. Кортежи называются расширением (extension), состоянием (state) или телом отношения, которое постоянно меняется. Степень отношения определяется количеством атрибутов, которое оно содержит. Отношение только с одним атрибутом имеет степень 1 и называется унарным (unary) отношением (или 1-арным кортежем). Отношение с двумя атрибутами называется бинарным (binary), отношение с тремя атрибутами – тернарным (ternary), а для отношений с большим количеством атрибутов используется термин n-арный (n-ary). Определение степени отношения является частью заголовка отношения. Количество содержащихся в отношении кортежей называется кардинальностью отношения. Эта характеристика меняется при каждом добавлении или удалении кортежей. Кардинальность является свойством тела отношения и определяется текущим состоянием отношения в произвольно взятый момент. Альтернативная терминология. Терминология, используемая в реляционной модели, порой может привести к путанице, поскольку помимо предложенных терминов существует еще один. Отношение в нем называется таблицей, кортежи – записями (records), а атрибуты – полями (fields). Эта терминология основана на том факте, что физически СУБД может хранить каждое отношение в отдельном файле. В табл. 6.1. показаны соответствия, существующие между упомянутыми выше группами терминов. Таблица 6.1. Альтернативные варианты терминов в реляционной модели
Далее в пособии могут использоваться термины из обоих вариантов. Фундаментальные свойства отношений (таблиц) Отношение обладает следующими характеристиками:
Большая часть свойств отношений происходит от свойств математических отношений реляционной алгебры:
Основные понятия реляционных баз данных Как уже говорилось, наиболее популярны реляционные модели данных. В соответствии с реляционной моделью данных данные представляются в виде совокупности таблиц, над которыми могут выполняться операции, формулируемые в терминах реляционной алгебры или реляционного исчисления. В отличие от иерархических и сетевых моделей данных в реляционной модели операции над объектами имеют теоретико-множественный характер. Это дает возможность пользователям формулировать их запросы более компактно, в терминах более крупных агрегатов данных. Рассмотрим терминологию, используемую при работе с реляционными базами данных. Первичный ключ. Первичным ключом называется поле или набор полей, однозначно идентифицирующих запись. Нередко возможны несколько вариантов выбора первичного ключа. Например, в небольшой организации первичными ключами сущности "сотрудник" могут быть как табельный номер, так и комбинация фамилии, имени и отчества (при уверенности, что в организации нет полных тезок), либо номер и серия паспорта (если паспорта есть у всех сотрудников). В таких случаях при выборе первичного ключа предпочтение отдается наиболее простым ключам (в данном примере - табельному номеру). Другие кандидаты на роль первичного ключа называются альтернативными ключами. Требования, предъявляемые к первичному ключу:
При выборе первичного ключа рекомендуется выбирать атрибут, значение которого не меняется в течение всего времени существования экземпляра (в этом случае табельный номер предпочтительнее фамилии, так как ее можно сменить, вступив в брак). По полям, которые часто используются при поиске и сортировке данных устанавливаются вторичные ключи: они помогут системе значительно быстрее найти нужные данные. В отличие от первичных ключей поля для индексов (вторичные ключи) могут содержать неуникальные значения. Первичные ключи используются для установления связей между таблицами в реляционной БД. В этом случае первичному ключу одной таблицы (родительской) соответствует внешний ключ другой таблицы (дочерней). Внешний ключ содержит значения связанного с ним поля, являющегося первичным ключом. Значения во внешнем ключе могут быть неуникальными, но не должны быть пустыми. Первичный и внешний ключи должны быть одинакового типа. Связи между таблицами. Записи в таблице могут зависеть от одной или нескольких записей другой таблицы. Такие отношения между таблицами называются связями. Связь определяется следующим образом: поле или несколько полей одной таблицы, называемое внешним ключом, ссылается на первичный ключ другой таблицы. Рассмотрим пример. Так как каждый заказ должен исходить от определенного клиента, каждая запись таблицы Orders (заказы) должна ссылаться на соответствующую запись таблицы Customers (клиенты). Это и есть связь между таблицами Orders и Customers. В таблице Orders должно быть поле, где хранятся ссылки на те или иные записи таблицы Customers. Типы связей. Существует три типа связей между таблицами. Один к одному — каждая запись родительской таблицы связана только с одной записью дочерней. Такая связь встречается на практике намного реже, чем отношение один ко многим и реализуется путем определения уникального внешнего ключа. Связь один к одному используют, если не хотят, чтобы таблица «распухала» от большого числа полей. Базы данных, в состав которых входят таблицы с такой связью не могут считаться полностью нормализованными. Один ко многим — каждая запись родительской таблицы связана с одной или несколькими записями дочерней. Например, один клиент может сделать несколько заказов, однако несколько клиентов не могут сделать один заказ. Связь один ко многим является самой распространенной для реляционных баз данных. Многие ко многим — несколько записей одной таблицы связаны с несколькими записями другой. Например, один автор может написать несколько книг и несколько авторов — одну книгу. В случае такой связи в общем случае невозможно определить, какая запись одной таблицы соответствует выбранной записи другой таблицы, что делает неосуществимой физическую (на уровне индексов и триггеров) реализацию такой связи между соответствующими таблицами. Поэтому перед переходом к физической модели все связи "многие ко многим" должны быть переопределены (некоторые CASE-средства, если таковые используются при проектировании данных, делают это автоматически). Подобная связь между двумя таблицами реализуется путем создания третьей таблицы и реализации связи типа «один ко многим» каждой из имеющихся таблиц с промежуточной таблицей. 3.4. Графические редакторы Графический редактор — программа (или пакет программ), позволяющая создавать и редактировать двумерные изображения с помощью компьютера. Типы графических редакторов: • Растровые графические редакторы. Наиболее популярны: Adobe Photoshop для операционных систем Microsoft Windows и Mac OS X, GIMP для GNU/Linux и других POSIX-совместимых. GIMP распространяется под лицензией GNU GPL. • Векторные графические редакторы. Наиболее популярны: Adobe Illustrator, Corel Draw, Macromedia Free Hand — для операционных систем Microsoft Windows и Mac OS X, Inkscape — для всех ОС. • Гибридные графические редакторы. Наиболее популярны: RasterDesk для AutoCAD, Spotlight (программа) для операционных систем Microsoft Windows. Тема 4. Компьютер как средство автоматизации информационных процессов 4.1. История развития ЭВМ. Понятие и основные виды архитектуры ЭВМ Развитие ЭВМ делится на несколько периодов. Поколения ЭВМ каждого периода отличаются друг от друга элементной базой и математическим обеспечением. Эти и другие характеристики ЭВМ разных поколений приведены в таблице 4.1.
Первое поколение — компьютеры на электронных лампах (1946 — 1956г.). За точку отсчета эры ЭВМ обычно принимают 15 февраля 1946 года, когда ученые Пенсильванского университета США ввели в строй первый в мире электронный компьютер ЭНИАК. В нем использовалось 18 тысяч электронных ламп. Машина занимала площадь 135 м3, весила 30 тонн и потребляла 150 кВт электроэнергии. Она использовалась для решения задач, связанных с созданием атомной бомбы. И хотя механические и электромеханические машины появились значительно раньше, все дальнейшие успехи ЭВМ связаны именно с электронными компьютерами. В СССР в 1952 году академиком С.А. Лебедевым была создана самая быстродействующая в Европе ЭВМ БЭСМ. Быстродействие первых машин было несколько тысяч операций в секунду. Второе поколение — компьютеры на транзисторах (1956 — 1963 г.). Полупроводниковый прибор - транзистор был изобретен в США в 1948 году Шокли и Бардиным. Компьютеры на транзисторах резко уменьшили габариты, массу, потребляемую мощность, повысили быстродействие и надежность. Типичная отечественная машина (серий "Минск", "Урал") содержала около 25 тысяч транзисторов. Лучшая наша ЭВМ БЭСМ-6 имела быстродействие 1 млн. оп/с. Третье поколение — компьютеры на микросхемах с малой степенью интеграции (1964 — 1971г.). Микросхема была изобретена в 1958 году Дж. Килби в США. Микросхемы позволили повысить быстродействие и надежность ЭВМ, снизить габариты, массу и потребляемую мощность. Первая ЭВМ на микросхемах IBM-360 была выпущена в США в 1965 году, как и первая мини-ЭВМ PDP-8 размером с холодильник. В СССР большие ЭВМ третьего поколения серии ЕС (ЕС-1022-ЕС-1060) выпускались вместе со странами СЭВ с 1972 года. Это были аналоги американских ЭВМ IBM-360, IBM-370. Четвертое поколение — компьютеры на микропроцессорах (1971 — настоящее время). Микропроцессор — это арифметическое и логическое устройство, выполненное чаще всего в виде одной микросхемы с большой степенью интеграции. Применение микропроцессоров привело к резкому снижению габаритов, массы и потребляемой мощности ЭВМ, повысило их быстродействие и надежность. Первый микропроцессор Intel-4004 был выпущен в США фирмой Intel в 1971 году. Его разрядность была 4 бита. В 1973г. был выпущен 8-битовый Intel-8008, а в 1974 г. Intel-8080. В 1975 г. появился первый в мире персональный компьютер Альтаир-8800, построенный на базе Intel-8080. Началась эра персональных ЭВМ. В 1976 г. появился персональный компьютер Apple на базе микропроцессора фирмы Motorola, который имел большой коммерческий успех. Он положил начало компьютерам серии Макинтош. Первый компьютер фирмы IBM с названием IBM PC появился в 1981 году. Он был сделан на базе 16-битового микропроцессора Intel-8088 и имел ОЗУ 1 Мб (у всех других машин было тогда ОЗУ 64 Кб). Фактически он стал стандартом персонального компьютера. Сейчас IBM-совместимые компьютеры составляют 90% всех производимых в мире персональных компьютеров. В 1983г. на базе Intel-8088 был выпущен компьютер IBM PC/ХT, имеющий жесткий диск. В 1982г. был сделан 16-битовый процессор Intel-80286, который был использован фирмой IBM в 1984г. в компьютере серии IBM PC/AT. Его быстродействие было в 3 — 4 раза выше, чем у IBM PC/ХT. В 1985г. фирма Intel разработала 32-битовый процессор Intel-80386. Он содержал примерно 275 тысяч транзисторов и мог работать с 4 Гб дисковой памяти. Для процессоров Intel-80286 и Intel-80386 появились математические сопроцессоры соответственно Intel-80287 и Intel-80387, которые повышали быстродействие компьютеров при математических расчетах и при работе с плавающей запятой. Процессоры 80486 (1989г.), Pentium (1993г.), Pentium-Pro (1995г.), Pentium-2 (1997г.) и Pentium-3 (1999г.) уже имеют встроенный математический сопроцессор. На базе процессоров Pentium собраны многие современные персональные компьютеры. Пятое поколение (перспективное) — это ЭВМ, использующие новые технологии и новую элементную базу, например сверхбольшие интегральные схемы, оптические и магнито-оптические элементы, работающие посредством обычного разговорного языка, оснащенные огромными базами данных. Предполагается также использовать элементы искусственного интеллекта и распознавание зрительных и звуковых образов. Такие проекты разрабатываются в ведущих промышленно развитых странах. Одна из общепринятых классификаций ЭВМ приведена Б.С. Богумирским.
С точки зрения взаимодействия команд и данных, интересна классификация ЭВМ по Флинну:
Основные модели ПЭВМ, представленные на рынке:
С середины 60-х годов вместо независимой разработки аппаратуры и программ стала проектироваться система, состоящая из совокупности аппаратных (hardware) и программных (software) средств. На первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие — архитектура ЭВМ. Под архитектурой ЭВМ понимается совокупность общих принципов организации аппаратно-программных средств и их характеристик, определяющая функциональные возможности ЭВМ при решении соответствующих классов задач. Рис.4 1. Основные компоненты архитектуры ЭВМ Архитектура ЭВМ охватывает широкий круг проблем, связанных с построением комплекса аппаратных и программных средств и учитывающих множество факторов: стоимость, сфера применения, функциональные возможности, удобство эксплуатации. ЭВМ. Более чем за полвека развития вычислительных средств прогресс в аппаратной реализации ЭВМ и их технических характеристик превзошел все прогнозы, и пока не заметно снижение его темпов. Несмотря на то, что современные ЭВМ внешне не имеют ничего общего с первыми моделями, основополагающие идеи, заложенные в них и связанные с понятием алгоритма, разработанным Аланом Тьюрингом (впервые предложившим основы работы машины без участия человека), а также архитектурной реализацией, предложенной Джоном фон Нейманом, пока не претерпели коренных изменений. Машина фон Неймана — схема универсального компьютера, предложенная американским математиком Джоном фон Нейманом в 1946 г. По этой схеме действуют большинство компьютеров в наше время (рис.4.2). Рис. 4.2. Структура ЭВМ. ЭВМ неймановской архитектуры содержит следующие основные устройства: 1. арифметическо-логическое устройство (АЛУ); 2. устройство управления (УУ); 3. запоминающее устройство (ЗУ); 4. устройство ввода-вывода (УВВ); 5. пульт управления (ПУ); 6. системный интерфейс (СИ). В современных ЭВМ АЛУ и УУ объединены в общее устройство, называемое центральным процессором. Если оно реализовано в одной микросхеме оно называется микропроцессором. Принцип работы состоит в следующем: Вычислительный процесс должен быть предварительно представлен для ЭВМ в виде программы — последовательности команд, записанных в порядке выполнения в ЗУ. В процессе выполнения программы УУ выбирает очередную команду из ЗУ, расшифровывает ее, определяет, какие действия и над какими операндами (данными) следует выполнить. Далее УУ помещает выбранные из ЗУ данные в АЛУ, где они и обрабатываются под управлением УУ. |