[ Розробка складних інформаційно-пошукових систем ] | 13.05.98 | Нет | |
3 | 41 | 13.05.98 | Нет |
4 | 40 | 10.05.98 | Да |
6 | 31 | 05.05.98 | Нет |
6 | 33 | 05.05.98 | Нет |
7 | 40 | 10.05.98 | Да |
8 | 34 | 11.05.98 | Нет |
8 | 37 | 11.05.98 | Нет |
11 | 8 | 12.05.98 | Нет |
11 | 9 | 13.05.98 | Нет |
12 | 6 | 14.05.98 | Нет |
12 | 7 | 14.05.98 | Нет |
13 | 6 | 13.05.98 | Да |
15 | 19 | 12.05.98 | Нет |
15 | 20 | 12.05.98 | Нет |
15 | 22 | 12.05.98 | Нет |
16 | 22 | 10.05.98 | Нет |
17 | 24 | 10.05.98 | Нет |
17 | 25 | 10.05.98 | Нет |
17 | 27 | 10.05.98 | Нет |
17 | 28 | 12.05.98 | Нет |
17 | 29 | 12.05.98 | Нет |
18 | 6 | 10.05.98 | Нет |
18 | 13 | 10.05.98 | Нет |
20 | 16 | 11.05.98 | Нет |
20 | 31 | 11.05.98 | Нет |
20 | 33 | 12.05.98 | Нет |
Таблиця “книга” має три поля, ключове поле – “код книги” з числовими даними. Інші поля: “назва” з текстовими даними та “автор” – теж з текстовими даними.
Код книги | Назва | Автор |
2 | Макроэкономика | Мэнкью |
3 | Экономикс | Самюэльсон |
4 | Линейное программирование | Юдин |
5 | Вища математика | Дубовик |
6 | Першотвір і переклад | Коптілов |
7 | О всеобщем родстве языков мира | Мельничук |
8 | Экономикс | Кэмпбелл |
9 | Дослідження операцій | Варнер |
10 | Системний аналіз | Пономаренко |
11 | Теорія і практика перекладу | Коптілов |
12 | Реалія і переклад | Зорівчак |
13 | Слово живое и мертвое | Галь |
14 | Индоевропейский язык и индоевропейцы | Гамкрелидзе |
15 | Сучасне порівняльно-історичне мовознавство | Білецький |
16 | Праславянский язык | Хенрик |
17 | Избранные работы по языкознанию | Покровский |
18 | Сравнительная грамматика индоевропейских языков | Савченко |
19 | Лингвистический энциклопедический словарь | Ярцева |
20 | Політологія | Дзюбко |
21 | Основи загальної теорії права та держави | Рабінович |
22 | Основи держави і права | Котюк |
23 | The Social Experience | Vander Zanden |
24 | Українська мова | Мацько |
25 | Интенсивный курс турецкого языка | Щека |
26 | The Heinemann English Grammar | Beaumont |
27 | Введение в славянскую филологию | Супрун |
28 | Язык в пространстве и времени | Мартынов |
29 | Українська гіпотеза | Карпенко |
30 | Новый Навигатор Internet | Гилстер |
31 | Техніка програмування мовою Сі | Проценко |
32 | Дослідження операцій | Зайченко |
33 | Лінійні простори | Калужнін |
34 | IBM PC для пользователя | Фигурнов |
35 | Лекции по линейной алгебре | Гельфанд |
36 | Программирование на языке Turbo Pascal | Зубов |
37 | Учимся программировать на С++ | Джамса |
38 | Основы линейной алгебры | Мальцев |
39 | Сборник задач по линейной алгебре | Проскуряков |
40 | Комп"ютерні віруси в MS DOS | Касперський |
41 | Программирование в Paradox под Windows на примерах | Тиней |
42 | Пишем вирус и антивирус | Хижняк |
43 | Компьютерная вирусология | Безруков |
44 | Access 7.0 | Вейскас |
45 | Язык Си для профессионалов | Шилдт |
46 | Программирование видеоадаптеров | Фролов |
47 | Язык ассемблера для IBM PC | Абель |
48 | Турбо Паскаль | Поляков |
49 | Paradox-это очень просто | Сигель |
50 | Учебник японского языка | Головнин |
111 | Основи | Дзюбикyg8 |
Таблиця “читач” має 5 полів: ключове поле – “код читача” з числовими даними. Інші поля: “прізвище” – текстові дані, “ім”я” – текстові дані, “номер факультету” – числові дані, “курс” числові дані.
Код читача | Прізвище | Ім"я | Факультет | Курс | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | Сігаєва | Марина | 1 | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | Фіялка | Світлана | 1 | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | Пархоменко | Олена | 1 | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | Комарницька | Людмила | 1 | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | Підгорний | Свєтослав | 1 | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6
Таблиця “боржники” має 5 полів: ключові поля – “код читача” та “код книги”. Інші поля: “дата взяття книги” – дані формату дат, “факт про повернення книги” – логічні дані, “дата повернення книги” – дані формату дат.
Таблиця “факультет” містить 3 поля: ключове поле – “номер факультету”.Поле “повна назва” – назва факультету, текстові дані. Поле “керівник підрозділу” – текстові дані.
Таблиця “відділ” має 2 поля: ключове поле – “код відділу” з числовими даними та поле “назва” з текстовими даними.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | читальна зала для природничників | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | читальна зала для гуманітаріїв |
Таблиця “бібліотекар” має 5 полів: ключове поле – “код бібліотекаря” з числовими даними, поле “прізвище” з тектовими даними, поле “освіта” з текстовими даними, поле “вік“ з числовими даними, поле “стаж” з числовими даними.
Код бібліотекаря | Прізвище | Освіта | Вік | Стаж |
1 | Ярошниченко Т.Я. | вища | 45 | 25 |
2 | Мирошниченко Я.Т. | вища | 40 | 15 |
3 | Фощенко Т.Т. | вища | 35 | 10 |
Таблиця “видавництво” має 5 полів: ключове поле – “код видавництва” з числовими даними, поле “назва” з текстовими даними, поле “індекс міста” з числовими даними, поле “місто” з текстовими даними, поле “адреса” з текстовими даними.
Код видавництва | Назва видавництва | Індекс міста | місто | Адреса |
1000 | Просвіта | 252001 | Київ | вул.Шевченко,23 |
1001 | Світанок | 252123 | Київ | бул.Л.Українки,14 |
1002 | Либідь | 252001 | Київ | Хрещатик,10 |
1003 | Вища школа | 252054 | Київ | Гоголівська вул.,7 |
1004 | Дніпро | 252332 | Київ | вул.Милославська,10 |
1005 | Книжна фабрика | 252160 | Київ | вул.Перова,12 |
1006 | ЛДУ | 239170 | Львів | бул.Перемоги,27 |
1007 | Высшая школа | 101430 | Москва | Неглинная ул.,29/14 |
1008 | ТДУ | 108677 | Тбілісі | ул.Интернациональная,14 |
1009 | Наука | 128367 | Москва | 2-й Рижский пер.,3 |
1010 | Вентурі | 252003 | Київ | вул.Сосновська,6 |
1011 | Random House | | New York | |
1012 | Издательство Московского ууниверситета | 103009 | Москва | ул.Большая Никитинская,5/7 |
1013 | Heinemann Oublishers | | Oxford | |
1014 | Діалектика | 252022 | Київ | просп.Глушкова,6 |
1015 | Инфра.М | 127247 | Москва | Дмитровское шоссе,107 |
1016 | Филин | 128820 | Москва | Новопетровская ул.,1 |
1017 | Мир | 129820 | Москва | 1-й Рижский пер.,2 |
1018 | Бином | 103473 | Москва | ул.Новослободская,50 |
1019 | Питер | 197198 | Санкт-Петербург | ул.Благодатная,67 |
1020 | И.В.К.-Софт | 127147 | Москва | ул.Строительная,25 |
1021 | Диалог-Мифи | 126548 | Москва | ул.Закревского,9 |
1022 | БорАГ | 102111 | Москва | ул.Набережная,6 |
1023 | Лингва | 102110 | Москва | ул.Красноармейская,8 |
Таблиця “бібліотекар-відділ” має 2 ключових поля: “код відділу” та “код бібліотекаря”.
Код відділу | Код бібліотекаря |
1 | 3 |
2 | 2 |
3 | 1 |
Таблиця “відділ-книга” має 3 поля: ключові поля – “код книги” та “код відділу”, інше поле – “кількість” містить числові дані.
Код книги | Код відділу | Кількість |
2 | 1 | 10 |
3 | 1 | 10 |
4 | 2 | 10 |
5 | 2 | 20 |
6 | 3 | 5 |
7 | 3 | 5 |
8 | 1 | 25 |
9 | 2 | 5 |
10 | 2 | 4 |
11 | 3 | 8 |
12 | 3 | 6 |
13 | 3 | 4 |
14 | 3 | 5 |
15 | 3 | 8 |
16 | 3 | 5 |
17 | 3 | 5 |
18 | 3 | 10 |
19 | 3 | 20 |
20 | 1 | 25 |
21 | 1 | 25 |
22 | 1 | 25 |
23 | 1 | 30 |
24 | 3 | 30 |
25 | 3 | 5 |
26 | 3 | 5 |
27 | 3 | 6 |
28 | 3 | 6 |
29 | 3 | 5 |
30 | 2 | 15 |
31 | 2 | 15 |
32 | 2 | 5 |
33 | 2 | 30 |
34 | 2 | 10 |
35 | 2 | 25 |
36 | 2 | 25 |
37 | 2 | 10 |
38 | 2 | 15 |
39 | 2 | 10 |
40 | 2 | 10 |
41 | 2 | 10 |
42 | 2 | 10 |
43 | 2 | 10 |
44 | 2 | 10 |
45 | 2 | 10 |
46 | 2 | 15 |
47 | 2 | 15 |
48 | 2 | 10 |
49 | 2 | 5 |
50 | 3 | 5 |
111 | 1 | 5 |
Таблиця “видавництво-книга” має 4 поля: з них два ключових – “код книги” та “код видавництва”, та інші два поля – “рік видання” – дані формату дат, “тираж” – числові дані.
Наступним важливим кроком в розробці бази даних було встановлення зв”язків між таблицями з врахуванням вимог третьої нормальної форми.
Перша нормальна форма: всі атрибути реляції мають бути атомарними, тобто вони повинні бути неподільними, не мати власної структури, не бути самі по собі реляціями. Кожне поле даних повинно містити унікальні елементи даних і жоден окремий елемент даних не повинен повторюватися в таблиці.
Розроблена база даних задовільняє вимогам першої номальної форми.
Друга нормальна форма: Вимоги для першої нормальної форми + : Кожна таблиця повинна мати унікальний ідентифікатор (первинний ключ). Всі
неключові поля таблиці мають знаходитися в функціонально повній залежності від цього ключа, тобто повністю ним визначатися.
Дана база даних задовільняє умовам другої нормальної форми. Кожна реляція в ній має ключове поле, яке однозначно визначає всі інші атрибути.
Третя нормальна форма: Вимоги для другої нормальної форми +: Всі поля, що не входять в первинний ключ, повинні бути взаємнонезалежними, Тобто повинна існувати можливість змінювати значення одного неключового поля, не змінюючи при цьому значення будь-якого іншого поля бази даних. Не повинно існувати транзитивної залежності вторинних атрибутів (тіх, що не входять до складу жодного квазі-ключа) від від кожного квазі-ключа.
A1 A2 A3
Дана база даних задовільняє вимогам третьої нормальної форми.
Останній етап проектування бази даних – це створення зв”язків між таблицями. Оскільки Access не дозволяє визначати прямий зв”язок “багато-до-багатьох”, то треба створювати додаткову таблицю перетину, за допомогою якої один зв”язок “багато-до-багатьох” зводиться до двох зв”язків типу “один-до-багатьох”. Саме з таких міркувань була створена таблиця “абонемент” , вона розбиває прямий зв”язок типу “багато-до-багатьох” між “читачами” та “книгами” на два зв”язки типу “один-до-багатьох”.
Схема зв”язків між таблицями в базі даних “Бібліотека”.
| Книга | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Код книги | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Назва | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Автор | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Абонемент | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Код читача | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Код книги | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дата взяття книги | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Факт про повернення | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Читач | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Код читача | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Прізвище | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ім”я | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Номер факультету | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Курс | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Боржники | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Код читача | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Код книги | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Дата взяття | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Факт про повернення | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Дата повернення | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Бібліотекар | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вся робота з базою даних відбувається через запити. За їх допомогою можна взнати будь-яку інформацію про читача, книгу, видавництво, відділ, бібліотекаря та ін. За допомогою запитів можна змінювати, видаляти будь-яку інформацію в базі даних. Через запити проходить і процес роботи з читачами. Створені запити при їх запуску згідно з усіма раніше описаними принципами заносять, наприклад, студентів у список читачів-боржників, або видаляють їх звідти. Деякі запити були написані з використанням графічних можливостей QBE (запита за зразком), інші – безпосередньо мовою SQL, стандартною мовою якою користується Microsoft Access для роботи з даними. Для написання складних запитів з множинними порівняннями використовувався принцип підпорядкованих запитів, результати роботи яких використовувалися в якості умов відбору в інших запитах. Майже всі запити реалізовані через параметри, тобто при їх запуску система просить ввести значення якогось параметра, на основі якого потім буде відбуватися пошук необхідної інформації. Найтиповіші запити по базі даних “Бібліотека”:
SELECT DISTINCTROW факультет.[Повна назва], факультет.[Керівник підрозділу], читач.[Прізвище]&” “&[Ім”я] AS Выражение1 FROM факультет INNER JOIN [читач] ON факультет.[Номер факультету]=читач.Факультет WHERE ((([читач].[Прізвище]&” “&[Ім”я])=[Введіть прізвище та ім”я читача]); 2) Знайти прізвище читача, який читає таку-то книгу. SELECT DISTINCTROW читач.Прізвище, читач.[Ім”я], книга.Назва FROM [читач] INNER JOIN (книга INNER JOIN абонемент ON книга.[Код книги]=абонемент.[Код книги]ON читач.[КОд читача]=абонемент.[Код читача] WHERE (((книга.Назва)=[Введіть назву книги])); 3) Який факультет очолює такий-то декан ? SELECT DISTINCTROW факультет.[Повна назва], факультет.[Керівник підрозділу] FROM факультет WHERE (((факультет.[Керівник підрозділу])=[Введіть прізвище декану]));
SELECT DISTINCTROW читач.[Код читача], читач.Прізвище, читач.[Ім”я], читач.Курс FROM [читач] WHERE (((читач.Курс)=[Введіть курс]));
такого-то по такий-то рік. SELECT DISTINCTROW [видавництво-книга].[Рік видання], книга.Назва, книга.Автор, видавництво.[Назва видавництва], видавництво.місто FROM книга INNER JOIN (видавництво INNER JOIN [видавництво-книга] ON видавництво. [Код видавництва]=[видавництво-книга].[Код видавництва] ON книга.[Код книги]=[видавництво-книга].[Код книги] WHERE ((([видавництво-книга].[Рік видання]) BETWEEN [Введіть перший рік випуску] AND [Введіть останній рік випуску]));
працює. SELECT DISTINCTROW бібліотекар.Прізвище, відділ.[Код відділу], відділ.Назва FROM відділ INNER JOIN (бібліотекар INNER JOIN [бібліотекар-відділ] ON бібліотекар.[Код бібліотекаря]=[бібліотекар-відділ].[Код бібліотекаря]) ON відділ.[Код відділу]=[бібліотекар-відділ].[Код відділу] WHERE ((( відділ.[Код відділу])=[Введіть номер відділу]));
SELECT DISTINCTROW книга.Назва, книга.Автор FROM книга INNER JOIN (відділ INNER JOIN [відділ-книга] ON відділ.[Код відділу]=[відділ-книга].[Код відділу]) ON книга.[Код книги]=[відділ-книга].[Код книги] WHERE (((відділ.Назва)<>[Введіть назву відділу])) GROUP BY книга.Назва, книгаюАвтор;
SELECT DISTINCTROW читач.[Код читача]FROM абонемент INNER JOIN [читач] ON читач.[Код читача]=абонемент.[Код читача] WHERE EXISTS (SELECT книга.[Код книги] FROM абонемент книга WHERE абонемент.[Код книги]=книга.[Код книги] AND книга.[Код книги]=6);
SELECT DISTINCTROW читач.Прізвище, читач.[Ім”я], факультет.[Номер факультету], COUNT (абонемент.[Код книги]) AS [COUNT_Код книги]FROM (факультет INNER JOIN [читач] ON факультет.[Номер факультету]=читач.Факультет) INNER JOIN (книга INNER JOIN абонемент ON книга.[Код книги]=абонемент.[Код книги] ON читач.[Код читача]=абонемент.[Код читача] GROUP BY читач.Прізвище, читач.[Ім”я], факультет.[Номер факультету] HAVING (((COUNT (абонемент.[Код книги]))=5));
SELECT DISTINCTROW книга.Назва, книга.Автор FROM книга INNER JOIN (видавництво INNER JOIN [видавництво-книга] ON видавництво.[Код видавництва]=[видавництво-книга].[Код видавництва]) ON книга.[Код книги]=[видавництво-книга].[Код книги] WHERE (((видавництво.[Назва видавництва])=[Введіть назву видавництва])) GROUP BY книга.Назва, книга.Автор; 11) Запит на видалення. З таблиці “боржники” видаляються записи про читачів, якщо відмічено, що вони повернули взяті книги та від дня їх повернення до поточного дня пройшло більше 20 днів, тобто, як зазначалось раніше, ще 20 днів після повернення книги бувший боржник обслуговуватись не буде. DELETE DISTINCTROW DATE()-[Дата повернення] AS Вираз1, боржники.[Код читача] AS Вираз2, боржники.[Код книги] AS Вираз3, боржники.[Дата взяття] AS Вираз4, боржники.[Дата повернення] AS Вираз5, боржники.[Повернення книги] FROM боржники WHERE (((DATE()-[Дата повернення])>20 AND ((боржники.[Повернення книги])=YES));
INSERT INTO боржники([Дата взяття книги],[Код книги],[Код читача]) SELECT DISTINCTROW абонемент.[Дата взяття книги] AS Вираз1, абонемент.[Код книги] AS Вираз2, абонемент.[Код читача] AS Вираз3 FROM абонемент WHERE ((( DATE()-[Дата взяття книги])>13));
UPDATE DISTINCTROW [читач] INNER JOIN боржники ON читач.[Код читача]=боржники.[КОд читача] SET боржники.[Повернення книги]=YES WHERE ((([читач].[Прізвище]&” “&[Ім”я]=[Введіть прізвище та ім”я]));
SELECT DISTINCTROW відділ.[Код відділу], книга.Назва, [видавництво-книга].[Рік видання] INTO [куча] FROM [книгаї INNER JOIN [видавництво-книга] ON кинга.[Код кинги]=[видавництво-книга].[Код книги]) INNER JOIN (відділ INNER JOIN [відділ-книга] ON відділ.[Код відділу]=[відділ-книга].[Код відділу]) ON книга.[Код книги]=[відділ-книга].[Код книги] WHERE (((відділ.[Код відділу])=2 AND (([видавництво-книга].[Рік видання])=1992 OR ([видавництво-книга].[Рік видання])=1993));
Спочатку створюється підзапит, який видає множину всіх книг, що читає Федосова. SELECT DISTINCTROW читач.Прізвище, книга.Назва FROM [читач] INNER JOIN ( книга INNER JOIN абонемент ON книга.[Код книги]=абонемент.[Код книги]) ON читач.[Код читача]=абонемент.[Код читача] WHERE (((читач.Прізвище)=”Федосова”)); Тепер створюється головний запит на основі підзапиту (sub1). SELECT DISTINCTROW читач.Прізвище, читач.[Ім”я], книга.Назва FROM [читач] INNER JOIN (( SUB1 INNER JOIN книга ON SUB1.Назва=книга.Назва) INNER JOIN абонемент ON книга.[Код книги]=абонемент.[Код книги]) ON читач.[Код читача]=абонемент.[Код читача] Засоби інтерфейсу. Для створеної бази даних розроблені інтефейсні засоби, які дозволяють працювати з нею і звичайному користувачеві. При запуску програми на екрані перед користувачем в першу чергу з”являється головна форма з шістью управляючими кнопками. Також вгорі екрану замість стандартного меню з”являється власноручно створене меню. В деяких моментах воно дублює форму, тобто з нього можна безпосередньо вибирати ті ж дії, що і по натисненню кнопки в формі, але має і свої відмінності, завдяки чому ним можна порадити користуватися більш досвідченим користувачам. Отже, головне меню має 5 пунктів – File, View, Edit, Window, Help. Меню File має такі підменю: nNew, SaveAs, PrintTools, PrintPreview, Print. Підменю nNew має ще один рівень вкладеності – ми можемо вибрати, що створювати: нову таблицю, форму, запит, макрос, звіт, або, взагалі, нову базу даних. Велика увага приділяється роздруковуванню матеріалів. В пункті PrintTools можна встановити параметри друку. Інший пункт меню – View.Можна вибрати, що продивлятись: таблиці, форми, запити, звіти. Після вибору відповідного пункту відкривається форма, яка дозволяє робити наступний вібір, подаючи відповідно список існуючих таблиць, форм, запитів, звітів.Крім форми, яка виводить список таблиць для подальшого перегляду, всі інші форми можна викликати натиснувши відповідні кнопки на меню-формі– “Перегляд інформації” – виводиться список існуючих форм, “Запити”- список існуючих запитів, “Звіт” – список звітів. В меню View є ще один пункт Tools для встановлення різноманітних параметрів системи. Наступний пукт меню Edit повністю аналогічний за результатом вибору натисненню на кнопку меню-форми “Редагування інформації”. Після його вибору з”являється інша форма, яка пропонує певні розділи інформації для редагування. За власним вибором можна занести або вилучити якісь відомості про читачів, книги, працівників бібліотеки та ін. Наступний пункт меню – Window. За його допомогою можна поміняти розташування вікон на екрані: Tile, Cascade, Hide, Unhide. Останній пукт меню – Help – при його виборі запускається стандартна допога. Меню-форма є, можливо, більш зручнішою для користування звичайними користувачами, оскільки вона є більш наочною. Так, натискаючи послідовно кнопки “Перегляд інформації” та наступні запропоновані розділи, можна продивитись майже всю інформацію, яка є в таблицях. Наприклад: “Перегляд інформації” -> “бібліотекарі”:
| 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Мирошниченко Я.Т. | 40 | 15 | вища | 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Фощенко Т.Т. | 35 | 10 | вища | 3 |
Поле для кода бібліотекаря є списком, вибираючи з якого певний код можна відразу ж побачити всі записи про даного бібліотекаря (це зроблено за допомогою функції DlookUp). Дані в цю форму заносяться з таблиці, проте в більшість розроблених форм дані заносяться із запитів.
П | Ім"я | Повна назва | Курс |
Пархоменко | Олена | Департамент комп"ютерних технологій | 3 |
Комарницька | Людмила | Департамент комп"ютерних технологій | 3 |
Підгорний | Свєтослав | Департамент комп"ютерних технологій | 3 |
Федосова | Наталя | Департамент комп"ютерних технологій | 3 |
Тарнавська | Олена | Департамент комп"ютерних технологій | 3 |
Бубенщиков | Євген | Департамент комп"ютерних технологій | 3 |
Сиворакша | Сергій | Департамент комп"ютерних технологій | 3 |
Овдій | Юрій | Департамент комп"ютерних технологій | 3 |
Сігаєва | Марина | Департамент комп"ютерних технологій | 3 |
Фіялка | Світлана | Департамент комп"ютерних технологій | 3 |
Цап | Ольга | Департамент економічної теорії | 3 |
Жилєвський | Олександр | Департамент економічної теорії | 2 |
Жарко | Тетяна | Факультет правничих наук | 2 |
Дундій | Ганна | Факультет гуманітарних і суспільних наук | 3 |
Галабурда | Юля | Факультет гуманітарних і суспільних наук | 3 |
Сосновська | Люба | Факультет гуманітарних і суспільних наук | 3 |
Вахненко | Тетяна | Факультет гуманітарних і суспільних наук | 3 |
Беднова | Ганна | Факультет гуманітарних і суспільних наук | 3 |
Медвєдєва | Соломія | Факультет природничих наук | 3 |
Іванова | Тетяна | Школа соціальної роботи | 1 |
Дана форма дає відомості про студентів. За допомогою кнопок на формі можна передивлятися всі записи. В таблиці “читач” не має запису про назву факультету, де навчається студент, а лише номер факультету, тому для виведення його в форму разом з іншими відомостями був написаний запит.
Форми на редагування інформації в основному використовують макроси.
Н | Автор | Код книги | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Макроэкономика | Мэнкью | 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Экономикс | Самюэльсон | 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Линейное программирование | Юдин | 4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вища математика | Дубовик | 5 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Першотвір і переклад | Коптілов | 6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
О всеобщем родстве языков мира | Мельничук | 7 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Экономикс | Кэмпбелл
За допомогою цієї форми можна заносити запис про нову книгу до таблиці “книги” або вилучати якісь записи. Це робиться відповідними кнопками , які запускають в роботу необхідний макрос. Натиснувши кнопку “Запити” можна запустити будь-який запропонований запит на виконання. Більшість запитів використовують параметри, але їх можна вводити не тільки через стандартне діалогове вікно, а й через форму.
Наприклад, ми вибираємо запит –“За назвою видавництва знайти книги, які були там видані між таким-то і таким-то роками. Після натиснення на кнопці з умовою цього запиту, з”являється форма, яка бере на себе обов”язки діалового вікна і пропонує ввести необхідні параметри. Натискаючи кнопку “Звіт” на формі-меню можна вибрати певний звіт і продивитись його. студента Код 1 Прізвище: Ім"я: Повна Курс: Сігаєва Марина Департамент комп"ютерних 3
В говному меню в File є також пункт Exit, який завершує роботу з системою ї виходить з Access. Аналогічну дію виконує кнопка “Вихід з програми” на меню-формі”, відмінність лише в тому, що перед виходом вона запрошує підтвердження.
Будь ласка, не зберігайте тестовий текст. |