- •Оглавление
- •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) Программные или аппаратные барьеры (брендмауэры)
- •Вопросы для подготовки к контрольной работе № 5 (темы «Компьютерные сети» и «Основы защиты информации»)
6.2. Реляционные базы данных
Любая модель данных, в том числе и реляционная, включает три взаимосвязанные составляющие, которые кратко можно назвать объекты (структурная составляющая), целостность данных (целостная составляющая) и операторы (манипуляционная составляющая).
Реляционные объекты данных
Существует специальная терминология, принятая в теории реляционных БД (рис. 13).
-
№
Фамилия
Имя
Отчество
Адрес
Телефон
1
Иванов
Иван
Иванович
Ленина,12-4
22-22-22
2
Петров
Петр
Петрович
Свободы,2-9
33-33-33
3
Андреев
Андрей
Андреевич
Грина,34-18
44-44-44
…
Отношениемназывается вся таблица, отвечающая определенным свойствам (о которых более подробно – ниже).
Отношение характеризуется следующими понятиями:
Поле (атрибут)соответствует столбцу этой таблицы, а именно – свойствам объектов, сведения о которых хранятся в ней.
Степень отношения– количество полей отношения.
Запись (кортеж)соответствует заполненной строке таблицы.
Кардинальное число– количество записей в отношении в текущий момент времени.
Первичный ключ– это поле (или множество полей), значения которого уникально идентифицируют записи. Значения элементов первичного ключа не должны быть пустыми. Первичный ключ не должен быть избыточен.
Например, если надо в таблицу поместить сведения о студентах, то первичным ключом может быть полеНомерЗачетнойКнижки или НомерСтуденческогоБилета, но не оба вместе.
Домен– это общая совокупность значений, из которой берутся значения для конкретного поля. На практике домены часто не описывают явно, а задают типом, форматом и другими свойствами полей. Каждое поле должно быть определено на единственном домене.
Для всех отношений должны выполняться следующие свойства.
Нет одинаковых записей.
Следствие этого свойства: в отношении всегда существует первичный ключ.
Записи неупорядочены.
Поля не упорядочены.
Все значения полей неделимы.
Для обозначения таблицы (отношения) и его полей условимся использовать следующую запись:
ИмяТаблицы(ИмяПоля1,ИмяПоля2, …,ИмяПоляN),
где будем подчеркивать поля, входящие в первичный ключ, и где N– степень таблицы (отношения).
Проектирование реляционных баз данных
Проектирование связано с построением логической структуры БД. Иными словами, нужно решить вопрос, какие базовые таблицы, с какими полями следует задать. Суть этой проблемы сводится, в конечном счете, к нормализации отношений. Нормализация отношений основана на понятии функциональной зависимости.
Процесс нормализации отношений основан на концепции нормальных форм.
Говорят, что отношение находится в некоторой нормальной форме (НФ), если оно удовлетворяет заданному набору условий.
Известно несколько НФ: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ). Причем все условия, необходимые для некоторой НФ, должны выполняться и для всех последующих НФ.
Возникает вопрос, можно ли продолжить нормализацию дальше, получить 6-ю, 7-ю и т. д. НФ? Действительно, существуют дополнительные НФ, но 5НФ считается во многих смыслах окончательной. А для практического проектирования достаточной считают 3НФ. Поэтому рассмотрим только три первые нормальные формы.
Отношение находится в 1НФ тогда и только тогда, когда значения всех полей неделимы.
Например, в отношении Студентыне должно быть поляДисциплины, так как его значением будет перечисление всех изучаемых студентом дисциплин, т.е. значение делимо.
Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждое неключевое поле зависит от всего первичного ключа.
Например, рассмотрим отношение Успеваемость(НомерЗачетнойКнижки,Фамилия,Имя,Отчество,Дисциплина,Оценка).
Если первичным ключом здесь назначить НомерЗачетнойКнижки, то от него не будет зависеть полеДисциплина. В этом случае отношение не находится во 2НФ.
Можно тогда в качестве первичного ключа взять множество полей {НомерЗачетнойКнижки,Дисциплина}. От такого ключа зависят все поля, но поляФамилия,Имя,Отчествозависят только от поля НомерЗачетнойКнижки.
И при таком первичном ключе отношение не находится во 2НФ.
Чтобы получить отношения во 2НФ, произведем разбиение на два отношения:
Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество)
Успеваемость1 (НомерЗачетнойКнижки, Дисциплина, Оценка).
Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и каждое неключевое поле напрямую зависит от первичного ключа.
Например, рассмотрим отношение Студенты(НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Группа,Специальность). Тогда получается, что полеСпециальность зависит от первичного ключа не напрямую, а через поле Группа.
Проведем разбиение на два отношения:
Группы (КодГруппы, Специальность) и
Студенты1(НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы)
Полученные отношения в 3НФ.
Если отношение не находится ни во 2НФ, ни в 3НФ, существует избыточность, которая приводит к нарушению целостности данных.