Реферат: Розробка складних інформаційно-пошукових систем
начєтьсятримає n nпрацює
видається
m “видавництво-книга” “бібліотекар-відділ”
боржник 1 1 1
факультет видавництво бібліотекар
Реалізація .
Засобом для реалізації даної прикладної системи, як вже зазначалось раніше, стала система MicrosoftAccess’97.
Першим етапом по створенню реляційної бази дани була розробка необхідних реляцій (таблиць) та відповідне їх наповнення. В даній базі даних «Бібліотека» створено 11 таблиць: абонемент, книга, відділ-книга, читач, боржники, факультет, відділ, бібліотекар, бібліотекар-відділ, видавництво, видавництво-книга.
Таблиця “абонемент” має 4 поля, два з яких ключові – “код читача” та “код книги” і два інші – “дата взяття книги” з даними типу дата та “факт про повернення книги” з даними логічного типу.
Код читача | Код книги | Дата взяття книги | Факт сдачі |
1 | 47 | 12.05.98 | Нет |
1 | 49 | 12.05.98 | Нет |
2 | 43 | 13.05.98 | Нет |
2 | 44 | 13.05.98 | Нет |
2 | 46 | 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 | Федосова | Наталя | 1 | 3 |
7 | Тарнавська | Олена | 1 | 3 |
8 | Бубенщиков | Євген | 1 | 3 |
9 | Сиворакша | Сергій | 1 | 3 |
10 | Овдій | Юрій | 1 | 3 |
11 | Цап | Ольга | 2 | 3 |
12 | Дундій | Ганна | 4 | 3 |
13 | Медвєдєва | Соломія | 5 | 3 |
14 | Жилєвський | Олександр | 2 | 2 |
15 | Жарко | Тетяна | 3 | 2 |
16 | Іванова | Тетяна | 6 | 1 |
17 | Галабурда | Юля | 4 | 3 |
18 | Сосновська | Люба | 4 | 3 |
19 | Вахненко | Тетяна | 4 | 3 |
20 | Беднова | Ганна | 4 | 3 |
Таблиця “боржники” має 5 полів: ключові поля – “код читача” та “код книги”. Інші поля: “дата взяття книги” – дані формату дат, “факт про повернення книги” – логічні дані, “дата повернення книги” – дані формату дат.
Код читача | Код книги | Дата взяття | Повернення книги | Дата повернення |
5 | 30 | 30.03.98 | Да | 01.04.98 |
9 | 39 | 30.04.98 | Нет | |
10 | 10 | 30.03.98 | Да | 01.04.98 |
14 | 3 | 01.05.98 | Нет | |
14 | 4 | 01.05.98 | Нет | |
14 | 111 | 30.04.98 | Нет | |
19 | 14 | 30.04.98 | Нет | |
19 | 15 | 01.05.98 | Нет |
Таблиця “факультет” містить 3 поля: ключове поле – “номер факультету”.Поле “повна назва” – назва факультету, текстові дані. Поле “керівник підрозділу” – текстові дані.
Номер факультету | Повна назва | Керівник підрозділу |
1 | Департамент комп"ютерних технологій | Глибовець М.М. |
2 | Департамент економічної теорії | Ястремський О. |
3 | Факультет правничих наук | Сущенко В.М. |
4 | Факультет гуманітарних і суспільних наук | Гусєв В.І. |
5 | Факультет природничих наук | Безусько А.Г. |
6 | Школа соціальної роботи | Полтавець В.І. |
Таблиця “відділ” має 2 поля: ключове поле – “код відділу” з числовими даними та поле “назва” з текстовими даними.
Код відділу | Назва |
1 | читальна зала для суспільнознавців |
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 не дозволяє визначати прямий зв”язок “багато-до-багатьох”, то треба створювати додаткову таблицю перетину, за допомогою якої один зв”язок “багато-до-багатьох” зводиться до двох зв”язків типу “один-до-багатьох”. Саме з таких міркувань була створена таблиця “абонемент” , вона розбиває прямий зв”язок типу “багато-до-багатьох” між “читачами” та “книгами” на два зв”язки типу “один-до-багатьох”.
Схема зв”язків між таблицями в базі даних “Бібліотека”.
Книга | ||||||
Код книги | ||||||
Назва | ||||||
Автор | ||||||
Абонемент | ||||||
Код читача | ||||||
Код книги | ||||||
Дата взяття книги | ||||||
Факт про повернення | ||||||
Читач | ||||||
Код читача | ||||||
Прізвище | ||||||
Ім”я | ||||||
Номер факультету | ||||||
Курс | ||||||
Боржники | ||||||
Код читача | ||||||
Код книги | ||||||
Дата взяття | ||||||
Факт про повернення | ||||||
Дата повернення | ||||||
Бібліотекар | ||||||
Код бібліотекаря | ||||||
Прізвище | ||||||
Освіта | ||||||
Вік | ||||||
Стаж | ||||||
Факультет | ||||||
Номер факультету | ||||||
Повна назва | ||||||
Керівник підрозділу | ||||||
Відділ | ||||||
Код відділу | ||||||
Назва | ||||||
Бібліотекар-відділ | ||||||
Код відділу | ||||||
Код бібліотекаря | ||||||
Відділ-книга | ||||||
Код книги | ||||||
Код бібліотекаря | ||||||
Кількість | ||||||
Видавництво | ||||||
Код видавництва | ||||||
Назва | ||||||
Індекс міста | ||||||
Місто | ||||||
Адреса | ||||||
Видавництво-книга | ||||||
Код книги | ||||||
Код видавництва | ||||||
Рік видання | ||||||
Тираж |