Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
17-06-2015_23-01-11 / МУ для ЗАО ИОБД.docx
Скачиваний:
39
Добавлен:
15.02.2016
Размер:
461.4 Кб
Скачать

Требования к оформлению работы студентами

Контрольная работа выполняется студентами в среде СУБД Microsoft Access, отчёт по контрольной работе создается в текстовом процессоре Microsoft Word.

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

Созданный студентом в результате выполнения работы по индивидуальному заданию файл базы данных должен быть представлен на диске или отправлен по электронной почте на кафедру вычислительных систем и программирования или лично преподавателю. Отчет оформляется в текстовом редакторе Word и должен содержать следующие разделы: титульный лист, оглавление, текст условия задания, описание хода проектирования, инфологическую модель; ER-модель; описание логической структуры каждого информационного объекта; описание ограничений целостности, SQL-запросы на создание таблиц, схему базы данных, охватывающую созданные в лабораторной работе таблицы и связи между ними, контрольный пример. В конце отчета должен быть указан список использованной литературы.

Список литературы Основная литература

  1. Мердина О.Д. Информационное обеспечение, базы данных: Учебное пособие/О. Д. Мердина, В.В. Тарзанов .-СПб:СПбГ-ИЭУ,2006.-129 с.

  2. Кузин А.В., Левонисова С.В. Базы данных: Учебное пособие/ 4-е изд., стер.- М.: Академия, 2010.- 320 с.

Дополнительная литература

  1. ДушанПеткович. Microsoft SQL Server 2008.Руководство для начинающих. – СПб.:БХВ-Петербург, 2009, – 752 с.

  2. ИцикБен-Ган. Microsoft SQL Server 2008.T - SQL: учебный курс. – – СПб.:БХВ-Петербург, 2009, – 432 с.

  3. Кириллов В.В., Громов Г.Ю. Введение в реляционные базы данных– СПб.:БХВ-Петербург, 2009. – 464с.

  4. Кренке Д. Теория и практика построения баз данных. -СПб:Питер, 2005.-858 с.

  5. Кузьмина С.П. Базы данных: Учебное пособие. –СПб: СПбГИЭУ, 2006. -188с.

  6. Мартин Грабер. Введение в SQL. – М.: Издательство «Лори», 2007. – 382 с.

  7. Робин Дьюсон. SQL Server 2008 для начинающих разработчиков – СПб.:БХВ-Петербург, 2009, – 704 с.

  8. Советов Б.Я., Цехановский В.В, , Чертовский В.Д. Базы данных. Теория и практика. – Высшая школа, 2007. – 464с.

Приложение 1

Содержание дисциплины (Извлечение из рабочей программы дисциплины)

РАЗДЕЛ 1. (модуль 1) ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ

Тема 1. Информационная система и ее структура

Понятия информационная система (ИС) и информационная технология. Характеристика функциональных и обеспечивающих подсистем ИС. Подходы к проектированию ИС.

Тема 2. Структура экономической информации

Реквизиты признаки и реквизиты основание. Понятия экономический показатель и документ.

Тема 3. Структура информационного обеспечения

Понятия внемашинного и внутримашинного информационного обеспечение (ИО). Состав и характеристика внемашинного (ИО).

Тема 4. Структура экономической информации

Классификаторы и принципы их построения. Характеристика международных и общегосударственных классификаторов. Методы классификации и системы кодирования экономической информации.

Тема 5. Унифицированная система документации и электронный документооборот

Система документации. Типичные недостатки в организации неавтоматизированных систем документации. Унификация и стандартизация как средство оптимизации систем документации. Понятие электронного документа. Формы его представления. Документооборот, его основные функции. Понятие маршрутизации.

РАЗДЕЛ 2. (модуль 2) ТЕОРЕТИЧЕСКИЕ ОСНОВЫ БАЗЫ ДАННЫХ

Тема 6. История развития баз данных

Файлы и файловые системы. Системы обработки данных. Базы данных.

Тема 7. Основные понятия теории баз данных

Понятие предметной области, базы данных, системы управления базами данных, информационной системы. Классификация баз данных. Уровни, виды и типы моделей данных. Концептуальные модели баз данных.

Тема 8. Организация баз данных

Понятие модели данных. Иерархические и сетевые модели. Физическое представление иерархических и сетевых систем. Указатели, цепи и кольцевые структуры. Способы адресации. Модель «сущность-связь». Объекты (сущности) и атрибуты. Схемы и подсхемы.

Тема 9. Реляционная модель данных

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

Тема 10. Проектирование реляционных баз данных

Этапы проектирования. Нормализация данных. Семантическое моделирование данных, ER-диаграммы. Целостность данных. Построение даталогической модели.

Тема 11. Внутренняя организация реляционных баз данных

Способы хранения и организации доступа к данным. Индексные файлы. Индексно-прямые и индексно-последовательные файлы. Организация индексов в виде В-деревьев. Методы поиска в индексе.

РАЗДЕЛ 3. (модуль 3) СИСТЕМА УПРАВЛЕНИЯ РЕЛЯЦИОННЫМИ БАЗАМИ ДАННЫХ SQL SERVER

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

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

Тема 13. Компоненты SQL Server

Реляционное ядро базы данных SQL Server. Службы SQL Server. Серверные и сетевые компоненты. Клиентские средства администрирования и клиентские компоненты. Языки и API-интерфейсы. Взаимодействие между клиентскими и серверными компонентами.

Тема 14. Архитектура базы данных SQL Server на логическом и физическом уровнях

Серверы. Базы данных. Таблицы. Представления. Индексы. Ограничения целостности. Правила. Хранимые процедуры. Триггеры. Страницы. Типы страниц. Экстенты. Файл и его структура. Организация файлов в группы.

Тема 15. Основы языка Transact-SQL

История развития SQL. Структура SQL. Идентификаторы. Константы, переменные. Временные таблицы. Выражения. Операторы. Типы данных SQL Server. Функции SQL Server. Управляющие конструкции языка.

Тема 16. Основы языка определения данных (DDL)

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

Тема 17. Основы языка манипулирования данными (DML)

Вставка, удаление и изменение данных. Выборка данных. Разделы FROM, WHERE, GROUP BY, HAVING.Внутреннее и внешнее соединение таблиц. Применение вложенных запросов.

Тема 18. Средства разработки процедур деловой логики в SQL Server

Создание и использование хранимых процедур и пользовательских функций. Триггеры. Типы триггеров и их назначение.

РАЗДЕЛ 4. (модуль 3) АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ И ПРИЛОЖЕНИЙ

Тема 19. Система безопасности SQL Server

Модель безопасности. Управление пользователями базы данных. Управление доступом к базам данных. Разрешения. Команды языка управления данными (DCL) Transact-SQL.

Тема 20. Управление параллельной обработкой данных и методы восстановление базы данных

Понятие транзакции. Определение транзакций. Журнал транзакции. Распределенные транзакции. Использование блокировок. Типы блокировок. Резервное копирование объектов баз данных. Модели восстановления данных. Распределенные БД.

РАЗДЕЛ 5. (модуль 5) СОВРЕМЕННЫЕ НАПРАВЛЕНИЯ ИССЛЕДОВАНИЙ И РАЗРАБОТОК В ОБЛАСТИ БАЗ ДАННЫХ

Тема 21. Объектно-ориентированные системы управления базами данных

Терминология ООП. Объектно-ориентированные модели данных. Языки программирования и языки запросов объектно-ориентированных баз данных ООБД.

Тема 22. Искусственный интеллект как современное научное направление

Методы искусственного интеллекта, базы знаний, экспертные системы: представление знаний, рассуждений и задач. Модели представления знаний: алгоритмические, логические, сетевые и продукционные модели; сценарии. Экспертные системы; классификация и структура. Инструментальные средства проектирования, разработки и отладки; этапы разработки; примеры реализации.

Приложение 2

Варианты индивидуального задания

Вариант 1. Решается задача обработки поступления деталей на склад за месяц.

База данных должна содержать следующие сведения о деталях и их движении: номер склада, название склада, код детали; наименование детали; цена; единицы измерения; количество деталей на начало месяца, приход с начала месяца; расход с начала месяца; остаток текущий; дата последнего движения; номер накладной, по которой деталь поступила на склад; дата поступления по накладной; количество деталей, поступивших по накладной, код поставщика, наименование поставщика, адрес и телефон поставщика деталей. Учесть, что по одной накладной может поступать несколько разных деталей и одна деталь может поступать несколько раз по разным накладным.

Вариант 2. Решается задача начисления зарплаты сдельщикам.

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

Учесть, что сдельщик в течение месяца может выполнять разные работы, однако общий объем выполненных работ не может превышать фонд рабочего времени за месяц.

Вариант 3. Решается задача учета работ, выполненных строительными организациями на объектах.

База данных должна содержать следующие сведения: код и наименование строительной организации; ее адрес; код и наименование строительного объекта; его адрес; код и наименование вида работ, выполняемых на объектах; код и наименование работы, выполняемой на строительном объекте строительной организацией; единица измерения; расценка (рублей за единицу измерения работы); физический объем выполненной на объекте работы (в единицах измерения). Учесть, что строительная организация может вести работы на нескольких объектах, на одном строительном объекта работы ведет только одна строительная организация.

Вариант 4. Решается задача расчета потребности в деталях на план выпуска изделия.

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

Вариант 5. Решается задача об учете перевозок осуществляемых автопредприятием.

База данных должна содержать следующие сведения об автомобилях: инвентарный номер автомобиля, грузоподъемность автомобиля, код марки автомобиля, наименование марки автомобиля, стоимость перевозки 1 тонны на км. по марке автомобиля, номер заявки, дата заявки, масса перевозимого груза (т.), расстояние (км.), код заказчика, его ФИО, адрес и телефон. Учесть, что масса перевозимого груза не должна превышать грузоподъемность автомобиля, один и тот же автомобиль может заказываться многократно и по одной марке предприятие имеет несколько авто с разными инвентарными номерами.

Вариант 6. Решается задача составления спецификации на поставку товаров по заказам клиентов.

База данных должна содержать следующие сведения: код группы товара; наименование группы товара; код товара; наименование товара; цена товара за единицу; номер заказа; дата заказа; код клиента; фамилия клиента; адрес клиента; контактные телефоны клиента; количество заказанного товара; код продавца и его фамилия; % скидки на товар; дата начала и окончания действия скидки. Учесть, что по одному заказу может поставляться несколько товаров. При регистрации товара учесть также, что если клиент в текущем месяце уже заказал товары на сумму > 10000 рублей, то кроме действующих скидок ему предоставляется 5% скидка на все товары.

Вариант 7. Решается задача учета движения деталей за месяц на складе.

  1. База данных должна содержать следующие сведения о деталях и их движении: код детали, наименование детали, единица измерения, цена детали, остаток текущий, дата последнего движения, номер накладной поступления детали на склад, номер накладной выдачи деталей со склада; дата поступления детали; дата выдачи детали; количество поступления по детали, количество выдано по детали, код и фамилия кладовщика осуществляющего прием и/или выдачу деталей. Учесть, что по одной накладной может поступать или выдаваться несколько деталей. При регистрации факта поступления или выдачи детали необходимо изменять текущий остаток по детали. Учесть также, что нельзя выдать деталь в количестве большем остатка.

Вариант 8. Решается задача учета выпуска продукции на предприятии.

База данных должна содержать следующие сведения о выпускаемой продукции: код цеха изготовителя; наименование цеха изготовителя; начальник цеха; наименование группы продукции; группа продукции; код выпускаемой продукции; наименование продукции; единица измерения; цена (рублей за единицу); план выпуска; объем выпуска продукции; месяц выпуска. Один цех может выпускать несколько видов продукции одной группы, но одна и та же продукция не может выпускаться разными цехами.

Вариант 9. Решается задача начисления зарплаты сотрудникам с формой оплаты по окладу.

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

Вариант 10. Решается задача составления спецификации на поставку товаров по заказам клиентов.

База данных должна содержать следующие сведения: код группы товара; наименование группы товара; код товара; наименование товара; цена товара за единицу; номер заказа; дата заказа; код клиента; фамилия клиента; адрес клиента; контактные телефоны клиента; количество заказанного товара; код продавца и его фамилия; % скидки на товар; дата начала и окончания действия скидки. Учесть, что по одному заказу может поставляться несколько товаров..

Вариант 11. Решается задача учета основных средств.

База данных должна содержать следующие сведения: код и наименование подразделения; код и ФИО материально ответственного лица (сокращенно МОЛ); код и наименование группы основных средств; годовая норма амортизации (норма амортизации задается в % от первоначальной стоимости); код, наименование основного средства и его инвентарный номер; первоначальная стоимость основного средства; дата ввода в эксплуатацию. Учесть, что в подразделении может быть несколько МОЛ, по разным группам основных средств, однако одно и то же МОЛ не может быть ответственным в разных подразделениях.

Вариант 12. Решается задача начисления зарплаты повременщикам.

База данных должна содержать следующие сведения: фамилию; имя; отчество; табельный номер; разряд повременщика; код и наименование цеха; наименование выполняемых работ и их коды; время выполнения работы повременщиком; номер месяца; тариф за единицу работы по разряду (руб. за ед. времени). Учесть, что в течение месяца повременщик может выполнять разные работы.

Вариант 13. Решается задача начисления зарплаты сотрудникам с формой оплаты по окладу.

База данных должна содержать следующие сведения: номер отдела, наименование отдела, фамилию; имя; отчество; табельный номер; должность; разряд; размер оклада в соответствии с должностью и разрядом; отработанное время по месяцам. Учесть, что данные по зарплате хранятся в течение года.

Вариант 14. Решается задача расчета потребности в деталях на план выпуска изделия.

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

Вариант 15. Решается задача учета работ, выполняемых строительными организациями на объектах.

База данных должна содержать следующие сведения организациях и объектах: код строительной организации, название строительной организации; код объекта; наименование объекта; адрес объекта; код работы; наименование работы; единица измерения; расценка (рублей за единицу измерения работы); код работы выполняемой на объекте; физический объем работы (в единицах измерения). Учесть, что работы на одном строительном объекте могут вести разные организации.

Вариант 16. Решается задача о движении деталей за месяц на складе.

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

Вариант 17. Решается задача об учете перевозок осуществляемых автопредприятием.

База данных должна содержать следующие сведения об автомобилях: инвентарный номер автомобиля, грузоподъемность автомобиля, код марки автомобиля, наименование марки автомобиля, стоимость перевозки 1 тонны на км. по марке автомобиля, номер заявки, дата заявки, масса перевозимого груза (т.), расстояние (км.), код заказчика, его ФИО, адрес и телефон. Учесть, что масса перевозимого груза не должна превышать грузоподъемность автомобиля, один и тот же автомобиль может заказываться многократно и по одной марке предприятие имеет несколько авто с разными инвентарными номерами.

Вариант 18. Решается задача учета работ в автосервисе.

База данных должна содержать следующие сведения об выполняемых работах: дата заказа, номер заказа, код работы, наименование работы, код исполнителя, фамилия исполнителя, марка автомобиля, стоимость работы, код клиента, наименование (ФИО) клиента, адрес клиента, телефон. Учесть, что по одному заказу может выполняться несколько работ и работа с одним и тем же кодом имеет разную стоимость в зависимости от марки автомобиля.

Вариант 19. Решается задача начисления заработной платы сотрудникам.

База данных должна содержать следующие сведения: ФИО сотрудника, табельный номер, адрес, серия паспорта, номер паспорта, оклад, отработанное время (в днях) за месяц, номер месяца, плановое количество рабочих дней за месяц, отдел, название отдела, количество детей, дата рождения, % премии по отделу. Учесть, что в базе данных хранятся данные за год и процент премии устанавливается один для сотрудников всего отдела.

Вариант 20. Решается задача учета продаж билетов в кинотеатре.

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

Вариант 21. Решается задача учета вакансий в центре занятости.

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

Вариант 22. Решается задача учета занятости номеров в гостинице.

База данных должна содержать следующие сведения о гостинице, клиентах и занятости номеров: код клиента, ФИО клиента, № паспорта, № номера, класс номера (характеристика), фактическое наличие номеров данного класса, стоимость в сутки (определяется классом номера), дата заселения, дата освобождения номера. База данных должна содержать сведения о постоянных клиентах, тех, кто проживал в гостинице более 2-х раз.

Вариант 23. Решается задача учета выполненных услуг в салоне красоты.

База данных должна содержать следующие сведения: код услуги, наименование услуги, код исполнителя, оказывающего услугу, фамилия исполнителя, разряд исполнителя, код клиента, ФИО клиента, телефон, код оказанной клиенту услуги, дата оказания услуги; стоимость услуги (расценка зависит от кода услуги и разряда). Учесть, что по одному счету клиенту может быть оказано несколько услуг, клиент может посещать салон красоты несколько раз для выполнения одной и той же услуги.

Вариант 24. Решается задача обработки поступления деталей на склад за месяц.

База данных должна содержать следующие сведения о деталях и их движении: номер склада, название склада, код детали; наименование детали; цена; единицы измерения; количество деталей на начало месяца, приход с начала месяца; расход с начала месяца; остаток текущий; дата последнего движения; номер накладной, по которой деталь поступила на склад; дата поступления по накладной; количество деталей, поступивших по накладной.

Вариант 25. Решается задача начисления зарплаты сдельщикам.

База данных должна содержать следующие сведения: фамилию; имя; отчество; табельный номер; цех; название цеха; наименование вида выполняемых работ; объем выполненный сдельщиком работы за месяц; номер месяца; разряд; расценки за единицу вида работы по разряду.

Вариант 26. Решается задача учета выпуска продукции на предприятии.

База данных должна содержать следующие сведения о выпускаемой продукции: код цеха изготовителя; наименование цеха изготовителя; наименование группы продукции; группа продукции; код выпускаемой продукции; наименование продукции; единица измерения; цена (рублей за единицу); план выпуска; объем выпуска продукции; месяц выпуска.

Вариант 27. Решается задача расчета потребности в деталях на план выпуска изделия.

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

Учесть, что одна и та же деталь может сходить в состав нескольких изделий.

Вариант 28. Решается задача учета работ на строительных объектах.

База данных должна содержать следующие сведения об объектах: код объекта; наименование объекта; адрес объекта; код вида работ; наименование вида работ; код работы; наименование работы; единица измерения; расценка (рублей за единицу измерения работы); код работы выполняемой на объекте; физический объем работы (в единицах измерения).

Вариант 29. Решается задача составления спецификации на поставку товаров по заказам клиентов.

База данных должна содержать следующие сведения: код группы товара; наименование группы товара; код товара; наименование товара; цена товара за единицу; номер заказа; дата заказа; код клиента; фамилия клиента; адрес клиента; количество заказанного товара.

Вариант 30. Решается задача начисления зарплаты сотрудникам с формой оплаты по окладу.

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

Приложение 3

Выбор контрольных заданий

Выбор варианта контрольных работ осуществляется по таблице. Ключом выбора являются две последние цифры номера зачетной книжки студента. Например, зачётка 123456/03. Две последних цифры номера зачетки 56 (03 год поступления), значит вариант 26

Таблица выбора вариантов контрольной работы

Две последние цифры зачетной книжки

Вариант

Две последние цифры зачетной книжки

Вариант

01 31 61 91

1

16 45 76

16

02 32 62 92

2

17 47 77

17

03 33 63 93

3

18 48 78

18

04 34 64 94

4

19 49 79

19

05 35 65 95

5

20 50 80

20

06 36 66 96

6

21 51 81

21

07 37 67 97

7

22 52 82

22

08 38 68 98

8

23 53 83

23

09 39 69 99

9

24 54 84

24

10 40 70 00

10

25 55 85

25

11 41 71

11

26 56 86

26

12 42 72

12

27 57 87

27

13 43 73

13

28 58 88

28

14 44 74

14

29 59 89

29

15 45 75

15

30 60 90

30

Приложение 4

ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ

Основные понятия реляционной модели данных

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

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

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

Типы данных

Атрибуты

Кортежи

Целые числа

Строки

Дата/время

Логический

Схема отношения

Номера зачеток

Фам

Домены

Имена

Отч

Рожд

Ком

Первичный ключ

Тело отношения

Номер зачетной книжки

Фамилия

Имя

Отчество

Дата рождения

Коммерческий

1212

Иванов

Иван

Иванович

10.10.70

Да

1223

Петров

Петр

Петрович

03.02.72

Да

1221

Сидоров

Сидор

Петрович

11.12.71

Нет

...

...

...

...

...

...

Рис. 1. Отношение СТУДЕНТ

Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена. Например, домен «Рожд» (см. рис 1) должен определять то множество значений дат, которые могут быть датами рождения студента. Так текущая дата не может быть датой рождения хотя и принадлежит множеству значений, определенных типом данных «дата». Соответственно текущая дата не может быть элементом домена «Рожд».

Также говорят, что домен – это пул (pool) данных, из которого выбираются значения атрибута.

Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа данных, если понятие домена не поддерживается)}.

Множество атрибутов в схеме отношения определяют Степень или «арность» схемы отношения. Степень отношения СТУДЕНТ (рис.1) равна шести, т.е. оно является 6-арным.

Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения.

Отношение - это множество кортежей, соответствующих одной схеме отношения.

Часто чтобы не путаться схему отношения часто называют заголовком отношения, а отношение, как набор кортежей - телом отношения.

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

Кортежи в отношении (строки в таблице) не идентифицированы, поэтому в реляционной теории для идентификации кортежей вводиться понятие ключа.

Ключ – это один или несколько атрибутов, значение которого(ых) однозначно определяют кортеж (то есть является уникальным). Так в отношении Студент в качестве ключа может использоваться атрибут «Номер зачетной книжки», так как для каждого студента значение этого атрибута уникально. Если в отношении существует несколько ключей, то среди них выбирается один, который называется первичным ключом.

Основные этапы проектирования

При проектировании базы данных решаются две основных проблемы:

  • каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области и было по возможности лучшим (эффективным, удобным и т.д.). Часто эту проблему называют проблемой логического проектирования баз данных;

  • как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создание каких дополнительных структур (например, индексов) потребовать и т.д. Эту проблему называют проблемой физического проектирования баз данных.

Очевидно, что физическому и логическому проектированию должен предшествовать анализ собственно целей и задач создания БД, как показано на рис. 2.

СИСТЕМНЫЙ АНАЛИЗ

  • определение потребностей и целей создания БД;

  • выделение предметной области из окружающей среды;

  • формирование возможных информационных объектов;

  • исследование информационных потоков;

  • выбор типа модели данных.

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

Инфологическое

Даталогическое

  • определение существенных характеристик (свойств) информационных объектов;

  • выбор целевой СУБД;

  • окончательное формирование информационных объектов;

  • определение логической структуры информационных объектов;

  • построение инфологической модели.

  • описание механизмов обеспечения целостности данных.

ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

  • реализация модели данных средствами выбранной СУБД;

  • отладка и испытания на работоспособность;

  • документирование проекта.

Рис.2. Основные этапы проектирования БД

Проектирование методом нормальных форм

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

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

  • первая нормальная форма (1NF);

  • вторая нормальная форма (2NF);

  • третья нормальная форма (3NF);

  • нормальная форма Бойса-Кодда (BCNF);

  • четвертая нормальная форма (4NF);

  • пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

  • каждая следующая нормальная форма в некотором смысле лучше предыдущей;

  • при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

Наиболее важные на практике нормальные формы отношений основываются на фундаментальном в теории реляционных баз данных понятии функциональной зависимости.

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X R.Y.

Функциональная зависимость R.X R.Y называется полной, если атрибут Y не зависит функционально от любого подмножества X.

Функциональная зависимость R.X R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X R.Z и R.Z R.Y и отсутствует функциональная зависимость R.Z R.X. (При отсутствии последнего требования имелись бы транзитивные зависимости в любом отношении, обладающем несколькими ключами.)

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

Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

Первая нормальная форма (1NF)

Отношение R находится в первой нормальной форме (1NF) в том и только в том случае, если значения его атрибутов атомарны (неделимы).

Вторая нормальная форма (2NF)

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

Третья нормальная форма (3NF)

Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

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

Семантическая модель данных

Главным назначением семантических моделей является обеспечение возможности выражения семантики (смысла) данных и их взаимосвязей.

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

Одной из наиболее популярных семантических моделей данных является модель Сущность-Связь (часто ее называют кратко ER-моделью).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области в этом случае базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных, ER-модели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных.

Основными понятиями ER-модели являются сущность, связь и атрибут.

Сущность - это реальный или абстрактный объект, информация о котором должна сохраняться и быть доступна.

Связь - это графически изображаемая ассоциация, устанавливаемая между двумя сущностями. Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь).

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

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

Атрибутом сущности является любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности.

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

Сущность описывается в диаграмме IDEF1X графическим объектом в виде прямоугольника. Каждый прямоугольник, отображающий собой сущность, разделяется горизонтальной линией на часть, в которой расположены ключевые атрибуты и часть, где расположены неключевые атрибуты. Верхняя часть называется ключевой областью, а нижняя часть - областью данных.

Е/ Студент

Номер зачетной книжки

Номер группы

Фамилия

Имя

Отчество

Дата рождения

Коммерческий

Рис. 3. Сущность СТУДЕНТ

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

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

Сущность называется зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности (рис.4).

Рис.4. Сущности в IDEF1X

Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой «/» и помещаемые над блоком (рис.5).

Сущности могут иметь также внешние ключи (Foreign Key), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута.

Рис.5. Сущность и атрибуты

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

Рис.6. Примеры внешних ключей

В стандарте IDEF1X определены типы связей, показанные в табл.1.

Таблица 1

Типы связей стандарта IDEF1X

Графический вид

Наименование

Сущность-родитель Сущность-потомок

Имя связи

Идентифицирующая связь

Неидентифицирующая связь

Рекурсивная связь

Связь типа «многие-ко-многим»

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

Пунктирная линия изображает неидентифицирующую связь. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора, если она не является также сущностью-потомком в какой-либо идентифицирующей связи.

Существующая взаимосвязь между компонентами семантической и реляционной моделями позволяют преобразовывать ER-модель в реляционную в последовательности, показанной на рис.7.

Рис. 7. Построение реляционной схемы из ER-модели

Соседние файлы в папке 17-06-2015_23-01-11