13. Взаимосвязь в моделях данных и реляционный подход к построению модели.
Все объекты связаны между собой. Различаются связи нескольких типов: один к одному (1:1); один ко многим (1:М); многие ко многим (М:М); многие к одному.
| 14. Информационная модель и ее основные элементы.
| 15. Понятие ключа. Виды ключей и их назначение.
Ключ – это столбец или несколько столбцов, позволяющий установить связь с записями в другой таблице. Виды ключей: первичные и вторичные (или внешние). Первичный ключ – это одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах. Внешний (вторичный) ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц. Существует три типа первичных ключей: ключевые поля счетчика (счетчик), простой ключ и составной ключ. Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение. Простой ключ. Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как первичный ключ. В качестве ключа можно определить любое поле, содержащее данные, если это поле не содержит повторяющиеся значения или значения Null. Составной ключ. В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц многие - ко - многим. В поле первичного ключа должны быть только уникальные значения в каждой строке таблицы, т.е. совпадение не допускается, а в поле вторичного или внешнего ключа совпадение значений в строках таблицы допускается.
| 16. Реляционный подход к построенной модели. Свойства и требования реляционной модели.
|
17. Взаимосвязь в моделях СУБД и их типы.
| 18. Нормализация отношений в реляционной БД. Формы нормализации.
Нормализация - это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации.
Каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение (т. е в одной ячейке находится одно значение: в текстовом - текст, в числовом только одно число, а не группа чисел перечисленных через запятую), и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной. Фактически, ненормализованные таблицы, т.е. таблицы, содержащие повторяющиеся группы, даже не допускаются в реляционной БД. Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме, сокращенно 1НФ.
1.Таблица находится в 1НФ, если все данные, содержащееся в таблице атомарны (неделимы).
2.Таблица находится во 2НФ, если она находится в 1НФ и каждый неключевой столбец полностью зависит от первичного ключа.
3.Таблица находится в 3НФ, если она соответствует 2НФ и все неключевые столбцы взаимнонезависимы, т.е. нельзя изменить один из них не изменяя другой.
Существуют также другие нормальные формы, однако обычно нормализацию заканчивают на 3НФ.
| 19. Этапы проектирования БД – 2 подхода.
| 20. Целостность данных и методы доступа.
При работе БД должна обеспечиваться целостность данных. Под целостностью данных понимают обеспечения целостности связей между записями в таблицах при удалении записей из первичных таблиц. То есть, при удалении записей из первичных таблиц автоматически должны удаляться связанные с ними записи из вторичных таблиц.
В случае несоблюдения целостности данных со временем в БД накопится большое количество записей во вторичных таблицах связанных с несуществующими записями в первичных таблицах, что приведёт к сбоям в работе БД и её засорению неиспользуемыми данными.
Существует два общих правила целостности БД:
- целостность объектов – требует, чтобы первичные ключи не содержали неопределённых (пустых значений)
- ссылочная целостность – требует, чтобы внешние ключи не содержали несогласованных с родительскими ключами значений.
|
21. Понятие системы БД и ее структура. Преимущества системы БД.
| 22. Архитектура многопользовательских СУБД и их виды. Характеристика каждой архитектуры (Суть, т.е. принцип работы, достоинства и недостатки).
Приложения БД обычно принято относить к одной из программных архитектур имеющих свои плюсы и минусы. Различают несколько видов архитектур: локальная архитектура (при такой архитектуре и программа (субд) и БД расположены на одном компьютере. Так работает большинство настольных приложений. Д: минимальные затраты, быстрый доступ к БД, высокий уровень безопасности. Н: ограниченное кол-во пользователей, высокие требования к характеристикам ПК.);
файл-серверная архитектура (в ней средства организации и управления БД целиком располагаются на машине клиента, а БД на машине сервере. Д: возможность обслуживания запросов нескольких клиентов. Н: высокая загрузка сети и машины клиентов, низкий уровень защиты данных, низкий уровень управления целостностью и непротиворечивостью информации); архитектура клиент-сервер (взаимодействие между клиентом и сервером происходит на уровне команд языка манипулирования данными, которые обрабатываются на сервере. Сервер БД осуществляет поиск записей и анализирует их. Записи удовлетворяющие условиям накапливаются на сервере и после того как запрос будет обработан, пользователю на клиентскую машину передаются все логические записи. Д: возможность обслуживания запросов нескольких клиентов, снижение нагрузки на сеть, защита данных, сервер реализует управление транзакциями. Н: бизнес логика функциональной обработки и представление данных могут быть одинаковыми у нескольких клиентов. И это увеличивает потребности в ресурсах, низкий уровень управления непротиворечивостью информации); архитектура активный сервер БД; архитектура сервер приложений БД; архитектура сервера БД; архитектура 1 к 1;многопотоковая односерверная архитектура; мультисерверная; серверная архитектура с параллельной обработкой запросов; Интернет архитектура (доступ к БД и СУБД осуществляется через буфер по стандартному протоколу TCP/IP. При этом БД и СУБД могут располагаться как на одном ПК так и на сети. Благодаря стандартизации всех протоколов и интерфейсов взаимодействия в Интернет такие системы легко создавать и внедрять. В этом случае не требуется разрабатывать специальные клиентские приложения или придумывать собственные спецификации обмена данными между сервером и клиентскими местами)
| 23. Организация БД. Структура документальной БД (физический уровень) и краткая характеристика.
| 24. Стандарт реализации языка SQL и его преимущества.
Рост кол-ва данных, необходимость их хранения и обработки привели к тому, что возникла потребность создания стандартного языка БД, который мог бы функционировать в системах различных видов. Одним из языков, появившихся в результате разработки реляционной модели данных является язык SQL, который в настоящее время получил широкое распространение. Стандарт языка SQL был выпущен в 1986, а в 1987 международная организация стандартов ISO приняла его в качестве международного языка БД. Прежде всего, стандарт языка SQL обеспечивает: совместимость его различных реализаций; повышение переносимости программного обеспечения; универсальность работы администратора БД. Под реализацией языка SQL понимается программный продукт SQL соответствующего производителя для расширения функциональных возможностей языка. Разработчики добавляют к стандарту различные расширения. Все конкретные реализации языка несколько отличаются друг от друга, но основа ядра языка остается неизменной. SQL ориентирован на операции с данными представленной в виде логически взаимосвязанных совокупности таблиц. SQL сам определяет где находятся данные, а где индексы. Преимущества: стандартность; независимость от СУБД; возможность переноса с одного ПК на другой; реляционная основа языка; возможность создания интерактивных запросов; возможность программного доступа к БД; обеспечение различного представления данных; возможность динамического расширения структуры БД; поддержка архитектуры клиент-сервер. SQL является универсальным языком предназначенным для работы с таблицами, с целью преобразования входных данных к требуемому выходному виду.
| 25. Правила записи SQL-операторов и их структура (зарезервированные слова, идентификаторы, алфавит, ограничения).
Оператор SQL состоит из зарезервированных слов, а также из слов, определяемых пользователем. Зарезервированные слова являются постоянной частью языка SQL и имеют фиксированное значение, а слова, определяемые пользователем, задаются им самим (в соответствии с синтаксическими правилами) и представляют собой идентификаторы. Идентификаторы языка SQL предназначены для обозначения объектов в базе данных и являются именами таблиц, столбцов и других объектов базы данных. Стандарт SQL задает набор символов, который используется по умолчанию, – он включает строчные и прописные буквы латинского алфавита (A-Z, a-z), цифры (0-9) и символ подчеркивания. На формат идентификатора накладываются следующие ограничения: может иметь длину до 128 символов; должен начинаться с буквы; не может содержать пробелы.
<идентификатор>::=<буква>
{<буква>|<цифра>}[,...n]
Язык в терминах которого дается описание языка SQL называется метаязыком. (::= равно по определению; | необходимость выбора одного из знач.;<…>описанная с помощью метаязыка структура языка; {…}обязательный выбор конструкции из списка;[…] необязательный выбор конструкции из списка; [,…n] необязательная возможность повторения конструкции от 0 до n раз.
| 26. Основные объекты структуры БД SQL-сервера (таблицы, представления, хранимые процедуры, триггеры).
Логические данные в SQL сервер организованы в виде объектов: таблицы БД, в которых располагаются данные; просмотры служат для отображения данных из таблицы; хранимые процедуры; триггеры - специальные хранимые процедуры, вызываемые при изменении данных в таблице; создаваемые пользователем функции дополнительные структуры призванные повысить производительность работы с данными (индексы); определяемые пользователем типы данных; ключи; ограничения целостности; пользователи обладающие доступом к БД; роли позволяющие объединять пользователей в группы; правила БД контролируют логическую целостность данных; умолчания или стандартные установки БД. Таблицы – все данные в SQL содержатся в объектах называемые таблицами, которые представляют собой совокупность каких-либо сведений об объектах, явлениях и процессах реального мира. Никакие другие объекты не хранят данные, но они могут обращаться к данным в таблице. Таблица в SQL имеет такую же структуру, как в СУБД и содержит строки. Строки представляют собой совокупность атрибутов (свойств) конкретного экземпляра объекта. Столбцы представляют собой атрибут или совокупность атрибутов. Поле записи является минимальным элементом таблицы, каждый атрибут в таблице имеет свое имя, тип данных, ширина и длина поля. Представлениями называются виртуальные таблицы, содержимое которых определяется запросом. Подобно реальным таблицам представление содержит именованные поля и записи с данными. Для конечных пользователей представление выглядит как таблицы, но в действительности они не содержат данные, а лишь представляют данные расположенные в 1 или нескольких таблицах и информацию которую видит пользователь через представление в БД не сохраняется как самостоятельный объект. Хранимые процедуры представляют собой группу команд языка SQL объединенных один модуль, причем такая группа команд компилируется и выполняется как единое целое. Триггером называется специальный класс хранимых процедур автоматически запускаемых при добавлении, изменении или удалении данных из таблицы.
| 27. Основные объекты структуры БД SQL-сервера ( Функции , индексы, пользовательские типы данных ограничения целостности, правила, умолчания)
Логические данные в SQL сервер организованы в виде объектов: таблицы БД, в которых располагаются данные; просмотры служат для отображения данных из таблицы; хранимые процедуры; триггеры -специальные хранимые процедуры, вызываемые при изменении данных в таблице; создаваемые пользователем функции дополнительные структуры призванные повысить производительность работы с данными (индексы); определяемые пользователем типы данных; ключи; ограничения целостности; пользователи обладающие доступом к БД; роли позволяющие объединять пользователей в группы; правила БД контролируют логическую целостность данных; умолчания или стандартные установки БД. Функции в ЯП это конструкции содержащие часто используемый код. Функция выполняет какие-либо действия над данными и возвращает некоторые значения в результате. Индекс это структура, связанная с таблицей или представлением и предназначенная для ускорения поиска информации в них, содержит отсортированные значения исходной таблицы или представления. Пользовательские типы данных это типы данных, которые создает пользователь на основе системных типов данных, когда в нескольких таблицах необходимо хранить однотипные значения, причем нужно характеризовать одинаковый размер столбцов в соответствующих таблицах тип данных и чувствительность к значению NULL. Ограничение целостности это механизм, который обеспечивает автоматический контроль соответствия данных установленным условиям или ограничениям. К нему относят: ограничение на значение NULL; внешнего ключа и т.д. Правила пользуются для ограничения значений хранимых в столбце таблицы или в пользовательском типе данных. Они существуют как самостоятельные объекты БД, которые связываются с полями таблиц и пользовательскими типами данных. Умолчания это самостоятельный объект БД, представляющий значение которое будет присвоено элементу таблицы при вставке строки, если в команде вставки явно не указано значение для этого столбца.
| 28. Основные объекты структуры БД SQL-сервера. Выражения их состав. Переменные и правила их объявления.
Выражения представляют собой комбинацию идентификаторов, функций, знаков логических и арифметических операций, констант и других объектов. Выражение может быть использовано в качестве аргумента в командах, хранимых процедурах или запросах. Выражение состоит из операндов (собственно данных) и операторов (знаков операций, производимых над операндами). В качестве операндов могут выступать константы, переменные, имена столбцов, функции, подзапросы. Операторы – это знаки операций над одним или несколькими выражениями для создания нового выражения. Среди операторов можно выделить унарные операторы, операторы присваивания, арифметические операторы, строковые операторы, операторы сравнения, логические операторы, битовые операторы.
В языке SQL существует несколько способов передачи данных между командами. Один из них – передача данных через локальные переменные. Прежде чем использовать какую-либо переменную, ее следует объявить. Объявление переменной выполняется командой DECLARE, имеющей следующий формат:
DECLARE {@имя_переменной тип_данных }
[,...n]
Значения переменной можно присвоить посредством команд SET и SELECT. С помощью команды SELECT переменной можно присвоить не только конкретное значение, но и результат вычисления выражения.
DECLARE @a INT
SET @a=10
DECLARE @k INT
SELECT @k=SUM(количество) FROM Товар
| 29. Управляющие конструкции SQL .Синтаксис условного оператора и оператора цикла.
Язык SQL является непроцедурным, но тем не менее в среде SQL Server предусмотрен ряд различных управляющих конструкций, без которых невозможно написание эффективных алгоритмов.
Группировка двух и более команд в единый блок осуществляется с использованием ключевых слов BEGIN и END:
<блок_операторов>::=
BEGIN
{ sql_оператор | блок_операторов }
END
Сгруппированные команды воспринимаются интерпретатором SQL как одна команда. Блоки BEGIN...END могут быть вложенными. Некоторые команды SQL не должны выполняться вместе с другими командами (изменения структуры таблиц, хранимых процедур и им подобных), поэтому их совместное включение в конструкцию BEGIN...END не допускается. Нередко определенная часть программы должна выполняться только при реализации некоторого логического условия. Синтаксис условного оператора показан ниже:
<условный_оператор>::=
IF лог_выражение
{ sql_оператор | блок_операторов }
[ ELSE
{sql_оператор | блок_операторов } ]
Циклы организуются с помощью следующей конструкции:
<оператор_цикла>::=
WHILE лог_выражение
{ sql_оператор | блок_операторов }
[ BREAK ]
{ sql_оператор | блок_операторов }
[ CONTINUE ]
Цикл можно принудительно остановить, если в его теле выполнить команду BREAK. Если же нужно начать цикл заново, не дожидаясь выполнения всех команд в теле, необходимо выполнить команду CONTINUE.
| 30. Типы данных языка SQL , определенные стандартом и правила их объявления (символьные, битовые, точные числа) округленные числа
Данные, хранящиеся в столбцах таблиц SQL-ориентированной базы данных, являются типизированными. Для этого при определении таблицы каждому ее столбцу назначается некоторый тип данных, и в дальнейшем СУБД должна следить, чтобы в каждом столбце каждой строки каждой таблицы присутствовали только допустимые значения. Все допустимые в SQL типы данных, которые можно использовать при определении столбцов, разбиваются на следующие категории:символьные, битовые, точные числа, округленные числа, дата и время. К категории точных числовых типов в SQL относятся те типы, значения которых точно представляют числа. Типы данных этой категории распадаются на две части: истинно целые типы (INTEGER и SMALLINT) и типы, допускающие наличие дробной части (NUMERIC и DECIMAL). В SQL определены три параметризуемых типа битовых строк: BIT, BIT VARYING и BINARY LARGE OBJECT (или BLOB).Тип BIT. Значениями типа являются битовые строки. В SQL определены три параметризуемых типа символьных строк: CHARACTER (или CHAR), CHAR VARYING, VARCHAR и (или CLOB). Тип CHAR. Значениями типа являются символьные строки. Представляются в виде последовательностей символов, заключенных в одинарные или двойные кавычки. К категории приближенных числовых типов в SQL относятся те типы, значения которых представляют числа приближенным образом. Приближенные числа представляются в виде пары <мантисса, порядок>, где мантисса состоит из значащих цифр числа, а порядок определяет реальный размер числа. В реализациях приближенным числовым типам SQL обычно соответствуют типы с плавающей точкой. Тип REAL. Значения типа соответствуют числам с плавающей точкой одинарной точности. Тип FLOAT. Это параметризуемый тип, значение параметра p которого задает необходимую точность значений.
| 31. Типы данных языка SQL , определенные стандартом и правила их объявления (округленные числа, дата и время)
Данные, хранящиеся в столбцах таблиц SQL-ориентированной базы данных, являются типизированными. Для этого при определении таблицы каждому ее столбцу назначается некоторый тип данных, и в дальнейшем СУБД должна следить, чтобы в каждом столбце каждой строки каждой таблицы присутствовали только допустимые значения. Все допустимые в SQL типы данных, которые можно использовать при определении столбцов, разбиваются на следующие категории: символьные, битовые, точные числа, округленные числа, дата и время. Возможность сохранения в базе данных информации о дате и времени очень важна с практической точки зрения. Поддерживаются типы данных DATE, TIME, TIMESTAMP, TIME WITH TIME ZONE и TIMESTAMP WITH TIME ZONE. Тип DATE. Значения этого типа состоят из компонентов-значений года, месяца и дня некоторой даты. Тип TIME. Значения этого параметризованного типа состоят из компонентов-значений часа, минуты и секунды некоторого времени суток. К категории приближенных числовых типов в SQL относятся те типы, значения которых представляют числа приближенным образом. Приближенные числа представляются в виде пары <мантисса, порядок>, где мантисса состоит из значащих цифр числа, а порядок определяет реальный размер числа. Тип REAL. Значения типа соответствуют числам с плавающей точкой одинарной точности. Точность определяется в реализации, но обычно совпадает с точностью одинарной плавающей арифметики, поддерживаемой на аппаратной платформе, которая используется реализацией. Тип REAL. Значения типа соответствуют числам с плавающей точкой одинарной точности. Тип FLOAT. Это параметризуемый тип, значение параметра p которого задает необходимую точность значений.
| 32. Понятие домена и правила объявления. Получение информации о типах данных и преобразование типов.
Домен – это набор допустимых значений для одного или нескольких атрибутов. Если в таблице базы данных или в нескольких таблицах присутствуют столбцы, обладающие одними и теми же характеристиками, можно описать тип такого столбца и его поведение через домен, а затем поставить в соответствие каждому из одинаковых столбцов имя домена. Домен определяет все потенциальные значения, которые могут быть присвоены атрибуту. Стандарт SQL позволяет определить домен с помощью следующего оператора:
<определение_домена>::=
CREATE DOMAIN имя_домена [AS]
тип_данных
[ DEFAULT значение]
[ CHECK (допустимые_значения)]
Каждому создаваемому домену присваивается имя, тип данных, значение по умолчанию и набор допустимых значений. Удаление доменов из базы данных выполняется с помощью оператора:
DROP DOMAIN имя_домена [RESTRICT | CASCADE]
В случае указания ключевого слова CASCADE любые столбцы таблиц, созданные с использованием удаляемого домена, будут автоматически изменены и описаны как содержащие данные того типа, который был указан в определении удаляемого домена.
Получить список всех типов данных можно из системной таблицы systypes: SELECT * FROM systypes
Нередко требуется конвертировать значения одного типа в значения другого. Наиболее часто выполняется конвертирование чисел в символьные данные и наоборот, для этого используется специализированная функция STR. Для выполнения других преобразований SQL Server предлагает универсальные функции CONVERT и CAST, с помощью которых значения одного типа преобразовываются в значения другого типа, если такие изменения вообще возможны. CONVERT и CAST примерно одинаковы и могут быть взаимозаменяемыми.
| 33. Встроенные функции языка SQL ,их классификация.
Язык SQL имеет множество встроенных функций, обеспечивающих дополнительные функциональные возможности. Встроенные функции в SQL можно разделить на следующие группы:
1.Математические функции (sin, cos, exp, pi, power (возведение в степень), radians, round, sqrt и т.д.);
2. Строковые функции (Left - возвращает указанное число символов с начала строки, len - возвращает длину строки, lower - переводит все символы строки в нижний регистр, right - возвращает указанное число символов с конца строки, str - выполняет конвертирование значения числового типа в символьный формат,substring - возвращает для строки подстроку указанной длины с заданного символа, upper - переводит все символы строки в верхний регистр);
3.Функции для работы с датой и временем (datediff - возвращает разницу между указанными частями двух дат, day(month,year) - возвращает число (месяц, год) из указанной даты, getday - возвращает текущее системное время);
4.Функции конфигурирования;
5.Функции системы безопасности;
6.Функции управления метаданными;
7.Статистические функции (используются для получения результирующих итогов, в качестве аргумента используют столбец, а результатом является одно значение, зависящее от типа функции: AVG – среднее значение, SUM, Min, Max, count – количество)
| 34. Математические встроенные функции языка SQL .
Язык SQL имеет множество встроенных функций, обеспечивающих дополнительные функциональные возможности. К математическим функциям относятся:
ABS (число) - вычисляет абсолютную величину числа; ISNUMERIC (выражение) - определяет, имеет ли выражение числовой тип данных;
SIGN (число) - определяет знак числа;
RAND (целое число) - вычисляет случайное число с плавающей запятой в интервале от 0 до 1;
ROUND (число, точность) - выполняет округление числа указанной точностью;
POWER (число, степень) - возводит число в степень;
SQRT (число) - извлекает квадратный корень из числа;
SIN (угол) - вычисляет синус угла, указанного в радианах;
COS (угол) - вычисляет косинус угла, указанного в радианах; ЕХР (число) - вычисляет экспоненту числа;
LOG (число) - вычисляет натуральный логарифм числа.
| 35. Строковые встроенные функции языка SQL.
Язык SQL имеет множество встроенных функций, обеспечивающих дополнительные функциональные возможности. К строковым функциям относятся:
LEN (cтрокa) - вычисляет длину строки в символах;
LTRIM (строка) - удаляет пробелы в начале строки;
RTRIM (строка) - удаляет пробелы в конце строки;
LEFT (строка, количество) - возвращает указанное количество символов строки, начиная с самого левого символа;
RIGHT (строка, количество) - возвращает указанное количество символов строки, начиная с самого правого символа;
LOWER (строка) - приводит символы строки к нижнему регистру;
UPPER (строка) - приводит символы строки к верхнему регистру;
STR (число) - выполняет конвертирование числового значения в символьный формат;
SUBSTRING (строка, индекс, длина) - возвращает для строки подстроку заданной длины, начиная с символа заданного индекса.
| 36. Встроенные функции над величинами типа дата языка SQL.
Язык SQL имеет множество встроенных функций, обеспечивающих дополнительные функциональные возможности. К функциям типа дата относятся:
GETDATE () - возвращает текущую системную дату;
ISDATE (строка) - проверяет строку на соответствие одному из форматов даты и времени;
DAY (дата) - возвращает число указанной даты;
MONTH (дата) - Возвращает месяц указанной даты;
YEAR (дата) - возвращает год указанной даты;
DATEADD (тип, число, дата) - прибавляет к дате указанное число единиц заданного типа (год, месяц, день, час и т. п.).
| |