Системы управления базами данных

Ответы 2016-2017.

Программирование на языках высокого уровня

 

Операторы языка Си

-Арифметические операторы

-Операторы сравнения

-Логические операторы

Логическое отрицание, НЕ !a

Логическое умножение, И a && b

Логическое сложение, ИЛИ a || b

-Побитовые операторы

Побитовая инверсия ~a

Побитовое И a & b

Побитовое ИЛИ (or) a | b

Побитовое исключающее ИЛИ (xor) a ^ b

Побитовый сдвиг влево a << b

Побитовый сдвиг вправо a >> b

-Составное присваивание

 

-Операторы работы с указателями и членами класса

Обращение к элементу массива a[b]

Непрямое обращение («объект, на который указывает a») *a

Ссылка («адрес a») &a

Обращение к члену структуры («член b объекта, на который указывает a») a->b

Обращение к члену структуры («член b объекта a») a.b

Член, на который указывает b в объекте, на который указывает a a->*b

Член, на который указывает b в объекте a a.*b

 

Структура программы на языке Си

Программа на языке Си состоит из одной или более подпрограмм, называемых функциями.

Основным блоком - главная функция, с именем main().

Каждое действие в языке Си заканчивается символом "точка с запятой".

 

Функции стандартной библиотеки языка Си

Стандартной библиотекой языка Си - часть стандарта ANSI C, посвященная заголовочным файлам и библиотечным подпрограммам. Является описанием реализации общих операций, таких как обработка ввода-вывода и строк, в языке программирования Си. Стандартная библиотека языка Си — это описание программного интерфейса, а не настоящая библиотека, пригодная для использования в процессе компиляции.

 

Доступ к параметрам командной строки в языке Си

 

Директивы препроцессора языка Си

Работа препроцессора осуществляется с помощью специальных директив (указаний). Они отмечаются знаком решетка #.

Основные директивы препроцессора

#include — вставляет текст из указанного файла. Если файл является стандартной библиотекой и находится в папке компилятора, он заключается в угловые скобки. Если файл находится в текущем каталоге проекта, он указывается в кавычках. Для файла, находящегося в другом каталоге необходимо в кавычках указать полный путь.

#define — задаёт макроопределение (макрос) или символическую константу

#undef — отменяет предыдущее определение

 

Язык Ассемблера

Основные команды языка Ассемблера ПЭВМ IBM PC

 

add приёмник, источник выполняет сложение приёмника и источника, результат заносится в приёмник. Источник не изменяется. Но зато меняются флаги
mov приёмник, источник команда пересылки данных. Копирует содержимое источника в приёмник, источник не изменяется.
sub приёмник, источник вычитает источник из приёмника, результат заносит в приёмник
and|or приёмник, источник выполняет логическое побитовое И|ИЛИ над приёмником и источником, и помещает результат в приёмник. Часто используется для выборочного обнуления|объединичивания отдельных битов
xor приёмник, источник логическое исключающее ИЛИ. Выполняет побитое логическое исключающее ИЛИ над приёмником и источником, результат заносится в приёмник.
cmp операнд1, операнд2 по сути вычитание операнда2 из операнда1, только операнды не меняется (команда меняет только флаги). С помощью этой команды обычно выполняются условные переходы
mul источник беззнаковое умножениие
div источник беззнаковое деление
jmp метка безусловный переход на метку
ret|(ret число) выход из процедуры. Если число указано, то после считывания адреса возврата из стека будет удалено указанное число байтов. Указывается именно число, а не регистр.
loop метка цикл. Уменьшает регистр ecx на 1 и выполняет переход типа short (не дальше, чем на 127 байт) на метку, если ecx<>0.

 

Структура записи команд в программе на языке Ассемблера

 

 

Базы данных

Данные

 

Проектирование баз данных

Проектирование баз данных — процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи:

-Обеспечение хранения в БД всей необходимой информации.

-Обеспечение возможности получения данных по всем необходимым запросам.

-Сокращение избыточности и дублирования данных.

-Обеспечение целостности базы данных.

Основные этапы проектирования баз данных

-Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных.

Чаще всего концептуальная модель базы данных включает в себя:

описание информационных объектов или понятий предметной области и связей между ними.

описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.

-Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.

-Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п

 

Модели данных

-Иерархическая модель

Недостатки:

--реализует отношения между исходными и дочерними записями по отношению 1:N (отношение n:m не работает)

-- дублирование информации

Реализует:

--добавление новой записи (для ключевой записи обязательно формирование ключа)

--удаление записи (если корневая удаляются и все ей подчиненные записи )

--если корневая то извлечь запись в порядке левостороннего обхода дерева

-Сетевая модель

Каждый экземпляр группового отношения характеризуется:

--Способ упорядочивания подчиненных записей (произвольный, хронологический, обратнохронологический, сортированный)

--Режим включения подчинённых записей (автоматический – не возможно занести запись если она не включена в групп отношение; ручной –позволяет записать запись в БД и не скоро включить ее в групп отношение)

--Режимы класса членства (фиксированная – подчин запись жестко связана с записью владельца. При исключении идет удаление записи из групп отношения; обязательное членство – допускается переключение записи на другого владельца, для удалении записи она не должна иметь подчиненных записей с фиксированным членством; не обязательное – можно искл запись из групп отношения но сохранить ее в БД не переключаясь к другому владельцу )

Операции над данными:

--добавление

--вкл в групп отношение, соотнести запись с записью владельца

--переключить, связать с подчиненной записью

--обновить, извлечь значение эл-тов в предворительно извлеч запись

--извлечь – извлекается последовательное по значению ключа используя групп отношения

-- удалить – убрать запись из БД

-- иск из групп отношения иск связь между записью и владельцем

Реляционная модель

Увеличение уровня абстракционных данных, представление не зависит от физич организации – использование матем теории отношений

 

Системы управления базами данных

 

Реляционная алгебра

-Переименование

-Объединение

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям.

-Пересечение

Отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B.

-Вычитание

Отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B.

-Декартово произведение

-Выборка

-Проекция

При выполнении проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

-Соединение

-Деление

Операционные системы