Реляційних ТА ІНШІ СИСТЕМИ

Як вже було сказано вище, системи з підтримкою SQL, або просто системи SQL, в даний час стали переважаючими на ринку баз даних, і однією з важливих причин подібного стану справ є саме те, що такі системи засновані на реляційної моделі даних Тому не дивно, що в неформальному спілкуванні системи SQL часто називають просто реляційними сістемамі5 Крім того, переважна більшість наукових досліджень в області баз даних протягом останніх 30 років було присвячено (іноді опосередковано) саме цієї моделі Фактично, введення реляційної моделі в 1969 і 1970 роках було, безсумнівно, найбільш важливою подією у всій історії розвитку теорії баз даних З цих причин, а також враховуючи те, що реляційна модель заснована на певних математичних та логічних принципах і, отже, ідеально підходить для викладу теоретичних концепцій систем баз даних, основну увагу в цій книзі приділяється саме реляційних систем і реляційному підходу

Що мається на увазі під реляційної системою На жаль, на даному етапі обговорення неможливо дати повну відповідь на це питання Однак можна (і потрібно) Дати хоча б приблизну відповідь, який надалі буде істотно уточнено

4 У додатку А наведено вражаючий приклад того, на що реляційні системи здатні в цьому відношенні

5 Навіть незважаючи на той факт, що системи SQL, як буде показано нижче, у багатьох відношеннях ха рактеризует значними відхиленнями від реляційної моделі

Отже, коротко і не зовсім точно можна визначити, що реляційна система – це система, заснована на описаних нижче принципах

Дані розглядаються користувачем як таблиці (і ніяк інакше)

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

Причина, за якою такі системи називають реляційними, полягає в тому, що англійський термін relation {Відношення), по суті, являє собою загальноприйняте математичне назву для таблиць Тому на практиці терміни ставлення і таблиця в більшості випадків можна вважати синонімами, принаймні, для неформальних цілей (Обговорення цього питання буде продовжено в розділах 3 і 6) Можливо, слід додати, що причина, безсумнівно, полягає НЕ в тому, що термін ставлення Сутнісно – просто формальна назва для звязку (relationship) у термінах діаграм сутність-звязок (Див розділ 13) Насправді між реляційними системами і подібними діаграмами існує зовсім незначна пряма залежність, як зазначено в даному розділі

Як уже згадувалося, надалі буде дано більш точне визначення, а поки ми будемо використовувати наведене вище На рис 17 представлений приклад структури даних і операторів, що використовуються в реляційних системах Дані, наведені на рис 17, а, складаються з однієї таблиці CELLAR (насправді це ще одна версія таблиці CELLAR (див табл 11), яка просто була зменшена для того, щоб з нею було легше працювати) На рис 17, б показані два приклади вибірки даних: один-

з отриманням підмножини рядків (оператор скорочення), а інший – з отриманням підмножини стовпців (оператор проекції) В обох цих прикладах знову застосовується мова SQL

Тепер ми можемо розрізняти реляційні і нереляційні Системи за такими ознаками Як вже зазначалося, користувач реляційної системи бачить дані у вигляді таблиць і ніяк інакше Користувач нереляційних системи, навпаки, бачить дані, представлені в інших структурах-або замість таблиць реляційної системи,

або поряд з ними Для роботи з цими іншими структурами застосовуються інші операції Зокрема, в ієрархічній системі (наприклад, в СУБД IMS фірми IBM) дані представляються користувачеві в формі набору деревовидних структур (ієрархій), а серед операцій роботи з ієрархічними структурами є операції переміщення (навігації) по ієрархічним вказівниками,дозволяють переходити

вгору і вниз по гілках дерев Реляційні системи, як ми бачили, не мають

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

На підставі викладеного можна зробити висновок, що системи баз даних можуть бути пегко розподілені за категоріями у відповідності зі структурами даних і операціями,

які вони надають користувачеві Насамперед, старі (дореляціонние)

системи можна розділити на три великі категоріі6: системи з інвертованими списками (inverted list), ієрархічні (Hierarchic) ​​і мережеві (network) {Примітка Термін мережева система в даному випадку не має нічого спільного з комунікаційної мережею, як описано в наступному розділі) У справжній книзі ці категорії докладно не розглядаються, оскільки, принаймні, з точки зору технології, їх можна вважати застарілими Зацікавлений читач може знайти методичне опис всіх трьох систем в [15]

Рис 17 Структура даних та оператори в реляційної системі (приклади)

Слід зазначити, що мережеві системи іноді називають системами CODASYL або системами DBTG (Data Base Task Group) на честь який запропонував їх підрозділи організації CODASYL (Conference on Data Systems Language) Мабуть, найбільш відомою з таких систем була IDMS корпорації Computer Associates International, Inc Подібно ієрархічним системам (але на відміну від реляційних), всі подібні системи надають користувачеві доступ до покажчиків

Перші реляційні продукти почали зявлятися наприкінці 1970-х і початку 1980-х років До часу написання цієї книги переважаюча більшість СУБД були реляційними (щонайменше, вони підтримували мову SQL) і призначалися для роботи практично на будь-якої існуючої програмної та апаратної компютерної платформі Серед них провідними (в алфавітному порядку) були наступні: DB2

6 За аналогією з реляційною моделлю, в ранніх виданнях книги використовувалися термінимодель інвертованих списків, ієрархічна модель і мережева модель (Вони також використовувалися в інших книгах) Однак це не зовсім вірно, оскільки в порівнянні з реляційною моделлю, моделі інвертованого списку, ієрархічна і мережна були визначені після доконаного факту, тобто відповідні комерційні продукти були реалізовані раніше, а моделі були визначені згодом По індукції (У даному контексті так ми з ввічливості назвали не підкріплені теорією міркування) з вже існуючих реалізацій Додаткова інформація на цю тему приведена в анотації до [11]

(Всілякі версії) корпорації IBM Ingres II корпорації Computer Associates International, Inc; Informix Dynamic Server корпорації Informix Software, Inc7 Microsoft SQL Server корпорації Microsoft Oracle 8i корпорації Oracle і Sybase Adaptive Server компанії Sybase, Inc

Примітка Якщо доведеться посилатися на ці продукти нижче в справжній книзі, ми будемо називати їх (як це робиться в більшості випадків) скороченими іменами: DB2, Ingres (вимовляється інгрес), Informix, SQL Server, Oracle і Sybase

Останнім часом стали зявлятися обєктно-орієнтовані іобєктно-реляційні продукти: перші обєктні системи були випущені в кінці 1980-х і початку

1990-х років, а обєктно-реляційні системи були створені наприкінці 1990-х років Більшість обєктно-реляційних СУБД грунтуються на розширених оригінальних реляційних продуктах, як у випадку з DB2 або Informix Існуючі обєктно системи іноді являють собою спроби створити щось абсолютно відмінне від інших систем, як це має місце у випадку з системою GemStone корпорації GemStone Systems, Inc і системою Versant ODBMS компанії Versant Object

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

На додаток до різних вже згадуваним вище підходам, протягом декількох років проводилися дослідження безлічі альтернативних схем, включаючибагатовимірний

(Multi-dimensional) підхід і логічний (Logic-based) підхід, званий ще дедуктивним або експертним Ми розглянемо багатовимірні системи в главі 22, а логічні – в розділі 24 Крім того, у звязку з що спостерігається останнім часом стрімким зростанням World Wide Web і розширенням області застосування мови XML, виявляється значний інтерес до напрямку наукової діяльності, яке отримало (не зовсім вдале) назву Полуструктурірованние підхід Полуструктурірованние системи розглядаються в розділі 27

13 РЕЗЮМЕ

Отже, підібємо підсумок обговоренню основних питань Систему баз даних можна розглядати як компютеризовану систему зберігання записів Така система включає самі по собідані(Збережені вбазі даних), апаратне забезпечення, програмне забезпечення (Зокрема, систему управління базами даних, або СУБД), а також користувачів (Що найбільш важливо) Користувачі, в свою чергу, поділяються наприкладних програмістів, кінцевих користувачіві адміністраторів бази даних, або АБД Останні відповідають за адміністрування бази даних і всієї системи баз даних відповідно до вимог, що встановлюються адміністратором даних

Бази даних єінтегрованимиі найчастішеспільно використовуванимиВони застосовуються для зберіганняперманентних данихМожна вважати (хоча це і не зовсім точно), що ці дані представляють собою сутності і звязку між цими сутностями, хоча самі звязки – це, по суті, просто спеціальний вид сутності Дуже коротко ми розглянули поняття діаграм сутність-звязок.

7 Відділення розробки СУБД компанії Informix Software, Inc було придбано корпорацією IBM в 2001 році

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

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

Нарешті, система баз даних може бути заснована на кількох різних підходах Реляційні системи базуються на формальній теорії, званої реляційної моделлю, відповідно до якої дані представляються у вигляді рядків у таблицях

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

мабуть, не зміниться в осяжному майбутньому) Ми розглянули кілька прикладів використання мови SQL – Стандартного мови для роботи з реляційними системами (зокрема, були наведені приклади операторівSELECT, INSERT, DELETE І UPDATE цієї мови) Матеріал даної книги значною мірою орієнтований на реляційні системи і меншою мірою – на саму мову SQL (з причин, зазначених у передмові)

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*