Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Экзаменационный билет n 8



1. Даталогическое моделирование.

Модель даталогическая (datalogical) (ДЛМ) — логическая модель БД в терминах конкретной СУБД; отображение логических связей между элементами данных

В ERWin это физическая модель – прим. ред.

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

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

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

Все шаги проектирования даталогической модели выполняются итеративно. Причем вероятны итерации не только внутри стадии даталогического проектирования, но и с «захватом» других стадий проектирования БД.

Конечным результатом даталогического проектирования является описание логической структуры базы данных на ЯОД. (в нашем случае – скрипт на SQL Для генерации БД – прим. ред.)

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

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

2. SQL. Понятие курсора. Использование курсоров.

Курсоры обычно используются в рамках SQL, встроенного в про­граммы, написанные на языке процедурного типа. Использование курсоров вызвано необходимостью стыковать позаписные включаю­щие языки и теоретико-множественный язык SQL. Курсор определяется посредством оператора объявления курсора (DECLARE CURSOR). Этот оператор определяет имя курсора, а так же содержит в своем составе запрос, выходные данные которого сохраняются для последующей обработки включающей программой:

DECLARE <имя_курсора > [INSENSITIVE] [SCROLL] CURSOR

FOR <подзапрос> [<предложение для обновления>]

Курсор находится либо в открытом состоянии, либо в закрытом. Начальное состояние курсора - закрытое. Для открытия курсора ис­пользуется оператор OPEN CURSOR <имя курсора>. Запрос, описанный при определении курсора, выполняется именно при откры­тии курсора. При первом открытии курсор устанавливается перед первой строкой. Позиция курсора в открытом состоянии может быть перед определенной строкой, на определенной строке или после пос­ледней строки. Если курсор установлен на строку, то эта строка явля­ется текущей строкой курсора.

Для построчного извлечения данных из курсора используется опе­ратор FETCH. Этот оператор продвигает позицию открытого курсора на следующую строку в порядке этого курсора, извлекает значения полей этой строки в переменные и имеет следующий синтаксис:

FETCH [[orientation] FROM] имя курсора

INTO целевая спецификация.,..;

orientation::=

NEXT | PRIOR | FIRST | LAST | {ABSOLUTE | RELATIVE

спецификация значения}

Значения NEXT, PRIOR, FIRST, LAST понятны без дополнитель­ного пояснения. Значение ABSOLUTE N вызывает перемещение на N-ю строку, а значение RELATIVE N - перемещение на N строк впе­ред, если N - положительное число, и на N строк назад, если N -отрицательное число.

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

Строки открытого курсора имеют определенный порядок. Для того чтобы установить нужный порядок, можно использовать в операторе SELECT предложение ORDER BY. В противном случае порядок ус­танавливается реализацией.

Если задано предложение SCROLL, то не обязательно извлекать строки в том порядке, который задан при открытии.

Курсоры могут быть двух типов: обновляемые и только для чте­ния. Чтобы курсор был обновляемым, он должен базироваться на од­ной и только одной таблице, не содержать предложения ORDER BY, не объявляться как INSENSITIVE или SCROLL.

Курсор возвращается в закрытое состояние посредством исполь­зования оператора закрытия курсора CLOSE <имя курсора.>





Дата публикования: 2015-01-24; Прочитано: 552 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...