Тема:
Хранение, поиск и сортировка информации в базах данных
1.
Понятие и типы информационных систем.
Система
(system – целое, составленное из частей; греч.) – это совокупность элементов,
взаимодействующих друг с другом, образующих определенную целостность,
единство.
Архитектура
системы
– совокупность свойств системы, существенных для
пользователя.
Элемент
системы
– часть системы, имеющая определенное функциональное назначение. Элементы,
состоящие из простых взаимосвязанных элементов, часто называют
подсистемами.
Организация
системы
– внутренняя упорядоченность, согласованность взаимодействия элементов системы,
проявляющаяся, в частности, в ограничении разнообразия состояния элементов в
рамках системы.
Структура
системы
– состав, порядок и принципы взаимодействия элементов системы, определяющие
основные свойства системы. Если отдельные элементы системы разнесены по разным
уровням и характеризуются внутренними связями, то говорят об иерархической
структуре системы.
Добавление
к понятию система слова информационная отражает цель ее создания и
функционирования. Информационные системы обеспечивают сбор, хранение, обработку,
поиск, выдачу информации, необходимой в процессе принятия решений задач из любой
области. Они помогают анализировать проблемы и создавать новые информационные
продукты.
Информационная
система
— это взаимосвязанная совокупность средств, методов и персонала, используемых
для хранения, обработки и выдачи информации в интересах достижения поставленной
цели.
Современное
понимание информационной системы предполагает использование в качестве основного
технического средства переработки информации компьютера. Кроме того,
техническое воплощение информационной системы само по себе ничего не будет
значить, если не учтена роль человека, для которого предназначена производимая
информация и без которого невозможно ее получение и
представление.
Необходимо
понимать разницу между компьютерами и информационными системами. Компьютеры,
оснащенные специализированными программными средствами, являются технической
базой и инструментом для информационных систем. Информационная система немыслима
без персонала, взаимодействующего с компьютерами и
телекоммуникациями.
Типы
информационных систем.
Фактографические
и документированные информационные системы.
Тип
информационной системы зависит от того, чьи интересы она обслуживает и на каком
уровне управления. По характеру представления и логической организации хранимой
информации информационные системы подразделяются на фактографические,
документальные и геоинформационные.
Фактографические
информационные системы
накапливают и хранят данные в виде множества экземпляров одного или нескольких
типов структурных элементов (информационных объектов). Каждый из таких
экземпляров или некоторая их совокупность отражают сведения по какому-либо
факту, событию отдельно от всех прочих сведений и фактов.
Структура
каждого типа информационного объекта состоит из конечного набора реквизитов,
отражающих основные аспекты и характеристики объектов данной предметной области.
Комплектование информационной базы в фактографических информационных системах
включает, как правило, обязательный процесс структуризации входной
информации.
Фактографические
информационные системы предполагают удовлетворение информационных потребностей
непосредственно, т.е. путем представления потребителям самих сведений (данных,
фактов, концепций).
В
документальных (документированных)
информационных системах единичным элементом информации является
нерасчлененный на более мелкие элементы документ и информация при вводе (входной
документ), как правило, не структурируется, или структурируется в ограниченном
виде. Для вводимого документа могут устанавливаться некоторые формализованные
позиции (дата изготовления, исполнитель, тематика).
Некоторые
виды документальных информационных систем обеспечивают установление логической
взаимосвязи вводимых документов – соподчиненность по смысловому содержанию,
взаимные отсылки по каким-либо критериям и т.д.
Определение
и установление такой взаимосвязи представляет собой сложную многокритериальную и
многоаспектную аналитическую задачу, которая не может быть формализована в
полной мере.
В
геоинформационных системах данные
организованы в виде отдельных информационных объектов (с определенным набором
реквизитов), привязанных к общей электронной топографической основе (электронной
карте). Геоинформационные системы применяются для информационного обеспечения в
тех предметных областях, структура информационных объектов и процессов в которых
имеет пространственно-географический компонент (маршруты транспорта,
коммунальное хозяйство).
Классификация
информационных систем по функциональному признаку.
Функциональный признак определяет назначение подсистемы, а также ее основные цели, задачи и функции. На рис. 13 представлена классификация информационных систем по характеристике их функциональных подсистем.
Рис.13.
Классификация информационных систем по функциональному
признаку
В
хозяйственной практике производственных и коммерческих объектов типовыми видами
деятельности, которые определяют функциональный признак классификации
информационных систем, являются производственная, маркетинговая, финансовая,
кадровая деятельность.
Классификация
информационных систем по уровням управления.
Выделяют:
-
информационные
системы оперативного (операционного) уровня – бухгалтерская, банковских
депозитов, обработки заказов, регистрации билетов, выплаты
зарплаты;
-
информационная
система специалистов – офисная автоматизация, обработка знаний (включая
экспертные системы);
-
информационные
системы тактического уровня (среднее звено) – мониторинг, администрирование,
контроль, принятие решений;
-
стратегические
информационные системы – формулирование целей, стратегическое
планирование.
Информационные
системы оперативного (операционного) уровня.
Информационная
система оперативного уровня поддерживает специалистов-исполнителей, обрабатывая
данные о сделках и событиях (счета, накладные, зарплата, кредиты, поток сырья и
материалов). Назначение информационной системы на этом уровне — отвечать на
запросы о текущем состоянии и отслеживать поток сделок в фирме, что
соответствует оперативному управлению. Чтобы с этим справляться, информационная
система должна быть легко доступной, непрерывно действующей и предоставлять
точную информацию.
Задачи,
цели и источники информации на оперативном уровне заранее определены и в высокой
степени структурированы. Решение запрограммировано в соответствии с заданным
алгоритмом.
Информационная
система оперативного уровня является связующим звеном между фирмой и внешней
средой. Если система работает плохо, то организация либо не получает информации
извне, либо не выдает информацию. Кроме того, система — это основной поставщик
информации для остальных типов информационных систем в организации, т.к.
содержит и оперативную, и архивную информацию.
Информационные
системы специалистов.
Информационные
системы этого уровня помогают специалистам, работающим с данными, повышают
продуктивность и производительность работы инженеров и проектировщиков. Задача
подобных информационных систем — интеграция новых сведений в организацию и
помощь в обработке бумажных документов.
По
мере того как индустриальное общество трансформируется в информационное,
производительность экономики все больше будет зависеть от уровня развития этих
систем. Такие системы, особенно в виде рабочих станций и офисных систем,
наиболее быстро развиваются сегодня в бизнесе.
Информационные
системы офисной автоматизации вследствие своей простоты и много профильности
активно используются работниками любого организационного уровня. Наиболее часто
их применяют работники средней квалификации: бухгалтеры, секретари, клерки.
Основная цель — обработка данных, повышение эффективности их работы и упрощение
канцелярского труда. Информационные системы офисной автоматизации связывают
воедино работников информационной сферы в разных регионах и помогают
поддерживать связь с покупателями, заказчиками и другими организациями. Их
деятельность в основном охватывает управление документацией, коммуникации,
составление расписаний и т.д.
Эти системы выполняют следующие
функции:
-
обработка
текстов на компьютерах с помощью различных текстовых
процессоров;
-
производство
высококачественной печатной продукции;
-
архивация
документов;
-
электронные
календари и записные книжки для ведения деловой
информации;
-
электронная
и аудио-почта;
-
видео-
и телеконференции.
Информационные
системы обработки знаний, в том числе и экспертные системы, вбирают в себя
знания, необходимые инженерам, юристам, ученым при разработке или создании
нового продукта. Их работа заключается в создании новой информации и нового
знания. Так, например, существующие специализированные рабочие станции по
инженерному и научному проектированию позволяют обеспечить высокий уровень
технических разработок.
Информационные
системы тактического уровня (среднее звено).
Основные
функции этих информационных систем:
-
сравнение
текущих показателей с прошлыми показателями;
-
составление
периодических отчетов за определенное время (а не выдача отчетов по текущим
событиям, как на оперативном уровне);
-
обеспечение
доступа к архивной информации и т.д.
Системы
поддержки принятия решений обслуживают частично структурированные задачи,
результаты которых трудно спрогнозировать заранее (имеют более мощный
аналитический аппарат с несколькими моделями). Информацию получают из
управленческих и операционных информационных систем. Используют эти системы все,
кому необходимо принимать решение: менеджеры, специалисты, аналитики. Например,
их рекомендации могут пригодиться при принятии решения покупать или взять
оборудование в аренду.
Характеристика
систем поддержки принятия решений:
-
обеспечивают
решение проблем, развитие которых трудно прогнозировать;
-
оснащены
сложными инструментальными средствами моделирования и
анализа;
-
позволяют
легко менять постановки решаемых задач и входные данные;
-
отличаются
гибкостью и легко адаптируются к изменению условий несколько раз в
день;
-
имеют
технологию, максимально ориентированную на пользователя.
Стратегические
информационные системы.
Развитие
и успех любой организации (фирмы) во многом определяются принятой в ней
стратегией. Под стратегией понимается набор методов и средств решения
перспективных долгосрочных задач. В этом контексте можно воспринимать и понятия
стратегический метод, стратегическое средство, стратегическая система.
В
настоящее время в связи с переходом к рыночным отношениям вопросу стратегии
развития и поведения фирмы стали уделять большое внимание, что способствовало
коренному изменению во взглядах на информационные системы. Они стали
расцениваться как стратегически важные системы, которые влияют на изменение
выбора целей фирмы, ее задач, методов, продуктов, услуг, позволяя опередить
конкурентов, а также наладить более тесное взаимодействие потребителей с
поставщиками. Появился новый тип информационных систем —
стратегический.
Стратегическая
информационная система — компьютерная информационная система, обеспечивающая
поддержку принятия решений по реализации перспективных стратегических целей
развития организации. Известны ситуации, когда новое качество информационных
систем заставляло изменять не только структуру, но и профиль фирм, содействуя их
процветанию. Однако при этом возможно возникновение нежелательной
психологической обстановки, связанное с автоматизацией некоторых функций и видов
работ, так как это может поставить некоторую часть работающих в затруднительное
положение.
Прочие
классификации информационных систем.
Классификация
по степени автоматизации.
В
зависимости от степени автоматизации информационных процессов в системе
управления фирмой информационные системы определяются как ручные,
автоматические, автоматизированные.
Ручные
информационные системы
характеризуются отсутствием современных технических средств переработки
информации и выполнением всех операций человеком. Например, о деятельности
менеджера в фирме, где отсутствуют компьютеры, можно говорить, что он работает с
ручной информационной системой.
Автоматические
информационные системы
выполняют все операции по переработке информации без участия
человека.
Автоматизированные
информационные системы
предполагают участие в процессе обработки информации и человека, и технических
средств, причем главная роль отводится компьютеру. В современном толковании в
термин "информационная система" обязательно вкладывается понятие
автоматизируемой системы. Автоматизированные информационные системы, учитывая их
широкое использование в организации процессов управления, имеют различные
модификации и могут быть классифицированы, например, по характеру использования
информации и по сфере применения.
2.
Базы данных (табличные, иерархические, сетевые).
База
данных
— это информационная модель, позволяющая упорядоченно хранить данные о группе
объектов, обладающих одинаковым набором свойств.
Базами
данных являются, например, различные справочники, энциклопедии и т.
п.
Информация
в базах данных хранится в упорядоченном виде. Так, в записной книжке все записи
упорядочены по алфавиту, а в библиотечном каталоге либо по алфавиту (алфавитный
каталог), либо в соответствии с областью знания (предметный каталог). Существует
несколько различных типов баз данных: табличные, иерархические и
сетевые.
Табличные
базы данных.
Табличная
база данных содержит перечень объектов одного типа, т. е. объектов с одинаковым
набором свойств. Такую базу данных удобно представлять в виде двумерной
таблицы.
Поле
базы данных
— это столбец таблицы, включающий в себя значения определенного свойства. Строки
таблицы являются записями об объекте; эти записи разбиты на поля столбцами
таблицы. Запись базы данных — это строка таблицы, которая содержит набор
значений различных свойств объекта. В каждой таблице должно быть, по крайней
мере, одно ключевое поле, содержимое которого уникально для любой записи в этой
таблице. Значения ключевого поля однозначно определяют каждую запись в
таблице.
Иерархические
базы данных.
Иерархические
базы данных графически могут быть представлены как дерево, состоящее из объектов
различных уровней. Верхний уровень занимает один объект, второй — объекты
второго уровня и т.д. Между объектами существуют связи, каждый объект может
включать в себя несколько объектов более низкого уровня. Такие объекты находятся
в отношении предка (объект более близкий к корню) к потомку (объект более
низкого уровня), при этом возможно, чтобы объект-предок не имел потомков или
имел их несколько, тогда как у объекта-потомка обязательно только один предок.
Объекты, имеющие общего предка, называются близнецами. Иерархической базой
данных является каталог папок Windows, с которым можно работать, запустив
Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне
находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина,
которые представляют собой потомков папки Рабочий стол, будучи между собой
близнецами. В свою очередь, папка Мой компьютер - предок по отношению к палкам
третьего уровня, папкам дисков (диск З.5(А:), С:, D:, Е:, F:) и системным папкам
(Принтеры, Панель управления и др.).
Сетевые
базы данных.
Сетевая
база данных образуется обобщением иерархической за счет допущения объектов,
имеющих более одного предка, т. е. каждый элемент вышестоящего уровня может быть
связан одновременно с любыми элементами следующего уровня. Вообще, на связи
между объектами в сетевых моделях не накладывается никаких
ограничений.
Сетевой
базой данных фактически является Всемирная паутина глобальной компьютерной сети
Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую
распределенную сетевую базу данных.
3.
Системы управления базами данных (СУБД).
Система
управления базами данных
(СУБД) — совокупность программных и лингвистических средств общего или
специального назначения, обеспечивающих управление созданием и использованием
баз данных.
Основные
функции СУБД:
-
управление
данными во внешней памяти (на дисках);
-
управление
данными в оперативной памяти с использованием дискового
кэша;
-
журнализация
изменений, резервное копирование и восстановление базы данных после
сбоев;
-
поддержка
языков БД (язык определения данных, язык манипулирования
данными).
Обычно
современная СУБД содержит следующие компоненты:
-
ядро,
которое отвечает за управление данными во внешней и оперативной памяти и
журнализацию,
-
процессор
языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение
данных и создание, как правило, машинно-независимого исполняемого внутреннего
кода,
-
подсистему
поддержки времени исполнения, которая интерпретирует программы манипуляции
данными, создающие пользовательский интерфейс с СУБД
-
а
также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных
возможностей по обслуживанию информационной системы.
Классификации
СУБД.
По
модели данных.
Иерархические.
Используется
представление базы данных в виде древовидной (иерархической) структуры,
состоящей из объектов (данных) различных уровней.
Между
объектами существуют связи, каждый объект может включать в себя несколько
объектов более низкого уровня. Такие объекты находятся в отношении предка
(объект более близкий к корню) к потомку (объект более низкого уровня), при этом
возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько,
тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие
общего предка, называются близнецами (в программировании применительно к
структуре данных дерево устоялось название братья).
Иерархической
базой данных является файловая система, состоящая из корневого каталога, в
котором имеется иерархия подкаталогов и файлов.
Примеры:
Caché, Google App Engine Datastore API.
Сетевые.
Сетевые
базы данных подобны иерархическим, за исключением того, что в них имеются
указатели в обоих направлениях, которые соединяют родственную
информацию.
Примеры:
Caché.
Реляционные.
Практически
все разработчики современных приложений, предусматривающих связь с системами баз
данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок
реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к
2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время
абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с
общей совокупной долей рынка около 90%, поставляя такие системы как Oracle
Database, IBM DB2 и Microsoft SQL Server.
Объектно-ориентированные.
Управляют
базами данных, в которых данные моделируются в виде объектов, их атрибутов,
методов и классов.
Этот
вид СУБД позволяет работать с объектами баз данных так же, как с объектами в
программировании в объектно-ориентированных языках программирования. ООСУБД
расширяет языки программирования, прозрачно вводя долговременные данные,
управление параллелизмом, восстановление данных, ассоциированные запросы и
другие возможности.
Примеры:
GemStone.
Объектно-реляционные.
Этот
тип СУБД позволяет через расширенные структуры баз данных и язык запросов
использовать возможности объектно-ориентированного подхода: бъекты, классы и
наследование.
Зачастую
все те СУБД, которые называются реляционными, являются, по факту,
объектно-реляционными.
Примеры:
PostgreSQL, DB2, Oracle, Microsoft SQL Server.
По
способу доступа к БД.
Файл-серверные.
В
файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере.
СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ
СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и
обновлений осуществляется посредством файловых блокировок. Преимуществом этой
архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки:
потенциально высокая загрузка локальной сети; затруднённость или невозможность
централизованного управления; затруднённость или невозможность обеспечения таких
важных характеристик как высокая надёжность, высокая доступность и высокая
безопасность. Применяются чаще всего в локальных приложениях, которые используют
функции управления БД; в системах с низкой интенсивностью обработки данных и
низкими пиковыми нагрузками на БД.
На
данный момент файл-серверная технология считается устаревшей, а её использование
в крупных информационных системах — недостатком.
Примеры:
Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверные.
Клиент-серверная
СУБД располагается на сервере вместе с БД и осуществляет доступ к БД
непосредственно, в монопольном режиме. Все клиентские запросы на обработку
данных обрабатываются клиент-серверной СУБД централизованно. Недостаток
клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства:
потенциально более низкая загрузка локальной сети; удобство централизованного
управления; удобство обеспечения таких важных характеристик как высокая
надёжность, высокая доступность и высокая безопасность.
Примеры:
Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive
Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемые.
Встраиваемая
СУБД — СУБД, которая может поставляться как составная часть некоторого
программного продукта, не требуя процедуры самостоятельной установки.
Встраиваемая СУБД предназначена для локального хранения данных своего приложения
и не рассчитана на коллективное использование в сети. Физически встраиваемая
СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со
стороны приложения может происходить через SQL либо через специальные
программные интерфейсы (API).
Примеры:
OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact,
ЛИНТЕР.
Стратегии
работы с внешней памятью.
СУБД
с непосредственной записью
— это СУБД, в которых все измененные блоки данных незамедлительно записываются
во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая
стратегия используется только при высокой эффективности внешней
памяти.
СУБД
с отложенной записью
— это СУБД, в которых изменения аккумулируются в буферах внешней памяти до
наступления любого из следующих событий:
-
контрольной
точки;
-
конец
пространства во внешней памяти, отведенное под журнал. СУБД выполняет
контрольную точку и начинает писать журнал сначала, затирая предыдущую
информацию;
-
останов.
СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во
внешнюю память, после чего делает отметки, что останов базы данных выполнен
корректно;
-
при
нехватке оперативной памяти для буферов внешней памяти.
Такая
стратегия позволяет избежать частого обмена с внешней памятью и значительно
увеличить эффективность работы СУБД.
4.
Структурные элементы баз данных (таблицы, формы, запросы,
отчеты).
Таблица
базы данных.
Базу
данных, хранящую данные о группе объектов с одинаковыми свойствами, удобно
представлять в виде двумерной таблицы: в каждой ее строке последовательно
размещаются значения свойств одного из объектов; каждое значение свойства – в
своем столбце, озаглавленном именем свойства.
Поле
базы данных
– это столбец таблицы, содержащий значения определенного
свойства.
Строки
таблицы являются записями об объекте; эти записи разбиты на поля столбцами
таблицы, поэтому каждая запись представляет набор значений, содержащихся в
полях.
Запись
базы данных
– это строка таблицы, содержащая набор значений свойств, размещений в полях базы
данных.
Каждая
таблица должна содержать, по крайней мере, одно ключевое поле, содержимое которого
уникально для каждой записи в этой таблице. Ключевое поле позволяет однозначно
идентифицировать запись в таблице.
Ключевое
поле
– это поле, значения которого однозначно определяют запись в
таблице.
В
качестве ключевого поля чаще всего используют поле, содержащее тип данных
счетчик. Однако иногда удобнее в качестве ключевого поля таблицы использовать
другие поля, код объекта, например, инвентарный номер и т.п.
Поля
могут содержать данные следующих основных типов:
-
Счетчик.
Содержит последовательность целых чисел, которые задаются автоматически при
вводе записей. Эти числа не могут быть изменены
пользователем.
-
Текстовый.
Содержит символы различных типов.
-
Числовой.
Содержит числа различных типов.
-
Дата/Время.
Содержит даты или время.
-
Картинка.
Содержит изображения.
-
Логический.
Содержит значения Истина (Да) или Ложь (Нет).
Каждый
тип поля имеет свой набор свойств. Наиболее важными свойствами полей
являются:
-
Размер
поля. Определяет максимальную длину текстового или числового
поля.
-
Формат
поля. Устанавливает формат данных.
-
Обязательное
поле. Указывает на то, что данное поле обязательно надо заполнить.
Запрос
в базах данных.
После
того как база данных создана, ее можно использовать в качестве информационного
справочника. В этом и состоит основное назначение всякой информационной системы.
Действия,
выполняемые над информацией, хранящейся в базе данных, называют манипулированием
данными. К ним относятся выборка данных по некоторым условиям, сортировка
данных, обновление, удаление и добавление данных. Выполнение этих действий
производится с помощью запросов.
Запрос
–
это команда на выполнение определенного вида манипулирования данными.
Существует
универсальный язык, на котором формулируются запросы во многих СУБД. Он
называется SQL (StructuredQueryLanguage) – структурированный язык запросов.
Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в
информатике: обучаться составлению запросов на языке SQL или воспользоваться
каким-то более высокоуровневым вспомогательным средством. В большинстве
современных СУБД такие средства имеются. Например, в MSAccess это конструктор
запросов.
Форма
в базе данных.
Записи
базы данных можно просматривать и редактировать в виде таблицы или в виде формы.
Часто вид Таблица не позволяет видеть полностью всю информацию на экране. Если
база данных содержит достаточно мало полей, а значения полей содержат много
символов, то не все поля таблицы могут умещаться на экране, а значения полей
могут быть видны не полностью.
Форма
отображает одну запись в удобном для пользователя виде. В процессе создания
формы можно указать, какие поля базы данных включили в форму, как расположить
поля в окне формы, а также как можно сделать форму визуально привлекательной.
Фактически
с помощью формы создается графический интерфейс доступа к базе данных, который
может содержать различные элементы управления (текстовые поля, кнопки,
переключатели и т.д.), а также надписи. Обычно на форме размещаются надписи,
являющиеся именами полей базы данных, и текстовые поля, содержащие данные из
базы данных.
Пользователь
может изменять дизайн формы (размер, цвет и т.д.), элементов управления и
надписей.
Отчет
в базе данных.
СУБД
предоставляет возможность создания и печати итоговых документов — отчетов — по
имеющейся в БД информации. Для этого используется так называемый генератор
отчетов, который позволяет сформировать внешний вид окончательного документа.
Здесь можно также задать упорядочивание и группировку данных по тем или иным
значениям и сформировать итоговые значения для конкретных полей.
Следует
отметить, что данные для форм и отчетов берутся как из конкретных таблиц, так и
из запросов.
5.
Реляционные БД.
Основные
понятия реляционных БД: нормализация, связи и ключи.
1.
Принципы
нормализации:
-
В
каждой таблице БД не должно быть повторяющихся полей;
-
В
каждой таблице должен быть уникальный идентификатор (первичный
ключ);
-
Каждому
значению первичного ключа должна соответствовать достаточная информация о типе
сущности или об объекте таблицы (например, информация об успеваемости, о группе
или студентах);
-
Изменение
значений в полях таблицы не должно влиять на информацию в других полях (кроме
изменений в полях ключа).
2.
Виды логической
связи.
Связь
устанавливается между двумя общими полями (столбцами) двух таблиц. Существуют
связи с отношением «один-к-одному», «один-ко-многим» и
«многие-ко-многим».
Отношения,
которые могут существовать между записями двух таблиц:
-
один
– к - одному, каждой записи из одной таблицы соответствует одна запись в другой
таблице;
-
один
– ко - многим, каждой записи из одной таблицы соответствует несколько записей
другой таблице;
-
многие
– к - одному, множеству записей из одной таблице соответствует одна запись в
другой таблице;
-
многие
– ко - многим, множеству записей из одной таблицы соответствует несколько
записей в другой таблице.
Тип
отношения в создаваемой связи зависит от способа определения связываемых
полей:
1.
Отношение «один-ко-многим» создается в том случае, когда только одно из
полей является полем первичного ключа или уникального
индекса.
2.
Отношение «один-к-одному» создается в том случае, когда оба связываемых
поля являются ключевыми или имеют уникальные индексы.
3.
Отношение «многие-ко-многим» фактически является двумя отношениями
«один-ко-многим» с третьей таблицей, первичный ключ которой состоит из полей
внешнего ключа двух других таблиц
3.
Ключи. Ключ – это столбец (может быть несколько
столбцов), добавляемый к таблице и позволяющий установить связь с записями в
другой таблице. Существуют ключи двух типов: первичные и вторичные или
внешние.
Первичный
ключ
– это одно или несколько полей (столбцов), комбинация значений которых
однозначно определяет каждую запись в таблице. Первичный ключ не допускает
значений Null и всегда должен иметь уникальный индекс. Первичный ключ
используется для связывания таблицы с внешними ключами в других
таблицах.
Внешний
(вторичный) ключ
- это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле
или поля первичного ключа в другой таблице. Внешний ключ определяет способ
объединения таблиц.
Из
двух логически связанных таблиц одну называют таблицей первичного ключа или
главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной
таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и
совместно вывести их в форме, отчете или запросе.
Существует
три типа первичных ключей: ключевые поля счетчика (счетчик), простой ключ и
составной ключ.
Поле
счетчика
(Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой
добавляемой в таблицу записи в поле автоматически заносится уникальное числовое
значение.
Простой
ключ.
Если поле содержит уникальные значения, такие как коды или инвентарные номера,
то это поле можно определить, как первичный ключ. В качестве ключа можно
определить любое поле, содержащее данные, если это поле не содержит
повторяющиеся значения или значения Null.
Составной
ключ. В случаях, когда невозможно гарантировать уникальность значений каждого
поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще
всего такая ситуация возникает для таблицы, используемой для связывания двух
таблиц многие - ко - многим.
Необходимо
еще раз отметить, что в поле первичного ключа должны быть только уникальные
значения в каждой строке таблицы, т.е. совпадение не допускается, а в поле
вторичного или внешнего ключа совпадение значений в строках таблицы
допускается.
Если
возникают затруднения с выбором подходящего типа первичного ключа, то в качестве
ключа целесообразно выбрать поле счетчика.
Программы,
которые предназначены для структурирования информации, размещения ее в таблицах
и манипулирования данными называются системами управления базами данных (СУБД).
Другими словами, СУБД предназначены как для создания и ведения базы данных, так
и для доступа к данным. В настоящее время насчитывается более 50 типов СУБД для
персональных компьютеров. К наиболее распространенным типам СУБД относятся: MS
SQL Server, Oracle, Informix, Sybase, MS Access и т. д.