База данных "Телефонный справочник"
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИННОВАЦИОННЫХ ТЕХНОЛОГИЙ И ПРЕДПРИНИМАТЕЛЬСТВА
ПЕНЗЕНСКИЙ ФИЛИАЛ
Кафедра «Информационные системы»
Курсовой проект
по дисциплине: «Управление Данными»
на тему: «Телефонный справочник»
Выполнил: студент гр. 10и1 Тарасов С. Г.
Проверил: преподаватель Корниенко К. А.
Пенза 2013 г.
Утверждаю
Зав. кафедры
____________
Дисциплина - Управление данными.
Задание на курсовое проектирование.
Выдано студенту гр.______10и1___ Ф.И.О._Тарасов С. Г.
Вариант задания №______33______
Руководитель ___________________ Студент_____________________
Разработать базу данных «Телефонный справочник», содержащую следующие атрибуты: ФИО, телефон, город, время разговора, ставка, льготы, адрес, переговоры, дата разговора.
При выполнении курсового
проекта необходимо проанализировать
заданную предметную область, потребности
различных категорий
Далее следует провести нормализацию концептуальной схемы до второй или третьей нормальной формы и на их основе создать проект БД в среде Access и провести его отладку и тестирование.
Законченный проект должен
содержать главную и
Содержание
Введение.………………………………………………………
1 Общие понятия
и определения…………………………………………….…
2 Анализ заданной предметной
области, потребности различных
категорий пользователей разрабатываемой
БД……………………………………..………..8
3 Разработка и описание концептуальной схемы и подсхем БД ..…..………….9
4 ER-Win ………………………………………………………….………….…… 14
5 Преобразование схемы и подсхем в реляционную БД………..……..………19
6 Нормализация реляционной БД…………………...………………….…..……21
1НФ………………………………………………………………………
2НФ………………………………………………………………………
3НФ…………………...……………………………………………
8 Объединение компонентов базы данных в единое приложение…………….27
Заключение
………………………………………………………………….…….
Список литературы ………………………………………………………….……30
Введение
Данная курсовая работа выполнена в СУБД Microsoft Access, входящее в прикладной пакет Microsoft Office. Созданная программа обладает рядом достоинств :
- Легкий способ ввода или удаления.
- Удобный дизайн программы с понятным интерфейсом и оригинальными кнопочными формами
- Возможность просмотра или вывода на печать отчётов, наглядно демонстрирующих информацию по основным категориям
- Наличие подробного описания предназначения и работы программы
- Автоматизация необходимых расчетов.
Общие понятия и определения
Существует несколько моделей данных, полагаемых в основу информационных систем. Наиболее часто используются следующие три: иерархическая, сетевая и реляционная. Недавно появился четвертый тип: объектно-ориентированные системы управления базами данных (ООСУБД), которые соединяют традиционную технологию проектирования баз данных с объектной моделью. Реляционная модель весьма популярна, обладает рядом достоинств и может сочетаться с объектно-ориентированным подходом. Именно это сочетание присутствует в Microsoft Access, ведь Microsoft Access является реляционной СУБД. К тому же, многие существующие информационные системы построены на основе реляционной модели.
Чтобы понять, насколько проста и, вместе с тем, выразительна реляционная модель, необходимо изучить основные понятия и терминологию, относящиеся к ней.
Информационная система (information system) — это приложение, предназначенное для хранения и обработки данных. Основой информационной системы является база данных с информацией, хранящейся в одной или нескольких связанных таблицах.
База данных {data base) представляет собой совокупность связанных таблиц (в предельном случае - одну таблицу), предназначенных для хранения определенной информации. Термином "база данных" часто называют приложение, использующее базу данных и обладающее интерфейсом просмотра и правки, а также средствами обработки хранящейся в базе данных информации. Однако такое приложение лучше называть информационной системой.
Базами данных являются файлы Microsoft Access, а также совокупность таблиц, объединенных в одно целое, хранящаяся в логических устройствах на SQL Server.
Реляционная модель (relational model). Основными элементами реляционной модели являются таблицы, представляющие сущности, в которых столбцы представляют атрибуты сущностей, а строки описывают экземпляры сущностей. Модель данных также подразумевает наличие операторов для генерации новых таблиц на основе существующих (называемых запросами (query)), именно таким способом' пользователи могут манипулировать данными и получать необходимую информацию.
Сущность (entity) —множество однотипных объектов, называемых экземплярами (instance). Каждый экземпляр характеризуется набором свойств, называемых атрибутами сущности (attribute). Каждый экземпляр индивидуален и отличается от всех остальных экземпляров во множестве.
Таблица (table) - множество ячеек с данными, образующих строки и столбцы прямоугольной таблицы. Таблица реализует сущность в понятии реляционной модели данных. Строки таблицы представляют экземпляры сущности и называются записями (records). Столбцы таблицы представляют атрибуты сущности и называются полями (fields).
Атрибут* (attribute) представляет собой определенное свойство (характеристику) данной сущности. Рекомендуется в качестве атрибутов выделять атомарные свойства сущности.
Поле таблицы (table field) - столбец в прямоугольной таблице. Поле таблицы реализует атрибут в понятии реляционной модели, при этом данные, хранятся в ячейках одного столбца, должны принадлежать одному домену. Домен определяет набор допустимых значений и операций над данными. То есть данные в ячейках одного столбца должны быть одного типа.
Первичный ключ- атрибут или группа атрибутов (тогда это составной первичный ключ), однозначно идентифицирующих каждый экземпляр сущности.
Одно из сильных ограничений реляционной модели состоит в том, что любая таблица имеет первичный ключ, т.е. не бывает одинаковых записей. Но модель одно, а жизнь другое, и даже Access позволяет уклониться от классической реляционной модели и создавать таблицы, не имеющего первичного ключа.
Ключевое поле (key field) — поле, представляющее первичный ключ или являющееся частью составного первичного ключа.
Альтернативный ключ (alternative key) — обычные поля или комбинации атрибутов, отличающиеся от первичного ключа сущности, но также претендующие на эту роль.
Связь (relationship) - это логическое отношение между сущностями, выражающее некоторое ограничение или правило. В реляционной модели вводится понятие реляционной связи (relation) — это связь между записями, основанная на совпадении (или ином предикате) значений атрибутов, по которым устанавливается связь.
Основные объекты Access - таблицы, формы, запросы, отчеты, макросы, модули. Таблица является основой БД, в ней хранится вся информация.
Процесс создания отдельной таблицы в составе БД состоит из следующих этапов:
1) Создание структуры таблицы (задание имен и типов полей, задание ключевого поля);
2) Ввод данных в таблицу.
3) Сохранить схему данных, закрыть
окно.
Анализ заданной предметной области, потребности различных категори
й пользователей разрабатываемо й БД
База данных «Телефонный справочник» предназначена, прежде всего, для отображения данных об абонентах телефонной сети. С помощью данной базы данных можно получать различную информацию об абонентах, такие как город проживания, телефон, код клиента, ФИО клиента, время разговора, переговоры с конкретным пунктом, ставку, льготы и сумма оплаты. С помощью удобно оформленных запросов можно получить всю информацию о клиенте введя лишь его фамилию или телефон. Также база данных предоставляет подробный отчет об использовании сети абонентами.
Для более эффективной обработки данных исходная схема разбита на несколько более мелких. Каждая часть охватывает некоторую смысловую область исходной схемы. Эти части имеют общее поле «код клиента», по которому осуществляется связь между отдельными подсхемами.
Разработка и описание концептуальной схемы и подсхем БД
Структуру данных необходимо описывать формальным образом. Описания логической и физической структур базы данных используются программными средствами управления базами данных при обработке требований пользователей на получение той информации, которую содержит база данных. Описание общей логической структуры базы данных называют схемой. Ее называют иногда общей моделью данных, концептуальной моделью или концептуальной схемой. Эти термины примерно равнозначны. Схема представляет собой таблицу типов используемых данных. Она содержит имена объектов и их атрибуты и определяет существующую между ними связь. Схема представляет собой структуру, в которой могут быть помещены значения элементов данных.
Изображения схем и записей можно представлять в виде расположенных одного за другим прямоугольников так, чтобы они определяли все значения каждого элемента данных.
Термин схема используется для определения полной таблицы всех типов элементов данных и типов записей, хранимых в базе данных. Термином подсхема определяют описание данных, которое использует прикладной программист. На основе одной схемы можно составить много различных подсхем.
Прикладной программист или
конечный пользователь необязательно
должен знать о схеме базы данных
в целом, так как обычно она
очень сложна. Иногда такая неосведомленность
объясняется соображениями
Программы управления базой
данных автоматически получают
данные, соответствующие подсхеме,
на основе данных, описанных в
схеме, и передают их
Ни схемы, ни подсхемы не отражают способов физического хранения данных. Можно показать, что для заданной логической структуры возможны различные формы физической организации данных. Итак, существует три различных вида описания данных:
1. Подсхема – таблица, описывающая ту часть данных, которая ориентирована на нужды одной или нескольких прикладных программ (организация файлов программиста). Реализуется в программах - запросах пользователей.
2. Глобальное описание логической структуры базы данных, или схема, - таблица, логически описывающая всю базу данных. Она отражает представление о данных администратора данных или тех системных аналитиков, которые работают со всей базой данных.
3. Описание физической организации базы данных - таблица физического расположения данных на носителях информации. Это представление о данных нужно системному программисту или системному разработчику, которые занимаются вопросами эффективности работы системы, расположения данных на носителях, их индексирования или поиска, а также вопросами использования методов сжатия данных.
Подсхему иногда называют частным представлением. Одна подсхема может обслуживать несколько прикладных программ и может быть определена отдельно от программ. Для определения подсхемы используется также термин подмодель.
Схема базы данных
Рис. 1 – Схема БД.
Схемы и подсхемы представляют собой диаграммы, изображающие типы элементов данных и связи между ними. Существуют различные способы изображения связей. Связи между двумя элементами данных могут быть двух типов.
Первый тип - связь “один к одному”, т. е. одной записи при этой связи в главной таблице должна соответствовать одна запись в подчиненной таблице. Такие БД используются довольно редко. С помощью таких связей выделяют отдельно редко используемую информацию.
Второй тип - связь “один ко многим”, наиболее часто используется это отношение. В данном случае одной записи главной таблице могут соответствовать несколько записей подчиненной таблицы. Различают две разновидности связи “один ко многим”. В первом случае предъявляются жесткие требования на обязательное наличие записей во вторичной таблице. Во втором случае такие требования отсутствуют.
Третий тип – связь “многие
ко многим”. Многие реляционные СУБД
эту связь не поддерживают. Для
реализации таких связей таблицы
связанные таким отношением следует
преобразовать таким образом, чтобы
в них были только связи 1:М, для
этой цели вводятся дополнительные таблицы,
которые отображают связи между
отображаемыми таблицами
Подсхемы базы данных
Рис. 2 - Подсхема «Клиенты».
Рис. 3 - Подсхема «Оплатить».
Рис. 4 - Подсхема «Учет переговоров».
Рис. 5 - Подсхема «Льготы».
Создание ER-модели в среде ER-Win
Запустить ERWin и выбрать режим создания новой модели (Create a new model) или открытия существующей (Open an existing file).
Выбрать тип новой модели (New model type): логическая, физическая или модель, которая допускает преобразование одной в другую. Поскольку нужно спроектировать БД, следует выбрать логико-физическую модель.
Для построения ER-моделей используется инструментальная панель, состав которой зависит от выбранного стандарта представления моделей и типа модели: логическая или физическая. В данной работе рекомендуется использовать стандарт IDEF1X (Integration DEFinition for information modeling), в котором используются представленные в таблице обозначения.
Прежде всего следует разместить диаграммы блоки сущностей. Выбрать блок сущности (Entity) на панели главного меню с помощью щелчка левой клавишей и разместить в поле проектирования модели (переместить курсор и щелкнуть левой клавишей); в результате в поле проектирования будет размещен блок сущности с именем по умолчанию «E/1».
С помощью пункта главного меню «Model / Entities» или пункта всплывающего меню (по щелчку правой клавишей в поле блока сущности) «Entity Properties» («Свойства сущности») открыть окно для редактирования свойств сущности: название (Name), определение (Definition), примечания (Note, Note2, Note3), определяемые пользователем свойства (UDP – User definition properties) и др.
С помощью пункта «Object Font & Color» всплывающего меню установить параметры шрифта названия сущности и цвет заполнения поля блока.
При разработке
ER-модели можно установить параметры
шрифтов и цветовое оформление так,
чтобы облегчить обзор и
Можно изменить установки шрифтов по умолчанию для всех объектов, для отдельных объектов или для групп выделенных объектов.
Когда добавляется объект в окно диаграммы, ERWin автоматически назначает шрифт по умолчанию. Для изменения параметров шрифтов, задаваемых по умолчанию, используется диалоговое окно «Default Fonts & Colors», которое вызывается из всплывающего меню (после щелчка правой клавишей на поле диаграммы).
Параметры
шрифта можно установить с помощью
главного меню, аналогично установкам,
выполняемым в офисных
С помощью пункта «Attributes …» всплывающего меню и соответствующих форм ввести данные об атрибутах выбранной сущности:
нажать кнопку «New»;
заполнить поля «Attribute Name» и «Column Name» (не обязательно) формы «New Attribute», предварительно выбрав тип данных для атрибута; названия атрибутов можно задавать с помощью шрифтов типа «Кириллица» или «Латиница» (при этом следует учитывать возможности СУБД, которые будут использоваться для сопровождения БД; при использовании СУБД типа Access можно использовать имена сущностей и атрибутов на русском языке);
Рис. 6 – Логическая модель в ERWIN.
Рис. 7 – Физическая модель в ERWIN.
Генерация файлов БД
Для последующей генерации файла (файлов) БД создать с помощью заданной СУБД (в данном случае, Access) пустой файл БД (эта операция может быть выполнена до разработки ER-модели).
Выбрать сервер или СУБД, которая будет использоваться для работы с создаваемой БД через пункты главного меню «Database / Choose Database» и окно «Target server» («целевой сервер») с переключателями.
Рис. 8 – окно «Target server».
С помощью меню «Database / Database Connection» открыть окно для ввода параметров связи ER-модели с БД следует ввести имя пользователя «admin», затем выбрать с помощью клавиши «Browse» и диалогового окна путь и имя файла БД, нажать клавишу «Connect» (будет выполнена связь ER-модели с файлом БД).
Рис 9 – Диалоговое окно «Access Connection».
С помощью меню «Tools / Forward Engineer/Schema Generation» открыть окно для проверки и изменения параметров генерации файлов БД
Рис 10 – Окно «Main Subject Area».
Нажать клавишу «Generate»; в окне будут выведены операторы, выполненные при генерации файлов БД.
Рис. 11 – Диалоговое окно «Generate Database Schema».
В случае успешного окончания процесса генерации файлов БД («Schema Generation Complete» - «Генерация схемы выполнена») в ранее созданной БД будут находиться соответствующие таблицы и схема БД.
Преобразование схемы и подсхем
в реляционную БД
В реляционной модели данных связывание таблиц осуществляется по принципу: главное – подчиненная. Для связи связанные таблицы должны иметь одинаковые столбцы, по которому осуществляется связь. Одна и та же таблица может быть главной по отношению к одной таблице и подчиненной по отношению к другой таблице.
Табличное
представление данных имеет
В
каждой таблице БД должны быть
первичные ключи, которые
Иногда
в качестве первичного ключа
выбирают специально
Первичный ключ позволяет осуществить доступ к конкретной записи (так как однозначно идентифицирует конкретную запись). Кроме того, первичный ключ используется для установления связи между таблицами.
Вторичные ключи так же используются для поиска данных, они устанавливаются для полей, для атрибутов, по которым часто производится поиск данных.
Значение
вторичных ключей может быть
не уникальным и они не
Создать структуру таблицы «Клиенты»,
- В окне БД CL закладку «Таблицы», CL кнопку «Создать»
- CL пункт «Конструктор», CL кнопку «ОК»
- В появившемся окне в столбце «Имя поля» ввести имена полей
- В столбце «Тип данных» CL и выбрать нужный тип.
- Задать ключевое поле - RCL на имени поля, в меню CL пункт «Ключевое поле» (в левой части строки появится изображение ключа)
- Сохранить структуру таблицы - CL кнопку «Сохранить» на панели инструментов, ввести имя таблицы, CL кнопку «ОК»
Рис. 12 – Создание таблицы «Клиенты» в режиме конструктора.
Создать схему данных (указать связи)
- Нажать кнопку Схема Данных
- RCL, выбрать пункт «Показать таблицу»,
выделить таблицы, нажать кнопку Добавить, нажать Закрыть
- Установить связи по общим полям методом ДД перетаскивая их от главной таблицы Предприятие к связанной.
- Сохранить схему данных, закрыть окно.
Рис. 13 – Схема данных.
6 Нормализация реляционной БД
Нормализация - это такой способ описания данных, который:
понятен пользователю, не имеющему особых навыков в программировании;
позволяет подсоединять новые элементы данных, записи, связи без изменения существующих подсхем и, следовательно, прикладных программ;
допускает максимальную гибкость при обработке непредсказуемых или случайных запросов с терминалов.
Сам процесс нормализации проводится по следующей схеме:
1 шаг. Приведение таблиц к первой нормальной форме.
2 шаг. Приведение ко второй нормальной форме.
3 шаг. Приведение к третьей нормальной форме.
На практике
обычно останавливаются на
Заданную таблицу “Телефонный справочник” нужно привести к 1, 2, 3 нормальной форме.
1-я Нормальная форма
1-я нормальная форма требует, чтобы каждое поле таблицы было неделимым и не содержало повторяющихся групп, но она не обеспечивает однозначной зависимости всех данных от первичного ключа. Данное условие выполнено.
2-я Нормальная форма.
Эта форма
требует чтобы все поля
Выделим первичный ключ – это поля “Код клиента”. С помощью проверки мы получили что данный ключ идентичен и все поля зависят от него т.о. 2НФ выполнена.
3-я Нормальная форма.
Она требует, чтобы не имелось транзитивных зависимостей между не ключевыми полями.
7 Разработка запросов в SQL
Хранимые в БД данные обычно требуют множественной обработки. Для этого применяют запросы, которые представляет собой специальным образом описанные требования, определяющие состав производимых над БД операций по выборке, удалению, модификации данных.
Для подготовки запросов в различных СУБД чаще всего используются два основных языка:
Язык QBE (Query By Example) – язык запросов по образцу,
Язык SQL (Structured Query Language) – структурированный язык запросов.
По возможностям
манипулирования данными в
Теоретической основой языка QBE является реляционное исчисление с переменными - доменами. Язык позволяет задавать сложные запросы к БД заполнением запросной формы, имеющей вид таблицы, имена и названия полей которой совпадают с именами и названиями полей соответствующих исходных таблиц. Наглядными являются запросные формы в Access.
Язык SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление, удаление), и некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления, организации подпрограмм, ввода-вывода и т.п. В связи с этим SQL обычно встраивается в СУБД (например, СУБД ACCESS, FoxPro СУБД.).
В современных СУБД с интерактивным интерфейсом можно создавать запросы, как было сказано, например, с помощью языка QBE. Однако применение SQL часто позволяет повысить эффективность обработки данных. Так, при подготовке запроса в ACCESS можно перейти из окна Конструктора запросов (формулирование запроса по образцу на языке QBE) в окно с эквивалентным оператором SQL. Новый запрос можно создать путем редактирования уже имеющегося запроса или программированием нового.
Язык SQL не обладает функциями полноценного языка программирования, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL.
При построении запроса в окне конструктора система Access работает в фоновом режиме, записывая эквивалентные инструкции SQL. Для просмотра программы SQL в меню Вид выберите команду Режим SQL.
Рис. 14 – Запрос по фамилии
Код SQL:
SELECT Клиенты.[Код клиента], Клиенты.Фамилия, Клиенты.Имя, Клиенты.Отчество, Клиенты.Телефон, Клиенты.Город, Клиенты.Адрес
FROM Клиенты
WHERE (((Клиенты.Фамилия)=[Введите искомую фамилию]));
Рис. 15 – Запрос по телефону.
Код SQL:
SELECT Клиенты.[Код
клиента], Клиенты.Фамилия, Клиенты.Имя,
Клиенты.Отчество, Клиенты.Город, Клиенты.
FROM Клиенты
WHERE (((Клиенты.Телефон)=[Введите искомый телефон]));
Объединение компонентов базы данных в единое приложение
Войдите в режим создания формы конструктором без указания источника данных.
На панели элементов отключите кнопку Мастера.
На панели элементов выберите элемент Кнопка и нарисуйте на форме в области данных кнопки.
Для каждой кнопки вызовите контекстное меню. Выберите пункт Свойства. Перейдите на вкладку Макет и в строке Подпись задайте название кнопки в соответствии с проектом.
Перейдите в режим формы и просмотрите созданный проект формы. Если он Вас устраивает, то сохраните форму.
Рис. 16 - Форма абоненты.

- База данных «Телефонный справочник»
- База данных «Техно Импорт»
- База данных «Турфирма»
- База данных тур фирма “Мечта”
- База данных “Успеваемость”
- База данных учета оборудования на предприятии
- База данных учета оборудования организации
- База данных спортивных сооружений города
- База данных спорткомплекса
- База данных справочной системы аэропорта
- База данных "Страна"
- База данных страховая компания
- База данных “Студенты”
- База Данных «Театры»