Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

otvety_k_ekzamenu_po_bd

.doc
Скачиваний:
80
Добавлен:
14.04.2015
Размер:
1.98 Mб
Скачать

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

История развития СУБД насчитывает более 40 лет. Впервые в 1968 была введена в эксплуатацию первая промышленная СУБД система IMS фирмы IBM. В 1975 появился первый стандарт ассоциации по языкам систем обработки данных CODASYL. В дальнейшее развитие теории БД большой вклад внёс американский математик Э.Ф.Кодд, который является создателем реляционной модели данных. Этапы развития СУБД:

1 - БД на больших ЭВМ. Этап отмечают появлением впервые языков высокого уровня для работы с реляционными БД при отсутствии стандартов.

2 - появление персональных ЭВМ и появление СУБД для монопольного пользования.

3 - появление распределенных БД. Поддержка многопользовательской работы с бд и возможность децентрализации хранения потребовало развития средств администрирования бд с реализацией средств защиты данных. Разработка ряда стандартов в рамках языков описания и манипулирования данных и технологий по обмену данными между различными СУБД (протокол ODBC).

4 - характеризуется новой технологией доступа к данным Intranet. Отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского ПО и для работы с удаленной БД используется стандартный браузер Internet, т.е. обмен осуществляется с использованием протоколов IP.

2. Понятие СУБД, БД, реляционные БД и их объектов.

База данных – совокупность взаимосвязанных массивов данных, структурированных специальным образом и относящихся к одной предметной области (с точки зрения разработки). СУБД - это совокупность языковых и программных средств, предназначенных для создания, ведения и управления данными, а также для совместного использования пользователями, которым разрешён доступ к данным. Функции СУБД: управление данными; управление данными в памяти компьютера; управление транзакциями. Транзакция – последовательность операций над БД, как над единым целым, переводящая её из одного непротиворечивого состояния в другое непротиворечивого состояние (необходимы для поддержания логической целостности БД в многопользовательском режиме). Реляционная БД - совокупность взаимосвязанных таблиц имеющих определенную структуру отражающих конкретные предметные области. Традиционное понятие - в СУБД - в реляционной субд:

1)таблица - файл БД – отношение

2)название таблицы - имя файла БД - схема отношений

3)строка-запись-кортеж

4)столбец-поле-атрибут

5)описание свойств объекта – структура - сущность

6)множество допустимых однородных значений - данные в поле - домен

7)кол-во столбцов - кол-во полей - степень

8)кол-во строк в таблице - кол-во записей - кардинальное число

9)значение данного в ячейке таблицы - значение поля в записи - значение атрибута

10)один или несколько атрибутов - - -ключ

11)средства поиска данных по условию - запросы

12)средства отображения данных и ввода - формы

13)средства печати данных - отчеты

14) средства сортировки данных - индексы.

Банк данных - это система специальным образом организованных данных (БД), программных, технических, языковых и организационно методических средств предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. Выделяют следующие компоненты: информационная база, лингвистические средства, программные, технические, организационно-административные подсистемы, нормативно-методическое обеспечение.

3. Этапы проектирования СУБД.

При разработке БД можно выделить следующие этапы работы.

I этап. Постановка задачи. На этом этапе формируется задание по созданию БД. В нем подробно описывается состав базы, назначение и цели ее создания, а также перечисляется, какие виды работ предполагается осуществлять в этой базе данных. II этап. Анализ объекта. На этом этапе рассматривается, из каких объектов может состоять БД, каковы свойства этих объектов. III этап. Синтез модели.

На этом этапе по проведенному выше анализу необходимо выбрать определенную модель БД. После выбора модели необходимо нарисовать ее схему с указанием связей между таблицами или узлами. IV этап. Выбор способов представления информации и программного инструментария. После создания модели необходимо, в зависимости от выбранного программного продукта, определить форму представления информации:

с использованием форм; без использования форм. Форма – это созданный пользователем графический интерфейс для ввода данных в базу. V этап. Синтез компьютерной модели объекта:

- Запуск СУБД, создание нового файла базы данных или открытие созданной ранее базы.

- Создание исходной таблицы или таблиц: указать имя и тип каждого поля.

- Создание экранных форм.

- Заполнение БД.

VI этап. Работа с созданной базой данных.

4. Архитектура БД. (Уровни и их характеристика).

Архитектура БД представляет собой трёхуровневую систему, состоящую из внешнего (логического), концептуального и внутреннего (физического) уровня. Внешний уровень – индивидуальный уровень пользователя, представляющий собой совокупность приложений пользователей, решающих задачи из одной предметной области. Концептуальный уровень – представляет собой описание объектов, их свойств и виды взаимосвязей между объектами, относящимися к данной предметной области, которые описывают какие данные будут храниться в БД и как они между собой будут связаны. Физический уровень – представляет собой БД на физическом носителе, который является ничем иным как файлов или совокупностью взаимосвязанных файлов, относящихся к одной предметной области и расположенных на физическом носителе.

Эта архитектура позволяет обеспечить логическую и физическую независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без конкретных других приложений, работающих с этой же БД. Физическая предполагает возможность переноса хранимой информации с одних носителей на другие, при сохранении работоспособности всех приложений, работающих с данной БД.

5. СУБД и ее место в системе программного обеспечения ЭВМ.

СУБД - это совокупность языковых и программных средств, предназначенных для создания, ведения и управления данными, а также для совместного использования пользователями, которым разрешён доступ к данным. Функции СУБД: управление данными; управление данными в памяти компьютера; управление транзакциями. Транзакция – последовательность операций над БД, как над единым целым, переводящая её из одного непротиворечивого состояния в другое непротиворечивого состояние (необходимы для поддержания логической целостности БД в многопользовательском режиме). Практически любая деятельность связана с манипуляцией данными. Поэтому появилось множество компьютерных систем (СУБД) обслуживающих поступившие запросы. СУБД представляют собой программные комплексы, в задачи которого входит: поддержка надежного хранения БД в ПК; в выполнении преобразовании информации; в выполнении соответствующих вычислений; в предоставлении пользователю удобного и легко осваиваемого интерфейса. Основным назначением СУБД в первую очередь является быстрый поиск нужной информации в текущий момент времени. Существует большое кол-во СУБД основной особенностью которых является наличие средств ввода и хранения не только самих данных, но и описания их структуры.

6. Процесс прохождения пользовательского запроса.

1.Пользователь посылает СУБД запрос на получение данных из БД.

2.Анализ прав пользователя и внешней модели данных, соответствующей данному пользователю, подтверждает или запрещает доступ данного пользователя к запрошенным данным.

3.В случае запрета на доступ к данным СУБД сообщает пользователю об этом (стрелка 12) и прекращает дальнейший процесс обработки данных, в противном случае СУБД определяет часть концептуальной модели, которая затрагивается запросом пользователя.

4.СУБД запрашивают информацию о части концептуальной модели.

5.СУБД получает информацию о запрошенной части концептуальной модели.

6.СУБД запрашивает информацию о местоположении данных на физическом уровне (файлы или физические адреса).

7.В СУБД возвращается информация о местоположении данных в терминах операционной системы.

8.СУБД вежливо просит операционную систему предоставить необходимые данные, используя средства операционной системы.

9.Операционная система осуществляет перекачку информации из устройств хранения и пересылает ее в системный буфер.

10.Операционная система оповещает СУБД об окончании пересылки.

11.СУБД выбирает из доставленной информации, находящейся в системном буфере, только то, что нужно пользователю, и пересылает эти данные в рабочую область пользователя.

7. Категории пользователей СУБД и их функции.

На каждом этапе своего развития с СУБД связаны разные категории пользователей:

1)конечные пользователи – это основная категория пользователей в интересах которых создается СУБД. Конечные пользователи могут быть случайными или регулярными. Случайные пользователи обращаются в СУБД за данными от случая к случаю. Регулярные пользователи - работают со специально разработанными для них приложениями, которые обеспечивают автоматизацию их деятельности при выполнении своих должностных обязанностей;

2)администраторы СУБД – это группа пользователей на начальной стадии разработки СУБД. Отвечает за его оптимальную организацию с точки зрения одновременной работы множества конечных пользователей. На стадии эксплуатации отвечает за корректность работы в многопользовательском режиме. На стадии развития и реорганизации – эта группа пользователей отвечает за возможность корректной реорганизации без изменения или прекращения его текущей эксплуатации;

3)разработчики и администраторы приложений - эта группа пользователей, которая функционирует во время проектирования, создания и реорганизации. Администраторы приложений координируют работу разработчиков при разработке конкретного приложения или группы приложений объединенных в функциональную подсистему. Разработчики конкретных приложений работают с той частью информации из БД, которая требуется для конкретного приложения. Наиболее сложная система эксплуатируется и сопровождается группой администратора БД, которая включает в себя ряд специалистов: системные аналитики; проектировщики структур данных и внешнего по отношению БД информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; операторы и специалисты по техническому обслуживанию.

8. Администрирование СУБД. Основные функции администрирования. Группы администраторов.

Наиболее сложная система эксплуатируется и сопровождается группой администратора БД, которая включает в себя ряд специалистов: системные аналитики; проектировщики структур данных и внешнего по отношению БнД информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; операторы и специалисты по техническому обслуживанию. Функции:

1)анализ предметной области: описание предметной области; выявление ограничений целостности; определение статуса (секретность или доступность); определение потребностей пользователей;

2)проектирование структуры БД (определение состава и структуры файла БД, выбор методов доступа к информации и т.д.)

3)задание ограничений целостности при описании структуры БД и процедура обработки БД

4)первоначальная загрузка при ведении БД (разработка технологии проверки соответствия введенных данных реальному состоянию предметной области и т.д.)

5)защита данных (пароли, группы пользователей, права пользователей)

6)обеспечение восстановления БД (разработка организационных средств архивирования и принципов восстановления)

7)анализ обращения пользователей БД (сбор статистики по характеру запросов, по времени их выполнения и т.д.)

8)анализ эффективности функционирования БД

9)работа с конечными пользователями (обучение, консультирование)

10)организационно-методическая работа по проектированию БД (создание и выбор методики проектирования БД, разработка словарей-справочников).

9. Группы администраторов и их основные функции.

Наиболее сложная система эксплуатируется и сопровождается группой администратора БД, которая включает в себя ряд специалистов: системные аналитики; проектировщики структур данных и внешнего по отношению БнД информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; операторы и специалисты по техническому обслуживанию. Функции:

1)анализ предметной области: описание предметной области; выявление ограничений целостности; определение статуса (секретность или доступность); определение потребностей пользователей;

2)проектирование структуры БД (определение состава и структуры файла БД, выбор методов доступа к информации и т.д.)

3)задание ограничений целостности при описании структуры БД и процедура обработки БД

4)первоначальная загрузка при ведении БД (разработка технологии проверки соответствия введенных данных реальному состоянию предметной области и т.д.)

5)защита данных (пароли, группы пользователей, права пользователей)

6)обеспечение восстановления БД (разработка организационных средств архивирования и принципов восстановления)

7)анализ обращения пользователей БД (сбор статистики по характеру запросов, по времени их выполнения и т.д.)

8)анализ эффективности функционирования БД

9)работа с конечными пользователями (обучение, консультирование)

10)организационно-методическая работа по проектированию БД (создание и выбор методики проектирования БД, разработка словарей-справочников).

10. Модели данных и концептуальное моделирование БД.

Описание предметной области с фиксированной логической точки зрения называется концептуальной схемой, а систематизация понятий и связей предметной области называется логическим или концептуальным проектированием. Модель, используемая при описании это совокупность функциональных характеристик объектов и особенностей представления информации, называют моделью данных. При описании предметной области в роли объектов могут выступать: предметы (книги, ПК); лица (повар, библиотекарь); события. Каждый объект может быть представлен несколькими экземплярами. Каждому объекту в БД присуще набор определенных свойств. Виды связи: 1 к 1; многие к 1; 1 ко многим; многие ко многим.

11. Классификация моделей данных и их характеристика.

Ядром любой БД является модель данных. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. СУБД основывается на использовании иерархической, сетевой или реляционной модели. Иерархическая модель представляет совокупность элементов, связанных между собой по определенным правилам. Графическим способом представления иерархической модели является перевернутое дерево. К основным понятиям иерархической модели относятся: уровень, элемент (узел), связь. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях.

Например, каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) институту.

В сетевой модели в отличии от иерархической модели каждый элемент может быть связан с любым другим элементом.

Реляционная модель представляет собой организацию данных в виде таблиц. Любая таблица реляционной БД состоит из строк (называемых также записями) и столбцов (называемых также полями).

12. Модель данных и три категории модели (объектные, модель на основе записей, физическая).

Модель данных - это набор понятий, которые могут быть использованы для описания множества данных, операций с данными, а также набора ограничений целостности данных. Их можно разбить на три широкие категории:

- объектные модели данных - при их построении исп такие понятия как сущности, атрибуты и связи. Сущность - это отдельный элемент предметной области, который должен быть представлен в БД. Атрибут - это одно из свойств сущности, а связь является отношением между сущностями

- модели данных на основе записей – в них БД состоит из нескольких записей фиксированного формата, которые могут иметь разные типы. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фиксированную длину. Существует три основных типа логических моделей данных на основе записей: реляционная модель данных, сетевая модель данных и иерархическая модель данных

- физические модели данных - описывают то, как данные хранятся в компьютере, представляя информацию о структуре записей, их упорядоченности и существующих путях доступа.

Первые две модели используются для описания данных на концептуальном и внешнем уровнях, а последняя - на внутреннем уровне.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]