Бази і банки даних

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство освіти і науки РФ
Федеральне агентство з освіти
Тверський коледж імені А. Н. Коняєва
Розрахунково-графічна письмова робота
з практики отримання первинних навичок на ПЕОМ
на тему: «Бази і банки даних»
Міньковец Марії Олександрівни
Студентки групи 2НнСК2
Твер
2010

Зміст
Введення
Глава 1 «Введення в бази і банки даних»
1.1 Поняття бази та банку даних
1.2 Компоненти бази даних
1.3 Типологія моделей
1.4 Користувачі баз даних
Глава 2 «Моделі та структури даних
2.1 Багаторівневі моделі предметної області

Введення
Сьогодні важко собі уявити скільки-небудь значиму інформаційну систему, яка не мала б в якості основи або важливою складовою базу даних. Концепції і технології баз даних складалися поступово і завжди були тісно пов'язані з розвитком систем автоматизованої обробки інформації. Створення баз даних після появи реляційного підходу перетворилося з мистецтва в науку, але, як показала практика останніх років, все, ж остаточно його не виключила. Тим не менш, зараз це цілком сформована дисципліна (хоча є швидше інженерної, ніж суто наукової), заснована на досить формалізованих підходах і включає широкий спектр прийомів і методів створення баз даних.
Відповідно призначення систем управління базами даних - забезпечення протягом тривалого часу їх збереження, а також можливості вибірки і актуалізації. Дані існують завжди, поки є потреба у їх використанні, хоча характер використання, як і шляхи вилучення практичної користі можуть бути самими різними: від їх використання для вдосконалення складних систем управління до формування «валіз компромату».
Бази даних в стрімко, а в якійсь мірі і сумбурно розвитку інформаційних технологіях - це порівняно консервативний напрямок, де СУБД і самі бази є «довготривалі споруди». Елементарна база ЕОМ і парадигми програмування змінюються швидше, ніж записані дані втрачають актуальність. У таких умовах, на відміну від прикладних програмістів, творці баз даних повинні постійно пам'ятати про проблему «спадковості» - про те, як інтегрувати у створювану систему успадковані дані, що знаходяться під управлінням застарілої СУБД, і про те, як побудувати систему, щоб новостворювані дані могли бути, у свою чергу, успадковані наступним поколінням систем і розробників.
Широке використання баз даних різними категоріями користувачів призвело, з одного боку, до створення інтерфейсів, що вимагають мінімум часу на освоєння коштів управління системою, а з іншого - до побудови потужних, гнучких СУБД, що мають у тому числі розвинені засоби захисту даних від випадкового або навмисного руйнування . З'явилися і засоби автоматизації розробки, що дозволяють створити базу даних будь-якому користувачеві, навіть не володіє основами теорії БД. Бази даних - це вже досить добре опрацьована наукова дисципліна.

Глава 1 Вступ до бази і банки даних
1.1 Поняття бази та банку даних
Розвиток обчислювальної техніки та поява ємних запам'ятовуючих пристроїв прямого доступу зумовило інтенсивний розвиток автоматичних і автоматизованих систем різного призначення і масштабу, в першу чергу помітне в області бізнес-додатків. Такі системи працюють з великими обсягами інформації. (Мал. 1)
БД АСУП
Реєстраційні картки документів
Реєстрація та контроль виконання
Відомості про особовий склад
Штатний розклад
Бухгалтерія
Відділ кадрів


Малюнок 1 - Схема «Автоматизованої системи»
Іншими напрямками стали, з одного боку, системи управління фізичними експериментами, що забезпечують надоперативну обробку в реальному масштабі часу величезних потоків даних від датчиків, а з іншого - автоматизовані бібліотечні інформаційно-пошукові системи. Це і призвело до появи нової інформаційної технології інтегрованого зберігання та обробки даних - концепції баз даних, в основі якої лежить механізм надання обробній програмі з усіх збережених даних лише тих, які їй необхідні, і у формі, необхідної саме цій програмі.
Банк даних (БнД) - це система спеціально організованих даних, програмних, мовних, організаційних і технічних засобів, призначених для централізованого накопичення та колективного багатоцільового використання даних.
Бази даних (БД) - це іменована сукупність даних, що відображає стан об'єктів та їх відносини в аналізованої предметної області. Характерною рисою баз даних є сталість: дані постійно накопичуються та використовуються; склад і структура даних, необхідні для вирішення тих чи інших прикладних завдань, зазвичай постійні й стабільні в часі; окремі або навіть всі елементи даних можуть змінюватися - але і це є прояви сталості - постійна актуальність.
Система управління базами даних (СКБД) - це сукупність мовних та програмних засобів, призначених для створення, ведення і сумісного використання БД багатьма користувачами.
Іноді в складі банку даних виділяють архіви. Підставою для цього є особливий режим використання даних, коли тільки частина даних знаходиться під оперативним управлінням СУБД. Всі інші дані зазвичай розташовуються на носіях, оперативно не керованих СУБД. Одні й ті ж дані в різні моменти часу можуть входити як в бази даних, так і в архіви. Банки даних можуть не мати архівів, але якщо вони є, то склад банку даних може входити і система управління архівами.
Ефективне управління зовнішньою пам'яттю є основною функцією СУБД. Ці зазвичай спеціалізовані засоби настільки важливі з точки зору ефективності, що при їх відсутності система просто не зможе виконувати деякі завдання вже з того, що їх виконання буде займати занадто багато часу. При цьому жодна з таких спеціалізованих функцій, як побудова індексів, буферизація даних, організація доступу і оптимізація запитів, не є видимою для користувача і забезпечує незалежність між логічним та фізичним рівнями системи: прикладний програміст не повинен писати програми індексування, розподіляти пам'ять на диску і т. д.
Розвиток теорії і практики створення інформаційних систем, заснованих на концепції баз даних, створення уніфікованих методів і засобів організації та пошуку даних дозволяють зберігати й обробляти інформацію про все більш складних об'єктах і їх взаємозв'язках, забезпечуючи багатоаспектні інформаційні потреби різних користувачів. Основні вимоги, що висуваються до банків даних, можна сформулювати так:
Багаторазове використання даних: користувачі повинні мати можливість використовувати дані різним чином.
Простота: користувачі повинні мати можливість легко дізнатися і зрозуміти, які дані є в їх розпорядженні.
Легкість використання: користувачі повинні мати можливість здійснювати (процедурно) простий доступ до даних, при цьому всі складності доступу до даних повинні бути сховані в самій системі управління базами даних.
Гнучкість використання: звернення до даних або їх пошук повинні здійснюватися за допомогою різних методів доступу.
Швидка обробка запитів на дані: запити на дані, повинні оброблятися за допомогою високорівневої мови запитів, а не тільки прикладними програмами, написаними з метою опрацювання конкретних запитів.
Мова взаємодії кінцевих користувачів з системою повинен забезпечувати кінцевим користувачам можливість отримання даних без використання прикладних програм.
База даних - це основа для майбутнього нарощення прикладних програм: бази даних повинні забезпечувати можливість швидкої і дешевої розробки нових програм.
Збереження витрат розумової праці: існуючі програми і логічні структури даних не повинні перероблятися при внесенні змін до бази даних.
Наявність інтерфейсу прикладного програмування: прикладні програми повинні мати можливість просто і ефективно виконувати запити на дані; програми повинні бути ізольованими від розташування файлів і способів адресації даних.
Розподілена обробка даних: система має функціонувати в умовах обчислювальних мереж і забезпечувати ефективний доступ користувачів до будь-якими даними розподіленої БД, розміщеним в будь-якій точці мережі.
Адаптивність і розширюваність: база даних повинна бути настроюваної, причому настроювання не повинна викликати перезапису прикладних програм. Крім того, що поставляється з СУБД набір визначених типів даних повинен бути розширюваним - в системі повинні бути засоби для визначення нових типів і не повинно бути розходжень у використанні системних і певних користувачем типів.
Контроль за цілісністю даних: система повинна здійснювати контроль помилок в даних і виконувати перевірку взаємного логічного відповідності даних.
Відновлення даних після збоїв: автоматичне відновлення без втрати даних транзакції. У разі апаратних або програмних збоїв система повинна повертатися до деякого узгодженим стану даних.
Допоміжні засоби повинні дозволяти розробнику або адміністратора бази даних передбачити і оптимізувати продуктивність системи.
Автоматична реорганізація і переміщення: система повинна забезпечувати можливість переміщення даних або автоматичну реорганізацію фізичної структури.
1.2 Компоненти банку даних
Визначення банку даних передбачає, що з функціонально-організаційної точки зору банк даних є складною людино-машинної системою, що включає в себе всі підсистеми, необхідні для надійного, ефективного та тривалого у часі функціонування.
У структурі банку даних виділяють такі компоненти:
· Інформаційна база;
· Лінгвістичні засоби;
· Програмні засоби;
· Технічні засоби;
· Організаційно-адміністративні підсистеми та нормативно-методичне забезпечення.
1.3 Типологія моделей
Инфологическая моделі
Моделі подання добре структурованої інформації
Моделі подання погано структурованої інформації
IDEF-моделі
ER-моделі
Діаграми потоків даних
Дескрипторних моделі
Фрейми
Семантичні мережі. Тезауруси
Даталогіческіе моделі
Моделі подання фактографічної інформації
Моделі подання документальної інформації
Об'єктно-о ріентірованние
Теоретико-множинні
Теоретико-графові
Інвертування організація
Схемно-визначальна структура
Пряма організація
Контекстно-обумовлена ​​структура
Мережеві
Ієрархічні
Реляційні
Бінарних відносин
Моделі, засновані на файлових структурах
Моделі, які мають сторінкову організацію
Фізичні моделі


1.4 Користувачі баз даних
В інформаційних системах, створюваних на основі СУБД, способи організації даних і методи доступу до них перестали грати вирішальну роль, оскільки виявилися прихованими всередині СУБД. Масовий, так званий кінцевий користувач, як правило, має справу тільки з зовнішнім інтерфейсом, підтримуваним СУБД.
Ці переваги, як вже зрозуміло, не можуть бути реалізовані шляхом механічного об'єднання даних у БД. Передбачається, що в системі обов'язково існує спеціальне посадова особа (група осіб) - адміністратор бази даних (АБД), який несе відповідальність за проектування та загальне управління базою даних. АБД визначає інформаційний зміст БД. З цією метою він ідентифікує об'єкти БД і моделює базу, використовуючи мову опису даних. Отримана модель служить надалі довідником адміністраторів додатків і користувачів. Адміністратор вирішує також всі питання, пов'язані з розміщенням БД в пам'яті, вибором стратегії й обмежень доступу до даних. У функції АБД входять також організацію завантаження, ведення та відновлення БД і багато інших дій, які не можуть бути повністю формалізовані і автоматизовані.
Адміністратор додатків (або, якщо такий спеціально не виділяється - адміністратор БД) визначає для додатків подмодели даних. Тим самим різні програми забезпечуються власним «поглядом», але не на всю БД, а тільки на необхідну для конкретного додатка («відому») її частина. Вся інша частина БД для цього додатка буде «прозора».
Прикладні програмісти мають, як правило, у своєму розпорядженні один або декілька мов програмування, за допомогою яких генеруються прикладним документом.

Глава 2. Моделі і структури даних
Розглянуті в контексті поняття «інформаційна система» елементи реального світу, інформацію про які ми зберігаємо і обробляємо, будемо називати об'єктами. Об'єкт може бути матеріальним (наприклад, службовець, виріб або населений пункт) і нематеріальних (наприклад, ім'я, поняття, абстрактна ідея). Будемо називати набором об'єктів сукупність об'єктів, однорідних з деякої точки зору (наприклад, об'єктів нашої уваги, нехай навіть і різнорідних за своєю внутрішньою природою).
Об'єкт має різні властивості (наприклад, колір, вагу, ім'я), які важливі для нас у той час, коли ми звертаємося до об'єкта (наприклад, вибираємо серед безлічі інших) із будь-якою метою його використання. Причому властивості можуть бути задані як окремими однозначно інтерпретуються кількісними показниками, так і словесними нечіткими описами, допускають різну трактовку, іноді залежить від точки зору і готівкових знань сприймає суб'єкта.
Однак у всіх випадках людина, працюючи з інформацією, має справу з абстракцією, що представляє його цікавить фрагмент реального світу - тією сукупністю характеристичних властивостей (атрибутів), які важливі для вирішення його прикладної задачі! Абстрагування - це спосіб спрощення сукупності фактів, що відносяться до реального об'єкту (за своєю суттю нескінченно складного і різноманітного при вивченні його людиною). При цьому деякі властивості об'єкта ігноруються, оскільки вважається, що для вирішення даної прикладної задачі (або сукупності завдань) вони не є визначальними і не впливають на кінцевий результат! дій при рішенні.
Мета такого абстрагування - побудову конструктивної операбельного опису (робочої моделі), зручного в обробці як для людини, так і для машини, що дозволяє організувати ефективну обробку великих обсягів інформації, причому високопродуктивної повинна бути робота не тільки обчислювальної системи, але і взаємодіє з нею людини.
2.1 Багаторівневі моделі предметної області
Зазвичай окрема база даних містить (відображає) інформацію про деяку предметну область - наборі об'єктів, що становлять інтерес для актуальних або передбачуваних користувачів. Тобто, реальний світ відображається сукупністю конкретних і абстрактних понять, між якими існують (і відповідно, фіксуються) певні зв'язки. Вибір для опису предметної області істотних понять та зв'язків є передумовою того, що користувач буде мати практично всі необхідні йому в рамках завдання знання про об'єкти предметної області. Однак слід відзначити, що користувач, який хоче працювати з базою даних, повинен володіти основними поняттями, що представляють предметну область.
І в цьому сенсі абстрагування дозволяє побудувати такий опис (модель предметної області), яке інша людина зможе не тільки сприйняти, а й безпомилково використовувати для роботи з описами екземплярів об'єктів, що зберігаються в базі даних. Модель предметної області співвідноситься з реальними об'єктами і зв'язками так само, як схема маршрутів міського пасажирського транспорту з фактичної траєкторією руху автобуса. Схема адекватно відображає дійсність на рівні Основних понять - маршрутів і зупинок: обравши за схемою маршрут, пасажир досягне мети (прибуде на потрібну зупинку) незалежно від того, в якому транспортному ряду буде рухатися автобус.
Найбільш простий спосіб представлення предметних областей в БД реалізується поетапно: 1) фіксацією логічної точки зору на дані (тобто дані розглядаються незалежно від особливостей ЇХ зберігання та пошуку в конкретній обчислювальної середовищі), 2) визначенням фізичного представлення даних з урахуванням вибраних структур зберігання даних та архітектури ЕОМ.
Абстраговане опис предметної області з фіксованою (логічного) точки зору будемо називати концептуальною схемою. Відповідно, систематизація понять і зв'язків предметної Області називається логічним або концептуальним проектуванням Модель (подання логічної точки зору), що використовується при абстрагуванні - сукупність функціональних характеристик об'єктів і особливостей подання інформації (наприклад, в числовий або текстовій формі), будемо називати моделлю донних.
Відображення концептуальної схеми на фізичний рівень будемо називати внутрішньою схемою.
Відображення погляду (точки зору) окремого користувача на концептуальну схему (як варіант сприйняття предметної області) будемо називати зовнішньої схемою. Зовнішня схема використовує ті ж абстрактні категорії, що і концептуальна, а на практиці відповідає логічній організації даних в прикладній програмі.
Теоретично питання про різноманіття рівнів абстракції було вирішено ще в 60-70-х рр.. Основою для його вирішення є концепція багаторівневої архітектури системи бази даних. Наприклад, у звіті передбачався архітектурний рівень подсхеми, який дозволяв для кожного конкретного додатка будувати своє власне «бачення» використовуваного підмножини бази даних шляхом визначення його «персональної» подсхеми бази даних.
У більш загальному вигляді це питання вирішене в архітектурній моделі! Тут на зовнішньому рівні може підтримуватися зовсім інша модель даних (або навіть кілька моделей)! ніж на концептуальному рівні. Підтримка різноманітних можливостей абстрагування в такій системі досягається дякуй засобів виявлення та підтримки межуровневого відображень моделей даних.
Крім цього, для вирішення зазначеної проблеми може використовуватися усередині модельна структура, наприклад, механізми уявлень (view). ). В об'єктних системах для цих цілей може використовуватися відношення наслідування.
У загальному випадку концепція трирівневого уявлення не вимагає більше трьох рівнів, однак з практичної точки зору іноді зручно включати схеми додаткових рівнів, наведені деякі варіанти рішень.
Розглянута трирівнева архітектура забезпечує виконання основних вимог, що пред'являються до систем баз даних:
• адекватність відображення предметної області;
• можливість взаємодії з БД різних користувачів при вирішенні різних прикладних завдань;
• забезпечення незалежності програм і даних;
• надійність функціонування БД та захист від несанкціонованого доступу.
З точки зору користувачів різних категорій трирівнева архітектура має такі переваги:
• системний аналітик, створює модель предметної області, не обов'язково повинен бути фахівцем в області програмування та обчислювальної техніки;
• адміністратор баз даних, що забезпечує відображення концептуальної схеми у внутрішню, не повинен турбуватися про коректність подання предметної області;
• кінцеві користувачі, використовуючи зовнішню схему, можуть не] вдаватися повністю в предметну область, звертаючись лише до необхідних складових. При цьому виключається можливість несанкціонованого доступу до даних оголошених зовнішньої схемою, тому що формування її перебуває у сфері діяльності адміністратора бази даних;
• системний аналітик, як і кінцевий користувач, не втручається у внутрішнє представлення даних.
Це відображає поширену практику спеціалізації і розподілу відповідальності. Головне ж полягає в тому, що роботу з проектування та експлуатації баз даних можна розділити на три досить самостійних етапи. Хоча треба зазначити, що на практиці створення концептуальної схеми не завжди передує побудови зовнішньої. Іноді важко з самого початку повністю визначити предметну область, але з іншого боку, вже відомі вимоги користувачів (саме тому створення бази вже має сенс). І крім того, адекватність моделі предметної області, в кінці кінців, повинна підтверджуватися практикою для користувача уявлень.
2.2 Ідентифікація об'єктів і записів
У задачах обробки інформації, і в першу чергу в алгоритмізації і програмування, атрибути іменують (позначають) і приписують їм значення.
При обробці інформації ми, так чи інакше, маємо справу з сукупністю об'єктів, інформацію про властивості кожного з котoрих треба зберігати (записувати) як дані, щоб при вирішенні завдань їх можна було знайти і виконати необхідні перетворення.
Таким чином, будь-який стан об'єкта характеризується сукупністю актуалізованих атрибутів (що мають деякий зі значень у цей момент часу), які фіксуються на певному матеріальному носії у вигляді запису - сукупності (групи) формалізованих елементів даних (значень атрибутів, представлених в тому чи іншому форматі). Крім того, в контексті завдань зберігання та пошуку можна говорити, що значення атрибута ідентифікує об'єкт: використання значення в якості пошукової ознаки дозволяє реалізувати простий критерій відбору за умовою порівняння.
Так само як і в реальному світі, окремий об'єкт завжди є унікальним (вже хоча б тому, що ми саме його виділяємо серед інших). Відповідно, запис, що містить дані про нього, також повинна бути впізнаваною однозначно (принаймні, в рамках предметної області), тобто мати унікальний ідентифікатор, причому жоден інший об'єкт не повинен мати такий же ідентифікатор. Оскільки ідентифікатор - суть значення елемента даних, в деяких випадках для забезпечення унікальності потрібно використовувати більше одного елемента. Наприклад, для однозначної ідентифікації записів про дисциплінах навчального плану необхідно використовувати елементи СЕМЕСТР і НАЙМЕНУВАННЯ ДИСЦИПЛІНИ, так як можливо викладання однієї дисципліни в різних семестрах.
Запропонована вище схема являє атрибутивний спосіб ідентифікації змісту об'єкта (рис. 3.3). Вона є досить природною для даних, що мають фактографічну природу і описують зазвичай матеріальні об'єкти. Інформацію, подану такого роду даними, називають добре 1 структурованою. Тут важливо зазначити, що структурованість відноситься не тільки до форми представлення даних (формат, спосіб зберігання), але і до способу інтерпретації значення користувачем ', значення параметра не тільки представлено в визначеною формі, але і зазвичай супроводжується вказівкою розмірності величини, що дозволяє користувачеві розуміти її сенс без додаткових коментарів. Таким чином, фактографічні дані припускають можливість їх безпосередньої інтерпретації.
Однак атрибутивний спосіб практично не підходить для ідентифікації слабо структурованої інформації, пов'язаної d об'єктами, що мають зазвичай ідеальну (умоглядну) природу - категоріями, поняттями, знаковими системами. Такі об'єкти найчастіше визначаються логічно і опосередковано - через інші об'єкти. Для опису таких об'єктів використовуються природні або штучні мови (наприклад, мова алгебри)! Відповідно, для розуміння сенсу користувачеві необхідно використовувати відповідні правила мови, і, більше того, чає! необхідно вже розташовувати деякою інформацією, дозволяю щей ідентифікувати і пов'язати отримувану інформацію з наявним знанням. Тобто процес інтерпретації такого роду даних має опосередкований характер і вимагає використання додаткової інформації, причому такий, що не обов'язкова присутній у формалізованому вигляді в базі даних.
Такий поділ знайшло відображення в традиційному поділі баз даних на фактографічні та документальні.
2.3 Пошук записів
Програмісту або користувачу необхідно мати можливості звертатися до окремих, потрібним йому записів або окремих елементів даних. Залежно від рівня програмного забезпечення прикладної програміст може використовувати такі способи.
• Поставити машинний адресу даних і відповідно до фізичним форматом запису прочитати значення. Це випадок, коли програміст повинен бути «навігатором».
• Повідомити системі ім'я запису або елемента даних, які він хоче отримати, і можливо, організацію набору даних. У цьому випадку система сама зробить вибірку (за попередньою схемою), але для цього вона повинна буде використовувати допоміжну інформацію про структуру даних і організації набору. Така інформація по суті буде надлишкової по відношенню до об'єкта, однак спілкування з базою даних не буде вимагати від користувача знань програміста і дозволить перекласти турботи про розміщення даних на систему.
Як ключ, що забезпечує доступ до запису, можна використовувати ідентифікатор - окремий елемент даних. Ключ, який ідентифікує запис єдиним чином, називається первинним (головним).
У тому випадку, коли ключ ідентифікує деяку групу записів, що мають певне загальне властивість, ключ називається вторинним набором даних може мати декілька вторинних ключів, необхідність введення яких визначається практичною необхідністю - оптимізацією процесів знаходження записів за відповідним ключу.
Іноді в якості ідентифікатора використовують складовою зчеплений ключ - кілька елементів даних, які в сукупності, наприклад, забезпечать унікальність ідентифікації кожного запису набору даних.
При цьому ключ може зберігатися у складі запису або окремо. Наприклад, ключ для записів, що мають неунікальні значення атрибутів, для усунення надмірності доцільно зберігати окремо. На рис. 3.4 наведено два таких способи зберігання ключів та атрибутів для набору найпростішої структури.
Введене поняття ключа є логічним і його не слід плутати з фізичної реалізацією ключа - індексом, що забезпечує доступ до записів, відповідним окремим значенням ключа.
Один зі способів використання вторинного ключа в якості ходу - організація інвертованого списку, кожен вхід якого містить значення ключа разом зі списком ідентифікаторів Відповідних записів. Дані в індексі розташовуються у зростаючому або спадаючому порядку, тому алгоритм знаходження потрібного значення досить простий і ефективний, а після знаходження значення запис локалізується за вказівником фізичного розташування. Недоліком індексу є те, що він займає додатковий простір і його треба оновлювати кожен раз, коли видаляється, оновлюється або додається запис. На рис. 3.5 наведено інвертований список для попереднього прикладу.
У загальному випадку інвертований список може бути побудований для будь-якого ключа, в тому числі складеного.
1) А (Е) =? Яке значення атрибута А для об'єкта Е?
2) А (?) У V Які об'єкти мають значення атрибуту, рівне VI
3)? (Е) = V Які атрибути об'єкта Е мають значення, рівне V |
4)? (Е) =? Які значення атрибутів має об'єкт Е?
5) А (?) =? Які значення має атрибут А в наборі?
6 )?(?) У V Які атрибути об'єктів набору мають значення, рівне V?
Тут у запитах типів 2, 3, 6 замість оператора рівності може бути використаний інший оператор порівняння (більше, менше, не дорівнює або інші).
Запити типу 1 виконуються пошуком по «прямому» масиву: доступ до запису провадиться по первинному ключу. Запити типу 2 виконуються пошуком по інвертованому списком: доступ до записної) проводиться за вказівником, вибираємо із списку за значенням вторинного ключа. Відповіддю в цих випадках буде значення атрибуту або ідентифікатора. Запити типу 3 мають відповіддю ім'я атрибута. Запити типу 2, 5, 6 відносяться до декількох атрибутів, і в цьому випадку можуть бути побудовані кілька індексів, що полегшують пошук по цим ключам.
Складові умови пошуку можуть використовувати кілька простих умов, в основному пов'язаних логічними (булеві) операторами.
Слід зазначити, що в контексті обробки запитів 2-го типу «Які об'єкти мають задане значення атрибуту?» Можна виділити три наступні типу архітектур доступу.
1. Системи з вторинними індексами. У цих системах послідовність розташування записів відповідає послідовності Значень первинного ключа. Як правило, використовується один первинний індекс і кілька вторинних.
2. Системи частково інвертований файлів. У цих системах записи можуть розташовуватися в довільній послідовності. На відміну від систем першого типу первинний індекс відсутній. Вторинні індекси застосовуються для прямої адресації записів, Що істотно полегшує включення в файл нових записів, так Як допускається їх розміщення в будь-якому вільній ділянці файлу.
3. Системи повністю інвертованих файлів. У цих системах Передбачено наявність файлів, що містять значення окремих елементів даних, що входять до складу записів, - допускається роздільне зберігання елементів даних запису. Значення елементів даних, що становлять певний запис або кортеж, в загальному випадку можуть розміщуватися в пам'яті довільно. Для прискорення Процесу пошуку в системі використовують два набори індексів: індекс примірників (значень ключів) та індекс даних (інвертований список). За допомогою індексу екземплярів можна знайти у файлі елементи даних, що мають задане значення. За допомогою індексу даних можна знайти записи, пов'язані з заданими значеннями елементів. Така організація характерна для організації даних документальних інформаційних систем.
2.4 Уявлення предметної області та моделі даних
Якби призначенням бази даних було тільки збереження і пошук даних в масивах записів, то структура системи та самої бази була б простою. Причина складності у тому, що практично будь-який об'єкт характеризується не тільки параметрами-величинами, а й взаємозв'язками частин або станів. Є відмінності і в характері взаємозв'язків між об'єктами предметної області: одні об'єкти можуть використовуватися тільки як характеристики інших об'єктів, інші - незалежні і мають самостійне значення
Крім того, сам по собі окремий елемент даних (його значення) нічого не представляє. Він набуває сенсу тільки тоді, коли пов'язаний з атрибутом (природою значення, що дозволить інтерпретувати значення) та іншими елементами даних.
Тому фізичній розміщення даних (і, відповідно, визначення структури фізичного запису) повинно передувати опис логічної структури предметної області - побудова моделі відповідного фрагмента реального світу, що виділяє лише ті об'єкти, які будуть цікаві майбутнім користувачам, і представлені тільки тими параметрами, які будуть відчутні, коли вирішенні прикладних завдань.
2.5 Структури даних
При будь-якому методі відображення предметної області в машинних базах даних в основі відображення лежить фіксація (кодування) Понять і відносин між поняттями. Абстрактне поняття структури ближче всього до так званої концептуальної моделі Предметної середовища і часто лежить в основі останньої.
Поняття структури використовується на всіх рівнях подання Предметної області і реалізується як:
• структура інформації - схематична форма представлення складних композиційних об'єктів та зв'язків реальної предметної області, що виділяються як актуально необхідні для вирішення прикладних завдань;
• структура даних - атрибутивна форма подання властивостей і зв'язків предметної області, орієнтована на вираження опису даних засобами формальних мов (тобто враховує можливості і обмеження конкретних засобів з метою зведення описів до стандартних типів і регулярним зв'язкам);
структура записів - доцільна (враховує особливості фізичного середовища) реалізація способів зберігання даних і організації доступу до них як на рівні окремих записів, так і їх елементів (з метою визначення основних і допоміжних функціональних масивів, а також сукупності уніфікованих процедур маніпулювання даними). Структура є загальноприйнятим і зручним інструментом, однаково ефективно використовуються як на рівні свідомості людини при роботі з абстрактними поняттями, так і на рівні логіки машинних алгоритмів. Структура дозволяє простими способами звести багатовимірність змістовного опису до лінійної послідовності записів. Саме це дозволяє формалізувати на загальній понятійної основі взаємозв'язок уявлень інформації в різних середовищах: забезпечити контрольоване зведення нескінченного розмаїття об'єктів і видів взаємозв'язків реального світу до жорстко детермінованому опису - сукупності двійкових даних і машинно-орієнтованих алгоритмів їх обробки.
Виділення трьох видів структур, що відносяться до подання об'єктів предметної області, має, в деякому розумінні, принциповий характер.
Структура інформації - це невід'ємне властивість інформації (відомостей, сигналів, які сприймаються суб'єктом) про деякої сукупності об'єктів предметної області в контексті практичної задачі (розв'язуваної суб'єктом), в загальному випадку без урахування того, чи будуть для її вирішення використані кошти програмування та обчислювальні машини. Структурування інформації здійснюється системним аналітиком і зводиться до виділення операційних об'єктів і визначення їх характеристичних властивостей і взаємозв'язків.
Структура даних - це визначення інформаційних масивів (складу і взаємозв'язків даних на логічному рівні, відповідних характеру інформації і видам відповідних преoбразованій). При визначенні структур даних необхідно не тільки встановити складу масиву, а й визначити оптимальну взаємозв'язок (і, відповідно, визначити критерії та методи оцінки ефективності), наприклад, виділення груп або агрегатовj мають ієрархічну ідентифікацію. Ефективність в цьому, випадку пов'язується з процесом побудови програми («вирішувача» прикладної задачі) і, в якомусь сенсі - з ефективністю роботи програміста. Наприклад, при функціональній обробці масиву необхідно звертатися до окремих елементів, в той час? як в операціях присвоєння або при записі масиву у файл елементне звернення призведе до збільшення розміру тексту програми, а в ряді випадків - до збільшення часу виконання.
Структура запису - це визначення структури фізичної пам'яті: виділення, звільнення і захист областей фізичного носія, способи адресації та пересилки. Ефективність в цьому випадку пов'язується з процесами обміну між пристроями оперативної і зовнішньої пам'яті, штучно введеної для забезпечення функціональної ефективності окремих операцій (наприклад, пошуку по ключах) за допомогою надмірності даних.
Розглянемо різновиди і типологію «комп'ютерних» логічних структур даних з точки зору особливості їх організації. Структура тут в першу чергу визначає алгоритм вибірки окремих елементів даних, але в той же час необхідно відзначити, що вона відображає і особливості «технології» організації й обробки інформації, властиві людині в його повсякденній діяльності.
Фізично поняттю структура відповідає запис даних. Запис - це упорядкована відповідно до характеру взаємозв'язків сукупність полів (елементів) даних, що розміщуються в пам'яті згідно з їх типом. Поле являє собою мінімальну адресованих (ідентифіковану) частину пам'яті - одиницю даних, на яку можна посилатися при зверненні до даних.
Таким чином, структура даних - це спосіб відображення значень у пам'яті: розмір області та порядок її виділення (який і визначить характер процедури адресації / вибірки). Часто саме успішність структурування даних визначає складність процедур їх обробки [2].
Класифікація структур даних повинна проводитися з двох точок зору.
1. За характером взаємозв'язку елементів структури (з точки зору порядку їх розміщення / вибірки) види структур можна розділити на лінійні та нелінійні.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
75.6кб. | скачати


Схожі роботи:
Бази даних банки даних загальне поняття
Просопографіческіе бази даних Росії на прикладі баз даних Comandarm і Duma1
Створення бази даних критичних властивостей речовин в редакторі баз даних MS Access
Використання електронної таблиці як бази даних Сортування і фільтрація даних в Microsoft Excel
Захист даних і адміністрування бази даних
Бази і банки знань
Автоматизовані банки даних
Бази даних
Бази даних 3
© Усі права захищені
написати до нас