25. Алгоритм нормализации
Шаг 1 (Приведение к 1НФ). На первом шаге задается одно или несколько отношений, которые отображают понятие предметной области. За модели предметной области (не по внешнему виду полученных отношений!) Выписываются обнаруженные функциональные зависимости. Все отношения автоматически находятся в 1НФ.
Шаг 2 (Приведение к 2НФ). Если в некоторых отношениях обнаруженная зависимость атрибутов от части сложного ключа, то проводим декомпозицию этих отношений на несколько отношений следующим образом: те атрибуты, которые зависят от части сложного ключа выносятся в отдельное отношение вместе с этой частью ключа. В исходном отношении остаются все ключевые атрибуты.
Шаг 3 (Приведение к 3НФ). Если в некоторых отношениях обнаруженная зависимость некоторых неключевых атрибутов других неключевых атрибутов, то проводим декомпозицию этих отношений следующим образом: те неключевые атрибуты, которые зависят других неключевых атрибутов выносятся в отдельное отношение.В новом отношении ключом становится детерминант функциональной зависимости.
Замечание. На практике, при создании логической модели данных, как правило, не идут прямо к приведенному алгоритму нормализации. Опытные разработчики обычно сразу строят отношения в 3НФ. Кроме того, основным средством разработки логических моделей данных являются разные варианты ER -діаграм.Особенность этих диаграмм в том, что они сразу позволяют создавать отношения в 3НФ. Тем не менее приведенный алгоритм важен по двум причинам. Во-первых, этот алгоритм показывает, какие проблемы возникают при разработке слабо нормализованных отношений.
Во-вторых, как правило, модели предметной области никогда не бывает правильно разработанная из первого шага. Эксперты предметной области могут забыть о чем-либо вспомнить, разработчик может неправильно понять эксперта, во время разработки могут измениться правила, принятые в предметной области, и так далее. Все это может привести к появлению новых зависимостей, которые отсутствовали в первичной модели предметной области.
Здесь как раз и необходимо использовать алгоритм нормализации хотя бы для того, чтобы убедиться, что отношения остались в 3НФ и логическая модель не ухудшилась.
26. Организация запросов в базах данных. Языки QBE и SQL
Хранимые в базе данные можно обрабатывать вручную, последовательно просматривая и редактируя данные в таблицах с помощью имеющихся в СУБД средств. Для повышения эффективности обработки данных применяют запросы, позволяющие производить множественную обработку данных, т, е. одновременно вводить, редактировать и удалять множество записей, а также выбирать данные из таблиц.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов:
· QBE (Query By Example) — язык запросов по образцу;
· SQL (Structured Query Language) — структурированный язык запросов.
SQL - это язык, который дает возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах. Он устраняет много работы, которую вы должны были бы сделать если бы вы использовали универсальный язык программирования.
Стандарт SQL определяется ANSI (American National Standard Institute -Американским Национальным Институтом Стандартов.
Имеются два SQL: Интерактивный (Interactive) и Встроенный (Embedded). Большей частью, обе формы работают одинаково, но используются различно.
Интерактивный SQL используется для функционирования непосредственно в базе данных, чтобы производить вывод для использования его заказчиком. В этой форме SQL, когда вы введете команду, она сейчас же выполнится, и вы сможете увидеть вывод (если он вообще получится) — немедленно.
Встроенный SQL состоит из команд SQL, помещенных внутри программ, которые обычно написаны на некотором другом языке. Это делает эти программы более мощными и эффективным.
И в интерактивной, и во встроенной формах SQL, имеются многочисленные части, или подразделы. Они являются составными частями SQL в ANSI. Это не различные языки, а разделы команд SQL, сгруппированных по их функциям
Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы (иногда также используют термин QBЕ – запрос по форме).
Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции - достаточно описать образец ожидаемого результата.
В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
На яыке QBE можно задавать однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц)
запросы.
С помощью запросов на языке QBE можно выполнять следующие основные операции:
· выборку данных;
· вычисление над данными;
· вставку новых записей;
· удаление записей;
· модификацию (изменение) данных.
Результатом выполнения запроса является новая таблица, называемая ответной (первые две операции), или обновленная исходная таблица (остальные операции). В реальных приложениях баз данных QBE используется в основном для выборки данных.
Выборка, вставка, удаление и модификация могут производиться безусловно или в соответствии с условиями, задаваемыми с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые поля,называемые вычисляемыми.
Запросная форма обычно имеет вид таблицы, имя и названия полей которой совпадают с именем и названиями полей соответствующей исходной
таблицы. Чтобы узнать имена доступных таблиц БД, в языке QBE предусмотрен запрос на выборку имен таблиц. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку заголовков столбцов.
В современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто «протаскиванием» мышью поля одной таблицы к полю другой.
По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Более того, на практике запрос, составленный на QBE, обычно транслируется в SQL – запрос и лишь затем выполняется.
Главное отличие между данными языками заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.
- 1. Способы кодировки информации в сетях эвм
- 2. Топология построения сетей.
- 3. Структура домену.
- Адресация узлов в сети (аппаратные, символьные и др. Адреса)
- Оборудование сети
- Протокол tcp, назначение и реализация
- Протокол ip и его основные функции
- Протокол arp
- Классы ip-адрес
- Принцип эталонной модели osi
- Принцип построения ip –адреса
- Основные уровни модели osi
- Понятие о протоколе и стеку протоколов.
- Настройка пк для работы в сети
- Стек tcp / ip.
- Основные этапы разработки баз данных
- 17. Инфологичная модель данных ("сущность-связь").
- 18. Общие понятия реляционного подхода к организации бд
- 19. Архитектура банка данных и три типа моделей.
- 20. Реляционная модель данных. Принципиальные отличия иерархической и сетевой моделей данных.
- 21. Логическая и физическая модели данных.
- 22. Базовые понятия реляционных баз данных. Правила Кодда.
- 23. Схема отношения, схема базы данных, типы связей
- 24. Проектирование реляционных баз данных с использованием нормализации. Нормальные формы
- 25. Алгоритм нормализации
- 27. Основные структурные элементы бд ms Access : таблицы, запить, формы, отчеты, макросы, модули.
- 28. Работа с запросами в субд Access. Создание запроса-выборки. Создание итогового запроса. Групповые операции. Расчеты в запитые с помощью выражений.
- 29. Работа с запросами в субд Access. Запить в режиме sql.
- Insert into таблица select ...;
- 30. Работа с формами в субд Access. Создание форм, элементов управления и элементов макета. Свойства формы. Свойства элемента управления.
- 31. Использование Visual Basic For Application. Создание процедур обработки событий.
- 32. Разработка отчетов в субд Access. Группирование и сортировка записей. Расчеты в отчете.
- 33. Создание главной кнопочной формы. Налаживание параметров запуска
- 34. Макросы и модули в ms Access.
- 35. Запись sql –операторов.
- 36. Создание простых запросов языком sql
- 37. Группирование результатов средствами языка sql.
- 38. Создание много табличных запросов средствами языка sql.
- 39. Изменение содержимого базы данных средствами языка sql.
- 40. Идентификаторы языка sql
- 41. Создание баз данных средствами языка sql.
- 42. Технологичность программного обеспечения. Модули. Требования к модулям.
- 43. Разработка программного обеспечения (восходящая и нисходящая).
- 44. Средства описания структурных алгоритмов.
- 45. Эффективность. Уменьшение времени выполнения программы.
- 46. Программирование "с защитой от ошибок".
- 47. Блочно-иерархический подход к созданию сложных систем.
- 48. Жизненный цикл и этапы разработки программного обеспечения.
- 49. Модели (каскадная, спиральная) жизненного цикла программного обеспечения.
- 50. Управление программным проектом (начало, измерение, оценка, риски, планирования, трассировки, контроль).
- 51. Планирование проектных задач.
- 52. Размерно-ориентированные метрики
- 53. Функционально-ориентированные метрики.
- 54. Классические методы анализа. Структурный анализ. Анализ, который ориентируется на структуры данных.
- 56. Модульность. Информационная закрытость. Связность модуля.
- 57. Сложность программной системы.
- 58. Структурное тестирование программного обеспечения
- 59. Функциональное тестирование программного обеспечения
- 60. Технология разработки объектно-ориентированных программных систем
- Дистанционное образование: особенности, принципы, методы, организационные формы, программное обеспечение.
- Возможности использования компьютерных сетей в учебно-воспитательном процессе.
- 5. Контроль в учебно-воспитательном процессе. Автоматизация контроля. Психолого-педагогическая диагностика на основе компьютерного тестирования.
- 6. Стандарты электронной учебы
- 7. Цели и задачи преподавания информатики в средней школе
- 8. Содержание I структура школьного курса информатики. Действующие программы курса информатики.
- 9.Допрофильная подготовка по информатике
- 10. Критерии оценивания знаний и умений учеников из школьного курса информатики.
- 11. Курсы по выбору для профильной учебы информатики.
- 12. Технологическая учеба информатики : понятие информационно-технологических знаний, умений, навыков.
- 13. Методические подходы к технологической учебе информатики.
- 14. Организация дополнительных внеурочных форм учебы информатики в школе: кружки, факультативы, олимпиады.
- 15. Специфика урока информатики. Подготовка учителя к уроку. Организация I проведения разных типов урока из информатики.
- 16. Учебно-методическое и программное обеспечение школьного курса информатики. Классификация педагогических программных средств. Приблизительный состав программного обеспечения
- Раздел 1: 1) Алгоритм и алгоритмический язык, 2) Построение алгоритма для решения задач.
- Раздел 2:1) Устройство эвм, 2) Знакомство с программированием, 3) Роль эвм в современном обществе перспективы развития вычислительной техники.
- Часть 1 - персональный компьютер(история создания, устройство, операционная система, графический редактор, текстовый редактор, архивация, вирусы, электронные таблицы, субд, сети).
- Часть 2 - Основы алгоритмизации и программирования.
- Методические особенности учебных пособий из курса информатики.
- 9 Класс