Тема № 1.  проектирование логической модели базы данных — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Тема № 1.  проектирование логической модели базы данных

2019-11-19 283
Тема № 1.  проектирование логической модели базы данных 0.00 из 5.00 0 оценок
Заказать работу

Е.В. НУРМАТОВА, Е.В. КРЕХОВ

 

РАЗРАБОТКА БАЗ ДАННЫХ

 

Лабораторный практикум

для студентов, обучающихся по направлению 09.03.01 «Информатика и вычислительная техника», 09.03.02 «Информационные системы и технологии».

 

Москва – 2018

 

УДК 681.3.01 [004.6]

ББК 32.973.26-018.2

Н90

 

Нурматова Е.В. Разработка баз данных [Электронный ресурс]:  лабораторный практикум/ Е.В. Нурматова, Е.В. Крехов – М.: Московский технологический университет (МИРЭА), 2018.— 1 электрон. опт. диск (CD-ROM).

 

В практикуме изложены вопросы моделирования базы данных и определения необходимых ограничений целостности. Особое внимание уделено технологии разработки приложений баз данных с использованием методов отсоединенных и присоединённых объектов.

Предназначено для студентов высших учебных заведений, обучающихся по направлениям 09.03.01 «Информатика и вычислительная техника», 09.03.02 «Информационные системы и технологии».

 

Лабораторный практикум издается в авторской редакции.

 

Авторский коллектив: Елена Вячеславовна Нурматова, Евгений Викторович Крехов

 

Рецензенты: Вячеслав Валерьевич Филатов; к.т.н., доцент кафедры «Управление и моделирование систем»

 

 Минимальные системные требования: 

Наличие операционной системы Windows, поддерживаемой производителем.

Наличие свободного места в оперативной памяти не менее 128 Мб.

Наличие свободного места в памяти хранения (на жестком диске) не менее 30 Мб.

Наличие интерфейса ввода информации.

Дополнительные программные средства: программа для чтения pdf-файлов (Adobe Reader). Подписано к использованию по решению Редакционно-издательского совета Московского технологического университета от «28» марта 2018 г.

Тираж 10

© Е.В Нурматова, Е.В Крехов, 2018

                                                                                  © Московский технологический

                                                                                            университет (МИРЭА), 2018


оглавление

ТЕМА №1  ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКОЙ МОДЕЛИ БАЗЫ ДАННЫХ.. 4

ТЕМА №2 СОЗДАНИЕ БАЗЫ ДАННЫХ В СРЕДЕ MS SQL SERVER MANAGEMENT STUDIO.. 14

Тема №3  СОЗДАНИЕ ТАБЛИЦ И ОГРАНИЧЕНИЙ В СРЕДЕ MS SQL SERVER MANAGEMENT STUDIO.. 30

ТЕМА №4  РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ МЕТОДОМ ОТСОЕДИНЁННЫХ ОБЪЕКТОВ ADO. NET.. 43

ТЕМА №5  РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ МЕТОДОМ ПОДСОЕДИНЁННЫХ ОБЪЕКТОВ ADO. NET.. 52

ПРИЛОЖЕНИЕ 1  Варианты ИНДИВИДУАЛЬНЫХ заданий.. 72

Список литературы... 77

 

                                                                                

 

 

ТЕМА № 1.  ПРОЕКТИРОВАНИЕ ЛОГИЧЕСКОЙ МОДЕЛИ БАЗЫ ДАННЫХ

Среда Visio для моделирования логической модели данных

В среде Visio применяется пользовательский интерфейс Office Fluent, включающий ленту, содержащую 10 основных, 4 инструментальных и ряд контекстных вкладок. Кроме того, пользователь может дополнительно создавать настраиваемые вкладки и группы.

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

Типы документов Visio:

1. Диаграммы и блок-схемы различного назначения (аудит, дерево ошибок, организационные диаграммы, причинно-следственные связи, диаграммы маркетинга и др.).

2. Карты вычислительных сетей, каталогов LDAP и Active Directory.

3. Карты сайтов, связи между объектами в программном обеспечении, структуры и интерфейсы программ, потоки данных.

4. Планы помещений, этажей, инженерно-технических коммуникаций.

5. Схемы рабочего процесса.

6. Чертежи и схемы электронных устройств.

С  помощью Visio отобразить важные сведения наглядно гораздо проще: открыть шаблон, перетащить в документ подходящие фигуры, применить темы.

Создать новую или реконструировать существующую базу данных в модель можно с помощью шаблона «Схема модели базы данных» (рис.1.1).

 

Цели лабораторной работы №1

1. Получение навыков работы с графическим пакет MS Visio в части моделирования данных.

2. Обучение основам обеспечения нормализации данных при проектировании логической модели.

3. Обучение основным операциям создания индексов на этапе проектирования.

 

Порядок выполнения работы

1. Изучить методические указания.

2. Запустить среду Microsoft Visio.

3. Создать логическую модель базу данных по варианту задания.

4. Изменить параметры дизайн-модели.

5. Оформить отчёт.

 

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

1. Требования к логическим моделям данных.

2. Характеристика и назначение индексов.

3. Типы связей между данными в модели.

4. Ограничения данных в логической модели, создание проверок.

 

   Требования к отчёту

Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнив­ший работу и преподаватель, принявший отчет.

Отчёт должен включать в себя следующие пункты:

1. Постановка задачи (формулировка задания).

2. Логическая модель данных.

3. Реконструкция базы данных в логическую структуру.

4. Составить таблицу с информацией о вашей базе данных.

 

Подключение к серверу

В окне «Соединение с сервером» необходимо указать следующую информацию:

· Тип сервера. Здесь следует выбрать, к какой именно службе необходимо подключится. Оставьте вариант «Компонент Database Engine».

· Имя сервера. Позволяет указать, к какому серверу будет осуществляться подключение. По умолчанию имя SQL Server совпадает с именем компьютера. Выберите ваш локальный компьютер.

· Проверка подлинности. Способ аутентификации, можно выбрать «Проверка подлинности Windows» или «Проверка подлинности SQL Server». Первый способ использует учетную запись, под которой текущий пользователь осуществил вход в Windows. Вариант SQL Server использует свою собственную систему безопасности. Оставьте вариант проверки подлинности Windows.

После подключения экземпляр сервера будет отображаться на панели «Обозреватель объектов». Окно Management Studio имеет следующую структуру:

 

· Оконное меню – содержит полный набор команд для управления сервером и выполнения различных операций.

· Панель инструментов – содержит кнопки для выполнения наиболее часто производимых операций. Внешний вид данной панели зависит от выполняемой операции.

· Панель «Обозреватель объектов» (рис.2.1). Это панель с древовидной структурой, отображающая все объекты сервера, а также позволяющая производить различные операции, как с самим сервером, так и с его базами данных и их объектами. Обозреватель объектов является основным инструментом для разработки.

· Рабочая область. В рабочей области производятся все действия с базой данных, а также отображается её содержимое.

Рисунок 2.1 - Панель «Обозреватель объектов»

Прежде чем перейти к созданию своих собственных рабочих баз данных рассмотрим служебные базы данных SQL Server, которые создаются автоматически в процессе его установки. Если мы раскроем узел «Базы данных – Системные базы данных» в обозревателе объектов, то увидим следующий набор служебных баз данных:

· master. Главная служебная база данных всего сервера. В ней хранится общая служебная информация сервера: настройки его работы, список баз данных на сервере с информацией о настройках каждой базы данных и ее файлах, информация об учетных записях пользователей, серверных ролях и т.п.

· msdb. Эта база данных в основном используется для хранения информации службы SQL Server Agent (пакетных заданий, предупреждений и т.п.), но в нее записывается и другая служебная информация (например, история резервного копирования).

· model. Эта база данных является шаблоном для создания новых баз данных в SQL Server. Если внести в нее изменения, например, создать набор таблиц, то эти таблицы будут присутствовать во всех создаваемых базах данных.

· tempdb. Эта база данных предназначена для временных таблиц и хранимых процедур, создаваемых пользователями и самим SQL Server. Эта база данных создается заново при каждом запуске SQL Server.

 

Цели лабораторной работы №2

1. Получение навыков работы с СУБД Microsoft SQL Server.

2. Обучение основам программирования на SQL в Microsoft SQL Server.

3. Обучение основным операциям управле­ния БД.

Порядок выполнения работы

    1. Изучить методические указания.

    2. Запустить среду Microsoft SQL Server Management Studio.

    3. Создать тестовую базу данных по выбранному варианту задания.

    4. Получить информацию из системных таблиц о тестовой базе данных.

     5. Оформить отчёт.

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

1. Соединение сервером баз данных в Enterprise Manager Microsoft SQL Server.

2. Системные таблицы Microsoft SQL Server.

3. Создание базы данных в Enterprise Manager Microsoft SQL Server.

4. Основные операторы Transact-SQL для создания базы данных.

5. Подключение и отключение баз данных.

Требования к отчёту

Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнив­ший работу и преподаватель, принявший отчет.

Отчёт должен включать в себя следующие пункты:

1. Постановка задачи (формулировка задания).

2. Листинг запроса для создания вашей базы данных, индивидуальный вариант выберите из таблицы 2.2.

3. Описание файлов для хранения вашей базы данных.

4. Листинг запроса на выборку информации о вашей базе данных.

5. Составить таблицу с информацией о вашей базе данных.

Таблица 2.2 -  Перечень заданий

№ вар Задание
1 Контроль параметров процесса. Составить базу данных контроля параметров процесса, содержащую сле­дующую информацию: шифр параметра, наименование, размерность, ми­нимальное значение, максимальное значение, текущее значение, шифр ап­парата, наименование аппарата, линейные размеры и др. Вывести список контролируемых параметров по выбранному аппарату. Рассчитать количе­ство однотипных датчиков с выводом списка контролируемых этими датчиками параметров.
2 Учет успеваемости по группам. Составить базу данных учета успеваемости по группам, содержащую сле­дующие данные: номер зачетной книжки, фамилия, имя, отчество студента, год рождения, шифр группы, наименование предмета, оценка, преподава­тель, кафедра и др.. Вычислить: среднюю оценку студента, группы, средний балл по предмету и количество студентов по группе, получивших оценку «отл.», «хор.», «удовл.», «неуд.».
3 Расчёт стипендии студентов. Составить базу данных учёта выплат стипендии студентам, содержащую следующие данные: номер зачетной книжки, фамилия, имя, отчество сту­дента, год рождения, шифр группы, рейтинг, коэффициент доплаты, основ­ная стипендия, сумма доплаты, общая сумма, месяц выплаты и др. Опреде­лить количество (в %) студентов, получающих повышенную стипендию, обычную стипендию, не получающих стипендию, а также рассчитать общий стипендиальный фонд.
4 Подбор технических средств измерения температуры. Составить базу данных, полями которой являются: тип датчика, градуиров­ка датчика, предел измерения, монтажная длина, тип вторичного прибора, градуировка вторичного прибора, количество точек измерения, дополни­тельные функции и др. По известной длине датчика, количеству датчиков, границам измерения температуры вывести список датчиков и необходимых к ним вторичных приборов. рассчитать суммарную стоимость подобранных компонентов.
5 Учёт работы автотранспортного хозяйства. Составить базу данных учёта работы автотранспортного хозяйства, содер­жащую следующие данные: табельный номер водителя, фамилия и инициа­лы, класс, дата, пробег, тоннаж, номер путевого листа, тип автомобиля, но­мер и др. Рассчитать зарплату за текущий месяц для каждого водителя из расчета 1 км_тонна - 3 коп.
6 Учёт поверки приборов. Составить базу данных учёта поверенных приборов завода, содержащую следующие данные: цех, в котором эксплуатируется прибор, тип прибора, класс точности прибора, дата выпуска, дата постановки на учёт, дата последней поверки, результаты поверки и т.д. Вывести список всех приборов заданного типа, нуждающихся в поверке по каждому цеху завода.

Продолжение  таблицы 2.2

7 Учёт работы компьютерной фирмы. Составить базу данных учета работы компьютерной фирмы, содержащую следующие данные: марка компьютера, тип процессора, тактовая частота, размер оперативной памяти и жесткого диска, цена, начальное количество, дата продажи, фамилия покупателя, количество проданных и др. Вывести список и рассчитать количество проданных компьютеров определенной марки за заданный интервал времени, прибыль от продажи каждой конкретной марки и общую стоимость покупки отдельным покупателем.
8 Подбор микроконтроллера. Составить базу данных, содержащую информацию о выпускаемых микроконтроллерах: марка контроллера, фирма-изготовитель, ориентировочная цена, количество аналоговых входов, количество аналоговых выводов, количество дискретных входов, количество дискретных выходов. Вывести список всех микроконтроллеров одной фирмы, подобрать необходимый контроллер по заданному количеству входов и выходов. рассчитать суммарную стоимость подобранных компонентов.
9 Учет работы городской АТС. Составить базу данных учета работы городской АТС, которая содержит следующие данные: фамилия абонента, домашний адрес, номер телефона, номер месяца, абонентная плата, количество часов, количество часов по межгороду, дата оплаты и др. Организовать поиск: адрес абонента по номе­ру телефона, а также номер телефона по фамилии; вывести список задолжников на установленный срок уплаты и сумму задолженности.
10 Подбор средств измерения вязкости жидких сред. Составить базу данных, содержащую характеристики промышленных вискозиметров: марка прибора, род измеряемых жидкостей, класс точности, диапазон измеряемых вязкостей, принцип измерения вязкости среды, фирма-изготовитель, ориентировочная цена. Вывести список всех вискозиметров по принципу действия, по фирме-производителю и заданному диапазону концентраций и вязкостей. Предусмотреть вывод отдельно по каждому из критериев поиска и по всем критериям одновременно.
11 Учёт работы кассы аэропорта. Составить базу данных учёта работы кассы аэропорта, данными которой являются: номер рейса, пункт назначения, время вылета, дата вылета, фами­лия и инициалы пассажира, номер документа, стоимость билета, признак прохождения регистрации и др. Вывести список пассажиров на заданный рейс, рассчитать количество билетов, проданных на рейс и их общую стоимость, с учетом возврата не вылетевшим пассажирам 50 % стоимости.
12 Расчёт нагрузки преподавателей. Составить базу данных расчёта нагрузки преподавателей, содержащую сле­дующие данные: табельный номер, фамилия, имя, отчество преподавателя, год поступления на работу, звание, учёная степень, дисциплины, номер се­местра, количество часов, наличие экзамена или зачёта и др. Рассчитать процентное соотношение профессоров, доцентов и ассистентов, а также общую нагрузку в часах каждого преподавателя.
13 Подбор сетевых компонентов. Составить базу данных, содержащую следующую информацию: тип сетевого компонента, фирма-изготовитель, фирма-поставщик, цена, сетевая архитектура, топология, время поставки и т.д. Вывести список необходимых компонентов для заданной архитектуры сети, рассчитать время поставки всего оборудования по заданному набору сетевых компонентов. Рассчитать суммарную стоимость подобранных компонентов.  

Продолжение  таблицы 2.2

14 Учёт ГСМ. Составить базу данных учёта работы склада горюче-смазочных материалов, данными которой являются: шифр ёмкости, наименование ёмкости, макси­мальный объём, шифр продукта, наименование продукта, плотность про­дукта, его масса в ёмкости и др. Рассчитать объём каждого конкретного продута.
15 Подбор промышленных регуляторов. Составить базу данных для подбора регуляторов, содержащую следующую информацию: тип регулятора, фирма-изготовитель, реализуемые алгоритмы регулирования, характер входного и выходного сигналов, возможность интеграции в верхний уровень, дополнительные характеристики, цена. Осуществить подбор регуляторов для заданного набора алгоритмов регулирования, рассчитать суммарную стоимость подобранных компонентов.
16 Учет движения продуктов по складу горюче-смазочных материалов. Составить базу данных, полями которой являются: шифр продукта, наиме­нование продукта, объём, признак прибытие/убытие, дата, наименование (фамилия) потребителя/поставщика номер счёта потребителя/поставщика, адрес, телефон и др. Вывести динамику поступления-убытия каждого кон­кретного продукта, а также общий объём движения продуктов на складе ГСМ (сколько прибыло и убыло за текущий месяц).
17 Учёт работы железной дороги. Составить программу работы с базой данных, содержащую следующие дан­ные: номер вагона, тип вагона, грузоподъёмность, потребитель, адрес, рас­чётный счёт потребителя, дата отправки, дата возврата, общая стоимость аренды и др. Рассчитать стоимость аренды для конкретного пользователя.  
18 Учёт железнодорожных пассажирских перевозок. Составить базу данных учёта железнодорожных пассажирских перевозок, содержащую следующие данные: номер поезда, пункт отправления, пункт назначения, время отправления, время прибытия, дата отправления, номер вагона, тип вагона, номер места, признак продан - не продан, признак по­ехал - не поехал и др. Рассчитать общую выручку от продажи билетов, с учётом возврата 30 % их стоимости, если пассажир не поехал. Рассчитать количество свободных мест по каждому типу места, а также число непроданных билетов на конкретный поезд.
19 Учёт вторичных приборов. Составить базу данных учёта вторичных приборов, содержащую информацию: тип прибора, класс точности, входной сигнал (характер, диапазон), наличие рекомендуемого преобразователя, наличие датчика, подключаемого напрямую, фирма-изготовитель. Вывести список приборов по заданному входному сигналу, по заданному датчику, подобрать наиболее точный или наиболее дешёвый вариант из предложенных.
20 Учет работы библиотеки. Составить базу данных учёта работы библиотеки, содержащую следующие данные: шифр книги, автор, наименование, год издания, фамилия абонента, адрес, дата выдачи, дата возврата и др. Вывести список абонентов, имею­щих задолженности на текущее число, штраф каждого из расчета 0,5 руб. за 1 день задержки каждой книги.
21 Учёт работы ГАИ. Составить базу данных отделения ГАИ, данными которой являются: марка автомобиля, номерной знак, фамилия и инициалы водителя, год выпуска, объём двигателя, уплаченный в месяц налог, номер месяца и др. Вывести статистику распределения автомобилей по марке модели, по годам выпуска, по объёму двигателя, а также транспортный налог за текущий год из расчё­та: до 1500 см3 - 3 p./месяц; 1500-1900 см3 - 5 р./месяц; свыше 1900 см3 - 7 р./месяц.

Продолжение  таблицы 2.2

22 Расчёт планового выпуска продукции предприятием. Составить базу данных для учёта планового выпуска продукции предпри­ятием, если известны: наименование продукта, количество, выпускаемое за сутки, размерность, цена за единицу продукции и затраты на выпуск, на­именование цеха, число работающих, количество смен в сутки, величина годового капитального ремонта. Рассчитать годовую прибыль каждого цеха, если известна средняя заработная плата его работников.
23 Организация работы отдела кадров. Составить базу данных отдела кадров, данными которой являются: шифр кафедры, наименование кафедры, фамилия заведующего, фамилия и ини­циалы сотрудника, год рождения, должность, домашний адрес, домашний телефон и др. Рассчитать общее число сотрудников на кафедрах, а также систематизировать сотрудников кафедры по должности.
24 Учёт средств автоматизации в цеху. Составить базу данных, содержащую следующие данные: номер участка, номер аппарата, название аппарата, параметры контроля и регулирования, точность контроля и регулирования, приборы контроля и регулирования (датчик, преобразователь, вторичный прибор, регулятор, исполнительный механизм), дата поверки. Осуществить поиск аппаратов по номеру участка, вывести список параметров по аппарату, список приборов по параметру, список приборов, нуждающихся в поверке.

 

Создание ограничений

Перед тем как начать работать с таблицами следует ограничить вводимые в них данные в целях обеспечения так называемой целостности данных, т. е. ограничить возникновение в базе данных некорректных или противоречивых данных вследствие добавления, изменения или удаления какой-либо записи, например, ввод отрицательной цены или количества товара. Существует четыре типа целостности данных: доменная, сущностная, ссылочная и пользовательская (или бизнес-правила). Рассмотрим основные инструменты, предоставляемые в SQL Server для их реализации.

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

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

Первичный ключ используется для обеспечения гарантии уникальности каждой записи в таблице. Он состоит из одного (простой ключ) или нескольких (составной ключ) столбцов с гарантированно уникальными значениями для каждой записи таблицы. Если пользователь попытается ввести в поля первичного ключа дублирующее значение будет сгенерирована ошибка и модификация данных будет отменена.

В качестве примера создадим первичный ключ для таблицы STUD. В данном случае идеальным кандидатом на роль первичного ключа выступает столбец Id, поскольку значения, содержащиеся в нем, являются уникальными по определению (для него установлено свойство identity). Для создания первичного ключа в таблице STUD выполните следующие шаги:

1. В контекстном меню таблицы STUD выберите команду «Проект».

2. В окне конструктора таблиц щелкните правой кнопкой мыши на поле Id и выберите команду «Задать первичный ключ» или нажмите кнопку  на панели инструментов (рис. 3.2). Обратите внимание на то, что слева от поля Id теперь отображается значок ключа, указывающий, что поле является первичным ключом.

3. Закройте конструктор таблиц с сохранением изменений

 

Рисунок 3.2 - Окно ввода первичного ключа

 

Использование ограничений на уникальность. Между ограничениями первичного ключа и ограничениями на уникальность существует два отличия. Первое состоит в том, что первичные ключи используются вместе с внешними ключами для обеспечения целостности ссылок (рассматривается в следующем разделе). Второе отличие заключается в том, что ограничения на уникальность позволяют вставлять в его поля пустые значения (null), чего нельзя делать с первичными ключами. Во всем остальном они служат одной цели – обеспечить уникальность данных, вставляемых в поле. Ограничение на уникальность следует использовать в тех случаях, когда нужно гарантировать, что дублирующие значения не будут добавляться в поле, не являющееся частью первичного ключа, в частности, все потенциальные ключи должны быть организованы в виде ограничений уникальности. Хорошим примером такого поля, требующего ограничение на уникальность, является поле Code, поскольку это поле должно быть уникальными у каждого студента.

1. Для открытия конструктора таблиц в контекстном меню таблицы STUD выберите команду «Проект». На панели инструментов нажмите на кнопку «Управление индексами и ключами» .

2. В открывшемся окне «Индексы и ключи» щелкните кнопку «Добавить» и введите следующие параметры для нового уникального ключа (рис. 3.3):

· Столбцы: Code

· Тип: Уникальный ключ

· (Имя): CK_Code

Рисунок 3.3 - Диалоговое окно создание ограничения на уникальность

 

3. Закройте конструктор таблиц с сохранением изменений.

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

Суть обеспечения целостности ссылок очевидна из названия: данные в одной таблице, ссылающиеся на данные из другой таблицы, защищены от некорректного обновления. В терминологии SQL Server это называется декларативной ссылочной целостностью и достигается путем связывания первичного ключа одной из таблиц с внешним ключом другой таблицы (создается так называемое ограничение внешнего ключа).

Внешний ключ используется в комбинации с первичным для связывания двух таблиц по общему столбцу (столбцам). К примеру, можно связать таблицы STUD и VED по столбцу IdStud, который присутствует в обеих таблицах. Поскольку поле Id таблицы STUD является его первичным ключом можно использовать поле IdStud таблицы VED в качестве внешнего ключа, который свяжет эти две таблицы. После организации такого ограничения будет невозможно добавить запись в таблицу VED, если в таблице STUD нет записи с соответствующим значением Id. Кроме того, при отсутствии каскадирования (рассматривается в следующем разделе) невозможно удалить запись из таблицы STUD при наличии связанных с ней записей в таблице VED, поскольку нельзя закрыть ведомость без информации о студенте. Для создания описанного ограничения внешнего ключа в Management Studio выполните следующие шаги:

1. В контекстном меню для таблицы VED выберите команду «Отношения…» (рис. 3.4).

 

Рисунок 3.4 - Диалоговое окно связей таблицы VED

2. В открывшемся окне «Отношения внешнего ключа» заполните следующие поля (рис. 3.5):

·     (Имя): FK_VED_STUD

·     Спецификация таблиц и столбцов: для заполнения данного блока щелкните на кнопке с многоточием и в появившемся окне «Таблицы и столбцы» в качестве таблицы первичного ключа выберите STUD, а полей связи - IdStud.

 

Рисунок 3.5 - Диалоговое окно создание внешнего ключа

 

3. Закройте все открывшиеся окна с сохранением изменений.

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

Настроить правила каскадирования можно при создании ограничения внешнего ключа в окне «Связи по внешнему ключу» изменяя значения параметров «Правило обновления» и «Правило удаления» блока «Спецификация INSERT и UPDATE». Оба этих параметра могут содержать четыре значения, описанные в таблице 3.2.

 

 

Таблица 3.2 - Настройки правил каскадирования

Настройка Правило удаления Правило обновления
Нет действия Невозможно удалить в главной таблице строку, на которую есть ссылки в подчиненной Невозможно обновить значения полей первичного ключа главной таблицы при наличии связанных записей в подчиненной
Каскадо При удалении строки в главной таблице все связанные строки в подчиненной также будут удалены При обновлении значений полей первичного ключа главной таблицы соответствующим образом будут изменены и их значения во всех связанных строках подчиненной таблицы
Присвоить Null При удалении строки в главной таблице во всех связанных строках подчиненной полям вторичного ключа будет присвоено значение Null При обновлении значений полей первичного ключа главной таблицы во всех связанных строках подчиненной таблицы полям вторичного ключа будет присвоено значение Null
Присвоить значение по умолчанию При удалении строки в главной таблице во всех связанных строках подчиненной полям вторичного ключа будут присвоены значения по умолчанию При обновлении значений полей первичного ключа главной таблицы во всех связанных строках подчиненной таблицы полям вторичного ключа будут присвоены значения по умолчанию

 

    5. Использование диаграмм баз данных

Диаграммы базы данных представляют собой графическое отображение схемы (целиком или частично) базы данных с таблицами и столбцами, а также связей между ними. Создадим диаграмму базы данных (рис. 3.6):

1. В контекстном меню папки «Диаграммы базы данных» выберите команду «Создать диаграмму базы данных».

2. В диалоговом окне «Добавление таблиц» выберите все таблицы и нажмите на кнопку «Добавить».

3. Добавив таблицы, щелкните на кнопке «Закрыть» и вы увидите созданную диаграмму базы данных (на рисунке представлен окончательный вид диаграммы: некоторые связи у вас могут отсутствовать).

 

Рисунок 3.6 - Диаграмма базы данных EDU

 

Используя диаграмму базы данных ограничения внешнего ключа можно создавать значительно быстрее: лишь перетаскивая поля из одной таблицы в другую. В качестве примера создадим внешний ключ в таблице VED по полю IdPred для связи с таблицей PRED:

1. Выделите в таблице PRED поле Id и, не отпуская кнопку мыши, перетащите его на поле IdPred таблицы VED.

2. В диалоговых окнах «Таблицы и столбцы» и «Связь по внешнему ключу» примите настройки по умолчанию.

3. Сохраните диаграмму базы данных под именем Main.

4. Расположите таблицы в канонической форме (главные таблицы выше подчиненных) в соответствии с вышеприведенным рисунком.

Цели лабораторной работы №3

1. Освоение методики обеспечения ссылочной целостности в базах данных, состоящей из 2-х и более таблиц.

2. Получение навыков построения структуры базы данных.

 

 Порядок выполнения работы

1. Изучить методические указания.

2. Определить структуру базы в соответствии с вариантом задания (см. методические указания к л/р №1), обеспечив связь с дополнительной таблицей (ее данные определяются студентами самостоятельно) типа «один-ко-многим».

3. Создать таблицы базы данных.

4. Обеспечить ссылочную целостность в базе данных.

5. Оформить отчёт.

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

1. Организация ссылочной целостности.

2. Формирование индексных полей (первичных, вторичных, внешних).

3. Ограничения на уникальность.

4. Использование каскадной ссылочной целостности.

5. Создание диаграммы базы данных.

Требования к отчёту

Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнив­ший работу и преподаватель, принявший отчет.

Отчёт должен включать в себя следующие пункты:

1. Постановка задачи (формулировка задания).

2. Таблица параметров связей, таблица характеристик индексов.

3. Структура базы данных с определением типа связи.

4. Диаграмма базы данных.

 

 


Порядок выполнения работы

1. Изучить методические указания.

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

3. Выбрать в качестве основной таблицу из задания в лабораторной работе №2.

4. Разработать Windows-приложение в среде Visual Studio.NET для работы с выбранной таблицей (размер таблицы не менее 15 записей).

5. Оформить отчёт.

   

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

1. Методы ADO.NET для работы с базой данных.

2. Метод связывания приложения с базой данных отсоединенными объектами ADO.NET.

3. Описание объекта DataSet.

4. Описание объекта DataTable.

5. Способы создания объекта DataAdapter.

6. Элементы управления для доступа к данным (имена, свойства).

7. Элементы управления для отображения и редактирования данных (имена, свойства).

8. Связь компонент для работы с базой данных в приложении.

Требования к отчёту

Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнив­ший работу и преподаватель, принявший отчет.

Отчёт должен включать в себя следующие пункты:

1. Постановка задачи (формулировка задания).

2. Условные обозначения (расшифровка обозначений).

3. Расчётные зависимости.

4. Выбор метода решения.

5. Структура базы данных.

6. Программирование.

7. Результаты. Привести листинги программных модулей в текстовом виде.

8. Анализ результатов. Показать содержимое таблицы до и после внесения текущих изменений в базу данных, сделать вывод о работоспособности программы.

Способы создания команд

Существуют три способа создания команд для манипулирования данными.

 

1) Объявление и создание объекта команды непосредственно в программном коде с последующей настройкой этого объекта вручную (табл. 5.1).

Таблица 5.1 - Создание команды к базе данных

// Создать соединение с базой данных using (SqlConnection cs = new SqlConnection(Properties.Settings.Default.EDUConnectionString)) {// Открыть соединение с базой данных cs.Open(); // Создать команду к базе SqlCommand cmd = cs.CreateCommand(); }

2) использование инструментария, предоставляемого панелью ToolBox (вкладка Data). Объект соответствующего класса перетаскивается в окно дизайнера с последующей настройкой этого объекта. SqlCommand или OleDbCommand перетаскивается в окно конструктора со вкладки Data, при этом остается вручную задать свойства Connection, CommandText, CommandType (для определения типа команды, которая задается в свойстве CommandText). При этом свойство CommandType может принимать одно из трех значений:

a. Text – значение свойства CommandText воспринимается как текст команды SQL. При этом возможна последовательность допустимых операторов, разделенных точкой с запятой;

b. StoredProcedure – значение свойства CommandText воспринимается как имя существующей хранимой процедуры, которая будет исполняться при вызове данной команды;

c. TableDirect – при этом свойство CommandText воспринимается как непустой список имен таблиц, возможно, состоящий из одного элемента. При выполнении команды возвращаются все строки и столбцы этих таблиц;

3) размещение (путем перетаскивания) хранимой процедуры из окна Server Explorer в окно дизайнера. Команда соответствующего типа при этом создается автоматически на основе любой хранимой процедуры. При этом новый объект ссылается на хранимую процедуру, что позволяет вызывать эту процедуру без дополнительной настройки.

    4. Параметры ко


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.129 с.