Базы данных

Таблица Employees

Рис. 3-3. Нормализованная таблица с уникальным идентификатором

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


Таблица Books

Рис. 3-5. Нормализованная структура базы данных, в которой заглавия книг и сведения об издательствах хранятся в разных таблицах

В нормализованной базе данных сведения о книгах и издательствах будут храниться по крайней мере в двух таблицах: в одной сведения о книгах, а в другой — об издательствах (рис. 3-5).


В таблице не должно быть повторяющихся значений или столбцов

В таблице не должно быть списков значений для некоторой единицы информации. Допустим, требуется учитывать названия и авторов книг. Хотя большинство книг написаны одним автором, их может быть два и более. Если для хранения имени автора в таблице предназначен только один столбец, то возникает проблема. Можно, конечно, хранить имена обоих авторов в одном столбце, но при этом затруднится вывод списка авторов по отдельности. Другое решение — изменить структуру таблицы и добавить еще один столбец для хранения имени второго автора. Но это поможет, только если авторов не более двух. Если же их три, придется добавлять третий столбец.


Таблица Books

Рис. 3-6. Две возможные структуры таблицы Books

Если необходимо хранить список значений в одном столбце или создать несколько столбцов для хранения одной единицы информации (Author1, Author2 и т.д.), следует предусмотреть размещение дублирующихся данных в другой таблице, связанной с главной. Для таблицы Books можно создать дополнительную главную таблицу, где хранить сведения об авторах, а затем — третью таблицу, в которой будут сопоставлены названия книг с их авторами. Последняя таблица обеспечивает хранение повторяющихся значений (рис. 3-7). Такая структура позволяет описать книгу с любым числом авторов без изменения определения таблицы и не допускает наличия пустых мест при сохранении информации о книгах с одним автором.


Таблица Books

Рис. 3-7. Сведения о книгах и их авторах хранятся в трех таблицах


Связи между сущностями

В реляционных базах данных связи позволяют избежать избыточности данных. Связь работает путем сопоставления данных ключевых столбцов — обычно это столбцы с одинаковыми именами из двух различных таблиц. В большинстве случаев связь сопоставляет первичный ключ одной таблицы (уникальный идентификатор) с элементом внешнего ключ другой таблицы. Первичные ключи и внешние ключи подробно обсуждаются в главе 5.


  1. Связь «один к одному»
  2. Связь «один ко многим»
  3. Связь «многие ко многим»
  4. Упражнение 1. Изучение основных понятий структуры баз данных
  5. Определение главных компонентов базы данных SQL Server
  6. Просмотр содержимого таблицы
  7. Просмотр табличных данных с помощью системной хранимой процедуры sp_help
  8. Нормализация структуры базы данных
  9. Создание диаграммы базы данных в SQL Server
  10. Просмотр связей на диаграмме базы данных
  11. Планирование базы данных SQL Server
  12. Файлы и группы файлов
  13. Правила выбора файлов и групп файлов
  14. Группы файлов по умолчанию
<< [Первая] < [Предыдущая] 1 2 3 4 [Следующая] > [Последняя] >>

Результаты 169 - 188 из 188


С чего начать
Что такое SQL Server 2000
Легкость установки, развертывания и эксплуатации
Microsoft SQL Server 2000 Резюме
DTS
Инструменты SQL Server 2000
Инструменты с графическим интерфейсом
Service Manager
Архитектура базы данных
Режимы сопоставления
Структура индексированных представлений аналогична структуре кластерных таблиц.
Структура журнала транзакций
Протокол TDS
Архитектура обработчика запросов
Архитектура ввода-вывода
Язык определения данных, язык манипулирования данными и хранимые процедуры
Инфраструктура распределенного управления SQL
Графические инструменты
Резервное копирование и восстановление
Закрепление материала
Панель Editor
Вкладка Execution Plan
Окно Object Browser
Окно Object Search
Как открыть SQL Query Analyzer
Исправление оператора Тransact-SQL
Основы Transact-SQL
ALTER TABLE
DELETE
Как открыть SQL Query Analyzer
Вывод сведений о таблице
Идентификаторы
Функции
Пользовательские функции
Детерминированность функций
Элементы языка управления ходом выполнения
Занятие 4. Исполнение операторов Transact-SQL
Одиночные операторы Transact-SQL
Обработка пакета
Исполнение хранимых процедур и триггеров
Сценарии Transact-SQL
Таблица Employees
Таблица Books
Связь «один ко многим»
Упражнение 1. Изучение основных понятий структуры баз данных
Создание диаграммы базы данных в SQL Server
Группы файлов по умолчанию

17 мая Recon Scout XT представляет собой портативного робота, которого можно отправлять в неизвестную среду.
16 мая Благодаря Makey Makey любые объекты можно превратить в клавиши компьютерной клавиатуры или мыши и использовать их для управления игрой
15 мая Новая охлаждающая технология подходит не только для бронежилетов, но и для других подобных вариантов, в том числе камуфляжа и рюкзаков.