Что не является основным объектом базы данных
Объекты базы данных
Кроме таблиц база данных может содержать и другие типы объектов. Привести полную классификацию возможных объектов баз данных затруднительно, поскольку каждая система управления базами данных может реализовать свои типы объектов. Однако основные типы объектов мы можем рассмотреть на примере СУБД Microsoft Access, которая относится к системам, ориентированным на пользователя.
Таблицы – это основные объекты любой базы данных; информационная модель реальной системы. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запросы служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Начинающие пользователи не сразу понимают роль запросов, поскольку все те же операции можно делать и с таблицами. Да, действительно, это так, но есть соображения удобства (в первую очередь быстродействия) и соображения безопасности.
Из соображений безопасности, чем меньше доступа к базовым таблицам имеют конечные пользователи, тем лучше. Во-первых, снижается риск того, что неумелыми действиями они повредят данные в таблицах. Во-вторых, предоставив разным пользователям разные запросы, можно эффективно разграничить их доступ к данным в строгом соответствии с кругом персональных обязанностей.
В банках, например, одни сотрудники имеют доступ к таблицам данных о клиентах, другие — к их расчетным счетам, третьи – к таблицам активов банка. Если и есть специальные службы, имеющие доступ ко всем информационным ресурсам банка (с целью контроля и анализа), то они лишены средств для внесения изменений – все сделано так, чтобы один человек не мог совершить фиктивную операцию, независимо от того, какую должность он занимает. В базе данных, имеющей правильно организованную структуру, для совершения противоправных действий необходим сговор нескольких участников, а такие действия пресекаются не программными, а традиционными средствами обеспечения безопасности.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Если хотят подчеркнуть факт «временности» этой таблицы, то ее еще называют моментальным снимком. Когда мы работаем с основными таблицами базы, мы физически имеем дело с жестким диском, то есть с очень медленным устройством (напомним, что это связано с особенностью сохранения данных, описанной выше). Когда же на основании запроса мы получаем результирующую таблицу, то имеем дело с электронной таблицей, не имеющей аналога на жестком диске, – это только образ отобранных полей и записей. Разумеется, работа с «образом» происходит гораздо быстрее и эффективнее – это еще одно основание для того, чтобы широко использовать запросы.
Когда мы обсуждали основные структуры данных, то отметили, что недостатком упорядоченных табличных структур является сложность их обновления, поскольку при внесении новых записей нарушается упорядоченность – приходится переделывать всю таблицу. В системах управления базами данных и эта проблема решается благодаря запросам.
Основной принцип состоит в том, что от базовых таблиц никакой упорядоченности не требуется. Все записи в основные таблицы вносятся только в естественном порядке по мере их поступления, то есть в неупорядоченном виде. Если же пользователю надо видеть данные, отсортированные или отфильтрованные по тому или иному принципу, он просто использует соответствующий запрос. Если нужного запроса нет, он обращается к проектировщику и просит его такой запрос сделать и предоставить.
Формы. Если запросы – это специальные средства для отбора и анализа данных, то формы – это средства для ввода данных. Смысл их тот же – предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочие) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средствами так, чтобы она повторяла оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок. На сопроводительном рисунке приведен пример простейшей формы для ввода данных.
С помощью форм данные можно не только вводить, но и отображать. Запросы тоже отображают данные, но делают это в виде результирующей таблицы, не имеющей почти никаких средств оформления. При выводе данных с помощью форм можно применять специальные средства оформления.
Таким образом, формы – это специальные экранные объекты, предназначенные для ввода данных в таблицы или для просмотра данных в наглядной форме.
Отчеты – специальные объекты для создания печатных документов, которые содержат информацию из базовых таблиц или из результирующих таблиц, полученных по результатам работы запросов.
По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на печатающее устройство (принтер). В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, служебная информация о времени создания отчета и т. п.).
Страницы – это специальные объекты баз данных, реализованные в последней версии СУБД Microsoft Access. Правда, более корректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере.
Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, позволяют работать также с базами данных Microsoft SQL Server.
Разработчик базы данных имеет также два типа дополнительных объектов: макросы и модули. Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с системой управления базами данных, так и для создания новых функций путем программирования.
Эти объекты создают в тех случаях, когда стандартных средств управления базой данных оказывается недостаточно для выполнения операций, необходимых заказчику системы. С помощью макросов создают макрокоманды, упрощающие наиболее утомительные операции с базой, а с помощью модулей, написанных на языке программирования Visual Basic, создают программные процедуры для выполнения нестандартных операций.
Макросы – это макрокоманды, предназначены для автоматизации повторяющихся операций при работе с системой управления базами данных (упрощаются наиболее утомительные операции), создаются в самой СУБД. Если какие-то операции с базой производятся особенно часто, то имеет смысл сгруппировать несколько команд в один макрос и назначить его выделенной комбинации клавиш.
Модули – это программные процедуры, написанные на каком-либо языке программирования, создаются в других программах (средствами внешнего языка программирования, например, языка Visual Basic for Applications). Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.
Основные понятия организации данных в реляционной БД: таблица, запись, поле, тип поля, главный (первичный) ключ таблицы.
Данные в базах хранятся в виде таблиц.
Мы знаем, что структуру двумерной таблицы образуют столбцы и строки. Их аналогами в структуре простейшей базы данных являются поля (столбцы таблицы) и записи (строки таблицы).
Если записей в таблице пока нет, значит, ее структура образована только набором полей. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и, соответственно, получаем новую базу данных.
Таблица – информационная модель реальной системы.
Каждая таблица имеет структуру. В БД столбцы называют полями, а строки – записями. Поля образуют структуру базы данных, а записи составляют информацию, которая в ней содержится.
Уникальное (ключевое) поле – это поле, значения в котором не могут повторяться (например, номер телефона).
Ключевое поле (первичный (главный) ключ) – очевидный кандидат для создания связей; это поле, значение которого однозначно определяет запись в таблице.
В качестве ключевого поля чаще всего используют поле, содержащее тип данных счетчик. Однако иногда удобнее в качестве ключевого поля таблицы использовать другие поля: код товара, инвентарный номер, и т.д.
Таким образом, ключевые поля могут быть простыми и составными.
Структура таблицы определяется составом ее полей (основные элементы структуры базы данных) и их свойствами. Важнейшими свойствами полей являются: тип поля и размер поля. Для хранения разных типов данных используют полясоответствующих типов.
Поля базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. От свойств полей зависит, какие типы данных можно вносить в поле, а какие нет, а также то, что можно делать с данными, содержащимися в поле.
Перечислим основные свойства полей таблиц баз данных на примере СУБД Microsoft Access:
— Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
— Тип поля – определяет тип данных, которые могут содержаться в данном поле.
— Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
— Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю.
— Маска ввода – определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).
— Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
— Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
— Условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
— Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).
— Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;
— Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например, к текстовым).
— Индексированное поле – если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
Здесь мы должны обратить особое внимание на то, что поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных.
Для каждого поля определяется тип и формат данных. Так, например, базы данных Microsoft Access работают со следующими типами данных.
— Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
— Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.
— Числовой – тип данных для хранения действительных чисел.
— Дата/время – тип данных для хранения календарных дат и текущего времени.
— Денежный – тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа.
— Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей.
— Логический – тип для хранения логических данных (могут принимать только два значения, например, Да или Нет).
— Поле объекта Ole – специальный тип данных, предназначенный для хранения объектов Ole, например мультимедийных. Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно замедленной).
— Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск браузера и воспроизведение объекта в его окне.
— Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод в данных поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.
Виды логической связи между таблицами
Реляционные таблицы могут быть связаны друг с другом, следовательно, данные могут извлекаться одновременно из нескольких таблиц. Таблицы связываются между собой для того, чтобы в конечном счете уменьшить объем БД. Связь каждой пары таблиц обеспечивается при наличии в них одинаковых столбцов.
Существуют следующие типы информационных связей:
Связь один-к-одному предполагает, что одному атрибуту первой таблицы соответствует только один атрибут второй таблицы и наоборот.
Связь один-ко-многим предполагает, что одному атрибуту первой таблицы соответствует несколько атрибутов второй таблицы.
Связь многие-ко-многим предполагает, что одному атрибуту первой таблицы соответствует несколько атрибутов второй таблицы и наоборот.
Базы данных.
В современных базах данных хранятся не только данные, но и информация. База данных (БД)– организованная структура, предназначенная для хранения информации. Современные БД позволяют размещать в своих структурах не только данные, но и методы (т.е. программный код), с помощью которых происходит взаимодействие с потребителем или другими программно-аппаратными комплексами.
Системы управления базами данных (СУБД) – комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержанием, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.
Существует много систем управления базами данных. Они могут по-разному работать с разными объектами и предоставляют пользователю разные функции и средства. Большинство СУБД опираются на единый устоявшийся комплекс основных понятий.
3. Структура простейшей базы данных
Если в БД нет никаких данных ( пустая база ), то это все равно полноценная БД, т.к. она содержит информацию о структуре базы. Структура базы определяет методы занесения данных и хранения их в базе.
БД могут содержать различные объекты. Основными объектами БД являются таблицы. Простейшая база данных имеет хотя бы одну таблицу. Структура простейшей базы данных тождественно равна структуре ее таблицы.
Поля БД определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Например, свойства полей могут быть такими: имя поля, тип поля, размер поля, формат поля, маска ввода, подпись, значение по умолчанию, условие на значение, обязательное поле, индексированное поде, пустые строки, и т.д. Типы данных: текстовый, числовой, денежный, дата/время, счетчик, поле мемо (большой объем текста), логический, поле объекта OLE (для мультимедийных объектов), гиперссылка, место подстановок.
Обычно с БД работают две категории исполнителей:
Проектировщики – разрабатывают структуру таблиц базы и согласовывают ее с заказчиком; разрабатывают объекты, предназначенные для автоматизации работы и ограничения функциональных возможностей работы с базой (из соображений безопасности);
Пользователи – работают с базами данных, наполняют ее и обслуживают.
СУБД имеет два режима: проектировочный и пользовательский.
В проектировочном режиме создаются и изменяются структура базы и ее объекты. В пользовательском используются ранее подготовленные объекты для наполнения БД или получения данных из нее.
БД может содержать разные типы объектов. Каждая СУБД может реализовывать свои типы объектов.
Таблицы – основные объекты любой БД, в которых хранятся все данные, имеющиеся в базе, и хранится сама структура базы (поля, их типы и свойства).
Отчеты – предназначены для вывода данных, причем для вывода не на экран, а на печатающее устройство (принтер). В них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, время создания отчета и другое).
Макросы и модули – предназначены для автоматизации повторяющихся операций при работе с системой управления БД, так и для создания новых функций путем программирования. Макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования. Это одно из средств, с помощью которых разработчик БД может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, уровень ее защищенности.
Запросы – служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С их помощью выполняют отбор данных, их сортировку и фильтрацию. Можно выполнить преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое заполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу ( моментальный снимок ) – образ отобранных из базовых таблиц полей и записей. Работа с образом происходит быстрее и эффективнее, нежели с таблицами, хранящимися на жестком диске.
Обновление БД тоже можно осуществить посредством запроса. В базовые таблицы все данные вносятся в порядке поступления, т.е. они не упорядочены. Но по соответствующему запросу можно получить отсортированные и отфильтрованные нужным образом данные.
Формы – средства для ввода данных, предоставляющие пользователю необходимые для заполнения поля. В них можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Пример, заполнение определенных полей бланка. При выводе данных с помощью форм можно применять специальные средства их оформления.
Интегрированные системы. Понятие интегрированной системы (ИС).
Система программирования – инструментальное ПО, предназначенное для поддержки разработки программных систем на этапах программирования и отладки. Каждая система программирования должна иметь некоторый встроенный в нее язык программирования, предназначенный для общения с человеком – разработчиком программной системы.
Если по каким-то причинам объектный модуль или нужная библиотека не найдены, то сборщик сообщает об ошибке и готовой программы не получается.
Искусственный интеллект в научном мире рассматривается с двух точек зрения.
Научное направление, в рамках которого ставятся и решаются задачи программного или аппаратного моделирования тех видов человеческой деятельности, которые традиционно считаются интеллектуальными.
Свойство интеллектуальных систем выполнять творческие функции, которые традиционно считаются прерогативой человека.
Знания в системах искусственного интеллекта – совокупность сведений, которые образуют целостное описание, соответствующее некоторому уровню осведомленности об описываемом объекте, предмете, задаче, проблеме и т.д.
Инженерия знаний – раздел искусственного интеллекта, который занимается решением проблем, связанных с извлечением, приобретением, представлением и манипулированием знаниями; служит основой для создания различного типа интеллектуальных систем, например экспертных систем.
Инженер по знаниям – специалист, основной задачей которого является проектирование баз знаний и наполнение их знаниями о проблемной области. Для инженера по знаниям характерны следующие виды деятельности: выбор формы представления знаний, удобной для данной проблемной области, организация приобретений знаний из различных источников (документы, учебники, монографии, Интернет-ресурсы м т.п.), общение с экспертами – специалистами в данной предметной области с целью извлечения знаний.
Извлечение знаний – получение информации о предметной области от специалистов и выражение ее на языке представления знаний. Извлечение знаний используется при построении экспертных систем или баз знаний.
Представление знаний – формализация знаний для их ввода в базу знаний. Представление знаний как направление искусственного интеллекта традиционно включает:
Модель знаний – описание знаний в базе знаний. Выделяют четыре типа моделей знаний: логические (в их основе лежит семантическая сеть), фреймовая (основанные на фреймах) и продукционные (основанные на продукциях).
Фрейм – специальная форма представления знаний, которая определяется рекурсивно. Фрейм состоит из конечного числа слотов, каждый из которых имеет имя и значение.
Каждая из перечисленных моделей знаний определяет форму представления знаний.
База знаний – совокупность программных средств, обеспечивающих поиск, хранение, преобразование и запись в памяти компьютера сложно структурированных информационных единиц.
Экспертная система (ЭС) – expert system — особый класс систем искусственного интеллекта, включающий знания об определённой слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять разумные решения. Ее основным назначением является: интерпретация данных, диагностика состояния, мониторинг, прогнозирование, планирование и обучение. Все эти задачи по существу сводятся к распознаванию образов.
ЭС – интеллектуальная система, предназначенная для оказания консультационной помощи специалистам, работающим в некоторой предметной области. Выделяют два типа экспертных систем.



