Національний університет “ Києво-Могилянська Академія “
Курсова робота
на тему:
“ Розробка складних інформаційно-пошукових систем “
Науковий керівник: Студентки 3-го курсу
Кулябко П.П. департаменту комп’ютерних технологій
Фіялка Світлани
Київ-1998
Зміст:
Постановка задачі ………………………………………2 ст.
Опис предметної області ……………………………….3 ст.
Інформаційна модель концептуального рівня ………..4 ст.
Реалізація ………………………………………………..8 ст.
Засоби інтефейсу ……………………………………….21 ст.
Постановка задачі .
В наш час системи баз даних користуються все більшим попитом. Так як обсяг самих баз даних може бути дуже великим, доцільно використовувати систему керування базами даних. Майже усі сучасні системи побудовані на основі реляційної моделі керування базами даних. Назва “реляційна” пов”язана з тим, що кожний запис в такій базі даних містить інформацію, яка відноситься (related) тільки до одного конкретного об”єкту. Крім того, з даними двох типів можна працювати як з єдиним цілим, заснованим на значеннях пов”язаних (related) між собою даних. Система керування базами даних надає можливість контролювати задання структури і опис даних, роботу з ними і організацію колективного користування інформацією, вона збільшує можливості і полегшує каталогізацію та ведення великих обсягів інформації в числених таблицях.
Для розробки складних прикладних програм потрібна потужна СКБД та система розробки прикладних програм, яка допомагає автоматизувати основні задачі прикладної програми.
В даній роботі була використана система СКБД –Access.Мета роботи: розробити складну інформаційно-пошукову систему з обраної предметної області, яка повинна забезпечувати підтримку і організацію даних в ній, проведення необхідних змін та вдосконалень, вибір необхідної інформації. Система має бути орієнтована на звичайного користувача, який без зайвих труднощів зможе отримати, ввести, редагувати дані. Для зручного представлення даних та їх використання мають бути розроблені відповідні засоби інтерфейсу.
Опис предметної області.
В якості предметної області для розробленого проекту реляційної бази даних було вибрано бібліотечну справу в певному одному вищому навчальному закладі. В даній бібліотеці існує три відділи: читальна зала для студентів, які вивчають гуманітарні науки, читальна зала для студентів-природничників та читальна зала для студентів факультету суспільних наук. В кожному відділі працює один бібліотекар, який і займається обслуговуванням студентів, які прийшли в цей відділ. Так як всі читачі одночасно є і студентами, то окрім відомостей про їх ім”я та прізвище, доцільно знати назву факультету, де вони навчаються та курс. Всі читачі є студентами лише даного вищого навчального закладу. Основний фонд бібліотеки – книги. Для кожної книги працівниками бібліотеки робиться запис про її ідентифікаційний код, який є унікальним, не може бути застосований до іншої книги або змінений. Кожна книга може знаходитися лише в одному відділі. Розподілення за відділами відбувається на основі тематики книги. Для кожної книги надаються дані про рік її видання, місце та назву видавництва, де вона була видана. В бібліотеці є як одна, так і декілька книг видані одним і тим сами видавництвом. Основна операція в бібліотеці – це обслуговування читачів. Бібліотекар для кожного читача веде абонементний запис, де фіксуються назви книг, які він взяв та дата їх взяття.
Один читач може читати декілька книг одразу. Так як в бібліотеці може бути декілька однакових книг, то і декілька читачів можуть читати одну книгу. Запис про дату взяття книги необхідний для контролю читачів. Якщо студент порівняно довго тримає книгу, то дані про нього заносяться в реєстр читачів-боржників. Обслуговування цього студента в бібліотеці припиняється. Студент має право знову взяти книжки лише в тому випадку, коли він поверне в бібліотеку взяту ним книгу та відбуде “срок покарання”, тобто ще після здачі книги студент на буде обслуговуватися певний час. Всі операції по переведенню читача в стан боржників і навпаки виконує бібліотекар.
Інформаційна модель концептуального рівня.
Для будь-якої інформаційної моделі можна виділити три рівні організації даних: внутрішній рівень, зовнішній рівень та концептуальний рівень. Внутрішній рівень інформаційної моделі – це рівень структур даних певної СКБД: одна і та сама предметна область може бути реалізована через Access, Paradox, FoxPro або іншу систему. Зовнішній рівень – це рівень (точка зору) зовнішніх користувачів щодо організації даних. Між внутрішнім і зовнішнім рівнями знаходиться концептуальний рівень, який інтегрує різні точки зору зовнішніх користувачів, розв”язуючи суперечності між ними. Відносно внутрішнього рівня концептуальний рівень має єдину структурну мову. Всі СКБД, на яких реалізовано певну предметну область, повинні підтримувати концептуальний рівень.
Для опису інформаційної моделі концептуального рівня може бути вибрана ER-модель. Основними поняттями ER-моделі є: об”єкти, зв”язки, атрибути та ключі. Об”єкт – певна сукупність даних, які утворюють семантичне або логічне ціле. В реляційних базах даних відповідником об”екту є реляція – таблиця. Для даної предметної області можна виділити такі об”єкти: читач, книга, абонемент, відділ, бібліотекар, видавництво, факультет, боржники, відділ-книга, видавництво-книга, бібліотекар-відділ. Кожен з цих об”єктів складається з відповідних атрибутів – полів запису, що містять певну частину інформації про об”єкт. Для об”єкту “читач“ атрибутами виступають такі поля: код читача, прізвище, ім”я, код факультету, курс. Для об”єкту “відділ” атрибутами є: код відділу та його назва. Об”єкт “ бібліотекар” містить атрибути: код бібліотекаря, прізвище, освіта, вік, стаж роботи. “Видавництво” -: код видавництва, назва, індекс міста, назва міста, адреса. “Факультет” -: код факультету, назва, прізвище керівника, який очолює факультет. “Боржники”-: код читача, код книги, дата взяття книги, факт про повернення книги, дата повернення. “Книга” -: код книги, назва, автор. “Абонемент” -: код читача, код книги, дата взяття книги, факт про повернення книги. “Відділ-книга” -: код книги, код відділу, кількість однакових книжок у відділі. Видавництво-книга”-: код книги, код видавництва, рік видання книги та її тираж. “Бібліотекар-відділ”-: код відділу та код бібліотекаря.
Ключ – це атрибут або група атрибутів, який однозначно ідентифікує примірник об”єкту за умови мінімальності. Під умовою мінімальності тут слід розуміти той факт, що зі складу ключа не можна вилучити жодного атрибуту без втрати властивості ідентифікації. Для об”єкту “книга” ключем виступає атрибут “код книги”. За кодом книги можна однозначно визначити назву книги та її автора. Для об”єкту “читач” ключовим атрибутом є “код читача”, за яким можна знайти прізвище та ім”я читача, а також факультет та курс, на якому він навчається. Об”єкт “факультет” має ключ – “код факультету”. Кожен факультет має свій код, за яким знаходиться його назва та прізвище керівника, що його очолює. У об”єкта “боржники” ключем виступають два атрибути – код читача та код книги. Читачі-боржники є підмножиною більшої множини читачів, для яких також ведеться абонементний запис, де теж фіксується код читача та код книги, яку він тримає. Читачів-боржників доцільно виокремити з усього загалу читачів, не дивлячись на те, що у відповідних таблицях для читачів –“абонемент” та для читачів-боржників – “боржники” є схожі атрибути. По-перше це необхідно для того, щоб не перевантажувати базу даних. Крім того, для звичайних читачів не фіксується дата повернення книги, оскільки тут вона є неважливою. Навпаки, для читачів-боржників дата повернення книги обов”язково фіксується і запис про неї не видаляється ще певний час. Як було зазначено раніше, це пов”язано з тим, що читач-боржник переходить у спільний реєстр читачів тільки через певний час після здачі книги. Цей факт пов”язаний і з наступними міркуваннями: якщо для звичайного читача встановлення атрибуту “факт про здачу книги” в істину автоматично видаляє записи про нього з таблиці “абонемент” до наступного обслуговування, то для читача-боржника він означає відлік часу до повного відновлення своїх читацьких прав. Атрибут “дата взяття книги” є більш важливим для об”єкту “читач”, оскільки в бібліотеці постійно вираховується різниця між поточною датою та датою взяття книги. Якщо її різниця перевищує певні межі, читач автоматично зараховується в стан читачів-боржників.Встановлює всі ці обмеження сам бібліотекар, він може змінити їх як завгодно.
Для об”єкту “відділ” ключем є атрибут “код відділу”, за яким однозначно встановлюється його назва. За ключовим атрибутом “код бібліотекаря” для об”єкту “бібліотекар” однозначно визначаються прізвище бібліотекаря, його освіта, вік та стаж роботи. Ключ “код видавництва” для об”єкту “видавництво” визначає назву видавництва, індекс міста, в якому розташовано видавництво, назву цього міста та адресу, за якою можна знайти дане видавництво в цьому місті. Об”єкт “бібліотекар-відділ” фактично можна інтерпретувати як: “бібліотекар працює у відділі”. Він містить лише два атрибути, які є ключовими. За кодом бібліотекаря можна знайти відділ, де він працює, і навпаки. Об”єкт “відділ-книга” інтерпретується як “книга знаходиться у відділі”. Цей об”єкт має два ключових атрибути: код книги та код відділу. Оскільки предметною областю передбачено, що одна книга може знаходитися лише у одному відділі, то між цими атрибутами існує взаємна однозначність. І, нарешті, об”єкт “видавництво-книга” можна також інтерпретувати як “видавництво видає книгу”. Ключовими атрибутами є код книги та код видавництва.