
- •Оглавление
- •I. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации Литература
- •1.1. Основные понятия информатики
- •1.2. Информация. Информационные процессы
- •1.3. Свойства и виды информации
- •1.4. Измерение информации
- •Вероятностный подход
- •Объемный подход
- •1.5. Системы счисления
- •Правила перевода чисел из одной системы счисления в другую
- •1.6. Логические основы эвм
- •Контрольное задание
- •II. Технические средства реализации информационных процессов
- •2.1. История развития вычислительной техники
- •2.2. Архитектура эвм
- •Классическая архитектура эвм
- •Магистрально-модульная или шинная архитектура компьютера
- •2.3. Состав и назначение основных элементов персонального компьютера Базовая (типовая) конфигурация современного пк
- •Краткая характеристика устройств системного блока
- •2.3 Устройства ввода/вывода данных, их разновидности и основные характеристики Устройства ввода информации
- •Устройства вывода информации
- •Устройства вывода информации
- •Контрольное задание
- •III. Модели решения функциональных и вычислительных задач
- •1. Постановка задачи. Построение информационной модели
- •2. Формализация задачи
- •3. Построение алгоритма
- •4. Составление программы
- •5 Ввод программы в память компьютера. Пробный запуск
- •6. Отладка и тестирование программы
- •7. Получение и анализ результатов
- •IV. Алгоритмизация
- •4.1. Алгоритм и исполнитель
- •4.2. Свойства алгоритмов
- •4.4. Основные типы алгоритмов
- •Линейный тип алгоритмов
- •Разветвляющийся тип алгоритмов
- •Циклический тип алгоритмов
- •Подготовка цикла
- •V. Программирование
- •5.1. Общие понятия программирования
- •5.2. Трансляторы
- •5.3. Языки программирования
- •Поколения языков программирования
- •Обзор языков программирования высокого уровня
- •Классификация с точки зрения принципов программирования (Алексеев е.Г.)
- •5.4. Типы программирования Алгоритмическое (модульное) программирование
- •Структурное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Визуальное программирование
- •5.5. Программирование как вид деятельности
- •Методы маркетинга программного обеспечения
- •VI. Базы данных
- •6.1. Базы данных (бд), системы управления базами данных (субд)
- •6.2. Реляционные базы данных
- •Реляционные объекты данных
- •Проектирование реляционных баз данных
- •Связи в реляционных базах данных
- •Контрольное задание
- •VII. Программное обеспечение эвм
- •7.1. Основные понятия. Программный продукт
- •7.2. Общая классификация программного обеспечения эвм
- •7.3. Системное программное обеспечение
- •Базовое системное программное обеспечение
- •Операционная система
- •Сервисное системное программное обеспечение
- •7.4. Инструментарий технологии программирования
- •Средства для создания приложений
- •Case-технологии
- •7.5. Прикладное программное обеспечение
- •Ппп общего назначения
- •Ппп специального назначения
- •Вопросы для подготовки к контрольной работе № 4 (темы «Базы данных» и «по эвм»)
- •VIII. Компьютерные сети
- •8.1. Введение в компьютерные сети
- •8.2. Структура компьютерной сети
- •Сетевые средства и службы
- •Носители и устройства для передачи данных
- •Соединительное оборудование
- •Сетевые протоколы (tcp/ip)
- •8.3. Классификация компьютерных сетей
- •III. По физической топологии
- •8.4. Адресация в кс
- •IX. Основы защиты информации
- •9.1. Цели и направления защиты информации
- •9.2. Система безопасности информации
- •9.3. Основные методы защиты информации
- •Правовые методы защиты информации
- •Программные методы защиты информации
- •3) Программные или аппаратные барьеры (брендмауэры)
- •Контрольное задание
- •Вопросы к экзамену Теоретическая часть
- •Практическая часть
Проектирование реляционных баз данных
Проектирование связано с построением логической структуры БД. Иными словами, нужно решить вопрос, какие базовые таблицы, с какими полями следует задать. Суть этой проблемы сводится, в конечном счете, к нормализации отношений. Нормализация отношений основана на понятии функциональной зависимости.
Процесс нормализации отношений основан на концепции нормальных форм.
Говорят, что отношение находится в некоторой нормальной форме (НФ), если оно удовлетворяет заданному набору условий.
Известно несколько НФ: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ). Причем все условия, необходимые для некоторой НФ, должны выполняться и для всех последующих НФ.
Возникает вопрос, можно ли продолжить нормализацию дальше, получить 6-ю, 7-ю и т. д. НФ? Действительно, существуют дополнительные НФ, но 5НФ считается во многих смыслах окончательной. А для практического проектирования достаточной считают 3НФ. Поэтому рассмотрим только три первые нормальные формы.
Отношение находится в 1НФ тогда и только тогда, когда значения всех полей неделимы.
Например, в отношении Студентыне должно быть поляДисциплины, так как его значением будет перечисление всех изучаемых студентом дисциплин, т.е. значение делимо.
Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждое неключевое поле зависит от всего первичного ключа.
Например, рассмотрим отношение Успеваемость(НомерЗачетнойКнижки,Фамилия,Имя,Отчество,Дисциплина,Оценка).
Если первичным ключом здесь назначить НомерЗачетнойКнижки, то от него не будет зависеть полеДисциплина. В этом случае отношение не находится во 2НФ.
Можно тогда в качестве первичного ключа взять множество полей {НомерЗачетнойКнижки,Дисциплина}. От такого ключа зависят все поля, но поляФамилия,Имя,Отчествозависят только от поля НомерЗачетнойКнижки.
И при таком первичном ключе отношение не находится во 2НФ.
Чтобы получить отношения во 2НФ, произведем разбиение на два отношения:
Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество)
Успеваемость1 (НомерЗачетнойКнижки, Дисциплина, Оценка).
Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и каждое неключевое поле напрямую зависит от первичного ключа.
Например, рассмотрим отношение Студенты(НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Группа,Специальность). Тогда получается, что полеСпециальность зависит от первичного ключа не напрямую, а через поле Группа.
Проведем разбиение на два отношения:
Группы (КодГруппы, Специальность) и
Студенты1(НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы)
Полученные отношения в 3НФ.
Если отношение не находится ни во 2НФ, ни в 3НФ, существует избыточность, которая приводит к нарушению целостности данных.
Связи в реляционных базах данных
В БД отношения могут быть связаны друг с другом. Например, в БД ФакультетотношениеСтуденты(НомерЗачетнойКнижки,Фамилия,Имя,Отчество,КодГруппы) связано с отношениемГруппы(КодГруппы,Специальность,Курс). Значение поляКодГруппыв отношенииСтудентыдопустимо только в том случае, если такое значение имеется в качестве значения первичного ключа отношенияГруппы. В этом случае полеКодГруппыв отношенииСтудентыявляетсявнешним ключом, ссылающимся на первичный ключ –КодГруппыотношенияГруппы(см. рис. 14).
Значение внешнего ключа является ссылкойк записи, содержащей соответствующее значение первичного ключа. Отношение, содержащее внешний ключ, называется ссылающимся (подчиненным), а отношение, содержащее объект ссылки (первичный ключ) – ссылочным (главным).
Внешние
ключи реализуют следующие три типа
связей между двумя отношениями.
Один-к-одному: каждой записи первого отношения соответствует не более одной записи второго отношения, а каждой записи второго отношения – не более одной записи первого отношения. Например – см. рис. 15.
Один-ко-многим: каждой записи ссылочного (главного) отношения соответствует ноль, одна или несколько записей ссылающегося (подчиненного) отношения, а каждой записи ссылающегося (подчиненного) отношения соответствует только одна запись ссылочного (главного) отношения. Пример – см. рис. 14.
Многие-ко-многим: каждой записи первого отношения соответствует ноль, одна или несколько записей второго отношения, и каждой записи второго отношения соответствует ноль, одна или несколько записей первого отношения. В реляционной модели данных такая связь напрямую не реализуется – она может быть смоделирована разбиением на две связи типа один-ко-многим: вводится дополнительное отношение, в качестве полей которого задаются первичные ключи связываемых отношений. Причем в этом дополнительном отношении первичный ключ будет составным, включающим оба первичных ключа. Пример – см. рис. 16.