Скачать презентацию Структуры модели данных 2 Структуры модели данных Скачать презентацию Структуры модели данных 2 Структуры модели данных

Лекция Базы Данных.ppt

  • Количество слайдов: 74

Структуры (модели) данных Структуры (модели) данных

2 Структуры (модели) данных В информатике совокупность взаимосвязанных данных называется информационной структурой или моделью 2 Структуры (модели) данных В информатике совокупность взаимосвязанных данных называется информационной структурой или моделью данных. Известны 3 основные типы моделей данных: иерархическая (дерево), сетевая и реляционная. Иерархическая модель данных является реализацией отношений «целое- часть» . Графическим способом представления иерархической структуры является дерево- разновидность графа, в котором нет циклических путей.

Модели данных Модели данных

 • Иерархическая структура данных состоят из совокупности элементов, расположенных в порядке подчинения. В • Иерархическая структура данных состоят из совокупности элементов, расположенных в порядке подчинения. В иерархической модели имеется корневой узел. Он находится на самом верхнем уровне. Остальные узлы, называемые порожденными (листьями), связаны между собой следующим образом: для каждого узла существует один и только один исходный узел и может быть 0, 1, 2 и более порожденных. ПГПУ ИНЭК Кафедра информатики Кафедра экономики Кабинет информатики Матфак Кафедра Прикладной информатики Кафедра алгебры Ин. яз Кафедра геометрии Кафедра Анг. языка Кафедра нем. языка 4

Свойства «дерева» : • иерархическое «дерево» имеет только одну вершину ( «корень» дерева); • Свойства «дерева» : • иерархическое «дерево» имеет только одну вершину ( «корень» дерева); • порожденные узлы могут добавляться как по горизонтали, так и по вертикали; • доступ к порожденным узлам возможен только через исходный узел. Существует только один путь доступа к каждому узлу; • несколько узлов уровня связаны только с одним узлом более высокого уровня; • теоретически возможно существование неограниченного числа экземпляров узла каждого уровня. 5

6 Сетевую структуру данных можно представить в виде следующей схемы: Иванов КВН Петров КСП 6 Сетевую структуру данных можно представить в виде следующей схемы: Иванов КВН Петров КСП Клуб «Турист Сидоров СТЭМ СНО Отличие сетевой структуры от иерархической заключается в том, что любой объект в сетевой структуре может быть связан с любым другим объектом.

7 Свойства «сети» : • они также имеют уровни, узлы, связи; • связи между 7 Свойства «сети» : • они также имеют уровни, узлы, связи; • связи между уровнями свободные, нет строгого подчинения. За внешней простотой и универсальностью сетевой модели кроется очень сложная реализация этой модели в реальных базах данных.

Реляционные структуры данных(от латинского relatio – отношение) состоят из одной и более взаимосвязанных двумерных Реляционные структуры данных(от латинского relatio – отношение) состоят из одной и более взаимосвязанных двумерных таблиц. Свойства (атрибуты) объектов выделяются в отдельные столбцы и озаглавливаются. Каждая строка таблицы – есть совокупность значений атрибутов, относящихся к конкретному объекту. Такую строку называют записью (кортеж), а столбцы – полями записи. В этом подходе таблица, как совокупность атрибутов объекта называется отношением. ФИО Адрес Телефон Е-mail Аликин И. О. Ким 2 -154 248 -34 -67 alikin@mail. ru Волегова А. Н. Ленина 112 -4 212 -25 -60 - Сабиров Р. И. Юрша 60 -15 266 -42 -65 sabirov@pspu. ru Маслова С. Е. Грачева 34 -8 248 -97 -33 -

9 Свойства реляционной структуры: • записи могут иметь одинаковые значения в некоторых полях, кроме 9 Свойства реляционной структуры: • записи могут иметь одинаковые значения в некоторых полях, кроме ключевого; • каждая запись имеет уникальное значение в ключевом поле; • несколько таблиц связаны ключами.

10 Из рассмотренных примеров видно, что важно не только собрать вместе нужную информацию, но 10 Из рассмотренных примеров видно, что важно не только собрать вместе нужную информацию, но и удачно её структурировать. Самым ярким примером удачной информационной структуры является таблица Менделеева. Построение структуры данных происходит в следующем порядке: 1. определяются объекты описания; 2. определяются атрибуты этих объектов; 3. Выбирается тип структуры, отображающий отношение между объектами (табличная, древовидная, сеть); 4. Строится конкретная информационная структура.

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 1. Информационные системы БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 1. Информационные системы

Определения База данных (БД) – это хранилище данных о некоторой предметной области, организованное в Определения База данных (БД) – это хранилище данных о некоторой предметной области, организованное в виде специальной структуры. Важно: q данные о некоторой области (не обо всем) q упорядоченные Система управления базой данных (СУБД) – это программное обеспечение для работы с БД. Функции: q поиск информации в БД q выполнение несложных расчетов q вывод отчетов на печать q редактирование БД 12

Системы управления базами данных Система управления базами данных (СУБД) – комплекс программных и языковых Системы управления базами данных Система управления базами данных (СУБД) – комплекс программных и языковых средств для создания баз данных, поддержки их в актуальном состоянии и организации поиска в них необходимой информации. СУБД является интерфейсом между БД и прикладными задачами. Входящие в состав СУБД средства совместно выполняют следующие функции: 1. описание данных и их структуры; 2. первичный ввод, пополнение информации в БД; 3. удаление устаревшей информации из БД; 4. корректировку данных для поддержки их актуальности; 5. упорядочение (сортировку) данных по некоторому признаку; 6. поиск информации по некоторым признакам; 7. подготовку и генерацию отчетов; 8. защиту информации и разграничение доступа пользователей к ней; 9. резервное сохранение и восстановление БД при сбоях аппаратуры; 10. Поддержку дружественного интерфейса с пользователями.

14 Дружественный интерфейс предполагает: a) наличие развитой системы помощи; b) защиту от необдуманных действий, 14 Дружественный интерфейс предполагает: a) наличие развитой системы помощи; b) защиту от необдуманных действий, предупреждающую пользователя; c) наличие нескольких вариантов выполнения одних и тех же действий, из которых пользователь может выбрать наиболее удобные для себя, соответствующие его подготовке, квалификации, привычкам. Широкое распространение имеют СУБД для персональных компьютеров : Lotus, Access, d. Base, Fox. Pro, Paradox, Clarion, Clipper и т. п. Информационная система – это БД + СУБД.

Типы информационных систем • локальные ИС БД и СУБД находятся на одном компьютере. • Типы информационных систем • локальные ИС БД и СУБД находятся на одном компьютере. • файл-серверные БД находится на сервере сети (файловом сервере), а СУБД на компьютере пользователя. • клиент-серверные БД и основная СУБД находятся на сервере, СУБД на рабочей станции посылает запрос и выводит на экран результат. 15

Локальные ИС 16 БД СУБД автономность (независимость) 1) с БД работает только один человек Локальные ИС 16 БД СУБД автономность (независимость) 1) с БД работает только один человек 2) сложно обновлять при большом количестве пользователей 3) практически невозможно «стыковать» изменения, вносимые несколькими пользователями

17 Файл-серверные ИС СУБД БД СУБД несколько человек работают с одной базой 1) основную 17 Файл-серверные ИС СУБД БД СУБД несколько человек работают с одной базой 1) основную работу выполняют рабочие станции (РС), они должны быть мощными 2) для поиска строки на РС копируется вся БД – нагрузка на сеть 3) слабая защита от взлома (только на РС) 4) проблемы при одновременном изменении с разных РС

18 Клиент-серверные ИС СУБД-клиент БД запрос на SQL СУБД-сервер: • MS SQL Server • 18 Клиент-серверные ИС СУБД-клиент БД запрос на SQL СУБД-сервер: • MS SQL Server • Oracle • My. SQL • Interbase • Sy. Base СУБД-клиент ответ СУБД-клиент SQL (Structured Query Language) – язык структурных запросов 1) основную работу выполняет сервер, рабочие станции могут быть маломощными 2) проще модернизация (только сервер) 3) по сети идут только нужные данные 4) защиту и права доступа ставят на сервере (сложнее взломать) 5) разделение доступа (очередь заданий) 1) сложность настройки 2) высокая стоимость ПО (тысячи $)

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 2. Базы данных БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 2. Базы данных

Типы баз данных • табличные БД данные в виде одной таблицы • сетевые БД Типы баз данных • табличные БД данные в виде одной таблицы • сетевые БД набор узлов, в которых каждый может быть связан с каждым. • иерархические БД в виде многоуровневой структуры • реляционные БД (99, 9%) набор взаимосвязанных таблиц 20

21 Табличные БД Модель – картотека Примеры: • записная книжка • каталог в библиотеке 21 Табличные БД Модель – картотека Примеры: • записная книжка • каталог в библиотеке Петров Вася Суворовский пр. , д. 32, кв. 11 275 -75 -75 поля записи Фамилия Имя Адрес Телефон Петров Вася Суворовский пр. , д. 32, кв. 11 275 -75 -75 Иванов Дима Кирочная ул. , д. 25, кв. 12 276 -76 -76 1) самая простая структура 2) все другие типы БД используют таблицы во многих случаях – дублирование данных: А. С. Пушкин Сказка о царе Салтане 20 стр. А. С. Пушкин Сказка о золотом петушке 12 стр.

Табличные БД 1. Количество полей определяется разработчиком и не может изменяться пользователем. 2. Любое Табличные БД 1. Количество полей определяется разработчиком и не может изменяться пользователем. 2. Любое поле должно иметь уникальное имя. 3. Поля могут иметь различный тип: • строка символов (длиной до 255 символов) • вещественное число (с дробной частью) • целое число • денежная сумма • счетчик • дата, время, дата и время • логическое поле (истина или ложь, да или нет) • многострочный текст (МЕМО) • рисунок, звук или другой объект (объект OLE) 4. Поля могут быть обязательными для заполнения или нет. 5. Таблица может содержать сколько угодно записей (это количество ограничено только объемом диска); записи можно добавлять, удалять, редактировать, сортировать, искать. 22

Ключевое поле (ключ таблицы) Ключевое поле (ключ) – это поле (или комбинация полей), которое Ключевое поле (ключ таблицы) Ключевое поле (ключ) – это поле (или комбинация полей), которое однозначно определяет запись. В таблице не может быть двух записей с одинаковым значением ключа. Могут ли эти данные быть ключом? • фамилия • имя • номер паспорта • номер дома • регистрационный номер автомобиля • город проживания • дата выполнения работы • марка стиральной машины ? 23

24 Сетевые БД Сетевая БД - это набор узлов, в которых каждый может быть 24 Сетевые БД Сетевая БД - это набор узлов, в которых каждый может быть связан с каждым. А Г Б В наиболее полно отражает структуру некоторых задач (например, сетевое планирование в экономике) 1) сложно хранить и искать информацию о всех связях 2) запутанность структуры ! Можно хранить в виде таблицы, но с дублированием данных!

25 Иерархическая БД – это набор данных в виде многоуровневой структуры. Прайс-лист: Кей Продавец 25 Иерархическая БД – это набор данных в виде многоуровневой структуры. Прайс-лист: Кей Продавец (уровень 1) Мониторы Sony Изготовитель (уровень 3) Модель (уровень 4) S 93 X 93 B Цена (уровень 5) $306 $312 Принтеры Phillips Товар (уровень 2) Samsung

26 Иерархическая БД Приведение к табличной форме: Продавец Товар Изготовитель Модель Цена Кей Монитор 26 Иерархическая БД Приведение к табличной форме: Продавец Товар Изготовитель Модель Цена Кей Монитор Sony S 93 $306 Кей Монитор Sony X 93 B $312 Key Монитор Phillips 190 B 5 CG $318 Кей Монитор Samsung Sync. Master 193 P $452 … 1) дублирование данных 2) при изменении адреса фирмы надо менять его во всех строках 3) нет защиты от ошибок ввода оператора (Кей – Key), лучше было бы выбирать из списка

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 3. Реляционные базы данных БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 3. Реляционные базы данных

28 Реляционные БД 1970 -е гг. Э. Кодд, англ. relation – отношение. Реляционная база 28 Реляционные БД 1970 -е гг. Э. Кодд, англ. relation – отношение. Реляционная база данных – это набор простых таблиц, между которыми установлены связи (отношения) с помощью числовых кодов. Изготовители Продавцы Код Название Адрес Телефон Сайт Код Прайс-лист Код записи Название Код продавца Страна Код изготовителя Сайт Код товара Код модели Цена Модели Товары Код Название Код изготовителя

Реляционные БД 1) нет дублирования информации; 2) при изменении адреса фирмы, достаточно изменить его Реляционные БД 1) нет дублирования информации; 2) при изменении адреса фирмы, достаточно изменить его в только таблице Продавцы; 3) защита от неправильного ввода: можно выбрать только фирму, которая заранее введена в таблицу Продавцы. 1) сложность структуры (не более 40 -50 таблиц); 2) при поиске надо обращаться к нескольким таблицам; 3) нужно поддерживать целостность: при удалении фирмы продавца надо удалять все связанные записи из всех таблиц (в СУБД – автоматически, каскадное удаление). 29

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 4. Базы данных Access. Работа с таблицами БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 4. Базы данных Access. Работа с таблицами

Базы данных Access (Microsoft Office) 31 Расширение: *. mdb, один файл Состав: • таблицы; Базы данных Access (Microsoft Office) 31 Расширение: *. mdb, один файл Состав: • таблицы; • формы – диалоговые окна для ввода и редактирования данных; • запросы – обращения к базе данных для выбора нужной информации или изменения базы; • отчеты – документы для вывода на печать; • макросы – средства автоматизации работы; • модули – дополнительные процедура на языке Visual Basic.

Начало работы 32 Пуск – Программы – Microsoft Office – Microsoft Access 2003 Начало работы 32 Пуск – Программы – Microsoft Office – Microsoft Access 2003

33 Сервис – Схема данных таблица ключевое поле связь « 1 - » Удалить 33 Сервис – Схема данных таблица ключевое поле связь « 1 - » Удалить связь: ЛКМ + Delete. Создать связь: перетащить нужное поле на соответствующее поле второй таблицы.

34 Работа с таблицами Таблицы – Заказы – или двойной щелчок ЛКМ 34 Работа с таблицами Таблицы – Заказы – или двойной щелчок ЛКМ

35 Работа с таблицами область выделения текущее поля записи текущая запись последняя запись новая 35 Работа с таблицами область выделения текущее поля записи текущая запись последняя запись новая запись на 1 -ую запись предыдущая запись номер текущей записи следующая запись перейти на новую запись всего записей

36 Сортировка и поиск Сортировка по текущему полю (столбцу): по возрастанию (в алфавитном порядке) 36 Сортировка и поиск Сортировка по текущему полю (столбцу): по возрастанию (в алфавитном порядке) по убыванию (в обратном алфавитном порядке) Поиск и замена: текущее поле или все поля всё, вверх, вниз целиком, с любой частью, с началом

Фильтрация 37 Фильтрация – это отбор записей, удовлетворяющих некоторому условию (фильтру). Остальные записи временно Фильтрация 37 Фильтрация – это отбор записей, удовлетворяющих некоторому условию (фильтру). Остальные записи временно скрываются, пока фильтр не будет снят. Фильтр по выделенному 1. Щелкнуть в нужной ячейке или выделить часть текста. 2. Щелкнуть по кнопке. 3. Снятие фильтра.

38 Фильтрация Сложные условия Записи – Фильтр – Изменить фильтр Одновременно (операция И) Точное 38 Фильтрация Сложные условия Записи – Фильтр – Изменить фильтр Одновременно (операция И) Точное совпадение Начинается с ‘С’ новое условие, связанное через ИЛИ Полный вариант: Записи – Фильтр – Расширенный фильтр • можно переставлять столбцы • можно выводить не все столбцы • можно устанавливать порядок сортировки

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Проектирование таблиц БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Проектирование таблиц

Создание таблиц • ввод данных и названий полей (режим таблицы); • конструктор – ручная Создание таблиц • ввод данных и названий полей (режим таблицы); • конструктор – ручная настройка; • мастер таблиц – создание таблиц стандартных типов (Товары, Клиенты, Сотрудники, …); • импорт таблиц – загрузка данных из других источников (БД других форматов, Excel, текстовые файлы, …). 40

41 Создание таблиц Мастер Импорт • из других БД Access • из БД других 41 Создание таблиц Мастер Импорт • из других БД Access • из БД других форматов (*. db, *. dbf) • из таблиц Excel • из документов XML • из текстовых БД (CSV – comma separated values) Ввод данных

42 Конструктор таблиц перейти в конструктор перейти в режим таблицы 42 Конструктор таблиц перейти в конструктор перейти в режим таблицы

43 Конструктор таблиц ключ текущее поле тип поля (выбор из списка) свойства текущего поля 43 Конструктор таблиц ключ текущее поле тип поля (выбор из списка) свойства текущего поля

Свойства полей 44 Размер поля: байт, целое, вещественное, … Формат поля: как выводить на Свойства полей 44 Размер поля: байт, целое, вещественное, … Формат поля: как выводить на экран. Маска ввода: шаблон (ввод телефона). Подпись: как называется столбец при выводе на экран (можно использовать скобки, знаки и т. д. ( «Население, млн. чел. » ) Значение по умолчанию (вписывается автоматически). Условие на значение: защита от ошибок ввода ( «>18» ). Сообщение об ошибке ( «Возраст должен быть больше 18 лет!» ) Обязательное поле (да/нет) Индексированное поле (да/нет)

45 Операции с полями сделать поле ключевым (отменить…) добавить поле выше текущего индексы Primary 45 Операции с полями сделать поле ключевым (отменить…) добавить поле выше текущего индексы Primary Key: ключ таблицы название индекса удалить текущее поле (или все выделенные) поле таблицы (выбор из списка)

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 6. Формы БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Тема 6. Формы

47 Формы Форма – это диалоговое окно для • просмотра и редактирования данных • 47 Формы Форма – это диалоговое окно для • просмотра и редактирования данных • ввода новых записей • управления ходом работы (кнопки) • вывода вспомогательной информации Создание форм: источник данных

48 Создание форм Конструктор – полностью вручную. Мастер форм – режим «вопросы – ответы» 48 Создание форм Конструктор – полностью вручную. Мастер форм – режим «вопросы – ответы» . Автоформа в столбец: Автоформа ленточная: Диаграмма: Автоформа табличная:

49 Конструктор форм перейти в конструктор область выделения кнопки перехода перейти в режим формы 49 Конструктор форм перейти в конструктор область выделения кнопки перехода перейти в режим формы

50 Конструктор форм выбранный элемент заголовок формы область данных примечание формы изменение размеров 50 Конструктор форм выбранный элемент заголовок формы область данных примечание формы изменение размеров

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Запросы БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Запросы

52 Запросы «Ну и запросы у вас!» - сказала база данных и «повисла» . 52 Запросы «Ну и запросы у вас!» - сказала база данных и «повисла» . (Фольклор) Запрос – это обращение к СУБД для выполнения каких-либо операций с данными. Типы запросов: • выборка • создание таблицы • обновление (изменение данных) • добавление записей • удаление записей • …

Запрос и фильтрация В запросе можно: • отобрать информацию из нескольких связанных таблиц • Запрос и фильтрация В запросе можно: • отобрать информацию из нескольких связанных таблиц • использовать сложные условия отбора • пользователь может сам ввести параметры (сумму денег) • добавить вычисляемые поля • выполнить итоговые расчеты 53

Создание запросов 54 Создание запросов 54

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Макросы БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Макросы

Мастер запросов 56 Мастер запросов 56

Запуск запроса 57 Запуск запроса 57

58 Конструктор перейти в конструктор перейти в режим таблицы 58 Конструктор перейти в конструктор перейти в режим таблицы

59 Конструктор все поля • по возрастанию • по убыванию • отсутствует фильтр таблица 59 Конструктор все поля • по возрастанию • по убыванию • отсутствует фильтр таблица (ПКМ – Добавить таблицу) перетащить ЛКМ

60 Работа со столбцами перетащить (ЛКМ) выделить (ЛКМ) ПКМ: • вырезать • копировать • 60 Работа со столбцами перетащить (ЛКМ) выделить (ЛКМ) ПКМ: • вырезать • копировать • вставить • свойства

Условия отбора Совпадение Шаблон * любое количество любых символов ? один любой символ # Условия отбора Совпадение Шаблон * любое количество любых символов ? один любой символ # любая цифра Неравенство 61

БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Отчеты БАЗЫ ДАННЫХ. ИНФОРМАЦИОННЫЕ СИСТЕМЫ Отчеты

63 Создание отчетов Отчет – это документ, содержащий информацию из базы данных и предназначенный 63 Создание отчетов Отчет – это документ, содержащий информацию из базы данных и предназначенный для вывода на печать. Источник: таблица или запрос ! Только один источник!

64 Автоотчеты Автоотчет в столбец Автоотчет ленточный 64 Автоотчеты Автоотчет в столбец Автоотчет ленточный

Режим просмотра отчета 2 x ЛКМ 65 Режим просмотра отчета 2 x ЛКМ 65

Режим просмотра отчета – перейти в конструктор – печать – масштаб (переключение режима) – Режим просмотра отчета – перейти в конструктор – печать – масштаб (переключение режима) – одна страница – две страницы – несколько страниц – масштаб в процентах – закрыть окно просмотра – настройка (поля, формат бумаги) 66

Конструктор отчетов =Now() = Конструктор отчетов =Now() ="Страница " & [Page] & " из " & [Pages] Заголовок отчета – один раз в начале отчета. Верхний колонтитул – в начале каждой страницы. Область данных – информация из БД. Нижний колонтитул – в конце каждой страницы. Примечание отчета – один раз в конце отчета. 67

Редактирование отчетов Так же, как в конструкторе форм: ЛКМ – выделить элемент – свойства Редактирование отчетов Так же, как в конструкторе форм: ЛКМ – выделить элемент – свойства выбранного элемента – вывести (скрыть) панель элементов 68

Макросы 69 Макрос – это набор макрокоманд. Макрокоманда описывает действие, которое надо выполнить: • Макросы 69 Макрос – это набор макрокоманд. Макрокоманда описывает действие, которое надо выполнить: • открытие и закрытие таблиц, отчетов, форм • выполнение запроса • установка значений полей • поиск данных • управление выводом на экран • печать данных • сообщения пользователю • запуск других программ Событие (для запуска макроса) • действия пользователя (клавиатура, мышь) • внутреннее событие (открытие и закрытие формы изменение записи и т. д. )

Простой макрос 70 Конструктор Простой макрос 70 Конструктор

71 Связи между таблицами Один к одному ( « 1 -1» ) – одной 71 Связи между таблицами Один к одному ( « 1 -1» ) – одной записи в первой таблице соответствует ровно одна записи во второй. Применение: выделение часто используемых данных. 1 1 Код Фамилия Имя Код Год рождения Адрес 1 Иванов Кузьма 1 1992 Суворовский, д. 20, кв. 6 2 Петров Василий 2 1993 Кирочная ул. , д. 30, кв 18 … … Один ко многим ( « 1 - » ) – одной записи в первой таблице соответствует сколько угодно записей во второй. товары прайслист 1 Код Название Код товара Цена 1 Монитор 123 1 10 999 2 Винчестер 345 1 11 999 … …

72 Связи между таблицами Многие ко многим ( « - » ) – одной 72 Связи между таблицами Многие ко многим ( « - » ) – одной записи в первой таблице соответствует сколько угодно записей во второй, и наоборот. учителя Код Фамилия Код Название 2 Петров … История 2 Иванов 1 География 3 1 предметы Биология … Реализация – через третью таблицу и две связи « 1 - » . расписание Код учителя Код предмета Класс 1 1 1 9 -А 2 1 2 8 -Б 3 2 3 7 -В 1 Код Фамилия 1 Иванов 2 Петров … Код … 1 Код Название 1 История 2 География 3 Биология …

73 Нормализация базы данных Нормализация – это разработка такой структуры БД, в которой нет 73 Нормализация базы данных Нормализация – это разработка такой структуры БД, в которой нет избыточных данных и связей. Основные принципы: q Любое поле должно быть неделимым. Фамилия и имя Иванов Петров Иванов Петр Иван … Петров Иван q Не должно быть полей, которые обозначают различные виды … одного и того же, например, товаров. Год Бананы Киви 2006 3200 1200 2007 5600 1500 … 1 Год Код товара Кол-во 2006 1 2007 2 … Код Товар 1 Бананы 1200 2 Киви 1500 …

74 Нормализация базы данных Основные принципы: q Любое поле должно зависеть только от ключа 74 Нормализация базы данных Основные принципы: q Любое поле должно зависеть только от ключа (ключ – это поле или комбинация полей, однозначно определяющая запись). зависит не только от названия товара! товары Код Название Цена 1 Монитор 9 000 р. 2 Винчестер 11 000 р. прайс-лист … q Не должно быть полей, которые могут быть найдены с помощью остальных. Код Товар Цена за тонну Количество, тонн Стоимость 1 Бананы 1200 10 12 000 2 Киви 1500 20 30 000 …