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


 

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

69962. МЕНТАЛЬНЫЕ ВОЗМОЖНОСТИ ДОШКОЛЬНИКОВ КАК УСЛОВИЕ ИХ СПОСОБНОСТИ К ПРАВДИВОМУ И НЕПРАВДИВОМУ ПОВЕДЕНИЮ 65.5 KB
  Так под поведением понимается такая протяженная во времени активность человека которая включает в себя инициативные обращенные или ответные воздействия человека на любые воздействия других людей. Именно поведение человека отражает его представления о себе окружающем его мире...
69963. ВЛИЯНИЕ ПРОФЕССИОНАЛЬНЫХ ДЕСТРУКЦИЙ НА СТАНОВЛЕНИЕ ПРОФЕССИОНАЛЬНОЙ ИДЕНТИЧНОСТИ ПРЕПОДАВАТЕЛЯ ВУЗА 115.5 KB
  В статье рассматривается проблема влияния профессиональных деструкций на развитие профессиональной идентичности преподавателя высшей школы. Понятие идентичности под которой подразумевается твердо усвоенный и личностно принимаемый образ себя во всем богатстве...
69964. ФОРМИРОВАНИЕ ЭФФЕКТИВНОЙ ПЕДАГОГИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ В ВУЗЕ ПОСРЕДСТВОМ ДИАЛОГИЧЕСКОГО ВЗАИМОДЕЙСТВИЯ 67 KB
  Однако несмотря на значительное количество исследований к настоящему времени еще не сложилась целостная концепция формирования межличностного диалогического взаимодействия в учебном процессе. Объясняется это не столько низким уровнем знаний информированности студентов...
69965. ВЕРБАЛЬНЫЙ ИНТЕЛЛЕКТ И ЧЕРТЫ ЛИЧНОСТИ СТУДЕНТА-ПСИХОЛОГА 43.13 KB
  В статье на основе парадигмы интеллекта как ментального опыта представлен анализ структуры вербального интеллекта и соотношения его факторов а также динамика функционирования вербального интеллекта в процессе формирования тематических и категориальных группировок.
69966. ЛИЧНОСТНЫЕ ОСОБЕННОСТИ СТУДЕНТОВ, СКЛОННЫХ К ИНТЕРНЕТ-ЗАВИСИМОМУ ПОВЕДЕНИЮ 208.5 KB
  В связи с этим в последнее десятилетие наряду с такими распространенными зависимостями как наркомания алкоголизм появился качественно новый феномен интернет-зависимость. В данной статье освещены теоретические взгляды на проблему компьютерной зависимости у студентов...
69967. Проблема осмысленности жизни и здоровья в раннем юношеском возрасте 209 KB
  Данная статья посвящена теоретическому анализу проблемы взаимосвязи осмысленности жизни и здоровья. Полетаева 2001 который в свою очередь определяет место здоровья в индивидуальной иерархии терминальных и инструментальных ценностей человека особенности мотивации в области здорового...
69968. КОГНИТИВНЫЕ МОДЕЛИ ЛИЧНОСТИ ЭТАЛОННОГО И РЕАЛЬНОГО УЧЕНИКА В ПЕДАГОГИЧЕСКОМ СОЗНАНИИ: ПСИХОСЕМАНТИЧЕСКИЙ АНАЛИЗ 90.5 KB
  На примере сравнительного анализа когнитивных моделей личности эталонного и реального учеников доказывается что содержание эталонатеории личности школьника существующей в профессиональном сознании педагога выступает как суррогат знаний препятствующий адекватному познанию учителем личности ребенка.
69969. Психолого – акмеологическая специфика коммуникации в системе «врач-больной» 156.5 KB
  Минск старший преподаватель кафедры юридической психологии Эффективность медицинской помощи во многом зависит от умения врача общаться с пациентом. Взаимоотношения медицинского работника и больного складываются индивидуально в зависимости от особенностей состояния и личности пациента...
69970. ОСОБЕННОСТИ ФОРМИРОВАНИЯ СОДЕРЖАНИЯ ПРОФЕССИОНАЛЬНОГО СОЦИАЛЬНОГО ОБРАЗОВАНИЯ 72 KB
  Теоретические основы формирования содержания профессионального социального образования предполагают рассмотрение следующих вопросов: 1 нормативные основания конструирования содержания профессионального образования; 2 специфика отражения в содержании образования глобальных...