- •Котов владислав викторович доцент, профессор кафедры робототехники и автоматизации производства, доктор технических наук
- •1.Введение в информатику
- •1.1.История развития информатики
- •1.2. Структура курса. Рекомендуемая литература
- •1.3.История развития вычислительной техники
- •2.Понятие информации
- •2.1.Информация и её свойства
- •2.2.Дискретный источник информации
- •2.3.Мера информации по Хартли
- •2.4.Мера информации по Шеннону
- •3. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- •3.1.Процессы сбора, передачи, обработки и накопления информации
- •3.2.Этапы обращения информации в информационно-измерительных и управляющих системах
- •4.Технические средства реализации информационных процессов
- •4.1.Структура персонального компьютера
- •4.2.Периферийное оборудование персонального компьютера
- •5.Программные средства реализации информационных процессов
- •5.1.Виды программного обеспечения
- •5.2.Операционные системы. Организация и средства человеко-машинного интерфейса в ос Windows
- •5.3.Прикладное программное обеспечение
- •6.Способы представления и хранения текстовой и числовой информации
- •6.1.Хранение информации в компьютере. Кодирование символьных данных. Кодовые таблицы ascii, ansi, koi-8
- •6.2.Знаковые и позиционные системы счисления. Правила перевода чисел из одной системы счисления в другую
- •6.3.Основные арифметические операции в двоичной системе
- •6.4.Булева алгебра. Основные операции и правила булевой алгебры
- •7.Алгоритмизация и программирование
- •7.1.Понятие алгоритма
- •7.2.Основные условные элементы для создания схем алгоритмов
- •7.3.Примеры простейших алгоритмов
- •8.Языки программирования высокого уровня. Основы языка Паскаль
- •8.1.Языки программирования высокого уровня
- •8.2.Запись программы на Паскале
- •8.3.Основные типы данных в Паскале
- •8.4.Структура Паскаль-программы
- •9.Оператор присваивания. Ввод-вывод в программах на Паскале
- •9.1.Оператор присваивания. Запись арифметических выражений
- •9.2.Процедуры ввода данных с клавиатуры
- •9.3.Процедуры вывода данных на экран
- •Условный оператор
- •9.4.Алгоритмы с ветвлением
- •9.5.Структура и синтаксис условного оператора
- •9.6.Задание логических выражений для передачи управления
- •9.7.Составные условия с использованием логических операторов
- •Операторы циклов с неопределённым числом повторений
- •9.8.Назначение операторов циклов. Циклы с пред- и постусловием
- •9.9.Структура и синтаксис оператора while
- •9.10.Структура и синтаксис оператора repeat … until
- •Оператор цикла с параметром
- •9.11.Цикл с параметром. Структура и синтаксис оператора for
- •9.12.Примеры программирования итерационных алгоритмов
- •Диапазонный тип данных. Массивы
- •9.13.Диапазонные типы данных
- •9.14.Массивы. Описание и использование массивов
- •Процедуры и функции
- •9.15.Структурный подход к разработке программы. Подпрограммы
- •9.16.Понятие подпрограммы, виды подпрограмм в Паскале.
- •9.17.Синтаксис объявления и использования процедур
- •9.18.Синтаксис объявления и использования функций
- •9.19.Примеры использования подпрограмм на Паскале
- •9.20.Параметры-значения и параметры-переменные
- •Строковый тип данных
- •9.21.Общие сведения о работе со строками символов
- •9.22.Процедуры и функции обработки строк
- •Работа с файлами
- •9.23.Понятие файла. Типы файлов в Паскале
- •9.24.Инициализация файловых переменных
- •9.25.Процедуры открытия файлов
- •9.26.Ввод-вывод данных в файл и общие подпрограммы для работы
- •Работа с графикой
- •9.27.Графический и текстовый режимы работы видеоадаптера
- •9.28.Инициализация графического режима
- •9.29.Основные средства библиотеки Graph для работы с графикой
- •Программное обеспечение и технологии программирования
- •9.30.Технология структурного программирования
- •9.31.Принципы проектирования программ «сверху-вниз» и «снизу-вверх»
- •9.32.Модульный принцип программирования
- •9.33.Технология объектно-ориентированного программирования
- •9.34.Основные критерии оценки качества программ
- •Базы данных
- •9.35.Общее представление о базах данных
- •9.36.Основные понятия систем управления базами данных
- •9.36.1.Классификация субд
- •9.36.2.Основные функции субд
- •9.37.Уровни представления данных
- •9.38.Основные модели данных
- •9.38.1.Понятие модели данных
- •9.38.2.Типы структур данных
- •9.38.3.Сетевая модель данных (смд)
- •9.38.4.Иерархическая модель данных (имд)
- •9.39.Реляционные базы данных
- •Домен 1 . . .. . Домен 2 . . . . . . . . .Домен 3 (ключ) . . . .Домен 4 . . . ..Домен 5
- •9.39.1.Достоинства и недостатки рмд
- •9.39.2.Операции реляционной алгебры
- •Локальные и глобальные сети эвм
- •9.40.Понятие о сетях эвм
- •9.41.Классификация сетей: локальные и глобальные сети эвм
- •9.42.Понятие топологии. Виды сетевых топологий
- •9.44.Основы защиты информации и сведений, составляющих государственную тайну
- •9.45.Организационные методы защиты информации
- •9.43.Информационные технологии, основанные на сетях
- •Методы защиты информации
- •9.46.Криптографическая защита информации
- •Экономические и правовые аспекты информационных технологий
- •9.47.Система стандартов на программную документацию
- •9.48.Виды программ и программных документов
- •9.49.Основные стадии и этапы разработки программ и программной документации
9.39.Реляционные базы данных
Реляционная модель данных (РМД) была предложена математиком Э.Ф. Коддом (Codd E.F.) в 1970 г. РМД является наиболее широко распространенной моделью данных и единственной из трех основных моделей данных, для которой разработан теоретический базис с использованием теории множеств.
В основе РМД лежит понятие отношения, представляющего собой подмножество декартова произведения доменов. Домен — это множество значений, которое может принимать элемент (например, множество целых чисел, множество комбинаций символов длиной N и т.п.).
Пусть D1, D2 ,…, Dk – произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:
Таким образом, декартово произведение позволяет получить все возможные комбинации элементов исходных множеств.
Пример. Для доменов D1 = (1,2), D2 = (A,B,C) декартово произведение D будет таким:
D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.
Подмножество декартова произведения доменов называется отношением.
Элементы отношения называют кортежами. Элементы кортежа принято называть атрибутами. Количество атрибутов кортежа определяет арность отношения. Отношения арности 1 называют унарными, арности 2 – бинарными, арности n – n-арными.
Отношение содержит информацию о сущностях одного типа. Каждый кортеж отношения соответствует одному экземпляру сущности.
Отношение обладает двумя основными свойствами:
1. В отношении не должно быть одинаковых кортежей, т.к. это множество.
2. Порядок кортежей в отношении несущественен.
Отношение удобно представлять как таблицу, где строка является кортежем, столбец соответствует домену (рис. 7, отношение СТУДЕНТЫ).
Домен 1 . . .. . Домен 2 . . . . . . . . .Домен 3 (ключ) . . . .Домен 4 . . . ..Домен 5
Группа |
ФИО студента |
Номер зачётной книжки |
Год рождения |
Стипендия |
С–72 |
Волкова Елена Павловна |
С-12298 |
1981 |
566.40 |
С–91 |
Белов Сергей Юрьевич |
С-12299 |
1980 |
400.00 |
. . . |
||||
С–72 |
Фролов Юрий Вадимович |
С-14407 |
1981 |
0 |
Рис.7. Пример табличной формы представления отношения
Отношение имеет имя, которое отличает его от имён всех других отношений. Атрибутам реляционного отношения назначаются имена, уникальные в рамках отношения. Обращение к отношению происходит по его имени, а обращение к атрибуту – по имени отношения и имени атрибута.
Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефона). Домен задаётся типом данных и ограничениями целостности, например, оклад – это число больше нуля. Значение атрибута может быть не определено в момент внесения записи в БД. Для таких случаев предусмотрено специальное значение – null, которое можно интерпретировать как «неизвестное значение».
Ключ отношения — это атрибут, значения которого идентифицируют кортеж. Таким образом, ключ имеет уникальные в рамках отношения значения. Если ключ состоит из нескольких атрибутов, он называется составным. Ключей может быть несколько; основной ключ — первичный, его значения не могут обновляться. Другие ключи называются возможными или потенциальными ключами.
РМД не поддерживает групповые отношения. Для связей между отношениями используются внешние ключи. Внешний ключ – это атрибут подчиненного отношения, который является копией первичного (или уникального) ключа родительского отношения. (Пример – отношение ДЕТИ, связанное с отношением СТУДЕНТЫ по внешнему ключу Номер зачётной книжки, рис. 8). Фактически, внешние ключи логически связывают экземпляры сущностей разных типов между собой. Т.о., внешний ключ можно трактовать как ограничение целостности на две таблицы, в соответствии с которым множество значений внешнего ключа является подмножеством значений ключа родительской таблицы. Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).
Номер зачётной книжки |
Имя, отчество ребенка |
Дата рождения |
С-12298 |
Антон Павлович |
01.12.01 |
С-12298 |
Юлия Павловна |
01.12.01 |
С-12299 |
Ольга Сергеевна |
16.04.02 |
Рис. 8. Связь отношений «Студенты» и «Дети» по внешнему ключу
Перечень атрибутов отношения с их типами данных и размерами определяют схему отношения. Отношения, построенные по одинаковой схеме, называют односхемными; по различным схемам – разносхемными.
Все операции над данными в РМД выполняются над отношением и требуют задания имени отношения. Если операция применяется к части отношения, то может потребоваться идентификация кортежа или группы кортежей и задания имён атрибутов. В РМД используются следующие операции над данными:
запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа);
обновить: модификация данных – изменение значений отдельных атрибутов кортежей;
извлечь: чтение данных;
удалить: физическое или логическое удаление данных (кортежа или группы кортежей).
Структуризация данных в РМД существенно отличается от структуризации данных по версии CODASYL. В таблице 2.1. приведено соответствие этих двух вариантов структуризации.
Таблица 1. Сравнение структуризации данных в РМД и по версии CODASYL
Термины версии CODASYL |
Термины (и синонимы) РМД |
Элемент данных |
Атрибут (поле) |
Агрегат |
- |
Запись (группа) |
Кортеж (запись, строка) |
Совокупность записей одного типа |
Отношение (таблица) |
Набор (групповое отношение) |
- |
База данных |
База данных |
