Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_PrBD_lab.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Вопросы к допуску

  1. Что называется таблицей базы данных? Для чего используются таблицы?

  2. Какие таблицы называют нормализованными?

  3. Что называется первичным ключом таблицы?

  4. Что называется альтернативным ключом?

  5. Что называется внешним ключом таблицы?

  6. Сформулируйте правило ссылочной целостности для внешних ключей;

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

  8. Какие виды ограничений используются в MS SQL Server?

Контрольные вопросы

  1. Какие средства для создания таблиц используются в MS SQL Server 2000?

  2. Опишите процесс создания таблицы с помощью мастера;

  3. Опишите окно конструктора таблиц. На какие части оно делится? Для чего предназначены эти части?

  4. Опишите процесс создания таблицы с помощью конструктора;

  5. Какая команда T-SQL используется для создания таблиц? Какой синтаксис она имеет?

  6. Как создавать вычисляемые столбцы в таблицах?

  7. Каким образом можно создать пользовательский тип средствами T-SQL?

  8. Как средствами T-SQL можно связать таблицы между собой?

  9. Какой командой T-SQL можно удалять таблицы?

  10. Как отредактировать структуру таблицы с помощью T-SQL?

  11. Как добавить и удалить столбцы в уже созданной таблице?

  12. Как добавить и удалить в уже созданную таблицу ограничения уровня таблицы?

Лабораторная работа №4: «Создание представлений в ms sql Server 2000»

Задание:

  • Создать представления с помощью T-SQL, используя Query Analyzer;

  • Продемонстрировать умение работать с представлениями в Query Analyzer – просмотр, редактирование и удаление таблиц с помощью T-SQL;

  • Продемонстрировать работу с представлениями в Enterprise Manager – создание, редактирование, просмотр.

Теоретический материал:

Представления (view) – можно определить как виртуальные таблицы, содержимое которых генерируется динамически в результате выполнения некоторого запроса. По сути, представления это и есть хранимый именованный запрос. В базе данных сохраняется только структура представления, информация генерируется автоматически, при вызове представления. Следует отметить, что, изменяя данные в представлениях, мы изменяем их и в таблицах, служащих источником для представлений. Т.е. можно говорить о том, что в представлениях хранятся «живые» данные.

Представления можно использовать для извлечения каких-либо данных из таблиц базы данных, однако наиболее распространенным сценарием использования представлений является организация доступа пользователей к базе данных. Зададим себе вопрос: «Зачем использовать представления, если можно работать непосредственно с таблицами?» Дело в том, что таблицы служат для хранения информации о некотором объекте. Но пользователь, решая свои задачи, может использовать далеко не всю информацию, хранящуюся в таблице (например, отбирая ее по некоторому критерию) или использовать информацию, хранящуюся в нескольких таблицах. Пользователю могут потребоваться некоторые сводные данные за какой-либо период. Таблицы не способны предоставить требуемую функциональность, необходимо создавать запросы. Если какие-либо запросы приходится создавать и исполнять достаточно часто – оптимальным вариантом будет создать их один раз и сохранить в базе данных, т.е. создать представления.

Заметим также, что представления являются удобным инструментом разграничения доступа. Предположим, что необходимо разрешить пользователю работать только с некоторыми строками таблицы (набора таблиц), а доступ к остальным строкам для него должен быть запрещен. Механизмы разрешений в MS SQL Server 2000 не распространяются на строки таблиц. Таким образом, данную задачу можно решить, создав представление и дав права пользователю на работу с представлением, а не непосредственно с таблицей. Следует отметить, что подобная практика является весьма распространенной.

Рассмотрим задачу создания представлений. Существует три способа:

  • Использование мастера Create View wizard;

  • Использование конструктора, встроенного в Enterprise Manager;

  • С помощью T-SQL;

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

Использование конструктора позволяет создавать более гибкие представления. Окно конструктора можно условно разделить на 4 части:

  • Источники данных – в данной части располагаются таблицы и представления на основе которых создается данное представление. Можно добавлять и удалять таблицы с помощью команд контекстного меню или кнопок на панели инструментов. Здесь же можно указать столбцы, которые должны войти в создаваемое представление;

  • Вторая сверху область предназначена для установки характеристик представления. Здесь можно дать псевдонимы (другие имена) столбцам, задать сортировку и ее порядок для конкретных столбцов, наложить условия на строки данных, и т.п.;

  • Третья область – область кода SQL. В ней динамически отображаются в SQL-код команды SELECT все сделанные в первых двух частях изменения;

  • Последняя часть – грид, динамически показывает результат выполнения представления.

Фактически, конструктором являются только первые две части. Область SQL и область данных можно отключать и снова включать, используя кнопки на панели инструментов.

Использование конструктора требует от создателя представлений более серьезных знаний о работе с базами данных и создании запросов, в частности, нежели использования мастера. Но и в результате можно создавать такие представления, которые не способен сгенерировать мастер. Важным положительным фактором является и то, что конструктор запрос в MS SQL Server 2000 практически аналогичен конструктору запросов в настольной СУБД той же фирмы – MS Access. Это позволяет в некоторой степени облегчить процесс перехода от одной СУБД к другой.

Последний способ создания представлений – с помощью T-SQL применяется либо IT-профессионалами, привыкшими работать с базой данных на языке SQL, либо в том случае, когда необходимое представление невозможно создать первыми двумя способами в силу их меньшей гибкости.

В языке T-SQL для создания представлений применяется команда create view, имеющая следующий синтаксис:

CREATE VIEW имя_представления

AS запрос_sql

[WITH CHECK OPTION]

Как несложно заметить, основную часть команды занимает sql-запрос, формирующий информацию, отображаемую представлением. В представлениях разрешено применять практически все конструкции команды SELECT, за исключением ключевых слов INTO, COMPUTE, COMPUTE BY. Более подробно, процесс создания sql-запросов и конструкции команды select были рассмотрены в [7].

Необязательная конструкция with check option позволяет гарантировать, что для строк представления не будет разрешено выполнение изменений, которые могут привести к исчезновению строки из представления. Например, если в команде where запроса было задано условие age>18, то сервер будет запрещать для представления выполнения изменений, которые устанавливают для столбца age значения большие, чем 18.

Для модификации представлений в T-SQL применяют команду ALTER VIEW, синтаксис которой полностью аналогичен синтаксису команды CREATE VIEW. Т.е. модификация представления фактически представляет собой переписывание его заново. В Enterprise Manager для этого вызывается окно редактирования представления, в котором записан его код на языке T-SQL, в который можно внести изменения.

Для удаления представлений используют команду drop, имеющую следующий синтаксис:

DROP VIEW имя_представления

Рассмотрим пример создания представления на языке T-SQL:

CREATE VIEW w_skills_345

AS

Select wrkr_name, skill_type, h_rate

From worker inner join assignment on (worker.wrkr_id = assignment.wrkr_id)

Where bldg_id = 345

В данном примере мы создаем представление, содержащее информацию о рабочих, назначенных на работы в здание с кодовым номером 345.

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