73033

Пользовательские типы данных на примере MS SQL Server

Лабораторная работа

Информатика, кибернетика и программирование

Изучить возможности по определению и использованию пользовательских типов данных, DML и DDL триггеров, ограничений целостности в постреляционной СУБД. Освоить методы и технологии создания пользовательских типов данных на CLR.Net.

Русский

2014-12-03

51 KB

3 чел.

абораторная работа 3              Постреляционные базы данных, 2014 г.                ИУ5-93 2

Лабораторная работа «Пользовательские типы данных на примере MS SQL Server»
по дисциплине «Постреляционные базы данных»

Цель работы: 

  1.  Изучить возможности по определению и использованию пользовательских типов данных, DML и DDL триггеров, ограничений целостности в постреляционной СУБД.
  2.  Освоить методы и технологии  создания пользовательских типов данных  на CLR.Net.  
  3.  Получить навыки задания ограничений целостности и правил для постреляционной БД.

Литература:

  1.  Пирогов В. SQL Server 2005. Программирование клиент-серверных приложений. - Спб.: БХВ-Петербург. - 2006 г.

Литература дополнительная:

  1.  Уолтерс У. и др. SQL Server 2008: ускоренный курс для профессионалов: пер. с англ. – М.: ООО «И.Д. Вильямс», 2009. – 768с.
  2.  Основы программирования на C#. - Электронный ресурс [http://www.intuit.ru]

Время выполнения:

Время выполнения лабораторной работы 2 часа.

Пункты задания для выполнения: 

Задание 1. Создание и заполнение таблиц

В среде SQL Server Management Studio  создать БД lab3_93. 

В БД создать таблицу "Student"(студент), содержит свойства:

  •  fio - ФИО - строковое, varchar(15), (КЛЮЧ),
  •  vuz – вуз – строковое, varchar(10), (ОБЯЗАТЕЛЬНОЕ),
  •  year – год поступления – целое, (ПО УМОЛЧАНИЮ 2014).

Создать таблицу "Ozenka" (оценка), содержит свойства:

  •  subject - дисциплина – строковое, varchar(10),
  •  ball - оценка – целое, (от 2 до 5, ОБЯЗАТЕЛЬНОЕ)
  •  stud — студентvarchar(15),(ВНЕШНИЙ КЛЮЧ – каскадом, обновление – каскадом),
  •  id  - идентификатор (КЛЮЧ - PK) – целое, автоинкремент.
  •  Сочетание  subject и ball является УНИКАЛЬНЫМ.

Открыть таблицы на редактирование и заполнить тестовыми данными.

Проверить ограничения целостности.

Задание 2. Пользовательский тип данных - UDT

2.1. Создание UDT

В среде MS Visual Studio на языке С# создать пользовательский тип данных Square с полями:

Len - длина, скрытое,

sqr() - метод экземпляра — возвращает площадь квадрата,

inf() - метод класса — строка, содержащая пояснение к строке для инициализации объекта.

Переопределить метод Parse — разбор строки инициализации. Содержит «Число» или «Число S». Если указано просто число, то присвоить его длине. Если указано число c буквой S, то считать его площадью, а длину вычислить.

И  toString() - обратная к Parse, возвращает значение длины, площадь и объем.

Вычисляемое поле P – периметр (доступны методы Get и Set, изменяет длину).

Создать сборку,  подсоединить ее к БД на  SQL Server, создать тип данных в БД.

2.2. Работа с переменной пользовательского типа

В среде SQL Server Management Studio в окне запроса создать переменную типа Square и проверить методы работы с ней:

 declare @c тип

set @c='значение'

select @c.ToString(), @c.поле, @c.метод_экз()

set @c.поле=значение

select @c.ToString(), @c.поле

set @c=NULL

select @c.ToString()

select @c::метод_класса()

2.3. Добавление переменной пользовательского типа в таблицу

Добавить поле Sqr нового типа к новой таблице Фигуры (название, квадрат). Продемонстрировать в окне запросов выполнение запросов select и update к таблице с обращением к новому полю.

Открыть таблицу на редактирование и заполнить значения нового поля.

В окне запросов составить и выполнить запросы к таблице, например

- отобразить фигуры с площадью более 100,

- увеличить периметр в 2 раза для всех фигур.

Задание 3. Триггеры DDL - DML 

3.1.  Создание представления

В среде SQL Server Management Studio создать представление Bests, которое выводит:

- ФИО и предметы для отличных оценок.

Просмотреть результат представления и попробовать внести изменения.

3.2.  Создание DML триггера

Создать триггер на представление, который реализует добавление новой оценки (и при необходимости его студента).

Проверить работу триггера.

3.3.  Создание DDL триггера

Создать DDL триггер на создание представлений, который отображает сведения о событии.

Проверить работу триггера.

Вопросы для самопроверки: 

  1.  Как создать таблицы, их связи и ограничения используя мастера и DDL-запросы?
  2.  Что такое ограничения целостности, каких типов они бывают и как их задавать?
  3.  Что такое DML триггер, как и когда он запускается и как его создать? Как из триггера определить изменяемые данные?
  4.  Конструкции языка Transact SQL: условие, перехват исключений, создание исключений, присваивание переменных.
  5.  Что такое DDL триггер, как и когда он запускается и как его создать? Как из триггера определить возникшее событие и его параметры?
  6.  Что такое пользовательский тип данных? Как определить его поля (открытые и закрытые) и методы (экземпляра и класса)?  
  7.  Как создать и инициализировать переменную пользовательского типа? Как обратиться к ее полям и методам из запроса?


 

А также другие работы, которые могут Вас заинтересовать

57871. Прилагателно име. Граматически особенности. Правопис и употреба 3 MB
  Ход на урока: Днес на нашия урок присъстват гости от цяла Запорожка област но нашата работа ще протече както и друг път. Проверка на домашната работа и поставяне на темата: В. Ето ви образец за домашната работа...
57872. Конспект Лекций по ТОЭ 1.75 MB
  Электрические цепи, в которых получение электрической энергии, её передача и преобразование происходят при неизменных во времени токах и напряжениях, называют цепями постоянного тока. В таких цепях электрические и магнитные поля также не изменяются во времени. Так как токи и напряжения постоянны, то изменения этих величин во времени равны нулю
57873. Пам’ять серця стоїть на посту. Голод 1932-33рр. в Україні як геноцид: мовою документів, через твори У.Самчука «Марія» та В. Барки «Жовтий князь» 174.5 KB
  Барка Жовтий князь знайомство з історичними документами спогадами свідків ознайомити учнів з противоправною політикою радянської держави політикою геноциду щодо українського селянства; сформувати у свідомості учнів уявлення про субєктивні причини масового голодомору та його наслідки...
57874. Просвітництво як літературна епоха. Розмаїття виявів літературного життя 72 KB
  Today we are going to listen to student’s reports about three famous representatives of Enlightenment. They are Robert Burns, Daniel Defoe, Heinrich Heine. They lived in different parts of Europe...
57875. Память. Виды памяти 87.5 KB
  Цель урока: дать понятие о видах и качестве памяти определить её роль в формировании индивидуальности; на практике ознакомиться с методами определения памяти; развивать умение тренировать и укреплять память; воспитывать стремление к развитию определенного вида памяти;...
57876. Фізика і мистецтво. Інтегрований урок 55.5 KB
  Це Леонардо да Вінчі. Повідомлення про Леонардо да Вінчі підготували. За свідченням сучасників Леонардо да Вінчі відзначався прекрасною зовнішністю він мав пропорційну структуру був витончений із привабливим обличчям. Леонардо постійно малював і записував.
57877. Классификация млекопитающих. Яйцекладущие и сумчатые млекопитающие 401 KB
  Цель урока: обучающая: Изучить классификацию млекопитающих. Познакомить учащихся с яйцекладущими и сумчатыми млекопитающими, раскрыть особенности размножения и индивидуального развития этих животных: черты сходства и отличия.
57878. Особливості припинення трудових правовідносин. Економічні аспекти зайнятості населення 507 KB
  Основні поняття: трудовий договір безробіття державна служба зайнятості. Аналіз рівня безробіття в Україні. Визначення рівня безробіття в Дергачівському районі. Отже всім зрозуміло що безробіття це негативне явище в економіці.
57879. Птахи. Звірі. Інтегрований урок з презентацією Я і Україна (природа), англійська мова 3 клас 51 KB
  Мета: Формувати поняття звірі птахи повторити назви птахів та ввести до активного словникового запасу учнів назви тварин англійською мовою закріпити знання про особливості вживання дієслова to hve в теперішньому неозначеному часі; розвивати навики мовлення та вміння порівнювати спостерігати...