Міністерство освіти і науки Російської Федерації
Тихоокеанський Державний Економічний Університет
Економічний інститут
Курсова робота
на тему:
«Бібліотека»
Владивосток 2009
Введення
Автоматизована система «Бібліотека»
У бібліотеки зберігаються кілька видів літератури: книги, газети і журнали. Кожна книга (газета, журнал) відноситься до певного розділу, який поділяється за темами. У кожної книги (газети, журналу) є ряд характеристик: автор, назва, видавництво, місце і пр.
Користувачами бібліотеки є читачі. На кожного читача ведеться формуляр, який містить інформацію про нього (адреса, прізвище, телефон), а також відомості про взятої книзі, дату одержання та повернення.
У разі затримки книги, нараховується пеня за кожен день прострочення (на руках книга може перебувати 10 днів). У системі ведеться облік книг, користувачів і фінансів.
1. Функціональні можливості системи
Функціональні можливості системи «Бібліотека» надають наступні можливості:
Занесення нових книг у фонд бібліотеки;
Перегляд інформації про кожного записаному читача;
Оплата пені за ту книгу, здачу якої читач прострочив;
Переглянути інформацію про всі читачів, які зареєстровані в бібліотеці: П.І.Б., адреса;
Занесення нових читачів.
2. Побудова інформаційно-логічної моделі бази даних
Виділення інформаційних об'єктів
1) документи та їх реквізити, які підлягають зберіганню в базі даних
Документ | Найменування реквізиту (реальне) | Найменування реквізиту в базі даних | Тип реквізиту | Зв'язки |
Книги | Код Назва Автор Видавництво Тема Тип Місце У наявність | kod nazvan kod_avtor kod_izdat kod_temi kod_tip kod_mesto v_nalichie | Ключовий Описовий Описовий Описовий Описовий Описовий Описовий Описовий | |
Читачі | Код читача Прізвище Вулиця Будинок Квартира | kod_chitat familiya uliza dom kvartira | Ключовий Описовий Описовий Описовий Описовий |
2) залежні реквізити
Описові реквізити | Ключові реквізити |
nazvan | kod |
kod_avtor | kod |
kod_izdatel | kod |
kod_temi | kod |
kod_tip | kod |
kod_mesto | kod |
v_nalichie | kod |
familiya | kod_chitat |
uliza | kod_chitat |
dom | kod_chitat |
kvartira | kod_chitat |
3) угрупування реквізитів
Ім'я інформаційного об'єкта | Реквізити | Ключове поле | Опис |
Інформація | kod nazvan kod_avtor kod_izdat kod_temi kod_tip kod_mesto v_nalichie | 1 ¥ | |
Автор | kod_avtor fio | 1 | |
Видавництво | kod_izdat nazvan | 1 | |
Місце | kod_mesto nazvan | 1 | |
Розділ | kod_razd nazvan | 1 | |
Тема | kod_temi nazvan kod_razd | 1 | |
Тип | kod_tip tip | 1 | |
Примірник | kod_ekzempl nazvan ekzempl kod_temi v_nalichie | 1 | |
Таблиця - зв'язка | kod chitat nazvan ekzempl data_vid data_voz pr_dni penya |
| |
Читач | kod_chitat familiya uliza dom kvartira | 1 ¥ | |
Вулиця | kod_uliza uliza | 1 |
Структура інформаційних об'єктів бази даних
Автор
Назва стовпця | Тип | Ключевоеполе |
Kod_avtor | Лічильник | |
fio | Текстовий |
Видавництво
Назва стовпця | Тип | Ключове поле |
kod_izdat | Лічильник | |
nazvan | Текстовий |
Місце
Назва стовпця | Тип | Ключове поле |
kod_mesto | Лічильник | |
nazvan | Текстовий |
Розділ
Назва стовпця | Тип | Ключове поле |
kod_razd | Лічильник | |
nazvan | Текстовий |
Тема
Назва стовпця | Тип | Ключове поле |
kod_temi | Лічильник | |
nazvan | Текстовий | |
kod_razd | Числовий |
Тип
Назва стовпця | Тип | Ключове поле |
kod_tip | Лічильник | |
tip | Текстовий |
Вулиця
Назва стовпця | Тип | Ключове поле |
kod_uliza | Лічильник | |
uliza | Текстовий |
Таблиця - Зв'язка
Назва стовпця | Тип | Ключове поле |
kod | Лічильник | |
chitat | Числовий | |
nazvan | Текстовий | |
ekzempl | Числовий | |
data_vid | Дата / час | |
data_v oz | Дата / час | |
pr_dni |
Числовий | ||
penya | Грошовий |
Читач
Назва стовпця | Тип | Ключове поле |
kod_chitat | Лічильник | |
familiya | Текстовий | |
dom | Числовий | |
kvartira | Числовий |
Примірник
Назва стовпця | Тип | Ключове поле |
kod_ekzempl | Лічильник | |
nazvan | Числовий | |
kod_temi | Числовий | |
v_nalichie | Логічний |
Інформація
Назва стовпця | Тип | Ключове поле |
kod | Лічильник | |
nazvan | Текстовий | |
kod_avtor | Числовий | |
kod_mesto | Числовий | |
v_nalichie | Логічний |
Зв'язки між інформаційними об'єктами
3. Проектування алгоритмів обробки даних
Вибір книги | Книга на руках | Дія протягом року |
Реєстрація в бібліотеці (якщо ще не зареєстрований) Пошук книги в базі Занесення інформації про взятої книги в картку читача | Підрахунок пені кожного читача | Додавання нових книг Реєстрація нових читачів |
Запит на вибірку даних
Пеня - запит для розрахунку заборгованості читачів про кожну книгу. Дані з таблиці - зв'язки повинні бути включені в запит: chitat, nazvan, ekzempl, data _ vid, data _ voz, pr _ dni, penya
Даний запит, описаний в SQL:
UPDATE [Таблиця - зв'язка] SET [Таблиця - зв'язка]. Penya = [pr_dni] * 0.9
На пошук книги - запит, необхідний для пошуку книги по необхідних параметрах (по автору, видавництву, темою).
Взяти книгу - береться книжка, і дані додаються до таблиці «Таблиця - зв'язка».
Коригування даних засобами запитів
Взяти книгу - береться книжка, і дані додаються до таблиці «Таблиця - зв'язка».
Даний запит, описаний в SQL:
INSERT INTO [Таблиця - зв'язка] (chitat, nazvan, ekzempl)
SELECT TOP 1 Читач. Kod_chitat, Інформація. Nazvan, Примірник. Kod_ekzempl
FROM Читач, Інформація INNER JOIN Примірник ON Інформація. Kod = Примірник. Nazvan
WHERE (((Читач. Kod_chitat) = [Forms]! [Головна форма]! [Читач, книги]. [Form]! [Kod_chitat]) AND ((Інформація. Nazvan) = [Forms]! [Інформація 1]! [ nazvan]));
Прострочені дні - оновлюються дані (прострочені дні) у розділі таблиця - зв'язка ».
4. Реалізація користувальницького інтерфейсу засобами форм
Технологія завантаження бази даних
- У першу чергу заповнюються таблиці Автор, Тема, Тип, Видавництво, Місце.
- Таблиця «Інформація» заповнюється на основі вищенаведених таблиць.
- Потім заповнюються таблиці «екземпляр», «Вулиця», ці дані вклячаются в таблиці «Таблиця - зв'язка» і «Читач».
Розробка форм
1) Складова форма
Джерело записів: Читач + Інформація
Таблиця, на якій будується форма: Інформація
Коректовані дані: Так
Кількість записів: Інформація
Недоліки: Неможливо коригувати таблиці, відсутній ієрархічний перегляд.
2) Вкладена форма з одним рівнем
Головна:
Джерело записів: Читач
Таблиця, на якій будується форма: Читач
Коректовані дані: Читач
Кількість записів: Читач
Підпорядкована:
Джерело записів: Інформація
Таблиця, на якій будується форма: Інформація
Коректовані дані: Так
Кількість записів: скільки книг у читача
Переваги: Можливість корегувати таблицю «Читач», реалізується ієрархічний перегляд.
Висновок: Вибираємо для реалізації форму 2, так як вона задовольняє всім поставленим вимогам.
Визначення подсхеми даних
Для зручності користування бажано заносити інформацію про книжки, по кожному читачеві маючи можливість знайти його за допомогою пошуку.
Загальна структура вкладеної форми
У відповідність з наведеної подсхеми визначимо структуру вкладеної форми «Читач». В основній частині будуть розташовуватися реквізити читача (назва читача: familiya). Підпорядкована форма «Інформація» міститиме перелік книг, якими користуються читачі. Зв'язок між формами буде здійснюватися по полях код студента.
Таким чином, форму «Читач» визначають:
Тип форми: вкладена;
Джерело записів для основної частини форми: таблиця «Читач»;
Включається підпорядкована форма: «Інформація».
Форму «Інформацію» визначають:
Тип форми: підпорядкована;
Джерело рядків: Інформація.
Реквізити основний і підпорядкованої форми
У заголовок форми «Читач» включаємо реквізит поле, що містить ім'я читача. За допомогою цього поля буде здійснюватися пошук записів у формі для кожного конкретного Читача. В основну частину форми включаємо підпорядковану форму «Інформація», в яку включаємо поля, що містять інформацію про взятої книги.
7. Реалізація алгоритмів обробки інформації
7.1. Реалізація алгоритмів засобами макросів
Розроблені наступні макроси:
Нова книга. Здійснює відкриття форми «Інформація» для занесення даних про нову книгу. Макрос прив'язаний до події «Натискання кнопки» у формі «Інформація 2».
Закрити форму читач. Закриває форму «читач».
Відкрити новий читач. Відкриває форму «Новий читач». Прив'язаний до події «Натискання кнопки» в кнопці «Новий читач».
Макрос1. Відкриває запрос337, оновлює форму і записує в таблицю взяту книгу.
Розробка додатки користувача
Головна форма «Головна форма», в якій є 2 вкладки:
Читач
Книги
На вкладці «Читач» за допомогою пошуку вибрати прізвище зі списку або якщо вона відсутня зареєструватися, натиснувши кнопку «Новий читач».
Також на вкладці «Читач» є кнопка «Взяти книгу». Коли ми її натискаємо то з'являється форма «Інформація1», де галочкою відзначається взята книга.
На вкладці «Книги» ми можемо побачити весь асортимент книг.
Якщо користувач хоче додати в базу нову книгу, то він використовує кнопку «Нова книга», після її натискання відкривається форма «Інформація».