Бакалавр
Дипломные и курсовые на заказ

Электронная записная книжка

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Электронная записная книжка (реферат, курсовая, диплом, контрольная)

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Владимирский Государственный Университет имени А. Г. и Н. Г. Столетовых Кафедра УИТЭС

Пояснительная записка к курсовой работе

по дисциплине «Базы данных»

на тему: «Электронная записная книжка»

Выполнил: Труфанова М.Ю.

Руководитель: Градусов А.Б.

Владимир 2013

Аннотация

Данная курсовая работа представляет собой создание базы данных электронная записная книжка. Записная книжка — непременный атрибут любого творческого или делового человека. База данных предназначена для хранения информации о знакомых и об организациях. Для базы данных разработано приложение, которое упростит работу с данными.

База данных создана при помощи MS SQL Server 2000. Приложение разработано с помощью Borland Delphi 7. Для реализации базы данных было составлено 6 таблиц с необходимыми связями между ними.

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

  • 1. Концептуальное (инфологическое) проектирование
  • 2. Обоснование выбора СУБД
  • 3. Датологическое проектирование
  • 3.1 Определение типов и размеров атрибутов
  • 4. Создание и разработка базы данных
    • 4.1 Создание базы данных
    • 4.2 Создание таблиц
    • 4.3 Поддержка целостности данных в реляционной БД
    • 4.3.1 Декларативная поддержка целостности
    • 4.3.2 Процедурная поддержка целостности
  • 5. Разработка приложения
    • 5.1 Соединение с базой данных
    • 5.2 Разработка главной формы приложения
    • 5.3 Создание второстепенных форм
      • 5.3.1 Реализация запросов на выборку данных
      • 5.3.2 Реализация вставки новой записи
      • 5.3.3 Создание отчетов
  • 6. Инструкция по эксплуатации программы
  • Список литературы
  • 1. Концептуальное (инфологическое) проектирование
  • На рис 1. представлена концептуальная модель (модель сущность-связь), отражающая семантику предметной области. Далее эта модель может быть преобразована в любую систему базы данных.
  • Рис. 1. Концептуальная модель БД «Электронная записная книжка»
  • Данная модель состоит из следующих сущностей и входящих в них атрибутов:
  • ѕ Сотрудник: Код_сотрудника, ФИО, Телефон, Должность, E-mail ;
  • ѕ Организация: Код_организации, Название, Адрес, Деятельность, Телефон, Сайт ;
  • ѕ Друг: Id_dr, ФИО_друга, День рождения, Сайт_друга, E-mail, Мобильный, Дом_телефон, Телефон родителя, Дом_адрес, Заметка;
  • ѕ Учреждение: Id_uch, Название, Адрес, Сайт, Телефон1, Телефон2.
  • Между этими сущностями установлены связи, показывающие, каким образом эти сущности соотносятся или взаимосвязаны между собой. Каждая связь характеризуется мощностью (максимальным количеством элементов одной сущности, которые связаны с одним элементом другой сущности) и кардинальностью, которая может быть обязательной или необязательной.
  • Отношения между сущностями на рисунке 1 следующие:
  • ѕ Несколько сотрудников могут работать только в одной организации. Такая связь имеет мощность один-ко-многим, необязательную кардинальность со стороны сущности «Сотрудник» и обязательную кардинальность со стороны сущности «Организация».
  • ѕ Также несколько друзей учатся по крайней мере только в одном учреждении. Связь имеет мощность много-ко-многим, обязательную кардинальность у сущности «Учреждение» и необязательную у сущности «Друг» .
  • 2. Обоснование выбора СУБД
  • Для создания БД будем использовать СУБД MS SQL Server 2000.
  • Microsoft SQL Server 2000 — это законченное предложение в области баз данных и анализа данных для быстрого создания масштабируемых решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно позволяет значительно сократить время выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В сервер SQL Server 2000 включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки, снижающие совокупную стоимость владения. Эффективное управление базами данных с привлечением минимального числа ИТ-специалистов.
  • Реляционное ядро БД SQL Server 2000 — это реляционная СУБД, хранящая и осуществляющая управление данными в реляционных таблицах. По запросу приложения реляционное ядро БД связывает таблицы друг с другом.
  • Реляционное ядро БД хранит подробные записи о транзакциях, генерируемых системами оперативной обработки транзакций, а также осуществляет оперативную аналитическую обработку данных по запросу специализированных хранилищ данных. Реляционное ядро БД обеспечивает достоверность и защиту хранимых данных, отказоустойчивость, динамически оптимизирует производительность, а также налагает блокировки для реализации параллелизма.
  • Основные возможности Ms SQL Server 2000:
  • 1. Полное использование возможностей интернета;
  • 2. Высокая масштабируемость и надежность;
  • 3. Быстрый выход на рынок.
  • 3. Даталогическое проектирование
  • Даталогическое проектирование представляет собой преобразование концептуальной модели в реляционную, при котором каждой сущности ставится в соответствие реляционная таблица. Атрибуты сущности становятся атрибутами таблицы. 1]
  • Таким образом, в результате преобразования концептуальной модели получаем следующую реляционную модель:
  • Сотрудник: Код_сотрудника, ФИО, Телефон, Должность, E-mail ;
  • Организация: Код_организации, Название, Адрес, Деятельность, Телефон, Сайт ;
  • Работает: Код_сотрудника, Код_организации;
  • Друг: Id_dr, ФИО_друга, День рождения, Сайт_друга, E-mail, Мобильный, Дом_телефон, Телефон родителя, Дом_адрес, Заметка;
  • Учреждение: Id_uch, Название, Адрес, Сайт, Телефон1, Телефон2.
  • Учится: Код_друга, Код_учреждения.

Проверим таблицы на соответствие нормальным формам.

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

3.1 Определение типов и размеров атрибутов

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

В таблице Sotrudnik (табл. 1) в качестве ключевого поля устанавливаем Kod_sotr

Таблица 1

Наименование поля

Название поля

Тип данных

Длина

1.

Код сотрудника

Kod_sotr

int

2.

ФИО

FIO

varchar

3.

Телефон

tel

varchar

4.

E-mail

mail

varchar

5.

Должность

doljnost

varchar

Для таблицы Organiz (табл. 2) в качестве ключевого поля устанавливаем kod_org

Таблица 2

Наименование поля

Название поля

Тип данных

Длина

1.

Код организации

kod_org

int

2.

Название

naimen

varchar

3.

Адрес

address

varchar

4.

Деятельность

deaytelnost

varchar

5.

Телефон

tele

varchar

6.

Сайт

site

varchar

В качестве ключевого поля таблицы Rabotaet (табл. 3) зададим kod_sotr

Таблица 3

Наименование поля

Название поля

Тип данных

Длина

1.

Код сотрудника

kod_sotr

int

2.

Код организации

kod_org

int

В качестве ключевого поля таблицы Friend (табл. 4) зададим id_dr:

Таблица 4

Наименование поля

Название поля

Тип данных

Длина

1.

Код друга

id_dr

int

2.

ФИО друга

FIO_dr

varchar

3.

Домашний адрес

dom_address

varchar

4.

Домашний телефон

dom_tel

varchar

5.

Сайт друга

site_dr

varchar

6.

E-mail

email

varchar

7.

Телефон родителя

tel_rod

varchar

8.

Мобильный

mobil

varchar

9.

День рождения

birthday

dateTime

10.

Заметка

zametka

varchar

Поля таблицы Uchat (табл. 5)

Таблица 5

Наименование поля

Название поля

Тип данных

Длина

1.

Код друга

id_dr

int

2.

Код учреждения

id_uch

int

В качестве ключевого поля таблицы Zanyat (табл. 6) зададим id_uch:

Таблица 6

Наименование поля

Название поля

Тип данных

Длина

1.

Код учреждения

id_uch

int

2.

Название

nazvanie

varchar

3.

Адрес учреждения

add_uch

varchar

4.

Сайт

website

varchar

5.

Телефон 1

tel1

varchar

6.

Телефон 2

tel2

varchar

Таким образом, реляционная модель базы данных выглядит следующим образом (рис. 2):

Рис. 2. Реляционная модель базы данных.

4. Создание и разработка базы данных

4.1 Создание базы данных

база реляционный электронный записной После завершения этапа даталогического проектирования приступаем к созданию базы данных в MS SQL Server.

Создание таблиц БД производится с помощью мастера создания таблиц. На главной странице в поле Databases выбираем New Database, вводим имя новой базы данных «book» .

Новая созданная БД отобразится в списке баз данных (рис. 3).

Рис. 3. Создание новой БД

4.2 Создание таблиц

Для создания таблиц в списке баз данных открываем узел book и щелкаем правой кнопкой мыши на пункт Tables. В появившемся меню выбираем пункт New Table. На экране появится диалоговое окно для создания структуры новой таблицы. В столбце Column Name указываются атрибуты таблицы, в столбце Data Type — типы данных и их длины, в столбце Allow NULL — допускаются ли пустые значения в конкретном поле или нет.

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

Выбираем столбец, который будет первичным ключом и нажимаем кнопку Set Primary Key. Если в таблице первичный ключ составной, то выделяем одновременно столбцы, входящие в состав первичного ключа, и также нажимаем Set Primary Key.

Типы и размеры атрибутов таблиц представлены на рис. 4.

Рис. 4.a. Проект таблицы Sotrudnik

Рис. 4.b. Проект таблицы Rabotaet

Рис. 4.c. Проект таблицы Organiz

Рис. 4.d. Проект таблицы Friend

Рис. 4.e. Проект таблицы Uchat

Рис. 4.f. Проект таблицы Zanyat

4.3 Поддержка целостности данных в реляционной БД

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

Логическая целостность означает отсутствие логических ошибок в БД, к которым относятся нарушение структуры БД или ее объектов, удаление или изменение установленных связей между объектами, ввод неправильных данных. Для обеспечения логической целостности данных накладывают ограничения целостности — условия, которым должны удовлетворять хранимые в базе данные. Существует два способа реализации ограничений целостности: декларативная и процедурная поддержки. [1]

4.3.1 Декларативная поддержка целостности

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

Она включает в себя структурные ограничения и семантические.

Структурные ограничения используются для придания данным осмысленной структуры. К ним относятся:

1. Целостность сущности. При проектировании БД каждая таблица соответствует некоторому объекту внешнего мира. В таблице присутствует первичный ключ, который однозначно определяет каждую запись и не может быть пустым.

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

3. Функциональные зависимости определяют все возможные состояния БД. Необходимо следить за их полнотой и по возможности избегать избыточности.

4.3.2 Процедурная поддержка целостности

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

В разрабатываемой БД использовались следующие хранимые процедуры:

Информация о ближайших днях рождения:

declare @d AS datetime

SET @d = getdate ()

SELECT FIO_dr, birthday

FROM Friend WHERE

DATEADD (yy, YEAR (@d) — YEAR (birthday), birthday) > @d

OR

YEAR (dateadd (dd, 7, @d)) > YEAR (@d)

AND

DATEADD (dd, 7, @d) > DATEADD (yy, YEAR (dateadd (dd, 7, @d)) — YEAR (birthday), birthday)

5. Разработка приложения

Для работы с базами данных через приложение используются различные драйвера баз данных. Наиболее перспективной является технология OLE DB и в частности упрощенная ее модификация ActiveX Data Object. В качестве среды программирования приложения рассматривается среда Borland Delphi 7.

Cреда программирования Delphi 7.0 включает в себя полный набор визуальных инструментов, который позволяет быстро создавать приложения, предназначенные для работы с базами данных, различной степени сложности — от простейших программ до профессиональных. Delphi использует структурный объектно-ориентированный язык программирования Object Pascal, который сочетает простоту программирования с высокой эффективностью.

5.1 Соединение с базой данных

Создаем и сохраняем новый проект Project1 в Delphi 7. В процессе работы будем использовать такие компоненты, как:

ADOConnection (вкладка ADO) — инкапсулирует подключение к БД;

ADOQuery — запрос к БД;

ADOTable — таблица базы данных;

DataSource (вкладка Data Access) — источник данных для визуальных компонентов; служит для связывания визуальных компонентов с наборами данных (вроде ADOQuery); DBGrid (вкладка DataControls) — табличное представление данных.

Для подключения к базе данных на вкладке Поставщик данных выбираем Microsoft SQL Server выберем Microsoft OLE DB provider for SQL Server. В раскрывающемся списке выбираем имя сервера. Под пунктом два вводим имя пользователя. В третьем пункте выбираем базу данных в раскрывшемся списке. Нажимаем кнопку Проверить подключение и затем нажимаем кнопку Ok.

5.2 Разработка главной формы приложения

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

procedure TForm1. Button1Click (Sender: TObject);

begin

Form3.Show;

end;

Помещаем на форму компонент Image. В свойстве picture вводим путь к картинке.

Главная форма выглядит следующим образом (рис.8).

Рис. 5. Главная форма

Для связи всех остальных форм с базой данных будем использовать компоненты ADOConnection, ADOQuery, ADOTable, DataSource. Для удобства будем использовать Data Module, в котором будут находится перечисленные выше компоненты. Для того что бы создать Data Module щелкаем по вкладке File, выбираем New, Data Module.

5.3 Создание второстепенных форм

5.3.1 Реализация запросов на выборку данных

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

Для формы Информация о конкретном лице или организации. Для отображения данных используется элемент DBGrid. В AdoQuery2 выбираем свойство SQL и вводим следующий запрос: SELECT*FROM Organiz

Затем подключаем Form5 к DataModule2. DataSource2 и располагаем на форме компонент Edit, в котором пропишем следующее:

procedure TForm5. Edit1Change (Sender: TObject);

var a, b: string; begin a:='%'+Unit5.

Form5.Edit1.Text+'%';

b:=QuotedStr (a); with DataModule2.

ADOQuery2 do begin close;

SQL.Clear; SQL. Add

('SELECT * FROM Organiz WHERE naimen like'+b);

Open; end;

end;

Тоже проведем с Form7: в AdoQuery3 выбираем свойство SQL и вводим следующий запрос: SELECT*FROM Friend

Для компонента Edit:

procedure TForm7. Edit1Change (Sender: TObject);

var a, b: string; begin a:='%'+Unit7.

Form7.Edit1.Text+'%';

b:=QuotedStr (a); with Data

Module2.ADOQuery3 do begin close;

SQL.Clear; SQL. Add

('SELECT * FROM Friend WHERE FIO_dr like'+b);

Open; end;

end;

Для формы Form3, в AdoQuery1 выбираем свойство SQL и вводим следующий запрос: SELECT*FROM Sotrudnik

В расположенный на форме компонент Edit пишем код:

procedure TForm3. Edit1Change (Sender: TObject);

var a, b: string; begin a:='%'+Unit3.

Form3.Edit1.Text+'%';

b:=QuotedStr (a); with DataModule2.

ADOQuery1 do begin close;

SQL.Clear; SQL. Add

('SELECT * FROM Sotrudnik WHERE FIO like'+b);

Open; end;

end;

5.3.2 Реализация вставки новой записи

Добавление новой записи выполняется в формах: Сотрудники, Организации, Друзья, Место учебы/работы друзей, Rabotaet, Uchat. Для реализации вставки новой записи в таблицу Sotrudnik необходимо добавить в Data Module следующие компоненты: AdoQuery1, DataSource1. На форму Сотрудники необходимо добавить DbGrid, Button.

В свойствах ADOQuery1 пишем следующий запрос: SELECT * FROM Sotrudnik

После двойного щелчка по элементу Button пишем следующий текст:

Form4.show;

DataModule2.AdoQuery1.Insert;

Форма Сотрудники представлена на рис. 6.

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

Рис. 6. Форма Сотрудники

Форма Новый заказ представлена на рис. 7.

Рис. 7. Форма Новый сотрудник

После щелчка по элементу Edit1 В свойствах DataSourse выбираем DataModule2. DataSource1, в свойстве DataField выбираем поле FIO. Для остальных компонентов Edit выбираем нужный DataField.

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

Для реализации вставки новой записи в таблицу Rabotaet необходимо добавить в Data Module следующие компоненты: AdoQuery5, DataSource5. На форму необходимо добавить DbGrid, Button, DBLookupComboBox1, DBLookupComboBox2

В свойствах ADOQuery1 пишем следующий запрос:

select*from Rabotaet

В свойствах DBLookupComboBox1:

ListSourse: DataModule2. DataSource2

DataSourse: DataModule2. DataSource5

DataField: kod_org

ListField: naimen

KeyField: kod_org

В свойствах DBLookupComboBox2:

ListSourse: DataModule2. DataSource1

DataSourse: DataModule2. DataSource5

DataField: kod_sotr

ListField: FIO

KeyField: kod_sotr

Форма Rabotaet представлена на рис. 8.

Рис. 8. Форма Rabotaet

По аналогии создана форма Uchat.

5.3.3 Создание отчетов

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

Осуществим вывод этих представлений на форму с помощью компонентов ADOQuery, DataSource, DBGrid, также на форме разместим элемент Button при щелчке, по которому будет формироваться отчет в Rave Report [2]

Форма Информация о выбранных организациях или частных лицах представлена на рис. 9.

Рис.9

Форма Полный список контактных данных о любом знакомом или организации представлена на рис. 10.

Рис.10

6. Инструкция по эксплуатации программы

Программа запускается двойным кликом на ярлыке el book.exe. Открывается главная форма, на которой располагаются кнопки с возможными действиями.

На главной форме расположено пять кнопок, позволяющие перейти в разные разделы приложения: Сотрудники, Организации, Друзья, Место учебы/работы друзей, Ближайшие Дни рождения друзей. В этих разделах можно проводить необходимые манипуляции с данными.

Интерфейс приложения можно отнести к стандартному интерфейсу MS Windows. Доступ ко всем экранным формам приложения осуществляется как из главной формы приложения, так и из других форм и главного меню программы.

В процессе проектирования разработана двухуровневая структура пользовательского интерфейса. На первом уровне расположена «Главная форма». На втором уровне расположены остальные формы.

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

1. Базы Данных. Методические указания к курсовой работе [Книга] / авт. Градусов А. Б. Гришин В.С., Галкин А. А., Лагерь И. В. — Владимир: Редакционно-издательский комплекс Владимирского государственного университета, 2004.

2. Фаронов В. В, Шумаков П. В. Delphi 5. Руководство разработчика баз данныхМ.:"Нолидж", 2000.-640., ил.

3. Гофман В. Э., Хомоненко А. Д. Работа с базами данных в Delphi. СПб: БХВ-Петербург, 2006. 656 с.

Показать весь текст
Заполнить форму текущей работой