- •13. Структурное и модульное программирование
- •14. Объектно-ориентированная парадигма программирования
- •15. Паттерны объектно-ориентированного анализа и проектирования, их классификация.
- •16. Модели представления данных, архитектура и основные функции субд.
- •17. Понятие распределенной системы. Требования к распределенным системам.
- •18. Внутренние и внешние характеристики качества по.
- •19. Методики повышения качества по и оценка их эффективности.
- •20. Стандарты ieee, связанные с качеством по. Закон контроля качества по.
- •21. Смм (модель зрелости процесса разработки по).
- •22. Метрики качества программного обеспечения.
- •23. Распределенные системы и базы данных.
- •24. Распределенные системы. Обмен сообщениями. Дальний вызов процедур. Распределенные события. Распределенные транзакции.
- •25. Принципиальные особенности и сравнительные характеристики файл-серверной, клиент-серверной и интернет технологий распределенной обработки данных.
- •Файл-сервер
- •Клиент-сервер
- •Терминал-сервер
- •Распределенная обработка данных
- •26. Реляционный подход к организации бд. Базисные средства манипулирования реляционными данными. Источник: http://ed.Tusur.Ru/lit/edu/db/04.Shtml
- •4.1. Базовые понятия реляционных баз данных
- •4.1.1. Тип данных
- •4.1.2. Домен
- •4.1.3. Схема отношения, схема базы данных
- •4.1.4. Кортеж, отношение
- •4.2. Фундаментальные свойства отношений
- •4.2.1. Отсутствие кортежей-дубликатов
- •4.2.2. Отсутствие упорядоченности кортежей
- •4.2.3. Отсутствие упорядоченности атрибутов
- •4.2.4. Атомарность значений атрибутов
- •4.3. Реляционная модель данных
- •4.3.1. Общая характеристика
- •4.3.2. Целостность сущности и ссылок
- •Источник: Основные понятия реляционных бд.Pdf
- •27. Методы проектирования реляционных баз данных (нормализация, er-диаграммы). Источник: https://habrahabr.Ru/post/254773/
- •Используемые термины
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Доменно-ключевая нормальная форма
- •Шестая нормальная форма
- •Источник: https://support.Microsoft.Com/ru-ru/help/283878/description-of-the-database-normalization-basics
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Другие нормальные формы
- •Пример нормализации таблицы
- •28. Стандартный язык баз данных sql. Введение
- •Описание
- •Операторы
- •Преимущества Независимость от конкретной субд
- •Наличие стандартов
- •Декларативность
- •Недостатки Несоответствие реляционной модели данных
- •Сложность
- •Отступления от стандартов
- •Сложность работы с иерархическими структурами
- •Расширения
- •29. Принципы функционирования Internet, типовые информационные объекты и ресурсы. Ключевые аспекты www-технологии.
- •30. Адресация в сети Internet. Методы и средства поиска информации в Internet, информационно-поисковые системы.
- •31. Назначение и принципы построения экспертных систем. Классификация экспертных систем.
Другие нормальные формы
Кроме описанных нормальных форм есть четвертая нормальная форма, которую также называют нормальной формой Бойса-Кодда (BCNF), и пятая нормальная форма, но на практике они используются редко. Несоблюдение этих правил может привести к ухудшению архитектуры базы данных, но на функциональности это сказаться не должно.
Пример нормализации таблицы
Ниже приведен пример нормализации таблицы с вымышленными данными о студентах.
Таблица до нормализации:
Student#
Advisor
Adv-Room
Class1
Class2
Class3
1022
Петров
412
101-07
143-01
159-02
4123
Иванов
216
201-01
211-02
214-01
Первая нормальная форма: устранение повторяющихся групп Таблицы должны иметь только два измерения. Так как один студент изучает несколько курсов, эти курсы следует указать в отдельной таблице. Наличие полей Class1, Class2 и Class3 в приведенных выше записях свидетельствует о неудачном проектировании таблицы. Электронные таблицы часто включают третье измерение, но в таблицах баз данных оно использоваться не должно. Рассмотреть эту проблему можно также с помощью отношения «один — множество», тогда совет можно сформулировать следующим образом: не включайте в одну таблицу элементы, представляющие обе стороны данного отношения. Вместо этого создайте другую таблицу в первой нормальной форме, устранив повторяющуюся группу (Class#):
Student#
Advisor
Adv-Room
Class#
1022
Петров
412
101-07
1022
Петров
412
143-01
1022
Петров
412
159-02
4123
Иванов
216
201-01
4123
Иванов
216
211-02
4123
Иванов
216
214-01
Вторая нормальная форма: устранение избыточных данных Обратите внимание на то, что в приведенной выше таблице каждое значение Student# сопоставлено с несколькими значениями Class#. Значения Class# функционально не зависят от значений Student# (первичный ключ), а это означает, что данное отношение не нормализовано до второй нормальной формы. Вторую нормальную форму представляют две следующих таблицы. Таблица Students:
Student#
Advisor
Adv-Room
1022
Петров
412
4123
Иванов
216
Таблица Registration:
Student#
Class#
1022
101-07
1022
143-01
1022
159-02
4123
201-01
4123
211-02
4123
214-01
Третья нормальная форма: устранение данных, не зависящих от ключа В последнем примере значения Adv-Room (номер кабинета научного руководителя) функционально зависят от атрибута Advisor. Решить эту проблему можно, переместив данный атрибут из таблицы Students в таблицу Faculty (факультет): Таблица Students:
Student#
Advisor
1022
Петров
4123
Иванов
Таблица Faculty:
Name |
Room |
Dept |
Петров |
412 |
42 |
Иванов |
216 |
42 |
ER-модель
ER-модель (от англ. entity-relationship model, модель «сущность — связь») — модель данных, позволяющая описывать концептуальные схемы предметной области.
ER-модель используется при высокоуровневом (концептуальном) проектировании баз данных. С её помощью можно выделить ключевые сущности и обозначить связи, которые могут устанавливаться между этими сущностями.
Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).
ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма «сущность-связь» (англ. entity-relationship diagram, ERD, ER-диаграмма).
Понятия «ER-модель» и «ER-диаграмма» часто не различают, хотя для визуализации ER-моделей могут быть использованы и другие графические нотации, либо визуализация может вообще не применяться (например, использоваться текстовое описание).
Модель была предложена в 1976 году Питером Ченом[1][2], им же предложена и самая популярная графическая нотация для модели.
Графические нотации (диаграммы)[править | править вики-текст]
Нотация Чэня[править | править вики-текст]
Простая ER-модель MMORPG с использованием нотации Чэня
Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение не является обязательным, то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.[3]
Crow’s Foot[править | править вики-текст]
Пример отношения между сущностями согласно нотации Crow’s Foot
Данная нотация была предложена Гордоном Эверестом (англ. Gordon Everest) под названием Inverted Arrow («перевёрнутая стрелка»), однако сейчас чаще называемая Crow’s Foot («воронья лапка») или Fork («вилка»)[4].
Согласно данной нотации, сущность изображается в виде прямоугольника, содержащего её имя, выражаемое существительным[5]. Имя сущности должно быть уникальным в рамках одной модели. При этом, имя сущности — это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.
Связь изображается линией, которая связывает две сущности, участвующие в отношении. Степень конца связи указывается графически, множественность связи изображается в виде «вилки» на конце связи. Модальность связи так же изображается графически — необязательность связи помечается кружком на конце связи. Именование обычно выражается одним глаголом[5] в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т. д.; или глаголом с поясняющими словами: «Включает в себя», и т. п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого — под линией. Каждое из названий располагаются рядом с сущностью, к которой оно относится.
Атрибуты сущности записываются внутри прямоугольника, изображающего сущность, и выражаются существительным в единственном числе (возможно, с уточняющими словами). Среди атрибутов выделяется ключ сущности — неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности.[5]
