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


 

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

37560. Философия в Беларуси: основные идеи и этапы развития 164.5 KB
  Философия в Беларуси: основные идеи и этапы развития Формирование условий подготовивших возможность возникновения философии Беларуси следует связать с принятием христианства во времена Киевской Руси. Становление же профессиональной философской деятельности в Беларуси произошло в период Возрождения; оно связано с именем белорусского первопечатника и гуманиста Франциска Скорины. Вместе с тем своеобразие социальноэкономического и общественнополитического развития Беларуси отложило свой отпечаток на развитие национальной духовной традиции...
37561. Философия как мировоззренческая концепция 280 KB
  Понятие человека сущность человека. Чем солиднее запас знаний в ту или иную эпоху у того или иного народа или отдельного человека тем более серьезную опору может получить соответствующее мировоззрение. Мировоззрение комплексная форма сознания объемлющая самые разные пласты человеческого опыта способно раздвигать узкие рамки повседневности конкретного места и времени соотносить данного человека с другими людьми включая и тех что жили раньше будут жить потом. В мифологии отсутствовали отчётливые разграничения мира и человека...
37562. ИЗУЧЕНИЕ ПРОБЛЕМ ФИЛОСОФИИ ИСТОРИИ в курсах «Философии» и «Культурологии» 212.5 KB
  ИЗУЧЕНИЕ ПРОБЛЕМ ФИЛОСОФИИ ИСТОРИИ в курсах Философии и Культурологии Учебнометодическое пособие для студентовзаочников Петрозаводск 2001 Учебнометодическое пособие Изучение проблем философии истории в курсах Философии и Культурологии рассмотрено и одобрено на заседаниях секции гуманитарных дисциплин 25 мая 2001 года и научнометодического совета Карельского филиала СЗАГС 29 мая 2001 года. 3 Распределение материала философии истории по курсам Философии и Культурологии . Содержание...
37563. СПЕЦПИТАННЯ ФІЛОСОФІЇ 953.5 KB
  Основні фції: 1 синтез знань і створення єдиної картини світу відповідної певному рівню розвитку науки культури та історичного досвіду; 2 обгрунтування виправдання і аналіз світогляду; 3 розробка загальної методології пізнання і діяльності людини в навколишньому світі.У цих рядках чудово те що походження пам'яті связиввется в них з походженням таких безперечно історичних прийомів поведінки як рахунок і писемність; ми побачимо дійсно що пам'ять сучасної людини є таким же продуктом його культурного соціального розвитку як і його мова...
37564. ОСНОВЫ ФИЛОСОФИИ НАУКИ 2.68 MB
  Фатхи ОСНОВЫФИЛОСОФИИ НАУКИ Учебное пособие для аспирантов OCR: В. К 55 Основы философии науки: Учебное пособие для аспирантов. Основное внимание уделено философскому анализу науки как специфической системы знания формы духовного производства и социального института. Рассмотрены общие закономерности развития науки ее генезис и история структура уровни и методология научного исследования актуальные проблемы философии науки роль науки в жизни человека и общества перспективы ее развития и ряд других проблем.
37565. ФИЛОСОФИЯ. Конспект лекций 383 KB
  Она принадлежит к тому природу чего мы все знаем лишь мысля их сами когда мы уже в философии. Строго говоря философии нельзя научить как нельзя научить поэзии или музыке. В философии как в искусстве свое ремесло навыки приемы что помогает а увидеть проблему там где ее не видят другие б не делать трагедии из факта сосуществования различных способов объяснения мира в терпеливо принимать инакомыслие другого г складно формулировать и выражать свои идеи д отслеживать ясность ума честность...
37566. ФОРМИРОВАНИЕ СПЕЦИАЛИСТА В СИСТЕМЕ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИХ ОТНОШЕНИЙ В ВУЗЕ 496 KB
  ОБЩИЕ ВОПРОСЫ РАЗВИТИЯ ВУЗОВСКОЙ СИСТЕМЫ ОБРАЗОВАНИЯ И УЧАСТИЕ В НЕЙ СТУДЕНТОВ. реформа ВЫСШЕЙ ШКОЛЫ ГЛАЗАМИ СТУДЕНТОВ И ПРЕПОДАВАТЕЛЕЙ. При всем многообразии форм и методов качественной профессиональной подготовки будущих специалистов одно из важнейших мест занимает привлечение студентов к общественному управлению вуза воспитания его активной нравственной позиции и политического сознания....