На заседании кафедры Методическим советом ФИТ

«Программное обеспечение Прот. №

Компьютерных систем»

Прот. №

УДК 681.3.01

Составитель – доц. Раматов К.С.

Разработка клиент-серверных приложений SQL SERVER 2014+Access 2013: Методические указания к выполнению лабораторных работ по базам данных /Кырг. техн. ун-т, Бишкек, 2014.-48 с.

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

Предназначено для студентов направления «Программная инженерия» всех форм обучения.

Табл.4. Рис.3. Библиогр. 5 назван.

Рецензент:

ВВЕДЕНИЕ

Методические указания по выполнению лабораторных работ по дисциплине «Базы данных» ориентированы на студентов III курса. Они охватывают ряд вопросов по программе данной дисциплины.

Указания содержат:

· основные теоретические сведения;

· перечень обязательных заданий для выполнения лабораторных работ;

· указания к выполнению лабораторных заданий;

В методических указаниях приводятся наиболее полное представление основных понятий таких разделов курса «Базы данных» как “Таблицы”, “Представления”, “Ограничения целостности”, “Хранимые процедуры”, “Триггеры”, а также примеры написания кодов и решения задач с использованием языка Transact-SQL. Это позволит студентам как самостоятельно изучить теоретический материал по данным разделам, так и получить задание и решить задачи по лабораторным занятиям.

Методические указания могут быть полезны также студентам заочной и дистантной форм обучения.

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

Создание базы данных, таблиц и диаграмм (4 часа)

Цель работы

Освоение навыков построения архитектуры и обеспечения целостности баз данных (БД) с помощью СУБД SQL SERVER 2014.

Теоретические сведения

В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. В статье Е.Ф.Кодда утверждается, что "реляционная модель предоставляет средства описания данных на основе только их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для целей машинного представления". Другими словами, представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название "реляционная" происходит от английского relation - "отношение").

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

Определения:

  • Декартово произведение: Для заданных конечных множеств На заседании кафедры Методическим советом ФИТ - student2.ru (не обязательно различных) декартовым произведением На заседании кафедры Методическим советом ФИТ - student2.ru называется множество произведений вида На заседании кафедры Методическим советом ФИТ - student2.ru , где На заседании кафедры Методическим советом ФИТ - student2.ru

Пример: если даны два множества A (a1,a2,a3) и B (b1,b2), их декартово произведение будет иметь вид С=A*B (a1*b1, a2*b1, a3*b1, a1*b2, a2*b2, a3*b2)

  • Отношение: Отношением R, определенным на множествах На заседании кафедры Методическим советом ФИТ - student2.ru , называется подмножество декартова произведения На заседании кафедры Методическим советом ФИТ - student2.ru . При этом:
    • множества На заседании кафедры Методическим советом ФИТ - student2.ru называются доменами отношения;
    • элементы декартова произведения На заседании кафедры Методическим советом ФИТ - student2.ru называются кортежами;
    • число n определяет степень отношения ( n=1 - унарное, n=2 - бинарное, ..., n-арное);
    • количество кортежей называется мощностью отношения;

Пример: на множестве С из предыдущего примера могут быть определены отношения R1 (a1*b1, a3*b2) или R2 (a1*b1, a2*b1, a1*b2)

Отношения удобно представлять в виде таблиц. На рис. 1 представлена таблица (отношение степени 5), содержащая некоторые сведения о работниках гипотетического предприятия. Строки таблицы соответствуют кортежам. Каждая строка фактически представляет собой описание одного объекта предметной области (в данном случае работника), характеристики которого содержатся в столбцах. Можно провести аналогию между элементами реляционной модели данных и элементами модели "сущность-связь". Реляционные отношения соответствуют наборам сущностей, а кортежи - сущностям. Поэтому, также как и в модели "сущность-связь" столбцы в таблице, представляющей реляционное отношение, называют атрибутами.

На заседании кафедры Методическим советом ФИТ - student2.ru

Рис. 1 Основные компоненты реляционного отношения.

Каждый атрибут определен на домене, поэтому домен можно рассматривать как множество допустимых значений данного атрибута.

Несколько атрибутов одного отношения и даже атрибуты разных отношений могут быть определены на одном и том же домене. В примере, показанном на рис.1 атрибуты "Оклад" и "Премия" определены на домене "Деньги". Поэтому, понятие домена имеет семантическую нагрузку: данные можно считать сравнимыми только тогда, когда они относятся к одному домену. Таким образом, в рассматриваемом нами примере сравнение атрибутов "Табельный номер" и "Оклад" является семантически некорректным, хотя они и содержат данные одного типа.

Именованное множество пар "имя атрибута - имя домена" называется схемойотношения. Мощность этого множества - называют степенью или "арностью" отношения. Набор именованных схем отношений представляет из себя схему базы данных.

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

Отношение может содержать несколько ключей. Всегда один из ключей объявляется первичным(primary key, в дальнейшем будем обозначать PK), его значения не могут обновляться. Все остальные ключи отношения называются возможными ключами.

Комплекс программных средств, осуществляющих управление БД, основанных на реляционной модели, называют системой управления реляционными БД (СУРБД),

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

На заседании кафедры Методическим советом ФИТ - student2.ru

Рис. 2. База данных о подразделениях и сотрудниках предприятия.

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа "Номер_отдела" из первого отношения во второе. Таким образом:

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

1. из таблицы ОТДЕЛ установить значение атрибута "Номер_отдела", соответствующее данному "Наименованию_отдела"

2. выбрать из таблицы СОТРУДНИК все записи, значение атрибута "Номер_отдела" которых равно полученному на предыдущем шаге.

  • для того, чтобы узнать в каком отделе работает сотрудник, нужно выполнить обратную операцию:

1. определяем "Номер_отдела" из таблицы СОТРУДНИК

2. по полученному значению находим запись в таблице ОТДЕЛ.

Атрибуты, представляющие собой копии ключей других отношений, называются внешними ключами(foreign key, в дальнейшем будем обозначать FK).

Связи или отношения между таблицами (relationships) позволяют обеспечить целостность данных. Например, связь между таблицами ОТДЕЛ и СОТРУДНИК обеспечивает целостность поля "Номер_отдела" в СОТРУДНИКе (а именно, в таблицу СОТРУДНИК нельзя будет ввести номер отдела, которого нет в ОТДЕЛе). Кроме того, в СУРБД предусмотрены различные настройки каждой связи:

1) Каскадное обновление связанных полей. Эта настройка позволяет автоматически обновлять связанное поле в FK при изменении значения PK. Если данную настройку не применять, то система не позволит обновлять значения PK, пока не произвести соответствующих изменений в FK.

2) Каскадное удаление связанных записей. При установлении данного свойства связи удаление записей из таблицы с PK производится удаление соответствующих записей из таблицы FK. Аналогично, если эта настройка не установлена, то невозможно удаление записей с PK, пока существуют записи с FK.

Связи в СУРБД, как правило, имеют тип «один-ко-многим», т.е. для одной записи в таблице с PK соответствует несколько записей в таблице с FK.

Свойства отношений.

1. Отсутствие кортежей-дубликатов. Из этого свойства вытекает наличие у каждого кортежа первичного ключа. Для каждого отношения, по крайней мере, полный набор его атрибутов является первичным ключом. Однако, при определении первичного ключа должно соблюдаться требование "минимальности", т.е. в него не должны входить те атрибуты, которые можно отбросить без ущерба для основного свойства первичного ключа - однозначно определять кортеж.

2. Отсутствие упорядоченности кортежей.

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

4. Атомарность значений атрибутов, т.е. среди значений атрибута не могут содержаться множества значений (отношения)

В СУБД SQL Server, как и во многих других системах управления базами данных, отношение называется таблицей, кортеж записью и атрибут – полем.

В реляционной базе данных данные хранятся в базовых таблицах. В одной базе данных SQL Server их может быть до двух миллиардов. Для создания новой таблицы используется инструкция CREATE TABLE со следующими опциями:

· имя базы данных, которая будет содержать создаваемую таблицу;

· владелец таблицы;

· имя таблицы, которое должно быть уникальным среди имен базовых таблиц и представлений в этой базе данных, принадлежащих одному владельцу;

· спецификации от 1 до 1024 столбцов;

· ограничение первичного ключа (не обязательно);

· от 1 до 250 ограничений уникальности (не обязательно);

· от 1 до 253 ограничений внешнего ключа (не обязательно);

· одно (или более) ограничение на значения (CHECK), определяющее, какие данные могут быть добавлены в таблицу (не обязательно);

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

В инструкции CREATE TABLE задается имя создаваемой таблицы, а за ним в скобках следуют определения столбцов и ограничений, разделенных запятыми. У языка SQL довольно свободный формат, для удобства чтения можно разбивать инструкции на любое количество строк и вставлять пробелы между словами и символами.

Следующая инструкция создает базовую таблицу для хранения сведений о клиентах:

CREATE TABLE Customer

( CustID int NOT NULL,

Name char ( 30) NOT MULL,

ShipLine varchar(100),

ShipCity char ( 30),

ShipState char ( 2),

Status char ( 1),

CONSTRAINT CustomerPk PRIMARY KEY (CustID))

Задание к работе

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

Наши рекомендации