Материал: Реферат(Пойлов Александр)

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Индексирование

Одна из основных задач, возникающих при работе с базами данных, – это задача поиска. При этом, поскольку информации в базе данных, как правило, содержится много, перед программистами встает задача не просто поиска, а эффективного поиска, т.е. поиска за сравнительно небольшое время и с достаточной точностью. Для этого (для оптимизации производительности запросов) производят индексирование некоторых полей таблицы. Использовать индексы полезно для быстрого поиска строк с указанным значением одного столбца. Без индекса чтение таблицы осуществляется по всей таблице, начиная с первой записи, пока не будут найдены соответствующие строки. Чем больше таблица, тем больше накладные расходы. Если же таблица содержит индекс по рассматриваемым столбцам, то база данных может быстро определить позицию для поиска в середине файла данных без просмотра всех данных. Это происходит потому, что база данных помещает проиндексированные поля поближе в памяти, так, чтобы можно было побыстрее найти их значения. Для таблицы, содержащей 1000 строк, это будет как минимум в 100 раз быстрее по сравнению с последовательным перебором всех записей. Однако в случае, когда необходим доступ почти ко всем 1000 строкам, быстрее будет последовательное чтение, так как при этом не требуется операций поиска по диску. Так что иногда индексы бывают только помехой. Например, если копируется большой объем данных в таблицу, то лучше не иметь никаких индексов. Однако в некоторых случаях требуется задействовать сразу несколько индексов (например, для обработки запросов к часто используемым таблицам).

Например, если говорить о MySQL, то там существует три вида индексов: PRIMARY, UNIQUE, и INDEX, а слово ключ (KEY) используется как синоним слова индекс (INDEX). Все индексы хранятся в памяти в виде B-деревьев.

PRIMARY – уникальный индекс (ключ) с ограничением, что все индексированные им поля не могут иметь пустого значения (т.е. они NOT NULL). Таблица может иметь только один первичный индекс, но он может состоять из нескольких полей.

UNIQUE – ключ (индекс), задающий поля, которые могут иметь только уникальные значения.

INDEX – обычный индекс.

Примеры баз данных

Astrophysics Data System- Астрофизическая Информационная Система НАСА - интерактивная база данных более 7 000 000 документов по астрономии и физике как из рецензируемых, так и из нерецензируемых источников.

Scientific and Technical Network- европейская база данных, содержащая около 10 млн наименований журнальных статей, препринтов, книг, диссертаций, патентов и материалов научных конференций в области прикладной физики, химии, биофизики, технологий, биотехнологий, медицины. Благодаря очень широкому спектру интересов база данных является одной из самых больших в мире.

Zentralblatt MATH- реферативный математический журнал, основанный издательством «Шпрингер» (Springer).Целью журнала является сбор, систематизация, публикация и распространение библиографических данных и рефератов книг и статей, посвящённых всем разделам математики и её приложениям в информатике, механике и физике. Журналом реферируются более 2300 журналов и периодических изданий разных стран, ежегодно публикуется около 80 000 аннотаций и рецензий, написанных более чем 5000 учёными. Большинство рефератов публикуется на английском языке, некоторые — на французском или немецком.

ABC-CLIO- aмериканская база данных, содержащая свыше 1 млн журнальных статей, книг, материалов конференций в области истории и политических наук. В базе данных имеются почти все исторические журналы мира. Создана и управляется Калифорнийским университетом в Санта-Барбара.

ArXiv- крупнейший бесплатный архив электронных препринтов научных статей по физике, математике, астрономии, информатике и биологии.Архив был создан в 1991 в Лос-Аламосской национальной лаборатории, США (англ. Los Alamos National Laboratory, LANL) и первоначально предназначался для физических статей, но постепенно возникли разделы, посвящённые другим наукам. К середине 2008 года в нём содержалось более 485 000 публикаций, и каждый месяц добавляется 3000—4000 статей.

Заключение

В общем смысле термин «база данных» (БД) можно применить к любой совокупности связанной информации, объединенной вместе по определенному признаку, т.е. к набору данных, организованных определенным образом. При этом большинство БД использует табличный способ преставления, где данные располагаются по строкам (которые называются записями) и столбцам (которые называются полями), причем все записи должны состоять из  одинаковых полей и все данные одного поля должны иметь один тип. Например, расписание движения поездов, полетов самолетов, книга заказов или учет товаров и т.п. легко могут быть представлены в такой форме. Базы данных должны содержать только независимую (первичную) информацию, поэтому не любая таблица представляет собой базу данных.

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

Мир баз данных становится все более и более единым, с развитием Internet- и Intranet- технологий появилась возможность доступа к удаленным БД, что привело к необходимости создания стандартного языка, который мог бы использоваться так, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволил бы пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции или на универсальном компьютере.

По этой причине ANSI (Американским Национальным Институтом Стандартов) был разработан стандарт языка SQL (Структурированный Язык Запросов). При этом SQL не изобретался ANSI. Это по существу изобретение IBM. Но другие компании подхватили SQL и сразу же, по крайней мере одна компания (Oracle), получила право на рыночную продажу SQL продуктов. Однако после этого появились некоторые проблемы, которые возникли в результате стандартизации ANSI языка в виде некоторых ограничений. Конкретные программы Баз Данных обычно дают ANSI SQL дополнительные особенности, часто ослабляют многие ограничения стандарта.

Литература

  1. Скотт В. Эмблер, Прамодкумар Дж. Садаладж. Рефакторинг баз данных: эволюционное проектирование . — М.: «Вильямс», 2007. — С. 368.

  2. Томас Коннолли, Каролин Бегг. Базы данных. Проектирование, реализация и сопровождение. Теория и практика — 3-е изд. — М.: «Вильямс», 2003. — С. 1436.

  3. К. Дж. Дейт Введение в системы баз данных— 8-е изд. — М.: «Вильямс», 2006. — С. 1328.

  4. Голицина О.Л., Максимов Н.В., Попов И.И. Базы данных: Учебное пособие. – М.: ФОРУМ: ИНФРА-М, 2003. – С.352

  5. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2002. – С.304

  6. www.citforum.ru

  7. www.sql.ru

  8. www.linter.ru

  9. www.wikipedia.org

Источник: https://studfile.net/preview/16418463/