Главная страница

цукуцп. Ответы к экзамену по БД. 1. История развития баз данных. Перечислить этапы и охарактеризовать их


Скачать 1.89 Mb.
Название1. История развития баз данных. Перечислить этапы и охарактеризовать их
Анкорцукуцп
Дата18.02.2022
Размер1.89 Mb.
Формат файлаdoc
Имя файлаОтветы к экзамену по БД.doc
ТипДокументы
#366097
страница2 из 3
1   2   3



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 (тип, число, дата) - прибавляет к дате указанное число единиц заданного типа (год, месяц, день, час и т. п.).

1   2   3


написать администратору сайта