ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Приклад проектування бази даних "Бібліотека "
         

     

    Інформатика, програмування
    Приклад проектування бази даних "Бібліотека" Призначення та предметна область

    База даних призначена для зберігання даних про придбані бібліотекою виданнях (монографіях, довідниках, збірниках статей і тому подібне), інформації про місцезнаходження окремих екземплярів (переплутав) кожного видання і відомостей про читачів.        Д27          Дейт К. Посібник з реляційної СУБД DB2/Пер. з англ. і предисл. М. Р. Когаловского. - М.: Фінанси і статистика, 1988. - 320 с.: Ил.
      
      ISBN 5-279-00063-9

    Книга американського фахівця в області реляційних баз даних К. Дейта,   автора популярної в СРСР монографії "Введення в системи баз даних" (М.: Наука, 1981), являє собою посібник з перспективною СУБД фірми   ІБМ DB2, що поєднує можливості широко відомої системи IMS/VS і реляційної СУБД.
      Для фахівців з програмного забезпечення інформаційних систем і студентів вузів.   

    ББК 32.973     

    Рис. 5.1. Макет анотованої каталожної картки

    Для ведення бібліотечних каталогів, організації пошуку необхідних видань та бібліотечної статистики в базі повинні зберігатися відомості, більша частина яких розміщуються в анотованих каталожних картках (рис. 5.1). Аналіз запитів на літературу (як читачами, так і співробітниками бібліотек) показує, що для пошуку відповідних видань (за тематикою, автору, художнику, видавництва тощо) та відбору потрібного (наприклад, за анотації) слід виділити наступні атрибути каталожної картки:

    1. Автор (прізвище та імена (ініціали) або псевдонім кожного автора видання).

    2. Назва (заголовок) видання.

    3. Номер тома (частини, книги, випуску).

    4. Вид видання (збірник, довідник, монографія, ...).

    5. Укладач (прізвище та імена (ініціали) кожного з укладачі видання).

    6. Мова, з якого виконаний переклад видання.

    7. Перекладач (прізвище та ініціали кожного перекладача).

    8. Під чий редакцією (прізвище та імена (ініціали) кожного з титульних редакторів).

    9. Художник (прізвище та імена (ініціали) кожного художника-ілюстратора) - для художніх видань, іллюстріруемих оригінальними малюнками.

    10. Повторність видання (друге, одинадцятий і т.п.).

    11. Характер перевидання (виправлене, доповнене, перероблене, стереотипне і т.п.).

    12. Місце видання (місто).

    13. Видавництво (назва видавництва).

    14. Рік випуску видання.

    15. Видавнича анотація або реферат.

    16. Бібліотечний шифр (наприклад, ББК 32.973).

    17. Авторський знак (наприклад, Д27).

    Бібліотечний шифр і авторський знак використовуються при складанні каталогів та організації розстановки видань на полицях: за змістом (відповідно до бібліотечним шифром) і алфавіту (у відповідності з авторським знаком).

    Бібліотечно-бібліографічна класифікація (ББК) розподіляє видання за галузями знань у відповідності з їх змістом. У ній використовується цифро-літерні індекси ступінчастою структури.

    Кожен з дев'яти класів (1. Марксизм-ленінізм; 2. Природничі науки; 3. Техніка. Технічні науки; 4. Сільське та лісове господарство; 5. Охорона здоров'я; 6/8. Суспільні та гуманітарні науки; 9. Бібліографічні посібники. Довідкові видання. Журнали.) Ділиться на підкласи і наступні ступені ділення:

    3. Техніка. Технічні науки.
    32 Радіоелектроніка.
    32.97 Обчислювальна техніка.
    32.973 Електронні обчислювальні машини та пристрої.
    32.973.2 Електронно обчислювальні машини й пристрої дискретної дії.

    Шифр ББК використовується при виділенні що зберігається виданням певних кімнат, стелажів і полиць, а також для складання каталогів і статистичних звітів.

    Авторський знак, що складається з першої літери прізвища (псевдонім) автора або назвою видання (для видань без автора) і числа, що відповідає склад, найбільш наближається з написання до перших буквах прізвища (назви), спрощує розстановку книжок на полицях в алфавітному порядку.

    До об'єктів і атрибутів, що дозволяє охарактеризувати окремі примірники видань (палітурки), місця їх зберігання і читачів, можна віднести:

    18. Номер кімнати (приміщення для зберігання переплутав).

    19. Номер стелажа в кімнаті.

    20. Номер полки на стелажі.

    21. Номер (інвентарний номер) палітурки.

    22. Дата придбання конкретного палітурки.

    23. Ціна конкретного палітурки.

    24. Дата розміщення конкретного палітурки на конкретному місці.

    25. Дата вилучення плетіння з встановленого місця.

    26. Номер читацького квитка (формуляра).

    27. Прізвище читача.

    28. Назва читача.

    29. По-батькові читача.

    30. Адреса читача.

    31. Телефон читача.

    32. Дата видачі читачеві конкретного палітурки.

    33. Термін, на який конкретний обкладинка виданий читачеві.

    34. Дата повернення палітурки. Побудова інфологіческой моделі

    Аналіз визначених вище об'єктів і атрибутів дозволяє виділити суті проектованої бази даних і, прийнявши рішення про створення реляційної бази даних, побудувати її інфологіческую модель на мові "Таблиці-зв'язку" (мал. 5.2).

    До стрижневим сутностей можна віднести:  Творці (Код творця, Творець).
         
         Ця сутність відводиться для зберігання відомостей про основні людях,      що брали участь у підготовці рукопису видання (авторів, упорядника,      титульних редакторів, перекладачів і художників). Таке об'єднання      допустимо, тому що дані про різних творців вибираються з одного домену      (прізвище та імена) і виключає дублювання даних (одна й та сама людина      може грати різні ролі у підготовці різних видань). Наприклад,      С. Я. Маршак писав вірші (Казка про дурному мишеня) та п'єси (Дванадцять      місяців), перекладав Дж.Байрона, Р. Бернса, Г. Гейне і становив збірники      віршів.
         
         Так як прізвище та імена (ініціали) творця можуть бути досить      громіздкими (М. Є. Салтиков-Щедрін, Франсуа Рене де Шатобріан, Остен Жюль      Жан-Батист Іполит і т.п.) і будуть часто зустрічатися в різних      виданнях, то їх доцільно нумерувати і посилатися на ці номери. Для      цього вводиться цілочисельний атрибут "Код_создателя", який      буде автоматично нарощуватися на одиницю при введенні в базу даних нового      автора, перекладача або іншого творця.
         
         Аналогічно створюються: Код_іздательства, Код_заглавія, Від_ видання,      Код_характера, Код_язика, Номер_білета, Номер_пере-плету, Код_места і      Код_ізданія, що заміщають від одного до дев'яти атрибутів.  Видавництва (Код_іздательства, Назва, Місто).  Заголовки (Код_заглавія, Заголовок).
         
         Виділення цієї суті дозволить скоротити обсяг даних і знизити      ймовірність виникнення суперечливості (виключається необхідність      введення довгих текстових назв для різних томів зібрань творів,      повторних видань, підручників і т.п.).  Від_ізданія (Від_ізданія, Названіе_віда).  Характери (Код_характера, Характер_переізданія).  Мови (Код_язика, Мова, Скорочення).
         
         Крім назви мови зберігається його загальноприйняте скорочення (англ., ісп.,      ньому., фр.), якщо вона існує.  Місця (Код_места, Номер_комнати, Номер_стеллажа, Номер_      полиці).
         
         Один з кодів цієї сутності (наприклад, "-1") відведено для      опису узагальненого місця, що знаходиться за стінами сховища книг      (видання видано читачеві, тимчасово передано іншій бібліотеці або      організації).  Читачі (Номер_білета, Прізвище, Ім'я, По батькові, Адреса,      Телефон).

    Дві ключові сутності, що описують видання і його конкретні екземпляри, виявляються залежними від інших сутностей і потрапляють в клас позначень:  Видання (Код_ізданія, Код_заглавія, Від_ізданія,      Номер_тома, Авторскій_знак, Бібліотечн_шіфр, Повторність,      Код_іздательства, Год_ізданія, Анотація) [Заголовки, Від_ізданія,      Видавництва];  Палітурки (Номер_переплета, Код_ізданія, Ціна,      Дата_пріобретенія) [Видання];

    Стержневые суті та позначення пов'язані між собою асоціаціями:  Автори [Творці M, Видання N] (Код_создателя, Код_ізданія).        Укладачі [Творці M, Видання N] (Код_создателя, Код_ізданія).        Редактори [Творці M, Видання N] (Код_создателя, Код_ізданія).        Художники [Творці M, Видання N] (Код_создателя, Код_ізданія).        Перекладачі [Творці M, Видання N] (Код_создателя, Код_ізданія,      Мова).  Перевидання [Характери M, Видання N] (Код_характера, Код_ізданія).        Розміщення [Місця M, Палітурки N] (Код_места, Номер_переплета,      Дата_размещенія, Дата_із'ятія).  Видача [Читачі M, Палітурки N] (Номер_білета, Номер_переплета,      Дата_видачі, Термін, Дата_возврата).

    І, нарешті, для зменшення обсягу часто використовуваного позначення "Видання" з нього виділена характеристика:  Анотації (Код_ізданія, Анотація) (Видання).

    Рис. 5.2. Інфологіческая модель бази даних "Бібліотека", побудована з допомогою мови "Таблиці-зв'язку" Проектування бази даних

    У відповідності до процедури проектування (п. 4.4) кожна з отриманих сутностей повинна бути представлена базової таблиці. Перший варіант цих таблиць описується так: Створити таблицю Творці * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_создат) ПОЛЯ (Код_создат Ціле, Фам_ІО Текст 30); Створити таблицю Видавництва * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_іздательства) ПОЛЯ (Код_іздательства Ціле, Назва Текст 40, Місто Текст 25); Створити таблицю Заголовки * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_заглавія) ПОЛЯ (Код_заглавія Ціле, Заголовок Запис); Створити таблицю Від_ізданія * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Від_ізданія) ПОЛЯ (Від_ізданія Ціле, Названіе_віда Текст 16); Створити таблицю Характери * ( Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_характера) ПОЛЯ (Код_характера Ціле, Характер_переізданія Текст 16); Створити таблицю Мови * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_язика) ПОЛЯ (Код_язика Ціле, Мова Текст 16, Скорочення Текст 6); СТВОРИТИ таблиці місць * ( Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Код_места) ПОЛЯ (Код_места Ціле, Номер_комнати Ціле, Номер_стелажа Ціле, Номер_полкі Ціле); Створити таблицю Читачі * (Стрижнева сутність) ПЕРВИННИЙ КЛЮЧ (Ном_білета) ПОЛЯ (Ном_білета Ціле, Прізвище Текст 20, Ім'я Текст 16, По батькові Текст 20, Адреса Текст 60, Телефон Текст 9); Створити таблицю Видання * (Позначення) ПЕРВИННИЙ КЛЮЧ (Код_ізданія) ЗОВНІШНІЙ КЛЮЧ (Код_заглавія З Заголовки NULL-значення Не допустимо ВИДАЛЕННЯ З Заголовки ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Заглавія.Код_заглавія ОБМЕЖУЄТЬСЯ) ЗОВНІШНІЙ КЛЮЧ (Від_ізданія З Від_ізданія NULL-значення припустимі ВИДАЛЕННЯ З Від_ізданія ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Від_ізданія.Від_ізданія КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Код_іздательства З Видавництва NULL-значення Не допустимо ВИДАЛЕННЯ З Видавництва ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Іздательства.Код_іздательства КАСКАДІРУЕТСЯ) ПОЛЯ (Код_ізданія Ціле, Код_заглавія Ціле, Від_ізданія Текст 16, Номер_тома Ціле , Авторскій_знак Текст 3, Бібліотечн_шіфр Текст 12, Повторність Ціле, Код_іздательст-ва Ціле, Год_ізданія Ціле) ОБМЕЖЕННЯ (1. Значення полів Код_заглавія, Від_ізданія і Код_іздательства повинні належати набору значень відповідних полів таблиць Заголовки, Від_ізданія і Видавництва; при порушенні висновок повідомлення "Такого заголовку немає "," Такого виду видання немає "або" Такого видавництва немає ".); Створити таблицю Палітурки * (Позначення) ПЕРВИННИЙ КЛЮЧ (Номер_переплета) ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання NULL-значення Не допустимо ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ) ПОЛЯ (Номер_переплета Ціле, Код_ізданія Ціле, Ціна Гроші, Дата_пріобретенія Дата) ОБМЕЖЕННЯ (Значення поля Код_ізданія повинні належати набору значень відповідного поля таблиці Видання; при порушенні висновок повідомлення "Такого видання немає"); Створити таблицю Анотації * (Характеризує Видання) ПЕРВИННИЙ КЛЮЧ (Код_ізданія) ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання NULL-значення припустимі ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ) ПОЛЯ (Код_ізданія Ціле, Анотація Запис) ОБМЕЖЕННЯ (Значення поля Код_ізданія повинні належати набору значень відповідного поля таблиці Видання; при порушенні висновок повідомлення "Такого видання немає"); Створити таблицю Автори * (Зв'язує Творці і Видання) ПЕРВИННИЙ КЛЮЧ (Код_создателя, Код_ізданія) ЗОВНІШНІЙ КЛЮЧ (Код_создателя З Творці NULL-значення Не допустимо ВИДАЛЕННЯ З Творці ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Создателі.Код_создателя КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання NULL-значення Не допустимо ВИДАЛЕННЯ З Видання ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ) ПОЛЯ (Код_создателя Ціле, Код_ізданія Ціле) ОБМЕЖЕННЯ (Значення полів Код_создателя і Код_ізданія повинні належати набору значень відповідних полів таблиць Творці і Видання; при порушенні висновок повідомлення "Такого автора немає "або" Такого видання немає ");

    Аналогічне зміст мають опису таблиць Укладачі, Редактори, Художники і Перевидання. Інші ж таблиці проектованої бази даних описуються так: Створити таблицю Перекладачі * (Зв'язує Творці, Видання та Мови) ПЕРВИННИЙ КЛЮЧ (Код_создателя, Код_ізданія) ЗОВНІШНІЙ КЛЮЧ (Код_создателя З Творці NULL-значення Не допустимо ВИДАЛЕННЯ З Творці ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Создателі.Код_создателя КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Код_ізданія З Видання NULL-значення НЕ Припустиме видалення З Видання ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Ізданія.Код_ізданія КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Код_язика З Мови NULL-значення Не допустимо ВИДАЛЕННЯ З Мови ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Язикі.Код_язика КАСКАДІРУЕТСЯ) ПОЛЯ (Код_создателя Ціле, Код_ізданія Ціле) ОБМЕЖЕННЯ (Значення полів Код_создателя, Код_ізданія і Код_язика повинні належати набору значень відповідних полів таблиць Творці, Видання та Мови; при порушенні висновок повідомлення "Такого автора немає" або "Такого видання немає" або "Такого мови немає"); СТВОРИТИ Таблиця розміщення * (Зв'язує Місця та Палітурки) ПЕРВИННИЙ КЛЮЧ (Код_места, Номер_переплета) ЗОВНІШНІЙ КЛЮЧ (Код_места З Місця NULL-значення Не допустимо ВИДАЛЕННЯ З Місця ОБМЕЖУЄТЬСЯ ОНОВЛЕННЯ Места.Код_места КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Номер_переплета З Палітурки NULL-значення Не допустимо ВИДАЛЕННЯ З Палітурки КАСКАДІРУЕТСЯ ОНОВЛЕННЯ Переплети.Ном_переплета КАСКАДІРУЕТСЯ) ПОЛЯ (Код_места Ціле, Номер_переплета Ціле, Дата_размещенія Дата, Дата_із'ятія Дата) ОБМЕЖЕННЯ (Значення полів Код_места і Номер_переплета повинні належати набору значень відповідних полів таблиць Палітурки і Місця; при порушенні висновок повідомлення "Такого палітурки немає" або "Такого місця немає"); Створити таблицю Видача * (Зв'язує Читачі і Палітурки) ПЕРВИННИЙ КЛЮЧ (Ном_білета, Ном_переплета) ЗОВНІШНІЙ КЛЮЧ (Ном_білета З Читачі NULL-значення Не допустимо ВИДАЛЕННЯ З Читачі КАСКАДІРУЕТСЯ ОНОВЛЕННЯ Чітателі.Ном_білета КАСКАДІРУЕТСЯ) ЗОВНІШНІЙ КЛЮЧ (Ном_переплета З Палітурки NULL-значення Не допустимо ВИДАЛЕННЯ З Палітурки КАСКАДІРУЕТСЯ ОНОВЛЕННЯ Переплети.Ном_переплета КАСКАДІРУЕТСЯ) ПОЛЯ (Ном_білета Ціле, Ном_переплета Ціле, Дата_видачі Дата,?? Термін Ціле, Дата_возврата Дата) ОБМЕЖЕННЯ (Значення полів Ном_білета і Ном_переплета повинні належати набору значень відповідних полів таблиць Читачі і Палітурки; при порушенні висновок повідомлення "Такого читача немає" або "Такого палітурки немає");

    Тепер слід перевірити, чи не порушені в даному прокете будь-які принципи нормалізації (п. 4.6), тобто що будь-яке неключових поле кожної таблиці:  функціонально залежить від повного первинного ключа, а не від його      частини (якщо ключ складовою);  не має функціональної залежності від іншого неключових поля.  Сутності Автори, Укладачі, Редактори, Художники і Перевидання,      що не мають неключових полів, безумовно нормалізовані. Нормалізувалася і      суті Творці, розмір, Заголовки, Від_ізданія і Анотації,      складаються з несоставного ключа і єдиного неключових поля.

    Аналіз сутностей Перекладачі, Розміщення і Видача, що складаються з складного ключа і неключових полів, показав, що в них немає функціональних зв'язків між неключових полями. Останні ж не залежать функціонально від будь-якої частини складного ключа.

    Нарешті, аналіз сутностей Видання, Палітурки, Місця, Читачі і мови, показав, що єдиною "підозрілою" сутністю є стрижень Мови, що має два функціонально пов'язаних неключових поля: Мова і Скорочення.

    Поле Мова стало неключових через введення цифрового первинного ключа Код_язика, що заміняє текстовий можливий ключ Мова. Це дало змогу зменшити обсяг збережених даних в таблиці Перекладачі, витрати праці на введення безлічі текстових значень і можливої суперечливості, яка часто виникає через введення в різні поля помилкових дублікатів (наприклад, "Англійська", "Англиский", "Анлійскій", "Англйскій" і т.п.). Якщо ми згадаємо рекомендації п. 4.5 про заміну на час нормалізації ціфровиз замінників первинних ключів (Код_язика) на вихідний ключ (Мова) або скористаємося формулюванням НФБК, то виявиться, що таблиця Мови - нормалізована.

    Для завершення проекту необхідно було б ввести в опису таблиць додаткові відомості про обмеження цілісності (вище вказаний лише мінімальний їх набір) і дати опис деяких таблиць, але ограніченнний обсяг публікації не дозволяє включати ці подробиці, які не є принциповими для ілюстрації процедури проектування. ЛІТЕРАТУРА  Атре Ш. Структурний підхід до організації баз даних. - М.: Фінанси      і статистика, 1983. - 320 с.  Бойко В.В., Савінков В.М. Проектування баз даних інформаційних      систем. - М.: Фінанси і статистика, 1989. - 351 с.  Дейт К. Посібник з реляційної СУБД DB2. - М.: Фінанси і      статистика, 1988. - 320 с.  Джексон Г. Проектування реляційних баз даних для використання      з мікроЕОМ. -М.: Світ, 1991. - 252 с.  Кириллов В.В. Структурізованний мову запитів (SQL). - СПб.: ИТМО,      1994. - 80 с.  Мартін Дж. Планування розвитку автоматизованих систем. - М.:      Фінанси і статистика, 1984. - 196 с.  Мейер М. Теорія реляційних баз даних. - М.: Світ, 1987. - 608 с.  Тіорі Т., Фрай Дж. Проектування структур баз даних. У 2 кн., --      М.: Світ, 1985. Кн. 1. - 287 с.: Кн. 2. - 320 с.  Ульман Дж. Бази даних на Паскалі. - М.: Машиностроение, 1990. --      386 с.  Хаббард Дж. Автоматизоване проектування баз даних. - М.:      Світ, 1984. - 294 с.  Цікрітізіс Д., Лоховскі Ф. Моделі даних. - М.: Фінанси і      статистика, 1985. - 344 с.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status