
- •2. Понятие экономической информации
- •3. Экономические информационные системы
- •4. Внемашинная организация экономической информации
- •5. Внутримашинная организация экономической информации
- •6. Понятие базы данных. Системы управления базами данных и их функции.
- •7. Трехуровневая модель организации баз данных
- •Внешняя
- •Внешняя
- •Внешняя
- •8. Иерархическая модель данных
- •9. Сетевая модель
- •10. Реляционная модель
- •10. Ключи и связи. Ссылочная целостность.
- •Основное правило реляционной (ссылочной) целостности гласит: Первичный ключ любой таблицы должен содержать уникальные (не повторяющиеся) непустые значения для данной таблицы.
- •11. Операции реляционной алгебры над отношениями.
- •12 . Постреляционная модель
- •12. Объектно-ориентированная и объектно-реляционная модели
- •13. Многомерная модель
- •14. Требования, предъявляемые к базе данных. Этапы жизненного цикла базы данных
- •15. Модель «сущность–связь»
- •15.2 Преобразование er- модели в реляционную
- •Правило 1
- •Правило 2
- •Правило 3
- •Правило 4
- •Связь между указанными таблицами будет иметь вид ф 1 илиал заказ
- •Правило 5
- •Правило 6
- •Ф 1 илиал заказ
- •15.5 Общие сведения о case-средствах.
- •Пример программного окна Erwin показан ниже.
- •16. Нормализация данных в реляционных таблицах
- •17. Этапы проектирования базы данных и их процедуры
- •18. Назначение, стандарты, достоинства языка sql
- •18.1. Структура команды sql. Типы данных. Выражения
- •Действие Предложения Ключевые слова
- •18.2. Функциональные возможности языка sql
- •19. Знания и их виды
- •19.1 Базы знаний. Модели представления знаний
- •19.2 Продукционные модели
- •19.3 Семантические сети
- •19.4 Фреймовые модели
- •9.4 Пример сети фреймов
- •19.5 Формальные логические модели
- •20. Эволюция концепций обработки данных
- •21. Принцип передачи данных по сети
- •22. Удаленная обработка данных
- •23. Архитектура файл/сервер
- •24. Клиент/ серверные системы
- •Представление информации
- •Клиентское приложение 1
- •Клиентское приложение n
- •Клиентское приложение
- •26. Пользователи и администраторы баз данных
- •27. Защита баз данных
- •29. Оптимизация работы базы данных
- •30. Устройства для хранения баз данных
- •31. Индексирование и хеширование
- •32. Сжатие данных
10. Ключи и связи. Ссылочная целостность.
Особенностью реляционных баз данных является то, что база данных состоит из нескольких таблиц.
Поскольку строки в каждой таблице неупорядочены, необходим столбец (или набор нескольких столбцов) для уникальной идентификации каждой строки, т.е столбец в котором нет одинаковых и пустых строк. Такой столбец называется первичный ключ (primary key). Иногда ключ может состоять из более чем одного столбца, он называется составным первичным ключом (composite primary key).
В приведенном выше примере первичным ключом будет являться поле Код клиента.
Рассмотрим также таблицу Заказы
Номер заказа |
Код клиента |
Дата заказа |
Вес заказа |
1021 |
АС |
01.02.07 |
250 |
1022 |
АА |
10.04.07 |
300 |
1023 |
АД |
12.04.07 |
450 |
1024 |
АВ |
20.05.07 |
200 |
1025 |
АС |
01.06.07 |
600 |
1026 |
АД |
10.07.07 |
550 |
|
|
|
|
Поле Код клиента этой таблицы содержит идентификатор клиента, разместившего конкретный заказ. Если мы хотим знать, как называется фирма, разместившая заказ, мы должны поискать это же значение идентификатора клиента поле Код клиента к таблицы Клиенты и в найденной строке прочесть значения поля Фирма. Иными словами, нам нужно связать две таблицы, Клиенты и Заказы.
Столбец, указывающий на запись в другой таблице, связанную с данной записью, называется внешним ключом (foreign key).
В случае таблицы Заказы внешним ключом является столбец Код клиента.
Другими словами, внешний ключ – это столбец или набор столбцов, чьи значения совпадают с имеющимися значениями первичного ключа другой таблицы.
Клиенты Заказы
|
|
Номер заказа |
Клиент |
|
Код клиента (ВК) |
Город |
|
Дата заказа |
Улица |
|
Вес заказа |
Телефон |
|
|
Подобное взаимоотношение между таблицами называется связью (relationsship). Связь между двумя таблицами устанавливается путем присвоения значения внешнего ключа одной таблицы значениям первичного ключа другой.
Таблица, содержащая внешний ключ, называется detail – таблицей, а таблица, содержащая первичный ключ, называется master- таблицей.
Графическое изображение связи таблиц называется схемой данных.
Манипуляции с данными в базах данных, такие как выбор, вставка, удаление, обновление называются запросами к базе данных (query). Язык запросов называется SQL (Structured Query Language). Более подробно язык SQL будет изучаться в следующих лекциях.
Основное правило реляционной (ссылочной) целостности гласит: Первичный ключ любой таблицы должен содержать уникальные (не повторяющиеся) непустые значения для данной таблицы.
СУБД должна контролировать уникальность первичных ключей. При попытке присвоить первичному ключу значение, уже имеющееся в другой записи, СУБД генерирует сообщение об ошибке первичного ключа. Если две таблицы связаны отношением master- detail, то внешний ключ должен содержать только те значения, которые уже имеются среди значений первичного ключа master–таблицы. Если СУБД не контролирует значение внешних ключей, то может произойти нарушение ссылочной целостности. Например, если из таблицы Клиенты удалить запись, имеющую хотя бы одну запись в таблице Заказы, то в таблице Заказы окажутся записи о заказах, размещенных неизвестно кем. В случае контроля ссылочной целостности со стороны СУБД генерируется сообщение об ошибке внешнего ключа либо при попытке присвоить внешнему ключу значение, отсутствующее среди значений первичных ключей, либо при удалении или модификации записей master – таблицы. Большинство современных СУБД контролируют ссылочную целостность.